@multiplatform.one/forms 7.7.4 → 7.8.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 (579) hide show
  1. package/dist/cjs/Button/index.cjs +3 -36
  2. package/dist/cjs/Button/index.native.js +3 -36
  3. package/dist/cjs/Button/index.native.js.map +1 -1
  4. package/dist/cjs/Chip/index.cjs +1 -1
  5. package/dist/cjs/Chip/index.native.js +1 -1
  6. package/dist/cjs/Chip/index.native.js.map +1 -1
  7. package/dist/cjs/ContextualSaveBar/index.cjs +17 -10
  8. package/dist/cjs/ContextualSaveBar/index.native.js +18 -10
  9. package/dist/cjs/ContextualSaveBar/index.native.js.map +1 -1
  10. package/dist/cjs/FloatingPanel/index.cjs +59 -14
  11. package/dist/cjs/FloatingPanel/index.native.js +16 -7
  12. package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
  13. package/dist/cjs/FloatingPanel/nestedAction.cjs +37 -0
  14. package/dist/cjs/FloatingPanel/nestedAction.native.js +42 -0
  15. package/dist/cjs/FloatingPanel/nestedAction.native.js.map +1 -0
  16. package/dist/cjs/InputParts/index.cjs +11 -7
  17. package/dist/cjs/InputParts/index.native.js +12 -10
  18. package/dist/cjs/InputParts/index.native.js.map +1 -1
  19. package/dist/cjs/Wheel/index.cjs +3 -3
  20. package/dist/cjs/Wheel/index.native.js +3 -3
  21. package/dist/cjs/Wheel/index.native.js.map +1 -1
  22. package/dist/cjs/fieldLayout.cjs +3 -3
  23. package/dist/cjs/fieldLayout.native.js +3 -3
  24. package/dist/cjs/fieldLayout.native.js.map +1 -1
  25. package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.cjs +9 -2
  26. package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js +10 -1
  27. package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  28. package/dist/cjs/fields/Combobox/index.cjs +74 -76
  29. package/dist/cjs/fields/Combobox/index.native.js +78 -86
  30. package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
  31. package/dist/cjs/fields/DatePicker/Calendar.cjs +6 -1
  32. package/dist/cjs/fields/DatePicker/Calendar.native.js +6 -1
  33. package/dist/cjs/fields/DatePicker/Calendar.native.js.map +1 -1
  34. package/dist/cjs/fields/DatePicker/DateRangePicker.cjs +2 -2
  35. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js +2 -2
  36. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  37. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.cjs +15 -12
  38. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js +16 -12
  39. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  40. package/dist/cjs/fields/DatePicker/DatetimePicker.native.js +39 -14
  41. package/dist/cjs/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  42. package/dist/cjs/fields/DatePicker/MonthPicker.cjs +10 -3
  43. package/dist/cjs/fields/DatePicker/MonthPicker.native.js +10 -3
  44. package/dist/cjs/fields/DatePicker/MonthPicker.native.js.map +1 -1
  45. package/dist/cjs/fields/DatePicker/MultiDatePicker.cjs +2 -2
  46. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js +2 -2
  47. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  48. package/dist/cjs/fields/DatePicker/index.native.js +3 -0
  49. package/dist/cjs/fields/DatePicker/index.native.js.map +1 -1
  50. package/dist/cjs/fields/DatePicker/parts.cjs +26 -14
  51. package/dist/cjs/fields/DatePicker/parts.native.js +28 -14
  52. package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
  53. package/dist/cjs/fields/Geolocation/GeolocationMap.native.js.map +1 -1
  54. package/dist/cjs/fields/Geolocation/geocoder.cjs +63 -0
  55. package/dist/cjs/fields/Geolocation/geocoder.native.js +68 -0
  56. package/dist/cjs/fields/Geolocation/geocoder.native.js.map +1 -0
  57. package/dist/cjs/fields/Geolocation/index.cjs +801 -152
  58. package/dist/cjs/fields/Geolocation/index.native.js +856 -167
  59. package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
  60. package/dist/cjs/fields/Geolocation/nativeSearchFocus.cjs +44 -0
  61. package/dist/cjs/fields/Geolocation/nativeSearchFocus.native.js +47 -0
  62. package/dist/cjs/fields/Geolocation/nativeSearchFocus.native.js.map +1 -0
  63. package/dist/cjs/fields/Icon/drawnSet.cjs +14 -3
  64. package/dist/cjs/fields/Icon/drawnSet.native.js +18 -3
  65. package/dist/cjs/fields/Icon/drawnSet.native.js.map +1 -1
  66. package/dist/cjs/fields/Icon/index.cjs +102 -27
  67. package/dist/cjs/fields/Icon/index.native.js +115 -31
  68. package/dist/cjs/fields/Icon/index.native.js.map +1 -1
  69. package/dist/cjs/fields/Input/index.cjs +5 -12
  70. package/dist/cjs/fields/Input/index.native.js +5 -13
  71. package/dist/cjs/fields/Input/index.native.js.map +1 -1
  72. package/dist/cjs/fields/PhoneInput/index.cjs +2 -2
  73. package/dist/cjs/fields/PhoneInput/index.native.js +2 -2
  74. package/dist/cjs/fields/PhoneInput/index.native.js.map +1 -1
  75. package/dist/cjs/fields/SearchInput/index.cjs +8 -9
  76. package/dist/cjs/fields/SearchInput/index.native.js +8 -9
  77. package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
  78. package/dist/cjs/fields/Select/index.cjs +53 -18
  79. package/dist/cjs/fields/Select/index.native.js +63 -37
  80. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  81. package/dist/cjs/fields/Stepper/index.cjs +144 -31
  82. package/dist/cjs/fields/Stepper/index.native.js +151 -31
  83. package/dist/cjs/fields/Stepper/index.native.js.map +1 -1
  84. package/dist/cjs/index.cjs +2 -0
  85. package/dist/cjs/index.native.js +2 -0
  86. package/dist/cjs/index.native.js.map +1 -1
  87. package/dist/cjs/shared/focusManagement.cjs +24 -11
  88. package/dist/cjs/shared/focusManagement.native.js +24 -11
  89. package/dist/cjs/shared/focusManagement.native.js.map +1 -1
  90. package/dist/cjs/shared/pickerTriggerContract.cjs +38 -0
  91. package/dist/cjs/shared/pickerTriggerContract.native.js +41 -0
  92. package/dist/cjs/shared/pickerTriggerContract.native.js.map +1 -0
  93. package/dist/cjs/shared/pressSlopProps.cjs +68 -0
  94. package/dist/cjs/shared/pressSlopProps.native.js +72 -0
  95. package/dist/cjs/shared/pressSlopProps.native.js.map +1 -0
  96. package/dist/esm/AdaptivePopup/index.native.js.map +1 -1
  97. package/dist/esm/Button/index.mjs +1 -34
  98. package/dist/esm/Button/index.mjs.map +1 -1
  99. package/dist/esm/Button/index.native.js +1 -34
  100. package/dist/esm/Button/index.native.js.map +1 -1
  101. package/dist/esm/Chip/index.mjs +1 -1
  102. package/dist/esm/Chip/index.mjs.map +1 -1
  103. package/dist/esm/Chip/index.native.js +1 -1
  104. package/dist/esm/Chip/index.native.js.map +1 -1
  105. package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
  106. package/dist/esm/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -1
  107. package/dist/esm/ContextualSaveBar/commitImmediateField.native.js.map +1 -1
  108. package/dist/esm/ContextualSaveBar/index.mjs +17 -10
  109. package/dist/esm/ContextualSaveBar/index.mjs.map +1 -1
  110. package/dist/esm/ContextualSaveBar/index.native.js +18 -10
  111. package/dist/esm/ContextualSaveBar/index.native.js.map +1 -1
  112. package/dist/esm/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -1
  113. package/dist/esm/ControlGroup/index.native.js.map +1 -1
  114. package/dist/esm/DescriptionList/index.native.js.map +1 -1
  115. package/dist/esm/ErrorSummary.native.js.map +1 -1
  116. package/dist/esm/FieldDisplay/editMode.native.js.map +1 -1
  117. package/dist/esm/FieldDisplay/formatters.native.js.map +1 -1
  118. package/dist/esm/FieldDisplay/index.native.js.map +1 -1
  119. package/dist/esm/FieldGroup.native.js.map +1 -1
  120. package/dist/esm/FloatingPanel/index.mjs +58 -15
  121. package/dist/esm/FloatingPanel/index.mjs.map +1 -1
  122. package/dist/esm/FloatingPanel/index.native.js +15 -8
  123. package/dist/esm/FloatingPanel/index.native.js.map +1 -1
  124. package/dist/esm/FloatingPanel/nestedAction.mjs +11 -0
  125. package/dist/esm/FloatingPanel/nestedAction.mjs.map +1 -0
  126. package/dist/esm/FloatingPanel/nestedAction.native.js +13 -0
  127. package/dist/esm/FloatingPanel/nestedAction.native.js.map +1 -0
  128. package/dist/esm/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  129. package/dist/esm/Form/index.native.js.map +1 -1
  130. package/dist/esm/Form/validateOn.native.js.map +1 -1
  131. package/dist/esm/FormGrid.native.js.map +1 -1
  132. package/dist/esm/FormSection.native.js.map +1 -1
  133. package/dist/esm/InputParts/index.mjs +12 -8
  134. package/dist/esm/InputParts/index.mjs.map +1 -1
  135. package/dist/esm/InputParts/index.native.js +13 -11
  136. package/dist/esm/InputParts/index.native.js.map +1 -1
  137. package/dist/esm/Label/index.native.js.map +1 -1
  138. package/dist/esm/Skeleton/index.native.js.map +1 -1
  139. package/dist/esm/Spinner/SpinnerGlyph.native.js.map +1 -1
  140. package/dist/esm/Spinner/spinnerSize.native.js.map +1 -1
  141. package/dist/esm/Table/index.native.js.map +1 -1
  142. package/dist/esm/Wheel/haptic.native.js.map +1 -1
  143. package/dist/esm/Wheel/index.mjs +3 -3
  144. package/dist/esm/Wheel/index.mjs.map +1 -1
  145. package/dist/esm/Wheel/index.native.js +3 -3
  146. package/dist/esm/Wheel/index.native.js.map +1 -1
  147. package/dist/esm/actionLabel.native.js.map +1 -1
  148. package/dist/esm/fieldDefaults.native.js.map +1 -1
  149. package/dist/esm/fieldLayout.mjs +3 -3
  150. package/dist/esm/fieldLayout.mjs.map +1 -1
  151. package/dist/esm/fieldLayout.native.js +3 -3
  152. package/dist/esm/fieldLayout.native.js.map +1 -1
  153. package/dist/esm/fields/Barcode/BarcodePreview.native.js.map +1 -1
  154. package/dist/esm/fields/Barcode/code128.native.js.map +1 -1
  155. package/dist/esm/fields/Barcode/index.native.js.map +1 -1
  156. package/dist/esm/fields/Barcode/qr.native.js.map +1 -1
  157. package/dist/esm/fields/Barcode/scannerTypes.native.js.map +1 -1
  158. package/dist/esm/fields/Checkbox/Checkbox.native.js.map +1 -1
  159. package/dist/esm/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  160. package/dist/esm/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  161. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.mjs +8 -1
  162. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.mjs.map +1 -1
  163. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.native.js +10 -1
  164. package/dist/esm/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  165. package/dist/esm/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  166. package/dist/esm/fields/Checkbox/checkboxGroupContext.native.js.map +1 -1
  167. package/dist/esm/fields/Checkbox/index.native.js.map +1 -1
  168. package/dist/esm/fields/ColorPicker/index.native.js.map +1 -1
  169. package/dist/esm/fields/ColorPicker/parts.native.js.map +1 -1
  170. package/dist/esm/fields/Combobox/authorOptions.native.js.map +1 -1
  171. package/dist/esm/fields/Combobox/index.mjs +74 -76
  172. package/dist/esm/fields/Combobox/index.mjs.map +1 -1
  173. package/dist/esm/fields/Combobox/index.native.js +78 -86
  174. package/dist/esm/fields/Combobox/index.native.js.map +1 -1
  175. package/dist/esm/fields/DatePicker/Calendar.mjs +6 -1
  176. package/dist/esm/fields/DatePicker/Calendar.mjs.map +1 -1
  177. package/dist/esm/fields/DatePicker/Calendar.native.js +6 -1
  178. package/dist/esm/fields/DatePicker/Calendar.native.js.map +1 -1
  179. package/dist/esm/fields/DatePicker/DateRangePicker.mjs +2 -2
  180. package/dist/esm/fields/DatePicker/DateRangePicker.mjs.map +1 -1
  181. package/dist/esm/fields/DatePicker/DateRangePicker.native.js +2 -2
  182. package/dist/esm/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  183. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.mjs +15 -12
  184. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.mjs.map +1 -1
  185. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js +16 -12
  186. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  187. package/dist/esm/fields/DatePicker/DatetimePicker.native.js +39 -14
  188. package/dist/esm/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  189. package/dist/esm/fields/DatePicker/MonthPicker.mjs +10 -3
  190. package/dist/esm/fields/DatePicker/MonthPicker.mjs.map +1 -1
  191. package/dist/esm/fields/DatePicker/MonthPicker.native.js +10 -3
  192. package/dist/esm/fields/DatePicker/MonthPicker.native.js.map +1 -1
  193. package/dist/esm/fields/DatePicker/MultiDatePicker.mjs +2 -2
  194. package/dist/esm/fields/DatePicker/MultiDatePicker.mjs.map +1 -1
  195. package/dist/esm/fields/DatePicker/MultiDatePicker.native.js +2 -2
  196. package/dist/esm/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  197. package/dist/esm/fields/DatePicker/catalog.native.js.map +1 -1
  198. package/dist/esm/fields/DatePicker/fieldValueSync.native.js.map +1 -1
  199. package/dist/esm/fields/DatePicker/index.native.js +3 -0
  200. package/dist/esm/fields/DatePicker/index.native.js.map +1 -1
  201. package/dist/esm/fields/DatePicker/parts.mjs +28 -16
  202. package/dist/esm/fields/DatePicker/parts.mjs.map +1 -1
  203. package/dist/esm/fields/DatePicker/parts.native.js +30 -16
  204. package/dist/esm/fields/DatePicker/parts.native.js.map +1 -1
  205. package/dist/esm/fields/DatePicker/utils.native.js.map +1 -1
  206. package/dist/esm/fields/Duration/durationMath.native.js.map +1 -1
  207. package/dist/esm/fields/Duration/index.native.js.map +1 -1
  208. package/dist/esm/fields/FileUpload/filePickerTypes.native.js.map +1 -1
  209. package/dist/esm/fields/FileUpload/index.native.js.map +1 -1
  210. package/dist/esm/fields/FileUpload/nativePickerLoader.native.js.map +1 -1
  211. package/dist/esm/fields/Geolocation/GeolocationMap.mjs.map +1 -1
  212. package/dist/esm/fields/Geolocation/GeolocationMap.native.js.map +1 -1
  213. package/dist/esm/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
  214. package/dist/esm/fields/Geolocation/geoValue.native.js.map +1 -1
  215. package/dist/esm/fields/Geolocation/geocoder.mjs +33 -0
  216. package/dist/esm/fields/Geolocation/geocoder.mjs.map +1 -0
  217. package/dist/esm/fields/Geolocation/geocoder.native.js +35 -0
  218. package/dist/esm/fields/Geolocation/geocoder.native.js.map +1 -0
  219. package/dist/esm/fields/Geolocation/index.mjs +792 -149
  220. package/dist/esm/fields/Geolocation/index.mjs.map +1 -1
  221. package/dist/esm/fields/Geolocation/index.native.js +847 -164
  222. package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
  223. package/dist/esm/fields/Geolocation/mapMath.native.js.map +1 -1
  224. package/dist/esm/fields/Geolocation/mapTypes.native.js.map +1 -1
  225. package/dist/esm/fields/Geolocation/nativeSearchFocus.mjs +19 -0
  226. package/dist/esm/fields/Geolocation/nativeSearchFocus.mjs.map +1 -0
  227. package/dist/esm/fields/Geolocation/nativeSearchFocus.native.js +19 -0
  228. package/dist/esm/fields/Geolocation/nativeSearchFocus.native.js.map +1 -0
  229. package/dist/esm/fields/Icon/drawnSet.mjs +14 -3
  230. package/dist/esm/fields/Icon/drawnSet.mjs.map +1 -1
  231. package/dist/esm/fields/Icon/drawnSet.native.js +18 -3
  232. package/dist/esm/fields/Icon/drawnSet.native.js.map +1 -1
  233. package/dist/esm/fields/Icon/index.mjs +93 -18
  234. package/dist/esm/fields/Icon/index.mjs.map +1 -1
  235. package/dist/esm/fields/Icon/index.native.js +106 -22
  236. package/dist/esm/fields/Icon/index.native.js.map +1 -1
  237. package/dist/esm/fields/ImageField/index.native.js.map +1 -1
  238. package/dist/esm/fields/Input/index.mjs +5 -12
  239. package/dist/esm/fields/Input/index.mjs.map +1 -1
  240. package/dist/esm/fields/Input/index.native.js +5 -13
  241. package/dist/esm/fields/Input/index.native.js.map +1 -1
  242. package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
  243. package/dist/esm/fields/OTPInput/index.native.js.map +1 -1
  244. package/dist/esm/fields/OTPInput/otpCellCss.native.js.map +1 -1
  245. package/dist/esm/fields/PhoneInput/dialCodes.native.js.map +1 -1
  246. package/dist/esm/fields/PhoneInput/index.mjs +2 -2
  247. package/dist/esm/fields/PhoneInput/index.mjs.map +1 -1
  248. package/dist/esm/fields/PhoneInput/index.native.js +2 -2
  249. package/dist/esm/fields/PhoneInput/index.native.js.map +1 -1
  250. package/dist/esm/fields/PhoneInput/phone.native.js.map +1 -1
  251. package/dist/esm/fields/Progress/index.native.js.map +1 -1
  252. package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
  253. package/dist/esm/fields/Rating/index.native.js.map +1 -1
  254. package/dist/esm/fields/Rating/ratingMath.native.js.map +1 -1
  255. package/dist/esm/fields/Rating/types.native.js.map +1 -1
  256. package/dist/esm/fields/SearchInput/index.mjs +9 -10
  257. package/dist/esm/fields/SearchInput/index.mjs.map +1 -1
  258. package/dist/esm/fields/SearchInput/index.native.js +9 -10
  259. package/dist/esm/fields/SearchInput/index.native.js.map +1 -1
  260. package/dist/esm/fields/Select/index.mjs +54 -19
  261. package/dist/esm/fields/Select/index.mjs.map +1 -1
  262. package/dist/esm/fields/Select/index.native.js +64 -38
  263. package/dist/esm/fields/Select/index.native.js.map +1 -1
  264. package/dist/esm/fields/Signature/index.native.js.map +1 -1
  265. package/dist/esm/fields/Slider/index.native.js.map +1 -1
  266. package/dist/esm/fields/Slider/jumpMotion.native.js.map +1 -1
  267. package/dist/esm/fields/Stepper/index.mjs +145 -32
  268. package/dist/esm/fields/Stepper/index.mjs.map +1 -1
  269. package/dist/esm/fields/Stepper/index.native.js +152 -32
  270. package/dist/esm/fields/Stepper/index.native.js.map +1 -1
  271. package/dist/esm/fields/Stepper/resolveStepperPlacement.native.js.map +1 -1
  272. package/dist/esm/fields/Switch/index.native.js.map +1 -1
  273. package/dist/esm/fields/TextArea/index.native.js.map +1 -1
  274. package/dist/esm/fields/TimePicker/catalog.native.js.map +1 -1
  275. package/dist/esm/fields/TimePicker/parts.native.js.map +1 -1
  276. package/dist/esm/fields/TimeRangeScrubber/geometry.native.js.map +1 -1
  277. package/dist/esm/fields/TimeRangeScrubber/index.native.js.map +1 -1
  278. package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
  279. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  280. package/dist/esm/fields/nativeDateTime/osDateTimeIosDisplay.native.js.map +1 -1
  281. package/dist/esm/fields/nativeSelect.native.js.map +1 -1
  282. package/dist/esm/fields/selectedOrder.native.js.map +1 -1
  283. package/dist/esm/formSpacing.native.js.map +1 -1
  284. package/dist/esm/hooks/useFocusManagement.native.js.map +1 -1
  285. package/dist/esm/index.mjs +2 -1
  286. package/dist/esm/index.mjs.map +1 -1
  287. package/dist/esm/index.native.js +2 -1
  288. package/dist/esm/index.native.js.map +1 -1
  289. package/dist/esm/requiredMarking.native.js.map +1 -1
  290. package/dist/esm/shared/TimeColumn.native.js.map +1 -1
  291. package/dist/esm/shared/capabilityPreflight.native.js.map +1 -1
  292. package/dist/esm/shared/colorRamps.native.js.map +1 -1
  293. package/dist/esm/shared/devWarn.native.js.map +1 -1
  294. package/dist/esm/shared/floatingList.native.js.map +1 -1
  295. package/dist/esm/shared/focusManagement.mjs +24 -11
  296. package/dist/esm/shared/focusManagement.mjs.map +1 -1
  297. package/dist/esm/shared/focusManagement.native.js +24 -11
  298. package/dist/esm/shared/focusManagement.native.js.map +1 -1
  299. package/dist/esm/shared/groupContext.native.js.map +1 -1
  300. package/dist/esm/shared/i18n.native.js.map +1 -1
  301. package/dist/esm/shared/pickerTriggerContract.mjs +13 -0
  302. package/dist/esm/shared/pickerTriggerContract.mjs.map +1 -0
  303. package/dist/esm/shared/pickerTriggerContract.native.js +13 -0
  304. package/dist/esm/shared/pickerTriggerContract.native.js.map +1 -0
  305. package/dist/esm/shared/pressSlopProps.mjs +43 -0
  306. package/dist/esm/shared/pressSlopProps.mjs.map +1 -0
  307. package/dist/esm/shared/pressSlopProps.native.js +44 -0
  308. package/dist/esm/shared/pressSlopProps.native.js.map +1 -0
  309. package/dist/esm/shared/t.native.js.map +1 -1
  310. package/dist/esm/shared/tableCellContext.native.js.map +1 -1
  311. package/dist/esm/shared/useDragScroll.native.js.map +1 -1
  312. package/dist/esm/shared/useKeyboardInset.native.js.map +1 -1
  313. package/dist/esm/shared/useSheetEscapeDismiss.native.js.map +1 -1
  314. package/dist/esm/shared/useWheelIncrement.native.js.map +1 -1
  315. package/dist/esm/shared/utils.native.js.map +1 -1
  316. package/dist/esm/shared/zIndex.native.js.map +1 -1
  317. package/dist/esm/themedPrimitives.native.js.map +1 -1
  318. package/dist/esm/types.native.js.map +1 -1
  319. package/dist/esm/utils/LinkCell.native.js.map +1 -1
  320. package/dist/jsx/Button/index.mjs +1 -34
  321. package/dist/jsx/Button/index.mjs.map +1 -1
  322. package/dist/jsx/Button/index.native.js +3 -36
  323. package/dist/jsx/Button/index.native.js.map +1 -1
  324. package/dist/jsx/Chip/index.mjs +1 -1
  325. package/dist/jsx/Chip/index.mjs.map +1 -1
  326. package/dist/jsx/Chip/index.native.js +1 -1
  327. package/dist/jsx/Chip/index.native.js.map +1 -1
  328. package/dist/jsx/ContextualSaveBar/index.mjs +17 -10
  329. package/dist/jsx/ContextualSaveBar/index.mjs.map +1 -1
  330. package/dist/jsx/ContextualSaveBar/index.native.js +18 -10
  331. package/dist/jsx/ContextualSaveBar/index.native.js.map +1 -1
  332. package/dist/jsx/FloatingPanel/index.mjs +58 -15
  333. package/dist/jsx/FloatingPanel/index.mjs.map +1 -1
  334. package/dist/jsx/FloatingPanel/index.native.js +16 -7
  335. package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
  336. package/dist/jsx/FloatingPanel/nestedAction.mjs +11 -0
  337. package/dist/jsx/FloatingPanel/nestedAction.mjs.map +1 -0
  338. package/dist/jsx/FloatingPanel/nestedAction.native.js +42 -0
  339. package/dist/jsx/FloatingPanel/nestedAction.native.js.map +1 -0
  340. package/dist/jsx/InputParts/index.mjs +12 -8
  341. package/dist/jsx/InputParts/index.mjs.map +1 -1
  342. package/dist/jsx/InputParts/index.native.js +12 -10
  343. package/dist/jsx/InputParts/index.native.js.map +1 -1
  344. package/dist/jsx/Wheel/index.mjs +3 -3
  345. package/dist/jsx/Wheel/index.mjs.map +1 -1
  346. package/dist/jsx/Wheel/index.native.js +3 -3
  347. package/dist/jsx/Wheel/index.native.js.map +1 -1
  348. package/dist/jsx/fieldLayout.mjs +3 -3
  349. package/dist/jsx/fieldLayout.mjs.map +1 -1
  350. package/dist/jsx/fieldLayout.native.js +3 -3
  351. package/dist/jsx/fieldLayout.native.js.map +1 -1
  352. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.mjs +8 -1
  353. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.mjs.map +1 -1
  354. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.native.js +10 -1
  355. package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  356. package/dist/jsx/fields/Combobox/index.mjs +74 -76
  357. package/dist/jsx/fields/Combobox/index.mjs.map +1 -1
  358. package/dist/jsx/fields/Combobox/index.native.js +78 -86
  359. package/dist/jsx/fields/Combobox/index.native.js.map +1 -1
  360. package/dist/jsx/fields/DatePicker/Calendar.mjs +6 -1
  361. package/dist/jsx/fields/DatePicker/Calendar.mjs.map +1 -1
  362. package/dist/jsx/fields/DatePicker/Calendar.native.js +6 -1
  363. package/dist/jsx/fields/DatePicker/Calendar.native.js.map +1 -1
  364. package/dist/jsx/fields/DatePicker/DateRangePicker.mjs +2 -2
  365. package/dist/jsx/fields/DatePicker/DateRangePicker.mjs.map +1 -1
  366. package/dist/jsx/fields/DatePicker/DateRangePicker.native.js +2 -2
  367. package/dist/jsx/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  368. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.mjs +15 -12
  369. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.mjs.map +1 -1
  370. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.native.js +16 -12
  371. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  372. package/dist/jsx/fields/DatePicker/DatetimePicker.native.js +39 -14
  373. package/dist/jsx/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  374. package/dist/jsx/fields/DatePicker/MonthPicker.mjs +10 -3
  375. package/dist/jsx/fields/DatePicker/MonthPicker.mjs.map +1 -1
  376. package/dist/jsx/fields/DatePicker/MonthPicker.native.js +10 -3
  377. package/dist/jsx/fields/DatePicker/MonthPicker.native.js.map +1 -1
  378. package/dist/jsx/fields/DatePicker/MultiDatePicker.mjs +2 -2
  379. package/dist/jsx/fields/DatePicker/MultiDatePicker.mjs.map +1 -1
  380. package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js +2 -2
  381. package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  382. package/dist/jsx/fields/DatePicker/index.native.js +3 -0
  383. package/dist/jsx/fields/DatePicker/index.native.js.map +1 -1
  384. package/dist/jsx/fields/DatePicker/parts.mjs +28 -16
  385. package/dist/jsx/fields/DatePicker/parts.mjs.map +1 -1
  386. package/dist/jsx/fields/DatePicker/parts.native.js +28 -14
  387. package/dist/jsx/fields/DatePicker/parts.native.js.map +1 -1
  388. package/dist/jsx/fields/Geolocation/GeolocationMap.mjs.map +1 -1
  389. package/dist/jsx/fields/Geolocation/GeolocationMap.native.js.map +1 -1
  390. package/dist/jsx/fields/Geolocation/geocoder.mjs +33 -0
  391. package/dist/jsx/fields/Geolocation/geocoder.mjs.map +1 -0
  392. package/dist/jsx/fields/Geolocation/geocoder.native.js +68 -0
  393. package/dist/jsx/fields/Geolocation/geocoder.native.js.map +1 -0
  394. package/dist/jsx/fields/Geolocation/index.mjs +792 -149
  395. package/dist/jsx/fields/Geolocation/index.mjs.map +1 -1
  396. package/dist/jsx/fields/Geolocation/index.native.js +856 -167
  397. package/dist/jsx/fields/Geolocation/index.native.js.map +1 -1
  398. package/dist/jsx/fields/Geolocation/nativeSearchFocus.mjs +19 -0
  399. package/dist/jsx/fields/Geolocation/nativeSearchFocus.mjs.map +1 -0
  400. package/dist/jsx/fields/Geolocation/nativeSearchFocus.native.js +47 -0
  401. package/dist/jsx/fields/Geolocation/nativeSearchFocus.native.js.map +1 -0
  402. package/dist/jsx/fields/Icon/drawnSet.mjs +14 -3
  403. package/dist/jsx/fields/Icon/drawnSet.mjs.map +1 -1
  404. package/dist/jsx/fields/Icon/drawnSet.native.js +18 -3
  405. package/dist/jsx/fields/Icon/drawnSet.native.js.map +1 -1
  406. package/dist/jsx/fields/Icon/index.mjs +93 -18
  407. package/dist/jsx/fields/Icon/index.mjs.map +1 -1
  408. package/dist/jsx/fields/Icon/index.native.js +115 -31
  409. package/dist/jsx/fields/Icon/index.native.js.map +1 -1
  410. package/dist/jsx/fields/Input/index.mjs +5 -12
  411. package/dist/jsx/fields/Input/index.mjs.map +1 -1
  412. package/dist/jsx/fields/Input/index.native.js +5 -13
  413. package/dist/jsx/fields/Input/index.native.js.map +1 -1
  414. package/dist/jsx/fields/PhoneInput/index.mjs +2 -2
  415. package/dist/jsx/fields/PhoneInput/index.mjs.map +1 -1
  416. package/dist/jsx/fields/PhoneInput/index.native.js +2 -2
  417. package/dist/jsx/fields/PhoneInput/index.native.js.map +1 -1
  418. package/dist/jsx/fields/SearchInput/index.mjs +9 -10
  419. package/dist/jsx/fields/SearchInput/index.mjs.map +1 -1
  420. package/dist/jsx/fields/SearchInput/index.native.js +8 -9
  421. package/dist/jsx/fields/SearchInput/index.native.js.map +1 -1
  422. package/dist/jsx/fields/Select/index.mjs +54 -19
  423. package/dist/jsx/fields/Select/index.mjs.map +1 -1
  424. package/dist/jsx/fields/Select/index.native.js +63 -37
  425. package/dist/jsx/fields/Select/index.native.js.map +1 -1
  426. package/dist/jsx/fields/Stepper/index.mjs +145 -32
  427. package/dist/jsx/fields/Stepper/index.mjs.map +1 -1
  428. package/dist/jsx/fields/Stepper/index.native.js +151 -31
  429. package/dist/jsx/fields/Stepper/index.native.js.map +1 -1
  430. package/dist/jsx/index.js +2 -1
  431. package/dist/jsx/index.js.map +1 -1
  432. package/dist/jsx/index.mjs +2 -1
  433. package/dist/jsx/index.mjs.map +1 -1
  434. package/dist/jsx/index.native.js +2 -0
  435. package/dist/jsx/index.native.js.map +1 -1
  436. package/dist/jsx/shared/focusManagement.mjs +24 -11
  437. package/dist/jsx/shared/focusManagement.mjs.map +1 -1
  438. package/dist/jsx/shared/focusManagement.native.js +24 -11
  439. package/dist/jsx/shared/focusManagement.native.js.map +1 -1
  440. package/dist/jsx/shared/pickerTriggerContract.mjs +13 -0
  441. package/dist/jsx/shared/pickerTriggerContract.mjs.map +1 -0
  442. package/dist/jsx/shared/pickerTriggerContract.native.js +41 -0
  443. package/dist/jsx/shared/pickerTriggerContract.native.js.map +1 -0
  444. package/dist/jsx/shared/pressSlopProps.mjs +43 -0
  445. package/dist/jsx/shared/pressSlopProps.mjs.map +1 -0
  446. package/dist/jsx/shared/pressSlopProps.native.js +72 -0
  447. package/dist/jsx/shared/pressSlopProps.native.js.map +1 -0
  448. package/package.json +8 -7
  449. package/src/Button/Button.labelInk.spec.tsx +21 -18
  450. package/src/Button/Button.outlinedChannel.spec.tsx +46 -0
  451. package/src/Button/Button.sizeLadder.spec.tsx +4 -3
  452. package/src/Button/Button.stories.tsx +20 -0
  453. package/src/Button/index.tsx +26 -39
  454. package/src/Chip/Chip.spec.tsx +3 -1
  455. package/src/Chip/index.tsx +1 -5
  456. package/src/ContextualSaveBar/ContextualSaveBar.spec.tsx +33 -0
  457. package/src/ContextualSaveBar/ContextualSaveBar.stories.tsx +19 -0
  458. package/src/ContextualSaveBar/index.tsx +12 -8
  459. package/src/ContextualSaveBar/nativeFlow.spec.tsx +20 -0
  460. package/src/FieldLayout.stories.tsx +41 -0
  461. package/src/FloatingPanel/FloatingPanel.native.spec.tsx +54 -0
  462. package/src/FloatingPanel/FloatingPanel.spec.tsx +109 -0
  463. package/src/FloatingPanel/index.native.tsx +24 -7
  464. package/src/FloatingPanel/index.tsx +80 -13
  465. package/src/FloatingPanel/nestedAction.spec.ts +36 -0
  466. package/src/FloatingPanel/nestedAction.ts +15 -0
  467. package/src/FloatingPanel/panelWidthContract.spec.ts +12 -15
  468. package/src/FormsIntegration.stories.tsx +2 -6
  469. package/src/InputParts/index.tsx +20 -6
  470. package/src/InputParts/layoutGap.spec.tsx +43 -0
  471. package/src/Wheel/Wheel.spec.tsx +16 -0
  472. package/src/Wheel/index.tsx +3 -3
  473. package/src/fieldLayout.spec.tsx +42 -1
  474. package/src/fieldLayout.tsx +9 -9
  475. package/src/fields/Checkbox/CheckboxFieldFrame.spec.tsx +18 -0
  476. package/src/fields/Checkbox/CheckboxFieldFrame.tsx +6 -1
  477. package/src/fields/Combobox/Combobox.spec.tsx +48 -1
  478. package/src/fields/Combobox/index.tsx +90 -80
  479. package/src/fields/DatePicker/Calendar.tsx +4 -1
  480. package/src/fields/DatePicker/DatePicker.stories.tsx +22 -1
  481. package/src/fields/DatePicker/DateRangePicker.tsx +4 -2
  482. package/src/fields/DatePicker/DatetimePicker.catalog.tsx +21 -19
  483. package/src/fields/DatePicker/DatetimePicker.native.spec.tsx +144 -0
  484. package/src/fields/DatePicker/DatetimePicker.native.tsx +57 -32
  485. package/src/fields/DatePicker/DatetimePicker.stories.tsx +22 -0
  486. package/src/fields/DatePicker/MonthPicker.tsx +8 -3
  487. package/src/fields/DatePicker/MultiDatePicker.tsx +4 -2
  488. package/src/fields/DatePicker/index.native.tsx +1 -0
  489. package/src/fields/DatePicker/parts.spec.tsx +56 -0
  490. package/src/fields/DatePicker/parts.tsx +33 -12
  491. package/src/fields/Geolocation/Geolocation.spec.tsx +287 -35
  492. package/src/fields/Geolocation/Geolocation.stories.tsx +141 -7
  493. package/src/fields/Geolocation/GeolocationMap.native.tsx +3 -0
  494. package/src/fields/Geolocation/GeolocationMap.tsx +4 -0
  495. package/src/fields/Geolocation/geocoder.spec.ts +59 -0
  496. package/src/fields/Geolocation/geocoder.ts +84 -0
  497. package/src/fields/Geolocation/geocoderSeam.spec.tsx +203 -0
  498. package/src/fields/Geolocation/index.tsx +912 -180
  499. package/src/fields/Geolocation/nativeSearchFocus.spec.ts +34 -0
  500. package/src/fields/Geolocation/nativeSearchFocus.ts +19 -0
  501. package/src/fields/Geolocation/salvage.spec.tsx +398 -0
  502. package/src/fields/Geolocation/storyProviders.spec.tsx +44 -0
  503. package/src/fields/Icon/Icon.spec.tsx +215 -1
  504. package/src/fields/Icon/Icon.stories.tsx +9 -1
  505. package/src/fields/Icon/drawnSet.tsx +39 -4
  506. package/src/fields/Icon/index.tsx +118 -18
  507. package/src/fields/Input/Input.copy.spec.tsx +1 -0
  508. package/src/fields/Input/Input.spec.tsx +50 -0
  509. package/src/fields/Input/Input.stories.tsx +1 -1
  510. package/src/fields/Input/index.tsx +7 -13
  511. package/src/fields/PhoneInput/index.tsx +2 -2
  512. package/src/fields/SearchInput/SearchInput.spec.tsx +14 -0
  513. package/src/fields/SearchInput/index.tsx +5 -6
  514. package/src/fields/Select/Select.spec.tsx +54 -0
  515. package/src/fields/Select/index.tsx +63 -33
  516. package/src/fields/Stepper/Stepper.spec.tsx +34 -1
  517. package/src/fields/Stepper/index.tsx +193 -33
  518. package/src/fields/pickerActivation.spec.tsx +105 -0
  519. package/src/fields/pickerDensity.spec.tsx +86 -0
  520. package/src/fields/pickerRows.spec.tsx +66 -0
  521. package/src/index.ts +9 -0
  522. package/src/shared/focusManagement.spec.tsx +68 -0
  523. package/src/shared/focusManagement.ts +20 -10
  524. package/src/shared/pickerTriggerContract.ts +13 -0
  525. package/src/shared/pressSlopProps.spec.ts +39 -0
  526. package/src/shared/pressSlopProps.ts +52 -0
  527. package/types/Button/index.d.ts +22 -3
  528. package/types/Button/index.d.ts.map +1 -1
  529. package/types/Chip/index.d.ts.map +1 -1
  530. package/types/ContextualSaveBar/index.d.ts +1 -1
  531. package/types/ContextualSaveBar/index.d.ts.map +1 -1
  532. package/types/FloatingPanel/index.d.ts +11 -1
  533. package/types/FloatingPanel/index.d.ts.map +1 -1
  534. package/types/FloatingPanel/index.native.d.ts +2 -1
  535. package/types/FloatingPanel/index.native.d.ts.map +1 -1
  536. package/types/FloatingPanel/nestedAction.d.ts +13 -0
  537. package/types/FloatingPanel/nestedAction.d.ts.map +1 -0
  538. package/types/InputParts/index.d.ts.map +1 -1
  539. package/types/fields/Checkbox/CheckboxFieldFrame.d.ts +46 -2
  540. package/types/fields/Checkbox/CheckboxFieldFrame.d.ts.map +1 -1
  541. package/types/fields/Checkbox/index.d.ts +3 -3
  542. package/types/fields/Combobox/index.d.ts +3 -1
  543. package/types/fields/Combobox/index.d.ts.map +1 -1
  544. package/types/fields/DatePicker/Calendar.d.ts.map +1 -1
  545. package/types/fields/DatePicker/DateRangePicker.d.ts.map +1 -1
  546. package/types/fields/DatePicker/DatetimePicker.catalog.d.ts.map +1 -1
  547. package/types/fields/DatePicker/DatetimePicker.native.d.ts.map +1 -1
  548. package/types/fields/DatePicker/MonthPicker.d.ts.map +1 -1
  549. package/types/fields/DatePicker/MultiDatePicker.d.ts.map +1 -1
  550. package/types/fields/DatePicker/index.native.d.ts.map +1 -1
  551. package/types/fields/DatePicker/parts.d.ts.map +1 -1
  552. package/types/fields/Geolocation/GeolocationMap.d.ts +4 -0
  553. package/types/fields/Geolocation/GeolocationMap.d.ts.map +1 -1
  554. package/types/fields/Geolocation/GeolocationMap.native.d.ts +3 -0
  555. package/types/fields/Geolocation/GeolocationMap.native.d.ts.map +1 -1
  556. package/types/fields/Geolocation/geocoder.d.ts +53 -0
  557. package/types/fields/Geolocation/geocoder.d.ts.map +1 -0
  558. package/types/fields/Geolocation/index.d.ts +18 -2
  559. package/types/fields/Geolocation/index.d.ts.map +1 -1
  560. package/types/fields/Geolocation/nativeSearchFocus.d.ts +8 -0
  561. package/types/fields/Geolocation/nativeSearchFocus.d.ts.map +1 -0
  562. package/types/fields/Icon/drawnSet.d.ts.map +1 -1
  563. package/types/fields/Icon/index.d.ts.map +1 -1
  564. package/types/fields/Input/index.d.ts.map +1 -1
  565. package/types/fields/PhoneInput/index.d.ts.map +1 -1
  566. package/types/fields/RadioGroup/index.d.ts +2 -2
  567. package/types/fields/SearchInput/index.d.ts.map +1 -1
  568. package/types/fields/Select/index.d.ts.map +1 -1
  569. package/types/fields/Stepper/index.d.ts.map +1 -1
  570. package/types/fields/ToggleGroup/index.d.ts +1 -1
  571. package/types/index.d.ts +2 -0
  572. package/types/index.d.ts.map +1 -1
  573. package/types/shared/focusManagement.d.ts +2 -2
  574. package/types/shared/focusManagement.d.ts.map +1 -1
  575. package/types/shared/pickerTriggerContract.d.ts +18 -0
  576. package/types/shared/pickerTriggerContract.d.ts.map +1 -0
  577. package/types/shared/pressSlopProps.d.ts +8 -0
  578. package/types/shared/pressSlopProps.d.ts.map +1 -0
  579. package/src/router.d.ts +0 -16
@@ -12,17 +12,24 @@ function focusIsDropped(insideEl) {
12
12
  function useCaptureOnOpen(open) {
13
13
  const prevRef = useRef(null);
14
14
  const wasOpenRef = useRef(false);
15
+ const generationRef = useRef(0);
15
16
  if (canUseDom()) {
17
+ if (open !== wasOpenRef.current) generationRef.current += 1;
16
18
  if (open && !wasOpenRef.current) {
17
19
  prevRef.current = document.activeElement;
18
20
  }
19
21
  wasOpenRef.current = open;
20
22
  }
21
- return prevRef;
23
+ return {
24
+ prevRef,
25
+ generationRef
26
+ };
22
27
  }
23
- function restoreLater(prevRef, insideRef) {
28
+ function restoreLater(prevRef, generationRef, insideRef, skipReturnFocusRef) {
29
+ const generation = generationRef.current;
24
30
  const restore = () => {
25
31
  if (!canUseDom()) return;
32
+ if (skipReturnFocusRef?.current || generationRef.current !== generation) return;
26
33
  const target = prevRef.current;
27
34
  if (!target || !target.isConnected) return;
28
35
  if (focusIsDropped(insideRef?.current ?? null)) {
@@ -35,20 +42,26 @@ function restoreLater(prevRef, insideRef) {
35
42
  requestAnimationFrame(() => requestAnimationFrame(restore));
36
43
  setTimeout(restore, 320);
37
44
  }
38
- function useReturnFocusOnClose(open) {
39
- const prevRef = useCaptureOnOpen(open);
45
+ function useReturnFocusOnClose(open, skipReturnFocusRef) {
46
+ const {
47
+ prevRef,
48
+ generationRef
49
+ } = useCaptureOnOpen(open);
40
50
  useEffect(() => {
41
51
  if (!canUseDom() || !open) return;
42
- return () => restoreLater(prevRef);
43
- }, [open, prevRef]);
52
+ return () => restoreLater(prevRef, generationRef, void 0, skipReturnFocusRef);
53
+ }, [open, prevRef, generationRef, skipReturnFocusRef]);
44
54
  }
45
- function useSheetModalFocus(open, frameRef) {
46
- const prevRef = useCaptureOnOpen(open);
55
+ function useSheetModalFocus(open, frameRef, skipReturnFocusRef) {
56
+ const {
57
+ prevRef,
58
+ generationRef
59
+ } = useCaptureOnOpen(open);
47
60
  useEffect(() => {
48
61
  if (!canUseDom() || !open) return;
49
62
  const frame = frameRef.current;
50
63
  if (!frame || typeof frame.addEventListener !== "function") {
51
- return () => restoreLater(prevRef, frameRef);
64
+ return () => restoreLater(prevRef, generationRef, frameRef, skipReturnFocusRef);
52
65
  }
53
66
  const focusIn = () => {
54
67
  if (!canUseDom()) return;
@@ -86,9 +99,9 @@ function useSheetModalFocus(open, frameRef) {
86
99
  cancelAnimationFrame(raf);
87
100
  cancelAnimationFrame(innerRaf);
88
101
  frame.removeEventListener("keydown", onKeyDown);
89
- restoreLater(prevRef, frameRef);
102
+ restoreLater(prevRef, generationRef, frameRef, skipReturnFocusRef);
90
103
  };
91
- }, [open, frameRef, prevRef]);
104
+ }, [open, frameRef, prevRef, generationRef, skipReturnFocusRef]);
92
105
  }
93
106
  export { useReturnFocusOnClose, useSheetModalFocus };
94
107
  //# sourceMappingURL=focusManagement.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useRef","isWeb","wasKeyboardFocus","FOCUSABLE","canUseDom","document","focusIsDropped","insideEl","ae","activeElement","body","documentElement","contains","useCaptureOnOpen","open","prevRef","wasOpenRef","current","restoreLater","insideRef","restore","target","isConnected","focus","preventScroll","focusVisible","requestAnimationFrame","setTimeout","useReturnFocusOnClose","useSheetModalFocus","frameRef","frame","addEventListener","focusIn","first","querySelector","innerRaf","raf","onKeyDown","e","key","focusables","Array","from","querySelectorAll","filter","el","offsetWidth","offsetHeight","length","preventDefault","last","shiftKey","cancelAnimationFrame","removeEventListener"],"sources":["../../../src/shared/focusManagement.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useRef","isWeb","wasKeyboardFocus","FOCUSABLE","canUseDom","document","focusIsDropped","insideEl","ae","activeElement","body","documentElement","contains","useCaptureOnOpen","open","prevRef","wasOpenRef","generationRef","current","restoreLater","insideRef","skipReturnFocusRef","generation","restore","target","isConnected","focus","preventScroll","focusVisible","requestAnimationFrame","setTimeout","useReturnFocusOnClose","useSheetModalFocus","frameRef","frame","addEventListener","focusIn","first","querySelector","innerRaf","raf","onKeyDown","e","key","focusables","Array","from","querySelectorAll","filter","el","offsetWidth","offsetHeight","length","preventDefault","last","shiftKey","cancelAnimationFrame","removeEventListener"],"sources":["../../../src/shared/focusManagement.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -44,18 +44,25 @@ function focusIsDropped(insideEl) {
44
44
  function useCaptureOnOpen(open) {
45
45
  var prevRef = (0, import_react.useRef)(null);
46
46
  var wasOpenRef = (0, import_react.useRef)(false);
47
+ var generationRef = (0, import_react.useRef)(0);
47
48
  if (canUseDom()) {
49
+ if (open !== wasOpenRef.current) generationRef.current += 1;
48
50
  if (open && !wasOpenRef.current) {
49
51
  prevRef.current = document.activeElement;
50
52
  }
51
53
  wasOpenRef.current = open;
52
54
  }
53
- return prevRef;
55
+ return {
56
+ prevRef,
57
+ generationRef
58
+ };
54
59
  }
55
- function restoreLater(prevRef, insideRef) {
60
+ function restoreLater(prevRef, generationRef, insideRef, skipReturnFocusRef) {
61
+ var generation = generationRef.current;
56
62
  var restore = function restore2() {
57
63
  var _ref;
58
64
  if (!canUseDom()) return;
65
+ if ((skipReturnFocusRef === null || skipReturnFocusRef === void 0 ? void 0 : skipReturnFocusRef.current) || generationRef.current !== generation) return;
59
66
  var target = prevRef.current;
60
67
  if (!target || !target.isConnected) return;
61
68
  if (focusIsDropped((_ref = insideRef === null || insideRef === void 0 ? void 0 : insideRef.current) !== null && _ref !== void 0 ? _ref : null)) {
@@ -70,23 +77,29 @@ function restoreLater(prevRef, insideRef) {
70
77
  });
71
78
  setTimeout(restore, 320);
72
79
  }
73
- function useReturnFocusOnClose(open) {
74
- var prevRef = useCaptureOnOpen(open);
80
+ function useReturnFocusOnClose(open, skipReturnFocusRef) {
81
+ var {
82
+ prevRef,
83
+ generationRef
84
+ } = useCaptureOnOpen(open);
75
85
  (0, import_react.useEffect)(function () {
76
86
  if (!canUseDom() || !open) return;
77
87
  return function () {
78
- return restoreLater(prevRef);
88
+ return restoreLater(prevRef, generationRef, void 0, skipReturnFocusRef);
79
89
  };
80
- }, [open, prevRef]);
90
+ }, [open, prevRef, generationRef, skipReturnFocusRef]);
81
91
  }
82
- function useSheetModalFocus(open, frameRef) {
83
- var prevRef = useCaptureOnOpen(open);
92
+ function useSheetModalFocus(open, frameRef, skipReturnFocusRef) {
93
+ var {
94
+ prevRef,
95
+ generationRef
96
+ } = useCaptureOnOpen(open);
84
97
  (0, import_react.useEffect)(function () {
85
98
  if (!canUseDom() || !open) return;
86
99
  var frame = frameRef.current;
87
100
  if (!frame || typeof frame.addEventListener !== "function") {
88
101
  return function () {
89
- return restoreLater(prevRef, frameRef);
102
+ return restoreLater(prevRef, generationRef, frameRef, skipReturnFocusRef);
90
103
  };
91
104
  }
92
105
  var focusIn = function focusIn2() {
@@ -127,8 +140,8 @@ function useSheetModalFocus(open, frameRef) {
127
140
  cancelAnimationFrame(raf);
128
141
  cancelAnimationFrame(innerRaf);
129
142
  frame.removeEventListener("keydown", onKeyDown);
130
- restoreLater(prevRef, frameRef);
143
+ restoreLater(prevRef, generationRef, frameRef, skipReturnFocusRef);
131
144
  };
132
- }, [open, frameRef, prevRef]);
145
+ }, [open, frameRef, prevRef, generationRef, skipReturnFocusRef]);
133
146
  }
134
147
  //# sourceMappingURL=focusManagement.native.js.map
@@ -1 +1 @@
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","focusManagement_exports","useReturnFocusOnClose","useSheetModalFocus","module","exports","import_react","require","import_tamagui","import_theme","FOCUSABLE","canUseDom","canUseDom2","isWeb","document","focusIsDropped","insideEl","ae","activeElement","body","documentElement","contains","useCaptureOnOpen","open","prevRef","useRef","wasOpenRef","current","restoreLater","insideRef","restore","restore2","_ref","isConnected","focus","preventScroll","focusVisible","wasKeyboardFocus","requestAnimationFrame","setTimeout","useEffect","frameRef","frame","addEventListener","focusIn","focusIn2"],"sources":["../../../src/shared/focusManagement.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
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","focusManagement_exports","useReturnFocusOnClose","useSheetModalFocus","module","exports","import_react","require","import_tamagui","import_theme","FOCUSABLE","canUseDom","canUseDom2","isWeb","document","focusIsDropped","insideEl","ae","activeElement","body","documentElement","contains","useCaptureOnOpen","open","prevRef","useRef","wasOpenRef","generationRef","current","restoreLater","insideRef","skipReturnFocusRef","generation","restore","restore2","_ref","isConnected","focus","preventScroll","focusVisible","wasKeyboardFocus","requestAnimationFrame","setTimeout","useEffect","frameRef","frame","addEventListener"],"sources":["../../../src/shared/focusManagement.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import { MIN_PRESS_TARGET } from "@multiplatform.one/theme";
2
+ import { pressSlopProps } from "./pressSlopProps.mjs";
3
+ function pickerTriggerContract(height) {
4
+ const belowFloor = height < MIN_PRESS_TARGET;
5
+ return {
6
+ minWidth: MIN_PRESS_TARGET,
7
+ "data-visual-height": String(height),
8
+ "data-press-floor": belowFloor ? "slop" : "box",
9
+ ...pressSlopProps(height, belowFloor, "vertical")
10
+ };
11
+ }
12
+ export { pickerTriggerContract };
13
+ //# sourceMappingURL=pickerTriggerContract.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MIN_PRESS_TARGET","pressSlopProps","pickerTriggerContract","height","belowFloor","minWidth","String"],"sources":["../../../src/shared/pickerTriggerContract.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,gBAAA,QAAwB;AACjC,SAASC,cAAA,QAAsB;AAGxB,SAASC,sBAAsBC,MAAA,EAAgB;EACpD,MAAMC,UAAA,GAAaD,MAAA,GAASH,gBAAA;EAC5B,OAAO;IACLK,QAAA,EAAUL,gBAAA;IACV,sBAAsBM,MAAA,CAAOH,MAAM;IACnC,oBAAoBC,UAAA,GAAa,SAAS;IAC1C,GAAGH,cAAA,CAAeE,MAAA,EAAQC,UAAA,EAAY,UAAU;EAClD;AACF","ignoreList":[]}
@@ -0,0 +1,41 @@
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 pickerTriggerContract_exports = {};
26
+ __export(pickerTriggerContract_exports, {
27
+ pickerTriggerContract: () => pickerTriggerContract
28
+ });
29
+ module.exports = __toCommonJS(pickerTriggerContract_exports);
30
+ var import_theme = require("@multiplatform.one/theme");
31
+ var import_pressSlopProps = require("./pressSlopProps.native.js");
32
+ function pickerTriggerContract(height) {
33
+ var belowFloor = height < import_theme.MIN_PRESS_TARGET;
34
+ return {
35
+ minWidth: import_theme.MIN_PRESS_TARGET,
36
+ "data-visual-height": String(height),
37
+ "data-press-floor": belowFloor ? "slop" : "box",
38
+ ...(0, import_pressSlopProps.pressSlopProps)(height, belowFloor, "vertical")
39
+ };
40
+ }
41
+ //# sourceMappingURL=pickerTriggerContract.native.js.map
@@ -0,0 +1 @@
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"],"sources":["../../../src/shared/pickerTriggerContract.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAS;;AACT,IAAAA,SAAS,GAAAC,MAAA,CAAAC,cAAsB;AAGxB,IAAAC,gBAAS,GAAAF,MAAA,CAAAG,wBAAsC;AACpD,IAAAC,iBAAmB,GAAAJ,MAAS,CAAAK,mBAAA;AAC5B,IAAAC,YAAO,GAAAN,MAAA,CAAAO,SAAA,CAAAC,cAAA;AAAA,IACLC,QAAA,GAAUA,CAAAC,MAAA,EAAAC,GAAA;EAAA,KACV,IAAAC,IAAA,IAAAD,GAAA,EACAZ,SAAA,CAAAW,MAAA,EAAAE,IAAoB;IAAAC,GAAA,EAAAF,GAAa,CAAAC,IAAA;IAASE,UAAA;EAAA;AAAA;AACM,IAClDC,WAAA,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EACF,IAAAF,IAAA,WAAAA,IAAA,wBAAAA,IAAA","ignoreList":[]}
@@ -0,0 +1,43 @@
1
+ import { MIN_PRESS_TARGET, pressTargetHitSlop } from "@multiplatform.one/theme";
2
+ import { isWeb } from "tamagui";
3
+ const PRESS_SLOP_STYLE_ID = "mp-button-press-slop";
4
+ function pressSlopStylesheet() {
5
+ const rules = ["[data-mp-press-slop]{position:relative;isolation:isolate}"];
6
+ for (let n = 1; n <= 16; n++) {
7
+ rules.push(`[data-mp-press-slop="${n}"]::after{content:"";position:absolute;inset:-${n}px;z-index:-1}`);
8
+ rules.push(`[data-mp-press-slop="${n}"][data-mp-press-axis="vertical"]::after{inset:-${n}px 0}`);
9
+ }
10
+ return rules.join("");
11
+ }
12
+ function ensureButtonPressSlop() {
13
+ if (!isWeb || typeof document === "undefined") return;
14
+ if (document.getElementById(PRESS_SLOP_STYLE_ID)) return;
15
+ const tag = document.createElement("style");
16
+ tag.id = PRESS_SLOP_STYLE_ID;
17
+ tag.textContent = pressSlopStylesheet();
18
+ document.head.appendChild(tag);
19
+ }
20
+ function pressSlopProps(visualPx, enabled, axes = "both") {
21
+ if (!enabled || visualPx >= MIN_PRESS_TARGET) return void 0;
22
+ const hitSlop = pressTargetHitSlop(visualPx);
23
+ if (axes === "vertical") {
24
+ hitSlop.left = 0;
25
+ hitSlop.right = 0;
26
+ }
27
+ const outset = hitSlop.top;
28
+ if (outset <= 0) return void 0;
29
+ if (isWeb) {
30
+ ensureButtonPressSlop();
31
+ return {
32
+ "data-mp-press-slop": String(outset),
33
+ ...(axes === "vertical" ? {
34
+ "data-mp-press-axis": "vertical"
35
+ } : void 0)
36
+ };
37
+ }
38
+ return {
39
+ hitSlop
40
+ };
41
+ }
42
+ export { pressSlopProps };
43
+ //# sourceMappingURL=pressSlopProps.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MIN_PRESS_TARGET","pressTargetHitSlop","isWeb","PRESS_SLOP_STYLE_ID","pressSlopStylesheet","rules","n","push","join","ensureButtonPressSlop","document","getElementById","tag","createElement","id","textContent","head","appendChild","pressSlopProps","visualPx","enabled","axes","hitSlop","left","right","outset","top","String"],"sources":["../../../src/shared/pressSlopProps.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,gBAAA,EAAkBC,kBAAA,QAA8C;AACzE,SAASC,KAAA,QAAa;AAEtB,MAAMC,mBAAA,GAAsB;AAE5B,SAASC,oBAAA,EAA8B;EACrC,MAAMC,KAAA,GAAQ,CAAC,2DAA2D;EAC1E,SAASC,CAAA,GAAI,GAAGA,CAAA,IAAK,IAAIA,CAAA,IAAK;IAC5BD,KAAA,CAAME,IAAA,CACJ,wBAAwBD,CAAC,iDAAiDA,CAAC,gBAC7E;IACAD,KAAA,CAAME,IAAA,CACJ,wBAAwBD,CAAC,mDAAmDA,CAAC,OAC/E;EACF;EACA,OAAOD,KAAA,CAAMG,IAAA,CAAK,EAAE;AACtB;AAEA,SAASC,sBAAA,EAA8B;EACrC,IAAI,CAACP,KAAA,IAAS,OAAOQ,QAAA,KAAa,aAAa;EAC/C,IAAIA,QAAA,CAASC,cAAA,CAAeR,mBAAmB,GAAG;EAClD,MAAMS,GAAA,GAAMF,QAAA,CAASG,aAAA,CAAc,OAAO;EAC1CD,GAAA,CAAIE,EAAA,GAAKX,mBAAA;EACTS,GAAA,CAAIG,WAAA,GAAcX,mBAAA,CAAoB;EACtCM,QAAA,CAASM,IAAA,CAAKC,WAAA,CAAYL,GAAG;AAC/B;AAEO,SAASM,eACdC,QAAA,EACAC,OAAA,EACAC,IAAA,GAA4B,QAIhB;EACZ,IAAI,CAACD,OAAA,IAAWD,QAAA,IAAYnB,gBAAA,EAAkB,OAAO;EACrD,MAAMsB,OAAA,GAAUrB,kBAAA,CAAmBkB,QAAQ;EAC3C,IAAIE,IAAA,KAAS,YAAY;IACvBC,OAAA,CAAQC,IAAA,GAAO;IACfD,OAAA,CAAQE,KAAA,GAAQ;EAClB;EACA,MAAMC,MAAA,GAASH,OAAA,CAAQI,GAAA;EACvB,IAAID,MAAA,IAAU,GAAG,OAAO;EACxB,IAAIvB,KAAA,EAAO;IACTO,qBAAA,CAAsB;IACtB,OAAO;MACL,sBAAsBkB,MAAA,CAAOF,MAAM;MACnC,IAAIJ,IAAA,KAAS,aAAa;QAAE,sBAAsB;MAAoB,IAAI;IAC5E;EACF;EACA,OAAO;IAAEC;EAAQ;AACnB","ignoreList":[]}
@@ -0,0 +1,72 @@
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 pressSlopProps_exports = {};
26
+ __export(pressSlopProps_exports, {
27
+ pressSlopProps: () => pressSlopProps
28
+ });
29
+ module.exports = __toCommonJS(pressSlopProps_exports);
30
+ var import_theme = require("@multiplatform.one/theme");
31
+ var import_tamagui = require("tamagui");
32
+ var PRESS_SLOP_STYLE_ID = "mp-button-press-slop";
33
+ function pressSlopStylesheet() {
34
+ var rules = ["[data-mp-press-slop]{position:relative;isolation:isolate}"];
35
+ for (var n = 1; n <= 16; n++) {
36
+ rules.push(`[data-mp-press-slop="${n}"]::after{content:"";position:absolute;inset:-${n}px;z-index:-1}`);
37
+ rules.push(`[data-mp-press-slop="${n}"][data-mp-press-axis="vertical"]::after{inset:-${n}px 0}`);
38
+ }
39
+ return rules.join("");
40
+ }
41
+ function ensureButtonPressSlop() {
42
+ if (!import_tamagui.isWeb || typeof document === "undefined") return;
43
+ if (document.getElementById(PRESS_SLOP_STYLE_ID)) return;
44
+ var tag = document.createElement("style");
45
+ tag.id = PRESS_SLOP_STYLE_ID;
46
+ tag.textContent = pressSlopStylesheet();
47
+ document.head.appendChild(tag);
48
+ }
49
+ function pressSlopProps(visualPx, enabled) {
50
+ var axes = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "both";
51
+ if (!enabled || visualPx >= import_theme.MIN_PRESS_TARGET) return void 0;
52
+ var hitSlop = (0, import_theme.pressTargetHitSlop)(visualPx);
53
+ if (axes === "vertical") {
54
+ hitSlop.left = 0;
55
+ hitSlop.right = 0;
56
+ }
57
+ var outset = hitSlop.top;
58
+ if (outset <= 0) return void 0;
59
+ if (import_tamagui.isWeb) {
60
+ ensureButtonPressSlop();
61
+ return {
62
+ "data-mp-press-slop": String(outset),
63
+ ...(axes === "vertical" ? {
64
+ "data-mp-press-axis": "vertical"
65
+ } : void 0)
66
+ };
67
+ }
68
+ return {
69
+ hitSlop
70
+ };
71
+ }
72
+ //# sourceMappingURL=pressSlopProps.native.js.map
@@ -0,0 +1 @@
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","pressSlopProps_exports","pressSlopProps","module","exports","import_theme","require","import_tamagui","PRESS_SLOP_STYLE_ID","pressSlopStylesheet","rules","n","push","join","ensureButtonPressSlop","isWeb","document","getElementById","tag","createElement","id"],"sources":["../../../src/shared/pressSlopProps.ts"],"sourcesContent":[null],"mappings":"AAAA,YAAS;;AACT,IAAAA,SAAS,GAAAC,MAAa,CAAAC,cAAA;AAEtB,IAAAC,gBAAM,GAAAF,MAAsB,CAAAG,wBAAA;AAE5B,IAAAC,iBAAS,GAAAJ,MAAA,CAA8BK,mBAAA;AACrC,IAAAC,YAAc,GAACN,MAAA,CAAAO,SAAA,CAAAC,cAAA;AACf,IAAAC,QAAS,GAAIA,CAAAC,MAAG,EAAKC,GAAI,KAAK;EAC5B,SAAMC,IAAA,IAAAD,GAAA,EAAAZ,SACJ,CAAAW,MAAA,EAAAE,IAAA;IAAwBC,GAAC,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAAkD;AAE7E,IAAAC,WAAM,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EAAA,IACJF,IAAA,WAAAA,IAAA,KAAwB,QAAC,WAAAA,IAAA;IAC3B,SAAAG,GAAA,IAAAhB,iBAAA,CAAAa,IAAA,GACF,KAAAX,YAAA,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EACAnB,SAAa,CAAAiB,EAAK,EAAEI,GAAA;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EACtB;EAEA,OAASE,EAAA;AACP;AACA,IAAAM,YAAa,GAAAC,GAAA,IAAAR,WAAe,CAAAhB,SAAmB,EAAG;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AAClD,IAAAE,sBAAqB;AACrBhB,QAAI,CAAAgB,sBAAK;EACTC,cAAI,EAAAA,CAAA,KAAcA;AAClB;AACFC,MAAA,CAAAC,OAAA,GAAAN,YAAA,CAAAG,sBAAA;AAEO,IAAAI,YAAS,GAAAC,OACd,2BAE4B;AAK5B,IAAAC,cAAgB,GAAAD,OAAA,UAAY;AAC5B,IAAAE,mBAAgB,yBAA2B;AAC3C,SAAIC,mBAAqBA,CAAA;EACvB,IAAAC,KAAA,GAAQ,CACR,2DAAgB,CAClB;EACA,SAAMC,CAAA,MAASA,CAAA,MAAQ,EAAAA,CAAA;IACvBD,KAAI,CAAAE,IAAA,yBAAoBD,CAAA,iDAAAA,CAAA;IACxBD,KAAI,CAAAE,IAAO,yBAAAD,CAAA,mDAAAA,CAAA;EACT;EACA,OAAAD,KAAO,CAAAG,IAAA;AAAA;AAC8B,SAC/BC,qBAASA,CAAA,EAAe;EAA8C,IAC5E,CAAAP,cAAA,CAAAQ,KAAA,WAAAC,QAAA;EACF,IAAAA,QAAA,CAAAC,cAAA,CAAAT,mBAAA;EACA,IAAAU,GAAO,GAAEF,QAAQ,CAAAG,aAAA;EACnBD,GAAA,CAAAE,EAAA,GAAAZ,mBAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiplatform.one/forms",
3
- "version": "7.7.4",
3
+ "version": "7.8.0",
4
4
  "description": "Cross-platform form components with URL state management",
5
5
  "keywords": [
6
6
  "cross-platform",
@@ -70,9 +70,10 @@
70
70
  "perfect-freehand": "^1.2.3",
71
71
  "react-native-svg": "15.15.4",
72
72
  "tamagui": "2.7.6",
73
- "@multiplatform.one/router": "7.7.4",
74
- "@multiplatform.one/table-primitives": "7.7.4",
75
- "@multiplatform.one/theme": "7.7.4"
73
+ "@multiplatform.one/platform": "7.8.0",
74
+ "@multiplatform.one/router": "7.8.0",
75
+ "@multiplatform.one/table-primitives": "7.8.0",
76
+ "@multiplatform.one/theme": "7.8.0"
76
77
  },
77
78
  "devDependencies": {
78
79
  "@tamagui/build": "2.7.6",
@@ -94,9 +95,9 @@
94
95
  "react-i18next": "^16.6.6",
95
96
  "react-native-web": "^0.21.2",
96
97
  "vitest": "^4.1.5",
97
- "@multiplatform.one/config": "7.7.4",
98
- "@multiplatform.one/storybook": "7.7.4",
99
- "@multiplatform.one/test-utils": "7.7.4"
98
+ "@multiplatform.one/test-utils": "7.8.0",
99
+ "@multiplatform.one/storybook": "7.8.0",
100
+ "@multiplatform.one/config": "7.8.0"
100
101
  },
101
102
  "peerDependencies": {
102
103
  "@react-native-community/datetimepicker": ">=8.0.1",
@@ -62,9 +62,8 @@ function labelNode(text: string): HTMLElement {
62
62
  }
63
63
 
64
64
  /**
65
- * One implementation of the arithmetic (the point of exporting
66
- * `measureContrast`), and the REPORTED 2-decimal ratio, so the number a
67
- * failure prints is the number the verdict used.
65
+ * Use the canonical unrounded measurement so a below-floor pair cannot
66
+ * pass through display rounding.
68
67
  */
69
68
  function pageRatio(ink: string, ground: string, label: string): number {
70
69
  return measureContrast({ foreground: ink, background: ground, label }).ratio;
@@ -159,21 +158,22 @@ describe("Button MPO-40 outlined intent label ink", () => {
159
158
  }
160
159
  });
161
160
 
162
- // PINNED MISS — MPO-40's own secondary finding, still OPEN.
161
+ // CLOSED — MPO-40's secondary finding, fixed by the palette step.
163
162
  //
164
163
  // Fixing the plumbing (the arm above) was necessary, not sufficient. On
165
164
  // $color2 — the surface every gallery board is shot on — light warning
166
- // and success $color11 are under mpo's own floor, and those are exactly
167
- // the numbers button-anatomy already prints for its CONTRACT row. The
168
- // step that would close them is a PALETTE change (Radix yellow-11
169
- // #9e6c00 / green-11 #218358), owned by the contrast-floor lane, not by
170
- // the Button. colorRules.ts pins the same warning miss on the intent's
171
- // own color1 (#fcfcf7, 4.44:1); this pins it on the page ground.
165
+ // and success $color11 sat UNDER mpo's own floor at 4.34 and 4.48, and
166
+ // those were exactly the numbers button-anatomy printed for its CONTRACT
167
+ // row. This block used to assert the miss, and said in as many words that
168
+ // stepping the palette should break it rather than be re-baselined away.
172
169
  //
173
- // These numbers are asserted EXACTLY on purpose. Step the palette and
174
- // this test fails, which is the reminder to re-measure the board and
175
- // tick MPO-40's contrast criterion — never a regression to re-baseline.
176
- it("light warning/success $color11 are STILL under 4.5:1 on the $color2 page surface", () => {
170
+ // The palette stepped: `intentInkFloor` in theme/createThemes.ts darkens
171
+ // light yellow-11 (#9e6c00 -> #996900) and green-11 (#218358 -> #1c8257)
172
+ // by the smallest hue-holding amount that clears the floor here. So the
173
+ // assertion is inverted rather than deleted — the ground and the exact
174
+ // ratios stay pinned, because $color2 is the STRICTEST base surface and a
175
+ // future re-lightening has to fail somewhere loud.
176
+ it("light warning/success $color11 now clear 4.5:1 on the $color2 page surface", () => {
177
177
  const ground = houseThemes.light.color2;
178
178
  const measured = Object.fromEntries(
179
179
  INTENTS.map((intent): [string, number] => [
@@ -187,10 +187,13 @@ describe("Button MPO-40 outlined intent label ink", () => {
187
187
  );
188
188
  expect(measured, `light.color2 is ${ground}`).toEqual({
189
189
  error: 4.95,
190
- warning: 4.34,
191
- success: 4.48,
190
+ warning: 4.56,
191
+ success: 4.55,
192
192
  });
193
- expect(measured.warning).toBeLessThan(aaTextContrastRatio);
194
- expect(measured.success).toBeLessThan(aaTextContrastRatio);
193
+ for (const intent of INTENTS) {
194
+ expect(measured[intent], `light_${intent} on light.color2`).toBeGreaterThanOrEqual(
195
+ aaTextContrastRatio,
196
+ );
197
+ }
195
198
  });
196
199
  });
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @vitest-environment jsdom
3
+ *
4
+ * MPO-91: the forms Button's outlined chrome cannot be requested through a
5
+ * channel the component ignores.
6
+ *
7
+ * `ButtonFrame` is `styled(View)` and declares only an `outlined` BOOLEAN.
8
+ * `variant="outlined"` was never read, but `ButtonProps` inherited it from
9
+ * `TamaguiButtonProps`, so 75 call sites across 29 files typechecked, rendered
10
+ * FILLED, and said nothing. The type now Omits `variant`, and this spec pins
11
+ * both halves of that: the type refuses it (checked by `tsgo --noEmit`), and
12
+ * the runtime genuinely ignores it, so the refusal is honest rather than
13
+ * cosmetic.
14
+ *
15
+ * jsdom cannot cascade Tamagui CSS — assertions read the atomic border-color
16
+ * classes the FRAME emits, the same idiom as Button.filledBorder.spec.tsx.
17
+ */
18
+
19
+ import { renderWithProviders } from "@multiplatform.one/test-utils";
20
+ import { cleanup, screen } from "@testing-library/react";
21
+ import { afterEach, describe, expect, it } from "vitest";
22
+ import { Button } from "./index";
23
+
24
+ afterEach(cleanup);
25
+
26
+ function frame(): HTMLElement {
27
+ return screen.getByRole("button");
28
+ }
29
+
30
+ describe("Button outlined channel (MPO-91)", () => {
31
+ it("the outlined boolean is the channel, and it paints $borderColor", () => {
32
+ renderWithProviders(<Button outlined>Outlined</Button>);
33
+ expect(frame().className).toMatch(/_btc-borderColor\b/);
34
+ });
35
+
36
+ it("the type refuses variant, so a dead pass cannot come back silently", () => {
37
+ // THE GUARD. If someone re-adds `variant` to ButtonProps this stops being
38
+ // an error and `tsgo --noEmit` fails on the unused directive — which is
39
+ // the point: the failure is loud either way.
40
+ // @ts-expect-error MPO-91: `variant` is Omitted from ButtonProps on purpose.
41
+ renderWithProviders(<Button variant="outlined">Refused</Button>);
42
+ // ...and the refusal is honest: it really does render filled.
43
+ expect(frame().className).toMatch(/_btc-transparent\b/);
44
+ expect(frame().className).not.toMatch(/_btc-borderColor\b/);
45
+ });
46
+ });
@@ -4,7 +4,8 @@
4
4
  * MPO-46 AC-1: the painted Button, not the recipe source, matches the
5
5
  * measured Tamagui v5 table at $2/$3/$4/$6. Radius used to sit on the
6
6
  * borderRadius knob (flat 9px); it must step with the size token, and
7
- * gap must equal that painted radius at every size and every knob stop.
7
+ * default gap matches that table. Corner shape overrides preserve the
8
+ * internal spacing rather than jamming or separating the icon and label.
8
9
  */
9
10
 
10
11
  import { renderWithProviders } from "@multiplatform.one/test-utils";
@@ -106,7 +107,7 @@ describe("MPO-46 painted Button size ladder", () => {
106
107
  }
107
108
  });
108
109
 
109
- it("gap equals radius at every borderRadius knob stop", () => {
110
+ it("corner overrides preserve the measured internal gap", () => {
110
111
  for (const [stop, px] of Object.entries(KNOB_STOPS) as [keyof typeof KNOB_STOPS, number][]) {
111
112
  renderWithProviders(
112
113
  <Preset overrides={{ borderRadius: stop }}>
@@ -117,7 +118,7 @@ describe("MPO-46 painted Button size ladder", () => {
117
118
  );
118
119
  const frame = screen.getByRole("button");
119
120
  expect(radiusPx(frame), `${stop} radius`).toBe(px);
120
- expect(gapPx(frame), `${stop} gap`).toBe(px);
121
+ expect(gapPx(frame), `${stop} gap`).toBe(MEASURED.$4.radius);
121
122
  cleanup();
122
123
  }
123
124
  });
@@ -8,6 +8,7 @@ import {
8
8
  } from "@multiplatform.one/theme";
9
9
  import { Button as TamaguiButton, Paragraph, XStack, YStack, useTheme } from "tamagui";
10
10
  import { Button } from "./index";
11
+ import { useState } from "react";
11
12
 
12
13
  const pressed = (name: string) => () => action(name)();
13
14
 
@@ -44,6 +45,25 @@ const meta: Meta<typeof Button> = {
44
45
  export default meta;
45
46
  type Story = StoryObj<typeof Button>;
46
47
 
48
+ function DestructiveContrastExample({ disabled = false }: { disabled?: boolean }) {
49
+ const [presses, setPresses] = useState(0);
50
+ return (
51
+ <YStack data-lc-clicks={presses}>
52
+ <Button error disabled={disabled} onPress={() => setPresses((value) => value + 1)}>
53
+ Delete
54
+ </Button>
55
+ </YStack>
56
+ );
57
+ }
58
+
59
+ export const DestructiveEnabled: Story = {
60
+ render: () => <DestructiveContrastExample />,
61
+ };
62
+
63
+ export const DestructiveDisabled: Story = {
64
+ render: () => <DestructiveContrastExample disabled />,
65
+ };
66
+
47
67
  export const Basic: Story = {
48
68
  name: "Main",
49
69
  args: {