@multiplatform.one/forms 7.4.1 → 7.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1293) hide show
  1. package/dist/cjs/AdaptivePopup/index.cjs +139 -20
  2. package/dist/cjs/AdaptivePopup/index.native.js +139 -21
  3. package/dist/cjs/AdaptivePopup/index.native.js.map +1 -1
  4. package/dist/cjs/Button/index.cjs +20 -15
  5. package/dist/cjs/Button/index.native.js +26 -15
  6. package/dist/cjs/Button/index.native.js.map +1 -1
  7. package/dist/cjs/Chip/index.cjs +7 -3
  8. package/dist/cjs/Chip/index.native.js +7 -3
  9. package/dist/cjs/Chip/index.native.js.map +1 -1
  10. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.cjs +142 -0
  11. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js +150 -0
  12. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -0
  13. package/dist/cjs/ContextualSaveBar/clientKnownIdentity.cjs +37 -0
  14. package/dist/cjs/ContextualSaveBar/clientKnownIdentity.native.js +40 -0
  15. package/dist/cjs/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -0
  16. package/dist/cjs/ContextualSaveBar/commitImmediateField.cjs +50 -0
  17. package/dist/cjs/ContextualSaveBar/commitImmediateField.native.js +55 -0
  18. package/dist/cjs/ContextualSaveBar/commitImmediateField.native.js.map +1 -0
  19. package/dist/cjs/ContextualSaveBar/index.cjs +301 -0
  20. package/dist/cjs/ContextualSaveBar/index.native.js +325 -0
  21. package/dist/cjs/ContextualSaveBar/index.native.js.map +1 -0
  22. package/dist/cjs/ContextualSaveBar/useUnsavedChangesGuard.cjs +49 -0
  23. package/dist/cjs/ContextualSaveBar/useUnsavedChangesGuard.native.js +55 -0
  24. package/dist/cjs/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -0
  25. package/dist/cjs/ControlGroup/index.cjs +10 -9
  26. package/dist/cjs/ControlGroup/index.native.js +10 -10
  27. package/dist/cjs/ControlGroup/index.native.js.map +1 -1
  28. package/dist/cjs/DescriptionList/index.cjs +416 -0
  29. package/dist/cjs/DescriptionList/index.native.js +441 -0
  30. package/dist/cjs/DescriptionList/index.native.js.map +1 -0
  31. package/dist/cjs/FieldDisplay/index.cjs +104 -43
  32. package/dist/cjs/FieldDisplay/index.native.js +115 -45
  33. package/dist/cjs/FieldDisplay/index.native.js.map +1 -1
  34. package/dist/cjs/FieldGroup.cjs +13 -3
  35. package/dist/cjs/FieldGroup.native.js +13 -3
  36. package/dist/cjs/FieldGroup.native.js.map +1 -1
  37. package/dist/cjs/FloatingPanel/index.cjs +40 -9
  38. package/dist/cjs/FloatingPanel/index.native.js +229 -46
  39. package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
  40. package/dist/cjs/FloatingPanel/useFloatingPanel.cjs +26 -9
  41. package/dist/cjs/FloatingPanel/useFloatingPanel.native.js +26 -9
  42. package/dist/cjs/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  43. package/dist/cjs/Form/index.cjs +51 -28
  44. package/dist/cjs/Form/index.native.js +56 -28
  45. package/dist/cjs/Form/index.native.js.map +1 -1
  46. package/dist/cjs/FormGrid.cjs +11 -4
  47. package/dist/cjs/FormGrid.native.js +11 -4
  48. package/dist/cjs/FormGrid.native.js.map +1 -1
  49. package/dist/cjs/FormSection.cjs +10 -3
  50. package/dist/cjs/FormSection.native.js +10 -3
  51. package/dist/cjs/FormSection.native.js.map +1 -1
  52. package/dist/cjs/InputParts/index.cjs +139 -58
  53. package/dist/cjs/InputParts/index.native.js +146 -64
  54. package/dist/cjs/InputParts/index.native.js.map +1 -1
  55. package/dist/cjs/Label/index.cjs +1 -0
  56. package/dist/cjs/Label/index.native.js +1 -0
  57. package/dist/cjs/Label/index.native.js.map +1 -1
  58. package/dist/cjs/Spinner/index.cjs +1 -0
  59. package/dist/cjs/Spinner/index.native.js +14 -1
  60. package/dist/cjs/Spinner/index.native.js.map +1 -1
  61. package/dist/cjs/Wheel/WheelEdgeFade.cjs +30 -0
  62. package/dist/cjs/Wheel/WheelEdgeFade.native.js +116 -0
  63. package/dist/cjs/Wheel/WheelEdgeFade.native.js.map +1 -0
  64. package/dist/cjs/Wheel/haptic.cjs +35 -0
  65. package/dist/cjs/Wheel/haptic.native.js +39 -0
  66. package/dist/cjs/Wheel/haptic.native.js.map +1 -0
  67. package/dist/cjs/Wheel/index.cjs +293 -109
  68. package/dist/cjs/Wheel/index.native.js +311 -112
  69. package/dist/cjs/Wheel/index.native.js.map +1 -1
  70. package/dist/cjs/fieldDefaults.cjs +4 -0
  71. package/dist/cjs/fieldDefaults.native.js +6 -0
  72. package/dist/cjs/fieldDefaults.native.js.map +1 -1
  73. package/dist/cjs/fieldLayout.cjs +11 -7
  74. package/dist/cjs/fieldLayout.native.js +11 -7
  75. package/dist/cjs/fieldLayout.native.js.map +1 -1
  76. package/dist/cjs/fields/Barcode/BarcodePreview.cjs +86 -18
  77. package/dist/cjs/fields/Barcode/BarcodePreview.native.js +92 -18
  78. package/dist/cjs/fields/Barcode/BarcodePreview.native.js.map +1 -1
  79. package/dist/cjs/fields/Barcode/index.cjs +8 -2
  80. package/dist/cjs/fields/Barcode/index.native.js +8 -2
  81. package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
  82. package/dist/cjs/fields/Barcode/qr.cjs +406 -0
  83. package/dist/cjs/fields/Barcode/qr.native.js +637 -0
  84. package/dist/cjs/fields/Barcode/qr.native.js.map +1 -0
  85. package/dist/cjs/fields/Barcode/scannerTypes.cjs +6 -1
  86. package/dist/cjs/fields/Barcode/scannerTypes.native.js +6 -1
  87. package/dist/cjs/fields/Barcode/scannerTypes.native.js.map +1 -1
  88. package/dist/cjs/fields/Checkbox/Checkbox.cjs +12 -6
  89. package/dist/cjs/fields/Checkbox/Checkbox.native.js +14 -6
  90. package/dist/cjs/fields/Checkbox/Checkbox.native.js.map +1 -1
  91. package/dist/cjs/fields/Checkbox/CheckboxBox.cjs +18 -1
  92. package/dist/cjs/fields/Checkbox/CheckboxBox.native.js +21 -1
  93. package/dist/cjs/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  94. package/dist/cjs/fields/Checkbox/CheckboxCard.cjs +0 -1
  95. package/dist/cjs/fields/Checkbox/CheckboxCard.native.js +0 -1
  96. package/dist/cjs/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  97. package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.cjs +1 -0
  98. package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js +1 -0
  99. package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  100. package/dist/cjs/fields/Checkbox/CheckboxGroup.cjs +6 -3
  101. package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js +7 -4
  102. package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  103. package/dist/cjs/fields/Checkbox/index.cjs +11 -3
  104. package/dist/cjs/fields/Checkbox/index.native.js +11 -3
  105. package/dist/cjs/fields/Checkbox/index.native.js.map +1 -1
  106. package/dist/cjs/fields/ColorPicker/index.cjs +13 -10
  107. package/dist/cjs/fields/ColorPicker/index.native.js +15 -11
  108. package/dist/cjs/fields/ColorPicker/index.native.js.map +1 -1
  109. package/dist/cjs/fields/ColorPicker/parts.cjs +10 -6
  110. package/dist/cjs/fields/ColorPicker/parts.native.js +10 -6
  111. package/dist/cjs/fields/ColorPicker/parts.native.js.map +1 -1
  112. package/dist/cjs/fields/Combobox/index.cjs +72 -64
  113. package/dist/cjs/fields/Combobox/index.native.js +85 -84
  114. package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
  115. package/dist/cjs/fields/DatePicker/Calendar.cjs +12 -4
  116. package/dist/cjs/fields/DatePicker/Calendar.native.js +12 -4
  117. package/dist/cjs/fields/DatePicker/Calendar.native.js.map +1 -1
  118. package/dist/cjs/fields/DatePicker/DateRangePicker.cjs +19 -5
  119. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js +21 -5
  120. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  121. package/dist/cjs/fields/DatePicker/DatetimePicker.cjs +22 -136
  122. package/dist/cjs/fields/DatePicker/DatetimePicker.native.js +24 -150
  123. package/dist/cjs/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  124. package/dist/cjs/fields/DatePicker/MonthPicker.cjs +2 -0
  125. package/dist/cjs/fields/DatePicker/MonthPicker.native.js +4 -0
  126. package/dist/cjs/fields/DatePicker/MonthPicker.native.js.map +1 -1
  127. package/dist/cjs/fields/DatePicker/MultiDatePicker.cjs +26 -9
  128. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js +28 -9
  129. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  130. package/dist/cjs/fields/DatePicker/index.cjs +2 -0
  131. package/dist/cjs/fields/DatePicker/index.native.js +4 -0
  132. package/dist/cjs/fields/DatePicker/index.native.js.map +1 -1
  133. package/dist/cjs/fields/DatePicker/parts.cjs +65 -38
  134. package/dist/cjs/fields/DatePicker/parts.native.js +72 -38
  135. package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
  136. package/dist/cjs/fields/Duration/durationMath.cjs +93 -0
  137. package/dist/cjs/fields/Duration/durationMath.native.js +115 -0
  138. package/dist/cjs/fields/Duration/durationMath.native.js.map +1 -0
  139. package/dist/cjs/fields/Duration/index.cjs +80 -111
  140. package/dist/cjs/fields/Duration/index.native.js +87 -118
  141. package/dist/cjs/fields/Duration/index.native.js.map +1 -1
  142. package/dist/cjs/fields/FileUpload/filePickerTypes.cjs +18 -0
  143. package/dist/cjs/fields/FileUpload/filePickerTypes.native.js +21 -0
  144. package/dist/cjs/fields/FileUpload/filePickerTypes.native.js.map +1 -0
  145. package/dist/cjs/fields/FileUpload/index.cjs +356 -156
  146. package/dist/cjs/fields/FileUpload/index.native.js +454 -166
  147. package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
  148. package/dist/cjs/fields/FileUpload/nativeFilePicker.cjs +37 -0
  149. package/dist/cjs/fields/FileUpload/nativeFilePicker.native.js +174 -0
  150. package/dist/cjs/fields/FileUpload/nativeFilePicker.native.js.map +1 -0
  151. package/dist/cjs/fields/FileUpload/nativePickerLoader.cjs +62 -0
  152. package/dist/cjs/fields/FileUpload/nativePickerLoader.native.js +65 -0
  153. package/dist/cjs/fields/FileUpload/nativePickerLoader.native.js.map +1 -0
  154. package/dist/cjs/fields/Icon/drawnSet.cjs +388 -0
  155. package/dist/cjs/fields/Icon/drawnSet.native.js +398 -0
  156. package/dist/cjs/fields/Icon/drawnSet.native.js.map +1 -0
  157. package/dist/cjs/fields/Icon/index.cjs +381 -0
  158. package/dist/cjs/fields/Icon/index.native.js +399 -0
  159. package/dist/cjs/fields/Icon/index.native.js.map +1 -0
  160. package/dist/cjs/fields/ImageField/index.cjs +18 -25
  161. package/dist/cjs/fields/ImageField/index.native.js +18 -26
  162. package/dist/cjs/fields/ImageField/index.native.js.map +1 -1
  163. package/dist/cjs/fields/Input/index.cjs +175 -91
  164. package/dist/cjs/fields/Input/index.native.js +88 -5
  165. package/dist/cjs/fields/Input/index.native.js.map +1 -1
  166. package/dist/cjs/fields/MentionInput/index.cjs +133 -58
  167. package/dist/cjs/fields/MentionInput/index.native.js +158 -81
  168. package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
  169. package/dist/cjs/fields/OTPInput/index.cjs +15 -4
  170. package/dist/cjs/fields/OTPInput/index.native.js +15 -4
  171. package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
  172. package/dist/cjs/fields/PhoneInput/index.cjs +4 -2
  173. package/dist/cjs/fields/PhoneInput/index.native.js +5 -2
  174. package/dist/cjs/fields/PhoneInput/index.native.js.map +1 -1
  175. package/dist/cjs/fields/Progress/index.cjs +29 -19
  176. package/dist/cjs/fields/Progress/index.native.js +31 -19
  177. package/dist/cjs/fields/Progress/index.native.js.map +1 -1
  178. package/dist/cjs/fields/RadioGroup/index.cjs +15 -14
  179. package/dist/cjs/fields/RadioGroup/index.native.js +15 -14
  180. package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
  181. package/dist/cjs/fields/Rating/index.cjs +31 -23
  182. package/dist/cjs/fields/Rating/index.native.js +33 -25
  183. package/dist/cjs/fields/Rating/index.native.js.map +1 -1
  184. package/dist/cjs/fields/Rating/ratingMath.cjs +36 -0
  185. package/dist/cjs/fields/Rating/ratingMath.native.js +39 -0
  186. package/dist/cjs/fields/Rating/ratingMath.native.js.map +1 -0
  187. package/dist/cjs/fields/SearchInput/index.cjs +216 -151
  188. package/dist/cjs/fields/SearchInput/index.native.js +225 -155
  189. package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
  190. package/dist/cjs/fields/Select/index.cjs +36 -19
  191. package/dist/cjs/fields/Select/index.native.js +38 -25
  192. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  193. package/dist/cjs/fields/Signature/index.cjs +26 -18
  194. package/dist/cjs/fields/Signature/index.native.js +26 -18
  195. package/dist/cjs/fields/Signature/index.native.js.map +1 -1
  196. package/dist/cjs/fields/Slider/index.cjs +39 -11
  197. package/dist/cjs/fields/Slider/index.native.js +60 -14
  198. package/dist/cjs/fields/Slider/index.native.js.map +1 -1
  199. package/dist/cjs/fields/Stepper/index.cjs +17 -7
  200. package/dist/cjs/fields/Stepper/index.native.js +17 -7
  201. package/dist/cjs/fields/Stepper/index.native.js.map +1 -1
  202. package/dist/cjs/fields/Stepper/resolveStepperPlacement.cjs +32 -0
  203. package/dist/cjs/fields/Stepper/resolveStepperPlacement.native.js +35 -0
  204. package/dist/cjs/fields/Stepper/resolveStepperPlacement.native.js.map +1 -0
  205. package/dist/cjs/fields/Switch/index.cjs +134 -46
  206. package/dist/cjs/fields/Switch/index.native.js +154 -47
  207. package/dist/cjs/fields/Switch/index.native.js.map +1 -1
  208. package/dist/cjs/fields/TextArea/index.cjs +33 -35
  209. package/dist/cjs/fields/TextArea/index.native.js +33 -38
  210. package/dist/cjs/fields/TextArea/index.native.js.map +1 -1
  211. package/dist/cjs/fields/TimePicker/index.cjs +6 -2
  212. package/dist/cjs/fields/TimePicker/index.native.js +8 -2
  213. package/dist/cjs/fields/TimePicker/index.native.js.map +1 -1
  214. package/dist/cjs/fields/TimePicker/parts.cjs +54 -495
  215. package/dist/cjs/fields/TimePicker/parts.native.js +59 -526
  216. package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -1
  217. package/dist/cjs/fields/TimeRangeScrubber/geometry.cjs +288 -0
  218. package/dist/cjs/fields/TimeRangeScrubber/geometry.native.js +352 -0
  219. package/dist/cjs/fields/TimeRangeScrubber/geometry.native.js.map +1 -0
  220. package/dist/cjs/fields/TimeRangeScrubber/index.cjs +855 -0
  221. package/dist/cjs/fields/TimeRangeScrubber/index.native.js +936 -0
  222. package/dist/cjs/fields/TimeRangeScrubber/index.native.js.map +1 -0
  223. package/dist/cjs/fields/ToggleGroup/index.cjs +56 -46
  224. package/dist/cjs/fields/ToggleGroup/index.native.js +59 -51
  225. package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
  226. package/dist/cjs/fields/selectedOrder.cjs +36 -0
  227. package/dist/cjs/fields/selectedOrder.native.js +46 -0
  228. package/dist/cjs/fields/selectedOrder.native.js.map +1 -0
  229. package/dist/cjs/index.cjs +47 -11
  230. package/dist/cjs/index.native.js +47 -11
  231. package/dist/cjs/index.native.js.map +1 -1
  232. package/dist/cjs/shared/TimeColumn.cjs +122 -80
  233. package/dist/cjs/shared/TimeColumn.native.js +146 -88
  234. package/dist/cjs/shared/TimeColumn.native.js.map +1 -1
  235. package/dist/cjs/shared/colorRamps.cjs +23 -1
  236. package/dist/cjs/shared/colorRamps.native.js +23 -1
  237. package/dist/cjs/shared/colorRamps.native.js.map +1 -1
  238. package/dist/cjs/shared/floatingList.cjs +17 -4
  239. package/dist/cjs/shared/floatingList.native.js +17 -4
  240. package/dist/cjs/shared/floatingList.native.js.map +1 -1
  241. package/dist/cjs/shared/useKeyboardInset.cjs +48 -0
  242. package/dist/cjs/shared/useKeyboardInset.native.js +53 -0
  243. package/dist/cjs/shared/useKeyboardInset.native.js.map +1 -0
  244. package/dist/cjs/shared/utils.cjs +69 -73
  245. package/dist/cjs/shared/utils.native.js +119 -75
  246. package/dist/cjs/shared/utils.native.js.map +1 -1
  247. package/dist/cjs/themedPrimitives.cjs +4 -2
  248. package/dist/cjs/themedPrimitives.native.js +4 -2
  249. package/dist/cjs/themedPrimitives.native.js.map +1 -1
  250. package/dist/esm/AdaptivePopup/index.mjs +138 -20
  251. package/dist/esm/AdaptivePopup/index.mjs.map +1 -1
  252. package/dist/esm/AdaptivePopup/index.native.js +138 -21
  253. package/dist/esm/AdaptivePopup/index.native.js.map +1 -1
  254. package/dist/esm/Button/index.mjs +20 -14
  255. package/dist/esm/Button/index.mjs.map +1 -1
  256. package/dist/esm/Button/index.native.js +26 -14
  257. package/dist/esm/Button/index.native.js.map +1 -1
  258. package/dist/esm/Chip/index.mjs +7 -3
  259. package/dist/esm/Chip/index.mjs.map +1 -1
  260. package/dist/esm/Chip/index.native.js +7 -3
  261. package/dist/esm/Chip/index.native.js.map +1 -1
  262. package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.mjs +117 -0
  263. package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.mjs.map +1 -0
  264. package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.native.js +122 -0
  265. package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -0
  266. package/dist/esm/ContextualSaveBar/clientKnownIdentity.mjs +12 -0
  267. package/dist/esm/ContextualSaveBar/clientKnownIdentity.mjs.map +1 -0
  268. package/dist/esm/ContextualSaveBar/clientKnownIdentity.native.js +12 -0
  269. package/dist/esm/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -0
  270. package/dist/esm/ContextualSaveBar/commitImmediateField.mjs +25 -0
  271. package/dist/esm/ContextualSaveBar/commitImmediateField.mjs.map +1 -0
  272. package/dist/esm/ContextualSaveBar/commitImmediateField.native.js +27 -0
  273. package/dist/esm/ContextualSaveBar/commitImmediateField.native.js.map +1 -0
  274. package/dist/esm/ContextualSaveBar/index.mjs +274 -0
  275. package/dist/esm/ContextualSaveBar/index.mjs.map +1 -0
  276. package/dist/esm/ContextualSaveBar/index.native.js +295 -0
  277. package/dist/esm/ContextualSaveBar/index.native.js.map +1 -0
  278. package/dist/esm/ContextualSaveBar/useUnsavedChangesGuard.mjs +24 -0
  279. package/dist/esm/ContextualSaveBar/useUnsavedChangesGuard.mjs.map +1 -0
  280. package/dist/esm/ContextualSaveBar/useUnsavedChangesGuard.native.js +27 -0
  281. package/dist/esm/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -0
  282. package/dist/esm/ControlGroup/index.mjs +11 -10
  283. package/dist/esm/ControlGroup/index.mjs.map +1 -1
  284. package/dist/esm/ControlGroup/index.native.js +11 -11
  285. package/dist/esm/ControlGroup/index.native.js.map +1 -1
  286. package/dist/esm/DescriptionList/index.mjs +389 -0
  287. package/dist/esm/DescriptionList/index.mjs.map +1 -0
  288. package/dist/esm/DescriptionList/index.native.js +411 -0
  289. package/dist/esm/DescriptionList/index.native.js.map +1 -0
  290. package/dist/esm/FieldDisplay/index.mjs +104 -45
  291. package/dist/esm/FieldDisplay/index.mjs.map +1 -1
  292. package/dist/esm/FieldDisplay/index.native.js +115 -47
  293. package/dist/esm/FieldDisplay/index.native.js.map +1 -1
  294. package/dist/esm/FieldGroup.mjs +14 -4
  295. package/dist/esm/FieldGroup.mjs.map +1 -1
  296. package/dist/esm/FieldGroup.native.js +14 -4
  297. package/dist/esm/FieldGroup.native.js.map +1 -1
  298. package/dist/esm/FloatingPanel/index.mjs +41 -12
  299. package/dist/esm/FloatingPanel/index.mjs.map +1 -1
  300. package/dist/esm/FloatingPanel/index.native.js +231 -48
  301. package/dist/esm/FloatingPanel/index.native.js.map +1 -1
  302. package/dist/esm/FloatingPanel/useFloatingPanel.mjs +27 -11
  303. package/dist/esm/FloatingPanel/useFloatingPanel.mjs.map +1 -1
  304. package/dist/esm/FloatingPanel/useFloatingPanel.native.js +27 -11
  305. package/dist/esm/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  306. package/dist/esm/Form/index.mjs +50 -29
  307. package/dist/esm/Form/index.mjs.map +1 -1
  308. package/dist/esm/Form/index.native.js +55 -29
  309. package/dist/esm/Form/index.native.js.map +1 -1
  310. package/dist/esm/FormGrid.mjs +11 -4
  311. package/dist/esm/FormGrid.mjs.map +1 -1
  312. package/dist/esm/FormGrid.native.js +11 -4
  313. package/dist/esm/FormGrid.native.js.map +1 -1
  314. package/dist/esm/FormSection.mjs +10 -3
  315. package/dist/esm/FormSection.mjs.map +1 -1
  316. package/dist/esm/FormSection.native.js +10 -3
  317. package/dist/esm/FormSection.native.js.map +1 -1
  318. package/dist/esm/InputParts/index.mjs +137 -60
  319. package/dist/esm/InputParts/index.mjs.map +1 -1
  320. package/dist/esm/InputParts/index.native.js +144 -66
  321. package/dist/esm/InputParts/index.native.js.map +1 -1
  322. package/dist/esm/Label/index.mjs +1 -0
  323. package/dist/esm/Label/index.mjs.map +1 -1
  324. package/dist/esm/Label/index.native.js +1 -0
  325. package/dist/esm/Label/index.native.js.map +1 -1
  326. package/dist/esm/Spinner/index.mjs +1 -0
  327. package/dist/esm/Spinner/index.mjs.map +1 -1
  328. package/dist/esm/Spinner/index.native.js +16 -3
  329. package/dist/esm/Spinner/index.native.js.map +1 -1
  330. package/dist/esm/Wheel/WheelEdgeFade.mjs +5 -0
  331. package/dist/esm/Wheel/WheelEdgeFade.mjs.map +1 -0
  332. package/dist/esm/Wheel/WheelEdgeFade.native.js +88 -0
  333. package/dist/esm/Wheel/WheelEdgeFade.native.js.map +1 -0
  334. package/dist/esm/Wheel/haptic.mjs +10 -0
  335. package/dist/esm/Wheel/haptic.mjs.map +1 -0
  336. package/dist/esm/Wheel/haptic.native.js +11 -0
  337. package/dist/esm/Wheel/haptic.native.js.map +1 -0
  338. package/dist/esm/Wheel/index.mjs +294 -110
  339. package/dist/esm/Wheel/index.mjs.map +1 -1
  340. package/dist/esm/Wheel/index.native.js +312 -113
  341. package/dist/esm/Wheel/index.native.js.map +1 -1
  342. package/dist/esm/fieldDefaults.mjs +3 -1
  343. package/dist/esm/fieldDefaults.mjs.map +1 -1
  344. package/dist/esm/fieldDefaults.native.js +5 -1
  345. package/dist/esm/fieldDefaults.native.js.map +1 -1
  346. package/dist/esm/fieldLayout.mjs +12 -8
  347. package/dist/esm/fieldLayout.mjs.map +1 -1
  348. package/dist/esm/fieldLayout.native.js +12 -8
  349. package/dist/esm/fieldLayout.native.js.map +1 -1
  350. package/dist/esm/fields/Barcode/BarcodePreview.mjs +86 -19
  351. package/dist/esm/fields/Barcode/BarcodePreview.mjs.map +1 -1
  352. package/dist/esm/fields/Barcode/BarcodePreview.native.js +92 -19
  353. package/dist/esm/fields/Barcode/BarcodePreview.native.js.map +1 -1
  354. package/dist/esm/fields/Barcode/index.mjs +8 -2
  355. package/dist/esm/fields/Barcode/index.mjs.map +1 -1
  356. package/dist/esm/fields/Barcode/index.native.js +8 -2
  357. package/dist/esm/fields/Barcode/index.native.js.map +1 -1
  358. package/dist/esm/fields/Barcode/qr.mjs +379 -0
  359. package/dist/esm/fields/Barcode/qr.mjs.map +1 -0
  360. package/dist/esm/fields/Barcode/qr.native.js +607 -0
  361. package/dist/esm/fields/Barcode/qr.native.js.map +1 -0
  362. package/dist/esm/fields/Barcode/scannerTypes.mjs +6 -2
  363. package/dist/esm/fields/Barcode/scannerTypes.mjs.map +1 -1
  364. package/dist/esm/fields/Barcode/scannerTypes.native.js +6 -2
  365. package/dist/esm/fields/Barcode/scannerTypes.native.js.map +1 -1
  366. package/dist/esm/fields/Checkbox/Checkbox.mjs +14 -8
  367. package/dist/esm/fields/Checkbox/Checkbox.mjs.map +1 -1
  368. package/dist/esm/fields/Checkbox/Checkbox.native.js +16 -8
  369. package/dist/esm/fields/Checkbox/Checkbox.native.js.map +1 -1
  370. package/dist/esm/fields/Checkbox/CheckboxBox.mjs +15 -1
  371. package/dist/esm/fields/Checkbox/CheckboxBox.mjs.map +1 -1
  372. package/dist/esm/fields/Checkbox/CheckboxBox.native.js +18 -1
  373. package/dist/esm/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  374. package/dist/esm/fields/Checkbox/CheckboxCard.mjs +0 -1
  375. package/dist/esm/fields/Checkbox/CheckboxCard.mjs.map +1 -1
  376. package/dist/esm/fields/Checkbox/CheckboxCard.native.js +0 -1
  377. package/dist/esm/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  378. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.mjs +1 -0
  379. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.mjs.map +1 -1
  380. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.native.js +1 -0
  381. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  382. package/dist/esm/fields/Checkbox/CheckboxGroup.mjs +8 -5
  383. package/dist/esm/fields/Checkbox/CheckboxGroup.mjs.map +1 -1
  384. package/dist/esm/fields/Checkbox/CheckboxGroup.native.js +9 -6
  385. package/dist/esm/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  386. package/dist/esm/fields/Checkbox/index.mjs +8 -4
  387. package/dist/esm/fields/Checkbox/index.mjs.map +1 -1
  388. package/dist/esm/fields/Checkbox/index.native.js +8 -4
  389. package/dist/esm/fields/Checkbox/index.native.js.map +1 -1
  390. package/dist/esm/fields/ColorPicker/index.mjs +13 -10
  391. package/dist/esm/fields/ColorPicker/index.mjs.map +1 -1
  392. package/dist/esm/fields/ColorPicker/index.native.js +15 -11
  393. package/dist/esm/fields/ColorPicker/index.native.js.map +1 -1
  394. package/dist/esm/fields/ColorPicker/parts.mjs +8 -7
  395. package/dist/esm/fields/ColorPicker/parts.mjs.map +1 -1
  396. package/dist/esm/fields/ColorPicker/parts.native.js +8 -7
  397. package/dist/esm/fields/ColorPicker/parts.native.js.map +1 -1
  398. package/dist/esm/fields/Combobox/index.mjs +74 -66
  399. package/dist/esm/fields/Combobox/index.mjs.map +1 -1
  400. package/dist/esm/fields/Combobox/index.native.js +87 -86
  401. package/dist/esm/fields/Combobox/index.native.js.map +1 -1
  402. package/dist/esm/fields/DatePicker/Calendar.mjs +12 -4
  403. package/dist/esm/fields/DatePicker/Calendar.mjs.map +1 -1
  404. package/dist/esm/fields/DatePicker/Calendar.native.js +12 -4
  405. package/dist/esm/fields/DatePicker/Calendar.native.js.map +1 -1
  406. package/dist/esm/fields/DatePicker/DateRangePicker.mjs +20 -6
  407. package/dist/esm/fields/DatePicker/DateRangePicker.mjs.map +1 -1
  408. package/dist/esm/fields/DatePicker/DateRangePicker.native.js +22 -6
  409. package/dist/esm/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  410. package/dist/esm/fields/DatePicker/DatetimePicker.mjs +25 -139
  411. package/dist/esm/fields/DatePicker/DatetimePicker.mjs.map +1 -1
  412. package/dist/esm/fields/DatePicker/DatetimePicker.native.js +27 -153
  413. package/dist/esm/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  414. package/dist/esm/fields/DatePicker/MonthPicker.mjs +2 -0
  415. package/dist/esm/fields/DatePicker/MonthPicker.mjs.map +1 -1
  416. package/dist/esm/fields/DatePicker/MonthPicker.native.js +4 -0
  417. package/dist/esm/fields/DatePicker/MonthPicker.native.js.map +1 -1
  418. package/dist/esm/fields/DatePicker/MultiDatePicker.mjs +27 -10
  419. package/dist/esm/fields/DatePicker/MultiDatePicker.mjs.map +1 -1
  420. package/dist/esm/fields/DatePicker/MultiDatePicker.native.js +29 -10
  421. package/dist/esm/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  422. package/dist/esm/fields/DatePicker/index.mjs +2 -0
  423. package/dist/esm/fields/DatePicker/index.mjs.map +1 -1
  424. package/dist/esm/fields/DatePicker/index.native.js +4 -0
  425. package/dist/esm/fields/DatePicker/index.native.js.map +1 -1
  426. package/dist/esm/fields/DatePicker/parts.mjs +52 -26
  427. package/dist/esm/fields/DatePicker/parts.mjs.map +1 -1
  428. package/dist/esm/fields/DatePicker/parts.native.js +59 -26
  429. package/dist/esm/fields/DatePicker/parts.native.js.map +1 -1
  430. package/dist/esm/fields/Duration/durationMath.mjs +64 -0
  431. package/dist/esm/fields/Duration/durationMath.mjs.map +1 -0
  432. package/dist/esm/fields/Duration/durationMath.native.js +83 -0
  433. package/dist/esm/fields/Duration/durationMath.native.js.map +1 -0
  434. package/dist/esm/fields/Duration/index.mjs +70 -102
  435. package/dist/esm/fields/Duration/index.mjs.map +1 -1
  436. package/dist/esm/fields/Duration/index.native.js +77 -109
  437. package/dist/esm/fields/Duration/index.native.js.map +1 -1
  438. package/dist/esm/fields/FileUpload/filePickerTypes.mjs +2 -0
  439. package/dist/esm/fields/FileUpload/filePickerTypes.mjs.map +1 -0
  440. package/dist/esm/fields/FileUpload/filePickerTypes.native.js +2 -0
  441. package/dist/esm/fields/FileUpload/filePickerTypes.native.js.map +1 -0
  442. package/dist/esm/fields/FileUpload/index.mjs +359 -159
  443. package/dist/esm/fields/FileUpload/index.mjs.map +1 -1
  444. package/dist/esm/fields/FileUpload/index.native.js +457 -169
  445. package/dist/esm/fields/FileUpload/index.native.js.map +1 -1
  446. package/dist/esm/fields/FileUpload/nativeFilePicker.mjs +11 -0
  447. package/dist/esm/fields/FileUpload/nativeFilePicker.mjs.map +1 -0
  448. package/dist/esm/fields/FileUpload/nativeFilePicker.native.js +143 -0
  449. package/dist/esm/fields/FileUpload/nativeFilePicker.native.js.map +1 -0
  450. package/dist/esm/fields/FileUpload/nativePickerLoader.mjs +35 -0
  451. package/dist/esm/fields/FileUpload/nativePickerLoader.mjs.map +1 -0
  452. package/dist/esm/fields/FileUpload/nativePickerLoader.native.js +35 -0
  453. package/dist/esm/fields/FileUpload/nativePickerLoader.native.js.map +1 -0
  454. package/dist/esm/fields/Icon/drawnSet.mjs +358 -0
  455. package/dist/esm/fields/Icon/drawnSet.mjs.map +1 -0
  456. package/dist/esm/fields/Icon/drawnSet.native.js +365 -0
  457. package/dist/esm/fields/Icon/drawnSet.native.js.map +1 -0
  458. package/dist/esm/fields/Icon/index.mjs +350 -0
  459. package/dist/esm/fields/Icon/index.mjs.map +1 -0
  460. package/dist/esm/fields/Icon/index.native.js +365 -0
  461. package/dist/esm/fields/Icon/index.native.js.map +1 -0
  462. package/dist/esm/fields/ImageField/index.mjs +20 -27
  463. package/dist/esm/fields/ImageField/index.mjs.map +1 -1
  464. package/dist/esm/fields/ImageField/index.native.js +20 -28
  465. package/dist/esm/fields/ImageField/index.native.js.map +1 -1
  466. package/dist/esm/fields/Input/index.mjs +177 -94
  467. package/dist/esm/fields/Input/index.mjs.map +1 -1
  468. package/dist/esm/fields/Input/index.native.js +90 -8
  469. package/dist/esm/fields/Input/index.native.js.map +1 -1
  470. package/dist/esm/fields/MentionInput/index.mjs +133 -59
  471. package/dist/esm/fields/MentionInput/index.mjs.map +1 -1
  472. package/dist/esm/fields/MentionInput/index.native.js +158 -82
  473. package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
  474. package/dist/esm/fields/OTPInput/index.mjs +16 -6
  475. package/dist/esm/fields/OTPInput/index.mjs.map +1 -1
  476. package/dist/esm/fields/OTPInput/index.native.js +16 -6
  477. package/dist/esm/fields/OTPInput/index.native.js.map +1 -1
  478. package/dist/esm/fields/PhoneInput/index.mjs +5 -3
  479. package/dist/esm/fields/PhoneInput/index.mjs.map +1 -1
  480. package/dist/esm/fields/PhoneInput/index.native.js +6 -3
  481. package/dist/esm/fields/PhoneInput/index.native.js.map +1 -1
  482. package/dist/esm/fields/Progress/index.mjs +29 -19
  483. package/dist/esm/fields/Progress/index.mjs.map +1 -1
  484. package/dist/esm/fields/Progress/index.native.js +31 -19
  485. package/dist/esm/fields/Progress/index.native.js.map +1 -1
  486. package/dist/esm/fields/RadioGroup/index.mjs +16 -15
  487. package/dist/esm/fields/RadioGroup/index.mjs.map +1 -1
  488. package/dist/esm/fields/RadioGroup/index.native.js +16 -15
  489. package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
  490. package/dist/esm/fields/Rating/index.mjs +29 -22
  491. package/dist/esm/fields/Rating/index.mjs.map +1 -1
  492. package/dist/esm/fields/Rating/index.native.js +31 -24
  493. package/dist/esm/fields/Rating/index.native.js.map +1 -1
  494. package/dist/esm/fields/Rating/ratingMath.mjs +11 -0
  495. package/dist/esm/fields/Rating/ratingMath.mjs.map +1 -0
  496. package/dist/esm/fields/Rating/ratingMath.native.js +11 -0
  497. package/dist/esm/fields/Rating/ratingMath.native.js.map +1 -0
  498. package/dist/esm/fields/SearchInput/index.mjs +220 -155
  499. package/dist/esm/fields/SearchInput/index.mjs.map +1 -1
  500. package/dist/esm/fields/SearchInput/index.native.js +229 -159
  501. package/dist/esm/fields/SearchInput/index.native.js.map +1 -1
  502. package/dist/esm/fields/Select/index.mjs +39 -22
  503. package/dist/esm/fields/Select/index.mjs.map +1 -1
  504. package/dist/esm/fields/Select/index.native.js +41 -28
  505. package/dist/esm/fields/Select/index.native.js.map +1 -1
  506. package/dist/esm/fields/Signature/index.mjs +26 -18
  507. package/dist/esm/fields/Signature/index.mjs.map +1 -1
  508. package/dist/esm/fields/Signature/index.native.js +26 -18
  509. package/dist/esm/fields/Signature/index.native.js.map +1 -1
  510. package/dist/esm/fields/Slider/index.mjs +40 -12
  511. package/dist/esm/fields/Slider/index.mjs.map +1 -1
  512. package/dist/esm/fields/Slider/index.native.js +61 -15
  513. package/dist/esm/fields/Slider/index.native.js.map +1 -1
  514. package/dist/esm/fields/Stepper/index.mjs +17 -8
  515. package/dist/esm/fields/Stepper/index.mjs.map +1 -1
  516. package/dist/esm/fields/Stepper/index.native.js +17 -8
  517. package/dist/esm/fields/Stepper/index.native.js.map +1 -1
  518. package/dist/esm/fields/Stepper/resolveStepperPlacement.mjs +7 -0
  519. package/dist/esm/fields/Stepper/resolveStepperPlacement.mjs.map +1 -0
  520. package/dist/esm/fields/Stepper/resolveStepperPlacement.native.js +7 -0
  521. package/dist/esm/fields/Stepper/resolveStepperPlacement.native.js.map +1 -0
  522. package/dist/esm/fields/Switch/index.mjs +135 -47
  523. package/dist/esm/fields/Switch/index.mjs.map +1 -1
  524. package/dist/esm/fields/Switch/index.native.js +155 -48
  525. package/dist/esm/fields/Switch/index.native.js.map +1 -1
  526. package/dist/esm/fields/TextArea/index.mjs +34 -36
  527. package/dist/esm/fields/TextArea/index.mjs.map +1 -1
  528. package/dist/esm/fields/TextArea/index.native.js +34 -39
  529. package/dist/esm/fields/TextArea/index.native.js.map +1 -1
  530. package/dist/esm/fields/TimePicker/index.mjs +7 -3
  531. package/dist/esm/fields/TimePicker/index.mjs.map +1 -1
  532. package/dist/esm/fields/TimePicker/index.native.js +9 -3
  533. package/dist/esm/fields/TimePicker/index.native.js.map +1 -1
  534. package/dist/esm/fields/TimePicker/parts.mjs +58 -499
  535. package/dist/esm/fields/TimePicker/parts.mjs.map +1 -1
  536. package/dist/esm/fields/TimePicker/parts.native.js +63 -530
  537. package/dist/esm/fields/TimePicker/parts.native.js.map +1 -1
  538. package/dist/esm/fields/TimeRangeScrubber/geometry.mjs +229 -0
  539. package/dist/esm/fields/TimeRangeScrubber/geometry.mjs.map +1 -0
  540. package/dist/esm/fields/TimeRangeScrubber/geometry.native.js +290 -0
  541. package/dist/esm/fields/TimeRangeScrubber/geometry.native.js.map +1 -0
  542. package/dist/esm/fields/TimeRangeScrubber/index.mjs +822 -0
  543. package/dist/esm/fields/TimeRangeScrubber/index.mjs.map +1 -0
  544. package/dist/esm/fields/TimeRangeScrubber/index.native.js +900 -0
  545. package/dist/esm/fields/TimeRangeScrubber/index.native.js.map +1 -0
  546. package/dist/esm/fields/ToggleGroup/index.mjs +58 -48
  547. package/dist/esm/fields/ToggleGroup/index.mjs.map +1 -1
  548. package/dist/esm/fields/ToggleGroup/index.native.js +61 -53
  549. package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
  550. package/dist/esm/fields/selectedOrder.mjs +11 -0
  551. package/dist/esm/fields/selectedOrder.mjs.map +1 -0
  552. package/dist/esm/fields/selectedOrder.native.js +18 -0
  553. package/dist/esm/fields/selectedOrder.native.js.map +1 -0
  554. package/dist/esm/index.mjs +15 -8
  555. package/dist/esm/index.mjs.map +1 -1
  556. package/dist/esm/index.native.js +15 -8
  557. package/dist/esm/index.native.js.map +1 -1
  558. package/dist/esm/shared/TimeColumn.mjs +123 -80
  559. package/dist/esm/shared/TimeColumn.mjs.map +1 -1
  560. package/dist/esm/shared/TimeColumn.native.js +147 -88
  561. package/dist/esm/shared/TimeColumn.native.js.map +1 -1
  562. package/dist/esm/shared/colorRamps.mjs +23 -2
  563. package/dist/esm/shared/colorRamps.mjs.map +1 -1
  564. package/dist/esm/shared/colorRamps.native.js +23 -2
  565. package/dist/esm/shared/colorRamps.native.js.map +1 -1
  566. package/dist/esm/shared/floatingList.mjs +18 -5
  567. package/dist/esm/shared/floatingList.mjs.map +1 -1
  568. package/dist/esm/shared/floatingList.native.js +18 -5
  569. package/dist/esm/shared/floatingList.native.js.map +1 -1
  570. package/dist/esm/shared/useKeyboardInset.mjs +23 -0
  571. package/dist/esm/shared/useKeyboardInset.mjs.map +1 -0
  572. package/dist/esm/shared/useKeyboardInset.native.js +25 -0
  573. package/dist/esm/shared/useKeyboardInset.native.js.map +1 -0
  574. package/dist/esm/shared/utils.mjs +70 -74
  575. package/dist/esm/shared/utils.mjs.map +1 -1
  576. package/dist/esm/shared/utils.native.js +120 -76
  577. package/dist/esm/shared/utils.native.js.map +1 -1
  578. package/dist/esm/themedPrimitives.mjs +5 -3
  579. package/dist/esm/themedPrimitives.mjs.map +1 -1
  580. package/dist/esm/themedPrimitives.native.js +5 -3
  581. package/dist/esm/themedPrimitives.native.js.map +1 -1
  582. package/dist/jsx/AdaptivePopup/index.mjs +138 -20
  583. package/dist/jsx/AdaptivePopup/index.mjs.map +1 -1
  584. package/dist/jsx/AdaptivePopup/index.native.js +140 -22
  585. package/dist/jsx/AdaptivePopup/index.native.js.map +1 -1
  586. package/dist/jsx/Button/index.mjs +20 -14
  587. package/dist/jsx/Button/index.mjs.map +1 -1
  588. package/dist/jsx/Button/index.native.js +27 -16
  589. package/dist/jsx/Button/index.native.js.map +1 -1
  590. package/dist/jsx/Chip/index.mjs +7 -3
  591. package/dist/jsx/Chip/index.mjs.map +1 -1
  592. package/dist/jsx/Chip/index.native.js +7 -3
  593. package/dist/jsx/Chip/index.native.js.map +1 -1
  594. package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.mjs +117 -0
  595. package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.mjs.map +1 -0
  596. package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.native.js +150 -0
  597. package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -0
  598. package/dist/jsx/ContextualSaveBar/clientKnownIdentity.mjs +12 -0
  599. package/dist/jsx/ContextualSaveBar/clientKnownIdentity.mjs.map +1 -0
  600. package/dist/jsx/ContextualSaveBar/clientKnownIdentity.native.js +40 -0
  601. package/dist/jsx/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -0
  602. package/dist/jsx/ContextualSaveBar/commitImmediateField.mjs +25 -0
  603. package/dist/jsx/ContextualSaveBar/commitImmediateField.mjs.map +1 -0
  604. package/dist/jsx/ContextualSaveBar/commitImmediateField.native.js +55 -0
  605. package/dist/jsx/ContextualSaveBar/commitImmediateField.native.js.map +1 -0
  606. package/dist/jsx/ContextualSaveBar/index.mjs +274 -0
  607. package/dist/jsx/ContextualSaveBar/index.mjs.map +1 -0
  608. package/dist/jsx/ContextualSaveBar/index.native.js +325 -0
  609. package/dist/jsx/ContextualSaveBar/index.native.js.map +1 -0
  610. package/dist/jsx/ContextualSaveBar/useUnsavedChangesGuard.mjs +24 -0
  611. package/dist/jsx/ContextualSaveBar/useUnsavedChangesGuard.mjs.map +1 -0
  612. package/dist/jsx/ContextualSaveBar/useUnsavedChangesGuard.native.js +55 -0
  613. package/dist/jsx/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -0
  614. package/dist/jsx/ControlGroup/index.mjs +11 -10
  615. package/dist/jsx/ControlGroup/index.mjs.map +1 -1
  616. package/dist/jsx/ControlGroup/index.native.js +11 -11
  617. package/dist/jsx/ControlGroup/index.native.js.map +1 -1
  618. package/dist/jsx/DescriptionList/index.mjs +389 -0
  619. package/dist/jsx/DescriptionList/index.mjs.map +1 -0
  620. package/dist/jsx/DescriptionList/index.native.js +441 -0
  621. package/dist/jsx/DescriptionList/index.native.js.map +1 -0
  622. package/dist/jsx/ErrorSummary.native.js.map +1 -1
  623. package/dist/jsx/FieldDisplay/editMode.native.js.map +1 -1
  624. package/dist/jsx/FieldDisplay/formatters.native.js.map +1 -1
  625. package/dist/jsx/FieldDisplay/index.mjs +104 -45
  626. package/dist/jsx/FieldDisplay/index.mjs.map +1 -1
  627. package/dist/jsx/FieldDisplay/index.native.js +116 -46
  628. package/dist/jsx/FieldDisplay/index.native.js.map +1 -1
  629. package/dist/jsx/FieldGroup.mjs +14 -4
  630. package/dist/jsx/FieldGroup.mjs.map +1 -1
  631. package/dist/jsx/FieldGroup.native.js +13 -3
  632. package/dist/jsx/FieldGroup.native.js.map +1 -1
  633. package/dist/jsx/FloatingPanel/index.mjs +41 -12
  634. package/dist/jsx/FloatingPanel/index.mjs.map +1 -1
  635. package/dist/jsx/FloatingPanel/index.native.js +229 -46
  636. package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
  637. package/dist/jsx/FloatingPanel/useFloatingPanel.mjs +27 -11
  638. package/dist/jsx/FloatingPanel/useFloatingPanel.mjs.map +1 -1
  639. package/dist/jsx/FloatingPanel/useFloatingPanel.native.js +26 -9
  640. package/dist/jsx/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  641. package/dist/jsx/Form/index.mjs +50 -29
  642. package/dist/jsx/Form/index.mjs.map +1 -1
  643. package/dist/jsx/Form/index.native.js +56 -28
  644. package/dist/jsx/Form/index.native.js.map +1 -1
  645. package/dist/jsx/Form/validateOn.native.js.map +1 -1
  646. package/dist/jsx/FormGrid.mjs +11 -4
  647. package/dist/jsx/FormGrid.mjs.map +1 -1
  648. package/dist/jsx/FormGrid.native.js +11 -4
  649. package/dist/jsx/FormGrid.native.js.map +1 -1
  650. package/dist/jsx/FormSection.mjs +10 -3
  651. package/dist/jsx/FormSection.mjs.map +1 -1
  652. package/dist/jsx/FormSection.native.js +10 -3
  653. package/dist/jsx/FormSection.native.js.map +1 -1
  654. package/dist/jsx/InputParts/index.mjs +137 -60
  655. package/dist/jsx/InputParts/index.mjs.map +1 -1
  656. package/dist/jsx/InputParts/index.native.js +146 -64
  657. package/dist/jsx/InputParts/index.native.js.map +1 -1
  658. package/dist/jsx/Label/index.mjs +1 -0
  659. package/dist/jsx/Label/index.mjs.map +1 -1
  660. package/dist/jsx/Label/index.native.js +1 -0
  661. package/dist/jsx/Label/index.native.js.map +1 -1
  662. package/dist/jsx/Skeleton/index.native.js.map +1 -1
  663. package/dist/jsx/Spinner/SpinnerGlyph.native.js.map +1 -1
  664. package/dist/jsx/Spinner/index.mjs +1 -0
  665. package/dist/jsx/Spinner/index.mjs.map +1 -1
  666. package/dist/jsx/Spinner/index.native.js +14 -1
  667. package/dist/jsx/Spinner/index.native.js.map +1 -1
  668. package/dist/jsx/Spinner/spinnerSize.native.js.map +1 -1
  669. package/dist/jsx/Table/index.native.js.map +1 -1
  670. package/dist/jsx/Wheel/WheelEdgeFade.mjs +5 -0
  671. package/dist/jsx/Wheel/WheelEdgeFade.mjs.map +1 -0
  672. package/dist/jsx/Wheel/WheelEdgeFade.native.js +116 -0
  673. package/dist/jsx/Wheel/WheelEdgeFade.native.js.map +1 -0
  674. package/dist/jsx/Wheel/haptic.mjs +10 -0
  675. package/dist/jsx/Wheel/haptic.mjs.map +1 -0
  676. package/dist/jsx/Wheel/haptic.native.js +39 -0
  677. package/dist/jsx/Wheel/haptic.native.js.map +1 -0
  678. package/dist/jsx/Wheel/index.mjs +294 -110
  679. package/dist/jsx/Wheel/index.mjs.map +1 -1
  680. package/dist/jsx/Wheel/index.native.js +311 -112
  681. package/dist/jsx/Wheel/index.native.js.map +1 -1
  682. package/dist/jsx/actionLabel.native.js.map +1 -1
  683. package/dist/jsx/fieldDefaults.mjs +3 -1
  684. package/dist/jsx/fieldDefaults.mjs.map +1 -1
  685. package/dist/jsx/fieldDefaults.native.js +6 -0
  686. package/dist/jsx/fieldDefaults.native.js.map +1 -1
  687. package/dist/jsx/fieldLayout.mjs +12 -8
  688. package/dist/jsx/fieldLayout.mjs.map +1 -1
  689. package/dist/jsx/fieldLayout.native.js +11 -7
  690. package/dist/jsx/fieldLayout.native.js.map +1 -1
  691. package/dist/jsx/fields/Barcode/BarcodePreview.mjs +86 -19
  692. package/dist/jsx/fields/Barcode/BarcodePreview.mjs.map +1 -1
  693. package/dist/jsx/fields/Barcode/BarcodePreview.native.js +92 -18
  694. package/dist/jsx/fields/Barcode/BarcodePreview.native.js.map +1 -1
  695. package/dist/jsx/fields/Barcode/BarcodeScanner.native.js +1 -1
  696. package/dist/jsx/fields/Barcode/code128.native.js.map +1 -1
  697. package/dist/jsx/fields/Barcode/index.mjs +8 -2
  698. package/dist/jsx/fields/Barcode/index.mjs.map +1 -1
  699. package/dist/jsx/fields/Barcode/index.native.js +10 -4
  700. package/dist/jsx/fields/Barcode/index.native.js.map +1 -1
  701. package/dist/jsx/fields/Barcode/qr.mjs +379 -0
  702. package/dist/jsx/fields/Barcode/qr.mjs.map +1 -0
  703. package/dist/jsx/fields/Barcode/qr.native.js +637 -0
  704. package/dist/jsx/fields/Barcode/qr.native.js.map +1 -0
  705. package/dist/jsx/fields/Barcode/scannerTypes.mjs +6 -2
  706. package/dist/jsx/fields/Barcode/scannerTypes.mjs.map +1 -1
  707. package/dist/jsx/fields/Barcode/scannerTypes.native.js +6 -1
  708. package/dist/jsx/fields/Barcode/scannerTypes.native.js.map +1 -1
  709. package/dist/jsx/fields/Checkbox/Checkbox.mjs +14 -8
  710. package/dist/jsx/fields/Checkbox/Checkbox.mjs.map +1 -1
  711. package/dist/jsx/fields/Checkbox/Checkbox.native.js +15 -7
  712. package/dist/jsx/fields/Checkbox/Checkbox.native.js.map +1 -1
  713. package/dist/jsx/fields/Checkbox/CheckboxBox.mjs +15 -1
  714. package/dist/jsx/fields/Checkbox/CheckboxBox.mjs.map +1 -1
  715. package/dist/jsx/fields/Checkbox/CheckboxBox.native.js +21 -1
  716. package/dist/jsx/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  717. package/dist/jsx/fields/Checkbox/CheckboxCard.mjs +0 -1
  718. package/dist/jsx/fields/Checkbox/CheckboxCard.mjs.map +1 -1
  719. package/dist/jsx/fields/Checkbox/CheckboxCard.native.js +0 -1
  720. package/dist/jsx/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  721. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.mjs +1 -0
  722. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.mjs.map +1 -1
  723. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.native.js +1 -0
  724. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  725. package/dist/jsx/fields/Checkbox/CheckboxGroup.mjs +8 -5
  726. package/dist/jsx/fields/Checkbox/CheckboxGroup.mjs.map +1 -1
  727. package/dist/jsx/fields/Checkbox/CheckboxGroup.native.js +8 -5
  728. package/dist/jsx/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  729. package/dist/jsx/fields/Checkbox/index.mjs +8 -4
  730. package/dist/jsx/fields/Checkbox/index.mjs.map +1 -1
  731. package/dist/jsx/fields/Checkbox/index.native.js +11 -3
  732. package/dist/jsx/fields/Checkbox/index.native.js.map +1 -1
  733. package/dist/jsx/fields/ColorPicker/index.mjs +13 -10
  734. package/dist/jsx/fields/ColorPicker/index.mjs.map +1 -1
  735. package/dist/jsx/fields/ColorPicker/index.native.js +18 -14
  736. package/dist/jsx/fields/ColorPicker/index.native.js.map +1 -1
  737. package/dist/jsx/fields/ColorPicker/parts.mjs +8 -7
  738. package/dist/jsx/fields/ColorPicker/parts.mjs.map +1 -1
  739. package/dist/jsx/fields/ColorPicker/parts.native.js +12 -8
  740. package/dist/jsx/fields/ColorPicker/parts.native.js.map +1 -1
  741. package/dist/jsx/fields/Combobox/authorOptions.native.js.map +1 -1
  742. package/dist/jsx/fields/Combobox/index.mjs +74 -66
  743. package/dist/jsx/fields/Combobox/index.mjs.map +1 -1
  744. package/dist/jsx/fields/Combobox/index.native.js +90 -89
  745. package/dist/jsx/fields/Combobox/index.native.js.map +1 -1
  746. package/dist/jsx/fields/DatePicker/Calendar.mjs +12 -4
  747. package/dist/jsx/fields/DatePicker/Calendar.mjs.map +1 -1
  748. package/dist/jsx/fields/DatePicker/Calendar.native.js +12 -4
  749. package/dist/jsx/fields/DatePicker/Calendar.native.js.map +1 -1
  750. package/dist/jsx/fields/DatePicker/DateRangePicker.mjs +20 -6
  751. package/dist/jsx/fields/DatePicker/DateRangePicker.mjs.map +1 -1
  752. package/dist/jsx/fields/DatePicker/DateRangePicker.native.js +23 -7
  753. package/dist/jsx/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  754. package/dist/jsx/fields/DatePicker/DatetimePicker.mjs +25 -139
  755. package/dist/jsx/fields/DatePicker/DatetimePicker.mjs.map +1 -1
  756. package/dist/jsx/fields/DatePicker/DatetimePicker.native.js +27 -153
  757. package/dist/jsx/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  758. package/dist/jsx/fields/DatePicker/MonthPicker.mjs +2 -0
  759. package/dist/jsx/fields/DatePicker/MonthPicker.mjs.map +1 -1
  760. package/dist/jsx/fields/DatePicker/MonthPicker.native.js +6 -2
  761. package/dist/jsx/fields/DatePicker/MonthPicker.native.js.map +1 -1
  762. package/dist/jsx/fields/DatePicker/MultiDatePicker.mjs +27 -10
  763. package/dist/jsx/fields/DatePicker/MultiDatePicker.mjs.map +1 -1
  764. package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js +30 -11
  765. package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  766. package/dist/jsx/fields/DatePicker/fieldValueSync.native.js.map +1 -1
  767. package/dist/jsx/fields/DatePicker/index.mjs +2 -0
  768. package/dist/jsx/fields/DatePicker/index.mjs.map +1 -1
  769. package/dist/jsx/fields/DatePicker/index.native.js +6 -2
  770. package/dist/jsx/fields/DatePicker/index.native.js.map +1 -1
  771. package/dist/jsx/fields/DatePicker/parts.mjs +52 -26
  772. package/dist/jsx/fields/DatePicker/parts.mjs.map +1 -1
  773. package/dist/jsx/fields/DatePicker/parts.native.js +74 -40
  774. package/dist/jsx/fields/DatePicker/parts.native.js.map +1 -1
  775. package/dist/jsx/fields/DatePicker/utils.native.js.map +1 -1
  776. package/dist/jsx/fields/Duration/durationMath.mjs +64 -0
  777. package/dist/jsx/fields/Duration/durationMath.mjs.map +1 -0
  778. package/dist/jsx/fields/Duration/durationMath.native.js +115 -0
  779. package/dist/jsx/fields/Duration/durationMath.native.js.map +1 -0
  780. package/dist/jsx/fields/Duration/index.mjs +70 -102
  781. package/dist/jsx/fields/Duration/index.mjs.map +1 -1
  782. package/dist/jsx/fields/Duration/index.native.js +90 -121
  783. package/dist/jsx/fields/Duration/index.native.js.map +1 -1
  784. package/dist/jsx/fields/FileUpload/filePickerTypes.mjs +2 -0
  785. package/dist/jsx/fields/FileUpload/filePickerTypes.mjs.map +1 -0
  786. package/dist/jsx/fields/FileUpload/filePickerTypes.native.js +21 -0
  787. package/dist/jsx/fields/FileUpload/filePickerTypes.native.js.map +1 -0
  788. package/dist/jsx/fields/FileUpload/index.mjs +359 -159
  789. package/dist/jsx/fields/FileUpload/index.mjs.map +1 -1
  790. package/dist/jsx/fields/FileUpload/index.native.js +456 -168
  791. package/dist/jsx/fields/FileUpload/index.native.js.map +1 -1
  792. package/dist/jsx/fields/FileUpload/nativeFilePicker.mjs +11 -0
  793. package/dist/jsx/fields/FileUpload/nativeFilePicker.mjs.map +1 -0
  794. package/dist/jsx/fields/FileUpload/nativeFilePicker.native.js +174 -0
  795. package/dist/jsx/fields/FileUpload/nativeFilePicker.native.js.map +1 -0
  796. package/dist/jsx/fields/FileUpload/nativePickerLoader.mjs +35 -0
  797. package/dist/jsx/fields/FileUpload/nativePickerLoader.mjs.map +1 -0
  798. package/dist/jsx/fields/FileUpload/nativePickerLoader.native.js +65 -0
  799. package/dist/jsx/fields/FileUpload/nativePickerLoader.native.js.map +1 -0
  800. package/dist/jsx/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
  801. package/dist/jsx/fields/Geolocation/index.native.js +5 -5
  802. package/dist/jsx/fields/Geolocation/index.native.js.map +1 -1
  803. package/dist/jsx/fields/Geolocation/mapMath.native.js.map +1 -1
  804. package/dist/jsx/fields/Geolocation/mapTypes.native.js.map +1 -1
  805. package/dist/jsx/fields/Icon/drawnSet.mjs +358 -0
  806. package/dist/jsx/fields/Icon/drawnSet.mjs.map +1 -0
  807. package/dist/jsx/fields/Icon/drawnSet.native.js +398 -0
  808. package/dist/jsx/fields/Icon/drawnSet.native.js.map +1 -0
  809. package/dist/jsx/fields/Icon/index.mjs +350 -0
  810. package/dist/jsx/fields/Icon/index.mjs.map +1 -0
  811. package/dist/jsx/fields/Icon/index.native.js +399 -0
  812. package/dist/jsx/fields/Icon/index.native.js.map +1 -0
  813. package/dist/jsx/fields/ImageField/index.mjs +20 -27
  814. package/dist/jsx/fields/ImageField/index.mjs.map +1 -1
  815. package/dist/jsx/fields/ImageField/index.native.js +20 -28
  816. package/dist/jsx/fields/ImageField/index.native.js.map +1 -1
  817. package/dist/jsx/fields/Input/index.mjs +177 -94
  818. package/dist/jsx/fields/Input/index.mjs.map +1 -1
  819. package/dist/jsx/fields/Input/index.native.js +90 -7
  820. package/dist/jsx/fields/Input/index.native.js.map +1 -1
  821. package/dist/jsx/fields/MentionInput/index.mjs +133 -59
  822. package/dist/jsx/fields/MentionInput/index.mjs.map +1 -1
  823. package/dist/jsx/fields/MentionInput/index.native.js +161 -84
  824. package/dist/jsx/fields/MentionInput/index.native.js.map +1 -1
  825. package/dist/jsx/fields/OTPInput/index.mjs +16 -6
  826. package/dist/jsx/fields/OTPInput/index.mjs.map +1 -1
  827. package/dist/jsx/fields/OTPInput/index.native.js +18 -7
  828. package/dist/jsx/fields/OTPInput/index.native.js.map +1 -1
  829. package/dist/jsx/fields/OTPInput/otpCellCss.native.js.map +1 -1
  830. package/dist/jsx/fields/PhoneInput/dialCodes.native.js.map +1 -1
  831. package/dist/jsx/fields/PhoneInput/index.mjs +5 -3
  832. package/dist/jsx/fields/PhoneInput/index.mjs.map +1 -1
  833. package/dist/jsx/fields/PhoneInput/index.native.js +8 -5
  834. package/dist/jsx/fields/PhoneInput/index.native.js.map +1 -1
  835. package/dist/jsx/fields/PhoneInput/phone.native.js.map +1 -1
  836. package/dist/jsx/fields/Progress/index.mjs +29 -19
  837. package/dist/jsx/fields/Progress/index.mjs.map +1 -1
  838. package/dist/jsx/fields/Progress/index.native.js +32 -20
  839. package/dist/jsx/fields/Progress/index.native.js.map +1 -1
  840. package/dist/jsx/fields/RadioGroup/index.mjs +16 -15
  841. package/dist/jsx/fields/RadioGroup/index.mjs.map +1 -1
  842. package/dist/jsx/fields/RadioGroup/index.native.js +16 -15
  843. package/dist/jsx/fields/RadioGroup/index.native.js.map +1 -1
  844. package/dist/jsx/fields/Rating/index.mjs +29 -22
  845. package/dist/jsx/fields/Rating/index.mjs.map +1 -1
  846. package/dist/jsx/fields/Rating/index.native.js +34 -26
  847. package/dist/jsx/fields/Rating/index.native.js.map +1 -1
  848. package/dist/jsx/fields/Rating/ratingMath.mjs +11 -0
  849. package/dist/jsx/fields/Rating/ratingMath.mjs.map +1 -0
  850. package/dist/jsx/fields/Rating/ratingMath.native.js +39 -0
  851. package/dist/jsx/fields/Rating/ratingMath.native.js.map +1 -0
  852. package/dist/jsx/fields/Rating/types.native.js.map +1 -1
  853. package/dist/jsx/fields/SearchInput/index.mjs +220 -155
  854. package/dist/jsx/fields/SearchInput/index.mjs.map +1 -1
  855. package/dist/jsx/fields/SearchInput/index.native.js +226 -156
  856. package/dist/jsx/fields/SearchInput/index.native.js.map +1 -1
  857. package/dist/jsx/fields/Select/index.mjs +39 -22
  858. package/dist/jsx/fields/Select/index.mjs.map +1 -1
  859. package/dist/jsx/fields/Select/index.native.js +42 -29
  860. package/dist/jsx/fields/Select/index.native.js.map +1 -1
  861. package/dist/jsx/fields/Signature/index.mjs +26 -18
  862. package/dist/jsx/fields/Signature/index.mjs.map +1 -1
  863. package/dist/jsx/fields/Signature/index.native.js +28 -20
  864. package/dist/jsx/fields/Signature/index.native.js.map +1 -1
  865. package/dist/jsx/fields/Slider/index.mjs +40 -12
  866. package/dist/jsx/fields/Slider/index.mjs.map +1 -1
  867. package/dist/jsx/fields/Slider/index.native.js +61 -15
  868. package/dist/jsx/fields/Slider/index.native.js.map +1 -1
  869. package/dist/jsx/fields/Slider/jumpMotion.native.js.map +1 -1
  870. package/dist/jsx/fields/Stepper/index.mjs +17 -8
  871. package/dist/jsx/fields/Stepper/index.mjs.map +1 -1
  872. package/dist/jsx/fields/Stepper/index.native.js +19 -9
  873. package/dist/jsx/fields/Stepper/index.native.js.map +1 -1
  874. package/dist/jsx/fields/Stepper/resolveStepperPlacement.mjs +7 -0
  875. package/dist/jsx/fields/Stepper/resolveStepperPlacement.mjs.map +1 -0
  876. package/dist/jsx/fields/Stepper/resolveStepperPlacement.native.js +35 -0
  877. package/dist/jsx/fields/Stepper/resolveStepperPlacement.native.js.map +1 -0
  878. package/dist/jsx/fields/Switch/index.mjs +135 -47
  879. package/dist/jsx/fields/Switch/index.mjs.map +1 -1
  880. package/dist/jsx/fields/Switch/index.native.js +155 -48
  881. package/dist/jsx/fields/Switch/index.native.js.map +1 -1
  882. package/dist/jsx/fields/TextArea/index.mjs +34 -36
  883. package/dist/jsx/fields/TextArea/index.mjs.map +1 -1
  884. package/dist/jsx/fields/TextArea/index.native.js +35 -40
  885. package/dist/jsx/fields/TextArea/index.native.js.map +1 -1
  886. package/dist/jsx/fields/TimePicker/index.mjs +7 -3
  887. package/dist/jsx/fields/TimePicker/index.mjs.map +1 -1
  888. package/dist/jsx/fields/TimePicker/index.native.js +11 -5
  889. package/dist/jsx/fields/TimePicker/index.native.js.map +1 -1
  890. package/dist/jsx/fields/TimePicker/parts.mjs +58 -499
  891. package/dist/jsx/fields/TimePicker/parts.mjs.map +1 -1
  892. package/dist/jsx/fields/TimePicker/parts.native.js +60 -527
  893. package/dist/jsx/fields/TimePicker/parts.native.js.map +1 -1
  894. package/dist/jsx/fields/TimeRangeScrubber/geometry.mjs +229 -0
  895. package/dist/jsx/fields/TimeRangeScrubber/geometry.mjs.map +1 -0
  896. package/dist/jsx/fields/TimeRangeScrubber/geometry.native.js +352 -0
  897. package/dist/jsx/fields/TimeRangeScrubber/geometry.native.js.map +1 -0
  898. package/dist/jsx/fields/TimeRangeScrubber/index.mjs +822 -0
  899. package/dist/jsx/fields/TimeRangeScrubber/index.mjs.map +1 -0
  900. package/dist/jsx/fields/TimeRangeScrubber/index.native.js +936 -0
  901. package/dist/jsx/fields/TimeRangeScrubber/index.native.js.map +1 -0
  902. package/dist/jsx/fields/ToggleGroup/index.mjs +58 -48
  903. package/dist/jsx/fields/ToggleGroup/index.mjs.map +1 -1
  904. package/dist/jsx/fields/ToggleGroup/index.native.js +60 -52
  905. package/dist/jsx/fields/ToggleGroup/index.native.js.map +1 -1
  906. package/dist/jsx/fields/selectedOrder.mjs +11 -0
  907. package/dist/jsx/fields/selectedOrder.mjs.map +1 -0
  908. package/dist/jsx/fields/selectedOrder.native.js +46 -0
  909. package/dist/jsx/fields/selectedOrder.native.js.map +1 -0
  910. package/dist/jsx/formSpacing.native.js.map +1 -1
  911. package/dist/jsx/hooks/useFocusManagement.native.js.map +1 -1
  912. package/dist/jsx/index.js +15 -8
  913. package/dist/jsx/index.js.map +1 -1
  914. package/dist/jsx/index.mjs +15 -8
  915. package/dist/jsx/index.mjs.map +1 -1
  916. package/dist/jsx/index.native.js +84 -48
  917. package/dist/jsx/index.native.js.map +1 -1
  918. package/dist/jsx/requiredMarking.native.js.map +1 -1
  919. package/dist/jsx/shared/TimeColumn.mjs +123 -80
  920. package/dist/jsx/shared/TimeColumn.mjs.map +1 -1
  921. package/dist/jsx/shared/TimeColumn.native.js +146 -88
  922. package/dist/jsx/shared/TimeColumn.native.js.map +1 -1
  923. package/dist/jsx/shared/capabilityPreflight.native.js.map +1 -1
  924. package/dist/jsx/shared/colorRamps.mjs +23 -2
  925. package/dist/jsx/shared/colorRamps.mjs.map +1 -1
  926. package/dist/jsx/shared/colorRamps.native.js +23 -1
  927. package/dist/jsx/shared/colorRamps.native.js.map +1 -1
  928. package/dist/jsx/shared/devWarn.native.js.map +1 -1
  929. package/dist/jsx/shared/floatingList.mjs +18 -5
  930. package/dist/jsx/shared/floatingList.mjs.map +1 -1
  931. package/dist/jsx/shared/floatingList.native.js +18 -5
  932. package/dist/jsx/shared/floatingList.native.js.map +1 -1
  933. package/dist/jsx/shared/focusManagement.native.js.map +1 -1
  934. package/dist/jsx/shared/groupContext.native.js.map +1 -1
  935. package/dist/jsx/shared/i18n.native.js.map +1 -1
  936. package/dist/jsx/shared/t.native.js.map +1 -1
  937. package/dist/jsx/shared/tableCellContext.native.js.map +1 -1
  938. package/dist/jsx/shared/useDragScroll.native.js.map +1 -1
  939. package/dist/jsx/shared/useKeyboardInset.mjs +23 -0
  940. package/dist/jsx/shared/useKeyboardInset.mjs.map +1 -0
  941. package/dist/jsx/shared/useKeyboardInset.native.js +53 -0
  942. package/dist/jsx/shared/useKeyboardInset.native.js.map +1 -0
  943. package/dist/jsx/shared/useSheetEscapeDismiss.native.js.map +1 -1
  944. package/dist/jsx/shared/useWheelIncrement.native.js.map +1 -1
  945. package/dist/jsx/shared/utils.mjs +70 -74
  946. package/dist/jsx/shared/utils.mjs.map +1 -1
  947. package/dist/jsx/shared/utils.native.js +120 -76
  948. package/dist/jsx/shared/utils.native.js.map +1 -1
  949. package/dist/jsx/shared/zIndex.native.js.map +1 -1
  950. package/dist/jsx/themedPrimitives.mjs +5 -3
  951. package/dist/jsx/themedPrimitives.mjs.map +1 -1
  952. package/dist/jsx/themedPrimitives.native.js +4 -2
  953. package/dist/jsx/themedPrimitives.native.js.map +1 -1
  954. package/dist/jsx/types.native.js.map +1 -1
  955. package/dist/jsx/utils/LinkCell.native.js.map +1 -1
  956. package/package.json +21 -7
  957. package/src/AdaptivePopup/AdaptivePopup.spec.tsx +213 -2
  958. package/src/AdaptivePopup/AdaptivePopup.stories.tsx +42 -1
  959. package/src/AdaptivePopup/index.tsx +162 -24
  960. package/src/Button/Button.density.spec.tsx +164 -0
  961. package/src/Button/Button.filledBorder.spec.tsx +74 -0
  962. package/src/Button/Button.labelInk.spec.tsx +196 -0
  963. package/src/Button/Button.lc71.spec.tsx +10 -3
  964. package/src/Button/Button.stories.tsx +40 -21
  965. package/src/Button/index.tsx +52 -20
  966. package/src/Chip/index.tsx +7 -3
  967. package/src/ContextualSaveBar/ContextualSaveBar.spec.tsx +269 -0
  968. package/src/ContextualSaveBar/ContextualSaveBar.stories.tsx +72 -0
  969. package/src/ContextualSaveBar/UnsavedChangesDialog.tsx +118 -0
  970. package/src/ContextualSaveBar/clientKnownIdentity.ts +15 -0
  971. package/src/ContextualSaveBar/commitImmediateField.ts +31 -0
  972. package/src/ContextualSaveBar/index.tsx +327 -0
  973. package/src/ContextualSaveBar/useUnsavedChangesGuard.ts +38 -0
  974. package/src/ControlGroup/ControlGroup.spec.tsx +86 -0
  975. package/src/ControlGroup/index.tsx +16 -8
  976. package/src/DescriptionList/DescriptionList.spec.tsx +254 -0
  977. package/src/DescriptionList/DescriptionList.stories.tsx +244 -0
  978. package/src/DescriptionList/index.tsx +503 -0
  979. package/src/FieldDisplay/FieldDisplay.spec.tsx +17 -0
  980. package/src/FieldDisplay/index.tsx +155 -41
  981. package/src/FieldGroup.spec.tsx +63 -0
  982. package/src/FieldGroup.tsx +17 -4
  983. package/src/Fieldset.spec.tsx +39 -0
  984. package/src/FloatingPanel/index.native.tsx +253 -46
  985. package/src/FloatingPanel/index.tsx +93 -12
  986. package/src/FloatingPanel/panelWidthContract.spec.ts +58 -0
  987. package/src/FloatingPanel/useFloatingPanel.spec.tsx +127 -18
  988. package/src/FloatingPanel/useFloatingPanel.ts +62 -18
  989. package/src/Form/Form.stories.tsx +19 -0
  990. package/src/Form/form.spec.tsx +4 -2
  991. package/src/Form/index.tsx +66 -28
  992. package/src/FormGrid.spec.tsx +13 -1
  993. package/src/FormGrid.tsx +11 -4
  994. package/src/FormSection.tsx +14 -4
  995. package/src/FormsIntegration.stories.tsx +329 -344
  996. package/src/InputParts/InputButton.spec.tsx +60 -0
  997. package/src/InputParts/index.spec.tsx +41 -1
  998. package/src/InputParts/index.tsx +221 -61
  999. package/src/Label/Label.spec.tsx +8 -0
  1000. package/src/Label/index.tsx +1 -0
  1001. package/src/Spinner/Spinner.spec.tsx +14 -0
  1002. package/src/Spinner/index.native.tsx +16 -3
  1003. package/src/Spinner/index.tsx +1 -0
  1004. package/src/Wheel/Wheel.spec.tsx +292 -0
  1005. package/src/Wheel/WheelEdgeFade.native.tsx +67 -0
  1006. package/src/Wheel/WheelEdgeFade.tsx +7 -0
  1007. package/src/Wheel/haptic.ts +15 -0
  1008. package/src/Wheel/index.tsx +389 -146
  1009. package/src/fieldDefaults.spec.ts +7 -0
  1010. package/src/fieldDefaults.ts +13 -0
  1011. package/src/fieldLayout.spec.tsx +39 -0
  1012. package/src/fieldLayout.tsx +17 -7
  1013. package/src/fields/Barcode/Barcode.spec.tsx +30 -0
  1014. package/src/fields/Barcode/Barcode.stories.tsx +18 -0
  1015. package/src/fields/Barcode/BarcodePreview.spec.tsx +210 -1
  1016. package/src/fields/Barcode/BarcodePreview.tsx +147 -21
  1017. package/src/fields/Barcode/index.tsx +9 -1
  1018. package/src/fields/Barcode/qr.spec.ts +332 -0
  1019. package/src/fields/Barcode/qr.ts +590 -0
  1020. package/src/fields/Barcode/scannerTypes.ts +12 -1
  1021. package/src/fields/Checkbox/Checkbox.spec.tsx +101 -2
  1022. package/src/fields/Checkbox/Checkbox.stories.tsx +23 -0
  1023. package/src/fields/Checkbox/Checkbox.tsx +25 -6
  1024. package/src/fields/Checkbox/CheckboxBox.tsx +33 -0
  1025. package/src/fields/Checkbox/CheckboxCard.tsx +0 -1
  1026. package/src/fields/Checkbox/CheckboxFieldFrame.tsx +1 -0
  1027. package/src/fields/Checkbox/CheckboxGroup.tsx +12 -5
  1028. package/src/fields/Checkbox/index.tsx +16 -4
  1029. package/src/fields/ColorPicker/ColorPicker.spec.tsx +93 -2
  1030. package/src/fields/ColorPicker/ColorPicker.stories.tsx +29 -0
  1031. package/src/fields/ColorPicker/index.tsx +15 -19
  1032. package/src/fields/ColorPicker/parts.tsx +13 -13
  1033. package/src/fields/Combobox/Combobox.spec.tsx +193 -1
  1034. package/src/fields/Combobox/Combobox.stories.tsx +46 -0
  1035. package/src/fields/Combobox/index.tsx +161 -104
  1036. package/src/fields/DatePicker/Calendar.spec.tsx +157 -2
  1037. package/src/fields/DatePicker/Calendar.tsx +11 -1
  1038. package/src/fields/DatePicker/DatePicker.stories.tsx +28 -0
  1039. package/src/fields/DatePicker/DateRangePicker.spec.tsx +53 -0
  1040. package/src/fields/DatePicker/DateRangePicker.stories.tsx +41 -0
  1041. package/src/fields/DatePicker/DateRangePicker.tsx +17 -3
  1042. package/src/fields/DatePicker/DatetimePicker.spec.tsx +17 -0
  1043. package/src/fields/DatePicker/DatetimePicker.stories.tsx +29 -1
  1044. package/src/fields/DatePicker/DatetimePicker.tsx +42 -147
  1045. package/src/fields/DatePicker/MonthPicker.tsx +3 -6
  1046. package/src/fields/DatePicker/MultiDatePicker.spec.tsx +29 -0
  1047. package/src/fields/DatePicker/MultiDatePicker.stories.tsx +33 -0
  1048. package/src/fields/DatePicker/MultiDatePicker.tsx +26 -2
  1049. package/src/fields/DatePicker/index.tsx +2 -0
  1050. package/src/fields/DatePicker/parts.tsx +79 -40
  1051. package/src/fields/Duration/Duration.spec.tsx +135 -6
  1052. package/src/fields/Duration/Duration.stories.tsx +30 -1
  1053. package/src/fields/Duration/durationMath.spec.ts +67 -0
  1054. package/src/fields/Duration/durationMath.ts +78 -0
  1055. package/src/fields/Duration/index.tsx +89 -112
  1056. package/src/fields/FileUpload/FileUpload.spec.tsx +348 -1
  1057. package/src/fields/FileUpload/FileUpload.stories.tsx +71 -1
  1058. package/src/fields/FileUpload/filePickerTypes.ts +42 -0
  1059. package/src/fields/FileUpload/index.tsx +533 -182
  1060. package/src/fields/FileUpload/nativeFilePicker.native.spec.ts +168 -0
  1061. package/src/fields/FileUpload/nativeFilePicker.native.ts +150 -0
  1062. package/src/fields/FileUpload/nativeFilePicker.ts +21 -0
  1063. package/src/fields/FileUpload/nativePickerLoader.ts +65 -0
  1064. package/src/fields/Geolocation/Geolocation.stories.tsx +29 -0
  1065. package/src/fields/Icon/Icon.spec.tsx +67 -0
  1066. package/src/fields/Icon/Icon.stories.tsx +59 -0
  1067. package/src/fields/Icon/drawnSet.spec.ts +47 -0
  1068. package/src/fields/Icon/drawnSet.tsx +288 -0
  1069. package/src/fields/Icon/index.tsx +466 -0
  1070. package/src/fields/ImageField/ImageField.spec.tsx +84 -2
  1071. package/src/fields/ImageField/ImageField.stories.tsx +30 -1
  1072. package/src/fields/ImageField/index.tsx +35 -31
  1073. package/src/fields/Input/Input.copy.spec.tsx +113 -0
  1074. package/src/fields/Input/Input.spec.tsx +57 -0
  1075. package/src/fields/Input/Input.stories.tsx +39 -0
  1076. package/src/fields/Input/index.tsx +189 -84
  1077. package/src/fields/MentionInput/MentionInput.spec.tsx +140 -38
  1078. package/src/fields/MentionInput/MentionInput.stories.tsx +39 -2
  1079. package/src/fields/MentionInput/index.tsx +166 -82
  1080. package/src/fields/OTPInput/OtpInput.spec.tsx +99 -4
  1081. package/src/fields/OTPInput/OtpInput.stories.tsx +28 -0
  1082. package/src/fields/OTPInput/index.tsx +33 -5
  1083. package/src/fields/OTPInput/otpCellHeightTouch.spec.ts +44 -0
  1084. package/src/fields/PhoneInput/PhoneInput.spec.tsx +109 -0
  1085. package/src/fields/PhoneInput/PhoneInput.stories.tsx +28 -0
  1086. package/src/fields/PhoneInput/index.tsx +5 -3
  1087. package/src/fields/Progress/Progress.spec.tsx +132 -18
  1088. package/src/fields/Progress/Progress.stories.tsx +32 -3
  1089. package/src/fields/Progress/index.tsx +38 -15
  1090. package/src/fields/RadioGroup/RadioGroup.spec.tsx +58 -0
  1091. package/src/fields/RadioGroup/RadioGroup.stories.tsx +42 -7
  1092. package/src/fields/RadioGroup/index.tsx +26 -18
  1093. package/src/fields/Rating/Rating.spec.tsx +71 -1
  1094. package/src/fields/Rating/Rating.stories.tsx +28 -0
  1095. package/src/fields/Rating/index.tsx +39 -25
  1096. package/src/fields/Rating/ratingMath.spec.ts +24 -0
  1097. package/src/fields/Rating/ratingMath.ts +14 -0
  1098. package/src/fields/SearchInput/SearchInput.spec.tsx +86 -0
  1099. package/src/fields/SearchInput/SearchInput.stories.tsx +14 -0
  1100. package/src/fields/SearchInput/index.tsx +257 -154
  1101. package/src/fields/Select/Select.stories.tsx +91 -42
  1102. package/src/fields/Select/index.tsx +62 -23
  1103. package/src/fields/Signature/Signature.spec.tsx +70 -0
  1104. package/src/fields/Signature/Signature.stories.tsx +29 -0
  1105. package/src/fields/Signature/index.tsx +27 -20
  1106. package/src/fields/Slider/Slider.spec.tsx +57 -0
  1107. package/src/fields/Slider/Slider.stories.tsx +28 -0
  1108. package/src/fields/Slider/index.tsx +38 -15
  1109. package/src/fields/Stepper/Stepper.spec.tsx +8 -0
  1110. package/src/fields/Stepper/Stepper.stories.tsx +28 -0
  1111. package/src/fields/Stepper/index.tsx +28 -18
  1112. package/src/fields/Stepper/resolveStepperPlacement.spec.ts +21 -0
  1113. package/src/fields/Stepper/resolveStepperPlacement.ts +14 -0
  1114. package/src/fields/Switch/Switch.radius.spec.tsx +114 -0
  1115. package/src/fields/Switch/Switch.stories.tsx +23 -0
  1116. package/src/fields/Switch/index.tsx +157 -52
  1117. package/src/fields/TextArea/TextArea.spec.tsx +103 -0
  1118. package/src/fields/TextArea/TextArea.stories.tsx +28 -0
  1119. package/src/fields/TextArea/index.tsx +36 -42
  1120. package/src/fields/TimePicker/TimePicker.spec.tsx +73 -11
  1121. package/src/fields/TimePicker/TimePicker.stories.tsx +29 -1
  1122. package/src/fields/TimePicker/index.tsx +8 -2
  1123. package/src/fields/TimePicker/parts.tsx +74 -584
  1124. package/src/fields/TimeRangeScrubber/TimeRangeScrubber.spec.tsx +483 -0
  1125. package/src/fields/TimeRangeScrubber/TimeRangeScrubber.stories.tsx +151 -0
  1126. package/src/fields/TimeRangeScrubber/geometry.ts +285 -0
  1127. package/src/fields/TimeRangeScrubber/index.tsx +1049 -0
  1128. package/src/fields/ToggleGroup/ToggleGroup.spec.tsx +118 -2
  1129. package/src/fields/ToggleGroup/ToggleGroup.stories.tsx +41 -0
  1130. package/src/fields/ToggleGroup/index.tsx +70 -67
  1131. package/src/fields/selectedOrder.spec.ts +29 -0
  1132. package/src/fields/selectedOrder.ts +26 -0
  1133. package/src/index.ts +71 -8
  1134. package/src/shared/TimeColumn.tsx +135 -87
  1135. package/src/shared/TimeWheels.spec.tsx +39 -0
  1136. package/src/shared/colorRamps.ts +35 -1
  1137. package/src/shared/floatingList.spec.tsx +65 -0
  1138. package/src/shared/floatingList.tsx +18 -5
  1139. package/src/shared/useKeyboardInset.ts +43 -0
  1140. package/src/shared/utils.spec.ts +122 -9
  1141. package/src/shared/utils.ts +161 -71
  1142. package/src/themedPrimitives.tsx +5 -3
  1143. package/types/AdaptivePopup/index.d.ts +19 -1
  1144. package/types/AdaptivePopup/index.d.ts.map +1 -1
  1145. package/types/Button/index.d.ts +8 -3
  1146. package/types/Button/index.d.ts.map +1 -1
  1147. package/types/Chip/index.d.ts +1 -1
  1148. package/types/Chip/index.d.ts.map +1 -1
  1149. package/types/ContextualSaveBar/UnsavedChangesDialog.d.ts +13 -0
  1150. package/types/ContextualSaveBar/UnsavedChangesDialog.d.ts.map +1 -0
  1151. package/types/ContextualSaveBar/clientKnownIdentity.d.ts +7 -0
  1152. package/types/ContextualSaveBar/clientKnownIdentity.d.ts.map +1 -0
  1153. package/types/ContextualSaveBar/commitImmediateField.d.ts +8 -0
  1154. package/types/ContextualSaveBar/commitImmediateField.d.ts.map +1 -0
  1155. package/types/ContextualSaveBar/index.d.ts +27 -0
  1156. package/types/ContextualSaveBar/index.d.ts.map +1 -0
  1157. package/types/ContextualSaveBar/useUnsavedChangesGuard.d.ts +9 -0
  1158. package/types/ContextualSaveBar/useUnsavedChangesGuard.d.ts.map +1 -0
  1159. package/types/ControlGroup/index.d.ts.map +1 -1
  1160. package/types/DescriptionList/index.d.ts +69 -0
  1161. package/types/DescriptionList/index.d.ts.map +1 -0
  1162. package/types/FieldDisplay/index.d.ts +26 -5
  1163. package/types/FieldDisplay/index.d.ts.map +1 -1
  1164. package/types/FieldGroup.d.ts +2 -0
  1165. package/types/FieldGroup.d.ts.map +1 -1
  1166. package/types/FloatingPanel/index.d.ts +30 -5
  1167. package/types/FloatingPanel/index.d.ts.map +1 -1
  1168. package/types/FloatingPanel/index.native.d.ts +1 -1
  1169. package/types/FloatingPanel/index.native.d.ts.map +1 -1
  1170. package/types/FloatingPanel/useFloatingPanel.d.ts +30 -7
  1171. package/types/FloatingPanel/useFloatingPanel.d.ts.map +1 -1
  1172. package/types/Form/index.d.ts +19 -3
  1173. package/types/Form/index.d.ts.map +1 -1
  1174. package/types/FormGrid.d.ts.map +1 -1
  1175. package/types/FormSection.d.ts +2 -2
  1176. package/types/FormSection.d.ts.map +1 -1
  1177. package/types/InputParts/index.d.ts +51 -17
  1178. package/types/InputParts/index.d.ts.map +1 -1
  1179. package/types/Label/index.d.ts.map +1 -1
  1180. package/types/Spinner/index.d.ts.map +1 -1
  1181. package/types/Spinner/index.native.d.ts.map +1 -1
  1182. package/types/Wheel/WheelEdgeFade.d.ts +8 -0
  1183. package/types/Wheel/WheelEdgeFade.d.ts.map +1 -0
  1184. package/types/Wheel/WheelEdgeFade.native.d.ts +8 -0
  1185. package/types/Wheel/WheelEdgeFade.native.d.ts.map +1 -0
  1186. package/types/Wheel/haptic.d.ts +6 -0
  1187. package/types/Wheel/haptic.d.ts.map +1 -0
  1188. package/types/Wheel/index.d.ts +19 -1
  1189. package/types/Wheel/index.d.ts.map +1 -1
  1190. package/types/fieldDefaults.d.ts +7 -0
  1191. package/types/fieldDefaults.d.ts.map +1 -1
  1192. package/types/fieldLayout.d.ts.map +1 -1
  1193. package/types/fields/Barcode/BarcodePreview.d.ts +46 -11
  1194. package/types/fields/Barcode/BarcodePreview.d.ts.map +1 -1
  1195. package/types/fields/Barcode/index.d.ts.map +1 -1
  1196. package/types/fields/Barcode/qr.d.ts +53 -0
  1197. package/types/fields/Barcode/qr.d.ts.map +1 -0
  1198. package/types/fields/Barcode/scannerTypes.d.ts +7 -0
  1199. package/types/fields/Barcode/scannerTypes.d.ts.map +1 -1
  1200. package/types/fields/Checkbox/Checkbox.d.ts.map +1 -1
  1201. package/types/fields/Checkbox/CheckboxBox.d.ts +16 -0
  1202. package/types/fields/Checkbox/CheckboxBox.d.ts.map +1 -1
  1203. package/types/fields/Checkbox/CheckboxCard.d.ts.map +1 -1
  1204. package/types/fields/Checkbox/CheckboxFieldFrame.d.ts.map +1 -1
  1205. package/types/fields/Checkbox/CheckboxGroup.d.ts.map +1 -1
  1206. package/types/fields/Checkbox/index.d.ts +5 -4
  1207. package/types/fields/Checkbox/index.d.ts.map +1 -1
  1208. package/types/fields/ColorPicker/index.d.ts.map +1 -1
  1209. package/types/fields/ColorPicker/parts.d.ts +9 -6
  1210. package/types/fields/ColorPicker/parts.d.ts.map +1 -1
  1211. package/types/fields/Combobox/index.d.ts +7 -1
  1212. package/types/fields/Combobox/index.d.ts.map +1 -1
  1213. package/types/fields/DatePicker/Calendar.d.ts.map +1 -1
  1214. package/types/fields/DatePicker/DateRangePicker.d.ts.map +1 -1
  1215. package/types/fields/DatePicker/DatetimePicker.d.ts.map +1 -1
  1216. package/types/fields/DatePicker/MonthPicker.d.ts.map +1 -1
  1217. package/types/fields/DatePicker/MultiDatePicker.d.ts.map +1 -1
  1218. package/types/fields/DatePicker/index.d.ts.map +1 -1
  1219. package/types/fields/DatePicker/parts.d.ts +15 -3
  1220. package/types/fields/DatePicker/parts.d.ts.map +1 -1
  1221. package/types/fields/Duration/durationMath.d.ts +17 -0
  1222. package/types/fields/Duration/durationMath.d.ts.map +1 -0
  1223. package/types/fields/Duration/index.d.ts +3 -11
  1224. package/types/fields/Duration/index.d.ts.map +1 -1
  1225. package/types/fields/FileUpload/filePickerTypes.d.ts +39 -0
  1226. package/types/fields/FileUpload/filePickerTypes.d.ts.map +1 -0
  1227. package/types/fields/FileUpload/index.d.ts +38 -0
  1228. package/types/fields/FileUpload/index.d.ts.map +1 -1
  1229. package/types/fields/FileUpload/nativeFilePicker.d.ts +10 -0
  1230. package/types/fields/FileUpload/nativeFilePicker.d.ts.map +1 -0
  1231. package/types/fields/FileUpload/nativeFilePicker.native.d.ts +23 -0
  1232. package/types/fields/FileUpload/nativeFilePicker.native.d.ts.map +1 -0
  1233. package/types/fields/FileUpload/nativePickerLoader.d.ts +15 -0
  1234. package/types/fields/FileUpload/nativePickerLoader.d.ts.map +1 -0
  1235. package/types/fields/Icon/drawnSet.d.ts +17 -0
  1236. package/types/fields/Icon/drawnSet.d.ts.map +1 -0
  1237. package/types/fields/Icon/index.d.ts +20 -0
  1238. package/types/fields/Icon/index.d.ts.map +1 -0
  1239. package/types/fields/ImageField/index.d.ts +5 -0
  1240. package/types/fields/ImageField/index.d.ts.map +1 -1
  1241. package/types/fields/Input/index.d.ts +29 -17
  1242. package/types/fields/Input/index.d.ts.map +1 -1
  1243. package/types/fields/MentionInput/index.d.ts +11 -4
  1244. package/types/fields/MentionInput/index.d.ts.map +1 -1
  1245. package/types/fields/OTPInput/index.d.ts +12 -0
  1246. package/types/fields/OTPInput/index.d.ts.map +1 -1
  1247. package/types/fields/PhoneInput/index.d.ts.map +1 -1
  1248. package/types/fields/Progress/index.d.ts +9 -2
  1249. package/types/fields/Progress/index.d.ts.map +1 -1
  1250. package/types/fields/RadioGroup/index.d.ts +7 -4
  1251. package/types/fields/RadioGroup/index.d.ts.map +1 -1
  1252. package/types/fields/Rating/index.d.ts +1 -0
  1253. package/types/fields/Rating/index.d.ts.map +1 -1
  1254. package/types/fields/Rating/ratingMath.d.ts +7 -0
  1255. package/types/fields/Rating/ratingMath.d.ts.map +1 -0
  1256. package/types/fields/SearchInput/index.d.ts +15 -3
  1257. package/types/fields/SearchInput/index.d.ts.map +1 -1
  1258. package/types/fields/Select/index.d.ts +7 -1
  1259. package/types/fields/Select/index.d.ts.map +1 -1
  1260. package/types/fields/Signature/index.d.ts +3 -3
  1261. package/types/fields/Signature/index.d.ts.map +1 -1
  1262. package/types/fields/Slider/index.d.ts.map +1 -1
  1263. package/types/fields/Stepper/index.d.ts +4 -4
  1264. package/types/fields/Stepper/index.d.ts.map +1 -1
  1265. package/types/fields/Stepper/resolveStepperPlacement.d.ts +7 -0
  1266. package/types/fields/Stepper/resolveStepperPlacement.d.ts.map +1 -0
  1267. package/types/fields/Switch/index.d.ts.map +1 -1
  1268. package/types/fields/TextArea/index.d.ts +3 -1
  1269. package/types/fields/TextArea/index.d.ts.map +1 -1
  1270. package/types/fields/TimePicker/index.d.ts.map +1 -1
  1271. package/types/fields/TimePicker/parts.d.ts +5 -13
  1272. package/types/fields/TimePicker/parts.d.ts.map +1 -1
  1273. package/types/fields/TimeRangeScrubber/geometry.d.ts +87 -0
  1274. package/types/fields/TimeRangeScrubber/geometry.d.ts.map +1 -0
  1275. package/types/fields/TimeRangeScrubber/index.d.ts +51 -0
  1276. package/types/fields/TimeRangeScrubber/index.d.ts.map +1 -0
  1277. package/types/fields/ToggleGroup/index.d.ts +1 -1
  1278. package/types/fields/ToggleGroup/index.d.ts.map +1 -1
  1279. package/types/fields/selectedOrder.d.ts +15 -0
  1280. package/types/fields/selectedOrder.d.ts.map +1 -0
  1281. package/types/index.d.ts +26 -13
  1282. package/types/index.d.ts.map +1 -1
  1283. package/types/shared/TimeColumn.d.ts +15 -13
  1284. package/types/shared/TimeColumn.d.ts.map +1 -1
  1285. package/types/shared/colorRamps.d.ts +28 -1
  1286. package/types/shared/colorRamps.d.ts.map +1 -1
  1287. package/types/shared/floatingList.d.ts.map +1 -1
  1288. package/types/shared/useKeyboardInset.d.ts +16 -0
  1289. package/types/shared/useKeyboardInset.d.ts.map +1 -0
  1290. package/types/shared/utils.d.ts +36 -6
  1291. package/types/shared/utils.d.ts.map +1 -1
  1292. package/types/themedPrimitives.d.ts +1 -1
  1293. package/types/themedPrimitives.d.ts.map +1 -1
@@ -0,0 +1,274 @@
1
+ import { useResolvedKnobs, warnCancelDisabled } from "@multiplatform.one/theme";
2
+ import { useStore } from "@tanstack/react-store";
3
+ import { useCallback, useEffect, useState } from "react";
4
+ import { AnimatePresence, Text, XStack, isWeb } from "tamagui";
5
+ import { Button } from "../Button/index.mjs";
6
+ import { collectFormFieldErrors } from "../ErrorSummary.mjs";
7
+ import { useFormContext } from "../Form/index.mjs";
8
+ import { Spinner } from "../Spinner/index.mjs";
9
+ import { formCommonColors } from "../shared/colorRamps.mjs";
10
+ import { t } from "../shared/t.mjs";
11
+ import { getElevationWrapperProps } from "../shared/utils.mjs";
12
+ import { zIndex } from "../shared/zIndex.mjs";
13
+ import { UnsavedChangesDialog } from "./UnsavedChangesDialog.mjs";
14
+ import { useUnsavedChangesGuard } from "./useUnsavedChangesGuard.mjs";
15
+ import { clientKnownIdentity } from "./clientKnownIdentity.mjs";
16
+ import { commitImmediateField } from "./commitImmediateField.mjs";
17
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
18
+ function dirtyCount(fieldMeta) {
19
+ return Object.values(fieldMeta).filter(meta => meta?.isDirty).length;
20
+ }
21
+ function fieldErrorCount(fieldMeta) {
22
+ return collectFormFieldErrors(fieldMeta).length;
23
+ }
24
+ function useSaveBarSnapshot() {
25
+ const form = useFormContext();
26
+ return useStore(form.store, state => ({
27
+ isDirty: Boolean(state.isDirty),
28
+ isSubmitting: Boolean(state.isSubmitting),
29
+ fieldMeta: state.fieldMeta ?? {},
30
+ submissionAttempts: state.submissionAttempts ?? 0,
31
+ values: state.values ?? {}
32
+ }));
33
+ }
34
+ function statusCopy(args) {
35
+ if (args.override) return {
36
+ text: args.override,
37
+ failed: false
38
+ };
39
+ if (args.isSubmitting) return {
40
+ text: t("Saving\u2026"),
41
+ failed: false
42
+ };
43
+ if (args.saveError) {
44
+ return {
45
+ text: t("Couldn't save \u2014 {{error}}. Edits are kept on this page.", {
46
+ error: args.saveError
47
+ }),
48
+ failed: true
49
+ };
50
+ }
51
+ if (args.submissionAttempts >= 1 && args.errorCount > 0) {
52
+ return {
53
+ text: t("Can't save yet \xB7 {{count}} fields need attention", {
54
+ count: args.errorCount
55
+ }),
56
+ failed: true
57
+ };
58
+ }
59
+ const qualifier = args.dirty > 0 ? args.dirty === 1 ? t("\xB7 1 field") : t("\xB7 {{count}} fields", {
60
+ count: args.dirty
61
+ }) : void 0;
62
+ return {
63
+ text: t("Unsaved changes"),
64
+ failed: false,
65
+ qualifier
66
+ };
67
+ }
68
+ function barRadius(knobProps) {
69
+ const top = knobProps.containerRadius.borderRadius;
70
+ return {
71
+ borderTopLeftRadius: top,
72
+ borderTopRightRadius: top,
73
+ borderBottomLeftRadius: 0,
74
+ borderBottomRightRadius: 0
75
+ };
76
+ }
77
+ function ContextualSaveBar({
78
+ forceVisible = false,
79
+ discardDisabled = false,
80
+ useBlocker,
81
+ onSaved,
82
+ message
83
+ }) {
84
+ const form = useFormContext();
85
+ const {
86
+ knobProps,
87
+ elevation
88
+ } = useResolvedKnobs();
89
+ const snap = useSaveBarSnapshot();
90
+ const [saveError, setSaveError] = useState(null);
91
+ const [discardOpen, setDiscardOpen] = useState(false);
92
+ const stagedDirty = dirtyCount(snap.fieldMeta);
93
+ const visible = forceVisible || snap.isDirty || snap.isSubmitting || Boolean(saveError);
94
+ const blocker = useUnsavedChangesGuard(snap.isDirty, useBlocker);
95
+ const guardOpen = discardOpen || blocker.state === "blocked";
96
+ useEffect(() => {
97
+ warnCancelDisabled({
98
+ disabled: discardDisabled,
99
+ component: "ContextualSaveBar"
100
+ });
101
+ }, [discardDisabled]);
102
+ const restoreFocusToForm = useCallback(() => {
103
+ if (!isWeb || typeof document === "undefined") return;
104
+ const bar = document.querySelector("[data-mp-contextual-savebar]");
105
+ const active = document.activeElement;
106
+ if (!bar || !active || !bar.contains(active)) return;
107
+ const formEl = document.querySelector("[data-mpo-form-layout]");
108
+ formEl?.focus?.();
109
+ }, []);
110
+ const handleSave = useCallback(async () => {
111
+ if (snap.isSubmitting) return;
112
+ setSaveError(null);
113
+ try {
114
+ await form.handleSubmit();
115
+ const errors = fieldErrorCount(form.store.state.fieldMeta ?? {});
116
+ if (errors > 0) return;
117
+ const values = form.store.state.values;
118
+ const update = form.update;
119
+ if (typeof update === "function") {
120
+ update({
121
+ defaultValues: values
122
+ });
123
+ }
124
+ form.reset(values);
125
+ onSaved?.(values);
126
+ restoreFocusToForm();
127
+ } catch (error) {
128
+ const text = error instanceof Error ? error.message : String(error);
129
+ setSaveError(text || "network unreachable");
130
+ }
131
+ }, [form, onSaved, restoreFocusToForm, snap.isSubmitting]);
132
+ const handleDiscardCommit = useCallback(() => {
133
+ setSaveError(null);
134
+ form.reset();
135
+ setDiscardOpen(false);
136
+ if (blocker.state === "blocked") blocker.proceed();
137
+ restoreFocusToForm();
138
+ }, [blocker, form, restoreFocusToForm]);
139
+ const handleKeepEditing = useCallback(() => {
140
+ setDiscardOpen(false);
141
+ if (blocker.state === "blocked") blocker.reset();
142
+ }, [blocker]);
143
+ useEffect(() => {
144
+ if (!visible || typeof document === "undefined") return;
145
+ const onKey = event => {
146
+ if ((event.metaKey || event.ctrlKey) && event.key.toLowerCase() === "s") {
147
+ event.preventDefault();
148
+ void handleSave();
149
+ }
150
+ };
151
+ document.addEventListener("keydown", onKey);
152
+ return () => document.removeEventListener("keydown", onKey);
153
+ }, [handleSave, visible]);
154
+ const copy = statusCopy({
155
+ isSubmitting: snap.isSubmitting,
156
+ saveError,
157
+ errorCount: fieldErrorCount(snap.fieldMeta),
158
+ submissionAttempts: snap.submissionAttempts,
159
+ dirty: stagedDirty,
160
+ override: message
161
+ });
162
+ const padX = knobProps.panelPadding.padding;
163
+ const borderWidth = knobProps.borderRadius.borderWidth;
164
+ const elevationProps = getElevationWrapperProps(knobProps, elevation);
165
+ const {
166
+ className: smoothClass,
167
+ ...smoothRest
168
+ } = knobProps.containerRadius;
169
+ const transition = knobProps.transition;
170
+ return /* @__PURE__ */jsxs(Fragment, {
171
+ children: [/* @__PURE__ */jsx(AnimatePresence, {
172
+ children: visible ? /* @__PURE__ */jsxs(XStack, {
173
+ "data-mp-contextual-savebar": "",
174
+ "data-mp-savebar-dock": "bottom",
175
+ role: "region",
176
+ "aria-label": t("Unsaved changes"),
177
+ position: "sticky",
178
+ bottom: 0,
179
+ width: "100%",
180
+ zIndex: zIndex.sheet,
181
+ alignItems: "center",
182
+ paddingTop: "$2.5",
183
+ paddingHorizontal: padX,
184
+ paddingBottom: "$2.5",
185
+ backgroundColor: "$color1",
186
+ borderStyle: "solid",
187
+ borderTopWidth: borderWidth,
188
+ borderTopColor: "$borderColor",
189
+ borderLeftWidth: 0,
190
+ borderRightWidth: 0,
191
+ borderBottomWidth: 0,
192
+ ...smoothRest,
193
+ ...barRadius(knobProps),
194
+ className: smoothClass,
195
+ ...knobProps.gap,
196
+ transition,
197
+ enterStyle: transition ? {
198
+ y: 12,
199
+ opacity: 0
200
+ } : void 0,
201
+ exitStyle: transition ? {
202
+ y: 12,
203
+ opacity: 0
204
+ } : void 0,
205
+ ...elevationProps,
206
+ style: {
207
+ ...(isWeb ? {
208
+ paddingBottom: "calc(10px + env(safe-area-inset-bottom, 0px))"
209
+ } : void 0),
210
+ ...elevationProps.style
211
+ },
212
+ children: [/* @__PURE__ */jsxs(XStack, {
213
+ flex: 1,
214
+ minWidth: 0,
215
+ alignItems: "baseline",
216
+ gap: "$2",
217
+ children: [/* @__PURE__ */jsx(Text, {
218
+ role: "status",
219
+ ...knobProps.body,
220
+ fontSize: "$4",
221
+ lineHeight: "$4",
222
+ color: copy.failed ? formCommonColors.error : "$color",
223
+ numberOfLines: 1,
224
+ ellipsizeMode: "tail",
225
+ children: copy.text
226
+ }), copy.qualifier ? /* @__PURE__ */jsx(Text, {
227
+ ...knobProps.body,
228
+ fontSize: "$4",
229
+ lineHeight: "$4",
230
+ color: knobProps.textAccentColor,
231
+ flexShrink: 0,
232
+ children: copy.qualifier
233
+ }) : null]
234
+ }), /* @__PURE__ */jsxs(XStack, {
235
+ "data-mp-savebar-actions": "",
236
+ alignItems: "center",
237
+ ...knobProps.gap,
238
+ marginLeft: "auto",
239
+ flexShrink: 0,
240
+ children: [/* @__PURE__ */jsx(Button, {
241
+ outlined: true,
242
+ size: "$4",
243
+ "data-mp-savebar-discard": "",
244
+ "data-mp-cancel-disabled-ignored": discardDisabled ? "true" : void 0,
245
+ onPress: () => setDiscardOpen(true),
246
+ children: t("Discard")
247
+ }), /* @__PURE__ */jsx(Button, {
248
+ theme: "active",
249
+ outlined: knobProps.outlined,
250
+ actionRole: "primary",
251
+ size: "$4",
252
+ icon: snap.isSubmitting ? /* @__PURE__ */jsx(Spinner, {
253
+ size: "small"
254
+ }) : void 0,
255
+ disabled: snap.isSubmitting || void 0,
256
+ disabledReason: snap.isSubmitting ? t("Saving") : void 0,
257
+ "data-mp-savebar-save": "",
258
+ onPress: () => {
259
+ void handleSave();
260
+ },
261
+ children: t("Save")
262
+ })]
263
+ })]
264
+ }, "contextual-savebar") : null
265
+ }), /* @__PURE__ */jsx(UnsavedChangesDialog, {
266
+ open: guardOpen,
267
+ fieldCount: Math.max(stagedDirty, 1),
268
+ onKeepEditing: handleKeepEditing,
269
+ onDiscard: handleDiscardCommit
270
+ })]
271
+ });
272
+ }
273
+ export { ContextualSaveBar, clientKnownIdentity, commitImmediateField };
274
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useResolvedKnobs","warnCancelDisabled","useStore","useCallback","useEffect","useState","AnimatePresence","Text","XStack","isWeb","Button","collectFormFieldErrors","useFormContext","Spinner","formCommonColors","t","getElevationWrapperProps","zIndex","UnsavedChangesDialog","useUnsavedChangesGuard","clientKnownIdentity","commitImmediateField","Fragment","jsx","jsxs","dirtyCount","fieldMeta","Object","values","filter","meta","isDirty","length","fieldErrorCount","useSaveBarSnapshot","form","store","state","Boolean","isSubmitting","submissionAttempts","statusCopy","args","override","text","failed","saveError","error","errorCount","count","qualifier","dirty","barRadius","knobProps","top","containerRadius","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","ContextualSaveBar","forceVisible","discardDisabled","useBlocker","onSaved","message","elevation","snap","setSaveError","discardOpen","setDiscardOpen","stagedDirty","visible","blocker","guardOpen","disabled","component","restoreFocusToForm","document","bar","querySelector","active","activeElement","contains","formEl","focus","handleSave","handleSubmit","errors","update","defaultValues","reset","Error","String","handleDiscardCommit","proceed","handleKeepEditing","onKey","event","metaKey","ctrlKey","key","toLowerCase","preventDefault","addEventListener","removeEventListener","copy","padX","panelPadding","padding","borderWidth","elevationProps","className","smoothClass","smoothRest","transition","children","role","position","bottom","width","sheet","alignItems","paddingTop","paddingHorizontal","paddingBottom","backgroundColor","borderStyle","borderTopWidth","borderTopColor","borderLeftWidth","borderRightWidth","borderBottomWidth","gap","enterStyle","y","opacity","exitStyle","style","flex","minWidth","body","fontSize","lineHeight","color","numberOfLines","ellipsizeMode","textAccentColor","flexShrink","marginLeft","outlined","size","onPress","theme","actionRole","icon","disabledReason","open","fieldCount","Math","max","onKeepEditing","onDiscard"],"sources":["../../../src/ContextualSaveBar/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,295 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useResolvedKnobs, warnCancelDisabled } from "@multiplatform.one/theme";
3
+ import { useStore } from "@tanstack/react-store";
4
+ import { useCallback, useEffect, useState } from "react";
5
+ import { AnimatePresence, Text, XStack, isWeb } from "tamagui";
6
+ import { Button } from "../Button/index.native.js";
7
+ import { collectFormFieldErrors } from "../ErrorSummary.native.js";
8
+ import { useFormContext } from "../Form/index.native.js";
9
+ import { Spinner } from "../Spinner/index.native.js";
10
+ import { formCommonColors } from "../shared/colorRamps.native.js";
11
+ import { t } from "../shared/t.native.js";
12
+ import { getElevationWrapperProps } from "../shared/utils.native.js";
13
+ import { zIndex } from "../shared/zIndex.native.js";
14
+ import { UnsavedChangesDialog } from "./UnsavedChangesDialog.native.js";
15
+ import { useUnsavedChangesGuard } from "./useUnsavedChangesGuard.native.js";
16
+ import { clientKnownIdentity } from "./clientKnownIdentity.native.js";
17
+ import { commitImmediateField } from "./commitImmediateField.native.js";
18
+ function _instanceof(left, right) {
19
+ "@swc/helpers - instanceof";
20
+
21
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
22
+ return !!right[Symbol.hasInstance](left);
23
+ } else {
24
+ return left instanceof right;
25
+ }
26
+ }
27
+ function dirtyCount(fieldMeta) {
28
+ return Object.values(fieldMeta).filter(function (meta) {
29
+ return meta === null || meta === void 0 ? void 0 : meta.isDirty;
30
+ }).length;
31
+ }
32
+ function fieldErrorCount(fieldMeta) {
33
+ return collectFormFieldErrors(fieldMeta).length;
34
+ }
35
+ function useSaveBarSnapshot() {
36
+ var form = useFormContext();
37
+ return useStore(form.store, function (state) {
38
+ var _state_fieldMeta, _state_submissionAttempts, _state_values;
39
+ return {
40
+ isDirty: Boolean(state.isDirty),
41
+ isSubmitting: Boolean(state.isSubmitting),
42
+ fieldMeta: (_state_fieldMeta = state.fieldMeta) !== null && _state_fieldMeta !== void 0 ? _state_fieldMeta : {},
43
+ submissionAttempts: (_state_submissionAttempts = state.submissionAttempts) !== null && _state_submissionAttempts !== void 0 ? _state_submissionAttempts : 0,
44
+ values: (_state_values = state.values) !== null && _state_values !== void 0 ? _state_values : {}
45
+ };
46
+ });
47
+ }
48
+ function statusCopy(args) {
49
+ if (args.override) return {
50
+ text: args.override,
51
+ failed: false
52
+ };
53
+ if (args.isSubmitting) return {
54
+ text: t("Saving\u2026"),
55
+ failed: false
56
+ };
57
+ if (args.saveError) {
58
+ return {
59
+ text: t("Couldn't save \u2014 {{error}}. Edits are kept on this page.", {
60
+ error: args.saveError
61
+ }),
62
+ failed: true
63
+ };
64
+ }
65
+ if (args.submissionAttempts >= 1 && args.errorCount > 0) {
66
+ return {
67
+ text: t("Can't save yet \xB7 {{count}} fields need attention", {
68
+ count: args.errorCount
69
+ }),
70
+ failed: true
71
+ };
72
+ }
73
+ var qualifier = args.dirty > 0 ? args.dirty === 1 ? t("\xB7 1 field") : t("\xB7 {{count}} fields", {
74
+ count: args.dirty
75
+ }) : void 0;
76
+ return {
77
+ text: t("Unsaved changes"),
78
+ failed: false,
79
+ qualifier
80
+ };
81
+ }
82
+ function barRadius(knobProps) {
83
+ var top = knobProps.containerRadius.borderRadius;
84
+ return {
85
+ borderTopLeftRadius: top,
86
+ borderTopRightRadius: top,
87
+ borderBottomLeftRadius: 0,
88
+ borderBottomRightRadius: 0
89
+ };
90
+ }
91
+ function ContextualSaveBar(param) {
92
+ var {
93
+ forceVisible = false,
94
+ discardDisabled = false,
95
+ useBlocker,
96
+ onSaved,
97
+ message
98
+ } = param;
99
+ var form = useFormContext();
100
+ var {
101
+ knobProps,
102
+ elevation
103
+ } = useResolvedKnobs();
104
+ var snap = useSaveBarSnapshot();
105
+ var [saveError, setSaveError] = useState(null);
106
+ var [discardOpen, setDiscardOpen] = useState(false);
107
+ var stagedDirty = dirtyCount(snap.fieldMeta);
108
+ var visible = forceVisible || snap.isDirty || snap.isSubmitting || Boolean(saveError);
109
+ var blocker = useUnsavedChangesGuard(snap.isDirty, useBlocker);
110
+ var guardOpen = discardOpen || blocker.state === "blocked";
111
+ useEffect(function () {
112
+ warnCancelDisabled({
113
+ disabled: discardDisabled,
114
+ component: "ContextualSaveBar"
115
+ });
116
+ }, [discardDisabled]);
117
+ var restoreFocusToForm = useCallback(function () {
118
+ var _formEl_focus;
119
+ if (!isWeb || typeof document === "undefined") return;
120
+ var bar = document.querySelector("[data-mp-contextual-savebar]");
121
+ var active = document.activeElement;
122
+ if (!bar || !active || !bar.contains(active)) return;
123
+ var formEl = document.querySelector("[data-mpo-form-layout]");
124
+ formEl === null || formEl === void 0 ? void 0 : (_formEl_focus = formEl.focus) === null || _formEl_focus === void 0 ? void 0 : _formEl_focus.call(formEl);
125
+ }, []);
126
+ var handleSave = useCallback(async function () {
127
+ if (snap.isSubmitting) return;
128
+ setSaveError(null);
129
+ try {
130
+ var _form_store_state_fieldMeta;
131
+ await form.handleSubmit();
132
+ var errors = fieldErrorCount((_form_store_state_fieldMeta = form.store.state.fieldMeta) !== null && _form_store_state_fieldMeta !== void 0 ? _form_store_state_fieldMeta : {});
133
+ if (errors > 0) return;
134
+ var values = form.store.state.values;
135
+ var update = form.update;
136
+ if (typeof update === "function") {
137
+ update({
138
+ defaultValues: values
139
+ });
140
+ }
141
+ form.reset(values);
142
+ onSaved === null || onSaved === void 0 ? void 0 : onSaved(values);
143
+ restoreFocusToForm();
144
+ } catch (error) {
145
+ var text = _instanceof(error, Error) ? error.message : String(error);
146
+ setSaveError(text || "network unreachable");
147
+ }
148
+ }, [form, onSaved, restoreFocusToForm, snap.isSubmitting]);
149
+ var handleDiscardCommit = useCallback(function () {
150
+ setSaveError(null);
151
+ form.reset();
152
+ setDiscardOpen(false);
153
+ if (blocker.state === "blocked") blocker.proceed();
154
+ restoreFocusToForm();
155
+ }, [blocker, form, restoreFocusToForm]);
156
+ var handleKeepEditing = useCallback(function () {
157
+ setDiscardOpen(false);
158
+ if (blocker.state === "blocked") blocker.reset();
159
+ }, [blocker]);
160
+ useEffect(function () {
161
+ if (!visible || typeof document === "undefined") return;
162
+ var onKey = function onKey2(event) {
163
+ if ((event.metaKey || event.ctrlKey) && event.key.toLowerCase() === "s") {
164
+ event.preventDefault();
165
+ void handleSave();
166
+ }
167
+ };
168
+ document.addEventListener("keydown", onKey);
169
+ return function () {
170
+ return document.removeEventListener("keydown", onKey);
171
+ };
172
+ }, [handleSave, visible]);
173
+ var copy = statusCopy({
174
+ isSubmitting: snap.isSubmitting,
175
+ saveError,
176
+ errorCount: fieldErrorCount(snap.fieldMeta),
177
+ submissionAttempts: snap.submissionAttempts,
178
+ dirty: stagedDirty,
179
+ override: message
180
+ });
181
+ var padX = knobProps.panelPadding.padding;
182
+ var borderWidth = knobProps.borderRadius.borderWidth;
183
+ var elevationProps = getElevationWrapperProps(knobProps, elevation);
184
+ var {
185
+ className: smoothClass,
186
+ ...smoothRest
187
+ } = knobProps.containerRadius;
188
+ var transition = knobProps.transition;
189
+ return /* @__PURE__ */_jsxs(_Fragment, {
190
+ children: [/* @__PURE__ */_jsx(AnimatePresence, {
191
+ children: visible ? /* @__PURE__ */_jsxs(XStack, {
192
+ "data-mp-contextual-savebar": "",
193
+ "data-mp-savebar-dock": "bottom",
194
+ role: "region",
195
+ "aria-label": t("Unsaved changes"),
196
+ position: "sticky",
197
+ bottom: 0,
198
+ width: "100%",
199
+ zIndex: zIndex.sheet,
200
+ alignItems: "center",
201
+ paddingTop: "$2.5",
202
+ paddingHorizontal: padX,
203
+ paddingBottom: "$2.5",
204
+ backgroundColor: "$color1",
205
+ borderStyle: "solid",
206
+ borderTopWidth: borderWidth,
207
+ borderTopColor: "$borderColor",
208
+ borderLeftWidth: 0,
209
+ borderRightWidth: 0,
210
+ borderBottomWidth: 0,
211
+ ...smoothRest,
212
+ ...barRadius(knobProps),
213
+ className: smoothClass,
214
+ ...knobProps.gap,
215
+ transition,
216
+ enterStyle: transition ? {
217
+ y: 12,
218
+ opacity: 0
219
+ } : void 0,
220
+ exitStyle: transition ? {
221
+ y: 12,
222
+ opacity: 0
223
+ } : void 0,
224
+ ...elevationProps,
225
+ style: {
226
+ ...(isWeb ? {
227
+ paddingBottom: "calc(10px + env(safe-area-inset-bottom, 0px))"
228
+ } : void 0),
229
+ ...elevationProps.style
230
+ },
231
+ children: [/* @__PURE__ */_jsxs(XStack, {
232
+ flex: 1,
233
+ minWidth: 0,
234
+ alignItems: "baseline",
235
+ gap: "$2",
236
+ children: [/* @__PURE__ */_jsx(Text, {
237
+ role: "status",
238
+ ...knobProps.body,
239
+ fontSize: "$4",
240
+ lineHeight: "$4",
241
+ color: copy.failed ? formCommonColors.error : "$color",
242
+ numberOfLines: 1,
243
+ ellipsizeMode: "tail",
244
+ children: copy.text
245
+ }), copy.qualifier ? /* @__PURE__ */_jsx(Text, {
246
+ ...knobProps.body,
247
+ fontSize: "$4",
248
+ lineHeight: "$4",
249
+ color: knobProps.textAccentColor,
250
+ flexShrink: 0,
251
+ children: copy.qualifier
252
+ }) : null]
253
+ }), /* @__PURE__ */_jsxs(XStack, {
254
+ "data-mp-savebar-actions": "",
255
+ alignItems: "center",
256
+ ...knobProps.gap,
257
+ marginLeft: "auto",
258
+ flexShrink: 0,
259
+ children: [/* @__PURE__ */_jsx(Button, {
260
+ outlined: true,
261
+ size: "$4",
262
+ "data-mp-savebar-discard": "",
263
+ "data-mp-cancel-disabled-ignored": discardDisabled ? "true" : void 0,
264
+ onPress: function onPress() {
265
+ return setDiscardOpen(true);
266
+ },
267
+ children: t("Discard")
268
+ }), /* @__PURE__ */_jsx(Button, {
269
+ theme: "active",
270
+ outlined: knobProps.outlined,
271
+ actionRole: "primary",
272
+ size: "$4",
273
+ icon: snap.isSubmitting ? /* @__PURE__ */_jsx(Spinner, {
274
+ size: "small"
275
+ }) : void 0,
276
+ disabled: snap.isSubmitting || void 0,
277
+ disabledReason: snap.isSubmitting ? t("Saving") : void 0,
278
+ "data-mp-savebar-save": "",
279
+ onPress: function onPress() {
280
+ void handleSave();
281
+ },
282
+ children: t("Save")
283
+ })]
284
+ })]
285
+ }, "contextual-savebar") : null
286
+ }), /* @__PURE__ */_jsx(UnsavedChangesDialog, {
287
+ open: guardOpen,
288
+ fieldCount: Math.max(stagedDirty, 1),
289
+ onKeepEditing: handleKeepEditing,
290
+ onDiscard: handleDiscardCommit
291
+ })]
292
+ });
293
+ }
294
+ export { ContextualSaveBar, clientKnownIdentity, commitImmediateField };
295
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useResolvedKnobs","warnCancelDisabled","useStore","useCallback","useEffect","useState","AnimatePresence","Text","XStack","isWeb","Button","collectFormFieldErrors","useFormContext","Spinner","formCommonColors","t","getElevationWrapperProps","zIndex","UnsavedChangesDialog","useUnsavedChangesGuard","clientKnownIdentity","commitImmediateField","_instanceof","left","right","Symbol","hasInstance","dirtyCount","fieldMeta","Object","values","filter","meta","isDirty","length","fieldErrorCount","useSaveBarSnapshot","form","store","state","_state_fieldMeta","_state_submissionAttempts","_state_values","Boolean","isSubmitting","submissionAttempts","statusCopy","args","override","text","failed","saveError","error","errorCount","count","qualifier","dirty","barRadius","knobProps","top","containerRadius","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","ContextualSaveBar","param","forceVisible","discardDisabled","useBlocker","onSaved","message","elevation","snap","setSaveError","discardOpen","setDiscardOpen","stagedDirty","visible","blocker","guardOpen","disabled","component","restoreFocusToForm","_formEl_focus","document","bar","querySelector","active","activeElement","contains","formEl","focus","call","handleSave","_form_store_state_fieldMeta","handleSubmit","errors","update","defaultValues","reset","Error","String","handleDiscardCommit","proceed","handleKeepEditing","onKey","onKey2","event","metaKey","ctrlKey","key","toLowerCase","preventDefault","addEventListener","removeEventListener","copy","padX","panelPadding","padding","borderWidth","elevationProps","className","smoothClass","smoothRest","transition","children","role","position","bottom","width","sheet","alignItems","paddingTop","paddingHorizontal","paddingBottom","backgroundColor","borderStyle","borderTopWidth","borderTopColor","borderLeftWidth","borderRightWidth","borderBottomWidth","gap","enterStyle","y","opacity","exitStyle","style","flex","minWidth","body","fontSize","lineHeight","color","numberOfLines","ellipsizeMode","textAccentColor","flexShrink","marginLeft","outlined","size","onPress","theme","actionRole","icon","disabledReason","open","fieldCount","Math","max","onKeepEditing","onDiscard"],"sources":["index.native.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useResolvedKnobs, warnCancelDisabled } from \"@multiplatform.one/theme\";\nimport { useStore } from \"@tanstack/react-store\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { AnimatePresence, Text, XStack, isWeb } from \"tamagui\";\nimport { Button } from \"../Button\";\nimport { collectFormFieldErrors } from \"../ErrorSummary\";\nimport { useFormContext } from \"../Form\";\nimport { Spinner } from \"../Spinner\";\nimport { formCommonColors } from \"../shared/colorRamps\";\nimport { t } from \"../shared/t\";\nimport { getElevationWrapperProps } from \"../shared/utils\";\nimport { zIndex } from \"../shared/zIndex\";\nimport { UnsavedChangesDialog } from \"./UnsavedChangesDialog\";\nimport { useUnsavedChangesGuard } from \"./useUnsavedChangesGuard\";\nimport { clientKnownIdentity } from \"./clientKnownIdentity\";\nimport { commitImmediateField } from \"./commitImmediateField\";\nfunction _instanceof(left, right) {\n \"@swc/helpers - instanceof\";\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction dirtyCount(fieldMeta) {\n return Object.values(fieldMeta).filter(function(meta) {\n return meta === null || meta === void 0 ? void 0 : meta.isDirty;\n }).length;\n}\nfunction fieldErrorCount(fieldMeta) {\n return collectFormFieldErrors(fieldMeta).length;\n}\nfunction useSaveBarSnapshot() {\n var form = useFormContext();\n return useStore(form.store, function(state) {\n var _state_fieldMeta, _state_submissionAttempts, _state_values;\n return {\n isDirty: Boolean(state.isDirty),\n isSubmitting: Boolean(state.isSubmitting),\n fieldMeta: (_state_fieldMeta = state.fieldMeta) !== null && _state_fieldMeta !== void 0 ? _state_fieldMeta : {},\n submissionAttempts: (_state_submissionAttempts = state.submissionAttempts) !== null && _state_submissionAttempts !== void 0 ? _state_submissionAttempts : 0,\n values: (_state_values = state.values) !== null && _state_values !== void 0 ? _state_values : {}\n };\n });\n}\nfunction statusCopy(args) {\n if (args.override) return {\n text: args.override,\n failed: false\n };\n if (args.isSubmitting) return {\n text: t(\"Saving\\u2026\"),\n failed: false\n };\n if (args.saveError) {\n return {\n text: t(\"Couldn't save \\u2014 {{error}}. Edits are kept on this page.\", {\n error: args.saveError\n }),\n failed: true\n };\n }\n if (args.submissionAttempts >= 1 && args.errorCount > 0) {\n return {\n text: t(\"Can't save yet \\xB7 {{count}} fields need attention\", {\n count: args.errorCount\n }),\n failed: true\n };\n }\n var qualifier = args.dirty > 0 ? args.dirty === 1 ? t(\"\\xB7 1 field\") : t(\"\\xB7 {{count}} fields\", {\n count: args.dirty\n }) : void 0;\n return {\n text: t(\"Unsaved changes\"),\n failed: false,\n qualifier\n };\n}\nfunction barRadius(knobProps) {\n var top = knobProps.containerRadius.borderRadius;\n return {\n borderTopLeftRadius: top,\n borderTopRightRadius: top,\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0\n };\n}\nfunction ContextualSaveBar(param) {\n var { forceVisible = false, discardDisabled = false, useBlocker, onSaved, message } = param;\n var form = useFormContext();\n var { knobProps, elevation } = useResolvedKnobs();\n var snap = useSaveBarSnapshot();\n var [saveError, setSaveError] = useState(null);\n var [discardOpen, setDiscardOpen] = useState(false);\n var stagedDirty = dirtyCount(snap.fieldMeta);\n var visible = forceVisible || snap.isDirty || snap.isSubmitting || Boolean(saveError);\n var blocker = useUnsavedChangesGuard(snap.isDirty, useBlocker);\n var guardOpen = discardOpen || blocker.state === \"blocked\";\n useEffect(function() {\n warnCancelDisabled({\n disabled: discardDisabled,\n component: \"ContextualSaveBar\"\n });\n }, [\n discardDisabled\n ]);\n var restoreFocusToForm = useCallback(function() {\n var _formEl_focus;\n if (!isWeb || typeof document === \"undefined\") return;\n var bar = document.querySelector(\"[data-mp-contextual-savebar]\");\n var active = document.activeElement;\n if (!bar || !active || !bar.contains(active)) return;\n var formEl = document.querySelector(\"[data-mpo-form-layout]\");\n formEl === null || formEl === void 0 ? void 0 : (_formEl_focus = formEl.focus) === null || _formEl_focus === void 0 ? void 0 : _formEl_focus.call(formEl);\n }, []);\n var handleSave = useCallback(async function() {\n if (snap.isSubmitting) return;\n setSaveError(null);\n try {\n var _form_store_state_fieldMeta;\n await form.handleSubmit();\n var errors = fieldErrorCount((_form_store_state_fieldMeta = form.store.state.fieldMeta) !== null && _form_store_state_fieldMeta !== void 0 ? _form_store_state_fieldMeta : {});\n if (errors > 0) return;\n var values = form.store.state.values;\n var update = form.update;\n if (typeof update === \"function\") {\n update({\n defaultValues: values\n });\n }\n form.reset(values);\n onSaved === null || onSaved === void 0 ? void 0 : onSaved(values);\n restoreFocusToForm();\n } catch (error) {\n var text = _instanceof(error, Error) ? error.message : String(error);\n setSaveError(text || \"network unreachable\");\n }\n }, [\n form,\n onSaved,\n restoreFocusToForm,\n snap.isSubmitting\n ]);\n var handleDiscardCommit = useCallback(function() {\n setSaveError(null);\n form.reset();\n setDiscardOpen(false);\n if (blocker.state === \"blocked\") blocker.proceed();\n restoreFocusToForm();\n }, [\n blocker,\n form,\n restoreFocusToForm\n ]);\n var handleKeepEditing = useCallback(function() {\n setDiscardOpen(false);\n if (blocker.state === \"blocked\") blocker.reset();\n }, [\n blocker\n ]);\n useEffect(function() {\n if (!visible || typeof document === \"undefined\") return;\n var onKey = function onKey2(event) {\n if ((event.metaKey || event.ctrlKey) && event.key.toLowerCase() === \"s\") {\n event.preventDefault();\n void handleSave();\n }\n };\n document.addEventListener(\"keydown\", onKey);\n return function() {\n return document.removeEventListener(\"keydown\", onKey);\n };\n }, [\n handleSave,\n visible\n ]);\n var copy = statusCopy({\n isSubmitting: snap.isSubmitting,\n saveError,\n errorCount: fieldErrorCount(snap.fieldMeta),\n submissionAttempts: snap.submissionAttempts,\n dirty: stagedDirty,\n override: message\n });\n var padX = knobProps.panelPadding.padding;\n var borderWidth = knobProps.borderRadius.borderWidth;\n var elevationProps = getElevationWrapperProps(knobProps, elevation);\n var { className: smoothClass, ...smoothRest } = knobProps.containerRadius;\n var transition = knobProps.transition;\n return /* @__PURE__ */ _jsxs(_Fragment, {\n children: [\n /* @__PURE__ */ _jsx(AnimatePresence, {\n children: visible ? /* @__PURE__ */ _jsxs(XStack, {\n \"data-mp-contextual-savebar\": \"\",\n \"data-mp-savebar-dock\": \"bottom\",\n role: \"region\",\n \"aria-label\": t(\"Unsaved changes\"),\n position: \"sticky\",\n bottom: 0,\n width: \"100%\",\n zIndex: zIndex.sheet,\n alignItems: \"center\",\n paddingTop: \"$2.5\",\n paddingHorizontal: padX,\n paddingBottom: \"$2.5\",\n backgroundColor: \"$color1\",\n borderStyle: \"solid\",\n borderTopWidth: borderWidth,\n borderTopColor: \"$borderColor\",\n borderLeftWidth: 0,\n borderRightWidth: 0,\n borderBottomWidth: 0,\n ...smoothRest,\n ...barRadius(knobProps),\n className: smoothClass,\n ...knobProps.gap,\n transition,\n enterStyle: transition ? {\n y: 12,\n opacity: 0\n } : void 0,\n exitStyle: transition ? {\n y: 12,\n opacity: 0\n } : void 0,\n ...elevationProps,\n style: {\n ...isWeb ? {\n paddingBottom: \"calc(10px + env(safe-area-inset-bottom, 0px))\"\n } : void 0,\n ...elevationProps.style\n },\n children: [\n /* @__PURE__ */ _jsxs(XStack, {\n flex: 1,\n minWidth: 0,\n alignItems: \"baseline\",\n gap: \"$2\",\n children: [\n /* @__PURE__ */ _jsx(Text, {\n role: \"status\",\n ...knobProps.body,\n fontSize: \"$4\",\n lineHeight: \"$4\",\n color: copy.failed ? formCommonColors.error : \"$color\",\n numberOfLines: 1,\n ellipsizeMode: \"tail\",\n children: copy.text\n }),\n copy.qualifier ? /* @__PURE__ */ _jsx(Text, {\n ...knobProps.body,\n fontSize: \"$4\",\n lineHeight: \"$4\",\n color: knobProps.textAccentColor,\n flexShrink: 0,\n children: copy.qualifier\n }) : null\n ]\n }),\n /* @__PURE__ */ _jsxs(XStack, {\n \"data-mp-savebar-actions\": \"\",\n alignItems: \"center\",\n ...knobProps.gap,\n marginLeft: \"auto\",\n flexShrink: 0,\n children: [\n /* @__PURE__ */ _jsx(Button, {\n outlined: true,\n size: \"$4\",\n \"data-mp-savebar-discard\": \"\",\n \"data-mp-cancel-disabled-ignored\": discardDisabled ? \"true\" : void 0,\n onPress: function onPress() {\n return setDiscardOpen(true);\n },\n children: t(\"Discard\")\n }),\n /* @__PURE__ */ _jsx(Button, {\n theme: \"active\",\n outlined: knobProps.outlined,\n actionRole: \"primary\",\n size: \"$4\",\n icon: snap.isSubmitting ? /* @__PURE__ */ _jsx(Spinner, {\n size: \"small\"\n }) : void 0,\n disabled: snap.isSubmitting || void 0,\n disabledReason: snap.isSubmitting ? t(\"Saving\") : void 0,\n \"data-mp-savebar-save\": \"\",\n onPress: function onPress() {\n void handleSave();\n },\n children: t(\"Save\")\n })\n ]\n })\n ]\n }, \"contextual-savebar\") : null\n }),\n /* @__PURE__ */ _jsx(UnsavedChangesDialog, {\n open: guardOpen,\n fieldCount: Math.max(stagedDirty, 1),\n onKeepEditing: handleKeepEditing,\n onDiscard: handleDiscardCommit\n })\n ]\n });\n}\nexport {\n ContextualSaveBar,\n clientKnownIdentity,\n commitImmediateField\n};\n//# sourceMappingURL=index.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ import { useEffect } from "react";
2
+ const idleBlocker = {
3
+ state: "unblocked",
4
+ proceed: () => {},
5
+ reset: () => {}
6
+ };
7
+ function useUnsavedChangesGuard(isDirty, useBlocker) {
8
+ const blocker = useBlocker?.(isDirty) ?? idleBlocker;
9
+ useEffect(() => {
10
+ if (!isDirty) return;
11
+ if (typeof window === "undefined" || typeof window.addEventListener !== "function") {
12
+ return;
13
+ }
14
+ const handler = event => {
15
+ event.preventDefault();
16
+ event.returnValue = "";
17
+ };
18
+ window.addEventListener("beforeunload", handler);
19
+ return () => window.removeEventListener("beforeunload", handler);
20
+ }, [isDirty]);
21
+ return blocker;
22
+ }
23
+ export { useUnsavedChangesGuard };
24
+ //# sourceMappingURL=useUnsavedChangesGuard.mjs.map