@multiplatform.one/forms 7.71.0 → 7.72.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 (667) hide show
  1. package/dist/cjs/AdaptivePopup/index.native.js +2 -2
  2. package/dist/cjs/AdaptivePopup/index.native.js.map +1 -1
  3. package/dist/cjs/Button/IconButtonGroup.native.js.map +1 -1
  4. package/dist/cjs/Button/iconButtonGroupContext.native.js.map +1 -1
  5. package/dist/cjs/Button/index.cjs +16 -0
  6. package/dist/cjs/Button/index.native.js +18 -2
  7. package/dist/cjs/Button/index.native.js.map +1 -1
  8. package/dist/cjs/Button/mediaPlate.native.js.map +1 -1
  9. package/dist/cjs/Chip/index.native.js.map +1 -1
  10. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js +1 -1
  11. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
  12. package/dist/cjs/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -1
  13. package/dist/cjs/ContextualSaveBar/commitImmediateField.native.js.map +1 -1
  14. package/dist/cjs/ContextualSaveBar/index.native.js +3 -3
  15. package/dist/cjs/ContextualSaveBar/index.native.js.map +1 -1
  16. package/dist/cjs/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -1
  17. package/dist/cjs/ControlGroup/index.native.js +1 -1
  18. package/dist/cjs/ControlGroup/index.native.js.map +1 -1
  19. package/dist/cjs/DescriptionList/index.native.js +2 -2
  20. package/dist/cjs/DescriptionList/index.native.js.map +1 -1
  21. package/dist/cjs/ErrorSummary.native.js.map +1 -1
  22. package/dist/cjs/FieldDisplay/editMode.native.js.map +1 -1
  23. package/dist/cjs/FieldDisplay/formatters.native.js.map +1 -1
  24. package/dist/cjs/FieldDisplay/index.native.js +1 -1
  25. package/dist/cjs/FieldDisplay/index.native.js.map +1 -1
  26. package/dist/cjs/FieldGroup.native.js.map +1 -1
  27. package/dist/cjs/FloatingPanel/RegularPanel.native.js.map +1 -1
  28. package/dist/cjs/FloatingPanel/compactFace.native.js.map +1 -1
  29. package/dist/cjs/FloatingPanel/containingBlock.native.js.map +1 -1
  30. package/dist/cjs/FloatingPanel/echoContext.cjs +39 -0
  31. package/dist/cjs/FloatingPanel/echoContext.native.js +42 -0
  32. package/dist/cjs/FloatingPanel/echoContext.native.js.map +1 -0
  33. package/dist/cjs/FloatingPanel/index.cjs +212 -80
  34. package/dist/cjs/FloatingPanel/index.native.js +92 -17
  35. package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
  36. package/dist/cjs/FloatingPanel/nestedAction.native.js.map +1 -1
  37. package/dist/cjs/FloatingPanel/panelWidth.cjs +92 -0
  38. package/dist/cjs/FloatingPanel/panelWidth.native.js +99 -0
  39. package/dist/cjs/FloatingPanel/panelWidth.native.js.map +1 -0
  40. package/dist/cjs/FloatingPanel/pointAnchor.cjs +15 -5
  41. package/dist/cjs/FloatingPanel/pointAnchor.native.js +15 -5
  42. package/dist/cjs/FloatingPanel/pointAnchor.native.js.map +1 -1
  43. package/dist/cjs/FloatingPanel/regularPlacement.native.js.map +1 -1
  44. package/dist/cjs/FloatingPanel/trailingAction.native.js +1 -1
  45. package/dist/cjs/FloatingPanel/trailingAction.native.js.map +1 -1
  46. package/dist/cjs/FloatingPanel/useFloatingPanel.cjs +58 -4
  47. package/dist/cjs/FloatingPanel/useFloatingPanel.native.js +69 -4
  48. package/dist/cjs/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  49. package/dist/cjs/Form/index.native.js +1 -1
  50. package/dist/cjs/Form/index.native.js.map +1 -1
  51. package/dist/cjs/Form/submissionController.native.js.map +1 -1
  52. package/dist/cjs/Form/validateOn.native.js.map +1 -1
  53. package/dist/cjs/FormGrid.native.js.map +1 -1
  54. package/dist/cjs/FormSection.native.js.map +1 -1
  55. package/dist/cjs/InputParts/PasswordReveal.native.js.map +1 -1
  56. package/dist/cjs/InputParts/index.cjs +18 -0
  57. package/dist/cjs/InputParts/index.native.js +19 -1
  58. package/dist/cjs/InputParts/index.native.js.map +1 -1
  59. package/dist/cjs/Label/index.native.js.map +1 -1
  60. package/dist/cjs/MediaPicker/base64.native.js.map +1 -1
  61. package/dist/cjs/MediaPicker/payload.native.js.map +1 -1
  62. package/dist/cjs/MediaPicker/types.native.js.map +1 -1
  63. package/dist/cjs/MediaPicker/useMediaPicker.native.js.map +1 -1
  64. package/dist/cjs/Skeleton/index.native.js.map +1 -1
  65. package/dist/cjs/Spinner/SpinnerGlyph.native.js.map +1 -1
  66. package/dist/cjs/Spinner/spinnerSize.native.js.map +1 -1
  67. package/dist/cjs/Table/index.native.js.map +1 -1
  68. package/dist/cjs/Wheel/NativeWheel.native.js +1 -1
  69. package/dist/cjs/Wheel/NativeWheel.native.js.map +1 -1
  70. package/dist/cjs/Wheel/haptic.native.js.map +1 -1
  71. package/dist/cjs/Wheel/index.cjs +2 -1
  72. package/dist/cjs/Wheel/index.native.js +4 -1
  73. package/dist/cjs/Wheel/index.native.js.map +1 -1
  74. package/dist/cjs/Wheel/wheelShared.cjs +6 -1
  75. package/dist/cjs/Wheel/wheelShared.native.js +7 -1
  76. package/dist/cjs/Wheel/wheelShared.native.js.map +1 -1
  77. package/dist/cjs/actionLabel.native.js.map +1 -1
  78. package/dist/cjs/fieldDefaults.native.js.map +1 -1
  79. package/dist/cjs/fieldLayout.native.js +1 -1
  80. package/dist/cjs/fieldLayout.native.js.map +1 -1
  81. package/dist/cjs/fields/Barcode/BarcodePreview.native.js.map +1 -1
  82. package/dist/cjs/fields/Barcode/BarcodeScanner.native.js +1 -1
  83. package/dist/cjs/fields/Barcode/code128.native.js.map +1 -1
  84. package/dist/cjs/fields/Barcode/index.native.js +2 -2
  85. package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
  86. package/dist/cjs/fields/Barcode/qr.native.js.map +1 -1
  87. package/dist/cjs/fields/Barcode/scannerTypes.native.js.map +1 -1
  88. package/dist/cjs/fields/Checkbox/Checkbox.native.js +1 -1
  89. package/dist/cjs/fields/Checkbox/Checkbox.native.js.map +1 -1
  90. package/dist/cjs/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  91. package/dist/cjs/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  92. package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  93. package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js +1 -1
  94. package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  95. package/dist/cjs/fields/Checkbox/checkboxGroupContext.native.js.map +1 -1
  96. package/dist/cjs/fields/Checkbox/index.native.js.map +1 -1
  97. package/dist/cjs/fields/ColorPicker/SystemColorField.native.js.map +1 -1
  98. package/dist/cjs/fields/ColorPicker/index.native.js +2 -2
  99. package/dist/cjs/fields/ColorPicker/index.native.js.map +1 -1
  100. package/dist/cjs/fields/ColorPicker/parts.native.js +2 -2
  101. package/dist/cjs/fields/ColorPicker/parts.native.js.map +1 -1
  102. package/dist/cjs/fields/ColorPicker/systemColorWell.gnome.native.js.map +1 -1
  103. package/dist/cjs/fields/Combobox/authorOptions.native.js.map +1 -1
  104. package/dist/cjs/fields/Combobox/index.cjs +1 -0
  105. package/dist/cjs/fields/Combobox/index.native.js +6 -5
  106. package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
  107. package/dist/cjs/fields/DatePicker/Calendar.native.js.map +1 -1
  108. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js +2 -2
  109. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  110. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.cjs +6 -30
  111. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js +14 -37
  112. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  113. package/dist/cjs/fields/DatePicker/DatetimePicker.native.js +2 -2
  114. package/dist/cjs/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  115. package/dist/cjs/fields/DatePicker/MonthPicker.native.js +2 -2
  116. package/dist/cjs/fields/DatePicker/MonthPicker.native.js.map +1 -1
  117. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js +2 -2
  118. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  119. package/dist/cjs/fields/DatePicker/catalog.cjs +2 -28
  120. package/dist/cjs/fields/DatePicker/catalog.native.js +4 -32
  121. package/dist/cjs/fields/DatePicker/catalog.native.js.map +1 -1
  122. package/dist/cjs/fields/DatePicker/fieldValueSync.native.js.map +1 -1
  123. package/dist/cjs/fields/DatePicker/index.native.js +2 -2
  124. package/dist/cjs/fields/DatePicker/index.native.js.map +1 -1
  125. package/dist/cjs/fields/DatePicker/parts.cjs +11 -20
  126. package/dist/cjs/fields/DatePicker/parts.native.js +15 -24
  127. package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
  128. package/dist/cjs/fields/DatePicker/utils.native.js.map +1 -1
  129. package/dist/cjs/fields/Duration/durationMath.native.js.map +1 -1
  130. package/dist/cjs/fields/Duration/index.native.js +3 -3
  131. package/dist/cjs/fields/Duration/index.native.js.map +1 -1
  132. package/dist/cjs/fields/FileUpload/filePickerTypes.native.js.map +1 -1
  133. package/dist/cjs/fields/FileUpload/index.native.js +2 -2
  134. package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
  135. package/dist/cjs/fields/FileUpload/nativePickerLoader.native.js.map +1 -1
  136. package/dist/cjs/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
  137. package/dist/cjs/fields/Geolocation/geoValue.native.js.map +1 -1
  138. package/dist/cjs/fields/Geolocation/geocoder.native.js.map +1 -1
  139. package/dist/cjs/fields/Geolocation/geocoderContext.native.js.map +1 -1
  140. package/dist/cjs/fields/Geolocation/index.native.js +5 -5
  141. package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
  142. package/dist/cjs/fields/Geolocation/mapMath.native.js.map +1 -1
  143. package/dist/cjs/fields/Geolocation/mapTypes.native.js.map +1 -1
  144. package/dist/cjs/fields/Geolocation/nativeSearchFocus.native.js.map +1 -1
  145. package/dist/cjs/fields/Geolocation/photonGeocoder.native.js.map +1 -1
  146. package/dist/cjs/fields/Icon/drawnSet.native.js.map +1 -1
  147. package/dist/cjs/fields/Icon/index.native.js +3 -3
  148. package/dist/cjs/fields/Icon/index.native.js.map +1 -1
  149. package/dist/cjs/fields/ImageField/index.native.js +2 -2
  150. package/dist/cjs/fields/ImageField/index.native.js.map +1 -1
  151. package/dist/cjs/fields/Input/index.native.js +3 -3
  152. package/dist/cjs/fields/Input/index.native.js.map +1 -1
  153. package/dist/cjs/fields/MentionInput/index.native.js +3 -3
  154. package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
  155. package/dist/cjs/fields/OTPInput/index.native.js +3 -3
  156. package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
  157. package/dist/cjs/fields/OTPInput/otpCellCss.native.js.map +1 -1
  158. package/dist/cjs/fields/PhoneInput/dialCodes.native.js.map +1 -1
  159. package/dist/cjs/fields/PhoneInput/index.native.js +3 -3
  160. package/dist/cjs/fields/PhoneInput/index.native.js.map +1 -1
  161. package/dist/cjs/fields/PhoneInput/phone.native.js.map +1 -1
  162. package/dist/cjs/fields/PhoneInput/regionNames.native.js.map +1 -1
  163. package/dist/cjs/fields/Progress/index.native.js +1 -1
  164. package/dist/cjs/fields/Progress/index.native.js.map +1 -1
  165. package/dist/cjs/fields/RadioGroup/index.native.js +1 -1
  166. package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
  167. package/dist/cjs/fields/Rating/index.native.js +1 -1
  168. package/dist/cjs/fields/Rating/index.native.js.map +1 -1
  169. package/dist/cjs/fields/Rating/ratingMath.native.js.map +1 -1
  170. package/dist/cjs/fields/Rating/types.native.js.map +1 -1
  171. package/dist/cjs/fields/SearchInput/index.native.js +2 -2
  172. package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
  173. package/dist/cjs/fields/Select/InlineChoices.native.js.map +1 -1
  174. package/dist/cjs/fields/Select/SheetPickerRow.native.js.map +1 -1
  175. package/dist/cjs/fields/Select/index.cjs +65 -44
  176. package/dist/cjs/fields/Select/index.native.js +73 -51
  177. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  178. package/dist/cjs/fields/Select/shouldInlineChoices.cjs +3 -1
  179. package/dist/cjs/fields/Select/shouldInlineChoices.native.js +3 -1
  180. package/dist/cjs/fields/Select/shouldInlineChoices.native.js.map +1 -1
  181. package/dist/cjs/fields/Signature/index.native.js +2 -2
  182. package/dist/cjs/fields/Signature/index.native.js.map +1 -1
  183. package/dist/cjs/fields/Slider/index.native.js +1 -1
  184. package/dist/cjs/fields/Slider/index.native.js.map +1 -1
  185. package/dist/cjs/fields/Slider/jumpMotion.native.js.map +1 -1
  186. package/dist/cjs/fields/Stepper/index.native.js +2 -2
  187. package/dist/cjs/fields/Stepper/index.native.js.map +1 -1
  188. package/dist/cjs/fields/Stepper/resolveStepperPlacement.native.js.map +1 -1
  189. package/dist/cjs/fields/Switch/footprint.native.js.map +1 -1
  190. package/dist/cjs/fields/Switch/index.native.js +2 -2
  191. package/dist/cjs/fields/Switch/index.native.js.map +1 -1
  192. package/dist/cjs/fields/TextArea/index.native.js +2 -2
  193. package/dist/cjs/fields/TextArea/index.native.js.map +1 -1
  194. package/dist/cjs/fields/TimePicker/catalog.cjs +4 -25
  195. package/dist/cjs/fields/TimePicker/catalog.native.js +10 -32
  196. package/dist/cjs/fields/TimePicker/catalog.native.js.map +1 -1
  197. package/dist/cjs/fields/TimePicker/index.native.js +2 -2
  198. package/dist/cjs/fields/TimePicker/index.native.js.map +1 -1
  199. package/dist/cjs/fields/TimePicker/parts.cjs +8 -21
  200. package/dist/cjs/fields/TimePicker/parts.native.js +9 -22
  201. package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -1
  202. package/dist/cjs/fields/TimeRangeScrubber/geometry.native.js.map +1 -1
  203. package/dist/cjs/fields/TimeRangeScrubber/index.native.js +2 -2
  204. package/dist/cjs/fields/TimeRangeScrubber/index.native.js.map +1 -1
  205. package/dist/cjs/fields/ToggleGroup/index.native.js +1 -1
  206. package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
  207. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js +1 -1
  208. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  209. package/dist/cjs/fields/nativeDateTime/dateTimePickerLoader.native.js.map +1 -1
  210. package/dist/cjs/fields/nativeDateTime/osDateTimeIosDisplay.native.js.map +1 -1
  211. package/dist/cjs/fields/nativeDateTime/sheetKeyboard.native.js.map +1 -1
  212. package/dist/cjs/fields/nativeSelect.native.js.map +1 -1
  213. package/dist/cjs/fields/selectedOrder.native.js.map +1 -1
  214. package/dist/cjs/formSpacing.native.js.map +1 -1
  215. package/dist/cjs/hooks/useFocusManagement.native.js.map +1 -1
  216. package/dist/cjs/index.native.js +45 -45
  217. package/dist/cjs/index.native.js.map +1 -1
  218. package/dist/cjs/keyboard/KeyboardDoneBar.native.js +1 -1
  219. package/dist/cjs/keyboard/chain.native.js.map +1 -1
  220. package/dist/cjs/keyboard/index.native.js.map +1 -1
  221. package/dist/cjs/keyboard/types.native.js.map +1 -1
  222. package/dist/cjs/requiredMarking.native.js.map +1 -1
  223. package/dist/cjs/shared/TimeColumn.native.js +1 -1
  224. package/dist/cjs/shared/TimeColumn.native.js.map +1 -1
  225. package/dist/cjs/shared/capabilityPreflight.native.js.map +1 -1
  226. package/dist/cjs/shared/choiceRowPress.native.js.map +1 -1
  227. package/dist/cjs/shared/colorRamps.native.js.map +1 -1
  228. package/dist/cjs/shared/devWarn.native.js.map +1 -1
  229. package/dist/cjs/shared/floatingList.cjs +13 -4
  230. package/dist/cjs/shared/floatingList.native.js +16 -5
  231. package/dist/cjs/shared/floatingList.native.js.map +1 -1
  232. package/dist/cjs/shared/focusManagement.native.js.map +1 -1
  233. package/dist/cjs/shared/groupContext.native.js.map +1 -1
  234. package/dist/cjs/shared/i18n.native.js.map +1 -1
  235. package/dist/cjs/shared/instantMotion.native.js.map +1 -1
  236. package/dist/cjs/shared/nativeA11y.native.js.map +1 -1
  237. package/dist/cjs/shared/nativeAutoFocus.native.js.map +1 -1
  238. package/dist/cjs/shared/overlaySizeClass.native.js.map +1 -1
  239. package/dist/cjs/shared/overlayStack.native.js.map +1 -1
  240. package/dist/cjs/shared/panelPortal.native.js.map +1 -1
  241. package/dist/cjs/shared/pickerTriggerContract.native.js.map +1 -1
  242. package/dist/cjs/shared/pressSlopProps.native.js.map +1 -1
  243. package/dist/cjs/shared/restoreRetries.native.js.map +1 -1
  244. package/dist/cjs/shared/sheetNavigation.native.js.map +1 -1
  245. package/dist/cjs/shared/systemControlModules.gnome.native.js.map +1 -1
  246. package/dist/cjs/shared/systemControls.native.js.map +1 -1
  247. package/dist/cjs/shared/t.native.js.map +1 -1
  248. package/dist/cjs/shared/tableCellContext.native.js.map +1 -1
  249. package/dist/cjs/shared/useDragScroll.native.js.map +1 -1
  250. package/dist/cjs/shared/useKeyboardInset.native.js.map +1 -1
  251. package/dist/cjs/shared/useSheetEscapeDismiss.native.js.map +1 -1
  252. package/dist/cjs/shared/useWheelIncrement.native.js.map +1 -1
  253. package/dist/cjs/shared/utils.native.js +1 -1
  254. package/dist/cjs/shared/utils.native.js.map +1 -1
  255. package/dist/cjs/shared/zIndex.native.js.map +1 -1
  256. package/dist/cjs/standardActions.native.js.map +1 -1
  257. package/dist/cjs/themedPrimitives.native.js.map +1 -1
  258. package/dist/cjs/types.native.js.map +1 -1
  259. package/dist/cjs/utils/LinkCell.native.js.map +1 -1
  260. package/dist/esm/AdaptivePopup/index.native.js.map +1 -1
  261. package/dist/esm/Button/IconButtonGroup.native.js.map +1 -1
  262. package/dist/esm/Button/iconButtonGroupContext.native.js.map +1 -1
  263. package/dist/esm/Button/index.mjs +17 -1
  264. package/dist/esm/Button/index.mjs.map +1 -1
  265. package/dist/esm/Button/index.native.js +17 -1
  266. package/dist/esm/Button/index.native.js.map +1 -1
  267. package/dist/esm/Button/mediaPlate.native.js.map +1 -1
  268. package/dist/esm/Chip/index.native.js.map +1 -1
  269. package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
  270. package/dist/esm/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -1
  271. package/dist/esm/ContextualSaveBar/commitImmediateField.native.js.map +1 -1
  272. package/dist/esm/ContextualSaveBar/index.native.js.map +1 -1
  273. package/dist/esm/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -1
  274. package/dist/esm/ControlGroup/index.native.js.map +1 -1
  275. package/dist/esm/DescriptionList/index.native.js.map +1 -1
  276. package/dist/esm/ErrorSummary.native.js.map +1 -1
  277. package/dist/esm/FieldDisplay/editMode.native.js.map +1 -1
  278. package/dist/esm/FieldDisplay/formatters.native.js.map +1 -1
  279. package/dist/esm/FieldDisplay/index.native.js.map +1 -1
  280. package/dist/esm/FieldGroup.native.js.map +1 -1
  281. package/dist/esm/FloatingPanel/RegularPanel.native.js.map +1 -1
  282. package/dist/esm/FloatingPanel/compactFace.native.js.map +1 -1
  283. package/dist/esm/FloatingPanel/containingBlock.native.js.map +1 -1
  284. package/dist/esm/FloatingPanel/echoContext.mjs +11 -0
  285. package/dist/esm/FloatingPanel/echoContext.mjs.map +1 -0
  286. package/dist/esm/FloatingPanel/echoContext.native.js +11 -0
  287. package/dist/esm/FloatingPanel/echoContext.native.js.map +1 -0
  288. package/dist/esm/FloatingPanel/index.mjs +213 -83
  289. package/dist/esm/FloatingPanel/index.mjs.map +1 -1
  290. package/dist/esm/FloatingPanel/index.native.js +92 -19
  291. package/dist/esm/FloatingPanel/index.native.js.map +1 -1
  292. package/dist/esm/FloatingPanel/nestedAction.native.js.map +1 -1
  293. package/dist/esm/FloatingPanel/panelWidth.mjs +63 -0
  294. package/dist/esm/FloatingPanel/panelWidth.mjs.map +1 -0
  295. package/dist/esm/FloatingPanel/panelWidth.native.js +67 -0
  296. package/dist/esm/FloatingPanel/panelWidth.native.js.map +1 -0
  297. package/dist/esm/FloatingPanel/pointAnchor.mjs +15 -5
  298. package/dist/esm/FloatingPanel/pointAnchor.mjs.map +1 -1
  299. package/dist/esm/FloatingPanel/pointAnchor.native.js +15 -5
  300. package/dist/esm/FloatingPanel/pointAnchor.native.js.map +1 -1
  301. package/dist/esm/FloatingPanel/regularPlacement.native.js.map +1 -1
  302. package/dist/esm/FloatingPanel/trailingAction.native.js.map +1 -1
  303. package/dist/esm/FloatingPanel/useFloatingPanel.mjs +58 -5
  304. package/dist/esm/FloatingPanel/useFloatingPanel.mjs.map +1 -1
  305. package/dist/esm/FloatingPanel/useFloatingPanel.native.js +69 -5
  306. package/dist/esm/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  307. package/dist/esm/Form/index.native.js.map +1 -1
  308. package/dist/esm/Form/submissionController.native.js.map +1 -1
  309. package/dist/esm/Form/validateOn.native.js.map +1 -1
  310. package/dist/esm/FormGrid.native.js.map +1 -1
  311. package/dist/esm/FormSection.native.js.map +1 -1
  312. package/dist/esm/InputParts/PasswordReveal.native.js.map +1 -1
  313. package/dist/esm/InputParts/index.mjs +19 -1
  314. package/dist/esm/InputParts/index.mjs.map +1 -1
  315. package/dist/esm/InputParts/index.native.js +20 -2
  316. package/dist/esm/InputParts/index.native.js.map +1 -1
  317. package/dist/esm/Label/index.native.js.map +1 -1
  318. package/dist/esm/MediaPicker/base64.native.js.map +1 -1
  319. package/dist/esm/MediaPicker/payload.native.js.map +1 -1
  320. package/dist/esm/MediaPicker/types.native.js.map +1 -1
  321. package/dist/esm/MediaPicker/useMediaPicker.native.js.map +1 -1
  322. package/dist/esm/Skeleton/index.native.js.map +1 -1
  323. package/dist/esm/Spinner/SpinnerGlyph.native.js.map +1 -1
  324. package/dist/esm/Spinner/spinnerSize.native.js.map +1 -1
  325. package/dist/esm/Table/index.native.js.map +1 -1
  326. package/dist/esm/Wheel/NativeWheel.native.js +1 -1
  327. package/dist/esm/Wheel/NativeWheel.native.js.map +1 -1
  328. package/dist/esm/Wheel/haptic.native.js.map +1 -1
  329. package/dist/esm/Wheel/index.mjs +2 -1
  330. package/dist/esm/Wheel/index.mjs.map +1 -1
  331. package/dist/esm/Wheel/index.native.js +4 -1
  332. package/dist/esm/Wheel/index.native.js.map +1 -1
  333. package/dist/esm/Wheel/wheelShared.mjs +6 -1
  334. package/dist/esm/Wheel/wheelShared.mjs.map +1 -1
  335. package/dist/esm/Wheel/wheelShared.native.js +7 -1
  336. package/dist/esm/Wheel/wheelShared.native.js.map +1 -1
  337. package/dist/esm/actionLabel.native.js.map +1 -1
  338. package/dist/esm/fieldDefaults.native.js.map +1 -1
  339. package/dist/esm/fieldLayout.native.js.map +1 -1
  340. package/dist/esm/fields/Barcode/BarcodePreview.native.js.map +1 -1
  341. package/dist/esm/fields/Barcode/code128.native.js.map +1 -1
  342. package/dist/esm/fields/Barcode/index.native.js.map +1 -1
  343. package/dist/esm/fields/Barcode/qr.native.js.map +1 -1
  344. package/dist/esm/fields/Barcode/scannerTypes.native.js.map +1 -1
  345. package/dist/esm/fields/Checkbox/Checkbox.native.js.map +1 -1
  346. package/dist/esm/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  347. package/dist/esm/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  348. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  349. package/dist/esm/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  350. package/dist/esm/fields/Checkbox/checkboxGroupContext.native.js.map +1 -1
  351. package/dist/esm/fields/Checkbox/index.native.js.map +1 -1
  352. package/dist/esm/fields/ColorPicker/SystemColorField.native.js.map +1 -1
  353. package/dist/esm/fields/ColorPicker/index.native.js.map +1 -1
  354. package/dist/esm/fields/ColorPicker/parts.native.js.map +1 -1
  355. package/dist/esm/fields/ColorPicker/systemColorWell.gnome.native.js.map +1 -1
  356. package/dist/esm/fields/Combobox/authorOptions.native.js.map +1 -1
  357. package/dist/esm/fields/Combobox/index.mjs +1 -0
  358. package/dist/esm/fields/Combobox/index.mjs.map +1 -1
  359. package/dist/esm/fields/Combobox/index.native.js +1 -0
  360. package/dist/esm/fields/Combobox/index.native.js.map +1 -1
  361. package/dist/esm/fields/DatePicker/Calendar.native.js.map +1 -1
  362. package/dist/esm/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  363. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.mjs +6 -30
  364. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.mjs.map +1 -1
  365. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js +11 -34
  366. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  367. package/dist/esm/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  368. package/dist/esm/fields/DatePicker/MonthPicker.native.js.map +1 -1
  369. package/dist/esm/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  370. package/dist/esm/fields/DatePicker/catalog.mjs +2 -28
  371. package/dist/esm/fields/DatePicker/catalog.mjs.map +1 -1
  372. package/dist/esm/fields/DatePicker/catalog.native.js +2 -30
  373. package/dist/esm/fields/DatePicker/catalog.native.js.map +1 -1
  374. package/dist/esm/fields/DatePicker/fieldValueSync.native.js.map +1 -1
  375. package/dist/esm/fields/DatePicker/index.native.js.map +1 -1
  376. package/dist/esm/fields/DatePicker/parts.mjs +11 -20
  377. package/dist/esm/fields/DatePicker/parts.mjs.map +1 -1
  378. package/dist/esm/fields/DatePicker/parts.native.js +13 -22
  379. package/dist/esm/fields/DatePicker/parts.native.js.map +1 -1
  380. package/dist/esm/fields/DatePicker/utils.native.js.map +1 -1
  381. package/dist/esm/fields/Duration/durationMath.native.js.map +1 -1
  382. package/dist/esm/fields/Duration/index.native.js.map +1 -1
  383. package/dist/esm/fields/FileUpload/filePickerTypes.native.js.map +1 -1
  384. package/dist/esm/fields/FileUpload/index.native.js.map +1 -1
  385. package/dist/esm/fields/FileUpload/nativePickerLoader.native.js.map +1 -1
  386. package/dist/esm/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
  387. package/dist/esm/fields/Geolocation/geoValue.native.js.map +1 -1
  388. package/dist/esm/fields/Geolocation/geocoder.native.js.map +1 -1
  389. package/dist/esm/fields/Geolocation/geocoderContext.native.js.map +1 -1
  390. package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
  391. package/dist/esm/fields/Geolocation/mapMath.native.js.map +1 -1
  392. package/dist/esm/fields/Geolocation/mapTypes.native.js.map +1 -1
  393. package/dist/esm/fields/Geolocation/nativeSearchFocus.native.js.map +1 -1
  394. package/dist/esm/fields/Geolocation/photonGeocoder.native.js.map +1 -1
  395. package/dist/esm/fields/Icon/drawnSet.native.js.map +1 -1
  396. package/dist/esm/fields/Icon/index.native.js.map +1 -1
  397. package/dist/esm/fields/ImageField/index.native.js.map +1 -1
  398. package/dist/esm/fields/Input/index.native.js.map +1 -1
  399. package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
  400. package/dist/esm/fields/OTPInput/index.native.js.map +1 -1
  401. package/dist/esm/fields/OTPInput/otpCellCss.native.js.map +1 -1
  402. package/dist/esm/fields/PhoneInput/dialCodes.native.js.map +1 -1
  403. package/dist/esm/fields/PhoneInput/index.native.js.map +1 -1
  404. package/dist/esm/fields/PhoneInput/phone.native.js.map +1 -1
  405. package/dist/esm/fields/PhoneInput/regionNames.native.js.map +1 -1
  406. package/dist/esm/fields/Progress/index.native.js.map +1 -1
  407. package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
  408. package/dist/esm/fields/Rating/index.native.js.map +1 -1
  409. package/dist/esm/fields/Rating/ratingMath.native.js.map +1 -1
  410. package/dist/esm/fields/Rating/types.native.js.map +1 -1
  411. package/dist/esm/fields/SearchInput/index.native.js.map +1 -1
  412. package/dist/esm/fields/Select/InlineChoices.native.js.map +1 -1
  413. package/dist/esm/fields/Select/SheetPickerRow.native.js.map +1 -1
  414. package/dist/esm/fields/Select/index.mjs +66 -45
  415. package/dist/esm/fields/Select/index.mjs.map +1 -1
  416. package/dist/esm/fields/Select/index.native.js +70 -48
  417. package/dist/esm/fields/Select/index.native.js.map +1 -1
  418. package/dist/esm/fields/Select/shouldInlineChoices.mjs +3 -1
  419. package/dist/esm/fields/Select/shouldInlineChoices.mjs.map +1 -1
  420. package/dist/esm/fields/Select/shouldInlineChoices.native.js +3 -1
  421. package/dist/esm/fields/Select/shouldInlineChoices.native.js.map +1 -1
  422. package/dist/esm/fields/Signature/index.native.js.map +1 -1
  423. package/dist/esm/fields/Slider/index.native.js.map +1 -1
  424. package/dist/esm/fields/Slider/jumpMotion.native.js.map +1 -1
  425. package/dist/esm/fields/Stepper/index.native.js.map +1 -1
  426. package/dist/esm/fields/Stepper/resolveStepperPlacement.native.js.map +1 -1
  427. package/dist/esm/fields/Switch/footprint.native.js.map +1 -1
  428. package/dist/esm/fields/Switch/index.native.js.map +1 -1
  429. package/dist/esm/fields/TextArea/index.native.js.map +1 -1
  430. package/dist/esm/fields/TimePicker/catalog.mjs +4 -25
  431. package/dist/esm/fields/TimePicker/catalog.mjs.map +1 -1
  432. package/dist/esm/fields/TimePicker/catalog.native.js +7 -29
  433. package/dist/esm/fields/TimePicker/catalog.native.js.map +1 -1
  434. package/dist/esm/fields/TimePicker/index.native.js.map +1 -1
  435. package/dist/esm/fields/TimePicker/parts.mjs +8 -21
  436. package/dist/esm/fields/TimePicker/parts.mjs.map +1 -1
  437. package/dist/esm/fields/TimePicker/parts.native.js +8 -21
  438. package/dist/esm/fields/TimePicker/parts.native.js.map +1 -1
  439. package/dist/esm/fields/TimeRangeScrubber/geometry.native.js.map +1 -1
  440. package/dist/esm/fields/TimeRangeScrubber/index.native.js.map +1 -1
  441. package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
  442. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  443. package/dist/esm/fields/nativeDateTime/dateTimePickerLoader.native.js.map +1 -1
  444. package/dist/esm/fields/nativeDateTime/osDateTimeIosDisplay.native.js.map +1 -1
  445. package/dist/esm/fields/nativeDateTime/sheetKeyboard.native.js.map +1 -1
  446. package/dist/esm/fields/nativeSelect.native.js.map +1 -1
  447. package/dist/esm/fields/selectedOrder.native.js.map +1 -1
  448. package/dist/esm/formSpacing.native.js.map +1 -1
  449. package/dist/esm/hooks/useFocusManagement.native.js.map +1 -1
  450. package/dist/esm/index.mjs.map +1 -1
  451. package/dist/esm/index.native.js.map +1 -1
  452. package/dist/esm/keyboard/chain.native.js.map +1 -1
  453. package/dist/esm/keyboard/index.native.js.map +1 -1
  454. package/dist/esm/keyboard/types.native.js.map +1 -1
  455. package/dist/esm/requiredMarking.native.js.map +1 -1
  456. package/dist/esm/shared/TimeColumn.native.js.map +1 -1
  457. package/dist/esm/shared/capabilityPreflight.native.js.map +1 -1
  458. package/dist/esm/shared/choiceRowPress.native.js.map +1 -1
  459. package/dist/esm/shared/colorRamps.native.js.map +1 -1
  460. package/dist/esm/shared/devWarn.native.js.map +1 -1
  461. package/dist/esm/shared/floatingList.mjs +14 -5
  462. package/dist/esm/shared/floatingList.mjs.map +1 -1
  463. package/dist/esm/shared/floatingList.native.js +16 -5
  464. package/dist/esm/shared/floatingList.native.js.map +1 -1
  465. package/dist/esm/shared/focusManagement.native.js.map +1 -1
  466. package/dist/esm/shared/groupContext.native.js.map +1 -1
  467. package/dist/esm/shared/i18n.native.js.map +1 -1
  468. package/dist/esm/shared/instantMotion.native.js.map +1 -1
  469. package/dist/esm/shared/nativeA11y.native.js.map +1 -1
  470. package/dist/esm/shared/nativeAutoFocus.native.js.map +1 -1
  471. package/dist/esm/shared/overlaySizeClass.native.js.map +1 -1
  472. package/dist/esm/shared/overlayStack.native.js.map +1 -1
  473. package/dist/esm/shared/panelPortal.native.js.map +1 -1
  474. package/dist/esm/shared/pickerTriggerContract.native.js.map +1 -1
  475. package/dist/esm/shared/pressSlopProps.native.js.map +1 -1
  476. package/dist/esm/shared/restoreRetries.native.js.map +1 -1
  477. package/dist/esm/shared/sheetNavigation.native.js.map +1 -1
  478. package/dist/esm/shared/systemControlModules.gnome.native.js.map +1 -1
  479. package/dist/esm/shared/systemControls.native.js.map +1 -1
  480. package/dist/esm/shared/t.native.js.map +1 -1
  481. package/dist/esm/shared/tableCellContext.native.js.map +1 -1
  482. package/dist/esm/shared/useDragScroll.native.js.map +1 -1
  483. package/dist/esm/shared/useKeyboardInset.native.js.map +1 -1
  484. package/dist/esm/shared/useSheetEscapeDismiss.native.js.map +1 -1
  485. package/dist/esm/shared/useWheelIncrement.native.js.map +1 -1
  486. package/dist/esm/shared/utils.native.js.map +1 -1
  487. package/dist/esm/shared/zIndex.native.js.map +1 -1
  488. package/dist/esm/standardActions.native.js.map +1 -1
  489. package/dist/esm/themedPrimitives.native.js.map +1 -1
  490. package/dist/esm/types.native.js.map +1 -1
  491. package/dist/esm/utils/LinkCell.native.js.map +1 -1
  492. package/dist/jsx/Button/index.mjs +17 -1
  493. package/dist/jsx/Button/index.mjs.map +1 -1
  494. package/dist/jsx/Button/index.native.js +16 -0
  495. package/dist/jsx/Button/index.native.js.map +1 -1
  496. package/dist/jsx/FloatingPanel/echoContext.mjs +11 -0
  497. package/dist/jsx/FloatingPanel/echoContext.mjs.map +1 -0
  498. package/dist/jsx/FloatingPanel/echoContext.native.js +42 -0
  499. package/dist/jsx/FloatingPanel/echoContext.native.js.map +1 -0
  500. package/dist/jsx/FloatingPanel/index.mjs +213 -83
  501. package/dist/jsx/FloatingPanel/index.mjs.map +1 -1
  502. package/dist/jsx/FloatingPanel/index.native.js +92 -17
  503. package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
  504. package/dist/jsx/FloatingPanel/panelWidth.mjs +63 -0
  505. package/dist/jsx/FloatingPanel/panelWidth.mjs.map +1 -0
  506. package/dist/jsx/FloatingPanel/panelWidth.native.js +99 -0
  507. package/dist/jsx/FloatingPanel/panelWidth.native.js.map +1 -0
  508. package/dist/jsx/FloatingPanel/pointAnchor.mjs +15 -5
  509. package/dist/jsx/FloatingPanel/pointAnchor.mjs.map +1 -1
  510. package/dist/jsx/FloatingPanel/pointAnchor.native.js +15 -5
  511. package/dist/jsx/FloatingPanel/pointAnchor.native.js.map +1 -1
  512. package/dist/jsx/FloatingPanel/useFloatingPanel.mjs +58 -5
  513. package/dist/jsx/FloatingPanel/useFloatingPanel.mjs.map +1 -1
  514. package/dist/jsx/FloatingPanel/useFloatingPanel.native.js +69 -4
  515. package/dist/jsx/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  516. package/dist/jsx/InputParts/index.mjs +19 -1
  517. package/dist/jsx/InputParts/index.mjs.map +1 -1
  518. package/dist/jsx/InputParts/index.native.js +19 -1
  519. package/dist/jsx/InputParts/index.native.js.map +1 -1
  520. package/dist/jsx/Wheel/NativeWheel.native.js +1 -1
  521. package/dist/jsx/Wheel/NativeWheel.native.js.map +1 -1
  522. package/dist/jsx/Wheel/index.mjs +2 -1
  523. package/dist/jsx/Wheel/index.mjs.map +1 -1
  524. package/dist/jsx/Wheel/index.native.js +4 -1
  525. package/dist/jsx/Wheel/index.native.js.map +1 -1
  526. package/dist/jsx/Wheel/wheelShared.mjs +6 -1
  527. package/dist/jsx/Wheel/wheelShared.mjs.map +1 -1
  528. package/dist/jsx/Wheel/wheelShared.native.js +7 -1
  529. package/dist/jsx/Wheel/wheelShared.native.js.map +1 -1
  530. package/dist/jsx/fields/Combobox/index.mjs +1 -0
  531. package/dist/jsx/fields/Combobox/index.mjs.map +1 -1
  532. package/dist/jsx/fields/Combobox/index.native.js +1 -0
  533. package/dist/jsx/fields/Combobox/index.native.js.map +1 -1
  534. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.mjs +6 -30
  535. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.mjs.map +1 -1
  536. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.native.js +11 -34
  537. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  538. package/dist/jsx/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  539. package/dist/jsx/fields/DatePicker/catalog.mjs +2 -28
  540. package/dist/jsx/fields/DatePicker/catalog.mjs.map +1 -1
  541. package/dist/jsx/fields/DatePicker/catalog.native.js +2 -30
  542. package/dist/jsx/fields/DatePicker/catalog.native.js.map +1 -1
  543. package/dist/jsx/fields/DatePicker/index.native.js.map +1 -1
  544. package/dist/jsx/fields/DatePicker/parts.mjs +11 -20
  545. package/dist/jsx/fields/DatePicker/parts.mjs.map +1 -1
  546. package/dist/jsx/fields/DatePicker/parts.native.js +13 -22
  547. package/dist/jsx/fields/DatePicker/parts.native.js.map +1 -1
  548. package/dist/jsx/fields/Select/index.mjs +66 -45
  549. package/dist/jsx/fields/Select/index.mjs.map +1 -1
  550. package/dist/jsx/fields/Select/index.native.js +69 -47
  551. package/dist/jsx/fields/Select/index.native.js.map +1 -1
  552. package/dist/jsx/fields/Select/shouldInlineChoices.mjs +3 -1
  553. package/dist/jsx/fields/Select/shouldInlineChoices.mjs.map +1 -1
  554. package/dist/jsx/fields/Select/shouldInlineChoices.native.js +3 -1
  555. package/dist/jsx/fields/Select/shouldInlineChoices.native.js.map +1 -1
  556. package/dist/jsx/fields/TimePicker/catalog.mjs +4 -25
  557. package/dist/jsx/fields/TimePicker/catalog.mjs.map +1 -1
  558. package/dist/jsx/fields/TimePicker/catalog.native.js +7 -29
  559. package/dist/jsx/fields/TimePicker/catalog.native.js.map +1 -1
  560. package/dist/jsx/fields/TimePicker/index.native.js.map +1 -1
  561. package/dist/jsx/fields/TimePicker/parts.mjs +8 -21
  562. package/dist/jsx/fields/TimePicker/parts.mjs.map +1 -1
  563. package/dist/jsx/fields/TimePicker/parts.native.js +8 -21
  564. package/dist/jsx/fields/TimePicker/parts.native.js.map +1 -1
  565. package/dist/jsx/index.js.map +1 -1
  566. package/dist/jsx/index.mjs.map +1 -1
  567. package/dist/jsx/index.native.js.map +1 -1
  568. package/dist/jsx/shared/floatingList.mjs +14 -5
  569. package/dist/jsx/shared/floatingList.mjs.map +1 -1
  570. package/dist/jsx/shared/floatingList.native.js +15 -4
  571. package/dist/jsx/shared/floatingList.native.js.map +1 -1
  572. package/package.json +8 -8
  573. package/src/Button/index.tsx +22 -0
  574. package/src/FloatingPanel/FloatingPanel.echoStretch.spec.tsx +67 -0
  575. package/src/FloatingPanel/FloatingPanel.menuFace.native.spec.tsx +193 -2
  576. package/src/FloatingPanel/FloatingPanel.seamlessCover.spec.tsx +237 -0
  577. package/src/FloatingPanel/echoContext.ts +22 -0
  578. package/src/FloatingPanel/index.native.tsx +106 -9
  579. package/src/FloatingPanel/index.tsx +310 -102
  580. package/src/FloatingPanel/panelWidth.spec.ts +158 -0
  581. package/src/FloatingPanel/panelWidth.ts +122 -0
  582. package/src/FloatingPanel/panelWidthContract.spec.ts +10 -10
  583. package/src/FloatingPanel/pointAnchor.spec.ts +64 -2
  584. package/src/FloatingPanel/pointAnchor.ts +28 -3
  585. package/src/FloatingPanel/useFloatingPanel.spec.tsx +124 -4
  586. package/src/FloatingPanel/useFloatingPanel.ts +106 -33
  587. package/src/InputParts/index.tsx +26 -0
  588. package/src/Wheel/NativeWheel.native.tsx +1 -1
  589. package/src/Wheel/Wheel.spec.tsx +9 -0
  590. package/src/Wheel/index.tsx +12 -3
  591. package/src/Wheel/wheelShared.ts +6 -2
  592. package/src/fields/Combobox/index.tsx +1 -0
  593. package/src/fields/DatePicker/DatePicker.stories.tsx +3 -3
  594. package/src/fields/DatePicker/DatetimePicker.catalog.tsx +17 -45
  595. package/src/fields/DatePicker/DatetimePicker.native.tsx +3 -0
  596. package/src/fields/DatePicker/catalog.tsx +8 -39
  597. package/src/fields/DatePicker/index.native.tsx +3 -0
  598. package/src/fields/DatePicker/parts.tsx +13 -23
  599. package/src/fields/DatePicker/seamlessCover.spec.tsx +180 -0
  600. package/src/fields/DatePicker/touchWeb.spec.tsx +109 -167
  601. package/src/fields/Select/Select.containingBlock.spec.tsx +191 -0
  602. package/src/fields/Select/Select.stories.tsx +43 -0
  603. package/src/fields/Select/index.tsx +109 -45
  604. package/src/fields/Select/shouldInlineChoices.spec.ts +13 -0
  605. package/src/fields/Select/shouldInlineChoices.ts +6 -0
  606. package/src/fields/TimePicker/catalog.tsx +12 -33
  607. package/src/fields/TimePicker/index.native.tsx +2 -0
  608. package/src/fields/TimePicker/parts.tsx +6 -20
  609. package/src/index.ts +1 -0
  610. package/src/shared/floatingList.tsx +21 -5
  611. package/types/Button/index.d.ts.map +1 -1
  612. package/types/FloatingPanel/echoContext.d.ts +14 -0
  613. package/types/FloatingPanel/echoContext.d.ts.map +1 -0
  614. package/types/FloatingPanel/index.d.ts +59 -0
  615. package/types/FloatingPanel/index.d.ts.map +1 -1
  616. package/types/FloatingPanel/index.native.d.ts +9 -1
  617. package/types/FloatingPanel/index.native.d.ts.map +1 -1
  618. package/types/FloatingPanel/panelWidth.d.ts +71 -0
  619. package/types/FloatingPanel/panelWidth.d.ts.map +1 -0
  620. package/types/FloatingPanel/pointAnchor.d.ts +8 -1
  621. package/types/FloatingPanel/pointAnchor.d.ts.map +1 -1
  622. package/types/FloatingPanel/useFloatingPanel.d.ts +33 -2
  623. package/types/FloatingPanel/useFloatingPanel.d.ts.map +1 -1
  624. package/types/InputParts/index.d.ts.map +1 -1
  625. package/types/Wheel/index.d.ts.map +1 -1
  626. package/types/Wheel/wheelShared.d.ts +2 -1
  627. package/types/Wheel/wheelShared.d.ts.map +1 -1
  628. package/types/fields/Combobox/index.d.ts.map +1 -1
  629. package/types/fields/DatePicker/DatetimePicker.catalog.d.ts +6 -0
  630. package/types/fields/DatePicker/DatetimePicker.catalog.d.ts.map +1 -1
  631. package/types/fields/DatePicker/DatetimePicker.native.d.ts +3 -0
  632. package/types/fields/DatePicker/DatetimePicker.native.d.ts.map +1 -1
  633. package/types/fields/DatePicker/catalog.d.ts +6 -0
  634. package/types/fields/DatePicker/catalog.d.ts.map +1 -1
  635. package/types/fields/DatePicker/index.native.d.ts +3 -0
  636. package/types/fields/DatePicker/index.native.d.ts.map +1 -1
  637. package/types/fields/DatePicker/parts.d.ts +5 -7
  638. package/types/fields/DatePicker/parts.d.ts.map +1 -1
  639. package/types/fields/Select/index.d.ts +8 -1
  640. package/types/fields/Select/index.d.ts.map +1 -1
  641. package/types/fields/Select/shouldInlineChoices.d.ts +5 -1
  642. package/types/fields/Select/shouldInlineChoices.d.ts.map +1 -1
  643. package/types/fields/TimePicker/catalog.d.ts +7 -1
  644. package/types/fields/TimePicker/catalog.d.ts.map +1 -1
  645. package/types/fields/TimePicker/index.native.d.ts +2 -0
  646. package/types/fields/TimePicker/index.native.d.ts.map +1 -1
  647. package/types/fields/TimePicker/parts.d.ts +1 -3
  648. package/types/fields/TimePicker/parts.d.ts.map +1 -1
  649. package/types/index.d.ts +1 -0
  650. package/types/index.d.ts.map +1 -1
  651. package/types/shared/floatingList.d.ts +5 -1
  652. package/types/shared/floatingList.d.ts.map +1 -1
  653. package/dist/cjs/shared/touchWebPicker.cjs +0 -136
  654. package/dist/cjs/shared/touchWebPicker.native.js +0 -154
  655. package/dist/cjs/shared/touchWebPicker.native.js.map +0 -1
  656. package/dist/esm/shared/touchWebPicker.mjs +0 -105
  657. package/dist/esm/shared/touchWebPicker.mjs.map +0 -1
  658. package/dist/esm/shared/touchWebPicker.native.js +0 -120
  659. package/dist/esm/shared/touchWebPicker.native.js.map +0 -1
  660. package/dist/jsx/shared/touchWebPicker.mjs +0 -105
  661. package/dist/jsx/shared/touchWebPicker.mjs.map +0 -1
  662. package/dist/jsx/shared/touchWebPicker.native.js +0 -154
  663. package/dist/jsx/shared/touchWebPicker.native.js.map +0 -1
  664. package/src/shared/touchWebPicker.spec.ts +0 -98
  665. package/src/shared/touchWebPicker.tsx +0 -158
  666. package/types/shared/touchWebPicker.d.ts +0 -40
  667. package/types/shared/touchWebPicker.d.ts.map +0 -1
@@ -1,105 +0,0 @@
1
- import { formatCalendarDate, parseCalendarDate } from "@multiplatform.one/theme";
2
- import { useSyncExternalStore } from "react";
3
- import { isWeb } from "tamagui";
4
- import { jsx } from "react/jsx-runtime";
5
- const coarsePointerQuery = "(pointer: coarse)";
6
- function coarsePointerList() {
7
- if (!isWeb || typeof window === "undefined" || typeof window.matchMedia !== "function") {
8
- return null;
9
- }
10
- return window.matchMedia(coarsePointerQuery);
11
- }
12
- function subscribeCoarsePointer(onChange) {
13
- const list = coarsePointerList();
14
- if (!list) return () => {};
15
- if (typeof list.addEventListener === "function") {
16
- list.addEventListener("change", onChange);
17
- return () => list.removeEventListener("change", onChange);
18
- }
19
- list.addListener?.(onChange);
20
- return () => list.removeListener?.(onChange);
21
- }
22
- function readCoarsePointer() {
23
- return coarsePointerList()?.matches ?? false;
24
- }
25
- function useCoarsePointer() {
26
- return useSyncExternalStore(subscribeCoarsePointer, readCoarsePointer, () => false);
27
- }
28
- function toDateInputValue(value) {
29
- return value ? formatCalendarDate(value, "date") : "";
30
- }
31
- function toDatetimeLocalValue(value, showSeconds) {
32
- if (!value) return "";
33
- const wire = formatCalendarDate(value, "datetime").replace(" ", "T");
34
- return showSeconds ? wire : wire.slice(0, 16);
35
- }
36
- function fromNativeDateValue(value) {
37
- return parseCalendarDate(value);
38
- }
39
- const nativeTimePattern = /^([01]\d|2[0-3]):([0-5]\d)(?::([0-5]\d)(?:\.\d+)?)?$/;
40
- function fromTimeInputValue(value, showSeconds) {
41
- const match = value.trim().replace(/^(\d):/, "0$1:").match(nativeTimePattern);
42
- if (!match) return "";
43
- const base = `${match[1]}:${match[2]}`;
44
- return showSeconds ? `${base}:${match[3] ?? "00"}` : base;
45
- }
46
- function toTimeInputValue(value, showSeconds) {
47
- return fromTimeInputValue(value ?? "", showSeconds);
48
- }
49
- const overlayStyle = {
50
- position: "absolute",
51
- top: 0,
52
- left: 0,
53
- width: "100%",
54
- height: "100%",
55
- margin: 0,
56
- padding: 0,
57
- border: 0,
58
- opacity: 0,
59
- // iOS Safari zooms the page into a focused input under 16px.
60
- fontSize: 16,
61
- cursor: "pointer",
62
- zIndex: 1,
63
- WebkitAppearance: "none",
64
- appearance: "none"
65
- };
66
- function TouchWebPickerInput({
67
- kind,
68
- value,
69
- onValue,
70
- onBlur,
71
- id,
72
- min,
73
- max,
74
- showSeconds,
75
- disabled,
76
- required,
77
- invalid,
78
- "aria-label": ariaLabel,
79
- "aria-describedby": ariaDescribedBy
80
- }) {
81
- return /* @__PURE__ */jsx("input", {
82
- type: kind,
83
- id,
84
- value,
85
- min: min || void 0,
86
- max: max || void 0,
87
- step: showSeconds ? 1 : void 0,
88
- disabled,
89
- required,
90
- "aria-label": ariaLabel,
91
- "aria-describedby": ariaDescribedBy,
92
- "aria-invalid": invalid || void 0,
93
- "data-testid": "touch-web-picker",
94
- style: overlayStyle,
95
- onChange: event => onValue(event.currentTarget.value),
96
- onBlur,
97
- onClick: event => {
98
- try {
99
- event.currentTarget.showPicker?.();
100
- } catch {}
101
- }
102
- });
103
- }
104
- export { TouchWebPickerInput, fromNativeDateValue, fromTimeInputValue, toDateInputValue, toDatetimeLocalValue, toTimeInputValue, useCoarsePointer };
105
- //# sourceMappingURL=touchWebPicker.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["formatCalendarDate","parseCalendarDate","useSyncExternalStore","isWeb","jsx","coarsePointerQuery","coarsePointerList","window","matchMedia","subscribeCoarsePointer","onChange","list","addEventListener","removeEventListener","addListener","removeListener","readCoarsePointer","matches","useCoarsePointer","toDateInputValue","value","toDatetimeLocalValue","showSeconds","wire","replace","slice","fromNativeDateValue","nativeTimePattern","fromTimeInputValue","match","trim","base","toTimeInputValue","overlayStyle","position","top","left","width","height","margin","padding","border","opacity","fontSize","cursor","zIndex","WebkitAppearance","appearance","TouchWebPickerInput","kind","onValue","onBlur","id","min","max","disabled","required","invalid","ariaLabel","ariaDescribedBy","type","step","style","event","currentTarget","onClick","showPicker"],"sources":["../../../src/shared/touchWebPicker.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,154 +0,0 @@
1
- "use strict";
2
-
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: true
11
- });
12
- };
13
- var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
- get: () => from[key],
17
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
- });
19
- }
20
- return to;
21
- };
22
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
- value: true
24
- }), mod);
25
- var touchWebPicker_exports = {};
26
- __export(touchWebPicker_exports, {
27
- TouchWebPickerInput: () => TouchWebPickerInput,
28
- fromNativeDateValue: () => fromNativeDateValue,
29
- fromTimeInputValue: () => fromTimeInputValue,
30
- toDateInputValue: () => toDateInputValue,
31
- toDatetimeLocalValue: () => toDatetimeLocalValue,
32
- toTimeInputValue: () => toTimeInputValue,
33
- useCoarsePointer: () => useCoarsePointer
34
- });
35
- module.exports = __toCommonJS(touchWebPicker_exports);
36
- var import_jsx_runtime = require("react/jsx-runtime");
37
- var import_theme = require("@multiplatform.one/theme");
38
- var import_react = require("react");
39
- var import_tamagui = require("tamagui");
40
- var coarsePointerQuery = "(pointer: coarse)";
41
- function coarsePointerList() {
42
- if (!import_tamagui.isWeb || typeof window === "undefined" || typeof window.matchMedia !== "function") {
43
- return null;
44
- }
45
- return window.matchMedia(coarsePointerQuery);
46
- }
47
- function subscribeCoarsePointer(onChange) {
48
- var _list_addListener;
49
- var list = coarsePointerList();
50
- if (!list) return function () {};
51
- if (typeof list.addEventListener === "function") {
52
- list.addEventListener("change", onChange);
53
- return function () {
54
- return list.removeEventListener("change", onChange);
55
- };
56
- }
57
- (_list_addListener = list.addListener) === null || _list_addListener === void 0 ? void 0 : _list_addListener.call(list, onChange);
58
- return function () {
59
- var _list_removeListener;
60
- return (_list_removeListener = list.removeListener) === null || _list_removeListener === void 0 ? void 0 : _list_removeListener.call(list, onChange);
61
- };
62
- }
63
- function readCoarsePointer() {
64
- var _ref;
65
- var _coarsePointerList;
66
- return (_ref = (_coarsePointerList = coarsePointerList()) === null || _coarsePointerList === void 0 ? void 0 : _coarsePointerList.matches) !== null && _ref !== void 0 ? _ref : false;
67
- }
68
- function useCoarsePointer() {
69
- return (0, import_react.useSyncExternalStore)(subscribeCoarsePointer, readCoarsePointer, function () {
70
- return false;
71
- });
72
- }
73
- function toDateInputValue(value) {
74
- return value ? (0, import_theme.formatCalendarDate)(value, "date") : "";
75
- }
76
- function toDatetimeLocalValue(value, showSeconds) {
77
- if (!value) return "";
78
- var wire = (0, import_theme.formatCalendarDate)(value, "datetime").replace(" ", "T");
79
- return showSeconds ? wire : wire.slice(0, 16);
80
- }
81
- function fromNativeDateValue(value) {
82
- return (0, import_theme.parseCalendarDate)(value);
83
- }
84
- var nativeTimePattern = /^([01]\d|2[0-3]):([0-5]\d)(?::([0-5]\d)(?:\.\d+)?)?$/;
85
- function fromTimeInputValue(value, showSeconds) {
86
- var _match_;
87
- var match = value.trim().replace(/^(\d):/, "0$1:").match(nativeTimePattern);
88
- if (!match) return "";
89
- var base = `${match[1]}:${match[2]}`;
90
- return showSeconds ? `${base}:${(_match_ = match[3]) !== null && _match_ !== void 0 ? _match_ : "00"}` : base;
91
- }
92
- function toTimeInputValue(value, showSeconds) {
93
- return fromTimeInputValue(value !== null && value !== void 0 ? value : "", showSeconds);
94
- }
95
- var overlayStyle = {
96
- position: "absolute",
97
- top: 0,
98
- left: 0,
99
- width: "100%",
100
- height: "100%",
101
- margin: 0,
102
- padding: 0,
103
- border: 0,
104
- opacity: 0,
105
- // iOS Safari zooms the page into a focused input under 16px.
106
- fontSize: 16,
107
- cursor: "pointer",
108
- zIndex: 1,
109
- WebkitAppearance: "none",
110
- appearance: "none"
111
- };
112
- function TouchWebPickerInput(param) {
113
- var {
114
- kind,
115
- value,
116
- onValue,
117
- onBlur,
118
- id,
119
- min,
120
- max,
121
- showSeconds,
122
- disabled,
123
- required,
124
- invalid,
125
- "aria-label": ariaLabel,
126
- "aria-describedby": ariaDescribedBy
127
- } = param;
128
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)("input", {
129
- type: kind,
130
- id,
131
- value,
132
- min: min || void 0,
133
- max: max || void 0,
134
- step: showSeconds ? 1 : void 0,
135
- disabled,
136
- required,
137
- "aria-label": ariaLabel,
138
- "aria-describedby": ariaDescribedBy,
139
- "aria-invalid": invalid || void 0,
140
- "data-testid": "touch-web-picker",
141
- style: overlayStyle,
142
- onChange: function onChange(event) {
143
- return onValue(event.currentTarget.value);
144
- },
145
- onBlur,
146
- onClick: function onClick(event) {
147
- try {
148
- var _event_currentTarget_showPicker, _event_currentTarget;
149
- (_event_currentTarget_showPicker = (_event_currentTarget = event.currentTarget).showPicker) === null || _event_currentTarget_showPicker === void 0 ? void 0 : _event_currentTarget_showPicker.call(_event_currentTarget);
150
- } catch (unused) {}
151
- }
152
- });
153
- }
154
- //# sourceMappingURL=touchWebPicker.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","touchWebPicker_exports","TouchWebPickerInput","fromNativeDateValue","fromTimeInputValue","toDateInputValue","toDatetimeLocalValue","toTimeInputValue","useCoarsePointer","module","exports","import_jsx_runtime","require","import_theme","import_react","import_tamagui","coarsePointerQuery","coarsePointerList","isWeb","window","matchMedia","subscribeCoarsePointer","onChange","_list_addListener","list","addEventListener","removeEventListener","addListener","_list_removeListener","removeListener","readCoarsePointer","_ref","_coarsePointerList","matches","useSyncExternalStore","formatCalendarDate","showSeconds","wire","replace","slice","parseCalendarDate","nativeTimePattern","_match_","match","trim","base","overlayStyle","position","top","left","width","height","margin","padding","border","opacity","fontSize","cursor","zIndex","WebkitAppearance","appearance","param","kind","onValue","onBlur","id","min","max","disabled","required","invalid","ariaLabel","ariaDescribedBy"],"sources":["../../../src/shared/touchWebPicker.tsx"],"sourcesContent":[null],"mappings":"AAAA,YAAS;;AACT,IAAAA,SAA6B,GAAAC,MAAA,CAAAC,cAA4B;AACzD,IAAAC,gBAAS,GAAaF,MAAA,CAAAG,wBAAA;AAiIlB,IAAAC,iBAAA,GAAAJ,MAAA,CAAAK,mBAAA;AAtHJ,IAAAC,YAAM,GAAAN,MAAA,CAAAO,SAAqB,CAAAC,cAAA;AAE3B,IAAAC,QAAS,GAAAA,CAAAC,MAAA,EAAAC,GAAA,KAA2C;EAClD,KAAK,IAAAC,IAAA,IAASD,GAAA,EACZZ,SAAO,CAAAW,MAAA,EAAAE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAAA;AAET,IAAAC,WAAO,GAAOA,CAAAC,EAAA,EAAAC,IAAW,EAAAC,MAAA,EAAAC,IAAA,KAAkB;EAC7C,IAAAF,IAAA,WAAAA,IAAA,wBAAAA,IAAA;IAEA,KAAS,IAAAG,GAAA,IAAAhB,iBAAuB,CAAAa,IAAkC,GAChE,IAAM,CAAAX,YAAO,CAAAe,IAAA,CAAAL,EAAA,EAAkBI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EAC1BnB,SAAM,CAAAiB,EAAO,EAAAI,GAAA,EAAM;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EAAC;EACzB,OAAIE,EAAA;AACF;AACA,IAAAM,YAAO,GAAMC,GAAK,IAAAR,WAAA,CAAAhB,SAAoB,GAAU,cAAQ;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AAAA,IAC1DE,sBAAA;AACAhB,QAAK,CAAAgB,sBAAsB;EAC3BC,mBAAkB,EAAAA,CAAA,KAAAA,mBAAyB;EAC7CC,mBAAA,EAAAA,CAAA,KAAAA,mBAAA;EAEAC,kBAAS,EAAAA,CAAA,KAAAA,kBAA6B;EACpCC,gBAAO,EAAAA,CAAA,KAAAA,gBAAgC;EACzCC,oBAAA,EAAAA,CAAA,KAAAA,oBAAA;EAMOC,gBAAS,EAAAA,CAAA,KAAAA,gBAA4B;EAC1CC,gBAAO,EAAAA,CAAA,KAAAA;AACT;AAEOC,MAAA,CAAAC,OAAS,GAAAZ,YAAiB,CAAAG,sBAAwC;AACvE,IAAAU,kBAAe,GAAAC,OAAA,oBAAgC,CAAI;AACrD,IAAAC,YAAA,GAAAD,OAAA;AAEO,IAAAE,YAAS,GAAAF,OAAA,QAAqB;AACnC,IAAAG,cAAY,GAAOH,OAAA;AACnB,IAAAI,kBAAa,sBAA0B;AACvC,SAAOC,iBAAcA,CAAA;EACvB,KAAAF,cAAA,CAAAG,KAAA,WAAAC,MAAA,2BAAAA,MAAA,CAAAC,UAAA;IAMO,OAAS;EACd;EACF,OAAAD,MAAA,CAAAC,UAAA,CAAAJ,kBAAA;AAEA;AAGO,SAASK,sBAAmBA,CAAAC,QAAe;EAChD,IAAAC,iBACG;EAGH,IAAIC,IAAC,GAAOP,iBAAO;EACnB,KAAAO,IAAM,SAAU,YAAY,CAC5B;EACF,WAAAA,IAAA,CAAAC,gBAAA;IAEOD,IAAA,CAASC,gBAAA,CAAiB,QAAkC,EAAAH,QAAA;IACjE,OAAO;MACT,OAAAE,IAAA,CAAAE,mBAAA,WAAAJ,QAAA;IAEA;EACE;EACA,CAAAC,iBAAK,GAAAC,IAAA,CAAAG,WAAA,cAAAJ,iBAAA,uBAAAA,iBAAA,CAAA1B,IAAA,CAAA2B,IAAA,EAAAF,QAAA;EACL,OAAM;IACN,IAAAM,oBAAO;IACP,OAAQ,CAAAA,oBAAA,GAAAJ,IAAA,CAAAK,cAAA,cAAAD,oBAAA,uBAAAA,oBAAA,CAAA/B,IAAA,CAAA2B,IAAA,EAAAF,QAAA;EACR;AAAQ;AACC,SACTQ,iBAAQA,CAAA;EACR,IAAAC,IAAA;EAAS,IAAAC,kBAAA;EAET,QAAAD,IAAU,IAAAC,kBAAA,GAAAf,iBAAA,gBAAAe,kBAAA,uBAAAA,kBAAA,CAAAC,OAAA,cAAAF,IAAA,cAAAA,IAAA;AAAA;AACF,SACRvB,gBAAQA,CAAA;EACR,WAAAM,YAAkB,CAAAoB,oBAAA,EAAAb,sBAAA,EAAAS,iBAAA;IAClB,YAAY;EACd;AAmBO;AAA6B,SAClCzB,iBAAAL,KAAA;EACA,OAAAA,KAAA,OAAAa,YAAA,CAAAsB,kBAAA,EAAAnC,KAAA;AAAA;AACA,SACAM,qBAAAN,KAAA,EAAAoC,WAAA;EACA,KAAApC,KAAA;EACA,IAAAqC,IAAA,OAAAxB,YAAA,CAAAsB,kBAAA,EAAAnC,KAAA,cAAAsC,OAAA;EACA,OAAAF,WAAA,GAAAC,IAAA,GAAAA,IAAA,CAAAE,KAAA;AAAA;AACA,SACApC,oBAAAH,KAAA;EACA,WAAAa,YAAA,CAAA2B,iBAAA,EAAAxC,KAAA;AAAA;AACA,IACAyC,iBAAc;AAAA,SACdrC,kBAAoBA,CAAAJ,KAAA,EAAAoC,WAAA;EACtB,IAA6BM,OAAA;EAC3B,IAAAC,KACE,GAAA3C,KAAA,CAAA4C,IAAA,GAAAN,OAAA,mBAAAK,KAAA,CAAAF,iBAAA;EAAA,IAAC,CAAAE,KAAA;EAAA,IAAAE,IAAA,MAAAF,KAAA,OAAAA,KAAA;EAAA,OACCP,WAAM,MAAAS,IAAA,KAAAH,OAAA,GAAAC,KAAA,iBAAAD,OAAA,cAAAA,OAAA,YAAAG,IAAA;AAAA;AACN,SACAtC,iBAAAP,KAAA,EAAAoC,WAAA;EAAA,OACAhC,kBAAY,CAAAJ,KAAA,aAAAA,KAAA,cAAAA,KAAA,OAAAoC,WAAA;AAAA;AACA,IAAAU,YACN;EAAkBC,QACxB;EAAAC,GAAA,EACA;EAAAC,IACA;EAAYC,KACZ;EAAkBC,MAClB;EAAyBC,MACzB;EAAYC,OACZ;EAAOC,MACP;EAAsDC,OACtD;EAAA;EAKEC,QAAA,EAAI;EACFC,MAAA,EAAC,SAAM;EAA8EC,MACvF;EAAQC,gBAAC;EAAAC,UACX;AAAA;AAAA,SACF1D,oBAAA2D,KAAA;EAEJ;IAAAC,IAAA;IAAA9D,KAAA;IAAA+D,OAAA;IAAAC,MAAA;IAAAC,EAAA;IAAAC,GAAA;IAAAC,GAAA;IAAA/B,WAAA;IAAAgC,QAAA;IAAAC,QAAA;IAAAC,OAAA;IAAA,cAAAC,SAAA;IAAA,oBAAAC;EAAA,IAAAX,KAAA","ignoreList":[]}
@@ -1,98 +0,0 @@
1
- /**
2
- * FZ-8114 value contract for the touch-web picker inputs, across timezones.
3
- * The browser speaks timezone-naive strings; the MPO calendar speaks local
4
- * Dates. Each zone below must map one onto the other without a day or hour
5
- * shift. The negative control (the UTC-instant formulation) has to FAIL in
6
- * some zone, so a host that stopped honouring TZ cannot pass this vacuously.
7
- */
8
- import { formatCalendarDate } from "@multiplatform.one/theme";
9
- import { describe, expect, it } from "vitest";
10
- import {
11
- fromNativeDateValue,
12
- fromTimeInputValue,
13
- toDateInputValue,
14
- toDatetimeLocalValue,
15
- toTimeInputValue,
16
- } from "./touchWebPicker";
17
-
18
- const zones = [
19
- "UTC",
20
- "America/Los_Angeles",
21
- "America/St_Johns",
22
- "Asia/Kolkata",
23
- "Pacific/Kiritimati",
24
- ] as const;
25
-
26
- function inZone<T>(timeZone: string, read: () => T): T {
27
- const previous = process.env.TZ;
28
- process.env.TZ = timeZone;
29
- try {
30
- return read();
31
- } finally {
32
- if (previous === undefined) delete process.env.TZ;
33
- else process.env.TZ = previous;
34
- }
35
- }
36
-
37
- describe("touch-web picker values (FZ-8114)", () => {
38
- it("the zones really differ on this host", () => {
39
- const offsets = new Set(
40
- zones.map((zone) => inZone(zone, () => new Date(2026, 2, 5).getTimezoneOffset())),
41
- );
42
- expect(offsets.size).toBe(zones.length);
43
- });
44
-
45
- for (const zone of zones) {
46
- describe(zone, () => {
47
- it("date: the calendar's local midnight and the input string round-trip", () => {
48
- inZone(zone, () => {
49
- const picked = new Date(2026, 2, 5);
50
- expect(toDateInputValue(picked)).toBe("2026-03-05");
51
- const back = fromNativeDateValue("2026-03-05");
52
- expect(back?.getTime()).toBe(picked.getTime());
53
- expect(formatCalendarDate(back, "date")).toBe("2026-03-05");
54
- });
55
- });
56
-
57
- it("datetime: the local wall clock and the datetime-local string round-trip", () => {
58
- inZone(zone, () => {
59
- const picked = new Date(2026, 7, 15, 23, 45, 30);
60
- expect(toDatetimeLocalValue(picked, false)).toBe("2026-08-15T23:45");
61
- expect(toDatetimeLocalValue(picked, true)).toBe("2026-08-15T23:45:30");
62
- const back = fromNativeDateValue("2026-08-15T23:45");
63
- expect(back?.getTime()).toBe(new Date(2026, 7, 15, 23, 45, 0).getTime());
64
- expect(formatCalendarDate(back, "datetime")).toBe("2026-08-15 23:45:00");
65
- const withSeconds = fromNativeDateValue("2026-08-15T23:45:30");
66
- expect(withSeconds?.getTime()).toBe(picked.getTime());
67
- });
68
- });
69
- });
70
- }
71
-
72
- it("negative control: the UTC instant names the wrong day in some zone", () => {
73
- const wrong = zones.filter((zone) =>
74
- inZone(zone, () => new Date(2026, 7, 15).toISOString().slice(0, 10) !== "2026-08-15"),
75
- );
76
- expect(wrong.length).toBeGreaterThan(0);
77
- });
78
-
79
- it("empty and unparseable input clears", () => {
80
- expect(toDateInputValue(null)).toBe("");
81
- expect(toDatetimeLocalValue(undefined, true)).toBe("");
82
- expect(fromNativeDateValue("")).toBeNull();
83
- expect(fromNativeDateValue("2026-13-45")).toBeNull();
84
- });
85
-
86
- it("time: the input string normalises to the string TimePicker's wheels emit", () => {
87
- expect(fromTimeInputValue("14:30", false)).toBe("14:30");
88
- expect(fromTimeInputValue("14:30", true)).toBe("14:30:00");
89
- expect(fromTimeInputValue("14:30:15", false)).toBe("14:30");
90
- expect(fromTimeInputValue("14:30:15.250", true)).toBe("14:30:15");
91
- expect(fromTimeInputValue("9:05", false)).toBe("09:05");
92
- expect(fromTimeInputValue("", false)).toBe("");
93
- expect(fromTimeInputValue("25:00", false)).toBe("");
94
- expect(toTimeInputValue("08:00:00", false)).toBe("08:00");
95
- expect(toTimeInputValue("08:00", true)).toBe("08:00:00");
96
- expect(toTimeInputValue(undefined, false)).toBe("");
97
- });
98
- });
@@ -1,158 +0,0 @@
1
- import { formatCalendarDate, parseCalendarDate } from "@multiplatform.one/theme";
2
- import { type CSSProperties, useSyncExternalStore } from "react";
3
- import { isWeb } from "tamagui";
4
-
5
- /**
6
- * LC-266 on touch web (FZ-8114): a coarse primary pointer gets the browser's
7
- * own picker (`input type=date|time|datetime-local`), laid transparently over
8
- * the MPO box. iOS Safari opens its picker only for a real tap on the input,
9
- * so the input has to be what the finger hits.
10
- */
11
-
12
- export type TouchWebPickerKind = "date" | "time" | "datetime-local";
13
-
14
- const coarsePointerQuery = "(pointer: coarse)";
15
-
16
- function coarsePointerList(): MediaQueryList | null {
17
- if (!isWeb || typeof window === "undefined" || typeof window.matchMedia !== "function") {
18
- return null;
19
- }
20
- return window.matchMedia(coarsePointerQuery);
21
- }
22
-
23
- function subscribeCoarsePointer(onChange: () => void): () => void {
24
- const list = coarsePointerList();
25
- if (!list) return () => {};
26
- if (typeof list.addEventListener === "function") {
27
- list.addEventListener("change", onChange);
28
- return () => list.removeEventListener("change", onChange);
29
- }
30
- list.addListener?.(onChange);
31
- return () => list.removeListener?.(onChange);
32
- }
33
-
34
- function readCoarsePointer(): boolean {
35
- return coarsePointerList()?.matches ?? false;
36
- }
37
-
38
- /**
39
- * Primary pointer only: a touch laptop driven by its trackpad reports `fine`
40
- * and keeps the keyboard field. SSR and hydration read `false`.
41
- */
42
- export function useCoarsePointer(): boolean {
43
- return useSyncExternalStore(subscribeCoarsePointer, readCoarsePointer, () => false);
44
- }
45
-
46
- export function toDateInputValue(value: Date | null | undefined): string {
47
- return value ? formatCalendarDate(value, "date") : "";
48
- }
49
-
50
- export function toDatetimeLocalValue(value: Date | null | undefined, showSeconds: boolean): string {
51
- if (!value) return "";
52
- const wire = formatCalendarDate(value, "datetime").replace(" ", "T");
53
- return showSeconds ? wire : wire.slice(0, 16);
54
- }
55
-
56
- /**
57
- * The browser's string is timezone-naive, so it is read onto LOCAL parts:
58
- * the same Date the MPO calendar builds for that day or wall clock.
59
- */
60
- export function fromNativeDateValue(value: string): Date | null {
61
- return parseCalendarDate(value);
62
- }
63
-
64
- const nativeTimePattern = /^([01]\d|2[0-3]):([0-5]\d)(?::([0-5]\d)(?:\.\d+)?)?$/;
65
-
66
- /** Browsers drop `:00` seconds or add milliseconds; both normalise to TimePicker's string. */
67
- export function fromTimeInputValue(value: string, showSeconds: boolean): string {
68
- const match = value
69
- .trim()
70
- .replace(/^(\d):/, "0$1:")
71
- .match(nativeTimePattern);
72
- if (!match) return "";
73
- const base = `${match[1]}:${match[2]}`;
74
- return showSeconds ? `${base}:${match[3] ?? "00"}` : base;
75
- }
76
-
77
- export function toTimeInputValue(value: string | null | undefined, showSeconds: boolean): string {
78
- return fromTimeInputValue(value ?? "", showSeconds);
79
- }
80
-
81
- const overlayStyle: CSSProperties = {
82
- position: "absolute",
83
- top: 0,
84
- left: 0,
85
- width: "100%",
86
- height: "100%",
87
- margin: 0,
88
- padding: 0,
89
- border: 0,
90
- opacity: 0,
91
- // iOS Safari zooms the page into a focused input under 16px.
92
- fontSize: 16,
93
- cursor: "pointer",
94
- zIndex: 1,
95
- WebkitAppearance: "none",
96
- appearance: "none",
97
- };
98
-
99
- export interface TouchWebPickerInputProps {
100
- kind: TouchWebPickerKind;
101
- value: string;
102
- onValue: (value: string) => void;
103
- onBlur?: () => void;
104
- id?: string;
105
- min?: string;
106
- max?: string;
107
- showSeconds?: boolean;
108
- disabled?: boolean;
109
- required?: boolean;
110
- invalid?: boolean;
111
- "aria-label"?: string;
112
- "aria-describedby"?: string;
113
- }
114
-
115
- /** FieldLayout's label targets `id`, so the input carries the field's name. */
116
- export function TouchWebPickerInput({
117
- kind,
118
- value,
119
- onValue,
120
- onBlur,
121
- id,
122
- min,
123
- max,
124
- showSeconds,
125
- disabled,
126
- required,
127
- invalid,
128
- "aria-label": ariaLabel,
129
- "aria-describedby": ariaDescribedBy,
130
- }: TouchWebPickerInputProps) {
131
- return (
132
- <input
133
- type={kind}
134
- id={id}
135
- value={value}
136
- min={min || undefined}
137
- max={max || undefined}
138
- step={showSeconds ? 1 : undefined}
139
- disabled={disabled}
140
- required={required}
141
- aria-label={ariaLabel}
142
- aria-describedby={ariaDescribedBy}
143
- aria-invalid={invalid || undefined}
144
- data-testid="touch-web-picker"
145
- style={overlayStyle}
146
- onChange={(event) => onValue(event.currentTarget.value)}
147
- onBlur={onBlur}
148
- onClick={(event) => {
149
- // Chrome with a touch screen in desktop mode draws editable segments
150
- // and opens nothing for a tap; showPicker opens the dialog. It throws
151
- // when the picker is already up, which is harmless.
152
- try {
153
- (event.currentTarget as HTMLInputElement & { showPicker?: () => void }).showPicker?.();
154
- } catch {}
155
- }}
156
- />
157
- );
158
- }
@@ -1,40 +0,0 @@
1
- /**
2
- * LC-266 on touch web (FZ-8114): a coarse primary pointer gets the browser's
3
- * own picker (`input type=date|time|datetime-local`), laid transparently over
4
- * the MPO box. iOS Safari opens its picker only for a real tap on the input,
5
- * so the input has to be what the finger hits.
6
- */
7
- export type TouchWebPickerKind = "date" | "time" | "datetime-local";
8
- /**
9
- * Primary pointer only: a touch laptop driven by its trackpad reports `fine`
10
- * and keeps the keyboard field. SSR and hydration read `false`.
11
- */
12
- export declare function useCoarsePointer(): boolean;
13
- export declare function toDateInputValue(value: Date | null | undefined): string;
14
- export declare function toDatetimeLocalValue(value: Date | null | undefined, showSeconds: boolean): string;
15
- /**
16
- * The browser's string is timezone-naive, so it is read onto LOCAL parts:
17
- * the same Date the MPO calendar builds for that day or wall clock.
18
- */
19
- export declare function fromNativeDateValue(value: string): Date | null;
20
- /** Browsers drop `:00` seconds or add milliseconds; both normalise to TimePicker's string. */
21
- export declare function fromTimeInputValue(value: string, showSeconds: boolean): string;
22
- export declare function toTimeInputValue(value: string | null | undefined, showSeconds: boolean): string;
23
- export interface TouchWebPickerInputProps {
24
- kind: TouchWebPickerKind;
25
- value: string;
26
- onValue: (value: string) => void;
27
- onBlur?: () => void;
28
- id?: string;
29
- min?: string;
30
- max?: string;
31
- showSeconds?: boolean;
32
- disabled?: boolean;
33
- required?: boolean;
34
- invalid?: boolean;
35
- "aria-label"?: string;
36
- "aria-describedby"?: string;
37
- }
38
- /** FieldLayout's label targets `id`, so the input carries the field's name. */
39
- export declare function TouchWebPickerInput({ kind, value, onValue, onBlur, id, min, max, showSeconds, disabled, required, invalid, "aria-label": ariaLabel, "aria-describedby": ariaDescribedBy, }: TouchWebPickerInputProps): import("react/jsx-runtime").JSX.Element;
40
- //# sourceMappingURL=touchWebPicker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"touchWebPicker.d.ts","sourceRoot":"","sources":["../../src/shared/touchWebPicker.tsx"],"names":[],"mappings":"AAIA;;;;;GAKG;AAEH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,gBAAgB,CAAC;AA0BpE;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAEvE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,EAAE,WAAW,EAAE,OAAO,GAAG,MAAM,CAIjG;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAE9D;AAID,8FAA8F;AAC9F,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,MAAM,CAQ9E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,WAAW,EAAE,OAAO,GAAG,MAAM,CAE/F;AAoBD,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,+EAA+E;AAC/E,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,KAAK,EACL,OAAO,EACP,MAAM,EACN,EAAE,EACF,GAAG,EACH,GAAG,EACH,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,YAAY,EAAE,SAAS,EACvB,kBAAkB,EAAE,eAAe,GACpC,EAAE,wBAAwB,2CA4B1B"}