@multiplatform.one/forms 7.4.1 → 7.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1293) hide show
  1. package/dist/cjs/AdaptivePopup/index.cjs +139 -20
  2. package/dist/cjs/AdaptivePopup/index.native.js +139 -21
  3. package/dist/cjs/AdaptivePopup/index.native.js.map +1 -1
  4. package/dist/cjs/Button/index.cjs +20 -15
  5. package/dist/cjs/Button/index.native.js +26 -15
  6. package/dist/cjs/Button/index.native.js.map +1 -1
  7. package/dist/cjs/Chip/index.cjs +7 -3
  8. package/dist/cjs/Chip/index.native.js +7 -3
  9. package/dist/cjs/Chip/index.native.js.map +1 -1
  10. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.cjs +142 -0
  11. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js +150 -0
  12. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -0
  13. package/dist/cjs/ContextualSaveBar/clientKnownIdentity.cjs +37 -0
  14. package/dist/cjs/ContextualSaveBar/clientKnownIdentity.native.js +40 -0
  15. package/dist/cjs/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -0
  16. package/dist/cjs/ContextualSaveBar/commitImmediateField.cjs +50 -0
  17. package/dist/cjs/ContextualSaveBar/commitImmediateField.native.js +55 -0
  18. package/dist/cjs/ContextualSaveBar/commitImmediateField.native.js.map +1 -0
  19. package/dist/cjs/ContextualSaveBar/index.cjs +301 -0
  20. package/dist/cjs/ContextualSaveBar/index.native.js +325 -0
  21. package/dist/cjs/ContextualSaveBar/index.native.js.map +1 -0
  22. package/dist/cjs/ContextualSaveBar/useUnsavedChangesGuard.cjs +49 -0
  23. package/dist/cjs/ContextualSaveBar/useUnsavedChangesGuard.native.js +55 -0
  24. package/dist/cjs/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -0
  25. package/dist/cjs/ControlGroup/index.cjs +10 -9
  26. package/dist/cjs/ControlGroup/index.native.js +10 -10
  27. package/dist/cjs/ControlGroup/index.native.js.map +1 -1
  28. package/dist/cjs/DescriptionList/index.cjs +416 -0
  29. package/dist/cjs/DescriptionList/index.native.js +441 -0
  30. package/dist/cjs/DescriptionList/index.native.js.map +1 -0
  31. package/dist/cjs/FieldDisplay/index.cjs +104 -43
  32. package/dist/cjs/FieldDisplay/index.native.js +115 -45
  33. package/dist/cjs/FieldDisplay/index.native.js.map +1 -1
  34. package/dist/cjs/FieldGroup.cjs +13 -3
  35. package/dist/cjs/FieldGroup.native.js +13 -3
  36. package/dist/cjs/FieldGroup.native.js.map +1 -1
  37. package/dist/cjs/FloatingPanel/index.cjs +40 -9
  38. package/dist/cjs/FloatingPanel/index.native.js +229 -46
  39. package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
  40. package/dist/cjs/FloatingPanel/useFloatingPanel.cjs +26 -9
  41. package/dist/cjs/FloatingPanel/useFloatingPanel.native.js +26 -9
  42. package/dist/cjs/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  43. package/dist/cjs/Form/index.cjs +51 -28
  44. package/dist/cjs/Form/index.native.js +56 -28
  45. package/dist/cjs/Form/index.native.js.map +1 -1
  46. package/dist/cjs/FormGrid.cjs +11 -4
  47. package/dist/cjs/FormGrid.native.js +11 -4
  48. package/dist/cjs/FormGrid.native.js.map +1 -1
  49. package/dist/cjs/FormSection.cjs +10 -3
  50. package/dist/cjs/FormSection.native.js +10 -3
  51. package/dist/cjs/FormSection.native.js.map +1 -1
  52. package/dist/cjs/InputParts/index.cjs +139 -58
  53. package/dist/cjs/InputParts/index.native.js +146 -64
  54. package/dist/cjs/InputParts/index.native.js.map +1 -1
  55. package/dist/cjs/Label/index.cjs +1 -0
  56. package/dist/cjs/Label/index.native.js +1 -0
  57. package/dist/cjs/Label/index.native.js.map +1 -1
  58. package/dist/cjs/Spinner/index.cjs +1 -0
  59. package/dist/cjs/Spinner/index.native.js +14 -1
  60. package/dist/cjs/Spinner/index.native.js.map +1 -1
  61. package/dist/cjs/Wheel/WheelEdgeFade.cjs +30 -0
  62. package/dist/cjs/Wheel/WheelEdgeFade.native.js +116 -0
  63. package/dist/cjs/Wheel/WheelEdgeFade.native.js.map +1 -0
  64. package/dist/cjs/Wheel/haptic.cjs +35 -0
  65. package/dist/cjs/Wheel/haptic.native.js +39 -0
  66. package/dist/cjs/Wheel/haptic.native.js.map +1 -0
  67. package/dist/cjs/Wheel/index.cjs +293 -109
  68. package/dist/cjs/Wheel/index.native.js +311 -112
  69. package/dist/cjs/Wheel/index.native.js.map +1 -1
  70. package/dist/cjs/fieldDefaults.cjs +4 -0
  71. package/dist/cjs/fieldDefaults.native.js +6 -0
  72. package/dist/cjs/fieldDefaults.native.js.map +1 -1
  73. package/dist/cjs/fieldLayout.cjs +11 -7
  74. package/dist/cjs/fieldLayout.native.js +11 -7
  75. package/dist/cjs/fieldLayout.native.js.map +1 -1
  76. package/dist/cjs/fields/Barcode/BarcodePreview.cjs +86 -18
  77. package/dist/cjs/fields/Barcode/BarcodePreview.native.js +92 -18
  78. package/dist/cjs/fields/Barcode/BarcodePreview.native.js.map +1 -1
  79. package/dist/cjs/fields/Barcode/index.cjs +8 -2
  80. package/dist/cjs/fields/Barcode/index.native.js +8 -2
  81. package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
  82. package/dist/cjs/fields/Barcode/qr.cjs +406 -0
  83. package/dist/cjs/fields/Barcode/qr.native.js +637 -0
  84. package/dist/cjs/fields/Barcode/qr.native.js.map +1 -0
  85. package/dist/cjs/fields/Barcode/scannerTypes.cjs +6 -1
  86. package/dist/cjs/fields/Barcode/scannerTypes.native.js +6 -1
  87. package/dist/cjs/fields/Barcode/scannerTypes.native.js.map +1 -1
  88. package/dist/cjs/fields/Checkbox/Checkbox.cjs +12 -6
  89. package/dist/cjs/fields/Checkbox/Checkbox.native.js +14 -6
  90. package/dist/cjs/fields/Checkbox/Checkbox.native.js.map +1 -1
  91. package/dist/cjs/fields/Checkbox/CheckboxBox.cjs +18 -1
  92. package/dist/cjs/fields/Checkbox/CheckboxBox.native.js +21 -1
  93. package/dist/cjs/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  94. package/dist/cjs/fields/Checkbox/CheckboxCard.cjs +0 -1
  95. package/dist/cjs/fields/Checkbox/CheckboxCard.native.js +0 -1
  96. package/dist/cjs/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  97. package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.cjs +1 -0
  98. package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js +1 -0
  99. package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  100. package/dist/cjs/fields/Checkbox/CheckboxGroup.cjs +6 -3
  101. package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js +7 -4
  102. package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  103. package/dist/cjs/fields/Checkbox/index.cjs +11 -3
  104. package/dist/cjs/fields/Checkbox/index.native.js +11 -3
  105. package/dist/cjs/fields/Checkbox/index.native.js.map +1 -1
  106. package/dist/cjs/fields/ColorPicker/index.cjs +13 -10
  107. package/dist/cjs/fields/ColorPicker/index.native.js +15 -11
  108. package/dist/cjs/fields/ColorPicker/index.native.js.map +1 -1
  109. package/dist/cjs/fields/ColorPicker/parts.cjs +10 -6
  110. package/dist/cjs/fields/ColorPicker/parts.native.js +10 -6
  111. package/dist/cjs/fields/ColorPicker/parts.native.js.map +1 -1
  112. package/dist/cjs/fields/Combobox/index.cjs +72 -64
  113. package/dist/cjs/fields/Combobox/index.native.js +85 -84
  114. package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
  115. package/dist/cjs/fields/DatePicker/Calendar.cjs +12 -4
  116. package/dist/cjs/fields/DatePicker/Calendar.native.js +12 -4
  117. package/dist/cjs/fields/DatePicker/Calendar.native.js.map +1 -1
  118. package/dist/cjs/fields/DatePicker/DateRangePicker.cjs +19 -5
  119. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js +21 -5
  120. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  121. package/dist/cjs/fields/DatePicker/DatetimePicker.cjs +22 -136
  122. package/dist/cjs/fields/DatePicker/DatetimePicker.native.js +24 -150
  123. package/dist/cjs/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  124. package/dist/cjs/fields/DatePicker/MonthPicker.cjs +2 -0
  125. package/dist/cjs/fields/DatePicker/MonthPicker.native.js +4 -0
  126. package/dist/cjs/fields/DatePicker/MonthPicker.native.js.map +1 -1
  127. package/dist/cjs/fields/DatePicker/MultiDatePicker.cjs +26 -9
  128. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js +28 -9
  129. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  130. package/dist/cjs/fields/DatePicker/index.cjs +2 -0
  131. package/dist/cjs/fields/DatePicker/index.native.js +4 -0
  132. package/dist/cjs/fields/DatePicker/index.native.js.map +1 -1
  133. package/dist/cjs/fields/DatePicker/parts.cjs +65 -38
  134. package/dist/cjs/fields/DatePicker/parts.native.js +72 -38
  135. package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
  136. package/dist/cjs/fields/Duration/durationMath.cjs +93 -0
  137. package/dist/cjs/fields/Duration/durationMath.native.js +115 -0
  138. package/dist/cjs/fields/Duration/durationMath.native.js.map +1 -0
  139. package/dist/cjs/fields/Duration/index.cjs +80 -111
  140. package/dist/cjs/fields/Duration/index.native.js +87 -118
  141. package/dist/cjs/fields/Duration/index.native.js.map +1 -1
  142. package/dist/cjs/fields/FileUpload/filePickerTypes.cjs +18 -0
  143. package/dist/cjs/fields/FileUpload/filePickerTypes.native.js +21 -0
  144. package/dist/cjs/fields/FileUpload/filePickerTypes.native.js.map +1 -0
  145. package/dist/cjs/fields/FileUpload/index.cjs +356 -156
  146. package/dist/cjs/fields/FileUpload/index.native.js +454 -166
  147. package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
  148. package/dist/cjs/fields/FileUpload/nativeFilePicker.cjs +37 -0
  149. package/dist/cjs/fields/FileUpload/nativeFilePicker.native.js +174 -0
  150. package/dist/cjs/fields/FileUpload/nativeFilePicker.native.js.map +1 -0
  151. package/dist/cjs/fields/FileUpload/nativePickerLoader.cjs +62 -0
  152. package/dist/cjs/fields/FileUpload/nativePickerLoader.native.js +65 -0
  153. package/dist/cjs/fields/FileUpload/nativePickerLoader.native.js.map +1 -0
  154. package/dist/cjs/fields/Icon/drawnSet.cjs +388 -0
  155. package/dist/cjs/fields/Icon/drawnSet.native.js +398 -0
  156. package/dist/cjs/fields/Icon/drawnSet.native.js.map +1 -0
  157. package/dist/cjs/fields/Icon/index.cjs +381 -0
  158. package/dist/cjs/fields/Icon/index.native.js +399 -0
  159. package/dist/cjs/fields/Icon/index.native.js.map +1 -0
  160. package/dist/cjs/fields/ImageField/index.cjs +18 -25
  161. package/dist/cjs/fields/ImageField/index.native.js +18 -26
  162. package/dist/cjs/fields/ImageField/index.native.js.map +1 -1
  163. package/dist/cjs/fields/Input/index.cjs +175 -91
  164. package/dist/cjs/fields/Input/index.native.js +88 -5
  165. package/dist/cjs/fields/Input/index.native.js.map +1 -1
  166. package/dist/cjs/fields/MentionInput/index.cjs +133 -58
  167. package/dist/cjs/fields/MentionInput/index.native.js +158 -81
  168. package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
  169. package/dist/cjs/fields/OTPInput/index.cjs +15 -4
  170. package/dist/cjs/fields/OTPInput/index.native.js +15 -4
  171. package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
  172. package/dist/cjs/fields/PhoneInput/index.cjs +4 -2
  173. package/dist/cjs/fields/PhoneInput/index.native.js +5 -2
  174. package/dist/cjs/fields/PhoneInput/index.native.js.map +1 -1
  175. package/dist/cjs/fields/Progress/index.cjs +29 -19
  176. package/dist/cjs/fields/Progress/index.native.js +31 -19
  177. package/dist/cjs/fields/Progress/index.native.js.map +1 -1
  178. package/dist/cjs/fields/RadioGroup/index.cjs +15 -14
  179. package/dist/cjs/fields/RadioGroup/index.native.js +15 -14
  180. package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
  181. package/dist/cjs/fields/Rating/index.cjs +31 -23
  182. package/dist/cjs/fields/Rating/index.native.js +33 -25
  183. package/dist/cjs/fields/Rating/index.native.js.map +1 -1
  184. package/dist/cjs/fields/Rating/ratingMath.cjs +36 -0
  185. package/dist/cjs/fields/Rating/ratingMath.native.js +39 -0
  186. package/dist/cjs/fields/Rating/ratingMath.native.js.map +1 -0
  187. package/dist/cjs/fields/SearchInput/index.cjs +216 -151
  188. package/dist/cjs/fields/SearchInput/index.native.js +225 -155
  189. package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
  190. package/dist/cjs/fields/Select/index.cjs +36 -19
  191. package/dist/cjs/fields/Select/index.native.js +38 -25
  192. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  193. package/dist/cjs/fields/Signature/index.cjs +26 -18
  194. package/dist/cjs/fields/Signature/index.native.js +26 -18
  195. package/dist/cjs/fields/Signature/index.native.js.map +1 -1
  196. package/dist/cjs/fields/Slider/index.cjs +39 -11
  197. package/dist/cjs/fields/Slider/index.native.js +60 -14
  198. package/dist/cjs/fields/Slider/index.native.js.map +1 -1
  199. package/dist/cjs/fields/Stepper/index.cjs +17 -7
  200. package/dist/cjs/fields/Stepper/index.native.js +17 -7
  201. package/dist/cjs/fields/Stepper/index.native.js.map +1 -1
  202. package/dist/cjs/fields/Stepper/resolveStepperPlacement.cjs +32 -0
  203. package/dist/cjs/fields/Stepper/resolveStepperPlacement.native.js +35 -0
  204. package/dist/cjs/fields/Stepper/resolveStepperPlacement.native.js.map +1 -0
  205. package/dist/cjs/fields/Switch/index.cjs +134 -46
  206. package/dist/cjs/fields/Switch/index.native.js +154 -47
  207. package/dist/cjs/fields/Switch/index.native.js.map +1 -1
  208. package/dist/cjs/fields/TextArea/index.cjs +33 -35
  209. package/dist/cjs/fields/TextArea/index.native.js +33 -38
  210. package/dist/cjs/fields/TextArea/index.native.js.map +1 -1
  211. package/dist/cjs/fields/TimePicker/index.cjs +6 -2
  212. package/dist/cjs/fields/TimePicker/index.native.js +8 -2
  213. package/dist/cjs/fields/TimePicker/index.native.js.map +1 -1
  214. package/dist/cjs/fields/TimePicker/parts.cjs +54 -495
  215. package/dist/cjs/fields/TimePicker/parts.native.js +59 -526
  216. package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -1
  217. package/dist/cjs/fields/TimeRangeScrubber/geometry.cjs +288 -0
  218. package/dist/cjs/fields/TimeRangeScrubber/geometry.native.js +352 -0
  219. package/dist/cjs/fields/TimeRangeScrubber/geometry.native.js.map +1 -0
  220. package/dist/cjs/fields/TimeRangeScrubber/index.cjs +855 -0
  221. package/dist/cjs/fields/TimeRangeScrubber/index.native.js +936 -0
  222. package/dist/cjs/fields/TimeRangeScrubber/index.native.js.map +1 -0
  223. package/dist/cjs/fields/ToggleGroup/index.cjs +56 -46
  224. package/dist/cjs/fields/ToggleGroup/index.native.js +59 -51
  225. package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
  226. package/dist/cjs/fields/selectedOrder.cjs +36 -0
  227. package/dist/cjs/fields/selectedOrder.native.js +46 -0
  228. package/dist/cjs/fields/selectedOrder.native.js.map +1 -0
  229. package/dist/cjs/index.cjs +47 -11
  230. package/dist/cjs/index.native.js +47 -11
  231. package/dist/cjs/index.native.js.map +1 -1
  232. package/dist/cjs/shared/TimeColumn.cjs +122 -80
  233. package/dist/cjs/shared/TimeColumn.native.js +146 -88
  234. package/dist/cjs/shared/TimeColumn.native.js.map +1 -1
  235. package/dist/cjs/shared/colorRamps.cjs +23 -1
  236. package/dist/cjs/shared/colorRamps.native.js +23 -1
  237. package/dist/cjs/shared/colorRamps.native.js.map +1 -1
  238. package/dist/cjs/shared/floatingList.cjs +17 -4
  239. package/dist/cjs/shared/floatingList.native.js +17 -4
  240. package/dist/cjs/shared/floatingList.native.js.map +1 -1
  241. package/dist/cjs/shared/useKeyboardInset.cjs +48 -0
  242. package/dist/cjs/shared/useKeyboardInset.native.js +53 -0
  243. package/dist/cjs/shared/useKeyboardInset.native.js.map +1 -0
  244. package/dist/cjs/shared/utils.cjs +69 -73
  245. package/dist/cjs/shared/utils.native.js +119 -75
  246. package/dist/cjs/shared/utils.native.js.map +1 -1
  247. package/dist/cjs/themedPrimitives.cjs +4 -2
  248. package/dist/cjs/themedPrimitives.native.js +4 -2
  249. package/dist/cjs/themedPrimitives.native.js.map +1 -1
  250. package/dist/esm/AdaptivePopup/index.mjs +138 -20
  251. package/dist/esm/AdaptivePopup/index.mjs.map +1 -1
  252. package/dist/esm/AdaptivePopup/index.native.js +138 -21
  253. package/dist/esm/AdaptivePopup/index.native.js.map +1 -1
  254. package/dist/esm/Button/index.mjs +20 -14
  255. package/dist/esm/Button/index.mjs.map +1 -1
  256. package/dist/esm/Button/index.native.js +26 -14
  257. package/dist/esm/Button/index.native.js.map +1 -1
  258. package/dist/esm/Chip/index.mjs +7 -3
  259. package/dist/esm/Chip/index.mjs.map +1 -1
  260. package/dist/esm/Chip/index.native.js +7 -3
  261. package/dist/esm/Chip/index.native.js.map +1 -1
  262. package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.mjs +117 -0
  263. package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.mjs.map +1 -0
  264. package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.native.js +122 -0
  265. package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -0
  266. package/dist/esm/ContextualSaveBar/clientKnownIdentity.mjs +12 -0
  267. package/dist/esm/ContextualSaveBar/clientKnownIdentity.mjs.map +1 -0
  268. package/dist/esm/ContextualSaveBar/clientKnownIdentity.native.js +12 -0
  269. package/dist/esm/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -0
  270. package/dist/esm/ContextualSaveBar/commitImmediateField.mjs +25 -0
  271. package/dist/esm/ContextualSaveBar/commitImmediateField.mjs.map +1 -0
  272. package/dist/esm/ContextualSaveBar/commitImmediateField.native.js +27 -0
  273. package/dist/esm/ContextualSaveBar/commitImmediateField.native.js.map +1 -0
  274. package/dist/esm/ContextualSaveBar/index.mjs +274 -0
  275. package/dist/esm/ContextualSaveBar/index.mjs.map +1 -0
  276. package/dist/esm/ContextualSaveBar/index.native.js +295 -0
  277. package/dist/esm/ContextualSaveBar/index.native.js.map +1 -0
  278. package/dist/esm/ContextualSaveBar/useUnsavedChangesGuard.mjs +24 -0
  279. package/dist/esm/ContextualSaveBar/useUnsavedChangesGuard.mjs.map +1 -0
  280. package/dist/esm/ContextualSaveBar/useUnsavedChangesGuard.native.js +27 -0
  281. package/dist/esm/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -0
  282. package/dist/esm/ControlGroup/index.mjs +11 -10
  283. package/dist/esm/ControlGroup/index.mjs.map +1 -1
  284. package/dist/esm/ControlGroup/index.native.js +11 -11
  285. package/dist/esm/ControlGroup/index.native.js.map +1 -1
  286. package/dist/esm/DescriptionList/index.mjs +389 -0
  287. package/dist/esm/DescriptionList/index.mjs.map +1 -0
  288. package/dist/esm/DescriptionList/index.native.js +411 -0
  289. package/dist/esm/DescriptionList/index.native.js.map +1 -0
  290. package/dist/esm/FieldDisplay/index.mjs +104 -45
  291. package/dist/esm/FieldDisplay/index.mjs.map +1 -1
  292. package/dist/esm/FieldDisplay/index.native.js +115 -47
  293. package/dist/esm/FieldDisplay/index.native.js.map +1 -1
  294. package/dist/esm/FieldGroup.mjs +14 -4
  295. package/dist/esm/FieldGroup.mjs.map +1 -1
  296. package/dist/esm/FieldGroup.native.js +14 -4
  297. package/dist/esm/FieldGroup.native.js.map +1 -1
  298. package/dist/esm/FloatingPanel/index.mjs +41 -12
  299. package/dist/esm/FloatingPanel/index.mjs.map +1 -1
  300. package/dist/esm/FloatingPanel/index.native.js +231 -48
  301. package/dist/esm/FloatingPanel/index.native.js.map +1 -1
  302. package/dist/esm/FloatingPanel/useFloatingPanel.mjs +27 -11
  303. package/dist/esm/FloatingPanel/useFloatingPanel.mjs.map +1 -1
  304. package/dist/esm/FloatingPanel/useFloatingPanel.native.js +27 -11
  305. package/dist/esm/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  306. package/dist/esm/Form/index.mjs +50 -29
  307. package/dist/esm/Form/index.mjs.map +1 -1
  308. package/dist/esm/Form/index.native.js +55 -29
  309. package/dist/esm/Form/index.native.js.map +1 -1
  310. package/dist/esm/FormGrid.mjs +11 -4
  311. package/dist/esm/FormGrid.mjs.map +1 -1
  312. package/dist/esm/FormGrid.native.js +11 -4
  313. package/dist/esm/FormGrid.native.js.map +1 -1
  314. package/dist/esm/FormSection.mjs +10 -3
  315. package/dist/esm/FormSection.mjs.map +1 -1
  316. package/dist/esm/FormSection.native.js +10 -3
  317. package/dist/esm/FormSection.native.js.map +1 -1
  318. package/dist/esm/InputParts/index.mjs +137 -60
  319. package/dist/esm/InputParts/index.mjs.map +1 -1
  320. package/dist/esm/InputParts/index.native.js +144 -66
  321. package/dist/esm/InputParts/index.native.js.map +1 -1
  322. package/dist/esm/Label/index.mjs +1 -0
  323. package/dist/esm/Label/index.mjs.map +1 -1
  324. package/dist/esm/Label/index.native.js +1 -0
  325. package/dist/esm/Label/index.native.js.map +1 -1
  326. package/dist/esm/Spinner/index.mjs +1 -0
  327. package/dist/esm/Spinner/index.mjs.map +1 -1
  328. package/dist/esm/Spinner/index.native.js +16 -3
  329. package/dist/esm/Spinner/index.native.js.map +1 -1
  330. package/dist/esm/Wheel/WheelEdgeFade.mjs +5 -0
  331. package/dist/esm/Wheel/WheelEdgeFade.mjs.map +1 -0
  332. package/dist/esm/Wheel/WheelEdgeFade.native.js +88 -0
  333. package/dist/esm/Wheel/WheelEdgeFade.native.js.map +1 -0
  334. package/dist/esm/Wheel/haptic.mjs +10 -0
  335. package/dist/esm/Wheel/haptic.mjs.map +1 -0
  336. package/dist/esm/Wheel/haptic.native.js +11 -0
  337. package/dist/esm/Wheel/haptic.native.js.map +1 -0
  338. package/dist/esm/Wheel/index.mjs +294 -110
  339. package/dist/esm/Wheel/index.mjs.map +1 -1
  340. package/dist/esm/Wheel/index.native.js +312 -113
  341. package/dist/esm/Wheel/index.native.js.map +1 -1
  342. package/dist/esm/fieldDefaults.mjs +3 -1
  343. package/dist/esm/fieldDefaults.mjs.map +1 -1
  344. package/dist/esm/fieldDefaults.native.js +5 -1
  345. package/dist/esm/fieldDefaults.native.js.map +1 -1
  346. package/dist/esm/fieldLayout.mjs +12 -8
  347. package/dist/esm/fieldLayout.mjs.map +1 -1
  348. package/dist/esm/fieldLayout.native.js +12 -8
  349. package/dist/esm/fieldLayout.native.js.map +1 -1
  350. package/dist/esm/fields/Barcode/BarcodePreview.mjs +86 -19
  351. package/dist/esm/fields/Barcode/BarcodePreview.mjs.map +1 -1
  352. package/dist/esm/fields/Barcode/BarcodePreview.native.js +92 -19
  353. package/dist/esm/fields/Barcode/BarcodePreview.native.js.map +1 -1
  354. package/dist/esm/fields/Barcode/index.mjs +8 -2
  355. package/dist/esm/fields/Barcode/index.mjs.map +1 -1
  356. package/dist/esm/fields/Barcode/index.native.js +8 -2
  357. package/dist/esm/fields/Barcode/index.native.js.map +1 -1
  358. package/dist/esm/fields/Barcode/qr.mjs +379 -0
  359. package/dist/esm/fields/Barcode/qr.mjs.map +1 -0
  360. package/dist/esm/fields/Barcode/qr.native.js +607 -0
  361. package/dist/esm/fields/Barcode/qr.native.js.map +1 -0
  362. package/dist/esm/fields/Barcode/scannerTypes.mjs +6 -2
  363. package/dist/esm/fields/Barcode/scannerTypes.mjs.map +1 -1
  364. package/dist/esm/fields/Barcode/scannerTypes.native.js +6 -2
  365. package/dist/esm/fields/Barcode/scannerTypes.native.js.map +1 -1
  366. package/dist/esm/fields/Checkbox/Checkbox.mjs +14 -8
  367. package/dist/esm/fields/Checkbox/Checkbox.mjs.map +1 -1
  368. package/dist/esm/fields/Checkbox/Checkbox.native.js +16 -8
  369. package/dist/esm/fields/Checkbox/Checkbox.native.js.map +1 -1
  370. package/dist/esm/fields/Checkbox/CheckboxBox.mjs +15 -1
  371. package/dist/esm/fields/Checkbox/CheckboxBox.mjs.map +1 -1
  372. package/dist/esm/fields/Checkbox/CheckboxBox.native.js +18 -1
  373. package/dist/esm/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  374. package/dist/esm/fields/Checkbox/CheckboxCard.mjs +0 -1
  375. package/dist/esm/fields/Checkbox/CheckboxCard.mjs.map +1 -1
  376. package/dist/esm/fields/Checkbox/CheckboxCard.native.js +0 -1
  377. package/dist/esm/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  378. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.mjs +1 -0
  379. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.mjs.map +1 -1
  380. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.native.js +1 -0
  381. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  382. package/dist/esm/fields/Checkbox/CheckboxGroup.mjs +8 -5
  383. package/dist/esm/fields/Checkbox/CheckboxGroup.mjs.map +1 -1
  384. package/dist/esm/fields/Checkbox/CheckboxGroup.native.js +9 -6
  385. package/dist/esm/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  386. package/dist/esm/fields/Checkbox/index.mjs +8 -4
  387. package/dist/esm/fields/Checkbox/index.mjs.map +1 -1
  388. package/dist/esm/fields/Checkbox/index.native.js +8 -4
  389. package/dist/esm/fields/Checkbox/index.native.js.map +1 -1
  390. package/dist/esm/fields/ColorPicker/index.mjs +13 -10
  391. package/dist/esm/fields/ColorPicker/index.mjs.map +1 -1
  392. package/dist/esm/fields/ColorPicker/index.native.js +15 -11
  393. package/dist/esm/fields/ColorPicker/index.native.js.map +1 -1
  394. package/dist/esm/fields/ColorPicker/parts.mjs +8 -7
  395. package/dist/esm/fields/ColorPicker/parts.mjs.map +1 -1
  396. package/dist/esm/fields/ColorPicker/parts.native.js +8 -7
  397. package/dist/esm/fields/ColorPicker/parts.native.js.map +1 -1
  398. package/dist/esm/fields/Combobox/index.mjs +74 -66
  399. package/dist/esm/fields/Combobox/index.mjs.map +1 -1
  400. package/dist/esm/fields/Combobox/index.native.js +87 -86
  401. package/dist/esm/fields/Combobox/index.native.js.map +1 -1
  402. package/dist/esm/fields/DatePicker/Calendar.mjs +12 -4
  403. package/dist/esm/fields/DatePicker/Calendar.mjs.map +1 -1
  404. package/dist/esm/fields/DatePicker/Calendar.native.js +12 -4
  405. package/dist/esm/fields/DatePicker/Calendar.native.js.map +1 -1
  406. package/dist/esm/fields/DatePicker/DateRangePicker.mjs +20 -6
  407. package/dist/esm/fields/DatePicker/DateRangePicker.mjs.map +1 -1
  408. package/dist/esm/fields/DatePicker/DateRangePicker.native.js +22 -6
  409. package/dist/esm/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  410. package/dist/esm/fields/DatePicker/DatetimePicker.mjs +25 -139
  411. package/dist/esm/fields/DatePicker/DatetimePicker.mjs.map +1 -1
  412. package/dist/esm/fields/DatePicker/DatetimePicker.native.js +27 -153
  413. package/dist/esm/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  414. package/dist/esm/fields/DatePicker/MonthPicker.mjs +2 -0
  415. package/dist/esm/fields/DatePicker/MonthPicker.mjs.map +1 -1
  416. package/dist/esm/fields/DatePicker/MonthPicker.native.js +4 -0
  417. package/dist/esm/fields/DatePicker/MonthPicker.native.js.map +1 -1
  418. package/dist/esm/fields/DatePicker/MultiDatePicker.mjs +27 -10
  419. package/dist/esm/fields/DatePicker/MultiDatePicker.mjs.map +1 -1
  420. package/dist/esm/fields/DatePicker/MultiDatePicker.native.js +29 -10
  421. package/dist/esm/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  422. package/dist/esm/fields/DatePicker/index.mjs +2 -0
  423. package/dist/esm/fields/DatePicker/index.mjs.map +1 -1
  424. package/dist/esm/fields/DatePicker/index.native.js +4 -0
  425. package/dist/esm/fields/DatePicker/index.native.js.map +1 -1
  426. package/dist/esm/fields/DatePicker/parts.mjs +52 -26
  427. package/dist/esm/fields/DatePicker/parts.mjs.map +1 -1
  428. package/dist/esm/fields/DatePicker/parts.native.js +59 -26
  429. package/dist/esm/fields/DatePicker/parts.native.js.map +1 -1
  430. package/dist/esm/fields/Duration/durationMath.mjs +64 -0
  431. package/dist/esm/fields/Duration/durationMath.mjs.map +1 -0
  432. package/dist/esm/fields/Duration/durationMath.native.js +83 -0
  433. package/dist/esm/fields/Duration/durationMath.native.js.map +1 -0
  434. package/dist/esm/fields/Duration/index.mjs +70 -102
  435. package/dist/esm/fields/Duration/index.mjs.map +1 -1
  436. package/dist/esm/fields/Duration/index.native.js +77 -109
  437. package/dist/esm/fields/Duration/index.native.js.map +1 -1
  438. package/dist/esm/fields/FileUpload/filePickerTypes.mjs +2 -0
  439. package/dist/esm/fields/FileUpload/filePickerTypes.mjs.map +1 -0
  440. package/dist/esm/fields/FileUpload/filePickerTypes.native.js +2 -0
  441. package/dist/esm/fields/FileUpload/filePickerTypes.native.js.map +1 -0
  442. package/dist/esm/fields/FileUpload/index.mjs +359 -159
  443. package/dist/esm/fields/FileUpload/index.mjs.map +1 -1
  444. package/dist/esm/fields/FileUpload/index.native.js +457 -169
  445. package/dist/esm/fields/FileUpload/index.native.js.map +1 -1
  446. package/dist/esm/fields/FileUpload/nativeFilePicker.mjs +11 -0
  447. package/dist/esm/fields/FileUpload/nativeFilePicker.mjs.map +1 -0
  448. package/dist/esm/fields/FileUpload/nativeFilePicker.native.js +143 -0
  449. package/dist/esm/fields/FileUpload/nativeFilePicker.native.js.map +1 -0
  450. package/dist/esm/fields/FileUpload/nativePickerLoader.mjs +35 -0
  451. package/dist/esm/fields/FileUpload/nativePickerLoader.mjs.map +1 -0
  452. package/dist/esm/fields/FileUpload/nativePickerLoader.native.js +35 -0
  453. package/dist/esm/fields/FileUpload/nativePickerLoader.native.js.map +1 -0
  454. package/dist/esm/fields/Icon/drawnSet.mjs +358 -0
  455. package/dist/esm/fields/Icon/drawnSet.mjs.map +1 -0
  456. package/dist/esm/fields/Icon/drawnSet.native.js +365 -0
  457. package/dist/esm/fields/Icon/drawnSet.native.js.map +1 -0
  458. package/dist/esm/fields/Icon/index.mjs +350 -0
  459. package/dist/esm/fields/Icon/index.mjs.map +1 -0
  460. package/dist/esm/fields/Icon/index.native.js +365 -0
  461. package/dist/esm/fields/Icon/index.native.js.map +1 -0
  462. package/dist/esm/fields/ImageField/index.mjs +20 -27
  463. package/dist/esm/fields/ImageField/index.mjs.map +1 -1
  464. package/dist/esm/fields/ImageField/index.native.js +20 -28
  465. package/dist/esm/fields/ImageField/index.native.js.map +1 -1
  466. package/dist/esm/fields/Input/index.mjs +177 -94
  467. package/dist/esm/fields/Input/index.mjs.map +1 -1
  468. package/dist/esm/fields/Input/index.native.js +90 -8
  469. package/dist/esm/fields/Input/index.native.js.map +1 -1
  470. package/dist/esm/fields/MentionInput/index.mjs +133 -59
  471. package/dist/esm/fields/MentionInput/index.mjs.map +1 -1
  472. package/dist/esm/fields/MentionInput/index.native.js +158 -82
  473. package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
  474. package/dist/esm/fields/OTPInput/index.mjs +16 -6
  475. package/dist/esm/fields/OTPInput/index.mjs.map +1 -1
  476. package/dist/esm/fields/OTPInput/index.native.js +16 -6
  477. package/dist/esm/fields/OTPInput/index.native.js.map +1 -1
  478. package/dist/esm/fields/PhoneInput/index.mjs +5 -3
  479. package/dist/esm/fields/PhoneInput/index.mjs.map +1 -1
  480. package/dist/esm/fields/PhoneInput/index.native.js +6 -3
  481. package/dist/esm/fields/PhoneInput/index.native.js.map +1 -1
  482. package/dist/esm/fields/Progress/index.mjs +29 -19
  483. package/dist/esm/fields/Progress/index.mjs.map +1 -1
  484. package/dist/esm/fields/Progress/index.native.js +31 -19
  485. package/dist/esm/fields/Progress/index.native.js.map +1 -1
  486. package/dist/esm/fields/RadioGroup/index.mjs +16 -15
  487. package/dist/esm/fields/RadioGroup/index.mjs.map +1 -1
  488. package/dist/esm/fields/RadioGroup/index.native.js +16 -15
  489. package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
  490. package/dist/esm/fields/Rating/index.mjs +29 -22
  491. package/dist/esm/fields/Rating/index.mjs.map +1 -1
  492. package/dist/esm/fields/Rating/index.native.js +31 -24
  493. package/dist/esm/fields/Rating/index.native.js.map +1 -1
  494. package/dist/esm/fields/Rating/ratingMath.mjs +11 -0
  495. package/dist/esm/fields/Rating/ratingMath.mjs.map +1 -0
  496. package/dist/esm/fields/Rating/ratingMath.native.js +11 -0
  497. package/dist/esm/fields/Rating/ratingMath.native.js.map +1 -0
  498. package/dist/esm/fields/SearchInput/index.mjs +220 -155
  499. package/dist/esm/fields/SearchInput/index.mjs.map +1 -1
  500. package/dist/esm/fields/SearchInput/index.native.js +229 -159
  501. package/dist/esm/fields/SearchInput/index.native.js.map +1 -1
  502. package/dist/esm/fields/Select/index.mjs +39 -22
  503. package/dist/esm/fields/Select/index.mjs.map +1 -1
  504. package/dist/esm/fields/Select/index.native.js +41 -28
  505. package/dist/esm/fields/Select/index.native.js.map +1 -1
  506. package/dist/esm/fields/Signature/index.mjs +26 -18
  507. package/dist/esm/fields/Signature/index.mjs.map +1 -1
  508. package/dist/esm/fields/Signature/index.native.js +26 -18
  509. package/dist/esm/fields/Signature/index.native.js.map +1 -1
  510. package/dist/esm/fields/Slider/index.mjs +40 -12
  511. package/dist/esm/fields/Slider/index.mjs.map +1 -1
  512. package/dist/esm/fields/Slider/index.native.js +61 -15
  513. package/dist/esm/fields/Slider/index.native.js.map +1 -1
  514. package/dist/esm/fields/Stepper/index.mjs +17 -8
  515. package/dist/esm/fields/Stepper/index.mjs.map +1 -1
  516. package/dist/esm/fields/Stepper/index.native.js +17 -8
  517. package/dist/esm/fields/Stepper/index.native.js.map +1 -1
  518. package/dist/esm/fields/Stepper/resolveStepperPlacement.mjs +7 -0
  519. package/dist/esm/fields/Stepper/resolveStepperPlacement.mjs.map +1 -0
  520. package/dist/esm/fields/Stepper/resolveStepperPlacement.native.js +7 -0
  521. package/dist/esm/fields/Stepper/resolveStepperPlacement.native.js.map +1 -0
  522. package/dist/esm/fields/Switch/index.mjs +135 -47
  523. package/dist/esm/fields/Switch/index.mjs.map +1 -1
  524. package/dist/esm/fields/Switch/index.native.js +155 -48
  525. package/dist/esm/fields/Switch/index.native.js.map +1 -1
  526. package/dist/esm/fields/TextArea/index.mjs +34 -36
  527. package/dist/esm/fields/TextArea/index.mjs.map +1 -1
  528. package/dist/esm/fields/TextArea/index.native.js +34 -39
  529. package/dist/esm/fields/TextArea/index.native.js.map +1 -1
  530. package/dist/esm/fields/TimePicker/index.mjs +7 -3
  531. package/dist/esm/fields/TimePicker/index.mjs.map +1 -1
  532. package/dist/esm/fields/TimePicker/index.native.js +9 -3
  533. package/dist/esm/fields/TimePicker/index.native.js.map +1 -1
  534. package/dist/esm/fields/TimePicker/parts.mjs +58 -499
  535. package/dist/esm/fields/TimePicker/parts.mjs.map +1 -1
  536. package/dist/esm/fields/TimePicker/parts.native.js +63 -530
  537. package/dist/esm/fields/TimePicker/parts.native.js.map +1 -1
  538. package/dist/esm/fields/TimeRangeScrubber/geometry.mjs +229 -0
  539. package/dist/esm/fields/TimeRangeScrubber/geometry.mjs.map +1 -0
  540. package/dist/esm/fields/TimeRangeScrubber/geometry.native.js +290 -0
  541. package/dist/esm/fields/TimeRangeScrubber/geometry.native.js.map +1 -0
  542. package/dist/esm/fields/TimeRangeScrubber/index.mjs +822 -0
  543. package/dist/esm/fields/TimeRangeScrubber/index.mjs.map +1 -0
  544. package/dist/esm/fields/TimeRangeScrubber/index.native.js +900 -0
  545. package/dist/esm/fields/TimeRangeScrubber/index.native.js.map +1 -0
  546. package/dist/esm/fields/ToggleGroup/index.mjs +58 -48
  547. package/dist/esm/fields/ToggleGroup/index.mjs.map +1 -1
  548. package/dist/esm/fields/ToggleGroup/index.native.js +61 -53
  549. package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
  550. package/dist/esm/fields/selectedOrder.mjs +11 -0
  551. package/dist/esm/fields/selectedOrder.mjs.map +1 -0
  552. package/dist/esm/fields/selectedOrder.native.js +18 -0
  553. package/dist/esm/fields/selectedOrder.native.js.map +1 -0
  554. package/dist/esm/index.mjs +15 -8
  555. package/dist/esm/index.mjs.map +1 -1
  556. package/dist/esm/index.native.js +15 -8
  557. package/dist/esm/index.native.js.map +1 -1
  558. package/dist/esm/shared/TimeColumn.mjs +123 -80
  559. package/dist/esm/shared/TimeColumn.mjs.map +1 -1
  560. package/dist/esm/shared/TimeColumn.native.js +147 -88
  561. package/dist/esm/shared/TimeColumn.native.js.map +1 -1
  562. package/dist/esm/shared/colorRamps.mjs +23 -2
  563. package/dist/esm/shared/colorRamps.mjs.map +1 -1
  564. package/dist/esm/shared/colorRamps.native.js +23 -2
  565. package/dist/esm/shared/colorRamps.native.js.map +1 -1
  566. package/dist/esm/shared/floatingList.mjs +18 -5
  567. package/dist/esm/shared/floatingList.mjs.map +1 -1
  568. package/dist/esm/shared/floatingList.native.js +18 -5
  569. package/dist/esm/shared/floatingList.native.js.map +1 -1
  570. package/dist/esm/shared/useKeyboardInset.mjs +23 -0
  571. package/dist/esm/shared/useKeyboardInset.mjs.map +1 -0
  572. package/dist/esm/shared/useKeyboardInset.native.js +25 -0
  573. package/dist/esm/shared/useKeyboardInset.native.js.map +1 -0
  574. package/dist/esm/shared/utils.mjs +70 -74
  575. package/dist/esm/shared/utils.mjs.map +1 -1
  576. package/dist/esm/shared/utils.native.js +120 -76
  577. package/dist/esm/shared/utils.native.js.map +1 -1
  578. package/dist/esm/themedPrimitives.mjs +5 -3
  579. package/dist/esm/themedPrimitives.mjs.map +1 -1
  580. package/dist/esm/themedPrimitives.native.js +5 -3
  581. package/dist/esm/themedPrimitives.native.js.map +1 -1
  582. package/dist/jsx/AdaptivePopup/index.mjs +138 -20
  583. package/dist/jsx/AdaptivePopup/index.mjs.map +1 -1
  584. package/dist/jsx/AdaptivePopup/index.native.js +140 -22
  585. package/dist/jsx/AdaptivePopup/index.native.js.map +1 -1
  586. package/dist/jsx/Button/index.mjs +20 -14
  587. package/dist/jsx/Button/index.mjs.map +1 -1
  588. package/dist/jsx/Button/index.native.js +27 -16
  589. package/dist/jsx/Button/index.native.js.map +1 -1
  590. package/dist/jsx/Chip/index.mjs +7 -3
  591. package/dist/jsx/Chip/index.mjs.map +1 -1
  592. package/dist/jsx/Chip/index.native.js +7 -3
  593. package/dist/jsx/Chip/index.native.js.map +1 -1
  594. package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.mjs +117 -0
  595. package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.mjs.map +1 -0
  596. package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.native.js +150 -0
  597. package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -0
  598. package/dist/jsx/ContextualSaveBar/clientKnownIdentity.mjs +12 -0
  599. package/dist/jsx/ContextualSaveBar/clientKnownIdentity.mjs.map +1 -0
  600. package/dist/jsx/ContextualSaveBar/clientKnownIdentity.native.js +40 -0
  601. package/dist/jsx/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -0
  602. package/dist/jsx/ContextualSaveBar/commitImmediateField.mjs +25 -0
  603. package/dist/jsx/ContextualSaveBar/commitImmediateField.mjs.map +1 -0
  604. package/dist/jsx/ContextualSaveBar/commitImmediateField.native.js +55 -0
  605. package/dist/jsx/ContextualSaveBar/commitImmediateField.native.js.map +1 -0
  606. package/dist/jsx/ContextualSaveBar/index.mjs +274 -0
  607. package/dist/jsx/ContextualSaveBar/index.mjs.map +1 -0
  608. package/dist/jsx/ContextualSaveBar/index.native.js +325 -0
  609. package/dist/jsx/ContextualSaveBar/index.native.js.map +1 -0
  610. package/dist/jsx/ContextualSaveBar/useUnsavedChangesGuard.mjs +24 -0
  611. package/dist/jsx/ContextualSaveBar/useUnsavedChangesGuard.mjs.map +1 -0
  612. package/dist/jsx/ContextualSaveBar/useUnsavedChangesGuard.native.js +55 -0
  613. package/dist/jsx/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -0
  614. package/dist/jsx/ControlGroup/index.mjs +11 -10
  615. package/dist/jsx/ControlGroup/index.mjs.map +1 -1
  616. package/dist/jsx/ControlGroup/index.native.js +11 -11
  617. package/dist/jsx/ControlGroup/index.native.js.map +1 -1
  618. package/dist/jsx/DescriptionList/index.mjs +389 -0
  619. package/dist/jsx/DescriptionList/index.mjs.map +1 -0
  620. package/dist/jsx/DescriptionList/index.native.js +441 -0
  621. package/dist/jsx/DescriptionList/index.native.js.map +1 -0
  622. package/dist/jsx/ErrorSummary.native.js.map +1 -1
  623. package/dist/jsx/FieldDisplay/editMode.native.js.map +1 -1
  624. package/dist/jsx/FieldDisplay/formatters.native.js.map +1 -1
  625. package/dist/jsx/FieldDisplay/index.mjs +104 -45
  626. package/dist/jsx/FieldDisplay/index.mjs.map +1 -1
  627. package/dist/jsx/FieldDisplay/index.native.js +116 -46
  628. package/dist/jsx/FieldDisplay/index.native.js.map +1 -1
  629. package/dist/jsx/FieldGroup.mjs +14 -4
  630. package/dist/jsx/FieldGroup.mjs.map +1 -1
  631. package/dist/jsx/FieldGroup.native.js +13 -3
  632. package/dist/jsx/FieldGroup.native.js.map +1 -1
  633. package/dist/jsx/FloatingPanel/index.mjs +41 -12
  634. package/dist/jsx/FloatingPanel/index.mjs.map +1 -1
  635. package/dist/jsx/FloatingPanel/index.native.js +229 -46
  636. package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
  637. package/dist/jsx/FloatingPanel/useFloatingPanel.mjs +27 -11
  638. package/dist/jsx/FloatingPanel/useFloatingPanel.mjs.map +1 -1
  639. package/dist/jsx/FloatingPanel/useFloatingPanel.native.js +26 -9
  640. package/dist/jsx/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  641. package/dist/jsx/Form/index.mjs +50 -29
  642. package/dist/jsx/Form/index.mjs.map +1 -1
  643. package/dist/jsx/Form/index.native.js +56 -28
  644. package/dist/jsx/Form/index.native.js.map +1 -1
  645. package/dist/jsx/Form/validateOn.native.js.map +1 -1
  646. package/dist/jsx/FormGrid.mjs +11 -4
  647. package/dist/jsx/FormGrid.mjs.map +1 -1
  648. package/dist/jsx/FormGrid.native.js +11 -4
  649. package/dist/jsx/FormGrid.native.js.map +1 -1
  650. package/dist/jsx/FormSection.mjs +10 -3
  651. package/dist/jsx/FormSection.mjs.map +1 -1
  652. package/dist/jsx/FormSection.native.js +10 -3
  653. package/dist/jsx/FormSection.native.js.map +1 -1
  654. package/dist/jsx/InputParts/index.mjs +137 -60
  655. package/dist/jsx/InputParts/index.mjs.map +1 -1
  656. package/dist/jsx/InputParts/index.native.js +146 -64
  657. package/dist/jsx/InputParts/index.native.js.map +1 -1
  658. package/dist/jsx/Label/index.mjs +1 -0
  659. package/dist/jsx/Label/index.mjs.map +1 -1
  660. package/dist/jsx/Label/index.native.js +1 -0
  661. package/dist/jsx/Label/index.native.js.map +1 -1
  662. package/dist/jsx/Skeleton/index.native.js.map +1 -1
  663. package/dist/jsx/Spinner/SpinnerGlyph.native.js.map +1 -1
  664. package/dist/jsx/Spinner/index.mjs +1 -0
  665. package/dist/jsx/Spinner/index.mjs.map +1 -1
  666. package/dist/jsx/Spinner/index.native.js +14 -1
  667. package/dist/jsx/Spinner/index.native.js.map +1 -1
  668. package/dist/jsx/Spinner/spinnerSize.native.js.map +1 -1
  669. package/dist/jsx/Table/index.native.js.map +1 -1
  670. package/dist/jsx/Wheel/WheelEdgeFade.mjs +5 -0
  671. package/dist/jsx/Wheel/WheelEdgeFade.mjs.map +1 -0
  672. package/dist/jsx/Wheel/WheelEdgeFade.native.js +116 -0
  673. package/dist/jsx/Wheel/WheelEdgeFade.native.js.map +1 -0
  674. package/dist/jsx/Wheel/haptic.mjs +10 -0
  675. package/dist/jsx/Wheel/haptic.mjs.map +1 -0
  676. package/dist/jsx/Wheel/haptic.native.js +39 -0
  677. package/dist/jsx/Wheel/haptic.native.js.map +1 -0
  678. package/dist/jsx/Wheel/index.mjs +294 -110
  679. package/dist/jsx/Wheel/index.mjs.map +1 -1
  680. package/dist/jsx/Wheel/index.native.js +311 -112
  681. package/dist/jsx/Wheel/index.native.js.map +1 -1
  682. package/dist/jsx/actionLabel.native.js.map +1 -1
  683. package/dist/jsx/fieldDefaults.mjs +3 -1
  684. package/dist/jsx/fieldDefaults.mjs.map +1 -1
  685. package/dist/jsx/fieldDefaults.native.js +6 -0
  686. package/dist/jsx/fieldDefaults.native.js.map +1 -1
  687. package/dist/jsx/fieldLayout.mjs +12 -8
  688. package/dist/jsx/fieldLayout.mjs.map +1 -1
  689. package/dist/jsx/fieldLayout.native.js +11 -7
  690. package/dist/jsx/fieldLayout.native.js.map +1 -1
  691. package/dist/jsx/fields/Barcode/BarcodePreview.mjs +86 -19
  692. package/dist/jsx/fields/Barcode/BarcodePreview.mjs.map +1 -1
  693. package/dist/jsx/fields/Barcode/BarcodePreview.native.js +92 -18
  694. package/dist/jsx/fields/Barcode/BarcodePreview.native.js.map +1 -1
  695. package/dist/jsx/fields/Barcode/BarcodeScanner.native.js +1 -1
  696. package/dist/jsx/fields/Barcode/code128.native.js.map +1 -1
  697. package/dist/jsx/fields/Barcode/index.mjs +8 -2
  698. package/dist/jsx/fields/Barcode/index.mjs.map +1 -1
  699. package/dist/jsx/fields/Barcode/index.native.js +10 -4
  700. package/dist/jsx/fields/Barcode/index.native.js.map +1 -1
  701. package/dist/jsx/fields/Barcode/qr.mjs +379 -0
  702. package/dist/jsx/fields/Barcode/qr.mjs.map +1 -0
  703. package/dist/jsx/fields/Barcode/qr.native.js +637 -0
  704. package/dist/jsx/fields/Barcode/qr.native.js.map +1 -0
  705. package/dist/jsx/fields/Barcode/scannerTypes.mjs +6 -2
  706. package/dist/jsx/fields/Barcode/scannerTypes.mjs.map +1 -1
  707. package/dist/jsx/fields/Barcode/scannerTypes.native.js +6 -1
  708. package/dist/jsx/fields/Barcode/scannerTypes.native.js.map +1 -1
  709. package/dist/jsx/fields/Checkbox/Checkbox.mjs +14 -8
  710. package/dist/jsx/fields/Checkbox/Checkbox.mjs.map +1 -1
  711. package/dist/jsx/fields/Checkbox/Checkbox.native.js +15 -7
  712. package/dist/jsx/fields/Checkbox/Checkbox.native.js.map +1 -1
  713. package/dist/jsx/fields/Checkbox/CheckboxBox.mjs +15 -1
  714. package/dist/jsx/fields/Checkbox/CheckboxBox.mjs.map +1 -1
  715. package/dist/jsx/fields/Checkbox/CheckboxBox.native.js +21 -1
  716. package/dist/jsx/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  717. package/dist/jsx/fields/Checkbox/CheckboxCard.mjs +0 -1
  718. package/dist/jsx/fields/Checkbox/CheckboxCard.mjs.map +1 -1
  719. package/dist/jsx/fields/Checkbox/CheckboxCard.native.js +0 -1
  720. package/dist/jsx/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  721. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.mjs +1 -0
  722. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.mjs.map +1 -1
  723. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.native.js +1 -0
  724. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  725. package/dist/jsx/fields/Checkbox/CheckboxGroup.mjs +8 -5
  726. package/dist/jsx/fields/Checkbox/CheckboxGroup.mjs.map +1 -1
  727. package/dist/jsx/fields/Checkbox/CheckboxGroup.native.js +8 -5
  728. package/dist/jsx/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  729. package/dist/jsx/fields/Checkbox/index.mjs +8 -4
  730. package/dist/jsx/fields/Checkbox/index.mjs.map +1 -1
  731. package/dist/jsx/fields/Checkbox/index.native.js +11 -3
  732. package/dist/jsx/fields/Checkbox/index.native.js.map +1 -1
  733. package/dist/jsx/fields/ColorPicker/index.mjs +13 -10
  734. package/dist/jsx/fields/ColorPicker/index.mjs.map +1 -1
  735. package/dist/jsx/fields/ColorPicker/index.native.js +18 -14
  736. package/dist/jsx/fields/ColorPicker/index.native.js.map +1 -1
  737. package/dist/jsx/fields/ColorPicker/parts.mjs +8 -7
  738. package/dist/jsx/fields/ColorPicker/parts.mjs.map +1 -1
  739. package/dist/jsx/fields/ColorPicker/parts.native.js +12 -8
  740. package/dist/jsx/fields/ColorPicker/parts.native.js.map +1 -1
  741. package/dist/jsx/fields/Combobox/authorOptions.native.js.map +1 -1
  742. package/dist/jsx/fields/Combobox/index.mjs +74 -66
  743. package/dist/jsx/fields/Combobox/index.mjs.map +1 -1
  744. package/dist/jsx/fields/Combobox/index.native.js +90 -89
  745. package/dist/jsx/fields/Combobox/index.native.js.map +1 -1
  746. package/dist/jsx/fields/DatePicker/Calendar.mjs +12 -4
  747. package/dist/jsx/fields/DatePicker/Calendar.mjs.map +1 -1
  748. package/dist/jsx/fields/DatePicker/Calendar.native.js +12 -4
  749. package/dist/jsx/fields/DatePicker/Calendar.native.js.map +1 -1
  750. package/dist/jsx/fields/DatePicker/DateRangePicker.mjs +20 -6
  751. package/dist/jsx/fields/DatePicker/DateRangePicker.mjs.map +1 -1
  752. package/dist/jsx/fields/DatePicker/DateRangePicker.native.js +23 -7
  753. package/dist/jsx/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  754. package/dist/jsx/fields/DatePicker/DatetimePicker.mjs +25 -139
  755. package/dist/jsx/fields/DatePicker/DatetimePicker.mjs.map +1 -1
  756. package/dist/jsx/fields/DatePicker/DatetimePicker.native.js +27 -153
  757. package/dist/jsx/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  758. package/dist/jsx/fields/DatePicker/MonthPicker.mjs +2 -0
  759. package/dist/jsx/fields/DatePicker/MonthPicker.mjs.map +1 -1
  760. package/dist/jsx/fields/DatePicker/MonthPicker.native.js +6 -2
  761. package/dist/jsx/fields/DatePicker/MonthPicker.native.js.map +1 -1
  762. package/dist/jsx/fields/DatePicker/MultiDatePicker.mjs +27 -10
  763. package/dist/jsx/fields/DatePicker/MultiDatePicker.mjs.map +1 -1
  764. package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js +30 -11
  765. package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  766. package/dist/jsx/fields/DatePicker/fieldValueSync.native.js.map +1 -1
  767. package/dist/jsx/fields/DatePicker/index.mjs +2 -0
  768. package/dist/jsx/fields/DatePicker/index.mjs.map +1 -1
  769. package/dist/jsx/fields/DatePicker/index.native.js +6 -2
  770. package/dist/jsx/fields/DatePicker/index.native.js.map +1 -1
  771. package/dist/jsx/fields/DatePicker/parts.mjs +52 -26
  772. package/dist/jsx/fields/DatePicker/parts.mjs.map +1 -1
  773. package/dist/jsx/fields/DatePicker/parts.native.js +74 -40
  774. package/dist/jsx/fields/DatePicker/parts.native.js.map +1 -1
  775. package/dist/jsx/fields/DatePicker/utils.native.js.map +1 -1
  776. package/dist/jsx/fields/Duration/durationMath.mjs +64 -0
  777. package/dist/jsx/fields/Duration/durationMath.mjs.map +1 -0
  778. package/dist/jsx/fields/Duration/durationMath.native.js +115 -0
  779. package/dist/jsx/fields/Duration/durationMath.native.js.map +1 -0
  780. package/dist/jsx/fields/Duration/index.mjs +70 -102
  781. package/dist/jsx/fields/Duration/index.mjs.map +1 -1
  782. package/dist/jsx/fields/Duration/index.native.js +90 -121
  783. package/dist/jsx/fields/Duration/index.native.js.map +1 -1
  784. package/dist/jsx/fields/FileUpload/filePickerTypes.mjs +2 -0
  785. package/dist/jsx/fields/FileUpload/filePickerTypes.mjs.map +1 -0
  786. package/dist/jsx/fields/FileUpload/filePickerTypes.native.js +21 -0
  787. package/dist/jsx/fields/FileUpload/filePickerTypes.native.js.map +1 -0
  788. package/dist/jsx/fields/FileUpload/index.mjs +359 -159
  789. package/dist/jsx/fields/FileUpload/index.mjs.map +1 -1
  790. package/dist/jsx/fields/FileUpload/index.native.js +456 -168
  791. package/dist/jsx/fields/FileUpload/index.native.js.map +1 -1
  792. package/dist/jsx/fields/FileUpload/nativeFilePicker.mjs +11 -0
  793. package/dist/jsx/fields/FileUpload/nativeFilePicker.mjs.map +1 -0
  794. package/dist/jsx/fields/FileUpload/nativeFilePicker.native.js +174 -0
  795. package/dist/jsx/fields/FileUpload/nativeFilePicker.native.js.map +1 -0
  796. package/dist/jsx/fields/FileUpload/nativePickerLoader.mjs +35 -0
  797. package/dist/jsx/fields/FileUpload/nativePickerLoader.mjs.map +1 -0
  798. package/dist/jsx/fields/FileUpload/nativePickerLoader.native.js +65 -0
  799. package/dist/jsx/fields/FileUpload/nativePickerLoader.native.js.map +1 -0
  800. package/dist/jsx/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
  801. package/dist/jsx/fields/Geolocation/index.native.js +5 -5
  802. package/dist/jsx/fields/Geolocation/index.native.js.map +1 -1
  803. package/dist/jsx/fields/Geolocation/mapMath.native.js.map +1 -1
  804. package/dist/jsx/fields/Geolocation/mapTypes.native.js.map +1 -1
  805. package/dist/jsx/fields/Icon/drawnSet.mjs +358 -0
  806. package/dist/jsx/fields/Icon/drawnSet.mjs.map +1 -0
  807. package/dist/jsx/fields/Icon/drawnSet.native.js +398 -0
  808. package/dist/jsx/fields/Icon/drawnSet.native.js.map +1 -0
  809. package/dist/jsx/fields/Icon/index.mjs +350 -0
  810. package/dist/jsx/fields/Icon/index.mjs.map +1 -0
  811. package/dist/jsx/fields/Icon/index.native.js +399 -0
  812. package/dist/jsx/fields/Icon/index.native.js.map +1 -0
  813. package/dist/jsx/fields/ImageField/index.mjs +20 -27
  814. package/dist/jsx/fields/ImageField/index.mjs.map +1 -1
  815. package/dist/jsx/fields/ImageField/index.native.js +20 -28
  816. package/dist/jsx/fields/ImageField/index.native.js.map +1 -1
  817. package/dist/jsx/fields/Input/index.mjs +177 -94
  818. package/dist/jsx/fields/Input/index.mjs.map +1 -1
  819. package/dist/jsx/fields/Input/index.native.js +90 -7
  820. package/dist/jsx/fields/Input/index.native.js.map +1 -1
  821. package/dist/jsx/fields/MentionInput/index.mjs +133 -59
  822. package/dist/jsx/fields/MentionInput/index.mjs.map +1 -1
  823. package/dist/jsx/fields/MentionInput/index.native.js +161 -84
  824. package/dist/jsx/fields/MentionInput/index.native.js.map +1 -1
  825. package/dist/jsx/fields/OTPInput/index.mjs +16 -6
  826. package/dist/jsx/fields/OTPInput/index.mjs.map +1 -1
  827. package/dist/jsx/fields/OTPInput/index.native.js +18 -7
  828. package/dist/jsx/fields/OTPInput/index.native.js.map +1 -1
  829. package/dist/jsx/fields/OTPInput/otpCellCss.native.js.map +1 -1
  830. package/dist/jsx/fields/PhoneInput/dialCodes.native.js.map +1 -1
  831. package/dist/jsx/fields/PhoneInput/index.mjs +5 -3
  832. package/dist/jsx/fields/PhoneInput/index.mjs.map +1 -1
  833. package/dist/jsx/fields/PhoneInput/index.native.js +8 -5
  834. package/dist/jsx/fields/PhoneInput/index.native.js.map +1 -1
  835. package/dist/jsx/fields/PhoneInput/phone.native.js.map +1 -1
  836. package/dist/jsx/fields/Progress/index.mjs +29 -19
  837. package/dist/jsx/fields/Progress/index.mjs.map +1 -1
  838. package/dist/jsx/fields/Progress/index.native.js +32 -20
  839. package/dist/jsx/fields/Progress/index.native.js.map +1 -1
  840. package/dist/jsx/fields/RadioGroup/index.mjs +16 -15
  841. package/dist/jsx/fields/RadioGroup/index.mjs.map +1 -1
  842. package/dist/jsx/fields/RadioGroup/index.native.js +16 -15
  843. package/dist/jsx/fields/RadioGroup/index.native.js.map +1 -1
  844. package/dist/jsx/fields/Rating/index.mjs +29 -22
  845. package/dist/jsx/fields/Rating/index.mjs.map +1 -1
  846. package/dist/jsx/fields/Rating/index.native.js +34 -26
  847. package/dist/jsx/fields/Rating/index.native.js.map +1 -1
  848. package/dist/jsx/fields/Rating/ratingMath.mjs +11 -0
  849. package/dist/jsx/fields/Rating/ratingMath.mjs.map +1 -0
  850. package/dist/jsx/fields/Rating/ratingMath.native.js +39 -0
  851. package/dist/jsx/fields/Rating/ratingMath.native.js.map +1 -0
  852. package/dist/jsx/fields/Rating/types.native.js.map +1 -1
  853. package/dist/jsx/fields/SearchInput/index.mjs +220 -155
  854. package/dist/jsx/fields/SearchInput/index.mjs.map +1 -1
  855. package/dist/jsx/fields/SearchInput/index.native.js +226 -156
  856. package/dist/jsx/fields/SearchInput/index.native.js.map +1 -1
  857. package/dist/jsx/fields/Select/index.mjs +39 -22
  858. package/dist/jsx/fields/Select/index.mjs.map +1 -1
  859. package/dist/jsx/fields/Select/index.native.js +42 -29
  860. package/dist/jsx/fields/Select/index.native.js.map +1 -1
  861. package/dist/jsx/fields/Signature/index.mjs +26 -18
  862. package/dist/jsx/fields/Signature/index.mjs.map +1 -1
  863. package/dist/jsx/fields/Signature/index.native.js +28 -20
  864. package/dist/jsx/fields/Signature/index.native.js.map +1 -1
  865. package/dist/jsx/fields/Slider/index.mjs +40 -12
  866. package/dist/jsx/fields/Slider/index.mjs.map +1 -1
  867. package/dist/jsx/fields/Slider/index.native.js +61 -15
  868. package/dist/jsx/fields/Slider/index.native.js.map +1 -1
  869. package/dist/jsx/fields/Slider/jumpMotion.native.js.map +1 -1
  870. package/dist/jsx/fields/Stepper/index.mjs +17 -8
  871. package/dist/jsx/fields/Stepper/index.mjs.map +1 -1
  872. package/dist/jsx/fields/Stepper/index.native.js +19 -9
  873. package/dist/jsx/fields/Stepper/index.native.js.map +1 -1
  874. package/dist/jsx/fields/Stepper/resolveStepperPlacement.mjs +7 -0
  875. package/dist/jsx/fields/Stepper/resolveStepperPlacement.mjs.map +1 -0
  876. package/dist/jsx/fields/Stepper/resolveStepperPlacement.native.js +35 -0
  877. package/dist/jsx/fields/Stepper/resolveStepperPlacement.native.js.map +1 -0
  878. package/dist/jsx/fields/Switch/index.mjs +135 -47
  879. package/dist/jsx/fields/Switch/index.mjs.map +1 -1
  880. package/dist/jsx/fields/Switch/index.native.js +155 -48
  881. package/dist/jsx/fields/Switch/index.native.js.map +1 -1
  882. package/dist/jsx/fields/TextArea/index.mjs +34 -36
  883. package/dist/jsx/fields/TextArea/index.mjs.map +1 -1
  884. package/dist/jsx/fields/TextArea/index.native.js +35 -40
  885. package/dist/jsx/fields/TextArea/index.native.js.map +1 -1
  886. package/dist/jsx/fields/TimePicker/index.mjs +7 -3
  887. package/dist/jsx/fields/TimePicker/index.mjs.map +1 -1
  888. package/dist/jsx/fields/TimePicker/index.native.js +11 -5
  889. package/dist/jsx/fields/TimePicker/index.native.js.map +1 -1
  890. package/dist/jsx/fields/TimePicker/parts.mjs +58 -499
  891. package/dist/jsx/fields/TimePicker/parts.mjs.map +1 -1
  892. package/dist/jsx/fields/TimePicker/parts.native.js +60 -527
  893. package/dist/jsx/fields/TimePicker/parts.native.js.map +1 -1
  894. package/dist/jsx/fields/TimeRangeScrubber/geometry.mjs +229 -0
  895. package/dist/jsx/fields/TimeRangeScrubber/geometry.mjs.map +1 -0
  896. package/dist/jsx/fields/TimeRangeScrubber/geometry.native.js +352 -0
  897. package/dist/jsx/fields/TimeRangeScrubber/geometry.native.js.map +1 -0
  898. package/dist/jsx/fields/TimeRangeScrubber/index.mjs +822 -0
  899. package/dist/jsx/fields/TimeRangeScrubber/index.mjs.map +1 -0
  900. package/dist/jsx/fields/TimeRangeScrubber/index.native.js +936 -0
  901. package/dist/jsx/fields/TimeRangeScrubber/index.native.js.map +1 -0
  902. package/dist/jsx/fields/ToggleGroup/index.mjs +58 -48
  903. package/dist/jsx/fields/ToggleGroup/index.mjs.map +1 -1
  904. package/dist/jsx/fields/ToggleGroup/index.native.js +60 -52
  905. package/dist/jsx/fields/ToggleGroup/index.native.js.map +1 -1
  906. package/dist/jsx/fields/selectedOrder.mjs +11 -0
  907. package/dist/jsx/fields/selectedOrder.mjs.map +1 -0
  908. package/dist/jsx/fields/selectedOrder.native.js +46 -0
  909. package/dist/jsx/fields/selectedOrder.native.js.map +1 -0
  910. package/dist/jsx/formSpacing.native.js.map +1 -1
  911. package/dist/jsx/hooks/useFocusManagement.native.js.map +1 -1
  912. package/dist/jsx/index.js +15 -8
  913. package/dist/jsx/index.js.map +1 -1
  914. package/dist/jsx/index.mjs +15 -8
  915. package/dist/jsx/index.mjs.map +1 -1
  916. package/dist/jsx/index.native.js +84 -48
  917. package/dist/jsx/index.native.js.map +1 -1
  918. package/dist/jsx/requiredMarking.native.js.map +1 -1
  919. package/dist/jsx/shared/TimeColumn.mjs +123 -80
  920. package/dist/jsx/shared/TimeColumn.mjs.map +1 -1
  921. package/dist/jsx/shared/TimeColumn.native.js +146 -88
  922. package/dist/jsx/shared/TimeColumn.native.js.map +1 -1
  923. package/dist/jsx/shared/capabilityPreflight.native.js.map +1 -1
  924. package/dist/jsx/shared/colorRamps.mjs +23 -2
  925. package/dist/jsx/shared/colorRamps.mjs.map +1 -1
  926. package/dist/jsx/shared/colorRamps.native.js +23 -1
  927. package/dist/jsx/shared/colorRamps.native.js.map +1 -1
  928. package/dist/jsx/shared/devWarn.native.js.map +1 -1
  929. package/dist/jsx/shared/floatingList.mjs +18 -5
  930. package/dist/jsx/shared/floatingList.mjs.map +1 -1
  931. package/dist/jsx/shared/floatingList.native.js +18 -5
  932. package/dist/jsx/shared/floatingList.native.js.map +1 -1
  933. package/dist/jsx/shared/focusManagement.native.js.map +1 -1
  934. package/dist/jsx/shared/groupContext.native.js.map +1 -1
  935. package/dist/jsx/shared/i18n.native.js.map +1 -1
  936. package/dist/jsx/shared/t.native.js.map +1 -1
  937. package/dist/jsx/shared/tableCellContext.native.js.map +1 -1
  938. package/dist/jsx/shared/useDragScroll.native.js.map +1 -1
  939. package/dist/jsx/shared/useKeyboardInset.mjs +23 -0
  940. package/dist/jsx/shared/useKeyboardInset.mjs.map +1 -0
  941. package/dist/jsx/shared/useKeyboardInset.native.js +53 -0
  942. package/dist/jsx/shared/useKeyboardInset.native.js.map +1 -0
  943. package/dist/jsx/shared/useSheetEscapeDismiss.native.js.map +1 -1
  944. package/dist/jsx/shared/useWheelIncrement.native.js.map +1 -1
  945. package/dist/jsx/shared/utils.mjs +70 -74
  946. package/dist/jsx/shared/utils.mjs.map +1 -1
  947. package/dist/jsx/shared/utils.native.js +120 -76
  948. package/dist/jsx/shared/utils.native.js.map +1 -1
  949. package/dist/jsx/shared/zIndex.native.js.map +1 -1
  950. package/dist/jsx/themedPrimitives.mjs +5 -3
  951. package/dist/jsx/themedPrimitives.mjs.map +1 -1
  952. package/dist/jsx/themedPrimitives.native.js +4 -2
  953. package/dist/jsx/themedPrimitives.native.js.map +1 -1
  954. package/dist/jsx/types.native.js.map +1 -1
  955. package/dist/jsx/utils/LinkCell.native.js.map +1 -1
  956. package/package.json +21 -7
  957. package/src/AdaptivePopup/AdaptivePopup.spec.tsx +213 -2
  958. package/src/AdaptivePopup/AdaptivePopup.stories.tsx +42 -1
  959. package/src/AdaptivePopup/index.tsx +162 -24
  960. package/src/Button/Button.density.spec.tsx +164 -0
  961. package/src/Button/Button.filledBorder.spec.tsx +74 -0
  962. package/src/Button/Button.labelInk.spec.tsx +196 -0
  963. package/src/Button/Button.lc71.spec.tsx +10 -3
  964. package/src/Button/Button.stories.tsx +40 -21
  965. package/src/Button/index.tsx +52 -20
  966. package/src/Chip/index.tsx +7 -3
  967. package/src/ContextualSaveBar/ContextualSaveBar.spec.tsx +269 -0
  968. package/src/ContextualSaveBar/ContextualSaveBar.stories.tsx +72 -0
  969. package/src/ContextualSaveBar/UnsavedChangesDialog.tsx +118 -0
  970. package/src/ContextualSaveBar/clientKnownIdentity.ts +15 -0
  971. package/src/ContextualSaveBar/commitImmediateField.ts +31 -0
  972. package/src/ContextualSaveBar/index.tsx +327 -0
  973. package/src/ContextualSaveBar/useUnsavedChangesGuard.ts +38 -0
  974. package/src/ControlGroup/ControlGroup.spec.tsx +86 -0
  975. package/src/ControlGroup/index.tsx +16 -8
  976. package/src/DescriptionList/DescriptionList.spec.tsx +254 -0
  977. package/src/DescriptionList/DescriptionList.stories.tsx +244 -0
  978. package/src/DescriptionList/index.tsx +503 -0
  979. package/src/FieldDisplay/FieldDisplay.spec.tsx +17 -0
  980. package/src/FieldDisplay/index.tsx +155 -41
  981. package/src/FieldGroup.spec.tsx +63 -0
  982. package/src/FieldGroup.tsx +17 -4
  983. package/src/Fieldset.spec.tsx +39 -0
  984. package/src/FloatingPanel/index.native.tsx +253 -46
  985. package/src/FloatingPanel/index.tsx +93 -12
  986. package/src/FloatingPanel/panelWidthContract.spec.ts +58 -0
  987. package/src/FloatingPanel/useFloatingPanel.spec.tsx +127 -18
  988. package/src/FloatingPanel/useFloatingPanel.ts +62 -18
  989. package/src/Form/Form.stories.tsx +19 -0
  990. package/src/Form/form.spec.tsx +4 -2
  991. package/src/Form/index.tsx +66 -28
  992. package/src/FormGrid.spec.tsx +13 -1
  993. package/src/FormGrid.tsx +11 -4
  994. package/src/FormSection.tsx +14 -4
  995. package/src/FormsIntegration.stories.tsx +329 -344
  996. package/src/InputParts/InputButton.spec.tsx +60 -0
  997. package/src/InputParts/index.spec.tsx +41 -1
  998. package/src/InputParts/index.tsx +221 -61
  999. package/src/Label/Label.spec.tsx +8 -0
  1000. package/src/Label/index.tsx +1 -0
  1001. package/src/Spinner/Spinner.spec.tsx +14 -0
  1002. package/src/Spinner/index.native.tsx +16 -3
  1003. package/src/Spinner/index.tsx +1 -0
  1004. package/src/Wheel/Wheel.spec.tsx +292 -0
  1005. package/src/Wheel/WheelEdgeFade.native.tsx +67 -0
  1006. package/src/Wheel/WheelEdgeFade.tsx +7 -0
  1007. package/src/Wheel/haptic.ts +15 -0
  1008. package/src/Wheel/index.tsx +389 -146
  1009. package/src/fieldDefaults.spec.ts +7 -0
  1010. package/src/fieldDefaults.ts +13 -0
  1011. package/src/fieldLayout.spec.tsx +39 -0
  1012. package/src/fieldLayout.tsx +17 -7
  1013. package/src/fields/Barcode/Barcode.spec.tsx +30 -0
  1014. package/src/fields/Barcode/Barcode.stories.tsx +18 -0
  1015. package/src/fields/Barcode/BarcodePreview.spec.tsx +210 -1
  1016. package/src/fields/Barcode/BarcodePreview.tsx +147 -21
  1017. package/src/fields/Barcode/index.tsx +9 -1
  1018. package/src/fields/Barcode/qr.spec.ts +332 -0
  1019. package/src/fields/Barcode/qr.ts +590 -0
  1020. package/src/fields/Barcode/scannerTypes.ts +12 -1
  1021. package/src/fields/Checkbox/Checkbox.spec.tsx +101 -2
  1022. package/src/fields/Checkbox/Checkbox.stories.tsx +23 -0
  1023. package/src/fields/Checkbox/Checkbox.tsx +25 -6
  1024. package/src/fields/Checkbox/CheckboxBox.tsx +33 -0
  1025. package/src/fields/Checkbox/CheckboxCard.tsx +0 -1
  1026. package/src/fields/Checkbox/CheckboxFieldFrame.tsx +1 -0
  1027. package/src/fields/Checkbox/CheckboxGroup.tsx +12 -5
  1028. package/src/fields/Checkbox/index.tsx +16 -4
  1029. package/src/fields/ColorPicker/ColorPicker.spec.tsx +93 -2
  1030. package/src/fields/ColorPicker/ColorPicker.stories.tsx +29 -0
  1031. package/src/fields/ColorPicker/index.tsx +15 -19
  1032. package/src/fields/ColorPicker/parts.tsx +13 -13
  1033. package/src/fields/Combobox/Combobox.spec.tsx +193 -1
  1034. package/src/fields/Combobox/Combobox.stories.tsx +46 -0
  1035. package/src/fields/Combobox/index.tsx +161 -104
  1036. package/src/fields/DatePicker/Calendar.spec.tsx +157 -2
  1037. package/src/fields/DatePicker/Calendar.tsx +11 -1
  1038. package/src/fields/DatePicker/DatePicker.stories.tsx +28 -0
  1039. package/src/fields/DatePicker/DateRangePicker.spec.tsx +53 -0
  1040. package/src/fields/DatePicker/DateRangePicker.stories.tsx +41 -0
  1041. package/src/fields/DatePicker/DateRangePicker.tsx +17 -3
  1042. package/src/fields/DatePicker/DatetimePicker.spec.tsx +17 -0
  1043. package/src/fields/DatePicker/DatetimePicker.stories.tsx +29 -1
  1044. package/src/fields/DatePicker/DatetimePicker.tsx +42 -147
  1045. package/src/fields/DatePicker/MonthPicker.tsx +3 -6
  1046. package/src/fields/DatePicker/MultiDatePicker.spec.tsx +29 -0
  1047. package/src/fields/DatePicker/MultiDatePicker.stories.tsx +33 -0
  1048. package/src/fields/DatePicker/MultiDatePicker.tsx +26 -2
  1049. package/src/fields/DatePicker/index.tsx +2 -0
  1050. package/src/fields/DatePicker/parts.tsx +79 -40
  1051. package/src/fields/Duration/Duration.spec.tsx +135 -6
  1052. package/src/fields/Duration/Duration.stories.tsx +30 -1
  1053. package/src/fields/Duration/durationMath.spec.ts +67 -0
  1054. package/src/fields/Duration/durationMath.ts +78 -0
  1055. package/src/fields/Duration/index.tsx +89 -112
  1056. package/src/fields/FileUpload/FileUpload.spec.tsx +348 -1
  1057. package/src/fields/FileUpload/FileUpload.stories.tsx +71 -1
  1058. package/src/fields/FileUpload/filePickerTypes.ts +42 -0
  1059. package/src/fields/FileUpload/index.tsx +533 -182
  1060. package/src/fields/FileUpload/nativeFilePicker.native.spec.ts +168 -0
  1061. package/src/fields/FileUpload/nativeFilePicker.native.ts +150 -0
  1062. package/src/fields/FileUpload/nativeFilePicker.ts +21 -0
  1063. package/src/fields/FileUpload/nativePickerLoader.ts +65 -0
  1064. package/src/fields/Geolocation/Geolocation.stories.tsx +29 -0
  1065. package/src/fields/Icon/Icon.spec.tsx +67 -0
  1066. package/src/fields/Icon/Icon.stories.tsx +59 -0
  1067. package/src/fields/Icon/drawnSet.spec.ts +47 -0
  1068. package/src/fields/Icon/drawnSet.tsx +288 -0
  1069. package/src/fields/Icon/index.tsx +466 -0
  1070. package/src/fields/ImageField/ImageField.spec.tsx +84 -2
  1071. package/src/fields/ImageField/ImageField.stories.tsx +30 -1
  1072. package/src/fields/ImageField/index.tsx +35 -31
  1073. package/src/fields/Input/Input.copy.spec.tsx +113 -0
  1074. package/src/fields/Input/Input.spec.tsx +57 -0
  1075. package/src/fields/Input/Input.stories.tsx +39 -0
  1076. package/src/fields/Input/index.tsx +189 -84
  1077. package/src/fields/MentionInput/MentionInput.spec.tsx +140 -38
  1078. package/src/fields/MentionInput/MentionInput.stories.tsx +39 -2
  1079. package/src/fields/MentionInput/index.tsx +166 -82
  1080. package/src/fields/OTPInput/OtpInput.spec.tsx +99 -4
  1081. package/src/fields/OTPInput/OtpInput.stories.tsx +28 -0
  1082. package/src/fields/OTPInput/index.tsx +33 -5
  1083. package/src/fields/OTPInput/otpCellHeightTouch.spec.ts +44 -0
  1084. package/src/fields/PhoneInput/PhoneInput.spec.tsx +109 -0
  1085. package/src/fields/PhoneInput/PhoneInput.stories.tsx +28 -0
  1086. package/src/fields/PhoneInput/index.tsx +5 -3
  1087. package/src/fields/Progress/Progress.spec.tsx +132 -18
  1088. package/src/fields/Progress/Progress.stories.tsx +32 -3
  1089. package/src/fields/Progress/index.tsx +38 -15
  1090. package/src/fields/RadioGroup/RadioGroup.spec.tsx +58 -0
  1091. package/src/fields/RadioGroup/RadioGroup.stories.tsx +42 -7
  1092. package/src/fields/RadioGroup/index.tsx +26 -18
  1093. package/src/fields/Rating/Rating.spec.tsx +71 -1
  1094. package/src/fields/Rating/Rating.stories.tsx +28 -0
  1095. package/src/fields/Rating/index.tsx +39 -25
  1096. package/src/fields/Rating/ratingMath.spec.ts +24 -0
  1097. package/src/fields/Rating/ratingMath.ts +14 -0
  1098. package/src/fields/SearchInput/SearchInput.spec.tsx +86 -0
  1099. package/src/fields/SearchInput/SearchInput.stories.tsx +14 -0
  1100. package/src/fields/SearchInput/index.tsx +257 -154
  1101. package/src/fields/Select/Select.stories.tsx +91 -42
  1102. package/src/fields/Select/index.tsx +62 -23
  1103. package/src/fields/Signature/Signature.spec.tsx +70 -0
  1104. package/src/fields/Signature/Signature.stories.tsx +29 -0
  1105. package/src/fields/Signature/index.tsx +27 -20
  1106. package/src/fields/Slider/Slider.spec.tsx +57 -0
  1107. package/src/fields/Slider/Slider.stories.tsx +28 -0
  1108. package/src/fields/Slider/index.tsx +38 -15
  1109. package/src/fields/Stepper/Stepper.spec.tsx +8 -0
  1110. package/src/fields/Stepper/Stepper.stories.tsx +28 -0
  1111. package/src/fields/Stepper/index.tsx +28 -18
  1112. package/src/fields/Stepper/resolveStepperPlacement.spec.ts +21 -0
  1113. package/src/fields/Stepper/resolveStepperPlacement.ts +14 -0
  1114. package/src/fields/Switch/Switch.radius.spec.tsx +114 -0
  1115. package/src/fields/Switch/Switch.stories.tsx +23 -0
  1116. package/src/fields/Switch/index.tsx +157 -52
  1117. package/src/fields/TextArea/TextArea.spec.tsx +103 -0
  1118. package/src/fields/TextArea/TextArea.stories.tsx +28 -0
  1119. package/src/fields/TextArea/index.tsx +36 -42
  1120. package/src/fields/TimePicker/TimePicker.spec.tsx +73 -11
  1121. package/src/fields/TimePicker/TimePicker.stories.tsx +29 -1
  1122. package/src/fields/TimePicker/index.tsx +8 -2
  1123. package/src/fields/TimePicker/parts.tsx +74 -584
  1124. package/src/fields/TimeRangeScrubber/TimeRangeScrubber.spec.tsx +483 -0
  1125. package/src/fields/TimeRangeScrubber/TimeRangeScrubber.stories.tsx +151 -0
  1126. package/src/fields/TimeRangeScrubber/geometry.ts +285 -0
  1127. package/src/fields/TimeRangeScrubber/index.tsx +1049 -0
  1128. package/src/fields/ToggleGroup/ToggleGroup.spec.tsx +118 -2
  1129. package/src/fields/ToggleGroup/ToggleGroup.stories.tsx +41 -0
  1130. package/src/fields/ToggleGroup/index.tsx +70 -67
  1131. package/src/fields/selectedOrder.spec.ts +29 -0
  1132. package/src/fields/selectedOrder.ts +26 -0
  1133. package/src/index.ts +71 -8
  1134. package/src/shared/TimeColumn.tsx +135 -87
  1135. package/src/shared/TimeWheels.spec.tsx +39 -0
  1136. package/src/shared/colorRamps.ts +35 -1
  1137. package/src/shared/floatingList.spec.tsx +65 -0
  1138. package/src/shared/floatingList.tsx +18 -5
  1139. package/src/shared/useKeyboardInset.ts +43 -0
  1140. package/src/shared/utils.spec.ts +122 -9
  1141. package/src/shared/utils.ts +161 -71
  1142. package/src/themedPrimitives.tsx +5 -3
  1143. package/types/AdaptivePopup/index.d.ts +19 -1
  1144. package/types/AdaptivePopup/index.d.ts.map +1 -1
  1145. package/types/Button/index.d.ts +8 -3
  1146. package/types/Button/index.d.ts.map +1 -1
  1147. package/types/Chip/index.d.ts +1 -1
  1148. package/types/Chip/index.d.ts.map +1 -1
  1149. package/types/ContextualSaveBar/UnsavedChangesDialog.d.ts +13 -0
  1150. package/types/ContextualSaveBar/UnsavedChangesDialog.d.ts.map +1 -0
  1151. package/types/ContextualSaveBar/clientKnownIdentity.d.ts +7 -0
  1152. package/types/ContextualSaveBar/clientKnownIdentity.d.ts.map +1 -0
  1153. package/types/ContextualSaveBar/commitImmediateField.d.ts +8 -0
  1154. package/types/ContextualSaveBar/commitImmediateField.d.ts.map +1 -0
  1155. package/types/ContextualSaveBar/index.d.ts +27 -0
  1156. package/types/ContextualSaveBar/index.d.ts.map +1 -0
  1157. package/types/ContextualSaveBar/useUnsavedChangesGuard.d.ts +9 -0
  1158. package/types/ContextualSaveBar/useUnsavedChangesGuard.d.ts.map +1 -0
  1159. package/types/ControlGroup/index.d.ts.map +1 -1
  1160. package/types/DescriptionList/index.d.ts +69 -0
  1161. package/types/DescriptionList/index.d.ts.map +1 -0
  1162. package/types/FieldDisplay/index.d.ts +26 -5
  1163. package/types/FieldDisplay/index.d.ts.map +1 -1
  1164. package/types/FieldGroup.d.ts +2 -0
  1165. package/types/FieldGroup.d.ts.map +1 -1
  1166. package/types/FloatingPanel/index.d.ts +30 -5
  1167. package/types/FloatingPanel/index.d.ts.map +1 -1
  1168. package/types/FloatingPanel/index.native.d.ts +1 -1
  1169. package/types/FloatingPanel/index.native.d.ts.map +1 -1
  1170. package/types/FloatingPanel/useFloatingPanel.d.ts +30 -7
  1171. package/types/FloatingPanel/useFloatingPanel.d.ts.map +1 -1
  1172. package/types/Form/index.d.ts +19 -3
  1173. package/types/Form/index.d.ts.map +1 -1
  1174. package/types/FormGrid.d.ts.map +1 -1
  1175. package/types/FormSection.d.ts +2 -2
  1176. package/types/FormSection.d.ts.map +1 -1
  1177. package/types/InputParts/index.d.ts +51 -17
  1178. package/types/InputParts/index.d.ts.map +1 -1
  1179. package/types/Label/index.d.ts.map +1 -1
  1180. package/types/Spinner/index.d.ts.map +1 -1
  1181. package/types/Spinner/index.native.d.ts.map +1 -1
  1182. package/types/Wheel/WheelEdgeFade.d.ts +8 -0
  1183. package/types/Wheel/WheelEdgeFade.d.ts.map +1 -0
  1184. package/types/Wheel/WheelEdgeFade.native.d.ts +8 -0
  1185. package/types/Wheel/WheelEdgeFade.native.d.ts.map +1 -0
  1186. package/types/Wheel/haptic.d.ts +6 -0
  1187. package/types/Wheel/haptic.d.ts.map +1 -0
  1188. package/types/Wheel/index.d.ts +19 -1
  1189. package/types/Wheel/index.d.ts.map +1 -1
  1190. package/types/fieldDefaults.d.ts +7 -0
  1191. package/types/fieldDefaults.d.ts.map +1 -1
  1192. package/types/fieldLayout.d.ts.map +1 -1
  1193. package/types/fields/Barcode/BarcodePreview.d.ts +46 -11
  1194. package/types/fields/Barcode/BarcodePreview.d.ts.map +1 -1
  1195. package/types/fields/Barcode/index.d.ts.map +1 -1
  1196. package/types/fields/Barcode/qr.d.ts +53 -0
  1197. package/types/fields/Barcode/qr.d.ts.map +1 -0
  1198. package/types/fields/Barcode/scannerTypes.d.ts +7 -0
  1199. package/types/fields/Barcode/scannerTypes.d.ts.map +1 -1
  1200. package/types/fields/Checkbox/Checkbox.d.ts.map +1 -1
  1201. package/types/fields/Checkbox/CheckboxBox.d.ts +16 -0
  1202. package/types/fields/Checkbox/CheckboxBox.d.ts.map +1 -1
  1203. package/types/fields/Checkbox/CheckboxCard.d.ts.map +1 -1
  1204. package/types/fields/Checkbox/CheckboxFieldFrame.d.ts.map +1 -1
  1205. package/types/fields/Checkbox/CheckboxGroup.d.ts.map +1 -1
  1206. package/types/fields/Checkbox/index.d.ts +5 -4
  1207. package/types/fields/Checkbox/index.d.ts.map +1 -1
  1208. package/types/fields/ColorPicker/index.d.ts.map +1 -1
  1209. package/types/fields/ColorPicker/parts.d.ts +9 -6
  1210. package/types/fields/ColorPicker/parts.d.ts.map +1 -1
  1211. package/types/fields/Combobox/index.d.ts +7 -1
  1212. package/types/fields/Combobox/index.d.ts.map +1 -1
  1213. package/types/fields/DatePicker/Calendar.d.ts.map +1 -1
  1214. package/types/fields/DatePicker/DateRangePicker.d.ts.map +1 -1
  1215. package/types/fields/DatePicker/DatetimePicker.d.ts.map +1 -1
  1216. package/types/fields/DatePicker/MonthPicker.d.ts.map +1 -1
  1217. package/types/fields/DatePicker/MultiDatePicker.d.ts.map +1 -1
  1218. package/types/fields/DatePicker/index.d.ts.map +1 -1
  1219. package/types/fields/DatePicker/parts.d.ts +15 -3
  1220. package/types/fields/DatePicker/parts.d.ts.map +1 -1
  1221. package/types/fields/Duration/durationMath.d.ts +17 -0
  1222. package/types/fields/Duration/durationMath.d.ts.map +1 -0
  1223. package/types/fields/Duration/index.d.ts +3 -11
  1224. package/types/fields/Duration/index.d.ts.map +1 -1
  1225. package/types/fields/FileUpload/filePickerTypes.d.ts +39 -0
  1226. package/types/fields/FileUpload/filePickerTypes.d.ts.map +1 -0
  1227. package/types/fields/FileUpload/index.d.ts +38 -0
  1228. package/types/fields/FileUpload/index.d.ts.map +1 -1
  1229. package/types/fields/FileUpload/nativeFilePicker.d.ts +10 -0
  1230. package/types/fields/FileUpload/nativeFilePicker.d.ts.map +1 -0
  1231. package/types/fields/FileUpload/nativeFilePicker.native.d.ts +23 -0
  1232. package/types/fields/FileUpload/nativeFilePicker.native.d.ts.map +1 -0
  1233. package/types/fields/FileUpload/nativePickerLoader.d.ts +15 -0
  1234. package/types/fields/FileUpload/nativePickerLoader.d.ts.map +1 -0
  1235. package/types/fields/Icon/drawnSet.d.ts +17 -0
  1236. package/types/fields/Icon/drawnSet.d.ts.map +1 -0
  1237. package/types/fields/Icon/index.d.ts +20 -0
  1238. package/types/fields/Icon/index.d.ts.map +1 -0
  1239. package/types/fields/ImageField/index.d.ts +5 -0
  1240. package/types/fields/ImageField/index.d.ts.map +1 -1
  1241. package/types/fields/Input/index.d.ts +29 -17
  1242. package/types/fields/Input/index.d.ts.map +1 -1
  1243. package/types/fields/MentionInput/index.d.ts +11 -4
  1244. package/types/fields/MentionInput/index.d.ts.map +1 -1
  1245. package/types/fields/OTPInput/index.d.ts +12 -0
  1246. package/types/fields/OTPInput/index.d.ts.map +1 -1
  1247. package/types/fields/PhoneInput/index.d.ts.map +1 -1
  1248. package/types/fields/Progress/index.d.ts +9 -2
  1249. package/types/fields/Progress/index.d.ts.map +1 -1
  1250. package/types/fields/RadioGroup/index.d.ts +7 -4
  1251. package/types/fields/RadioGroup/index.d.ts.map +1 -1
  1252. package/types/fields/Rating/index.d.ts +1 -0
  1253. package/types/fields/Rating/index.d.ts.map +1 -1
  1254. package/types/fields/Rating/ratingMath.d.ts +7 -0
  1255. package/types/fields/Rating/ratingMath.d.ts.map +1 -0
  1256. package/types/fields/SearchInput/index.d.ts +15 -3
  1257. package/types/fields/SearchInput/index.d.ts.map +1 -1
  1258. package/types/fields/Select/index.d.ts +7 -1
  1259. package/types/fields/Select/index.d.ts.map +1 -1
  1260. package/types/fields/Signature/index.d.ts +3 -3
  1261. package/types/fields/Signature/index.d.ts.map +1 -1
  1262. package/types/fields/Slider/index.d.ts.map +1 -1
  1263. package/types/fields/Stepper/index.d.ts +4 -4
  1264. package/types/fields/Stepper/index.d.ts.map +1 -1
  1265. package/types/fields/Stepper/resolveStepperPlacement.d.ts +7 -0
  1266. package/types/fields/Stepper/resolveStepperPlacement.d.ts.map +1 -0
  1267. package/types/fields/Switch/index.d.ts.map +1 -1
  1268. package/types/fields/TextArea/index.d.ts +3 -1
  1269. package/types/fields/TextArea/index.d.ts.map +1 -1
  1270. package/types/fields/TimePicker/index.d.ts.map +1 -1
  1271. package/types/fields/TimePicker/parts.d.ts +5 -13
  1272. package/types/fields/TimePicker/parts.d.ts.map +1 -1
  1273. package/types/fields/TimeRangeScrubber/geometry.d.ts +87 -0
  1274. package/types/fields/TimeRangeScrubber/geometry.d.ts.map +1 -0
  1275. package/types/fields/TimeRangeScrubber/index.d.ts +51 -0
  1276. package/types/fields/TimeRangeScrubber/index.d.ts.map +1 -0
  1277. package/types/fields/ToggleGroup/index.d.ts +1 -1
  1278. package/types/fields/ToggleGroup/index.d.ts.map +1 -1
  1279. package/types/fields/selectedOrder.d.ts +15 -0
  1280. package/types/fields/selectedOrder.d.ts.map +1 -0
  1281. package/types/index.d.ts +26 -13
  1282. package/types/index.d.ts.map +1 -1
  1283. package/types/shared/TimeColumn.d.ts +15 -13
  1284. package/types/shared/TimeColumn.d.ts.map +1 -1
  1285. package/types/shared/colorRamps.d.ts +28 -1
  1286. package/types/shared/colorRamps.d.ts.map +1 -1
  1287. package/types/shared/floatingList.d.ts.map +1 -1
  1288. package/types/shared/useKeyboardInset.d.ts +16 -0
  1289. package/types/shared/useKeyboardInset.d.ts.map +1 -0
  1290. package/types/shared/utils.d.ts +36 -6
  1291. package/types/shared/utils.d.ts.map +1 -1
  1292. package/types/themedPrimitives.d.ts +1 -1
  1293. package/types/themedPrimitives.d.ts.map +1 -1
@@ -31,6 +31,7 @@ import {
31
31
  ensureKeyboardModalityTracking,
32
32
  keyboardFocusRingProps,
33
33
  menuRowFrame,
34
+ useGlyphColor,
34
35
  useResolvedKnobs,
35
36
  } from "@multiplatform.one/theme";
36
37
  import type { LabelProps, SizeTokens } from "tamagui";
@@ -41,7 +42,7 @@ import { Skeleton } from "../../Skeleton";
41
42
  import { Field, FieldLayout, useFieldA11y, useFieldDescribedBy } from "../../fieldLayout";
42
43
  import { Input as InputParts } from "../../InputParts";
43
44
  import { Spinner } from "../../Spinner";
44
- import { formCommonColors, formInputColors } from "../../shared/colorRamps";
45
+ import { formCommonColors, formInputColors, formSelectedColors } from "../../shared/colorRamps";
45
46
  import {
46
47
  getFieldError,
47
48
  getFieldHeight,
@@ -64,6 +65,7 @@ import {
64
65
  import { zIndex } from "../../shared/zIndex";
65
66
  import { useDragScroll } from "../../shared/useDragScroll";
66
67
  import { useIsInTableCell } from "../../shared/tableCellContext";
68
+ import { orderOptionsBySelected, type SelectedOrder } from "../selectedOrder";
67
69
 
68
70
  // ── Styled row ───────────────────────────────────────────────
69
71
 
@@ -105,6 +107,29 @@ function listItemRingProps(keyboardRing: boolean) {
105
107
  return keyboardRing ? keyboardFocusRingProps : { outlineWidth: 0 as const };
106
108
  }
107
109
 
110
+ /**
111
+ * Resolve the LC-05 selected-mark token to a real paint (MPO-63).
112
+ *
113
+ * MPO-65 put `formSelectedColors.mark` ("$accentBackground") on the tick, but a
114
+ * phosphor glyph is NOT a Tamagui styled component: its IconBase writes the
115
+ * prop straight into `<svg fill>`. On web "$accentBackground" is not a valid
116
+ * paint, so the declaration is dropped and `fill` falls back to its initial
117
+ * value — an opaque BLACK tick, measured 1.19:1 against the `$color2` selected
118
+ * row. On native the shim can only resolve a token the theme in scope actually
119
+ * carries, and the component sub-themes carry no `accentBackground` at all.
120
+ * Resolve it here, where the value becomes a paint — the same shape as
121
+ * `mutedColor` for the search glyph. Keyed off the ramp constant so the token
122
+ * stays declared once in colorRamps, and degrading to `$color` ink rather than
123
+ * black when a narrow sub-theme has no accent step.
124
+ */
125
+ function useSelectedMarkColor(): string {
126
+ const theme = useTheme();
127
+ const entry = (theme as unknown as Record<string, { val?: string } | undefined>)[
128
+ formSelectedColors.mark.slice(1)
129
+ ];
130
+ return entry?.val ?? theme.color?.val ?? "currentColor";
131
+ }
132
+
108
133
  const GroupHeader = styled(Text, {
109
134
  name: "ComboboxGroupHeader",
110
135
  paddingHorizontal: "$3",
@@ -180,6 +205,11 @@ export interface ComboboxProps {
180
205
  popoverWidth?: number;
181
206
  tabIndex?: number;
182
207
  multiple?: boolean;
208
+ /**
209
+ * Multi-select list order. `selected-first` (default) pins chosen rows to the
210
+ * top, alphabetically among themselves. `stable` keeps `options` order.
211
+ */
212
+ selectedOrder?: SelectedOrder;
183
213
  /** Show dismiss button on badges to remove selected items (only applies when multiple=true) */
184
214
  dismissible?: boolean;
185
215
  /** When true, renders a skeleton placeholder instead of the combobox */
@@ -281,6 +311,8 @@ interface ComboboxItemHandlers {
281
311
  onItemKeyDown?: (e: React.KeyboardEvent, index: number) => void;
282
312
  knobProps: KnobProps;
283
313
  textColor: string;
314
+ /** LC-05 selected mark, already resolved to a paint. */
315
+ markColor: string;
284
316
  listItemsRef: React.RefObject<Array<HTMLElement | null>>;
285
317
  }
286
318
 
@@ -395,7 +427,7 @@ const ComboboxItem = memo(function ComboboxItem({
395
427
  {option.label}
396
428
  </Text>
397
429
  )}
398
- {isSelected && <CheckIcon size={14} />}
430
+ {isSelected && <CheckIcon size={14} color={ctx.markColor} />}
399
431
  </ComboboxRow>
400
432
  );
401
433
  });
@@ -426,6 +458,7 @@ interface FloatingComboboxCoreProps {
426
458
  trigger?: (selected: ComboboxOption | ComboboxOption[] | undefined, open: boolean) => ReactNode;
427
459
  knobProps: KnobProps;
428
460
  multiple?: boolean;
461
+ selectedOrder?: SelectedOrder;
429
462
  dismissible?: boolean;
430
463
  creatable?: boolean;
431
464
  onCreate?: (value: string) => ComboboxOption | void;
@@ -460,6 +493,7 @@ function FloatingComboboxCore({
460
493
  trigger: triggerRender,
461
494
  knobProps,
462
495
  multiple,
496
+ selectedOrder,
463
497
  dismissible,
464
498
  creatable,
465
499
  onCreate,
@@ -473,6 +507,7 @@ function FloatingComboboxCore({
473
507
  const { t } = useTranslation();
474
508
  const inTableCell = useIsInTableCell();
475
509
  const describedBy = useFieldDescribedBy();
510
+ const glyphColor = useGlyphColor();
476
511
  const [internalOpen, setInternalOpen] = useState(false);
477
512
  // Use external open state when provided (controlled), otherwise use internal state
478
513
  const open = openProp !== undefined ? openProp : internalOpen;
@@ -492,6 +527,7 @@ function FloatingComboboxCore({
492
527
  const [activeIndex, setActiveIndex] = useState<number | null>(null);
493
528
 
494
529
  const textColor = knobProps.textAccentColor;
530
+ const markColor = useSelectedMarkColor();
495
531
 
496
532
  const labelCacheRef = useRef<Map<string, string>>(new Map());
497
533
  for (const o of options) labelCacheRef.current.set(o.value, o.label);
@@ -578,22 +614,17 @@ function FloatingComboboxCore({
578
614
  if (hasSearchedRef.current) return filtered; // user searched then cleared; keep natural order
579
615
  if (initialOrderRef.current === null) {
580
616
  const current = Array.isArray(value) ? value : value ? [value] : [];
581
- const snap = new Set(current);
582
- if (snap.size === 0) {
583
- initialOrderRef.current = filtered;
584
- } else {
585
- const first = filtered
586
- .filter((o) => snap.has(o.value))
587
- .sort((a, b) => a.label.localeCompare(b.label));
588
- const rest = filtered.filter((o) => !snap.has(o.value));
589
- initialOrderRef.current = [...first, ...rest];
590
- }
617
+ initialOrderRef.current = orderOptionsBySelected(filtered, current, selectedOrder);
591
618
  }
592
619
  return initialOrderRef.current;
593
- }, [filtered, filter, open, multiple, value]);
594
-
595
- // Group options for rendering with headers (only when not in multiple mode)
596
- const { items: groupedItems, flatOptions: _flatOptions } = useMemo(
620
+ }, [filtered, filter, open, multiple, value, selectedOrder]);
621
+
622
+ // Group for render. `activeIndex` indexes `navigableOptions` selectable
623
+ // rows in that same order not `sortedFiltered`. `groupComboboxOptions`
624
+ // clusters by group and assigns `flatIndex` on the reordered list; keeping
625
+ // activeIndex on sortedFiltered while rendering headers silently breaks
626
+ // ArrowUp/ArrowDown (MPO-38 AC-6).
627
+ const { items: groupedItems, flatOptions: navigableOptions } = useMemo(
597
628
  () => groupComboboxOptions(sortedFiltered),
598
629
  [sortedFiltered],
599
630
  );
@@ -686,8 +717,8 @@ function FloatingComboboxCore({
686
717
  // Document-level Enter/Escape to close (catches keys when focus is on list, not just search)
687
718
  const activeIndexRef = useRef(activeIndex);
688
719
  activeIndexRef.current = activeIndex;
689
- const sortedFilteredRef = useRef(sortedFiltered);
690
- sortedFilteredRef.current = sortedFiltered;
720
+ const navigableOptionsRef = useRef(navigableOptions);
721
+ navigableOptionsRef.current = navigableOptions;
691
722
  const showCreateOptionRef = useRef(showCreateOption);
692
723
  showCreateOptionRef.current = showCreateOption;
693
724
  const multipleRef = useRef(multiple);
@@ -726,20 +757,33 @@ function FloatingComboboxCore({
726
757
  const contentHeight = searchBarHeight + listContentHeight + borderHeight;
727
758
 
728
759
  const isDropup = panel.placement.startsWith("top");
760
+ // Cover ruling (MPO-38). A single-value Combobox covers its trigger:
761
+ // the trigger shows one label, and the panel replaces it in place
762
+ // (macOS-style aligned listbox). A MULTI-select trigger carries live
763
+ // state — the selected chips and the query you are typing — so a panel
764
+ // drawn over it hides the very thing you are editing. Measured before
765
+ // this landed: panel top == trigger top and panel width == trigger
766
+ // width with `multiple` set, chips and filter text both covered.
767
+ // A trigger carrying live state keeps its own surface; the panel
768
+ // attaches flush on its BOTTOM edge instead.
769
+ const coversTrigger = !multipleRef.current;
729
770
  let top: number;
730
771
 
731
772
  if (searchTopRef.current === null) {
773
+ // The edge the panel hangs from: the trigger's far edge when it
774
+ // covers, its near edge when it only attaches (MPO-38).
775
+ const dropupAnchor = coversTrigger ? triggerBounds.bottom : triggerBounds.top;
732
776
  if (isDropup) {
733
- const availableAbove = triggerBounds.bottom - panelViewportPadding;
777
+ const availableAbove = dropupAnchor - panelViewportPadding;
734
778
  const initialHeight = Math.min(contentHeight, availableAbove);
735
- top = triggerBounds.bottom - initialHeight;
779
+ top = dropupAnchor - initialHeight;
736
780
  } else {
737
- top = triggerBounds.top;
781
+ top = coversTrigger ? triggerBounds.top : triggerBounds.bottom;
738
782
  }
739
783
  searchTopRef.current = top;
740
784
 
741
785
  const maxAvailable = isDropup
742
- ? triggerBounds.bottom - top
786
+ ? dropupAnchor - top
743
787
  : viewportHeight - top - panelViewportPadding;
744
788
  let height = Math.min(contentHeight, maxAvailable);
745
789
  height = Math.max(120, height);
@@ -796,13 +840,17 @@ function FloatingComboboxCore({
796
840
  // For dropdowns: don't move the panel below the trigger
797
841
  // For dropups: don't move the panel above where it started
798
842
  if (!isDropup) {
799
- // Keep the panel starting at or above the trigger
800
- top = Math.min(top, triggerTop);
843
+ // Keep the panel starting at or above the trigger. A non-covering
844
+ // (multi-select) panel may not grow upward at all — that is what
845
+ // would swallow the chips (MPO-38).
846
+ top = coversTrigger ? Math.min(top, triggerTop) : triggerBottom;
801
847
  } else {
802
- // Keep the panel ending at or below the trigger
848
+ // Keep the panel ending at or below the trigger; a non-covering
849
+ // drop-up stops at the trigger's TOP edge.
850
+ const floor = coversTrigger ? triggerBottom : triggerTop;
803
851
  const panelBottom = top + height;
804
- if (panelBottom < triggerBottom) {
805
- top = triggerBottom - height;
852
+ if (panelBottom < floor) {
853
+ top = floor - height;
806
854
  }
807
855
  }
808
856
  searchTopRef.current = top;
@@ -931,7 +979,7 @@ function FloatingComboboxCore({
931
979
  if (!el || !floating.contains(el)) return;
932
980
  const row = el.closest?.("[data-combobox-index]");
933
981
  const actualIndex = row?.getAttribute("data-combobox-index");
934
- const list = sortedFilteredRef.current;
982
+ const list = navigableOptionsRef.current;
935
983
  const len = list.length + (showCreateOptionRef.current ? 1 : 0);
936
984
  const activeIdx = activeIndexRef.current;
937
985
  const n = actualIndex != null ? Number(actualIndex) : null;
@@ -949,7 +997,7 @@ function FloatingComboboxCore({
949
997
  // After filter, the list remounts (Fragment key=filter) so mouseenter often doesn't fire for
950
998
  // elements that appear under a stationary cursor. Use elementFromPoint to set the correct index.
951
999
  useLayoutEffect(() => {
952
- const len = sortedFiltered.length + (showCreateOption ? 1 : 0);
1000
+ const len = navigableOptions.length + (showCreateOption ? 1 : 0);
953
1001
  listItemsRef.current.length = len;
954
1002
  justResetFromFilterRef.current = true;
955
1003
 
@@ -970,7 +1018,7 @@ function FloatingComboboxCore({
970
1018
  } else {
971
1019
  setActiveIndex(0);
972
1020
  }
973
- }, [filter, sortedFiltered.length, showCreateOption]);
1021
+ }, [filter, navigableOptions.length, showCreateOption]);
974
1022
 
975
1023
  const click = useClick(panel.context, { event: "mousedown", keyboardHandlers: false });
976
1024
  const dismiss = useDismiss(panel.context);
@@ -1010,7 +1058,7 @@ function FloatingComboboxCore({
1010
1058
  if (event?.shiftKey && lastSelectedIndexRef.current != null) {
1011
1059
  const from = Math.min(lastSelectedIndexRef.current, index);
1012
1060
  const to = Math.max(lastSelectedIndexRef.current, index);
1013
- const rangeValues = sortedFiltered.slice(from, to + 1).map((o) => o.value);
1061
+ const rangeValues = navigableOptions.slice(from, to + 1).map((o) => o.value);
1014
1062
  const merged = new Set([...current, ...rangeValues]);
1015
1063
  onValueChange?.([...merged]);
1016
1064
  } else {
@@ -1025,7 +1073,7 @@ function FloatingComboboxCore({
1025
1073
  setOpen(false);
1026
1074
  }
1027
1075
  },
1028
- [onValueChange, multiple, value, sortedFiltered],
1076
+ [onValueChange, multiple, value, navigableOptions],
1029
1077
  );
1030
1078
 
1031
1079
  const handleListMouseMove = useCallback(
@@ -1038,7 +1086,7 @@ function FloatingComboboxCore({
1038
1086
  const el = document.elementFromPoint(clientX, clientY);
1039
1087
  const row = el?.closest?.("[data-combobox-index]");
1040
1088
  const actualIndex = row?.getAttribute("data-combobox-index");
1041
- const list = sortedFilteredRef.current;
1089
+ const list = navigableOptionsRef.current;
1042
1090
  const len = list.length + (showCreateOptionRef.current ? 1 : 0);
1043
1091
  const activeIdx = activeIndexRef.current;
1044
1092
  const n = actualIndex != null ? Number(actualIndex) : null;
@@ -1084,7 +1132,7 @@ function FloatingComboboxCore({
1084
1132
  e.preventDefault();
1085
1133
  e.stopPropagation();
1086
1134
  const idx = activeIndexRef.current;
1087
- const list = sortedFilteredRef.current;
1135
+ const list = navigableOptionsRef.current;
1088
1136
  const createIdx = showCreateOptionRef.current ? list.length : -1;
1089
1137
  if (idx === createIdx && showCreateOptionRef.current) {
1090
1138
  handleCreate();
@@ -1149,8 +1197,8 @@ function FloatingComboboxCore({
1149
1197
  if (describedBy) boxEventProps["aria-describedby"] = describedBy;
1150
1198
 
1151
1199
  // Total navigable items includes the create option if shown
1152
- const totalNavigableItems = sortedFiltered.length + (showCreateOption ? 1 : 0);
1153
- const createOptionIndex = showCreateOption ? sortedFiltered.length : -1;
1200
+ const totalNavigableItems = navigableOptions.length + (showCreateOption ? 1 : 0);
1201
+ const createOptionIndex = showCreateOption ? navigableOptions.length : -1;
1154
1202
 
1155
1203
  const handleItemKeyDown = useCallback(
1156
1204
  (e: React.KeyboardEvent, _index: number) => {
@@ -1190,6 +1238,7 @@ function FloatingComboboxCore({
1190
1238
  onItemKeyDown: handleItemKeyDown,
1191
1239
  knobProps,
1192
1240
  textColor,
1241
+ markColor,
1193
1242
  listItemsRef,
1194
1243
  };
1195
1244
 
@@ -1231,8 +1280,8 @@ function FloatingComboboxCore({
1231
1280
  handleCreate();
1232
1281
  } else if (event.key === "Enter" && multiple && hasSelectedSinceOpenRef.current) {
1233
1282
  setOpen(false);
1234
- } else if (activeIndex != null && sortedFiltered[activeIndex]) {
1235
- handleSelect(sortedFiltered[activeIndex], activeIndex);
1283
+ } else if (activeIndex != null && navigableOptions[activeIndex]) {
1284
+ handleSelect(navigableOptions[activeIndex], activeIndex);
1236
1285
  if (event.key === "Enter" || !multiple) setOpen(false);
1237
1286
  } else {
1238
1287
  setOpen(false);
@@ -1245,7 +1294,7 @@ function FloatingComboboxCore({
1245
1294
  }
1246
1295
  },
1247
1296
  [
1248
- sortedFiltered,
1297
+ navigableOptions,
1249
1298
  activeIndex,
1250
1299
  handleSelect,
1251
1300
  handleCreate,
@@ -1318,10 +1367,12 @@ function FloatingComboboxCore({
1318
1367
  cursor={disabled ? "not-allowed" : "pointer"}
1319
1368
  disabled={disabled}
1320
1369
  size={knobProps.sizeToken}
1321
- // One surface owner (OVERLAY_ANCHOR_GAP rule): the open panel covers
1322
- // this trigger (panel top = trigger top), so the trigger's outer focus
1323
- // ring must not paint — it would ghost around the panel's corners.
1324
- suppressFocusRing={open}
1370
+ // One surface owner: a single-value panel COVERS this trigger (panel
1371
+ // top = trigger top), so the trigger's outer focus ring must not paint
1372
+ // — it would ghost around the panel's corners. A multi-select panel
1373
+ // attaches below instead (MPO-38), leaving the trigger on screen and
1374
+ // focusable, so it keeps its ring.
1375
+ suppressFocusRing={open && !multiple}
1325
1376
  {...(inTableCell
1326
1377
  ? // Chromeless in cells, but keep a ≥44px pressable target (SP-FIXED).
1327
1378
  { minHeight: 44 }
@@ -1408,7 +1459,7 @@ function FloatingComboboxCore({
1408
1459
  </View>
1409
1460
  )}
1410
1461
  <View paddingInlineEnd="$2" alignSelf="center">
1411
- <CaretDownIcon size={16} />
1462
+ <CaretDownIcon size={16} color={glyphColor} />
1412
1463
  </View>
1413
1464
  </InputParts.Box>
1414
1465
  );
@@ -1524,41 +1575,31 @@ function FloatingComboboxCore({
1524
1575
  {searchError}
1525
1576
  </Text>
1526
1577
  </View>
1527
- ) : sortedFiltered.length > 0 ? (
1578
+ ) : navigableOptions.length > 0 ? (
1528
1579
  <Fragment key={filter}>
1529
- {multiple
1530
- ? sortedFiltered.map((option, index) => (
1531
- <ComboboxItem
1532
- key={option.value}
1533
- option={option}
1534
- index={index}
1535
- optionId={comboboxOptionId(id, index)}
1536
- isSelected={isSelected(option.value)}
1537
- isActive={index === activeIndex}
1538
- keyboardRing={index === activeIndex && listKeyboardRing}
1539
- suppressHover={activeIndex != null}
1540
- handlers={handlersRef}
1541
- />
1542
- ))
1543
- : groupedItems.map((item, _i) =>
1544
- item.type === "header" ? (
1545
- <GroupHeader key={`header-${item.label}`} color={textColor}>
1546
- {item.label}
1547
- </GroupHeader>
1548
- ) : (
1549
- <ComboboxItem
1550
- key={item.option.value}
1551
- option={item.option}
1552
- index={item.flatIndex}
1553
- optionId={comboboxOptionId(id, item.flatIndex)}
1554
- isSelected={isSelected(item.option.value)}
1555
- isActive={item.flatIndex === activeIndex}
1556
- keyboardRing={item.flatIndex === activeIndex && listKeyboardRing}
1557
- suppressHover={activeIndex != null}
1558
- handlers={handlersRef}
1559
- />
1560
- ),
1561
- )}
1580
+ {groupedItems.map((item) =>
1581
+ item.type === "header" ? (
1582
+ <GroupHeader
1583
+ key={`header-${item.label}`}
1584
+ color={textColor}
1585
+ data-combobox-group-header=""
1586
+ >
1587
+ {item.label}
1588
+ </GroupHeader>
1589
+ ) : (
1590
+ <ComboboxItem
1591
+ key={item.option.value}
1592
+ option={item.option}
1593
+ index={item.flatIndex}
1594
+ optionId={comboboxOptionId(id, item.flatIndex)}
1595
+ isSelected={isSelected(item.option.value)}
1596
+ isActive={item.flatIndex === activeIndex}
1597
+ keyboardRing={item.flatIndex === activeIndex && listKeyboardRing}
1598
+ suppressHover={activeIndex != null}
1599
+ handlers={handlersRef}
1600
+ />
1601
+ ),
1602
+ )}
1562
1603
  {showCreateOption && (
1563
1604
  <ComboboxRow
1564
1605
  role="option"
@@ -1747,6 +1788,7 @@ function NativeComboboxCore({
1747
1788
  trigger: triggerRender,
1748
1789
  knobProps,
1749
1790
  multiple,
1791
+ selectedOrder,
1750
1792
  dismissible,
1751
1793
  creatable,
1752
1794
  onCreate,
@@ -1760,6 +1802,7 @@ function NativeComboboxCore({
1760
1802
  const { t } = useTranslation();
1761
1803
  const inTableCell = useIsInTableCell();
1762
1804
  const describedBy = useFieldDescribedBy();
1805
+ const glyphColor = useGlyphColor();
1763
1806
  const [internalOpen, setInternalOpen] = useState(false);
1764
1807
  // Use external open state when provided (controlled), otherwise use internal state
1765
1808
  const open = openProp !== undefined ? openProp : internalOpen;
@@ -1787,6 +1830,7 @@ function NativeComboboxCore({
1787
1830
  const textColor = knobProps.textAccentColor;
1788
1831
  const theme = useTheme();
1789
1832
  const mutedColor = theme.color7?.val ?? "$color7";
1833
+ const markColor = useSelectedMarkColor();
1790
1834
 
1791
1835
  const labelCacheRef = useRef<Map<string, string>>(new Map());
1792
1836
  for (const o of options) labelCacheRef.current.set(o.value, o.label);
@@ -1867,17 +1911,23 @@ function NativeComboboxCore({
1867
1911
  const hasScrollableContent = Boolean(onSearch) || filtered.length > 6;
1868
1912
  const sheetTransition = knobProps.transition ?? "medium";
1869
1913
 
1870
- // Selected item(s) at top when filter empty (single + multi); reset to normal order when searching
1914
+ // Selected item(s) at top when filter empty (single + multi); `stable` never rearranges
1871
1915
  const sortedFiltered = useMemo(() => {
1872
1916
  if (filter.trim()) return filtered;
1873
1917
  const current = Array.isArray(value) ? value : value ? [value] : [];
1874
- if (current.length === 0) return filtered;
1875
- const first = filtered
1876
- .filter((o) => current.includes(o.value))
1877
- .sort((a, b) => getLabel(a.value).localeCompare(getLabel(b.value)));
1878
- const rest = filtered.filter((o) => !current.includes(o.value));
1879
- return [...first, ...rest];
1880
- }, [filtered, value, filter, getLabel]);
1918
+ return orderOptionsBySelected(filtered, current, selectedOrder);
1919
+ }, [filtered, value, filter, selectedOrder]);
1920
+
1921
+ // Same grouping the floating core uses (`groupComboboxOptions`, the mechanism
1922
+ // mpo-floating-measured.md §2.3 names as ours): rows cluster by group so each
1923
+ // group gets exactly ONE header. Rendering source order here emitted a repeat
1924
+ // header for interleaved groups and disagreed with the desktop panel for
1925
+ // identical props. `activeIndex` indexes `navigableOptions`, which IS the
1926
+ // render order, so arrows still land on the row the user sees (MPO-38 AC-6).
1927
+ const { flatOptions: navigableOptions } = useMemo(
1928
+ () => groupComboboxOptions(sortedFiltered),
1929
+ [sortedFiltered],
1930
+ );
1881
1931
 
1882
1932
  const searchCleanupRef = useRef<(() => void) | null>(null);
1883
1933
  useEffect(() => {
@@ -1903,8 +1953,8 @@ function NativeComboboxCore({
1903
1953
  }
1904
1954
  }, [open]);
1905
1955
 
1906
- const totalItems = sortedFiltered.length + (showCreateOption ? 1 : 0);
1907
- const createOptionIndex = showCreateOption ? sortedFiltered.length : -1;
1956
+ const totalItems = navigableOptions.length + (showCreateOption ? 1 : 0);
1957
+ const createOptionIndex = showCreateOption ? navigableOptions.length : -1;
1908
1958
  const listboxId = comboboxListboxId(id);
1909
1959
  const activeDescendant =
1910
1960
  open && activeIndex != null && activeIndex >= 0 ? comboboxOptionId(id, activeIndex) : undefined;
@@ -1989,8 +2039,8 @@ function NativeComboboxCore({
1989
2039
  e.preventDefault();
1990
2040
  if (activeIndex === createOptionIndex && showCreateOption) {
1991
2041
  handleCreate();
1992
- } else if (activeIndex != null && activeIndex >= 0 && sortedFiltered[activeIndex]) {
1993
- handleSelect(sortedFiltered[activeIndex]);
2042
+ } else if (activeIndex != null && activeIndex >= 0 && navigableOptions[activeIndex]) {
2043
+ handleSelect(navigableOptions[activeIndex]);
1994
2044
  if (e.key === "Enter" || !multiple) setOpen(false);
1995
2045
  }
1996
2046
  }
@@ -2000,7 +2050,7 @@ function NativeComboboxCore({
2000
2050
  createOptionIndex,
2001
2051
  showCreateOption,
2002
2052
  activeIndex,
2003
- sortedFiltered,
2053
+ navigableOptions,
2004
2054
  handleCreate,
2005
2055
  handleSelect,
2006
2056
  multiple,
@@ -2027,8 +2077,8 @@ function NativeComboboxCore({
2027
2077
  e.stopPropagation();
2028
2078
  if (activeIndex === createOptionIndex && showCreateOption) {
2029
2079
  handleCreate();
2030
- } else if (activeIndex != null && activeIndex >= 0 && sortedFiltered[activeIndex]) {
2031
- handleSelect(sortedFiltered[activeIndex]);
2080
+ } else if (activeIndex != null && activeIndex >= 0 && navigableOptions[activeIndex]) {
2081
+ handleSelect(navigableOptions[activeIndex]);
2032
2082
  if (e.key === "Enter" || !multiple) setOpen(false);
2033
2083
  } else {
2034
2084
  setOpen(false);
@@ -2042,7 +2092,7 @@ function NativeComboboxCore({
2042
2092
  activeIndex,
2043
2093
  createOptionIndex,
2044
2094
  showCreateOption,
2045
- sortedFiltered,
2095
+ navigableOptions,
2046
2096
  handleCreate,
2047
2097
  handleSelect,
2048
2098
  multiple,
@@ -2099,12 +2149,12 @@ function NativeComboboxCore({
2099
2149
  {searchError}
2100
2150
  </Text>
2101
2151
  </View>
2102
- ) : sortedFiltered.length > 0 ? (
2152
+ ) : navigableOptions.length > 0 ? (
2103
2153
  <>
2104
- {sortedFiltered.map((option, i) => {
2154
+ {navigableOptions.map((option, i) => {
2105
2155
  const selected = isSelectedFn(option.value);
2106
2156
  const active = i === activeIndex;
2107
- const prevGroup = i > 0 ? sortedFiltered[i - 1].group : undefined;
2157
+ const prevGroup = i > 0 ? navigableOptions[i - 1].group : undefined;
2108
2158
  const showGroupHeader = option.group && option.group !== prevGroup;
2109
2159
  const optionRow = (
2110
2160
  <View
@@ -2181,12 +2231,16 @@ function NativeComboboxCore({
2181
2231
  {option.label}
2182
2232
  </Text>
2183
2233
  )}
2184
- {selected && <CheckIcon size={14} />}
2234
+ {selected && <CheckIcon size={14} color={markColor} />}
2185
2235
  </View>
2186
2236
  );
2187
2237
  return (
2188
2238
  <View key={option.value}>
2189
- {showGroupHeader && <GroupHeader color={textColor}>{option.group}</GroupHeader>}
2239
+ {showGroupHeader && (
2240
+ <GroupHeader color={textColor} data-combobox-group-header="">
2241
+ {option.group}
2242
+ </GroupHeader>
2243
+ )}
2190
2244
  {isWeb ? (
2191
2245
  optionRow
2192
2246
  ) : (
@@ -2336,10 +2390,11 @@ function NativeComboboxCore({
2336
2390
  cursor={disabled ? "not-allowed" : "pointer"}
2337
2391
  disabled={disabled}
2338
2392
  size={knobProps.sizeToken}
2339
- // One surface owner (OVERLAY_ANCHOR_GAP rule): the open FloatingPanel
2340
- // covers this trigger (panel top = trigger top), so the trigger's outer
2341
- // focus ring must not paint — it would ghost around the panel's corners.
2342
- suppressFocusRing={open}
2393
+ // One surface owner: a single-value FloatingPanel COVERS this trigger
2394
+ // (panel top = trigger top), so the trigger's outer focus ring must not
2395
+ // paint — it would ghost around the panel's corners. A multi-select
2396
+ // panel attaches below instead (MPO-38), so it keeps its ring.
2397
+ suppressFocusRing={open && !multiple}
2343
2398
  {...(inTableCell
2344
2399
  ? // Chromeless in cells, but keep a ≥44px pressable target (SP-FIXED).
2345
2400
  { minHeight: 44 }
@@ -2448,7 +2503,7 @@ function NativeComboboxCore({
2448
2503
  </View>
2449
2504
  )}
2450
2505
  <View paddingInlineEnd="$2" alignSelf="center">
2451
- <CaretDownIcon size={16} />
2506
+ <CaretDownIcon size={16} color={glyphColor} />
2452
2507
  </View>
2453
2508
  </InputParts.Box>
2454
2509
  );
@@ -2529,6 +2584,7 @@ export function Combobox({
2529
2584
  popoverWidth,
2530
2585
  tabIndex: tabIndexProp,
2531
2586
  multiple,
2587
+ selectedOrder,
2532
2588
  dismissible,
2533
2589
  skeleton,
2534
2590
  compact,
@@ -2646,6 +2702,7 @@ export function Combobox({
2646
2702
  trigger={trigger}
2647
2703
  knobProps={knobProps}
2648
2704
  multiple={multiple}
2705
+ selectedOrder={selectedOrder}
2649
2706
  dismissible={dismissible}
2650
2707
  creatable={creatable}
2651
2708
  onCreate={onCreate}