@multiplatform.one/forms 7.67.0 → 7.68.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 (419) hide show
  1. package/dist/cjs/AdaptivePopup/index.cjs +45 -5
  2. package/dist/cjs/AdaptivePopup/index.native.js +48 -6
  3. package/dist/cjs/AdaptivePopup/index.native.js.map +1 -1
  4. package/dist/cjs/Button/glass.cjs +30 -0
  5. package/dist/cjs/Button/glass.native.js +47 -0
  6. package/dist/cjs/Button/glass.native.js.map +1 -0
  7. package/dist/cjs/Button/index.cjs +157 -28
  8. package/dist/cjs/Button/index.native.js +158 -29
  9. package/dist/cjs/Button/index.native.js.map +1 -1
  10. package/dist/cjs/Chip/index.native.js.map +1 -1
  11. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js +1 -1
  12. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
  13. package/dist/cjs/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -1
  14. package/dist/cjs/ContextualSaveBar/commitImmediateField.native.js.map +1 -1
  15. package/dist/cjs/ContextualSaveBar/index.cjs +6 -8
  16. package/dist/cjs/ContextualSaveBar/index.native.js +9 -11
  17. package/dist/cjs/ContextualSaveBar/index.native.js.map +1 -1
  18. package/dist/cjs/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -1
  19. package/dist/cjs/ControlGroup/index.native.js +1 -1
  20. package/dist/cjs/ControlGroup/index.native.js.map +1 -1
  21. package/dist/cjs/DescriptionList/index.cjs +0 -1
  22. package/dist/cjs/DescriptionList/index.native.js +2 -3
  23. package/dist/cjs/DescriptionList/index.native.js.map +1 -1
  24. package/dist/cjs/ErrorSummary.native.js.map +1 -1
  25. package/dist/cjs/FieldDisplay/editMode.native.js.map +1 -1
  26. package/dist/cjs/FieldDisplay/formatters.native.js.map +1 -1
  27. package/dist/cjs/FieldDisplay/index.native.js +1 -1
  28. package/dist/cjs/FieldDisplay/index.native.js.map +1 -1
  29. package/dist/cjs/FieldGroup.native.js.map +1 -1
  30. package/dist/cjs/FloatingPanel/RegularPanel.native.js.map +1 -1
  31. package/dist/cjs/FloatingPanel/compactFace.native.js.map +1 -1
  32. package/dist/cjs/FloatingPanel/containingBlock.native.js.map +1 -1
  33. package/dist/cjs/FloatingPanel/nestedAction.native.js.map +1 -1
  34. package/dist/cjs/FloatingPanel/pointAnchor.native.js.map +1 -1
  35. package/dist/cjs/FloatingPanel/regularPlacement.native.js.map +1 -1
  36. package/dist/cjs/FloatingPanel/trailingAction.native.js +1 -1
  37. package/dist/cjs/FloatingPanel/trailingAction.native.js.map +1 -1
  38. package/dist/cjs/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  39. package/dist/cjs/Form/index.native.js +1 -1
  40. package/dist/cjs/Form/index.native.js.map +1 -1
  41. package/dist/cjs/Form/submissionController.native.js.map +1 -1
  42. package/dist/cjs/Form/validateOn.native.js.map +1 -1
  43. package/dist/cjs/FormGrid.native.js.map +1 -1
  44. package/dist/cjs/FormSection.native.js.map +1 -1
  45. package/dist/cjs/InputParts/PasswordReveal.native.js.map +1 -1
  46. package/dist/cjs/InputParts/index.native.js.map +1 -1
  47. package/dist/cjs/Label/index.native.js.map +1 -1
  48. package/dist/cjs/MediaPicker/base64.native.js.map +1 -1
  49. package/dist/cjs/MediaPicker/payload.native.js.map +1 -1
  50. package/dist/cjs/MediaPicker/types.native.js.map +1 -1
  51. package/dist/cjs/MediaPicker/useMediaPicker.native.js.map +1 -1
  52. package/dist/cjs/Skeleton/index.native.js.map +1 -1
  53. package/dist/cjs/Spinner/SpinnerGlyph.native.js.map +1 -1
  54. package/dist/cjs/Spinner/spinnerSize.native.js.map +1 -1
  55. package/dist/cjs/Table/index.native.js.map +1 -1
  56. package/dist/cjs/Wheel/haptic.native.js.map +1 -1
  57. package/dist/cjs/Wheel/index.native.js.map +1 -1
  58. package/dist/cjs/Wheel/wheelShared.native.js.map +1 -1
  59. package/dist/cjs/actionLabel.native.js.map +1 -1
  60. package/dist/cjs/fieldDefaults.native.js.map +1 -1
  61. package/dist/cjs/fieldLayout.native.js +1 -1
  62. package/dist/cjs/fieldLayout.native.js.map +1 -1
  63. package/dist/cjs/fields/Barcode/BarcodePreview.native.js.map +1 -1
  64. package/dist/cjs/fields/Barcode/BarcodeScanner.cjs +7 -8
  65. package/dist/cjs/fields/Barcode/BarcodeScanner.native.js +8 -9
  66. package/dist/cjs/fields/Barcode/BarcodeScanner.native.js.map +1 -1
  67. package/dist/cjs/fields/Barcode/code128.native.js.map +1 -1
  68. package/dist/cjs/fields/Barcode/index.native.js +2 -2
  69. package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
  70. package/dist/cjs/fields/Barcode/qr.native.js.map +1 -1
  71. package/dist/cjs/fields/Barcode/scannerTypes.native.js.map +1 -1
  72. package/dist/cjs/fields/Checkbox/Checkbox.native.js +1 -1
  73. package/dist/cjs/fields/Checkbox/Checkbox.native.js.map +1 -1
  74. package/dist/cjs/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  75. package/dist/cjs/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  76. package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
  77. package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js +1 -1
  78. package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  79. package/dist/cjs/fields/Checkbox/checkboxGroupContext.native.js.map +1 -1
  80. package/dist/cjs/fields/Checkbox/index.native.js.map +1 -1
  81. package/dist/cjs/fields/ColorPicker/SystemColorField.native.js.map +1 -1
  82. package/dist/cjs/fields/ColorPicker/index.native.js +2 -2
  83. package/dist/cjs/fields/ColorPicker/index.native.js.map +1 -1
  84. package/dist/cjs/fields/ColorPicker/parts.native.js +2 -2
  85. package/dist/cjs/fields/ColorPicker/parts.native.js.map +1 -1
  86. package/dist/cjs/fields/ColorPicker/systemColorWell.gnome.native.js.map +1 -1
  87. package/dist/cjs/fields/Combobox/authorOptions.native.js.map +1 -1
  88. package/dist/cjs/fields/Combobox/index.native.js +5 -5
  89. package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
  90. package/dist/cjs/fields/DatePicker/Calendar.native.js.map +1 -1
  91. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js +2 -2
  92. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  93. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js +3 -3
  94. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  95. package/dist/cjs/fields/DatePicker/DatetimePicker.native.js +2 -2
  96. package/dist/cjs/fields/DatePicker/MonthPicker.native.js +2 -2
  97. package/dist/cjs/fields/DatePicker/MonthPicker.native.js.map +1 -1
  98. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js +2 -2
  99. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  100. package/dist/cjs/fields/DatePicker/catalog.native.js +2 -2
  101. package/dist/cjs/fields/DatePicker/catalog.native.js.map +1 -1
  102. package/dist/cjs/fields/DatePicker/fieldValueSync.native.js.map +1 -1
  103. package/dist/cjs/fields/DatePicker/index.native.js +2 -2
  104. package/dist/cjs/fields/DatePicker/parts.native.js +2 -2
  105. package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
  106. package/dist/cjs/fields/DatePicker/utils.native.js.map +1 -1
  107. package/dist/cjs/fields/Duration/durationMath.native.js.map +1 -1
  108. package/dist/cjs/fields/Duration/index.native.js +3 -3
  109. package/dist/cjs/fields/Duration/index.native.js.map +1 -1
  110. package/dist/cjs/fields/FileUpload/filePickerTypes.native.js.map +1 -1
  111. package/dist/cjs/fields/FileUpload/index.cjs +83 -60
  112. package/dist/cjs/fields/FileUpload/index.native.js +98 -75
  113. package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
  114. package/dist/cjs/fields/FileUpload/nativePickerLoader.native.js.map +1 -1
  115. package/dist/cjs/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
  116. package/dist/cjs/fields/Geolocation/geoValue.native.js.map +1 -1
  117. package/dist/cjs/fields/Geolocation/geocoder.native.js.map +1 -1
  118. package/dist/cjs/fields/Geolocation/geocoderContext.native.js.map +1 -1
  119. package/dist/cjs/fields/Geolocation/index.cjs +7 -8
  120. package/dist/cjs/fields/Geolocation/index.native.js +12 -13
  121. package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
  122. package/dist/cjs/fields/Geolocation/mapMath.native.js.map +1 -1
  123. package/dist/cjs/fields/Geolocation/mapTypes.native.js.map +1 -1
  124. package/dist/cjs/fields/Geolocation/nativeSearchFocus.native.js.map +1 -1
  125. package/dist/cjs/fields/Geolocation/photonGeocoder.native.js.map +1 -1
  126. package/dist/cjs/fields/Icon/drawnSet.native.js.map +1 -1
  127. package/dist/cjs/fields/Icon/index.native.js +3 -3
  128. package/dist/cjs/fields/Icon/index.native.js.map +1 -1
  129. package/dist/cjs/fields/ImageField/index.cjs +4 -6
  130. package/dist/cjs/fields/ImageField/index.native.js +6 -8
  131. package/dist/cjs/fields/ImageField/index.native.js.map +1 -1
  132. package/dist/cjs/fields/Input/index.native.js +3 -3
  133. package/dist/cjs/fields/Input/index.native.js.map +1 -1
  134. package/dist/cjs/fields/MentionInput/index.native.js +3 -3
  135. package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
  136. package/dist/cjs/fields/OTPInput/index.native.js +3 -3
  137. package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
  138. package/dist/cjs/fields/OTPInput/otpCellCss.native.js.map +1 -1
  139. package/dist/cjs/fields/PhoneInput/dialCodes.native.js.map +1 -1
  140. package/dist/cjs/fields/PhoneInput/index.native.js +3 -3
  141. package/dist/cjs/fields/PhoneInput/index.native.js.map +1 -1
  142. package/dist/cjs/fields/PhoneInput/phone.native.js.map +1 -1
  143. package/dist/cjs/fields/PhoneInput/regionNames.native.js.map +1 -1
  144. package/dist/cjs/fields/Progress/index.native.js +1 -1
  145. package/dist/cjs/fields/Progress/index.native.js.map +1 -1
  146. package/dist/cjs/fields/RadioGroup/index.native.js +1 -1
  147. package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
  148. package/dist/cjs/fields/Rating/index.native.js +1 -1
  149. package/dist/cjs/fields/Rating/index.native.js.map +1 -1
  150. package/dist/cjs/fields/Rating/ratingMath.native.js.map +1 -1
  151. package/dist/cjs/fields/Rating/types.native.js.map +1 -1
  152. package/dist/cjs/fields/SearchInput/index.native.js +2 -2
  153. package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
  154. package/dist/cjs/fields/Select/InlineChoices.native.js.map +1 -1
  155. package/dist/cjs/fields/Select/SheetPickerRow.native.js.map +1 -1
  156. package/dist/cjs/fields/Select/index.native.js +4 -4
  157. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  158. package/dist/cjs/fields/Select/shouldInlineChoices.native.js.map +1 -1
  159. package/dist/cjs/fields/Signature/index.native.js +2 -2
  160. package/dist/cjs/fields/Signature/index.native.js.map +1 -1
  161. package/dist/cjs/fields/Slider/index.native.js +1 -1
  162. package/dist/cjs/fields/Slider/index.native.js.map +1 -1
  163. package/dist/cjs/fields/Slider/jumpMotion.native.js.map +1 -1
  164. package/dist/cjs/fields/Stepper/index.native.js +2 -2
  165. package/dist/cjs/fields/Stepper/index.native.js.map +1 -1
  166. package/dist/cjs/fields/Stepper/resolveStepperPlacement.native.js.map +1 -1
  167. package/dist/cjs/fields/Switch/footprint.native.js.map +1 -1
  168. package/dist/cjs/fields/Switch/index.native.js +2 -2
  169. package/dist/cjs/fields/Switch/index.native.js.map +1 -1
  170. package/dist/cjs/fields/TextArea/index.native.js +2 -2
  171. package/dist/cjs/fields/TextArea/index.native.js.map +1 -1
  172. package/dist/cjs/fields/TimePicker/catalog.native.js +3 -3
  173. package/dist/cjs/fields/TimePicker/catalog.native.js.map +1 -1
  174. package/dist/cjs/fields/TimePicker/index.native.js +2 -2
  175. package/dist/cjs/fields/TimePicker/parts.native.js +1 -1
  176. package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -1
  177. package/dist/cjs/fields/TimeRangeScrubber/geometry.native.js.map +1 -1
  178. package/dist/cjs/fields/TimeRangeScrubber/index.native.js +2 -2
  179. package/dist/cjs/fields/TimeRangeScrubber/index.native.js.map +1 -1
  180. package/dist/cjs/fields/ToggleGroup/index.native.js +1 -1
  181. package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
  182. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.cjs +20 -28
  183. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js +20 -28
  184. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  185. package/dist/cjs/fields/nativeDateTime/dateTimePickerLoader.native.js.map +1 -1
  186. package/dist/cjs/fields/nativeDateTime/osDateTimeIosDisplay.native.js.map +1 -1
  187. package/dist/cjs/fields/nativeDateTime/sheetKeyboard.native.js.map +1 -1
  188. package/dist/cjs/fields/nativeSelect.native.js.map +1 -1
  189. package/dist/cjs/fields/selectedOrder.native.js.map +1 -1
  190. package/dist/cjs/formSpacing.native.js.map +1 -1
  191. package/dist/cjs/hooks/useFocusManagement.native.js.map +1 -1
  192. package/dist/cjs/index.cjs +8 -1
  193. package/dist/cjs/index.native.js +52 -45
  194. package/dist/cjs/index.native.js.map +1 -1
  195. package/dist/cjs/keyboard/KeyboardDoneBar.native.js +1 -1
  196. package/dist/cjs/keyboard/chain.native.js.map +1 -1
  197. package/dist/cjs/keyboard/index.native.js.map +1 -1
  198. package/dist/cjs/keyboard/types.native.js.map +1 -1
  199. package/dist/cjs/requiredMarking.native.js.map +1 -1
  200. package/dist/cjs/shared/TimeColumn.native.js +1 -1
  201. package/dist/cjs/shared/TimeColumn.native.js.map +1 -1
  202. package/dist/cjs/shared/capabilityPreflight.native.js.map +1 -1
  203. package/dist/cjs/shared/choiceRowPress.native.js.map +1 -1
  204. package/dist/cjs/shared/colorRamps.cjs +0 -8
  205. package/dist/cjs/shared/colorRamps.native.js +0 -8
  206. package/dist/cjs/shared/colorRamps.native.js.map +1 -1
  207. package/dist/cjs/shared/devWarn.native.js.map +1 -1
  208. package/dist/cjs/shared/floatingList.native.js +1 -1
  209. package/dist/cjs/shared/floatingList.native.js.map +1 -1
  210. package/dist/cjs/shared/focusManagement.native.js.map +1 -1
  211. package/dist/cjs/shared/groupContext.native.js.map +1 -1
  212. package/dist/cjs/shared/i18n.native.js.map +1 -1
  213. package/dist/cjs/shared/instantMotion.native.js.map +1 -1
  214. package/dist/cjs/shared/nativeA11y.native.js.map +1 -1
  215. package/dist/cjs/shared/nativeAutoFocus.native.js.map +1 -1
  216. package/dist/cjs/shared/overlaySizeClass.native.js.map +1 -1
  217. package/dist/cjs/shared/overlayStack.native.js.map +1 -1
  218. package/dist/cjs/shared/panelPortal.native.js.map +1 -1
  219. package/dist/cjs/shared/pickerTriggerContract.native.js.map +1 -1
  220. package/dist/cjs/shared/pressSlopProps.native.js.map +1 -1
  221. package/dist/cjs/shared/restoreRetries.native.js.map +1 -1
  222. package/dist/cjs/shared/sheetNavigation.native.js.map +1 -1
  223. package/dist/cjs/shared/systemControlModules.gnome.native.js.map +1 -1
  224. package/dist/cjs/shared/systemControls.native.js.map +1 -1
  225. package/dist/cjs/shared/t.native.js.map +1 -1
  226. package/dist/cjs/shared/tableCellContext.native.js.map +1 -1
  227. package/dist/cjs/shared/touchWebPicker.native.js.map +1 -1
  228. package/dist/cjs/shared/useDragScroll.native.js.map +1 -1
  229. package/dist/cjs/shared/useKeyboardInset.native.js.map +1 -1
  230. package/dist/cjs/shared/useSheetEscapeDismiss.native.js.map +1 -1
  231. package/dist/cjs/shared/useWheelIncrement.native.js.map +1 -1
  232. package/dist/cjs/shared/utils.native.js +1 -1
  233. package/dist/cjs/shared/utils.native.js.map +1 -1
  234. package/dist/cjs/shared/zIndex.native.js.map +1 -1
  235. package/dist/cjs/standardActions.cjs +117 -0
  236. package/dist/cjs/standardActions.native.js +120 -0
  237. package/dist/cjs/standardActions.native.js.map +1 -0
  238. package/dist/cjs/themedPrimitives.native.js.map +1 -1
  239. package/dist/cjs/types.native.js.map +1 -1
  240. package/dist/cjs/utils/LinkCell.native.js.map +1 -1
  241. package/dist/esm/AdaptivePopup/index.mjs +45 -5
  242. package/dist/esm/AdaptivePopup/index.mjs.map +1 -1
  243. package/dist/esm/AdaptivePopup/index.native.js +47 -5
  244. package/dist/esm/AdaptivePopup/index.native.js.map +1 -1
  245. package/dist/esm/Button/glass.mjs +5 -0
  246. package/dist/esm/Button/glass.mjs.map +1 -0
  247. package/dist/esm/Button/glass.native.js +19 -0
  248. package/dist/esm/Button/glass.native.js.map +1 -0
  249. package/dist/esm/Button/index.mjs +153 -28
  250. package/dist/esm/Button/index.mjs.map +1 -1
  251. package/dist/esm/Button/index.native.js +153 -28
  252. package/dist/esm/Button/index.native.js.map +1 -1
  253. package/dist/esm/ContextualSaveBar/index.mjs +7 -9
  254. package/dist/esm/ContextualSaveBar/index.mjs.map +1 -1
  255. package/dist/esm/ContextualSaveBar/index.native.js +7 -9
  256. package/dist/esm/ContextualSaveBar/index.native.js.map +1 -1
  257. package/dist/esm/DescriptionList/index.mjs +0 -1
  258. package/dist/esm/DescriptionList/index.mjs.map +1 -1
  259. package/dist/esm/DescriptionList/index.native.js +0 -1
  260. package/dist/esm/DescriptionList/index.native.js.map +1 -1
  261. package/dist/esm/fields/Barcode/BarcodeScanner.mjs +8 -9
  262. package/dist/esm/fields/Barcode/BarcodeScanner.mjs.map +1 -1
  263. package/dist/esm/fields/Barcode/BarcodeScanner.native.js +8 -9
  264. package/dist/esm/fields/Barcode/BarcodeScanner.native.js.map +1 -1
  265. package/dist/esm/fields/FileUpload/index.mjs +84 -61
  266. package/dist/esm/fields/FileUpload/index.mjs.map +1 -1
  267. package/dist/esm/fields/FileUpload/index.native.js +97 -74
  268. package/dist/esm/fields/FileUpload/index.native.js.map +1 -1
  269. package/dist/esm/fields/Geolocation/index.mjs +8 -9
  270. package/dist/esm/fields/Geolocation/index.mjs.map +1 -1
  271. package/dist/esm/fields/Geolocation/index.native.js +8 -9
  272. package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
  273. package/dist/esm/fields/ImageField/index.mjs +6 -8
  274. package/dist/esm/fields/ImageField/index.mjs.map +1 -1
  275. package/dist/esm/fields/ImageField/index.native.js +6 -8
  276. package/dist/esm/fields/ImageField/index.native.js.map +1 -1
  277. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.mjs +20 -28
  278. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.mjs.map +1 -1
  279. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js +20 -28
  280. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  281. package/dist/esm/index.mjs +3 -2
  282. package/dist/esm/index.mjs.map +1 -1
  283. package/dist/esm/index.native.js +3 -2
  284. package/dist/esm/index.native.js.map +1 -1
  285. package/dist/esm/shared/colorRamps.mjs +0 -8
  286. package/dist/esm/shared/colorRamps.mjs.map +1 -1
  287. package/dist/esm/shared/colorRamps.native.js +0 -8
  288. package/dist/esm/shared/colorRamps.native.js.map +1 -1
  289. package/dist/esm/standardActions.mjs +91 -0
  290. package/dist/esm/standardActions.mjs.map +1 -0
  291. package/dist/esm/standardActions.native.js +91 -0
  292. package/dist/esm/standardActions.native.js.map +1 -0
  293. package/dist/jsx/AdaptivePopup/index.mjs +45 -5
  294. package/dist/jsx/AdaptivePopup/index.mjs.map +1 -1
  295. package/dist/jsx/AdaptivePopup/index.native.js +47 -5
  296. package/dist/jsx/AdaptivePopup/index.native.js.map +1 -1
  297. package/dist/jsx/Button/glass.mjs +5 -0
  298. package/dist/jsx/Button/glass.mjs.map +1 -0
  299. package/dist/jsx/Button/glass.native.js +47 -0
  300. package/dist/jsx/Button/glass.native.js.map +1 -0
  301. package/dist/jsx/Button/index.mjs +153 -28
  302. package/dist/jsx/Button/index.mjs.map +1 -1
  303. package/dist/jsx/Button/index.native.js +156 -27
  304. package/dist/jsx/Button/index.native.js.map +1 -1
  305. package/dist/jsx/ContextualSaveBar/index.mjs +7 -9
  306. package/dist/jsx/ContextualSaveBar/index.mjs.map +1 -1
  307. package/dist/jsx/ContextualSaveBar/index.native.js +6 -8
  308. package/dist/jsx/ContextualSaveBar/index.native.js.map +1 -1
  309. package/dist/jsx/DescriptionList/index.mjs +0 -1
  310. package/dist/jsx/DescriptionList/index.mjs.map +1 -1
  311. package/dist/jsx/DescriptionList/index.native.js +0 -1
  312. package/dist/jsx/DescriptionList/index.native.js.map +1 -1
  313. package/dist/jsx/fields/Barcode/BarcodeScanner.mjs +8 -9
  314. package/dist/jsx/fields/Barcode/BarcodeScanner.mjs.map +1 -1
  315. package/dist/jsx/fields/Barcode/BarcodeScanner.native.js +7 -8
  316. package/dist/jsx/fields/Barcode/BarcodeScanner.native.js.map +1 -1
  317. package/dist/jsx/fields/FileUpload/index.mjs +84 -61
  318. package/dist/jsx/fields/FileUpload/index.mjs.map +1 -1
  319. package/dist/jsx/fields/FileUpload/index.native.js +96 -73
  320. package/dist/jsx/fields/FileUpload/index.native.js.map +1 -1
  321. package/dist/jsx/fields/Geolocation/index.mjs +8 -9
  322. package/dist/jsx/fields/Geolocation/index.mjs.map +1 -1
  323. package/dist/jsx/fields/Geolocation/index.native.js +7 -8
  324. package/dist/jsx/fields/Geolocation/index.native.js.map +1 -1
  325. package/dist/jsx/fields/ImageField/index.mjs +6 -8
  326. package/dist/jsx/fields/ImageField/index.mjs.map +1 -1
  327. package/dist/jsx/fields/ImageField/index.native.js +4 -6
  328. package/dist/jsx/fields/ImageField/index.native.js.map +1 -1
  329. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.mjs +20 -28
  330. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.mjs.map +1 -1
  331. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.native.js +20 -28
  332. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  333. package/dist/jsx/index.js +3 -2
  334. package/dist/jsx/index.js.map +1 -1
  335. package/dist/jsx/index.mjs +3 -2
  336. package/dist/jsx/index.mjs.map +1 -1
  337. package/dist/jsx/index.native.js +7 -0
  338. package/dist/jsx/index.native.js.map +1 -1
  339. package/dist/jsx/shared/colorRamps.mjs +0 -8
  340. package/dist/jsx/shared/colorRamps.mjs.map +1 -1
  341. package/dist/jsx/shared/colorRamps.native.js +0 -8
  342. package/dist/jsx/shared/colorRamps.native.js.map +1 -1
  343. package/dist/jsx/standardActions.mjs +91 -0
  344. package/dist/jsx/standardActions.mjs.map +1 -0
  345. package/dist/jsx/standardActions.native.js +120 -0
  346. package/dist/jsx/standardActions.native.js.map +1 -0
  347. package/package.json +12 -8
  348. package/src/AdaptivePopup/AdaptivePopup.spec.tsx +44 -0
  349. package/src/AdaptivePopup/AdaptivePopup.stories.tsx +12 -32
  350. package/src/AdaptivePopup/index.tsx +65 -13
  351. package/src/Button/Button.disabledGlyph.spec.tsx +111 -0
  352. package/src/Button/Button.iconButton.spec.tsx +279 -0
  353. package/src/Button/Button.stories.tsx +59 -3
  354. package/src/Button/glass.native.ts +38 -0
  355. package/src/Button/glass.ts +18 -0
  356. package/src/Button/index.tsx +272 -40
  357. package/src/ContextualSaveBar/ContextualSaveBar.spec.tsx +3 -1
  358. package/src/ContextualSaveBar/ContextualSaveBar.stories.tsx +2 -2
  359. package/src/ContextualSaveBar/index.tsx +7 -10
  360. package/src/ControlGroup/ControlGroup.stories.tsx +3 -2
  361. package/src/DescriptionList/index.tsx +0 -1
  362. package/src/ErrorSummary.stories.tsx +2 -1
  363. package/src/FieldLayout.stories.tsx +3 -2
  364. package/src/FloatingPanel/FloatingPanel.stories.tsx +6 -10
  365. package/src/Form/Form.stories.tsx +6 -5
  366. package/src/errorSummaryStories.spec.tsx +4 -4
  367. package/src/fields/Barcode/BarcodeScanner.native.tsx +10 -9
  368. package/src/fields/Barcode/BarcodeScanner.tsx +10 -9
  369. package/src/fields/Checkbox/Checkbox.stories.tsx +3 -3
  370. package/src/fields/Checkbox/CheckboxGroup.stories.tsx +2 -2
  371. package/src/fields/ColorPicker/ColorPicker.stories.tsx +2 -2
  372. package/src/fields/Combobox/Combobox.stories.tsx +2 -2
  373. package/src/fields/DatePicker/DatePicker.stories.tsx +2 -1
  374. package/src/fields/DatePicker/DateRangePicker.stories.tsx +2 -2
  375. package/src/fields/DatePicker/DatetimePicker.stories.tsx +2 -1
  376. package/src/fields/DatePicker/MonthPicker.stories.tsx +2 -2
  377. package/src/fields/DatePicker/MultiDatePicker.stories.tsx +2 -2
  378. package/src/fields/FileUpload/FileUpload.spec.tsx +11 -6
  379. package/src/fields/FileUpload/FileUpload.stories.tsx +2 -2
  380. package/src/fields/FileUpload/index.tsx +101 -77
  381. package/src/fields/Geolocation/index.tsx +12 -7
  382. package/src/fields/ImageField/ImageField.spec.tsx +5 -5
  383. package/src/fields/ImageField/ImageField.stories.tsx +2 -2
  384. package/src/fields/ImageField/index.tsx +6 -9
  385. package/src/fields/Input/Input.stories.tsx +2 -2
  386. package/src/fields/MentionInput/MentionInput.stories.tsx +2 -1
  387. package/src/fields/Progress/Progress.stories.tsx +2 -1
  388. package/src/fields/RadioGroup/RadioGroup.stories.tsx +2 -1
  389. package/src/fields/Signature/Signature.stories.tsx +2 -2
  390. package/src/fields/Stepper/Stepper.stories.tsx +2 -2
  391. package/src/fields/TextArea/TextArea.stories.tsx +2 -2
  392. package/src/fields/ToggleGroup/ToggleGroup.stories.tsx +2 -2
  393. package/src/fields/nativeDateTime/OsDateTimeSheet.presentation.spec.tsx +6 -5
  394. package/src/fields/nativeDateTime/OsDateTimeSheet.tsx +24 -12
  395. package/src/index.ts +10 -2
  396. package/src/shared/colorRamps.ts +1 -11
  397. package/src/standardActions.ts +96 -0
  398. package/types/AdaptivePopup/index.d.ts +13 -1
  399. package/types/AdaptivePopup/index.d.ts.map +1 -1
  400. package/types/Button/glass.d.ts +15 -0
  401. package/types/Button/glass.d.ts.map +1 -0
  402. package/types/Button/glass.native.d.ts +11 -0
  403. package/types/Button/glass.native.d.ts.map +1 -0
  404. package/types/Button/index.d.ts +45 -1
  405. package/types/Button/index.d.ts.map +1 -1
  406. package/types/ContextualSaveBar/index.d.ts.map +1 -1
  407. package/types/DescriptionList/index.d.ts.map +1 -1
  408. package/types/fields/Barcode/BarcodeScanner.d.ts.map +1 -1
  409. package/types/fields/Barcode/BarcodeScanner.native.d.ts.map +1 -1
  410. package/types/fields/FileUpload/index.d.ts.map +1 -1
  411. package/types/fields/Geolocation/index.d.ts.map +1 -1
  412. package/types/fields/ImageField/index.d.ts.map +1 -1
  413. package/types/fields/nativeDateTime/OsDateTimeSheet.d.ts.map +1 -1
  414. package/types/index.d.ts +4 -2
  415. package/types/index.d.ts.map +1 -1
  416. package/types/shared/colorRamps.d.ts +1 -11
  417. package/types/shared/colorRamps.d.ts.map +1 -1
  418. package/types/standardActions.d.ts +24 -0
  419. package/types/standardActions.d.ts.map +1 -0
@@ -24,6 +24,10 @@ var Button_exports = {};
24
24
  __export(Button_exports, {
25
25
  Button: () => Button,
26
26
  ButtonFrame: () => ButtonFrame,
27
+ ICON_BUTTON_GLYPH_PX: () => ICON_BUTTON_GLYPH_PX,
28
+ ICON_BUTTON_NEUTRAL_GLYPH_PX: () => ICON_BUTTON_NEUTRAL_GLYPH_PX,
29
+ ICON_BUTTON_PRESS_OPACITY: () => ICON_BUTTON_PRESS_OPACITY,
30
+ IconButton: () => IconButton,
27
31
  buttonSizeRecipes: () => buttonSizeRecipes,
28
32
  labelLinePx: () => labelLinePx,
29
33
  resolveButtonSizeRecipe: () => resolveButtonSizeRecipe
@@ -46,6 +50,7 @@ var import_actionLabel = require("../actionLabel.cjs");
46
50
  var import_colorRamps = require("../shared/colorRamps.cjs");
47
51
  var import_devWarn = require("../shared/devWarn.cjs");
48
52
  var import_groupContext = require("../shared/groupContext.cjs");
53
+ var import_glass = require("./glass.cjs");
49
54
  var import_jsx_runtime = require("react/jsx-runtime");
50
55
  const buttonSizeRecipes = import_theme3.recipeFamilies.control.recipes;
51
56
  function resolveButtonSizeRecipe(size, family = "control", touch = false) {
@@ -210,6 +215,30 @@ const ButtonFrame = (0, import_tamagui.styled)(import_tamagui.View, {
210
215
  size: "$true"
211
216
  }
212
217
  });
218
+ const ICON_BUTTON_PRESS_OPACITY = 0.35;
219
+ const ICON_BUTTON_GLYPH_PX = 22;
220
+ const ICON_BUTTON_NEUTRAL_GLYPH_PX = 24;
221
+ const INLINE_GLYPH_RATIO = 1.2;
222
+ function withGlyphWeight(icon, size, weight) {
223
+ if (icon == null || icon === false) return icon;
224
+ if ((0, import_react.isValidElement)(icon)) {
225
+ return (0, import_react.cloneElement)(icon, {
226
+ ...(icon.props.size == null ? {
227
+ size
228
+ } : void 0),
229
+ ...(icon.props.weight == null ? {
230
+ weight
231
+ } : void 0)
232
+ });
233
+ }
234
+ if (typeof icon === "function" || typeof icon === "object" && "$$typeof" in icon) {
235
+ return (0, import_react.createElement)(icon, {
236
+ size,
237
+ weight
238
+ });
239
+ }
240
+ return icon;
241
+ }
213
242
  function Button({
214
243
  children,
215
244
  action,
@@ -234,6 +263,9 @@ function Button({
234
263
  chromeless,
235
264
  edge,
236
265
  accentInk,
266
+ plate,
267
+ inline,
268
+ glyphWeight,
237
269
  verb,
238
270
  noun,
239
271
  actionRole,
@@ -292,7 +324,8 @@ function Button({
292
324
  } = (0, import_react_store.useStore)(resolvedForm?.store ?? dummyStore, s => ({
293
325
  isValid: s.isValid ?? true
294
326
  }));
295
- const intent = accent && "accent" || error && "error" || warning && "warning" || success && "success" || void 0;
327
+ const primaryPlate = plate === "primary";
328
+ const intent = (accent || primaryPlate) && "accent" || error && "error" || warning && "warning" || success && "success" || void 0;
296
329
  const sizeProp = props.size;
297
330
  const {
298
331
  knobProps,
@@ -309,8 +342,19 @@ function Button({
309
342
  const hostAccentInk = (0, import_theme3.useAccentOnSurface)();
310
343
  const hostIdentityInk = (0, import_theme3.useIdentityInkOnSurface)();
311
344
  const grouped = (0, import_groupContext.useControlGrouped)();
345
+ const labelled = verb != null || children != null && children !== false && children !== "";
346
+ const iconOnly = !labelled && Boolean(icon || iconAfter);
347
+ const mediaPlate = iconOnly && plate === "media";
348
+ const confirmPlate = iconOnly && primaryPlate;
349
+ const iconButton = iconOnly && !mediaPlate && !confirmPlate && !grouped && chromeless !== false && outlined !== true && !circular;
312
350
  if (import_tamagui.isWeb) (0, import_theme3.ensureKeyboardModalityTracking)();
313
351
  const barSurface = (0, import_theme3.useBarSurface)();
352
+ const neutralGlyph = iconButton && !(theme ?? intent) && !barSurface && accentInk == null;
353
+ if (iconButton) {
354
+ chromeless = true;
355
+ accentInk = accentInk ?? (!(theme ?? intent) && barSurface);
356
+ }
357
+ const resolvedGlyphWeight = glyphWeight ?? (neutralGlyph ? "bold" : "regular");
314
358
  const elevatedGround = (0, import_theme3.useElevatedSurface)();
315
359
  const darkScheme = (0, import_theme3.isDarkThemeName)((0, import_tamagui.useThemeName)());
316
360
  const resolvedSize = typeof sizeProp === "number" ? sizeProp : knobProps.sizeToken;
@@ -356,19 +400,20 @@ function Button({
356
400
  const tierDisabled = tier && disabledState.style !== "dimWhole" ? (0, import_theme3.controlTierDisabled)(tier) : void 0;
357
401
  const hostScoped = fragment => Object.fromEntries(Object.entries(fragment).map(([key, value]) => [key, typeof value === "string" && value.startsWith("$") ? parentScopeTheme[value.slice(1)]?.val ?? value : value]));
358
402
  const washOnHost = Boolean(unavailable && activeThemeName && import_theme3.solidPaletteThemes.has(activeThemeName));
359
- const disabledSurface = tierDisabled ? {
403
+ const frameless = Boolean(chromeless);
404
+ const disabledSurface = frameless ? disabledState.glyphKnobProps : tierDisabled ? {
360
405
  ...disabledState.surfaceKnobProps,
361
406
  backgroundColor: tierDisabled.backgroundColor,
362
407
  borderColor: tierDisabled.borderColor
363
408
  } : washOnHost ? hostScoped(disabledState.surfaceKnobProps) : disabledState.surfaceKnobProps;
364
- const disabledText = tierDisabled ? {
409
+ const disabledText = frameless ? {} : tierDisabled ? {
365
410
  ...disabledState.textKnobProps,
366
411
  color: tierDisabled.color
367
412
  } : washOnHost ? hostScoped(disabledState.textKnobProps) : activeThemeName && import_theme3.solidButtonIntents.has(activeThemeName) && disabledState.textKnobProps.color ? {
368
413
  ...disabledState.textKnobProps,
369
414
  color: "$color12"
370
415
  } : disabledState.textKnobProps;
371
- outlined = tier ? false : outlined ?? knobProps.outlined;
416
+ outlined = tier || iconButton || mediaPlate || confirmPlate ? false : outlined ?? knobProps.outlined;
372
417
  const isLow = knobProps.textAccent === "low";
373
418
  const isMedium = knobProps.textAccent === "medium";
374
419
  const resolvedBorderWidth = knobProps.borderRadius.borderWidth;
@@ -389,10 +434,11 @@ function Button({
389
434
  }, []);
390
435
  const handlePressOut = (0, import_react.useCallback)(() => setPressing(false), []);
391
436
  const textColor = isLow ? pressing ? textAccentLow.press : hovering ? textAccentLow.hover : textAccentLow.default : isMedium ? import_colorRamps.formCommonColors.text : void 0;
392
- const outlinedIntentInk = Boolean(outlined && activeThemeName && import_theme3.solidButtonIntents.has(activeThemeName));
393
- const outlinedOnHost = Boolean(outlined && activeThemeName && import_theme3.solidPaletteThemes.has(activeThemeName));
437
+ const onPage = outlined || iconButton;
438
+ const outlinedIntentInk = Boolean(onPage && activeThemeName && import_theme3.solidButtonIntents.has(activeThemeName));
439
+ const outlinedOnHost = Boolean(onPage && activeThemeName && import_theme3.solidPaletteThemes.has(activeThemeName));
394
440
  const outlinedInk = outlinedOnHost ? hostAccentInk : outlinedIntentInk ? "$color11" : void 0;
395
- const resolvedRole = actionRole ?? (accent ? "primary" : void 0);
441
+ const resolvedRole = actionRole ?? (accent || confirmPlate ? "primary" : void 0);
396
442
  const labelFromParts = children == null && verb != null ? (0, import_actionLabel.formatActionLabel)({
397
443
  verb,
398
444
  noun
@@ -400,9 +446,17 @@ function Button({
400
446
  const resolvedChildren = children ?? labelFromParts;
401
447
  const ariaPressedProp = props["aria-pressed"];
402
448
  const isSelected = selected ?? (ariaPressedProp === true || ariaPressedProp === "true" ? true : void 0);
403
- const selectedFill = Boolean(isSelected) && !unavailable;
449
+ const selectedFill = Boolean(isSelected) && !unavailable && !mediaPlate;
404
450
  const barInk = accentInk && chromeless && !selectedFill && !unavailable ? hostIdentityInk : null;
405
- const iconSize = nested ? Math.min(recipe.iconSize, Math.max(12, Math.round(knobProps.nestedControl.px * 0.45))) : recipe.iconSize;
451
+ const inlineGlyph = iconButton && inline === true && !nested;
452
+ const barGlyph = (iconButton || mediaPlate || confirmPlate) && !nested || labelled && chromeless && accentInk === true && edge === "start";
453
+ const glyphFloor = neutralGlyph && !inlineGlyph ? ICON_BUTTON_NEUTRAL_GLYPH_PX : ICON_BUTTON_GLYPH_PX;
454
+ const GlassView = iconButton && !inlineGlyph && !nested && accentInk && barSurface && !selectedFill ? (0, import_glass.loadGlassView)() : null;
455
+ const iconSize = nested ? Math.min(recipe.iconSize, Math.max(12, Math.round(knobProps.nestedControl.px * 0.45))) : inlineGlyph ? Math.round(recipe.fontSize * INLINE_GLYPH_RATIO) : barGlyph ? touch ? Math.max(glyphFloor, resolveButtonSizeRecipe("$6", recipeFamily, touch).iconSize) :
456
+ // A pointer toolbar keeps its token box (LC-54); the glyph fills it
457
+ // up to the same floor.
458
+ Math.max(recipe.iconSize, Math.min(glyphFloor, recipe.height - 8)) : recipe.iconSize;
459
+ const glyph = barGlyph || inlineGlyph ? withGlyphWeight(icon, iconSize, resolvedGlyphWeight) : icon;
406
460
  const labelBoxPx = nested ? knobProps.nestedControl.px : recipe.height;
407
461
  const labelLine = labelLinePx(knobProps.body.fontFamily);
408
462
  const labelMaxFontScale = Math.min((0, import_theme3.maxFontScaleToFit)(labelBoxPx, nested ? (0, import_tamagui.getFontSize)(knobProps.label.fontSize) : recipe.fontSize, import_theme3.dynamicTypeFit.controlLabelFill), labelLine === void 0 ? Number.POSITIVE_INFINITY : (0, import_theme3.maxFontScaleToFit)(labelBoxPx, labelLine, 1));
@@ -448,18 +502,19 @@ function Button({
448
502
  color: nativeIconColor,
449
503
  "aria-hidden": true
450
504
  })
451
- }) : icon ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
505
+ }) : glyph ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
452
506
  flexShrink: 0,
453
- children: import_tamagui.isWeb ? normalizeButtonIcon(icon, iconSize) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(NativeButtonIcon, {
454
- icon,
507
+ children: import_tamagui.isWeb ? normalizeButtonIcon(glyph, iconSize) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(NativeButtonIcon, {
508
+ icon: glyph,
455
509
  size: iconSize,
456
510
  color: nativeIconColor
457
511
  })
458
512
  }) : null;
459
- const iconAfterElement = iconAfter ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
513
+ const glyphAfter = iconAfter && (barGlyph || inlineGlyph) ? withGlyphWeight(iconAfter, iconSize, resolvedGlyphWeight) : iconAfter;
514
+ const iconAfterElement = glyphAfter ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.View, {
460
515
  flexShrink: 0,
461
- children: import_tamagui.isWeb ? normalizeButtonIcon(iconAfter, iconSize) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(NativeButtonIcon, {
462
- icon: iconAfter,
516
+ children: import_tamagui.isWeb ? normalizeButtonIcon(glyphAfter, iconSize) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(NativeButtonIcon, {
517
+ icon: glyphAfter,
463
518
  size: iconSize,
464
519
  color: nativeIconColor
465
520
  })
@@ -469,7 +524,7 @@ function Button({
469
524
  const reasonId = explainedDisable ? `${props.id ?? generatedId}-disabled-reason` : void 0;
470
525
  const isCircular = Boolean(circular);
471
526
  const circularTokenPx = sizeTokenPx(resolvedSize);
472
- const visualPx = nested ? knobProps.nestedControl.px : recipe.height;
527
+ const visualPx = nested ? knobProps.nestedControl.px : inlineGlyph ? iconSize : iconButton ? Math.max(recipe.height, iconSize) : recipe.height;
473
528
  const circularPressFloor = isCircular && touch && typeof sizeProp !== "number" && circularTokenPx < import_theme3.MIN_PRESS_TARGET ? {
474
529
  width: import_theme3.MIN_PRESS_TARGET,
475
530
  height: import_theme3.MIN_PRESS_TARGET,
@@ -501,6 +556,23 @@ function Button({
501
556
  const selectedPressFill = selectedFill ? "$backgroundPress" : tierPaint ? tierPaint.press : outlined ? "transparent" : "$backgroundPress";
502
557
  const restFill = selectedFill ? outlined ? "$background" : "$backgroundPress" : tierPaint?.rest;
503
558
  const plainTier = tier === "plain";
559
+ const glyphState = iconButton && !selectedFill;
560
+ const iconHover = glyphState ? import_tamagui.isWeb ? hostScoped({
561
+ backgroundColor: "$backgroundHover"
562
+ }) : {
563
+ backgroundColor: "transparent"
564
+ } : mediaPlate ? {
565
+ backgroundColor: "$shadow5"
566
+ } : void 0;
567
+ const iconPress = glyphState ? import_tamagui.isWeb ? hostScoped({
568
+ backgroundColor: "$backgroundPress"
569
+ }) : {
570
+ backgroundColor: "transparent",
571
+ opacity: ICON_BUTTON_PRESS_OPACITY
572
+ } : mediaPlate ? {
573
+ backgroundColor: "$shadow5"
574
+ } : void 0;
575
+ const glyphEdgePull = GlassView ? 0 : iconButton ? -Math.max(0, (visualPx - iconSize) / 2) : edgePull;
504
576
  const buttonElement = /* @__PURE__ */(0, import_jsx_runtime.jsxs)(ButtonFrame, {
505
577
  disabled: explainedDisable ? false : isDisabled || false,
506
578
  "aria-busy": loading || void 0,
@@ -512,8 +584,8 @@ function Button({
512
584
  } : void 0),
513
585
  borderWidth: resolvedBorderWidth,
514
586
  size: resolvedSize,
515
- ...(chromeless || plainTier ? void 0 : knobProps.elevationChrome),
516
- elevation: plainTier ? void 0 : knobProps.elevation,
587
+ ...(chromeless || plainTier || mediaPlate || confirmPlate ? void 0 : knobProps.elevationChrome),
588
+ elevation: plainTier || confirmPlate ? void 0 : knobProps.elevation,
517
589
  outlined: outlined || void 0,
518
590
  borderColor: outlined ? knobBorderColor : "transparent",
519
591
  circular: !nested && isCircular ? true : void 0,
@@ -528,10 +600,35 @@ function Button({
528
600
  height: visualPx,
529
601
  minHeight: visualPx
530
602
  } : void 0),
531
- ...(edge && chromeless && !selectedFill && !isCircular ? edge === "start" ? {
532
- marginInlineStart: edgePull
603
+ ...(iconButton || mediaPlate || confirmPlate ? {
604
+ width: visualPx,
605
+ minWidth: visualPx,
606
+ paddingHorizontal: 0
607
+ } : void 0),
608
+ ...(inlineGlyph ? {
609
+ marginInlineStart: "$2"
610
+ } : void 0),
611
+ ...(GlassView ? {
612
+ borderRadius: 1e5,
613
+ overflow: "hidden"
614
+ } : void 0),
615
+ ...(confirmPlate ? {
616
+ borderRadius: 1e5
617
+ } : void 0),
618
+ ...(mediaPlate ? {
619
+ borderRadius: 1e5,
620
+ backgroundColor: "$shadow4",
621
+ ...(import_tamagui.isWeb ? {
622
+ style: {
623
+ backdropFilter: "blur(16px) saturate(180%)",
624
+ WebkitBackdropFilter: "blur(16px) saturate(180%)"
625
+ }
626
+ } : void 0)
627
+ } : void 0),
628
+ ...(edge && !inlineGlyph && chromeless && !selectedFill && !isCircular ? edge === "start" ? {
629
+ marginInlineStart: glyphEdgePull
533
630
  } : {
534
- marginInlineEnd: edgePull
631
+ marginInlineEnd: glyphEdgePull
535
632
  } : void 0),
536
633
  ...(restFill ? {
537
634
  backgroundColor: restFill
@@ -563,7 +660,8 @@ function Button({
563
660
  // A selected fill, or the LC-153 tier's wash, beats the knob state fill.
564
661
  ...(selectedFill || tierPaint ? {
565
662
  backgroundColor: selectedHoverFill
566
- } : void 0)
663
+ } : void 0),
664
+ ...iconHover
567
665
  },
568
666
  pressStyle: {
569
667
  backgroundColor: selectedPressFill,
@@ -575,7 +673,8 @@ function Button({
575
673
  // A selected fill, or the LC-153 tier's wash, beats the knob state fill.
576
674
  ...(selectedFill || tierPaint ? {
577
675
  backgroundColor: selectedPressFill
578
- } : void 0)
676
+ } : void 0),
677
+ ...iconPress
579
678
  },
580
679
  focusStyle: {
581
680
  outlineWidth: 0
@@ -615,6 +714,7 @@ function Button({
615
714
  }
616
715
  } : void 0),
617
716
  ...(isCircular && !grouped ? (0, import_theme3.radiusClassProps)("R-IDENTITY", "circular Button") : void 0),
717
+ ...(!isCircular && (GlassView || confirmPlate || mediaPlate) ? (0, import_theme3.radiusClassProps)("R-IDENTITY", "icon button plate") : void 0),
618
718
  ...(explainedDisable ? {
619
719
  // No `title`: hover-only reveals are banned on disabled controls
620
720
  // (DG-OVL-05) — the reason renders as visible adjacent text.
@@ -628,11 +728,11 @@ function Button({
628
728
  // Hover/press keep the LC-40 washed chrome — an aria-disabled
629
729
  // control must not light up like a pressable one.
630
730
  hoverStyle: {
631
- backgroundColor: outlined ? "transparent" : "$background",
731
+ backgroundColor: outlined || frameless ? "transparent" : "$background",
632
732
  ...disabledSurface
633
733
  },
634
734
  pressStyle: {
635
- backgroundColor: outlined ? "transparent" : "$background",
735
+ backgroundColor: outlined || frameless ? "transparent" : "$background",
636
736
  ...disabledSurface
637
737
  },
638
738
  "data-mp-disabled-explained": "true"
@@ -649,18 +749,42 @@ function Button({
649
749
  ...(tier ? {
650
750
  "data-mp-tier": tier
651
751
  } : void 0),
752
+ ...(iconButton ? {
753
+ "data-mp-icon-button": GlassView ? "glass" : inlineGlyph ? "inline" : neutralGlyph ? "neutral" : "glyph"
754
+ } : void 0),
755
+ ...(mediaPlate ? {
756
+ "data-mp-icon-button": "media"
757
+ } : void 0),
758
+ ...(confirmPlate ? {
759
+ "data-mp-icon-button": "primary"
760
+ } : void 0),
652
761
  "data-mp-button-height": String(nested ? visualPx : isCircular ? touch && typeof sizeProp !== "number" ? Math.max(circularTokenPx, import_theme3.MIN_PRESS_TARGET) : circularTokenPx : visualPx),
653
762
  "data-size-token": knobProps.sizeToken,
654
763
  ...(selectedFill ? {
655
764
  "aria-pressed": true,
656
765
  "data-mp-selected": "true"
657
766
  } : void 0),
658
- children: [iconElement, labelContent, iconAfterElement]
767
+ children: [GlassView ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(GlassView, {
768
+ glassEffectStyle: "regular",
769
+ isInteractive: true,
770
+ pointerEvents: "none",
771
+ style: {
772
+ position: "absolute",
773
+ top: 0,
774
+ right: 0,
775
+ bottom: 0,
776
+ left: 0
777
+ }
778
+ }) : null, iconElement, labelContent, iconAfterElement]
659
779
  });
660
- const themedButton = activeThemeName ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Theme, {
780
+ const intentButton = activeThemeName ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Theme, {
661
781
  name: activeThemeName,
662
782
  children: buttonElement
663
783
  }) : buttonElement;
784
+ const themedButton = mediaPlate ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_tamagui.Theme, {
785
+ name: "dark",
786
+ children: intentButton
787
+ }) : intentButton;
664
788
  const reasonText = explainedDisable ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_theme2.SizableText, {
665
789
  id: reasonId,
666
790
  size: "$2",
@@ -684,4 +808,9 @@ function Button({
684
808
  });
685
809
  }
686
810
  Button.Icon = import_tamagui.Button.Icon;
687
- Button.Text = import_tamagui.SizableText;
811
+ Button.Text = import_tamagui.SizableText;
812
+ function IconButton(props) {
813
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(Button, {
814
+ ...props
815
+ });
816
+ }