                                                                   [h-box
                                                                    :align    :center
                                                                    :gap      "5px"
-                                                                   :children [[:code ":on-change"]
-                                                                              " last called with this value: "
-                                                                              [:span.bold (if @text-val @text-val "nil")]]]
+                                                                   :children [[v-box
+                                                                               :children [[:p [:code ":on-change"] " last called with this value: " ]
+                                                                                          [:p [:pre (str @typeahead-on-change-value)]]]]]]
                                                                   [title :level :level3 :label "Parameters"]
+                                                                  [v-box
+                                                                   :children [[box :align :start :child [:code ":data-source"]]
+                                                                              [radio-button
+                                                                               :label     [:p "Synchronous " [:code "string -> results"]]
+                                                                               :value     :immediate
+                                                                               :model     @data-source-choice
+                                                                               :on-change #(reset! data-source-choice :immediate)
+                                                                               :style     {:margin-left "20px"}]
+                                                                              [radio-button
+                                                                               :label     [:p "Asynchronous " [:code "string, callback -> nil"]]
+                                                                               :value     :async
+                                                                               :model     @data-source-choice
+                                                                               :on-change #(reset! data-source-choice :async)
+                                                                               :style     {:margin-left "20px"}]]]
                                                                   [v-box
                                                                    :children [[box :align :start :child [:code ":change-on-blur?"]]
                                                                               [radio-button

  []
  [typeahead-demo])

(def ^:private states-data
  ["Alabama"
   "Alaska"
   "Arizona"
   "Arkansas"
   "California"
   "Colorado"
   "Connecticut"
   "Delaware"
   "Florida"
   "Georgia"
   "Hawaii"
   "Idaho"
   "Illinois"
   "Indiana"
   "Iowa"
   "Kansas"
   "Kentucky"
   "Louisiana"
   "Maine"
   "Maryland"
   "Massachusetts"
   "Michigan"
   "Minnesota"
   "Mississippi"
   "Missouri"
   "Montana"
   "Nebraska"
   "Nevada"
   "New Hampshire"
   "New Jersey"
   "New Mexico"
   "New York"
   "North Carolina"
   "North Dakota"
   "Ohio"
   "Oklahoma"
   "Oregon"
   "Pennsylvania"
   "Rhode Island"
   "South Carolina"
   "South Dakota"
   "Tennessee"
   "Texas"
   "Utah"
   "Vermont"
   "Virginia"
   "Washington"
   "West Virginia"
   "Wisconsin"
   "Wyoming"])

                               :gap      "10px"
                               :width    "450px"
                               :children [[title2 "Notes"]
                                          [status-text "Experimental"]
                                          [p "Text entry components."]
                                          [p "The " [:code ":on-change"] " function will be called either after each character is entered or on blur."]
                                          [p "Input warnings and errors can be indicated visually by border colors and icons."]
