struct ContentView: View {
   @State private var text = ""
   @State private var selected: TextSelection? = nil

   var body: some View {
      VStack {
         TextField("Insert Text", text: $text, selection: $selected, axis: .vertical)
            .textFieldStyle(.roundedBorder)
            .padding(20)
            .lineLimit(5)
         Text(getSelection() ?? "")
         Spacer()
      }
   }
   func getSelection() -> String? {
      if let selected = selected, !selected.isInsertion {
         if case .selection(let range) = selected.indices {
            let substring = text[range]
            return String(substring)
         }
      }
      return nil
   }
}