@multiplatform.one/forms 6.7.0 → 7.0.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 (1100) hide show
  1. package/dist/cjs/AdaptivePopup/index.cjs +179 -46
  2. package/dist/cjs/AdaptivePopup/index.native.js +184 -48
  3. package/dist/cjs/AdaptivePopup/index.native.js.map +1 -1
  4. package/dist/cjs/Button/index.cjs +238 -63
  5. package/dist/cjs/Button/index.native.js +291 -83
  6. package/dist/cjs/Button/index.native.js.map +1 -1
  7. package/dist/cjs/Chip/index.cjs +291 -74
  8. package/dist/cjs/Chip/index.native.js +306 -73
  9. package/dist/cjs/Chip/index.native.js.map +1 -1
  10. package/dist/cjs/ControlGroup/index.cjs +144 -67
  11. package/dist/cjs/ControlGroup/index.native.js +141 -60
  12. package/dist/cjs/ControlGroup/index.native.js.map +1 -1
  13. package/dist/cjs/FieldDisplay/index.cjs +437 -91
  14. package/dist/cjs/FieldDisplay/index.native.js +455 -95
  15. package/dist/cjs/FieldDisplay/index.native.js.map +1 -1
  16. package/dist/cjs/FieldGroup.cjs +43 -40
  17. package/dist/cjs/FieldGroup.native.js +43 -40
  18. package/dist/cjs/FieldGroup.native.js.map +1 -1
  19. package/dist/cjs/FloatingPanel/index.cjs +79 -9
  20. package/dist/cjs/FloatingPanel/index.native.js +9 -7
  21. package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
  22. package/dist/cjs/FloatingPanel/useFloatingPanel.cjs +21 -5
  23. package/dist/cjs/FloatingPanel/useFloatingPanel.native.js +21 -5
  24. package/dist/cjs/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  25. package/dist/cjs/Form/index.cjs +49 -8
  26. package/dist/cjs/Form/index.native.js +50 -8
  27. package/dist/cjs/Form/index.native.js.map +1 -1
  28. package/dist/cjs/FormGrid.cjs +35 -6
  29. package/dist/cjs/FormGrid.native.js +35 -6
  30. package/dist/cjs/FormGrid.native.js.map +1 -1
  31. package/dist/cjs/FormSection.cjs +13 -6
  32. package/dist/cjs/FormSection.native.js +13 -6
  33. package/dist/cjs/FormSection.native.js.map +1 -1
  34. package/dist/cjs/InputParts/index.cjs +305 -77
  35. package/dist/cjs/InputParts/index.native.js +332 -84
  36. package/dist/cjs/InputParts/index.native.js.map +1 -1
  37. package/dist/cjs/Label/index.cjs +81 -4
  38. package/dist/cjs/Label/index.native.js +85 -4
  39. package/dist/cjs/Label/index.native.js.map +1 -1
  40. package/dist/cjs/Skeleton/index.cjs +14 -11
  41. package/dist/cjs/Skeleton/index.native.js +15 -12
  42. package/dist/cjs/Skeleton/index.native.js.map +1 -1
  43. package/dist/cjs/Spinner/SpinnerGlyph.cjs +75 -0
  44. package/dist/cjs/Spinner/SpinnerGlyph.native.js +81 -0
  45. package/dist/cjs/Spinner/SpinnerGlyph.native.js.map +1 -0
  46. package/dist/cjs/Spinner/index.cjs +26 -18
  47. package/dist/cjs/Spinner/index.native.js +53 -31
  48. package/dist/cjs/Spinner/index.native.js.map +1 -1
  49. package/dist/cjs/Spinner/spinnerSize.cjs +38 -0
  50. package/dist/cjs/Spinner/spinnerSize.native.js +41 -0
  51. package/dist/cjs/Spinner/spinnerSize.native.js.map +1 -0
  52. package/dist/cjs/fieldLayout.native.js.map +1 -1
  53. package/dist/cjs/fields/Barcode/BarcodeScanner.cjs +26 -8
  54. package/dist/cjs/fields/Barcode/BarcodeScanner.native.js +9 -3
  55. package/dist/cjs/fields/Barcode/BarcodeScanner.native.js.map +1 -1
  56. package/dist/cjs/fields/Barcode/index.cjs +90 -62
  57. package/dist/cjs/fields/Barcode/index.native.js +97 -62
  58. package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
  59. package/dist/cjs/fields/Barcode/scannerTypes.cjs +100 -1
  60. package/dist/cjs/fields/Barcode/scannerTypes.native.js +137 -0
  61. package/dist/cjs/fields/Barcode/scannerTypes.native.js.map +1 -1
  62. package/dist/cjs/fields/Checkbox/Checkbox.cjs +35 -88
  63. package/dist/cjs/fields/Checkbox/Checkbox.native.js +36 -88
  64. package/dist/cjs/fields/Checkbox/Checkbox.native.js.map +1 -1
  65. package/dist/cjs/fields/Checkbox/CheckboxBox.cjs +134 -0
  66. package/dist/cjs/fields/Checkbox/CheckboxBox.native.js +145 -0
  67. package/dist/cjs/fields/Checkbox/CheckboxBox.native.js.map +1 -0
  68. package/dist/cjs/fields/Checkbox/CheckboxCard.cjs +2 -2
  69. package/dist/cjs/fields/Checkbox/CheckboxCard.native.js +2 -2
  70. package/dist/cjs/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  71. package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.cjs +16 -36
  72. package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js +16 -36
  73. package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  74. package/dist/cjs/fields/Checkbox/CheckboxGroup.cjs +3 -2
  75. package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js +3 -2
  76. package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  77. package/dist/cjs/fields/Checkbox/index.cjs +50 -77
  78. package/dist/cjs/fields/Checkbox/index.native.js +52 -77
  79. package/dist/cjs/fields/Checkbox/index.native.js.map +1 -1
  80. package/dist/cjs/fields/ColorPicker/gradients.cjs +9 -4
  81. package/dist/cjs/fields/ColorPicker/gradients.native.js +37 -18
  82. package/dist/cjs/fields/ColorPicker/gradients.native.js.map +1 -1
  83. package/dist/cjs/fields/ColorPicker/index.cjs +77 -50
  84. package/dist/cjs/fields/ColorPicker/index.native.js +104 -55
  85. package/dist/cjs/fields/ColorPicker/index.native.js.map +1 -1
  86. package/dist/cjs/fields/ColorPicker/parts.cjs +425 -234
  87. package/dist/cjs/fields/ColorPicker/parts.native.js +447 -238
  88. package/dist/cjs/fields/ColorPicker/parts.native.js.map +1 -1
  89. package/dist/cjs/fields/Combobox/index.cjs +175 -45
  90. package/dist/cjs/fields/Combobox/index.native.js +180 -45
  91. package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
  92. package/dist/cjs/fields/DatePicker/Calendar.cjs +67 -170
  93. package/dist/cjs/fields/DatePicker/Calendar.native.js +71 -194
  94. package/dist/cjs/fields/DatePicker/Calendar.native.js.map +1 -1
  95. package/dist/cjs/fields/DatePicker/DateRangePicker.cjs +48 -119
  96. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js +53 -123
  97. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  98. package/dist/cjs/fields/DatePicker/DatetimePicker.cjs +67 -181
  99. package/dist/cjs/fields/DatePicker/DatetimePicker.native.js +73 -195
  100. package/dist/cjs/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  101. package/dist/cjs/fields/DatePicker/MonthPicker.cjs +59 -62
  102. package/dist/cjs/fields/DatePicker/MonthPicker.native.js +66 -64
  103. package/dist/cjs/fields/DatePicker/MonthPicker.native.js.map +1 -1
  104. package/dist/cjs/fields/DatePicker/MultiDatePicker.cjs +11 -77
  105. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js +20 -83
  106. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  107. package/dist/cjs/fields/DatePicker/index.cjs +11 -79
  108. package/dist/cjs/fields/DatePicker/index.native.js +22 -83
  109. package/dist/cjs/fields/DatePicker/index.native.js.map +1 -1
  110. package/dist/cjs/fields/DatePicker/parts.cjs +547 -181
  111. package/dist/cjs/fields/DatePicker/parts.native.js +575 -178
  112. package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
  113. package/dist/cjs/fields/Duration/index.cjs +314 -159
  114. package/dist/cjs/fields/Duration/index.native.js +345 -182
  115. package/dist/cjs/fields/Duration/index.native.js.map +1 -1
  116. package/dist/cjs/fields/FileUpload/index.cjs +146 -27
  117. package/dist/cjs/fields/FileUpload/index.native.js +161 -32
  118. package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
  119. package/dist/cjs/fields/Geolocation/GeolocationMap.cjs +115 -20
  120. package/dist/cjs/fields/Geolocation/GeolocationMap.native.js +11 -11
  121. package/dist/cjs/fields/Geolocation/GeolocationMap.native.js.map +1 -1
  122. package/dist/cjs/fields/Geolocation/index.cjs +125 -76
  123. package/dist/cjs/fields/Geolocation/index.native.js +134 -91
  124. package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
  125. package/dist/cjs/fields/Geolocation/mapMath.cjs +105 -0
  126. package/dist/cjs/fields/Geolocation/mapMath.native.js +108 -0
  127. package/dist/cjs/fields/Geolocation/mapMath.native.js.map +1 -0
  128. package/dist/cjs/fields/ImageField/index.cjs +306 -168
  129. package/dist/cjs/fields/ImageField/index.native.js +323 -181
  130. package/dist/cjs/fields/ImageField/index.native.js.map +1 -1
  131. package/dist/cjs/fields/Input/index.cjs +133 -121
  132. package/dist/cjs/fields/Input/index.native.js +133 -121
  133. package/dist/cjs/fields/Input/index.native.js.map +1 -1
  134. package/dist/cjs/fields/MentionInput/index.cjs +142 -27
  135. package/dist/cjs/fields/MentionInput/index.native.js +164 -39
  136. package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
  137. package/dist/cjs/fields/OTPInput/index.cjs +188 -58
  138. package/dist/cjs/fields/OTPInput/index.native.js +197 -53
  139. package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
  140. package/dist/cjs/fields/OTPInput/otpCellCss.cjs +84 -0
  141. package/dist/cjs/fields/OTPInput/otpCellCss.native.js +87 -0
  142. package/dist/cjs/fields/OTPInput/otpCellCss.native.js.map +1 -0
  143. package/dist/cjs/fields/PhoneInput/index.cjs +200 -105
  144. package/dist/cjs/fields/PhoneInput/index.native.js +241 -143
  145. package/dist/cjs/fields/PhoneInput/index.native.js.map +1 -1
  146. package/dist/cjs/fields/PhoneInput/phone.cjs +234 -0
  147. package/dist/cjs/fields/PhoneInput/phone.native.js +301 -0
  148. package/dist/cjs/fields/PhoneInput/phone.native.js.map +1 -0
  149. package/dist/cjs/fields/Progress/index.cjs +169 -52
  150. package/dist/cjs/fields/Progress/index.native.js +170 -50
  151. package/dist/cjs/fields/Progress/index.native.js.map +1 -1
  152. package/dist/cjs/fields/RadioGroup/index.cjs +138 -74
  153. package/dist/cjs/fields/RadioGroup/index.native.js +151 -82
  154. package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
  155. package/dist/cjs/fields/Rating/StarInk.cjs +41 -0
  156. package/dist/cjs/fields/Rating/StarInk.native.js +77 -0
  157. package/dist/cjs/fields/Rating/StarInk.native.js.map +1 -0
  158. package/dist/cjs/fields/Rating/index.cjs +154 -53
  159. package/dist/cjs/fields/Rating/index.native.js +162 -56
  160. package/dist/cjs/fields/Rating/index.native.js.map +1 -1
  161. package/dist/cjs/fields/Rating/types.cjs +18 -0
  162. package/dist/cjs/fields/Rating/types.native.js +21 -0
  163. package/dist/cjs/fields/Rating/types.native.js.map +1 -0
  164. package/dist/cjs/fields/SearchInput/index.cjs +192 -54
  165. package/dist/cjs/fields/SearchInput/index.native.js +195 -54
  166. package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
  167. package/dist/cjs/fields/Select/index.cjs +152 -24
  168. package/dist/cjs/fields/Select/index.native.js +168 -24
  169. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  170. package/dist/cjs/fields/Signature/index.cjs +143 -49
  171. package/dist/cjs/fields/Signature/index.native.js +152 -53
  172. package/dist/cjs/fields/Signature/index.native.js.map +1 -1
  173. package/dist/cjs/fields/Slider/index.cjs +224 -153
  174. package/dist/cjs/fields/Slider/index.native.js +249 -166
  175. package/dist/cjs/fields/Slider/index.native.js.map +1 -1
  176. package/dist/cjs/fields/Slider/jumpMotion.cjs +5 -11
  177. package/dist/cjs/fields/Slider/jumpMotion.native.js +5 -11
  178. package/dist/cjs/fields/Slider/jumpMotion.native.js.map +1 -1
  179. package/dist/cjs/fields/Stepper/index.cjs +272 -122
  180. package/dist/cjs/fields/Stepper/index.native.js +290 -125
  181. package/dist/cjs/fields/Stepper/index.native.js.map +1 -1
  182. package/dist/cjs/fields/Switch/index.cjs +174 -54
  183. package/dist/cjs/fields/Switch/index.native.js +186 -56
  184. package/dist/cjs/fields/Switch/index.native.js.map +1 -1
  185. package/dist/cjs/fields/TextArea/index.cjs +67 -21
  186. package/dist/cjs/fields/TextArea/index.native.js +75 -22
  187. package/dist/cjs/fields/TextArea/index.native.js.map +1 -1
  188. package/dist/cjs/fields/TimePicker/index.cjs +57 -248
  189. package/dist/cjs/fields/TimePicker/index.native.js +66 -276
  190. package/dist/cjs/fields/TimePicker/index.native.js.map +1 -1
  191. package/dist/cjs/fields/TimePicker/parts.cjs +648 -0
  192. package/dist/cjs/fields/TimePicker/parts.native.js +685 -0
  193. package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -0
  194. package/dist/cjs/fields/ToggleGroup/index.cjs +115 -106
  195. package/dist/cjs/fields/ToggleGroup/index.native.js +123 -116
  196. package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
  197. package/dist/cjs/formSpacing.native.js.map +1 -1
  198. package/dist/cjs/index.cjs +1 -0
  199. package/dist/cjs/index.native.js +1 -0
  200. package/dist/cjs/index.native.js.map +1 -1
  201. package/dist/cjs/shared/devWarn.cjs +1 -0
  202. package/dist/cjs/shared/devWarn.native.js +1 -0
  203. package/dist/cjs/shared/devWarn.native.js.map +1 -1
  204. package/dist/cjs/shared/focusManagement.cjs +9 -2
  205. package/dist/cjs/shared/focusManagement.native.js +9 -2
  206. package/dist/cjs/shared/focusManagement.native.js.map +1 -1
  207. package/dist/cjs/shared/i18n.cjs +46 -0
  208. package/dist/cjs/shared/i18n.native.js +52 -0
  209. package/dist/cjs/shared/i18n.native.js.map +1 -0
  210. package/dist/cjs/shared/utils.cjs +3 -2
  211. package/dist/cjs/shared/utils.native.js +3 -2
  212. package/dist/cjs/shared/utils.native.js.map +1 -1
  213. package/dist/cjs/themedPrimitives.cjs +12 -24
  214. package/dist/cjs/themedPrimitives.native.js +12 -24
  215. package/dist/cjs/themedPrimitives.native.js.map +1 -1
  216. package/dist/esm/AdaptivePopup/index.mjs +182 -49
  217. package/dist/esm/AdaptivePopup/index.mjs.map +1 -1
  218. package/dist/esm/AdaptivePopup/index.native.js +187 -51
  219. package/dist/esm/AdaptivePopup/index.native.js.map +1 -1
  220. package/dist/esm/Button/index.mjs +238 -68
  221. package/dist/esm/Button/index.mjs.map +1 -1
  222. package/dist/esm/Button/index.native.js +291 -88
  223. package/dist/esm/Button/index.native.js.map +1 -1
  224. package/dist/esm/Chip/index.mjs +293 -78
  225. package/dist/esm/Chip/index.mjs.map +1 -1
  226. package/dist/esm/Chip/index.native.js +308 -77
  227. package/dist/esm/Chip/index.native.js.map +1 -1
  228. package/dist/esm/ControlGroup/index.mjs +145 -69
  229. package/dist/esm/ControlGroup/index.mjs.map +1 -1
  230. package/dist/esm/ControlGroup/index.native.js +143 -63
  231. package/dist/esm/ControlGroup/index.native.js.map +1 -1
  232. package/dist/esm/FieldDisplay/index.mjs +439 -93
  233. package/dist/esm/FieldDisplay/index.mjs.map +1 -1
  234. package/dist/esm/FieldDisplay/index.native.js +457 -97
  235. package/dist/esm/FieldDisplay/index.native.js.map +1 -1
  236. package/dist/esm/FieldGroup.mjs +43 -40
  237. package/dist/esm/FieldGroup.mjs.map +1 -1
  238. package/dist/esm/FieldGroup.native.js +43 -40
  239. package/dist/esm/FieldGroup.native.js.map +1 -1
  240. package/dist/esm/FloatingPanel/index.mjs +80 -10
  241. package/dist/esm/FloatingPanel/index.mjs.map +1 -1
  242. package/dist/esm/FloatingPanel/index.native.js +10 -8
  243. package/dist/esm/FloatingPanel/index.native.js.map +1 -1
  244. package/dist/esm/FloatingPanel/useFloatingPanel.mjs +22 -7
  245. package/dist/esm/FloatingPanel/useFloatingPanel.mjs.map +1 -1
  246. package/dist/esm/FloatingPanel/useFloatingPanel.native.js +22 -7
  247. package/dist/esm/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  248. package/dist/esm/Form/index.mjs +51 -11
  249. package/dist/esm/Form/index.mjs.map +1 -1
  250. package/dist/esm/Form/index.native.js +52 -11
  251. package/dist/esm/Form/index.native.js.map +1 -1
  252. package/dist/esm/FormGrid.mjs +35 -6
  253. package/dist/esm/FormGrid.mjs.map +1 -1
  254. package/dist/esm/FormGrid.native.js +35 -6
  255. package/dist/esm/FormGrid.native.js.map +1 -1
  256. package/dist/esm/FormSection.mjs +13 -6
  257. package/dist/esm/FormSection.mjs.map +1 -1
  258. package/dist/esm/FormSection.native.js +13 -6
  259. package/dist/esm/FormSection.native.js.map +1 -1
  260. package/dist/esm/InputParts/index.mjs +304 -80
  261. package/dist/esm/InputParts/index.mjs.map +1 -1
  262. package/dist/esm/InputParts/index.native.js +331 -87
  263. package/dist/esm/InputParts/index.native.js.map +1 -1
  264. package/dist/esm/Label/index.mjs +83 -6
  265. package/dist/esm/Label/index.mjs.map +1 -1
  266. package/dist/esm/Label/index.native.js +87 -6
  267. package/dist/esm/Label/index.native.js.map +1 -1
  268. package/dist/esm/Skeleton/index.mjs +15 -12
  269. package/dist/esm/Skeleton/index.mjs.map +1 -1
  270. package/dist/esm/Skeleton/index.native.js +16 -13
  271. package/dist/esm/Skeleton/index.native.js.map +1 -1
  272. package/dist/esm/Spinner/SpinnerGlyph.mjs +49 -0
  273. package/dist/esm/Spinner/SpinnerGlyph.mjs.map +1 -0
  274. package/dist/esm/Spinner/SpinnerGlyph.native.js +52 -0
  275. package/dist/esm/Spinner/SpinnerGlyph.native.js.map +1 -0
  276. package/dist/esm/Spinner/index.mjs +26 -18
  277. package/dist/esm/Spinner/index.mjs.map +1 -1
  278. package/dist/esm/Spinner/index.native.js +50 -28
  279. package/dist/esm/Spinner/index.native.js.map +1 -1
  280. package/dist/esm/Spinner/spinnerSize.mjs +12 -0
  281. package/dist/esm/Spinner/spinnerSize.mjs.map +1 -0
  282. package/dist/esm/Spinner/spinnerSize.native.js +12 -0
  283. package/dist/esm/Spinner/spinnerSize.native.js.map +1 -0
  284. package/dist/esm/fieldLayout.mjs.map +1 -1
  285. package/dist/esm/fieldLayout.native.js.map +1 -1
  286. package/dist/esm/fields/Barcode/BarcodeScanner.mjs +27 -9
  287. package/dist/esm/fields/Barcode/BarcodeScanner.mjs.map +1 -1
  288. package/dist/esm/fields/Barcode/BarcodeScanner.native.js +9 -3
  289. package/dist/esm/fields/Barcode/BarcodeScanner.native.js.map +1 -1
  290. package/dist/esm/fields/Barcode/index.mjs +93 -65
  291. package/dist/esm/fields/Barcode/index.mjs.map +1 -1
  292. package/dist/esm/fields/Barcode/index.native.js +100 -65
  293. package/dist/esm/fields/Barcode/index.native.js.map +1 -1
  294. package/dist/esm/fields/Barcode/scannerTypes.mjs +88 -1
  295. package/dist/esm/fields/Barcode/scannerTypes.mjs.map +1 -1
  296. package/dist/esm/fields/Barcode/scannerTypes.native.js +126 -1
  297. package/dist/esm/fields/Barcode/scannerTypes.native.js.map +1 -1
  298. package/dist/esm/fields/Checkbox/Checkbox.mjs +38 -91
  299. package/dist/esm/fields/Checkbox/Checkbox.mjs.map +1 -1
  300. package/dist/esm/fields/Checkbox/Checkbox.native.js +39 -91
  301. package/dist/esm/fields/Checkbox/Checkbox.native.js.map +1 -1
  302. package/dist/esm/fields/Checkbox/CheckboxBox.mjs +103 -0
  303. package/dist/esm/fields/Checkbox/CheckboxBox.mjs.map +1 -0
  304. package/dist/esm/fields/Checkbox/CheckboxBox.native.js +111 -0
  305. package/dist/esm/fields/Checkbox/CheckboxBox.native.js.map +1 -0
  306. package/dist/esm/fields/Checkbox/CheckboxCard.mjs +2 -2
  307. package/dist/esm/fields/Checkbox/CheckboxCard.mjs.map +1 -1
  308. package/dist/esm/fields/Checkbox/CheckboxCard.native.js +2 -2
  309. package/dist/esm/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  310. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.mjs +16 -36
  311. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.mjs.map +1 -1
  312. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.native.js +16 -36
  313. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  314. package/dist/esm/fields/Checkbox/CheckboxGroup.mjs +3 -2
  315. package/dist/esm/fields/Checkbox/CheckboxGroup.mjs.map +1 -1
  316. package/dist/esm/fields/Checkbox/CheckboxGroup.native.js +3 -2
  317. package/dist/esm/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  318. package/dist/esm/fields/Checkbox/index.mjs +54 -81
  319. package/dist/esm/fields/Checkbox/index.mjs.map +1 -1
  320. package/dist/esm/fields/Checkbox/index.native.js +56 -81
  321. package/dist/esm/fields/Checkbox/index.native.js.map +1 -1
  322. package/dist/esm/fields/ColorPicker/gradients.mjs +9 -4
  323. package/dist/esm/fields/ColorPicker/gradients.mjs.map +1 -1
  324. package/dist/esm/fields/ColorPicker/gradients.native.js +37 -18
  325. package/dist/esm/fields/ColorPicker/gradients.native.js.map +1 -1
  326. package/dist/esm/fields/ColorPicker/index.mjs +81 -54
  327. package/dist/esm/fields/ColorPicker/index.mjs.map +1 -1
  328. package/dist/esm/fields/ColorPicker/index.native.js +108 -59
  329. package/dist/esm/fields/ColorPicker/index.native.js.map +1 -1
  330. package/dist/esm/fields/ColorPicker/parts.mjs +425 -237
  331. package/dist/esm/fields/ColorPicker/parts.mjs.map +1 -1
  332. package/dist/esm/fields/ColorPicker/parts.native.js +447 -241
  333. package/dist/esm/fields/ColorPicker/parts.native.js.map +1 -1
  334. package/dist/esm/fields/Combobox/index.mjs +172 -42
  335. package/dist/esm/fields/Combobox/index.mjs.map +1 -1
  336. package/dist/esm/fields/Combobox/index.native.js +177 -42
  337. package/dist/esm/fields/Combobox/index.native.js.map +1 -1
  338. package/dist/esm/fields/DatePicker/Calendar.mjs +69 -172
  339. package/dist/esm/fields/DatePicker/Calendar.mjs.map +1 -1
  340. package/dist/esm/fields/DatePicker/Calendar.native.js +73 -196
  341. package/dist/esm/fields/DatePicker/Calendar.native.js.map +1 -1
  342. package/dist/esm/fields/DatePicker/DateRangePicker.mjs +52 -123
  343. package/dist/esm/fields/DatePicker/DateRangePicker.mjs.map +1 -1
  344. package/dist/esm/fields/DatePicker/DateRangePicker.native.js +57 -127
  345. package/dist/esm/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  346. package/dist/esm/fields/DatePicker/DatetimePicker.mjs +71 -185
  347. package/dist/esm/fields/DatePicker/DatetimePicker.mjs.map +1 -1
  348. package/dist/esm/fields/DatePicker/DatetimePicker.native.js +77 -199
  349. package/dist/esm/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  350. package/dist/esm/fields/DatePicker/MonthPicker.mjs +60 -63
  351. package/dist/esm/fields/DatePicker/MonthPicker.mjs.map +1 -1
  352. package/dist/esm/fields/DatePicker/MonthPicker.native.js +67 -65
  353. package/dist/esm/fields/DatePicker/MonthPicker.native.js.map +1 -1
  354. package/dist/esm/fields/DatePicker/MultiDatePicker.mjs +14 -80
  355. package/dist/esm/fields/DatePicker/MultiDatePicker.mjs.map +1 -1
  356. package/dist/esm/fields/DatePicker/MultiDatePicker.native.js +23 -86
  357. package/dist/esm/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  358. package/dist/esm/fields/DatePicker/index.mjs +13 -81
  359. package/dist/esm/fields/DatePicker/index.mjs.map +1 -1
  360. package/dist/esm/fields/DatePicker/index.native.js +24 -85
  361. package/dist/esm/fields/DatePicker/index.native.js.map +1 -1
  362. package/dist/esm/fields/DatePicker/parts.mjs +542 -184
  363. package/dist/esm/fields/DatePicker/parts.mjs.map +1 -1
  364. package/dist/esm/fields/DatePicker/parts.native.js +570 -181
  365. package/dist/esm/fields/DatePicker/parts.native.js.map +1 -1
  366. package/dist/esm/fields/Duration/index.mjs +313 -162
  367. package/dist/esm/fields/Duration/index.mjs.map +1 -1
  368. package/dist/esm/fields/Duration/index.native.js +344 -185
  369. package/dist/esm/fields/Duration/index.native.js.map +1 -1
  370. package/dist/esm/fields/FileUpload/index.mjs +146 -27
  371. package/dist/esm/fields/FileUpload/index.mjs.map +1 -1
  372. package/dist/esm/fields/FileUpload/index.native.js +161 -32
  373. package/dist/esm/fields/FileUpload/index.native.js.map +1 -1
  374. package/dist/esm/fields/Geolocation/GeolocationMap.mjs +116 -21
  375. package/dist/esm/fields/Geolocation/GeolocationMap.mjs.map +1 -1
  376. package/dist/esm/fields/Geolocation/GeolocationMap.native.js +10 -10
  377. package/dist/esm/fields/Geolocation/GeolocationMap.native.js.map +1 -1
  378. package/dist/esm/fields/Geolocation/index.mjs +127 -78
  379. package/dist/esm/fields/Geolocation/index.mjs.map +1 -1
  380. package/dist/esm/fields/Geolocation/index.native.js +136 -93
  381. package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
  382. package/dist/esm/fields/Geolocation/mapMath.mjs +72 -0
  383. package/dist/esm/fields/Geolocation/mapMath.mjs.map +1 -0
  384. package/dist/esm/fields/Geolocation/mapMath.native.js +72 -0
  385. package/dist/esm/fields/Geolocation/mapMath.native.js.map +1 -0
  386. package/dist/esm/fields/ImageField/index.mjs +311 -173
  387. package/dist/esm/fields/ImageField/index.mjs.map +1 -1
  388. package/dist/esm/fields/ImageField/index.native.js +328 -186
  389. package/dist/esm/fields/ImageField/index.native.js.map +1 -1
  390. package/dist/esm/fields/Input/index.mjs +136 -124
  391. package/dist/esm/fields/Input/index.mjs.map +1 -1
  392. package/dist/esm/fields/Input/index.native.js +136 -124
  393. package/dist/esm/fields/Input/index.native.js.map +1 -1
  394. package/dist/esm/fields/MentionInput/index.mjs +143 -28
  395. package/dist/esm/fields/MentionInput/index.mjs.map +1 -1
  396. package/dist/esm/fields/MentionInput/index.native.js +165 -40
  397. package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
  398. package/dist/esm/fields/OTPInput/index.mjs +187 -58
  399. package/dist/esm/fields/OTPInput/index.mjs.map +1 -1
  400. package/dist/esm/fields/OTPInput/index.native.js +196 -53
  401. package/dist/esm/fields/OTPInput/index.native.js.map +1 -1
  402. package/dist/esm/fields/OTPInput/otpCellCss.mjs +59 -0
  403. package/dist/esm/fields/OTPInput/otpCellCss.mjs.map +1 -0
  404. package/dist/esm/fields/OTPInput/otpCellCss.native.js +59 -0
  405. package/dist/esm/fields/OTPInput/otpCellCss.native.js.map +1 -0
  406. package/dist/esm/fields/PhoneInput/index.mjs +208 -113
  407. package/dist/esm/fields/PhoneInput/index.mjs.map +1 -1
  408. package/dist/esm/fields/PhoneInput/index.native.js +249 -151
  409. package/dist/esm/fields/PhoneInput/index.native.js.map +1 -1
  410. package/dist/esm/fields/PhoneInput/phone.mjs +196 -0
  411. package/dist/esm/fields/PhoneInput/phone.mjs.map +1 -0
  412. package/dist/esm/fields/PhoneInput/phone.native.js +260 -0
  413. package/dist/esm/fields/PhoneInput/phone.native.js.map +1 -0
  414. package/dist/esm/fields/Progress/index.mjs +173 -56
  415. package/dist/esm/fields/Progress/index.mjs.map +1 -1
  416. package/dist/esm/fields/Progress/index.native.js +174 -54
  417. package/dist/esm/fields/Progress/index.native.js.map +1 -1
  418. package/dist/esm/fields/RadioGroup/index.mjs +138 -74
  419. package/dist/esm/fields/RadioGroup/index.mjs.map +1 -1
  420. package/dist/esm/fields/RadioGroup/index.native.js +151 -82
  421. package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
  422. package/dist/esm/fields/Rating/StarInk.mjs +16 -0
  423. package/dist/esm/fields/Rating/StarInk.mjs.map +1 -0
  424. package/dist/esm/fields/Rating/StarInk.native.js +48 -0
  425. package/dist/esm/fields/Rating/StarInk.native.js.map +1 -0
  426. package/dist/esm/fields/Rating/index.mjs +157 -45
  427. package/dist/esm/fields/Rating/index.mjs.map +1 -1
  428. package/dist/esm/fields/Rating/index.native.js +165 -48
  429. package/dist/esm/fields/Rating/index.native.js.map +1 -1
  430. package/dist/esm/fields/Rating/types.mjs +2 -0
  431. package/dist/esm/fields/Rating/types.mjs.map +1 -0
  432. package/dist/esm/fields/Rating/types.native.js +2 -0
  433. package/dist/esm/fields/Rating/types.native.js.map +1 -0
  434. package/dist/esm/fields/SearchInput/index.mjs +195 -57
  435. package/dist/esm/fields/SearchInput/index.mjs.map +1 -1
  436. package/dist/esm/fields/SearchInput/index.native.js +198 -57
  437. package/dist/esm/fields/SearchInput/index.native.js.map +1 -1
  438. package/dist/esm/fields/Select/index.mjs +155 -27
  439. package/dist/esm/fields/Select/index.mjs.map +1 -1
  440. package/dist/esm/fields/Select/index.native.js +171 -27
  441. package/dist/esm/fields/Select/index.native.js.map +1 -1
  442. package/dist/esm/fields/Signature/index.mjs +145 -40
  443. package/dist/esm/fields/Signature/index.mjs.map +1 -1
  444. package/dist/esm/fields/Signature/index.native.js +154 -44
  445. package/dist/esm/fields/Signature/index.native.js.map +1 -1
  446. package/dist/esm/fields/Slider/index.mjs +227 -156
  447. package/dist/esm/fields/Slider/index.mjs.map +1 -1
  448. package/dist/esm/fields/Slider/index.native.js +252 -169
  449. package/dist/esm/fields/Slider/index.native.js.map +1 -1
  450. package/dist/esm/fields/Slider/jumpMotion.mjs +5 -11
  451. package/dist/esm/fields/Slider/jumpMotion.mjs.map +1 -1
  452. package/dist/esm/fields/Slider/jumpMotion.native.js +5 -11
  453. package/dist/esm/fields/Slider/jumpMotion.native.js.map +1 -1
  454. package/dist/esm/fields/Stepper/index.mjs +252 -102
  455. package/dist/esm/fields/Stepper/index.mjs.map +1 -1
  456. package/dist/esm/fields/Stepper/index.native.js +268 -103
  457. package/dist/esm/fields/Stepper/index.native.js.map +1 -1
  458. package/dist/esm/fields/Switch/index.mjs +176 -56
  459. package/dist/esm/fields/Switch/index.mjs.map +1 -1
  460. package/dist/esm/fields/Switch/index.native.js +188 -58
  461. package/dist/esm/fields/Switch/index.native.js.map +1 -1
  462. package/dist/esm/fields/TextArea/index.mjs +67 -21
  463. package/dist/esm/fields/TextArea/index.mjs.map +1 -1
  464. package/dist/esm/fields/TextArea/index.native.js +75 -22
  465. package/dist/esm/fields/TextArea/index.native.js.map +1 -1
  466. package/dist/esm/fields/TimePicker/index.mjs +51 -246
  467. package/dist/esm/fields/TimePicker/index.mjs.map +1 -1
  468. package/dist/esm/fields/TimePicker/index.native.js +60 -274
  469. package/dist/esm/fields/TimePicker/index.native.js.map +1 -1
  470. package/dist/esm/fields/TimePicker/parts.mjs +615 -0
  471. package/dist/esm/fields/TimePicker/parts.mjs.map +1 -0
  472. package/dist/esm/fields/TimePicker/parts.native.js +649 -0
  473. package/dist/esm/fields/TimePicker/parts.native.js.map +1 -0
  474. package/dist/esm/fields/ToggleGroup/index.mjs +119 -110
  475. package/dist/esm/fields/ToggleGroup/index.mjs.map +1 -1
  476. package/dist/esm/fields/ToggleGroup/index.native.js +127 -120
  477. package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
  478. package/dist/esm/formSpacing.mjs.map +1 -1
  479. package/dist/esm/formSpacing.native.js.map +1 -1
  480. package/dist/esm/index.mjs +2 -2
  481. package/dist/esm/index.mjs.map +1 -1
  482. package/dist/esm/index.native.js +2 -2
  483. package/dist/esm/index.native.js.map +1 -1
  484. package/dist/esm/shared/devWarn.mjs +2 -2
  485. package/dist/esm/shared/devWarn.mjs.map +1 -1
  486. package/dist/esm/shared/devWarn.native.js +2 -2
  487. package/dist/esm/shared/devWarn.native.js.map +1 -1
  488. package/dist/esm/shared/focusManagement.mjs +9 -2
  489. package/dist/esm/shared/focusManagement.mjs.map +1 -1
  490. package/dist/esm/shared/focusManagement.native.js +9 -2
  491. package/dist/esm/shared/focusManagement.native.js.map +1 -1
  492. package/dist/esm/shared/i18n.mjs +10 -0
  493. package/dist/esm/shared/i18n.mjs.map +1 -0
  494. package/dist/esm/shared/i18n.native.js +13 -0
  495. package/dist/esm/shared/i18n.native.js.map +1 -0
  496. package/dist/esm/shared/utils.mjs +5 -4
  497. package/dist/esm/shared/utils.mjs.map +1 -1
  498. package/dist/esm/shared/utils.native.js +5 -4
  499. package/dist/esm/shared/utils.native.js.map +1 -1
  500. package/dist/esm/themedPrimitives.mjs +13 -25
  501. package/dist/esm/themedPrimitives.mjs.map +1 -1
  502. package/dist/esm/themedPrimitives.native.js +13 -25
  503. package/dist/esm/themedPrimitives.native.js.map +1 -1
  504. package/dist/jsx/AdaptivePopup/index.mjs +182 -49
  505. package/dist/jsx/AdaptivePopup/index.mjs.map +1 -1
  506. package/dist/jsx/AdaptivePopup/index.native.js +184 -48
  507. package/dist/jsx/AdaptivePopup/index.native.js.map +1 -1
  508. package/dist/jsx/Button/index.mjs +238 -68
  509. package/dist/jsx/Button/index.mjs.map +1 -1
  510. package/dist/jsx/Button/index.native.js +291 -83
  511. package/dist/jsx/Button/index.native.js.map +1 -1
  512. package/dist/jsx/Chip/index.mjs +293 -78
  513. package/dist/jsx/Chip/index.mjs.map +1 -1
  514. package/dist/jsx/Chip/index.native.js +306 -73
  515. package/dist/jsx/Chip/index.native.js.map +1 -1
  516. package/dist/jsx/ControlGroup/index.mjs +145 -69
  517. package/dist/jsx/ControlGroup/index.mjs.map +1 -1
  518. package/dist/jsx/ControlGroup/index.native.js +141 -60
  519. package/dist/jsx/ControlGroup/index.native.js.map +1 -1
  520. package/dist/jsx/FieldDisplay/index.mjs +439 -93
  521. package/dist/jsx/FieldDisplay/index.mjs.map +1 -1
  522. package/dist/jsx/FieldDisplay/index.native.js +455 -95
  523. package/dist/jsx/FieldDisplay/index.native.js.map +1 -1
  524. package/dist/jsx/FieldGroup.mjs +43 -40
  525. package/dist/jsx/FieldGroup.mjs.map +1 -1
  526. package/dist/jsx/FieldGroup.native.js +43 -40
  527. package/dist/jsx/FieldGroup.native.js.map +1 -1
  528. package/dist/jsx/FloatingPanel/index.mjs +80 -10
  529. package/dist/jsx/FloatingPanel/index.mjs.map +1 -1
  530. package/dist/jsx/FloatingPanel/index.native.js +9 -7
  531. package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
  532. package/dist/jsx/FloatingPanel/useFloatingPanel.mjs +22 -7
  533. package/dist/jsx/FloatingPanel/useFloatingPanel.mjs.map +1 -1
  534. package/dist/jsx/FloatingPanel/useFloatingPanel.native.js +21 -5
  535. package/dist/jsx/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  536. package/dist/jsx/Form/index.mjs +51 -11
  537. package/dist/jsx/Form/index.mjs.map +1 -1
  538. package/dist/jsx/Form/index.native.js +50 -8
  539. package/dist/jsx/Form/index.native.js.map +1 -1
  540. package/dist/jsx/FormGrid.mjs +35 -6
  541. package/dist/jsx/FormGrid.mjs.map +1 -1
  542. package/dist/jsx/FormGrid.native.js +35 -6
  543. package/dist/jsx/FormGrid.native.js.map +1 -1
  544. package/dist/jsx/FormSection.mjs +13 -6
  545. package/dist/jsx/FormSection.mjs.map +1 -1
  546. package/dist/jsx/FormSection.native.js +13 -6
  547. package/dist/jsx/FormSection.native.js.map +1 -1
  548. package/dist/jsx/InputParts/index.mjs +304 -80
  549. package/dist/jsx/InputParts/index.mjs.map +1 -1
  550. package/dist/jsx/InputParts/index.native.js +332 -84
  551. package/dist/jsx/InputParts/index.native.js.map +1 -1
  552. package/dist/jsx/Label/index.mjs +83 -6
  553. package/dist/jsx/Label/index.mjs.map +1 -1
  554. package/dist/jsx/Label/index.native.js +85 -4
  555. package/dist/jsx/Label/index.native.js.map +1 -1
  556. package/dist/jsx/Skeleton/index.mjs +15 -12
  557. package/dist/jsx/Skeleton/index.mjs.map +1 -1
  558. package/dist/jsx/Skeleton/index.native.js +15 -12
  559. package/dist/jsx/Skeleton/index.native.js.map +1 -1
  560. package/dist/jsx/Spinner/SpinnerGlyph.mjs +49 -0
  561. package/dist/jsx/Spinner/SpinnerGlyph.mjs.map +1 -0
  562. package/dist/jsx/Spinner/SpinnerGlyph.native.js +81 -0
  563. package/dist/jsx/Spinner/SpinnerGlyph.native.js.map +1 -0
  564. package/dist/jsx/Spinner/index.mjs +26 -18
  565. package/dist/jsx/Spinner/index.mjs.map +1 -1
  566. package/dist/jsx/Spinner/index.native.js +53 -31
  567. package/dist/jsx/Spinner/index.native.js.map +1 -1
  568. package/dist/jsx/Spinner/spinnerSize.mjs +12 -0
  569. package/dist/jsx/Spinner/spinnerSize.mjs.map +1 -0
  570. package/dist/jsx/Spinner/spinnerSize.native.js +41 -0
  571. package/dist/jsx/Spinner/spinnerSize.native.js.map +1 -0
  572. package/dist/jsx/fieldLayout.mjs.map +1 -1
  573. package/dist/jsx/fieldLayout.native.js.map +1 -1
  574. package/dist/jsx/fields/Barcode/BarcodeScanner.mjs +27 -9
  575. package/dist/jsx/fields/Barcode/BarcodeScanner.mjs.map +1 -1
  576. package/dist/jsx/fields/Barcode/BarcodeScanner.native.js +9 -3
  577. package/dist/jsx/fields/Barcode/BarcodeScanner.native.js.map +1 -1
  578. package/dist/jsx/fields/Barcode/index.mjs +93 -65
  579. package/dist/jsx/fields/Barcode/index.mjs.map +1 -1
  580. package/dist/jsx/fields/Barcode/index.native.js +97 -62
  581. package/dist/jsx/fields/Barcode/index.native.js.map +1 -1
  582. package/dist/jsx/fields/Barcode/scannerTypes.mjs +88 -1
  583. package/dist/jsx/fields/Barcode/scannerTypes.mjs.map +1 -1
  584. package/dist/jsx/fields/Barcode/scannerTypes.native.js +137 -0
  585. package/dist/jsx/fields/Barcode/scannerTypes.native.js.map +1 -1
  586. package/dist/jsx/fields/Checkbox/Checkbox.mjs +38 -91
  587. package/dist/jsx/fields/Checkbox/Checkbox.mjs.map +1 -1
  588. package/dist/jsx/fields/Checkbox/Checkbox.native.js +36 -88
  589. package/dist/jsx/fields/Checkbox/Checkbox.native.js.map +1 -1
  590. package/dist/jsx/fields/Checkbox/CheckboxBox.mjs +103 -0
  591. package/dist/jsx/fields/Checkbox/CheckboxBox.mjs.map +1 -0
  592. package/dist/jsx/fields/Checkbox/CheckboxBox.native.js +145 -0
  593. package/dist/jsx/fields/Checkbox/CheckboxBox.native.js.map +1 -0
  594. package/dist/jsx/fields/Checkbox/CheckboxCard.mjs +2 -2
  595. package/dist/jsx/fields/Checkbox/CheckboxCard.mjs.map +1 -1
  596. package/dist/jsx/fields/Checkbox/CheckboxCard.native.js +2 -2
  597. package/dist/jsx/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  598. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.mjs +16 -36
  599. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.mjs.map +1 -1
  600. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.native.js +16 -36
  601. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  602. package/dist/jsx/fields/Checkbox/CheckboxGroup.mjs +3 -2
  603. package/dist/jsx/fields/Checkbox/CheckboxGroup.mjs.map +1 -1
  604. package/dist/jsx/fields/Checkbox/CheckboxGroup.native.js +3 -2
  605. package/dist/jsx/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  606. package/dist/jsx/fields/Checkbox/index.mjs +54 -81
  607. package/dist/jsx/fields/Checkbox/index.mjs.map +1 -1
  608. package/dist/jsx/fields/Checkbox/index.native.js +52 -77
  609. package/dist/jsx/fields/Checkbox/index.native.js.map +1 -1
  610. package/dist/jsx/fields/ColorPicker/gradients.mjs +9 -4
  611. package/dist/jsx/fields/ColorPicker/gradients.mjs.map +1 -1
  612. package/dist/jsx/fields/ColorPicker/gradients.native.js +37 -18
  613. package/dist/jsx/fields/ColorPicker/gradients.native.js.map +1 -1
  614. package/dist/jsx/fields/ColorPicker/index.mjs +81 -54
  615. package/dist/jsx/fields/ColorPicker/index.mjs.map +1 -1
  616. package/dist/jsx/fields/ColorPicker/index.native.js +104 -55
  617. package/dist/jsx/fields/ColorPicker/index.native.js.map +1 -1
  618. package/dist/jsx/fields/ColorPicker/parts.mjs +425 -237
  619. package/dist/jsx/fields/ColorPicker/parts.mjs.map +1 -1
  620. package/dist/jsx/fields/ColorPicker/parts.native.js +447 -238
  621. package/dist/jsx/fields/ColorPicker/parts.native.js.map +1 -1
  622. package/dist/jsx/fields/Combobox/index.mjs +172 -42
  623. package/dist/jsx/fields/Combobox/index.mjs.map +1 -1
  624. package/dist/jsx/fields/Combobox/index.native.js +180 -45
  625. package/dist/jsx/fields/Combobox/index.native.js.map +1 -1
  626. package/dist/jsx/fields/DatePicker/Calendar.mjs +69 -172
  627. package/dist/jsx/fields/DatePicker/Calendar.mjs.map +1 -1
  628. package/dist/jsx/fields/DatePicker/Calendar.native.js +71 -194
  629. package/dist/jsx/fields/DatePicker/Calendar.native.js.map +1 -1
  630. package/dist/jsx/fields/DatePicker/DateRangePicker.mjs +52 -123
  631. package/dist/jsx/fields/DatePicker/DateRangePicker.mjs.map +1 -1
  632. package/dist/jsx/fields/DatePicker/DateRangePicker.native.js +53 -123
  633. package/dist/jsx/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  634. package/dist/jsx/fields/DatePicker/DatetimePicker.mjs +71 -185
  635. package/dist/jsx/fields/DatePicker/DatetimePicker.mjs.map +1 -1
  636. package/dist/jsx/fields/DatePicker/DatetimePicker.native.js +73 -195
  637. package/dist/jsx/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  638. package/dist/jsx/fields/DatePicker/MonthPicker.mjs +60 -63
  639. package/dist/jsx/fields/DatePicker/MonthPicker.mjs.map +1 -1
  640. package/dist/jsx/fields/DatePicker/MonthPicker.native.js +66 -64
  641. package/dist/jsx/fields/DatePicker/MonthPicker.native.js.map +1 -1
  642. package/dist/jsx/fields/DatePicker/MultiDatePicker.mjs +14 -80
  643. package/dist/jsx/fields/DatePicker/MultiDatePicker.mjs.map +1 -1
  644. package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js +20 -83
  645. package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  646. package/dist/jsx/fields/DatePicker/index.mjs +13 -81
  647. package/dist/jsx/fields/DatePicker/index.mjs.map +1 -1
  648. package/dist/jsx/fields/DatePicker/index.native.js +22 -83
  649. package/dist/jsx/fields/DatePicker/index.native.js.map +1 -1
  650. package/dist/jsx/fields/DatePicker/parts.mjs +542 -184
  651. package/dist/jsx/fields/DatePicker/parts.mjs.map +1 -1
  652. package/dist/jsx/fields/DatePicker/parts.native.js +575 -178
  653. package/dist/jsx/fields/DatePicker/parts.native.js.map +1 -1
  654. package/dist/jsx/fields/Duration/index.mjs +313 -162
  655. package/dist/jsx/fields/Duration/index.mjs.map +1 -1
  656. package/dist/jsx/fields/Duration/index.native.js +345 -182
  657. package/dist/jsx/fields/Duration/index.native.js.map +1 -1
  658. package/dist/jsx/fields/FileUpload/index.mjs +146 -27
  659. package/dist/jsx/fields/FileUpload/index.mjs.map +1 -1
  660. package/dist/jsx/fields/FileUpload/index.native.js +161 -32
  661. package/dist/jsx/fields/FileUpload/index.native.js.map +1 -1
  662. package/dist/jsx/fields/Geolocation/GeolocationMap.mjs +116 -21
  663. package/dist/jsx/fields/Geolocation/GeolocationMap.mjs.map +1 -1
  664. package/dist/jsx/fields/Geolocation/GeolocationMap.native.js +11 -11
  665. package/dist/jsx/fields/Geolocation/GeolocationMap.native.js.map +1 -1
  666. package/dist/jsx/fields/Geolocation/index.mjs +127 -78
  667. package/dist/jsx/fields/Geolocation/index.mjs.map +1 -1
  668. package/dist/jsx/fields/Geolocation/index.native.js +134 -91
  669. package/dist/jsx/fields/Geolocation/index.native.js.map +1 -1
  670. package/dist/jsx/fields/Geolocation/mapMath.mjs +72 -0
  671. package/dist/jsx/fields/Geolocation/mapMath.mjs.map +1 -0
  672. package/dist/jsx/fields/Geolocation/mapMath.native.js +108 -0
  673. package/dist/jsx/fields/Geolocation/mapMath.native.js.map +1 -0
  674. package/dist/jsx/fields/ImageField/index.mjs +311 -173
  675. package/dist/jsx/fields/ImageField/index.mjs.map +1 -1
  676. package/dist/jsx/fields/ImageField/index.native.js +323 -181
  677. package/dist/jsx/fields/ImageField/index.native.js.map +1 -1
  678. package/dist/jsx/fields/Input/index.mjs +136 -124
  679. package/dist/jsx/fields/Input/index.mjs.map +1 -1
  680. package/dist/jsx/fields/Input/index.native.js +133 -121
  681. package/dist/jsx/fields/Input/index.native.js.map +1 -1
  682. package/dist/jsx/fields/MentionInput/index.mjs +143 -28
  683. package/dist/jsx/fields/MentionInput/index.mjs.map +1 -1
  684. package/dist/jsx/fields/MentionInput/index.native.js +164 -39
  685. package/dist/jsx/fields/MentionInput/index.native.js.map +1 -1
  686. package/dist/jsx/fields/OTPInput/index.mjs +187 -58
  687. package/dist/jsx/fields/OTPInput/index.mjs.map +1 -1
  688. package/dist/jsx/fields/OTPInput/index.native.js +197 -53
  689. package/dist/jsx/fields/OTPInput/index.native.js.map +1 -1
  690. package/dist/jsx/fields/OTPInput/otpCellCss.mjs +59 -0
  691. package/dist/jsx/fields/OTPInput/otpCellCss.mjs.map +1 -0
  692. package/dist/jsx/fields/OTPInput/otpCellCss.native.js +87 -0
  693. package/dist/jsx/fields/OTPInput/otpCellCss.native.js.map +1 -0
  694. package/dist/jsx/fields/PhoneInput/index.mjs +208 -113
  695. package/dist/jsx/fields/PhoneInput/index.mjs.map +1 -1
  696. package/dist/jsx/fields/PhoneInput/index.native.js +241 -143
  697. package/dist/jsx/fields/PhoneInput/index.native.js.map +1 -1
  698. package/dist/jsx/fields/PhoneInput/phone.mjs +196 -0
  699. package/dist/jsx/fields/PhoneInput/phone.mjs.map +1 -0
  700. package/dist/jsx/fields/PhoneInput/phone.native.js +301 -0
  701. package/dist/jsx/fields/PhoneInput/phone.native.js.map +1 -0
  702. package/dist/jsx/fields/Progress/index.mjs +173 -56
  703. package/dist/jsx/fields/Progress/index.mjs.map +1 -1
  704. package/dist/jsx/fields/Progress/index.native.js +170 -50
  705. package/dist/jsx/fields/Progress/index.native.js.map +1 -1
  706. package/dist/jsx/fields/RadioGroup/index.mjs +138 -74
  707. package/dist/jsx/fields/RadioGroup/index.mjs.map +1 -1
  708. package/dist/jsx/fields/RadioGroup/index.native.js +151 -82
  709. package/dist/jsx/fields/RadioGroup/index.native.js.map +1 -1
  710. package/dist/jsx/fields/Rating/StarInk.mjs +16 -0
  711. package/dist/jsx/fields/Rating/StarInk.mjs.map +1 -0
  712. package/dist/jsx/fields/Rating/StarInk.native.js +77 -0
  713. package/dist/jsx/fields/Rating/StarInk.native.js.map +1 -0
  714. package/dist/jsx/fields/Rating/index.mjs +157 -45
  715. package/dist/jsx/fields/Rating/index.mjs.map +1 -1
  716. package/dist/jsx/fields/Rating/index.native.js +162 -56
  717. package/dist/jsx/fields/Rating/index.native.js.map +1 -1
  718. package/dist/jsx/fields/Rating/types.mjs +2 -0
  719. package/dist/jsx/fields/Rating/types.mjs.map +1 -0
  720. package/dist/jsx/fields/Rating/types.native.js +21 -0
  721. package/dist/jsx/fields/Rating/types.native.js.map +1 -0
  722. package/dist/jsx/fields/SearchInput/index.mjs +195 -57
  723. package/dist/jsx/fields/SearchInput/index.mjs.map +1 -1
  724. package/dist/jsx/fields/SearchInput/index.native.js +195 -54
  725. package/dist/jsx/fields/SearchInput/index.native.js.map +1 -1
  726. package/dist/jsx/fields/Select/index.mjs +155 -27
  727. package/dist/jsx/fields/Select/index.mjs.map +1 -1
  728. package/dist/jsx/fields/Select/index.native.js +168 -24
  729. package/dist/jsx/fields/Select/index.native.js.map +1 -1
  730. package/dist/jsx/fields/Signature/index.mjs +145 -40
  731. package/dist/jsx/fields/Signature/index.mjs.map +1 -1
  732. package/dist/jsx/fields/Signature/index.native.js +152 -53
  733. package/dist/jsx/fields/Signature/index.native.js.map +1 -1
  734. package/dist/jsx/fields/Slider/index.mjs +227 -156
  735. package/dist/jsx/fields/Slider/index.mjs.map +1 -1
  736. package/dist/jsx/fields/Slider/index.native.js +249 -166
  737. package/dist/jsx/fields/Slider/index.native.js.map +1 -1
  738. package/dist/jsx/fields/Slider/jumpMotion.mjs +5 -11
  739. package/dist/jsx/fields/Slider/jumpMotion.mjs.map +1 -1
  740. package/dist/jsx/fields/Slider/jumpMotion.native.js +5 -11
  741. package/dist/jsx/fields/Slider/jumpMotion.native.js.map +1 -1
  742. package/dist/jsx/fields/Stepper/index.mjs +252 -102
  743. package/dist/jsx/fields/Stepper/index.mjs.map +1 -1
  744. package/dist/jsx/fields/Stepper/index.native.js +290 -125
  745. package/dist/jsx/fields/Stepper/index.native.js.map +1 -1
  746. package/dist/jsx/fields/Switch/index.mjs +176 -56
  747. package/dist/jsx/fields/Switch/index.mjs.map +1 -1
  748. package/dist/jsx/fields/Switch/index.native.js +186 -56
  749. package/dist/jsx/fields/Switch/index.native.js.map +1 -1
  750. package/dist/jsx/fields/TextArea/index.mjs +67 -21
  751. package/dist/jsx/fields/TextArea/index.mjs.map +1 -1
  752. package/dist/jsx/fields/TextArea/index.native.js +75 -22
  753. package/dist/jsx/fields/TextArea/index.native.js.map +1 -1
  754. package/dist/jsx/fields/TimePicker/index.mjs +51 -246
  755. package/dist/jsx/fields/TimePicker/index.mjs.map +1 -1
  756. package/dist/jsx/fields/TimePicker/index.native.js +66 -276
  757. package/dist/jsx/fields/TimePicker/index.native.js.map +1 -1
  758. package/dist/jsx/fields/TimePicker/parts.mjs +615 -0
  759. package/dist/jsx/fields/TimePicker/parts.mjs.map +1 -0
  760. package/dist/jsx/fields/TimePicker/parts.native.js +685 -0
  761. package/dist/jsx/fields/TimePicker/parts.native.js.map +1 -0
  762. package/dist/jsx/fields/ToggleGroup/index.mjs +119 -110
  763. package/dist/jsx/fields/ToggleGroup/index.mjs.map +1 -1
  764. package/dist/jsx/fields/ToggleGroup/index.native.js +123 -116
  765. package/dist/jsx/fields/ToggleGroup/index.native.js.map +1 -1
  766. package/dist/jsx/formSpacing.mjs.map +1 -1
  767. package/dist/jsx/formSpacing.native.js.map +1 -1
  768. package/dist/jsx/index.js +2 -2
  769. package/dist/jsx/index.js.map +1 -1
  770. package/dist/jsx/index.mjs +2 -2
  771. package/dist/jsx/index.mjs.map +1 -1
  772. package/dist/jsx/index.native.js +1 -0
  773. package/dist/jsx/index.native.js.map +1 -1
  774. package/dist/jsx/shared/devWarn.mjs +2 -2
  775. package/dist/jsx/shared/devWarn.mjs.map +1 -1
  776. package/dist/jsx/shared/devWarn.native.js +1 -0
  777. package/dist/jsx/shared/devWarn.native.js.map +1 -1
  778. package/dist/jsx/shared/focusManagement.mjs +9 -2
  779. package/dist/jsx/shared/focusManagement.mjs.map +1 -1
  780. package/dist/jsx/shared/focusManagement.native.js +9 -2
  781. package/dist/jsx/shared/focusManagement.native.js.map +1 -1
  782. package/dist/jsx/shared/i18n.mjs +10 -0
  783. package/dist/jsx/shared/i18n.mjs.map +1 -0
  784. package/dist/jsx/shared/i18n.native.js +52 -0
  785. package/dist/jsx/shared/i18n.native.js.map +1 -0
  786. package/dist/jsx/shared/utils.mjs +5 -4
  787. package/dist/jsx/shared/utils.mjs.map +1 -1
  788. package/dist/jsx/shared/utils.native.js +3 -2
  789. package/dist/jsx/shared/utils.native.js.map +1 -1
  790. package/dist/jsx/themedPrimitives.mjs +13 -25
  791. package/dist/jsx/themedPrimitives.mjs.map +1 -1
  792. package/dist/jsx/themedPrimitives.native.js +12 -24
  793. package/dist/jsx/themedPrimitives.native.js.map +1 -1
  794. package/package.json +16 -16
  795. package/src/AdaptivePopup/AdaptivePopup.spec.tsx +210 -0
  796. package/src/AdaptivePopup/index.tsx +187 -52
  797. package/src/Button/Button.lc18.spec.tsx +134 -0
  798. package/src/Button/Button.lc50.spec.tsx +73 -0
  799. package/src/Button/Button.lc71.spec.tsx +109 -0
  800. package/src/Button/Button.spec.tsx +128 -0
  801. package/src/Button/Button.stories.tsx +40 -0
  802. package/src/Button/index.tsx +355 -73
  803. package/src/Chip/Chip.spec.tsx +173 -1
  804. package/src/Chip/index.tsx +425 -64
  805. package/src/ControlGroup/ControlGroup.stories.tsx +46 -3
  806. package/src/ControlGroup/index.tsx +179 -74
  807. package/src/FieldDisplay/FieldDisplay.spec.tsx +121 -0
  808. package/src/FieldDisplay/FieldDisplay.stories.tsx +16 -5
  809. package/src/FieldDisplay/index.tsx +416 -102
  810. package/src/FieldGroup.tsx +46 -42
  811. package/src/FloatingPanel/FloatingPanel.spec.tsx +263 -0
  812. package/src/FloatingPanel/FloatingPanel.stories.tsx +10 -39
  813. package/src/FloatingPanel/index.native.tsx +9 -8
  814. package/src/FloatingPanel/index.tsx +139 -11
  815. package/src/FloatingPanel/useFloatingPanel.spec.tsx +59 -0
  816. package/src/FloatingPanel/useFloatingPanel.ts +58 -7
  817. package/src/Form/Form.stories.tsx +181 -130
  818. package/src/Form/form.spec.tsx +43 -1
  819. package/src/Form/index.tsx +67 -12
  820. package/src/FormGrid.spec.tsx +41 -0
  821. package/src/FormGrid.stories.tsx +3 -4
  822. package/src/FormGrid.tsx +55 -15
  823. package/src/FormSection.tsx +14 -7
  824. package/src/InputParts/index.spec.tsx +62 -1
  825. package/src/InputParts/index.tsx +375 -72
  826. package/src/Label/Label.spec.tsx +65 -0
  827. package/src/Label/Label.stories.tsx +75 -5
  828. package/src/Label/index.tsx +101 -6
  829. package/src/Skeleton/index.tsx +18 -8
  830. package/src/Spinner/Spinner.spec.tsx +66 -0
  831. package/src/Spinner/Spinner.stories.tsx +43 -14
  832. package/src/Spinner/SpinnerGlyph.tsx +38 -0
  833. package/src/Spinner/index.native.tsx +64 -0
  834. package/src/Spinner/index.tsx +30 -37
  835. package/src/Spinner/spinnerSize.ts +27 -0
  836. package/src/fieldLayout.tsx +6 -0
  837. package/src/fields/Barcode/Barcode.spec.tsx +91 -1
  838. package/src/fields/Barcode/Barcode.stories.tsx +13 -0
  839. package/src/fields/Barcode/BarcodeScanner.native.tsx +6 -17
  840. package/src/fields/Barcode/BarcodeScanner.tsx +37 -6
  841. package/src/fields/Barcode/index.tsx +111 -66
  842. package/src/fields/Barcode/scannerTypes.ts +130 -0
  843. package/src/fields/Checkbox/Checkbox.spec.tsx +84 -3
  844. package/src/fields/Checkbox/Checkbox.tsx +52 -99
  845. package/src/fields/Checkbox/CheckboxBox.tsx +139 -0
  846. package/src/fields/Checkbox/CheckboxCard.tsx +1 -1
  847. package/src/fields/Checkbox/CheckboxFieldFrame.tsx +14 -30
  848. package/src/fields/Checkbox/CheckboxGroup.tsx +8 -2
  849. package/src/fields/Checkbox/index.tsx +49 -82
  850. package/src/fields/ColorPicker/ColorPicker.spec.tsx +84 -2
  851. package/src/fields/ColorPicker/ColorPicker.stories.tsx +1 -1
  852. package/src/fields/ColorPicker/gradients.native.tsx +23 -5
  853. package/src/fields/ColorPicker/gradients.tsx +20 -5
  854. package/src/fields/ColorPicker/index.tsx +95 -71
  855. package/src/fields/ColorPicker/parts.tsx +498 -229
  856. package/src/fields/Combobox/Combobox.spec.tsx +33 -1
  857. package/src/fields/Combobox/index.tsx +219 -59
  858. package/src/fields/DatePicker/Calendar.spec.tsx +34 -0
  859. package/src/fields/DatePicker/Calendar.tsx +70 -200
  860. package/src/fields/DatePicker/DatePicker.spec.tsx +28 -1
  861. package/src/fields/DatePicker/DatePicker.stories.tsx +1 -1
  862. package/src/fields/DatePicker/DateRangePicker.spec.tsx +22 -1
  863. package/src/fields/DatePicker/DateRangePicker.stories.tsx +1 -1
  864. package/src/fields/DatePicker/DateRangePicker.tsx +55 -128
  865. package/src/fields/DatePicker/DatetimePicker.spec.tsx +14 -0
  866. package/src/fields/DatePicker/DatetimePicker.stories.tsx +1 -1
  867. package/src/fields/DatePicker/DatetimePicker.tsx +86 -224
  868. package/src/fields/DatePicker/MonthPicker.spec.tsx +44 -0
  869. package/src/fields/DatePicker/MonthPicker.stories.tsx +1 -1
  870. package/src/fields/DatePicker/MonthPicker.tsx +69 -62
  871. package/src/fields/DatePicker/MultiDatePicker.spec.tsx +22 -1
  872. package/src/fields/DatePicker/MultiDatePicker.stories.tsx +1 -1
  873. package/src/fields/DatePicker/MultiDatePicker.tsx +20 -90
  874. package/src/fields/DatePicker/index.tsx +23 -95
  875. package/src/fields/DatePicker/parts.tsx +583 -241
  876. package/src/fields/Duration/Duration.spec.tsx +58 -3
  877. package/src/fields/Duration/Duration.stories.tsx +20 -44
  878. package/src/fields/Duration/index.tsx +381 -183
  879. package/src/fields/FileUpload/FileUpload.spec.tsx +63 -1
  880. package/src/fields/FileUpload/index.tsx +163 -27
  881. package/src/fields/Geolocation/Geolocation.spec.tsx +144 -0
  882. package/src/fields/Geolocation/Geolocation.stories.tsx +11 -6
  883. package/src/fields/Geolocation/GeolocationMap.native.spec.tsx +7 -0
  884. package/src/fields/Geolocation/GeolocationMap.native.tsx +24 -19
  885. package/src/fields/Geolocation/GeolocationMap.tsx +134 -18
  886. package/src/fields/Geolocation/index.tsx +171 -120
  887. package/src/fields/Geolocation/mapMath.spec.ts +59 -0
  888. package/src/fields/Geolocation/mapMath.ts +91 -0
  889. package/src/fields/Geolocation/mapTypes.ts +7 -2
  890. package/src/fields/ImageField/ImageField.spec.tsx +68 -0
  891. package/src/fields/ImageField/ImageField.stories.tsx +40 -24
  892. package/src/fields/ImageField/index.tsx +381 -214
  893. package/src/fields/Input/Input.spec.tsx +111 -0
  894. package/src/fields/Input/Input.stories.tsx +37 -4
  895. package/src/fields/Input/index.tsx +139 -108
  896. package/src/fields/MentionInput/MentionInput.spec.tsx +115 -0
  897. package/src/fields/MentionInput/MentionInput.stories.tsx +1 -1
  898. package/src/fields/MentionInput/index.tsx +220 -69
  899. package/src/fields/OTPInput/OtpInput.spec.tsx +58 -1
  900. package/src/fields/OTPInput/OtpInput.stories.tsx +14 -18
  901. package/src/fields/OTPInput/index.tsx +220 -72
  902. package/src/fields/OTPInput/otpCellCss.ts +68 -0
  903. package/src/fields/PhoneInput/PhoneInput.spec.tsx +61 -8
  904. package/src/fields/PhoneInput/PhoneInput.stories.tsx +0 -2
  905. package/src/fields/PhoneInput/index.tsx +253 -140
  906. package/src/fields/PhoneInput/phone.spec.ts +85 -0
  907. package/src/fields/PhoneInput/phone.ts +268 -0
  908. package/src/fields/Progress/Progress.spec.tsx +53 -0
  909. package/src/fields/Progress/Progress.stories.tsx +7 -2
  910. package/src/fields/Progress/index.tsx +202 -64
  911. package/src/fields/RadioGroup/RadioGroup.spec.tsx +31 -4
  912. package/src/fields/RadioGroup/index.tsx +183 -93
  913. package/src/fields/Rating/Rating.spec.tsx +103 -0
  914. package/src/fields/Rating/Rating.stories.tsx +2 -1
  915. package/src/fields/Rating/StarInk.native.spec.tsx +175 -0
  916. package/src/fields/Rating/StarInk.native.tsx +77 -0
  917. package/src/fields/Rating/StarInk.tsx +23 -0
  918. package/src/fields/Rating/index.tsx +196 -46
  919. package/src/fields/Rating/types.ts +28 -0
  920. package/src/fields/SearchInput/SearchInput.spec.tsx +30 -0
  921. package/src/fields/SearchInput/SearchInput.stories.tsx +10 -1
  922. package/src/fields/SearchInput/index.tsx +207 -68
  923. package/src/fields/Select/Select.spec.tsx +55 -1
  924. package/src/fields/Select/index.tsx +172 -22
  925. package/src/fields/Signature/Signature.spec.tsx +122 -3
  926. package/src/fields/Signature/index.tsx +170 -54
  927. package/src/fields/Slider/Slider.spec.tsx +63 -21
  928. package/src/fields/Slider/index.tsx +282 -184
  929. package/src/fields/Slider/jumpMotion.ts +9 -25
  930. package/src/fields/Stepper/Stepper.spec.tsx +96 -0
  931. package/src/fields/Stepper/Stepper.stories.tsx +4 -6
  932. package/src/fields/Stepper/index.tsx +321 -129
  933. package/src/fields/Switch/Switch.spec.tsx +52 -3
  934. package/src/fields/Switch/Switch.stories.tsx +34 -0
  935. package/src/fields/Switch/index.tsx +234 -57
  936. package/src/fields/TextArea/TextArea.spec.tsx +38 -0
  937. package/src/fields/TextArea/TextArea.stories.tsx +11 -1
  938. package/src/fields/TextArea/index.tsx +79 -20
  939. package/src/fields/TimePicker/TimePicker.spec.tsx +66 -0
  940. package/src/fields/TimePicker/TimePicker.stories.tsx +8 -37
  941. package/src/fields/TimePicker/index.tsx +86 -292
  942. package/src/fields/TimePicker/parts.tsx +714 -0
  943. package/src/fields/ToggleGroup/ToggleGroup.spec.tsx +27 -0
  944. package/src/fields/ToggleGroup/ToggleGroup.stories.tsx +15 -0
  945. package/src/fields/ToggleGroup/index.tsx +144 -153
  946. package/src/formSpacing.ts +3 -8
  947. package/src/index.ts +2 -0
  948. package/src/shared/devWarn.ts +1 -0
  949. package/src/shared/focusManagement.ts +8 -2
  950. package/src/shared/i18n.ts +25 -0
  951. package/src/shared/utils.ts +5 -6
  952. package/src/themedPrimitives.tsx +14 -17
  953. package/types/AdaptivePopup/index.d.ts.map +1 -1
  954. package/types/Button/index.d.ts +51 -1
  955. package/types/Button/index.d.ts.map +1 -1
  956. package/types/Chip/index.d.ts +31 -7
  957. package/types/Chip/index.d.ts.map +1 -1
  958. package/types/ControlGroup/index.d.ts +14 -1
  959. package/types/ControlGroup/index.d.ts.map +1 -1
  960. package/types/FieldDisplay/index.d.ts +10 -12
  961. package/types/FieldDisplay/index.d.ts.map +1 -1
  962. package/types/FieldGroup.d.ts +10 -4
  963. package/types/FieldGroup.d.ts.map +1 -1
  964. package/types/FloatingPanel/index.d.ts.map +1 -1
  965. package/types/FloatingPanel/index.native.d.ts.map +1 -1
  966. package/types/FloatingPanel/useFloatingPanel.d.ts +10 -1
  967. package/types/FloatingPanel/useFloatingPanel.d.ts.map +1 -1
  968. package/types/Form/index.d.ts +18 -1
  969. package/types/Form/index.d.ts.map +1 -1
  970. package/types/FormGrid.d.ts +8 -3
  971. package/types/FormGrid.d.ts.map +1 -1
  972. package/types/FormSection.d.ts +3 -1
  973. package/types/FormSection.d.ts.map +1 -1
  974. package/types/InputParts/index.d.ts +61 -13
  975. package/types/InputParts/index.d.ts.map +1 -1
  976. package/types/Label/index.d.ts +16 -4
  977. package/types/Label/index.d.ts.map +1 -1
  978. package/types/Skeleton/index.d.ts.map +1 -1
  979. package/types/Spinner/SpinnerGlyph.d.ts +7 -0
  980. package/types/Spinner/SpinnerGlyph.d.ts.map +1 -0
  981. package/types/Spinner/index.d.ts +3 -6
  982. package/types/Spinner/index.d.ts.map +1 -1
  983. package/types/Spinner/index.native.d.ts +5 -0
  984. package/types/Spinner/index.native.d.ts.map +1 -0
  985. package/types/Spinner/spinnerSize.d.ts +16 -0
  986. package/types/Spinner/spinnerSize.d.ts.map +1 -0
  987. package/types/fieldLayout.d.ts.map +1 -1
  988. package/types/fields/Barcode/BarcodeScanner.d.ts +1 -1
  989. package/types/fields/Barcode/BarcodeScanner.d.ts.map +1 -1
  990. package/types/fields/Barcode/BarcodeScanner.native.d.ts +1 -1
  991. package/types/fields/Barcode/BarcodeScanner.native.d.ts.map +1 -1
  992. package/types/fields/Barcode/index.d.ts +2 -2
  993. package/types/fields/Barcode/index.d.ts.map +1 -1
  994. package/types/fields/Barcode/scannerTypes.d.ts +21 -0
  995. package/types/fields/Barcode/scannerTypes.d.ts.map +1 -1
  996. package/types/fields/Checkbox/Checkbox.d.ts.map +1 -1
  997. package/types/fields/Checkbox/CheckboxBox.d.ts +71 -0
  998. package/types/fields/Checkbox/CheckboxBox.d.ts.map +1 -0
  999. package/types/fields/Checkbox/CheckboxFieldFrame.d.ts +2 -2
  1000. package/types/fields/Checkbox/CheckboxFieldFrame.d.ts.map +1 -1
  1001. package/types/fields/Checkbox/CheckboxGroup.d.ts +1 -1
  1002. package/types/fields/Checkbox/CheckboxGroup.d.ts.map +1 -1
  1003. package/types/fields/Checkbox/index.d.ts +4 -4
  1004. package/types/fields/Checkbox/index.d.ts.map +1 -1
  1005. package/types/fields/ColorPicker/gradients.d.ts +4 -2
  1006. package/types/fields/ColorPicker/gradients.d.ts.map +1 -1
  1007. package/types/fields/ColorPicker/gradients.native.d.ts +4 -2
  1008. package/types/fields/ColorPicker/gradients.native.d.ts.map +1 -1
  1009. package/types/fields/ColorPicker/index.d.ts +1 -1
  1010. package/types/fields/ColorPicker/index.d.ts.map +1 -1
  1011. package/types/fields/ColorPicker/parts.d.ts +19 -4
  1012. package/types/fields/ColorPicker/parts.d.ts.map +1 -1
  1013. package/types/fields/Combobox/index.d.ts.map +1 -1
  1014. package/types/fields/DatePicker/Calendar.d.ts.map +1 -1
  1015. package/types/fields/DatePicker/DateRangePicker.d.ts +1 -1
  1016. package/types/fields/DatePicker/DateRangePicker.d.ts.map +1 -1
  1017. package/types/fields/DatePicker/DatetimePicker.d.ts +1 -1
  1018. package/types/fields/DatePicker/DatetimePicker.d.ts.map +1 -1
  1019. package/types/fields/DatePicker/MonthPicker.d.ts +1 -1
  1020. package/types/fields/DatePicker/MonthPicker.d.ts.map +1 -1
  1021. package/types/fields/DatePicker/MultiDatePicker.d.ts +1 -1
  1022. package/types/fields/DatePicker/MultiDatePicker.d.ts.map +1 -1
  1023. package/types/fields/DatePicker/index.d.ts +1 -1
  1024. package/types/fields/DatePicker/index.d.ts.map +1 -1
  1025. package/types/fields/DatePicker/parts.d.ts +52 -118
  1026. package/types/fields/DatePicker/parts.d.ts.map +1 -1
  1027. package/types/fields/Duration/index.d.ts +25 -6
  1028. package/types/fields/Duration/index.d.ts.map +1 -1
  1029. package/types/fields/FileUpload/index.d.ts +1 -1
  1030. package/types/fields/FileUpload/index.d.ts.map +1 -1
  1031. package/types/fields/Geolocation/GeolocationMap.d.ts +5 -5
  1032. package/types/fields/Geolocation/GeolocationMap.d.ts.map +1 -1
  1033. package/types/fields/Geolocation/GeolocationMap.native.d.ts +1 -1
  1034. package/types/fields/Geolocation/GeolocationMap.native.d.ts.map +1 -1
  1035. package/types/fields/Geolocation/index.d.ts +1 -1
  1036. package/types/fields/Geolocation/index.d.ts.map +1 -1
  1037. package/types/fields/Geolocation/mapMath.d.ts +41 -0
  1038. package/types/fields/Geolocation/mapMath.d.ts.map +1 -0
  1039. package/types/fields/Geolocation/mapTypes.d.ts +7 -2
  1040. package/types/fields/Geolocation/mapTypes.d.ts.map +1 -1
  1041. package/types/fields/ImageField/index.d.ts +9 -8
  1042. package/types/fields/ImageField/index.d.ts.map +1 -1
  1043. package/types/fields/Input/index.d.ts +38 -9
  1044. package/types/fields/Input/index.d.ts.map +1 -1
  1045. package/types/fields/MentionInput/index.d.ts +1 -1
  1046. package/types/fields/MentionInput/index.d.ts.map +1 -1
  1047. package/types/fields/OTPInput/index.d.ts +6 -0
  1048. package/types/fields/OTPInput/index.d.ts.map +1 -1
  1049. package/types/fields/OTPInput/otpCellCss.d.ts +3 -0
  1050. package/types/fields/OTPInput/otpCellCss.d.ts.map +1 -0
  1051. package/types/fields/PhoneInput/index.d.ts +1 -3
  1052. package/types/fields/PhoneInput/index.d.ts.map +1 -1
  1053. package/types/fields/PhoneInput/phone.d.ts +25 -0
  1054. package/types/fields/PhoneInput/phone.d.ts.map +1 -0
  1055. package/types/fields/Progress/index.d.ts +7 -2
  1056. package/types/fields/Progress/index.d.ts.map +1 -1
  1057. package/types/fields/RadioGroup/index.d.ts +2 -2
  1058. package/types/fields/RadioGroup/index.d.ts.map +1 -1
  1059. package/types/fields/Rating/StarInk.d.ts +15 -0
  1060. package/types/fields/Rating/StarInk.d.ts.map +1 -0
  1061. package/types/fields/Rating/StarInk.native.d.ts +49 -0
  1062. package/types/fields/Rating/StarInk.native.d.ts.map +1 -0
  1063. package/types/fields/Rating/index.d.ts +1 -1
  1064. package/types/fields/Rating/index.d.ts.map +1 -1
  1065. package/types/fields/Rating/types.d.ts +27 -0
  1066. package/types/fields/Rating/types.d.ts.map +1 -0
  1067. package/types/fields/SearchInput/index.d.ts +5 -3
  1068. package/types/fields/SearchInput/index.d.ts.map +1 -1
  1069. package/types/fields/Select/index.d.ts.map +1 -1
  1070. package/types/fields/Signature/index.d.ts +1 -1
  1071. package/types/fields/Signature/index.d.ts.map +1 -1
  1072. package/types/fields/Slider/index.d.ts +1 -1
  1073. package/types/fields/Slider/index.d.ts.map +1 -1
  1074. package/types/fields/Slider/jumpMotion.d.ts +7 -17
  1075. package/types/fields/Slider/jumpMotion.d.ts.map +1 -1
  1076. package/types/fields/Stepper/index.d.ts +8 -1
  1077. package/types/fields/Stepper/index.d.ts.map +1 -1
  1078. package/types/fields/Switch/index.d.ts +9 -1
  1079. package/types/fields/Switch/index.d.ts.map +1 -1
  1080. package/types/fields/TextArea/index.d.ts +1 -1
  1081. package/types/fields/TextArea/index.d.ts.map +1 -1
  1082. package/types/fields/TimePicker/index.d.ts +4 -3
  1083. package/types/fields/TimePicker/index.d.ts.map +1 -1
  1084. package/types/fields/TimePicker/parts.d.ts +51 -0
  1085. package/types/fields/TimePicker/parts.d.ts.map +1 -0
  1086. package/types/fields/ToggleGroup/index.d.ts +1 -1
  1087. package/types/fields/ToggleGroup/index.d.ts.map +1 -1
  1088. package/types/formSpacing.d.ts +3 -8
  1089. package/types/formSpacing.d.ts.map +1 -1
  1090. package/types/index.d.ts +2 -2
  1091. package/types/index.d.ts.map +1 -1
  1092. package/types/shared/devWarn.d.ts +1 -1
  1093. package/types/shared/devWarn.d.ts.map +1 -1
  1094. package/types/shared/focusManagement.d.ts.map +1 -1
  1095. package/types/shared/i18n.d.ts +13 -0
  1096. package/types/shared/i18n.d.ts.map +1 -0
  1097. package/types/shared/utils.d.ts +2 -2
  1098. package/types/shared/utils.d.ts.map +1 -1
  1099. package/types/themedPrimitives.d.ts +1 -1
  1100. package/types/themedPrimitives.d.ts.map +1 -1
@@ -9,7 +9,7 @@ import {
9
9
  useState,
10
10
  memo,
11
11
  } from "react";
12
- import { useTranslation } from "react-i18next";
12
+ import { useTranslation } from "../../shared/i18n";
13
13
  import {
14
14
  CaretDownIcon,
15
15
  CheckIcon,
@@ -26,7 +26,13 @@ import {
26
26
  FloatingFocusManager,
27
27
  } from "@floating-ui/react";
28
28
  import type { AnyFormApi } from "../../types";
29
- import { useResolvedKnobs } from "@multiplatform.one/theme";
29
+ import {
30
+ ensureFocusVisibleRing,
31
+ ensureKeyboardModalityTracking,
32
+ keyboardFocusRingProps,
33
+ menuRowFrame,
34
+ useResolvedKnobs,
35
+ } from "@multiplatform.one/theme";
30
36
  import type { LabelProps, SizeTokens } from "tamagui";
31
37
  import { Pressable as RNPressable } from "react-native";
32
38
  import { Input as TInput, Text, View, XStack, YStack, isWeb, styled, useTheme } from "tamagui";
@@ -61,28 +67,44 @@ import { useIsInTableCell } from "../../shared/tableCellContext";
61
67
 
62
68
  // ── Styled row ───────────────────────────────────────────────
63
69
 
70
+ // LC-16 menu-row frame + LC-71: fill (selected/active) and ring are orthogonal.
71
+ // Virtual list navigation never DOM-focuses the row, so the keyboard ring is
72
+ // painted from `keyboardFocusRingProps` on the active option (activedescendant),
73
+ // same as TreeView. focusVisibleStyle remains for the rare real-focus path.
64
74
  const ComboboxRow = styled(View, {
65
75
  name: "ComboboxRow",
66
- flexDirection: "row",
67
- alignItems: "center",
76
+ ...menuRowFrame,
68
77
  gap: "$2",
69
- paddingHorizontal: "$3",
70
78
  cursor: "default",
71
- outlineStyle: "none" as any,
72
79
  hoverStyle: { backgroundColor: formInputColors.background.focus },
73
- focusStyle: { outlineStyle: "none" as any },
74
- focusVisibleStyle: { outlineStyle: "none" as any },
80
+ focusVisibleStyle: ensureFocusVisibleRing({ outlineOffset: -2 }),
75
81
  variants: {
76
82
  selected: {
77
83
  true: { backgroundColor: formInputColors.background.base },
78
84
  false: { backgroundColor: "transparent" },
79
85
  },
86
+ active: {
87
+ true: { backgroundColor: formInputColors.background.focus },
88
+ false: {},
89
+ },
80
90
  size: {
81
91
  "...size": (val: any) => ({ height: val }),
82
92
  },
83
93
  } as const,
84
94
  });
85
95
 
96
+ function comboboxOptionId(baseId: string | undefined, index: number) {
97
+ return `${baseId ?? "combobox"}-opt-${index}`;
98
+ }
99
+
100
+ function comboboxListboxId(baseId: string | undefined) {
101
+ return `${baseId ?? "combobox"}-listbox`;
102
+ }
103
+
104
+ function listItemRingProps(keyboardRing: boolean) {
105
+ return keyboardRing ? keyboardFocusRingProps : { outlineWidth: 0 as const };
106
+ }
107
+
86
108
  const GroupHeader = styled(Text, {
87
109
  name: "ComboboxGroupHeader",
88
110
  paddingHorizontal: "$3",
@@ -267,6 +289,8 @@ const ComboboxItem = memo(function ComboboxItem({
267
289
  index,
268
290
  isSelected,
269
291
  isActive,
292
+ keyboardRing,
293
+ optionId,
270
294
  suppressHover,
271
295
  handlers,
272
296
  }: {
@@ -274,6 +298,9 @@ const ComboboxItem = memo(function ComboboxItem({
274
298
  index: number;
275
299
  isSelected: boolean;
276
300
  isActive: boolean;
301
+ /** LC-71: inset ring on the activedescendant row during keyboard nav only. */
302
+ keyboardRing?: boolean;
303
+ optionId?: string;
277
304
  /** When true, disable hoverStyle so only isActive drives the highlight (avoids ghost highlight from stale hover) */
278
305
  suppressHover?: boolean;
279
306
  handlers: React.RefObject<ComboboxItemHandlers>;
@@ -291,6 +318,7 @@ const ComboboxItem = memo(function ComboboxItem({
291
318
  ctx.listItemsRef.current[index] = node as HTMLElement | null;
292
319
  }}
293
320
  {...itemProps}
321
+ id={optionId}
294
322
  data-combobox-index={index}
295
323
  data-active={isActive}
296
324
  onKeyDown={(e: React.KeyboardEvent) => {
@@ -304,9 +332,11 @@ const ComboboxItem = memo(function ComboboxItem({
304
332
  role="option"
305
333
  tabIndex={-1}
306
334
  selected={isSelected}
335
+ active={isActive}
307
336
  aria-selected={isSelected}
308
337
  data-state={isSelected ? "active" : "inactive"}
309
338
  size={ctx.knobProps.sizeToken}
339
+ {...listItemRingProps(Boolean(keyboardRing))}
310
340
  {...(suppressHover
311
341
  ? {
312
342
  hoverStyle: {
@@ -439,6 +469,7 @@ function FloatingComboboxCore({
439
469
  open: openProp,
440
470
  onOpenChange,
441
471
  }: FloatingComboboxCoreProps) {
472
+ if (isWeb) ensureKeyboardModalityTracking();
442
473
  const { t } = useTranslation();
443
474
  const inTableCell = useIsInTableCell();
444
475
  const describedBy = useFieldDescribedBy();
@@ -500,7 +531,7 @@ function FloatingComboboxCore({
500
531
 
501
532
  const filtered = useMemo(() => {
502
533
  if (onSearch || !filter) return options;
503
- const query = filter.toLowerCase();
534
+ const query = filter.trim().toLowerCase();
504
535
  return options.filter(
505
536
  (option) =>
506
537
  option.label.toLowerCase().includes(query) ||
@@ -586,6 +617,11 @@ function FloatingComboboxCore({
586
617
  const searchInputRef = useRef<HTMLInputElement | null>(null);
587
618
  const listScrollRef = useRef<HTMLElement | null>(null);
588
619
  const keyboardNavRef = useRef(false);
620
+ const [listKeyboardRing, setListKeyboardRing] = useState(false);
621
+ const setKeyboardNav = useCallback((next: boolean) => {
622
+ keyboardNavRef.current = next;
623
+ setListKeyboardRing((prev) => (prev === next ? prev : next));
624
+ }, []);
589
625
  const lastMousePosRef = useRef<{ x: number; y: number } | null>(null);
590
626
  const currentMousePosRef = useRef({ x: 0, y: 0 });
591
627
  const lastKeyboardNavTimeRef = useRef(0);
@@ -643,6 +679,7 @@ function FloatingComboboxCore({
643
679
  lastMousePosRef.current = null;
644
680
  initialOrderRef.current = null;
645
681
  hasSearchedRef.current = false;
682
+ setKeyboardNav(false);
646
683
  }
647
684
  }, [open]);
648
685
 
@@ -670,7 +707,9 @@ function FloatingComboboxCore({
670
707
  const viewportHeight = window.innerHeight;
671
708
  const viewportWidth = window.innerWidth;
672
709
 
673
- const minWidth = popoverWidth ?? triggerBounds.width + 8;
710
+ // OVERLAY_ANCHOR_GAP rule (theme/layoutTokens): the listbox matches the
711
+ // trigger width exactly and stays flush at triggerBounds.left below.
712
+ const minWidth = popoverWidth ?? triggerBounds.width;
674
713
  const maxWidth = viewportWidth - 20;
675
714
 
676
715
  dropdownElement.style.minWidth = `${minWidth}px`;
@@ -905,11 +944,11 @@ function FloatingComboboxCore({
905
944
  return () => document.removeEventListener("mousemove", onMove);
906
945
  }, [open, panel.refs]);
907
946
 
908
- // When filter/list changes: truncate refs, sync activeIndex with cursor, clear keyboard mode.
947
+ // When filter/list changes: truncate refs, sync activeIndex with cursor.
948
+ // Typing is keyboard-origin (LC-71) — do not drop the list ring on filter.
909
949
  // After filter, the list remounts (Fragment key=filter) so mouseenter often doesn't fire for
910
950
  // elements that appear under a stationary cursor. Use elementFromPoint to set the correct index.
911
951
  useLayoutEffect(() => {
912
- keyboardNavRef.current = false;
913
952
  const len = sortedFiltered.length + (showCreateOption ? 1 : 0);
914
953
  listItemsRef.current.length = len;
915
954
  justResetFromFilterRef.current = true;
@@ -941,7 +980,7 @@ function FloatingComboboxCore({
941
980
  activeIndex,
942
981
  onNavigate: (index) => {
943
982
  if (index !== null) {
944
- keyboardNavRef.current = true;
983
+ setKeyboardNav(true);
945
984
  lastKeyboardNavTimeRef.current = Date.now();
946
985
  lastMousePosRef.current = { ...currentMousePosRef.current };
947
986
  setActiveIndex(index);
@@ -989,31 +1028,34 @@ function FloatingComboboxCore({
989
1028
  [onValueChange, multiple, value, sortedFiltered],
990
1029
  );
991
1030
 
992
- const handleListMouseMove = useCallback((e: React.MouseEvent) => {
993
- const { clientX, clientY } = e;
994
- currentMousePosRef.current = { x: clientX, y: clientY };
1031
+ const handleListMouseMove = useCallback(
1032
+ (e: React.MouseEvent) => {
1033
+ const { clientX, clientY } = e;
1034
+ currentMousePosRef.current = { x: clientX, y: clientY };
995
1035
 
996
- // Sync activeIndex from elementUnderCursor - list's own mousemove fires in correct context (works in iframes)
997
- if (!keyboardNavRef.current && typeof document !== "undefined") {
998
- const el = document.elementFromPoint(clientX, clientY);
999
- const row = el?.closest?.("[data-combobox-index]");
1000
- const actualIndex = row?.getAttribute("data-combobox-index");
1001
- const list = sortedFilteredRef.current;
1002
- const len = list.length + (showCreateOptionRef.current ? 1 : 0);
1003
- const activeIdx = activeIndexRef.current;
1004
- const n = actualIndex != null ? Number(actualIndex) : null;
1005
- const next = n != null && n >= 0 && n < len ? n : activeIdx;
1006
- if (next !== activeIdx) setActiveIndex(next);
1007
- }
1036
+ // Sync activeIndex from elementUnderCursor - list's own mousemove fires in correct context (works in iframes)
1037
+ if (!keyboardNavRef.current && typeof document !== "undefined") {
1038
+ const el = document.elementFromPoint(clientX, clientY);
1039
+ const row = el?.closest?.("[data-combobox-index]");
1040
+ const actualIndex = row?.getAttribute("data-combobox-index");
1041
+ const list = sortedFilteredRef.current;
1042
+ const len = list.length + (showCreateOptionRef.current ? 1 : 0);
1043
+ const activeIdx = activeIndexRef.current;
1044
+ const n = actualIndex != null ? Number(actualIndex) : null;
1045
+ const next = n != null && n >= 0 && n < len ? n : activeIdx;
1046
+ if (next !== activeIdx) setActiveIndex(next);
1047
+ }
1008
1048
 
1009
- const last = lastMousePosRef.current;
1010
- const posChanged = last != null && (clientX !== last.x || clientY !== last.y);
1011
- if (!posChanged) return;
1012
- const now = Date.now();
1013
- if (now - lastKeyboardNavTimeRef.current < 200) return;
1014
- lastMousePosRef.current = { x: clientX, y: clientY };
1015
- keyboardNavRef.current = false;
1016
- }, []);
1049
+ const last = lastMousePosRef.current;
1050
+ const posChanged = last != null && (clientX !== last.x || clientY !== last.y);
1051
+ if (!posChanged) return;
1052
+ const now = Date.now();
1053
+ if (now - lastKeyboardNavTimeRef.current < 200) return;
1054
+ lastMousePosRef.current = { x: clientX, y: clientY };
1055
+ setKeyboardNav(false);
1056
+ },
1057
+ [setKeyboardNav],
1058
+ );
1017
1059
 
1018
1060
  const handlersRef = useRef({} as ComboboxItemHandlers);
1019
1061
 
@@ -1073,12 +1115,17 @@ function FloatingComboboxCore({
1073
1115
  event.key === "k"
1074
1116
  ) {
1075
1117
  event.preventDefault();
1118
+ setKeyboardNav(true);
1076
1119
  setOpen(true);
1077
1120
  setActiveIndex(0);
1078
1121
  }
1079
1122
  },
1080
1123
  });
1081
1124
 
1125
+ const listboxId = comboboxListboxId(id);
1126
+ const activeDescendant =
1127
+ open && activeIndex != null && activeIndex >= 0 ? comboboxOptionId(id, activeIndex) : undefined;
1128
+
1082
1129
  const boxEventProps: Record<string, any> = {};
1083
1130
  for (const [key, val] of Object.entries(referenceProps)) {
1084
1131
  if (key === "ref" || typeof val === "function") boxEventProps[key] = val;
@@ -1088,11 +1135,17 @@ function FloatingComboboxCore({
1088
1135
  boxEventProps.role = "combobox";
1089
1136
  boxEventProps["aria-haspopup"] = "listbox";
1090
1137
  boxEventProps["aria-expanded"] = open;
1138
+ boxEventProps["aria-controls"] = listboxId;
1139
+ if (hideSearch) {
1140
+ boxEventProps["aria-autocomplete"] = "list";
1141
+ if (activeDescendant) boxEventProps["aria-activedescendant"] = activeDescendant;
1142
+ }
1091
1143
  if (id) boxEventProps.id = id;
1092
1144
  if (ariaLabel) boxEventProps["aria-label"] = ariaLabel;
1093
- else if (hasLabel && id) boxEventProps["aria-labelledby"] = `${id}-label`;
1094
- // Standalone triggers (no label prop) still need a name (axe aria-input-field-name)
1095
- else if (placeholder) boxEventProps["aria-label"] = placeholder;
1145
+ // A labelled trigger is already named: the sibling Label wires
1146
+ // `aria-labelledby` onto this id itself, so naming it again here doubles the
1147
+ // spoken name. Standalone triggers still need one (axe aria-input-field-name).
1148
+ else if (!(hasLabel && id) && placeholder) boxEventProps["aria-label"] = placeholder;
1096
1149
  if (describedBy) boxEventProps["aria-describedby"] = describedBy;
1097
1150
 
1098
1151
  // Total navigable items includes the create option if shown
@@ -1106,7 +1159,7 @@ function FloatingComboboxCore({
1106
1159
  if (isDown || isUp) {
1107
1160
  e.preventDefault();
1108
1161
  e.stopPropagation();
1109
- keyboardNavRef.current = true;
1162
+ setKeyboardNav(true);
1110
1163
  lastKeyboardNavTimeRef.current = Date.now();
1111
1164
  lastMousePosRef.current = { ...currentMousePosRef.current };
1112
1165
  setActiveIndex((prev) => {
@@ -1127,7 +1180,7 @@ function FloatingComboboxCore({
1127
1180
  });
1128
1181
  }
1129
1182
  },
1130
- [totalNavigableItems],
1183
+ [totalNavigableItems, setKeyboardNav],
1131
1184
  );
1132
1185
 
1133
1186
  handlersRef.current = {
@@ -1146,7 +1199,7 @@ function FloatingComboboxCore({
1146
1199
  const isUp = event.key === "ArrowUp" || event.key === "k";
1147
1200
  if (isDown) {
1148
1201
  event.preventDefault();
1149
- keyboardNavRef.current = true;
1202
+ setKeyboardNav(true);
1150
1203
  lastKeyboardNavTimeRef.current = Date.now();
1151
1204
  lastMousePosRef.current = { ...currentMousePosRef.current };
1152
1205
  setActiveIndex((prev) => {
@@ -1155,13 +1208,23 @@ function FloatingComboboxCore({
1155
1208
  });
1156
1209
  } else if (isUp) {
1157
1210
  event.preventDefault();
1158
- keyboardNavRef.current = true;
1211
+ setKeyboardNav(true);
1159
1212
  lastKeyboardNavTimeRef.current = Date.now();
1160
1213
  lastMousePosRef.current = { ...currentMousePosRef.current };
1161
1214
  setActiveIndex((prev) => {
1162
1215
  const next = prev == null ? totalNavigableItems - 1 : prev - 1;
1163
1216
  return next < 0 ? totalNavigableItems - 1 : next;
1164
1217
  });
1218
+ } else if (event.key === "Home") {
1219
+ event.preventDefault();
1220
+ setKeyboardNav(true);
1221
+ lastKeyboardNavTimeRef.current = Date.now();
1222
+ setActiveIndex(0);
1223
+ } else if (event.key === "End") {
1224
+ event.preventDefault();
1225
+ setKeyboardNav(true);
1226
+ lastKeyboardNavTimeRef.current = Date.now();
1227
+ setActiveIndex(Math.max(0, totalNavigableItems - 1));
1165
1228
  } else if (event.key === "Enter" || event.key === " ") {
1166
1229
  event.preventDefault();
1167
1230
  if (activeIndex === createOptionIndex && showCreateOption) {
@@ -1190,6 +1253,7 @@ function FloatingComboboxCore({
1190
1253
  createOptionIndex,
1191
1254
  showCreateOption,
1192
1255
  multiple,
1256
+ setKeyboardNav,
1193
1257
  ],
1194
1258
  );
1195
1259
 
@@ -1239,6 +1303,8 @@ function FloatingComboboxCore({
1239
1303
  width="100%"
1240
1304
  alignSelf="stretch"
1241
1305
  flexShrink={0}
1306
+ outlineWidth={0}
1307
+ focusVisibleStyle={ensureFocusVisibleRing({ outlineOffset: -2 })}
1242
1308
  style={{ display: "flex", alignItems: "stretch", width: "100%" }}
1243
1309
  >
1244
1310
  {triggerRender(multiple ? selectedOptions : selectedOption, open)}
@@ -1252,6 +1318,10 @@ function FloatingComboboxCore({
1252
1318
  cursor={disabled ? "not-allowed" : "pointer"}
1253
1319
  disabled={disabled}
1254
1320
  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}
1255
1325
  {...(inTableCell
1256
1326
  ? // Chromeless in cells, but keep a ≥44px pressable target (SP-FIXED).
1257
1327
  { minHeight: 44 }
@@ -1354,6 +1424,7 @@ function FloatingComboboxCore({
1354
1424
  pointerEvents={panel.visible ? "auto" : "none"}
1355
1425
  {...getFloatingProps({
1356
1426
  ref: panel.refs.setFloating,
1427
+ id: listboxId,
1357
1428
  })}
1358
1429
  style={
1359
1430
  {
@@ -1386,6 +1457,8 @@ function FloatingComboboxCore({
1386
1457
  borderBottomColor={formCommonColors.divider}
1387
1458
  borderRadius={0}
1388
1459
  elevation={undefined}
1460
+ // LC-71: search is text-entry — ring the whole row (magnifier included).
1461
+ {...(isWeb ? { className: "mp-composite-ring" } : undefined)}
1389
1462
  >
1390
1463
  <InputParts.Section>
1391
1464
  <InputParts.Icon adornment="leading">
@@ -1399,6 +1472,10 @@ function FloatingComboboxCore({
1399
1472
  onChangeText={(text: string) => setInternalFilter(text)}
1400
1473
  placeholder={searchPlaceholder}
1401
1474
  onKeyDown={handleSearchKeyDown as any}
1475
+ aria-autocomplete="list"
1476
+ aria-controls={listboxId}
1477
+ aria-activedescendant={activeDescendant}
1478
+ aria-expanded={open}
1402
1479
  />
1403
1480
  </InputParts.Section>
1404
1481
  {loading ? (
@@ -1455,8 +1532,10 @@ function FloatingComboboxCore({
1455
1532
  key={option.value}
1456
1533
  option={option}
1457
1534
  index={index}
1535
+ optionId={comboboxOptionId(id, index)}
1458
1536
  isSelected={isSelected(option.value)}
1459
1537
  isActive={index === activeIndex}
1538
+ keyboardRing={index === activeIndex && listKeyboardRing}
1460
1539
  suppressHover={activeIndex != null}
1461
1540
  handlers={handlersRef}
1462
1541
  />
@@ -1471,8 +1550,10 @@ function FloatingComboboxCore({
1471
1550
  key={item.option.value}
1472
1551
  option={item.option}
1473
1552
  index={item.flatIndex}
1553
+ optionId={comboboxOptionId(id, item.flatIndex)}
1474
1554
  isSelected={isSelected(item.option.value)}
1475
1555
  isActive={item.flatIndex === activeIndex}
1556
+ keyboardRing={item.flatIndex === activeIndex && listKeyboardRing}
1476
1557
  suppressHover={activeIndex != null}
1477
1558
  handlers={handlersRef}
1478
1559
  />
@@ -1482,10 +1563,13 @@ function FloatingComboboxCore({
1482
1563
  <ComboboxRow
1483
1564
  role="option"
1484
1565
  tabIndex={-1}
1566
+ id={comboboxOptionId(id, createOptionIndex)}
1485
1567
  selected={false}
1568
+ active={createOptionIndex === activeIndex}
1486
1569
  size={knobProps.sizeToken}
1487
1570
  data-combobox-index={createOptionIndex}
1488
1571
  data-active={createOptionIndex === activeIndex}
1572
+ {...listItemRingProps(createOptionIndex === activeIndex && listKeyboardRing)}
1489
1573
  backgroundColor={
1490
1574
  createOptionIndex === activeIndex
1491
1575
  ? formInputColors.background.focus
@@ -1518,14 +1602,16 @@ function FloatingComboboxCore({
1518
1602
  )}
1519
1603
  </Fragment>
1520
1604
  ) : showCreateOption ? (
1521
- <View
1522
- flexDirection="row"
1523
- alignItems="center"
1524
- gap="$2"
1525
- paddingHorizontal="$3"
1526
- height={knobProps.sizeToken}
1605
+ <ComboboxRow
1606
+ role="option"
1607
+ tabIndex={-1}
1608
+ id={comboboxOptionId(id, createOptionIndex)}
1609
+ selected={false}
1610
+ active={createOptionIndex === activeIndex}
1611
+ size={knobProps.sizeToken}
1527
1612
  data-combobox-index={createOptionIndex}
1528
1613
  data-active={createOptionIndex === activeIndex}
1614
+ {...listItemRingProps(createOptionIndex === activeIndex && listKeyboardRing)}
1529
1615
  onPress={handleCreate}
1530
1616
  hoverStyle={
1531
1617
  activeIndex != null
@@ -1555,7 +1641,7 @@ function FloatingComboboxCore({
1555
1641
  >
1556
1642
  {createLabel.replace("{value}", filter.trim())}
1557
1643
  </Text>
1558
- </View>
1644
+ </ComboboxRow>
1559
1645
  ) : loading ? (
1560
1646
  // Async search in flight with nothing loaded yet: a bounded
1561
1647
  // loading row — never a premature "no results".
@@ -1670,6 +1756,7 @@ function NativeComboboxCore({
1670
1756
  open: openProp,
1671
1757
  onOpenChange,
1672
1758
  }: FloatingComboboxCoreProps) {
1759
+ if (isWeb) ensureKeyboardModalityTracking();
1673
1760
  const { t } = useTranslation();
1674
1761
  const inTableCell = useIsInTableCell();
1675
1762
  const describedBy = useFieldDescribedBy();
@@ -1690,6 +1777,10 @@ function NativeComboboxCore({
1690
1777
  // Use external searchValue when provided, otherwise use internal filter
1691
1778
  const filter = searchValue !== undefined ? searchValue : internalFilter;
1692
1779
  const [activeIndex, setActiveIndex] = useState<number | null>(0);
1780
+ const [listKeyboardRing, setListKeyboardRing] = useState(false);
1781
+ const setKeyboardNav = useCallback((next: boolean) => {
1782
+ setListKeyboardRing((prev) => (prev === next ? prev : next));
1783
+ }, []);
1693
1784
  const listRef = useRef<HTMLElement | null>(null);
1694
1785
  const fieldA11y = useFieldA11y();
1695
1786
 
@@ -1735,7 +1826,7 @@ function NativeComboboxCore({
1735
1826
 
1736
1827
  const filtered = useMemo(() => {
1737
1828
  if (onSearch || !filter) return options;
1738
- const query = filter.toLowerCase();
1829
+ const query = filter.trim().toLowerCase();
1739
1830
  return options.filter(
1740
1831
  (option) =>
1741
1832
  option.label.toLowerCase().includes(query) ||
@@ -1814,6 +1905,9 @@ function NativeComboboxCore({
1814
1905
 
1815
1906
  const totalItems = sortedFiltered.length + (showCreateOption ? 1 : 0);
1816
1907
  const createOptionIndex = showCreateOption ? sortedFiltered.length : -1;
1908
+ const listboxId = comboboxListboxId(id);
1909
+ const activeDescendant =
1910
+ open && activeIndex != null && activeIndex >= 0 ? comboboxOptionId(id, activeIndex) : undefined;
1817
1911
 
1818
1912
  const handleSelect = useCallback(
1819
1913
  (option: ComboboxOption) => {
@@ -1837,6 +1931,7 @@ function NativeComboboxCore({
1837
1931
  const isUp = e.key === "ArrowUp" || e.key === "k";
1838
1932
  if (isDown) {
1839
1933
  e.preventDefault();
1934
+ setKeyboardNav(true);
1840
1935
  listRef.current?.focus();
1841
1936
  setActiveIndex((prev) => {
1842
1937
  const next = prev == null ? 0 : prev + 1;
@@ -1844,14 +1939,23 @@ function NativeComboboxCore({
1844
1939
  });
1845
1940
  } else if (isUp) {
1846
1941
  e.preventDefault();
1942
+ setKeyboardNav(true);
1847
1943
  listRef.current?.focus();
1848
1944
  setActiveIndex((prev) => {
1849
1945
  const next = prev == null ? totalItems - 1 : prev - 1;
1850
1946
  return next < 0 ? totalItems - 1 : next;
1851
1947
  });
1948
+ } else if (e.key === "Home") {
1949
+ e.preventDefault();
1950
+ setKeyboardNav(true);
1951
+ setActiveIndex(0);
1952
+ } else if (e.key === "End") {
1953
+ e.preventDefault();
1954
+ setKeyboardNav(true);
1955
+ setActiveIndex(Math.max(0, totalItems - 1));
1852
1956
  }
1853
1957
  },
1854
- [totalItems],
1958
+ [totalItems, setKeyboardNav],
1855
1959
  );
1856
1960
 
1857
1961
  const handleListKeyDown = useCallback(
@@ -1861,16 +1965,26 @@ function NativeComboboxCore({
1861
1965
  const isUp = e.key === "ArrowUp" || e.key === "k";
1862
1966
  if (isDown) {
1863
1967
  e.preventDefault();
1968
+ setKeyboardNav(true);
1864
1969
  setActiveIndex((prev) => {
1865
1970
  const next = prev == null ? 0 : prev + 1;
1866
1971
  return next >= totalItems ? 0 : next;
1867
1972
  });
1868
1973
  } else if (isUp) {
1869
1974
  e.preventDefault();
1975
+ setKeyboardNav(true);
1870
1976
  setActiveIndex((prev) => {
1871
1977
  const next = prev == null ? totalItems - 1 : prev - 1;
1872
1978
  return next < 0 ? totalItems - 1 : next;
1873
1979
  });
1980
+ } else if (e.key === "Home") {
1981
+ e.preventDefault();
1982
+ setKeyboardNav(true);
1983
+ setActiveIndex(0);
1984
+ } else if (e.key === "End") {
1985
+ e.preventDefault();
1986
+ setKeyboardNav(true);
1987
+ setActiveIndex(Math.max(0, totalItems - 1));
1874
1988
  } else if (e.key === "Enter" || e.key === " ") {
1875
1989
  e.preventDefault();
1876
1990
  if (activeIndex === createOptionIndex && showCreateOption) {
@@ -1890,6 +2004,7 @@ function NativeComboboxCore({
1890
2004
  handleCreate,
1891
2005
  handleSelect,
1892
2006
  multiple,
2007
+ setKeyboardNav,
1893
2008
  ],
1894
2009
  );
1895
2010
 
@@ -1960,8 +2075,17 @@ function NativeComboboxCore({
1960
2075
  // VoiceOver blob.
1961
2076
  <View
1962
2077
  ref={listRef as any}
1963
- {...(isWeb ? { tabIndex: 0, onKeyDown: handleListKeyDown } : undefined)}
1964
- outlineStyle="none"
2078
+ {...(isWeb
2079
+ ? // role="listbox" is a valid ARIA role but outside RN's `Role` union;
2080
+ // this web-only bag forwards it to the DOM node (house Record cast).
2081
+ ({
2082
+ tabIndex: 0,
2083
+ onKeyDown: handleListKeyDown,
2084
+ role: "listbox",
2085
+ id: listboxId,
2086
+ } as Record<string, unknown>)
2087
+ : undefined)}
2088
+ outlineWidth={0}
1965
2089
  // Native sheet: flex={1} inside FloatingPanel ScrollView collapses rows.
1966
2090
  >
1967
2091
  {searchError ? (
@@ -1988,11 +2112,20 @@ function NativeComboboxCore({
1988
2112
  alignItems="center"
1989
2113
  gap="$2"
1990
2114
  paddingHorizontal="$3"
2115
+ id={comboboxOptionId(id, i)}
2116
+ role="option"
2117
+ aria-selected={selected}
2118
+ data-combobox-index={i}
2119
+ data-active={active}
2120
+ {...listItemRingProps(active && listKeyboardRing)}
1991
2121
  {...(option.description
1992
2122
  ? { minHeight: knobProps.sizeToken, paddingVertical: "$2" }
1993
2123
  : { height: knobProps.sizeToken })}
1994
2124
  onPress={isWeb ? () => handleSelect(option) : undefined}
1995
- onMouseEnter={() => setActiveIndex(i)}
2125
+ onMouseEnter={() => {
2126
+ setKeyboardNav(false);
2127
+ setActiveIndex(i);
2128
+ }}
1996
2129
  {...(!isWeb ? { pointerEvents: "none" as const } : {})}
1997
2130
  hoverStyle={
1998
2131
  activeIndex != null
@@ -2076,8 +2209,16 @@ function NativeComboboxCore({
2076
2209
  gap="$2"
2077
2210
  paddingHorizontal="$3"
2078
2211
  height={knobProps.sizeToken}
2212
+ role="option"
2213
+ id={comboboxOptionId(id, createOptionIndex)}
2214
+ data-combobox-index={createOptionIndex}
2215
+ data-active={createOptionIndex === activeIndex}
2216
+ {...listItemRingProps(createOptionIndex === activeIndex && listKeyboardRing)}
2079
2217
  onPress={handleCreate}
2080
- onMouseEnter={() => setActiveIndex(createOptionIndex)}
2218
+ onMouseEnter={() => {
2219
+ setKeyboardNav(false);
2220
+ setActiveIndex(createOptionIndex);
2221
+ }}
2081
2222
  hoverStyle={
2082
2223
  activeIndex != null
2083
2224
  ? {
@@ -2113,8 +2254,16 @@ function NativeComboboxCore({
2113
2254
  gap="$2"
2114
2255
  paddingHorizontal="$3"
2115
2256
  height={knobProps.sizeToken}
2257
+ role="option"
2258
+ id={comboboxOptionId(id, createOptionIndex)}
2259
+ data-combobox-index={createOptionIndex}
2260
+ data-active={createOptionIndex === activeIndex}
2261
+ {...listItemRingProps(createOptionIndex === activeIndex && listKeyboardRing)}
2116
2262
  onPress={handleCreate}
2117
- onMouseEnter={() => setActiveIndex(createOptionIndex)}
2263
+ onMouseEnter={() => {
2264
+ setKeyboardNav(false);
2265
+ setActiveIndex(createOptionIndex);
2266
+ }}
2118
2267
  hoverStyle={
2119
2268
  activeIndex != null
2120
2269
  ? {
@@ -2173,6 +2322,8 @@ function NativeComboboxCore({
2173
2322
  width="100%"
2174
2323
  alignSelf="stretch"
2175
2324
  flexShrink={0}
2325
+ outlineWidth={0}
2326
+ focusVisibleStyle={ensureFocusVisibleRing({ outlineOffset: -2 })}
2176
2327
  style={{ display: "flex", alignItems: "stretch", width: "100%" }}
2177
2328
  >
2178
2329
  {triggerRender(multiple ? selectedOptions : selectedOption, open)}
@@ -2185,6 +2336,10 @@ function NativeComboboxCore({
2185
2336
  cursor={disabled ? "not-allowed" : "pointer"}
2186
2337
  disabled={disabled}
2187
2338
  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}
2188
2343
  {...(inTableCell
2189
2344
  ? // Chromeless in cells, but keep a ≥44px pressable target (SP-FIXED).
2190
2345
  { minHeight: 44 }
@@ -2203,9 +2358,13 @@ function NativeComboboxCore({
2203
2358
  role: "combobox" as const,
2204
2359
  "aria-haspopup": "listbox",
2205
2360
  "aria-expanded": open,
2206
- // Standalone (no label): fall back to placeholder for the name
2361
+ "aria-controls": listboxId,
2362
+ "aria-activedescendant": hideSearch ? activeDescendant : undefined,
2363
+ "aria-autocomplete": hideSearch ? ("list" as const) : undefined,
2364
+ // Standalone (no label): fall back to placeholder for the name.
2365
+ // Labelled: the sibling Label wires `aria-labelledby` onto this id
2366
+ // itself — naming it here too doubles the spoken name.
2207
2367
  "aria-label": ariaLabel ?? (!hasLabel ? placeholder : undefined),
2208
- "aria-labelledby": !ariaLabel && hasLabel && id ? `${id}-label` : undefined,
2209
2368
  "aria-describedby": describedBy,
2210
2369
  tabIndex: disabled ? -1 : 0,
2211
2370
  }
@@ -2219,6 +2378,7 @@ function NativeComboboxCore({
2219
2378
  e.code === "Space"
2220
2379
  ) {
2221
2380
  e.preventDefault();
2381
+ setKeyboardNav(true);
2222
2382
  if (!open) handleOpenChange(true);
2223
2383
  }
2224
2384
  }}