@multiplatform.one/forms 7.66.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 (527) hide show
  1. package/dist/cjs/AdaptivePopup/index.cjs +45 -5
  2. package/dist/cjs/AdaptivePopup/index.native.js +47 -5
  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 +156 -27
  9. package/dist/cjs/Button/index.native.js.map +1 -1
  10. package/dist/cjs/ContextualSaveBar/index.cjs +6 -8
  11. package/dist/cjs/ContextualSaveBar/index.native.js +6 -8
  12. package/dist/cjs/ContextualSaveBar/index.native.js.map +1 -1
  13. package/dist/cjs/DescriptionList/index.cjs +0 -1
  14. package/dist/cjs/DescriptionList/index.native.js +0 -1
  15. package/dist/cjs/DescriptionList/index.native.js.map +1 -1
  16. package/dist/cjs/FloatingPanel/RegularPanel.cjs +164 -0
  17. package/dist/cjs/FloatingPanel/RegularPanel.native.js +169 -0
  18. package/dist/cjs/FloatingPanel/RegularPanel.native.js.map +1 -0
  19. package/dist/cjs/FloatingPanel/compactFace.cjs +6 -0
  20. package/dist/cjs/FloatingPanel/compactFace.native.js +6 -0
  21. package/dist/cjs/FloatingPanel/compactFace.native.js.map +1 -1
  22. package/dist/cjs/FloatingPanel/containingBlock.cjs +46 -0
  23. package/dist/cjs/FloatingPanel/containingBlock.native.js +51 -0
  24. package/dist/cjs/FloatingPanel/containingBlock.native.js.map +1 -0
  25. package/dist/cjs/FloatingPanel/index.cjs +2 -20
  26. package/dist/cjs/FloatingPanel/index.native.js +79 -45
  27. package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
  28. package/dist/cjs/FloatingPanel/pointAnchor.cjs +25 -0
  29. package/dist/cjs/FloatingPanel/pointAnchor.native.js +26 -0
  30. package/dist/cjs/FloatingPanel/pointAnchor.native.js.map +1 -1
  31. package/dist/cjs/FloatingPanel/regularPlacement.cjs +61 -0
  32. package/dist/cjs/FloatingPanel/regularPlacement.native.js +65 -0
  33. package/dist/cjs/FloatingPanel/regularPlacement.native.js.map +1 -0
  34. package/dist/cjs/fields/Barcode/BarcodeScanner.cjs +7 -8
  35. package/dist/cjs/fields/Barcode/BarcodeScanner.native.js +7 -8
  36. package/dist/cjs/fields/Barcode/BarcodeScanner.native.js.map +1 -1
  37. package/dist/cjs/fields/Combobox/index.cjs +1 -1
  38. package/dist/cjs/fields/Combobox/index.native.js +3 -1
  39. package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
  40. package/dist/cjs/fields/FileUpload/index.cjs +83 -60
  41. package/dist/cjs/fields/FileUpload/index.native.js +96 -73
  42. package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
  43. package/dist/cjs/fields/Geolocation/index.cjs +7 -8
  44. package/dist/cjs/fields/Geolocation/index.native.js +7 -8
  45. package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
  46. package/dist/cjs/fields/ImageField/index.cjs +4 -6
  47. package/dist/cjs/fields/ImageField/index.native.js +4 -6
  48. package/dist/cjs/fields/ImageField/index.native.js.map +1 -1
  49. package/dist/cjs/fields/Input/index.cjs +5 -0
  50. package/dist/cjs/fields/Input/index.native.js +5 -0
  51. package/dist/cjs/fields/Input/index.native.js.map +1 -1
  52. package/dist/cjs/fields/Select/InlineChoices.cjs +3 -2
  53. package/dist/cjs/fields/Select/InlineChoices.native.js +5 -2
  54. package/dist/cjs/fields/Select/InlineChoices.native.js.map +1 -1
  55. package/dist/cjs/fields/Select/SheetPickerRow.cjs +154 -0
  56. package/dist/cjs/fields/Select/SheetPickerRow.native.js +165 -0
  57. package/dist/cjs/fields/Select/SheetPickerRow.native.js.map +1 -0
  58. package/dist/cjs/fields/Select/index.cjs +63 -4
  59. package/dist/cjs/fields/Select/index.native.js +85 -26
  60. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  61. package/dist/cjs/fields/Select/shouldInlineChoices.cjs +14 -1
  62. package/dist/cjs/fields/Select/shouldInlineChoices.native.js +15 -1
  63. package/dist/cjs/fields/Select/shouldInlineChoices.native.js.map +1 -1
  64. package/dist/cjs/fields/Slider/index.cjs +96 -4
  65. package/dist/cjs/fields/Slider/index.native.js +103 -5
  66. package/dist/cjs/fields/Slider/index.native.js.map +1 -1
  67. package/dist/cjs/fields/Switch/index.cjs +71 -1
  68. package/dist/cjs/fields/Switch/index.native.js +72 -1
  69. package/dist/cjs/fields/Switch/index.native.js.map +1 -1
  70. package/dist/cjs/fields/ToggleGroup/index.cjs +67 -1
  71. package/dist/cjs/fields/ToggleGroup/index.native.js +75 -1
  72. package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
  73. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.cjs +54 -47
  74. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js +64 -49
  75. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  76. package/dist/cjs/fields/nativeDateTime/sheetKeyboard.cjs +54 -0
  77. package/dist/cjs/fields/nativeDateTime/sheetKeyboard.native.js +57 -0
  78. package/dist/cjs/fields/nativeDateTime/sheetKeyboard.native.js.map +1 -0
  79. package/dist/cjs/index.cjs +19 -1
  80. package/dist/cjs/index.native.js +18 -0
  81. package/dist/cjs/index.native.js.map +1 -1
  82. package/dist/cjs/shared/colorRamps.cjs +0 -8
  83. package/dist/cjs/shared/colorRamps.native.js +0 -8
  84. package/dist/cjs/shared/colorRamps.native.js.map +1 -1
  85. package/dist/cjs/shared/overlaySizeClass.cjs +42 -0
  86. package/dist/cjs/shared/overlaySizeClass.native.js +45 -0
  87. package/dist/cjs/shared/overlaySizeClass.native.js.map +1 -0
  88. package/dist/cjs/shared/sheetNavigation.cjs +76 -0
  89. package/dist/cjs/shared/sheetNavigation.native.js +129 -0
  90. package/dist/cjs/shared/sheetNavigation.native.js.map +1 -0
  91. package/dist/cjs/shared/systemControlModules.cjs +34 -0
  92. package/dist/cjs/shared/systemControlModules.gnome.cjs +34 -0
  93. package/dist/cjs/shared/systemControlModules.gnome.native.js +37 -0
  94. package/dist/cjs/shared/systemControlModules.gnome.native.js.map +1 -0
  95. package/dist/cjs/shared/systemControlModules.native.js +77 -0
  96. package/dist/cjs/shared/systemControlModules.native.js.map +1 -0
  97. package/dist/cjs/shared/systemControls.cjs +47 -0
  98. package/dist/cjs/shared/systemControls.native.js +51 -0
  99. package/dist/cjs/shared/systemControls.native.js.map +1 -0
  100. package/dist/cjs/standardActions.cjs +117 -0
  101. package/dist/cjs/standardActions.native.js +120 -0
  102. package/dist/cjs/standardActions.native.js.map +1 -0
  103. package/dist/esm/AdaptivePopup/index.mjs +45 -5
  104. package/dist/esm/AdaptivePopup/index.mjs.map +1 -1
  105. package/dist/esm/AdaptivePopup/index.native.js +47 -5
  106. package/dist/esm/AdaptivePopup/index.native.js.map +1 -1
  107. package/dist/esm/Button/glass.mjs +5 -0
  108. package/dist/esm/Button/glass.mjs.map +1 -0
  109. package/dist/esm/Button/glass.native.js +19 -0
  110. package/dist/esm/Button/glass.native.js.map +1 -0
  111. package/dist/esm/Button/index.mjs +153 -28
  112. package/dist/esm/Button/index.mjs.map +1 -1
  113. package/dist/esm/Button/index.native.js +153 -28
  114. package/dist/esm/Button/index.native.js.map +1 -1
  115. package/dist/esm/ContextualSaveBar/index.mjs +7 -9
  116. package/dist/esm/ContextualSaveBar/index.mjs.map +1 -1
  117. package/dist/esm/ContextualSaveBar/index.native.js +7 -9
  118. package/dist/esm/ContextualSaveBar/index.native.js.map +1 -1
  119. package/dist/esm/DescriptionList/index.mjs +0 -1
  120. package/dist/esm/DescriptionList/index.mjs.map +1 -1
  121. package/dist/esm/DescriptionList/index.native.js +0 -1
  122. package/dist/esm/DescriptionList/index.native.js.map +1 -1
  123. package/dist/esm/FloatingPanel/RegularPanel.mjs +139 -0
  124. package/dist/esm/FloatingPanel/RegularPanel.mjs.map +1 -0
  125. package/dist/esm/FloatingPanel/RegularPanel.native.js +141 -0
  126. package/dist/esm/FloatingPanel/RegularPanel.native.js.map +1 -0
  127. package/dist/esm/FloatingPanel/compactFace.mjs +5 -1
  128. package/dist/esm/FloatingPanel/compactFace.mjs.map +1 -1
  129. package/dist/esm/FloatingPanel/compactFace.native.js +5 -1
  130. package/dist/esm/FloatingPanel/compactFace.native.js.map +1 -1
  131. package/dist/esm/FloatingPanel/containingBlock.mjs +21 -0
  132. package/dist/esm/FloatingPanel/containingBlock.mjs.map +1 -0
  133. package/dist/esm/FloatingPanel/containingBlock.native.js +23 -0
  134. package/dist/esm/FloatingPanel/containingBlock.native.js.map +1 -0
  135. package/dist/esm/FloatingPanel/index.mjs +1 -19
  136. package/dist/esm/FloatingPanel/index.mjs.map +1 -1
  137. package/dist/esm/FloatingPanel/index.native.js +83 -49
  138. package/dist/esm/FloatingPanel/index.native.js.map +1 -1
  139. package/dist/esm/FloatingPanel/pointAnchor.mjs +25 -1
  140. package/dist/esm/FloatingPanel/pointAnchor.mjs.map +1 -1
  141. package/dist/esm/FloatingPanel/pointAnchor.native.js +26 -1
  142. package/dist/esm/FloatingPanel/pointAnchor.native.js.map +1 -1
  143. package/dist/esm/FloatingPanel/regularPlacement.mjs +35 -0
  144. package/dist/esm/FloatingPanel/regularPlacement.mjs.map +1 -0
  145. package/dist/esm/FloatingPanel/regularPlacement.native.js +36 -0
  146. package/dist/esm/FloatingPanel/regularPlacement.native.js.map +1 -0
  147. package/dist/esm/fields/Barcode/BarcodeScanner.mjs +8 -9
  148. package/dist/esm/fields/Barcode/BarcodeScanner.mjs.map +1 -1
  149. package/dist/esm/fields/Barcode/BarcodeScanner.native.js +8 -9
  150. package/dist/esm/fields/Barcode/BarcodeScanner.native.js.map +1 -1
  151. package/dist/esm/fields/Combobox/index.mjs +1 -1
  152. package/dist/esm/fields/Combobox/index.mjs.map +1 -1
  153. package/dist/esm/fields/Combobox/index.native.js +3 -1
  154. package/dist/esm/fields/Combobox/index.native.js.map +1 -1
  155. package/dist/esm/fields/FileUpload/index.mjs +84 -61
  156. package/dist/esm/fields/FileUpload/index.mjs.map +1 -1
  157. package/dist/esm/fields/FileUpload/index.native.js +97 -74
  158. package/dist/esm/fields/FileUpload/index.native.js.map +1 -1
  159. package/dist/esm/fields/Geolocation/index.mjs +8 -9
  160. package/dist/esm/fields/Geolocation/index.mjs.map +1 -1
  161. package/dist/esm/fields/Geolocation/index.native.js +8 -9
  162. package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
  163. package/dist/esm/fields/ImageField/index.mjs +6 -8
  164. package/dist/esm/fields/ImageField/index.mjs.map +1 -1
  165. package/dist/esm/fields/ImageField/index.native.js +6 -8
  166. package/dist/esm/fields/ImageField/index.native.js.map +1 -1
  167. package/dist/esm/fields/Input/index.mjs +6 -1
  168. package/dist/esm/fields/Input/index.mjs.map +1 -1
  169. package/dist/esm/fields/Input/index.native.js +6 -1
  170. package/dist/esm/fields/Input/index.native.js.map +1 -1
  171. package/dist/esm/fields/Select/InlineChoices.mjs +3 -2
  172. package/dist/esm/fields/Select/InlineChoices.mjs.map +1 -1
  173. package/dist/esm/fields/Select/InlineChoices.native.js +5 -2
  174. package/dist/esm/fields/Select/InlineChoices.native.js.map +1 -1
  175. package/dist/esm/fields/Select/SheetPickerRow.mjs +129 -0
  176. package/dist/esm/fields/Select/SheetPickerRow.mjs.map +1 -0
  177. package/dist/esm/fields/Select/SheetPickerRow.native.js +137 -0
  178. package/dist/esm/fields/Select/SheetPickerRow.native.js.map +1 -0
  179. package/dist/esm/fields/Select/index.mjs +64 -5
  180. package/dist/esm/fields/Select/index.mjs.map +1 -1
  181. package/dist/esm/fields/Select/index.native.js +86 -27
  182. package/dist/esm/fields/Select/index.native.js.map +1 -1
  183. package/dist/esm/fields/Select/shouldInlineChoices.mjs +12 -1
  184. package/dist/esm/fields/Select/shouldInlineChoices.mjs.map +1 -1
  185. package/dist/esm/fields/Select/shouldInlineChoices.native.js +13 -1
  186. package/dist/esm/fields/Select/shouldInlineChoices.native.js.map +1 -1
  187. package/dist/esm/fields/Slider/index.mjs +96 -4
  188. package/dist/esm/fields/Slider/index.mjs.map +1 -1
  189. package/dist/esm/fields/Slider/index.native.js +103 -5
  190. package/dist/esm/fields/Slider/index.native.js.map +1 -1
  191. package/dist/esm/fields/Switch/index.mjs +71 -1
  192. package/dist/esm/fields/Switch/index.mjs.map +1 -1
  193. package/dist/esm/fields/Switch/index.native.js +72 -1
  194. package/dist/esm/fields/Switch/index.native.js.map +1 -1
  195. package/dist/esm/fields/ToggleGroup/index.mjs +67 -1
  196. package/dist/esm/fields/ToggleGroup/index.mjs.map +1 -1
  197. package/dist/esm/fields/ToggleGroup/index.native.js +75 -1
  198. package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
  199. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.mjs +56 -49
  200. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.mjs.map +1 -1
  201. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js +66 -51
  202. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  203. package/dist/esm/fields/nativeDateTime/sheetKeyboard.mjs +21 -0
  204. package/dist/esm/fields/nativeDateTime/sheetKeyboard.mjs.map +1 -0
  205. package/dist/esm/fields/nativeDateTime/sheetKeyboard.native.js +21 -0
  206. package/dist/esm/fields/nativeDateTime/sheetKeyboard.native.js.map +1 -0
  207. package/dist/esm/index.mjs +5 -2
  208. package/dist/esm/index.mjs.map +1 -1
  209. package/dist/esm/index.native.js +5 -2
  210. package/dist/esm/index.native.js.map +1 -1
  211. package/dist/esm/shared/colorRamps.mjs +0 -8
  212. package/dist/esm/shared/colorRamps.mjs.map +1 -1
  213. package/dist/esm/shared/colorRamps.native.js +0 -8
  214. package/dist/esm/shared/colorRamps.native.js.map +1 -1
  215. package/dist/esm/shared/overlaySizeClass.mjs +14 -0
  216. package/dist/esm/shared/overlaySizeClass.mjs.map +1 -0
  217. package/dist/esm/shared/overlaySizeClass.native.js +14 -0
  218. package/dist/esm/shared/overlaySizeClass.native.js.map +1 -0
  219. package/dist/esm/shared/sheetNavigation.mjs +47 -0
  220. package/dist/esm/shared/sheetNavigation.mjs.map +1 -0
  221. package/dist/esm/shared/sheetNavigation.native.js +97 -0
  222. package/dist/esm/shared/sheetNavigation.native.js.map +1 -0
  223. package/dist/esm/shared/systemControlModules.gnome.mjs +8 -0
  224. package/dist/esm/shared/systemControlModules.gnome.mjs.map +1 -0
  225. package/dist/esm/shared/systemControlModules.gnome.native.js +8 -0
  226. package/dist/esm/shared/systemControlModules.gnome.native.js.map +1 -0
  227. package/dist/esm/shared/systemControlModules.mjs +8 -0
  228. package/dist/esm/shared/systemControlModules.mjs.map +1 -0
  229. package/dist/esm/shared/systemControlModules.native.js +47 -0
  230. package/dist/esm/shared/systemControlModules.native.js.map +1 -0
  231. package/dist/esm/shared/systemControls.mjs +19 -0
  232. package/dist/esm/shared/systemControls.mjs.map +1 -0
  233. package/dist/esm/shared/systemControls.native.js +20 -0
  234. package/dist/esm/shared/systemControls.native.js.map +1 -0
  235. package/dist/esm/standardActions.mjs +91 -0
  236. package/dist/esm/standardActions.mjs.map +1 -0
  237. package/dist/esm/standardActions.native.js +91 -0
  238. package/dist/esm/standardActions.native.js.map +1 -0
  239. package/dist/jsx/AdaptivePopup/index.mjs +45 -5
  240. package/dist/jsx/AdaptivePopup/index.mjs.map +1 -1
  241. package/dist/jsx/AdaptivePopup/index.native.js +47 -5
  242. package/dist/jsx/AdaptivePopup/index.native.js.map +1 -1
  243. package/dist/jsx/Button/glass.mjs +5 -0
  244. package/dist/jsx/Button/glass.mjs.map +1 -0
  245. package/dist/jsx/Button/glass.native.js +47 -0
  246. package/dist/jsx/Button/glass.native.js.map +1 -0
  247. package/dist/jsx/Button/index.mjs +153 -28
  248. package/dist/jsx/Button/index.mjs.map +1 -1
  249. package/dist/jsx/Button/index.native.js +156 -27
  250. package/dist/jsx/Button/index.native.js.map +1 -1
  251. package/dist/jsx/ContextualSaveBar/index.mjs +7 -9
  252. package/dist/jsx/ContextualSaveBar/index.mjs.map +1 -1
  253. package/dist/jsx/ContextualSaveBar/index.native.js +6 -8
  254. package/dist/jsx/ContextualSaveBar/index.native.js.map +1 -1
  255. package/dist/jsx/DescriptionList/index.mjs +0 -1
  256. package/dist/jsx/DescriptionList/index.mjs.map +1 -1
  257. package/dist/jsx/DescriptionList/index.native.js +0 -1
  258. package/dist/jsx/DescriptionList/index.native.js.map +1 -1
  259. package/dist/jsx/FloatingPanel/RegularPanel.mjs +139 -0
  260. package/dist/jsx/FloatingPanel/RegularPanel.mjs.map +1 -0
  261. package/dist/jsx/FloatingPanel/RegularPanel.native.js +169 -0
  262. package/dist/jsx/FloatingPanel/RegularPanel.native.js.map +1 -0
  263. package/dist/jsx/FloatingPanel/compactFace.mjs +5 -1
  264. package/dist/jsx/FloatingPanel/compactFace.mjs.map +1 -1
  265. package/dist/jsx/FloatingPanel/compactFace.native.js +6 -0
  266. package/dist/jsx/FloatingPanel/compactFace.native.js.map +1 -1
  267. package/dist/jsx/FloatingPanel/containingBlock.mjs +21 -0
  268. package/dist/jsx/FloatingPanel/containingBlock.mjs.map +1 -0
  269. package/dist/jsx/FloatingPanel/containingBlock.native.js +51 -0
  270. package/dist/jsx/FloatingPanel/containingBlock.native.js.map +1 -0
  271. package/dist/jsx/FloatingPanel/index.mjs +1 -19
  272. package/dist/jsx/FloatingPanel/index.mjs.map +1 -1
  273. package/dist/jsx/FloatingPanel/index.native.js +79 -45
  274. package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
  275. package/dist/jsx/FloatingPanel/pointAnchor.mjs +25 -1
  276. package/dist/jsx/FloatingPanel/pointAnchor.mjs.map +1 -1
  277. package/dist/jsx/FloatingPanel/pointAnchor.native.js +26 -0
  278. package/dist/jsx/FloatingPanel/pointAnchor.native.js.map +1 -1
  279. package/dist/jsx/FloatingPanel/regularPlacement.mjs +35 -0
  280. package/dist/jsx/FloatingPanel/regularPlacement.mjs.map +1 -0
  281. package/dist/jsx/FloatingPanel/regularPlacement.native.js +65 -0
  282. package/dist/jsx/FloatingPanel/regularPlacement.native.js.map +1 -0
  283. package/dist/jsx/fields/Barcode/BarcodeScanner.mjs +8 -9
  284. package/dist/jsx/fields/Barcode/BarcodeScanner.mjs.map +1 -1
  285. package/dist/jsx/fields/Barcode/BarcodeScanner.native.js +7 -8
  286. package/dist/jsx/fields/Barcode/BarcodeScanner.native.js.map +1 -1
  287. package/dist/jsx/fields/Combobox/index.mjs +1 -1
  288. package/dist/jsx/fields/Combobox/index.mjs.map +1 -1
  289. package/dist/jsx/fields/Combobox/index.native.js +3 -1
  290. package/dist/jsx/fields/Combobox/index.native.js.map +1 -1
  291. package/dist/jsx/fields/FileUpload/index.mjs +84 -61
  292. package/dist/jsx/fields/FileUpload/index.mjs.map +1 -1
  293. package/dist/jsx/fields/FileUpload/index.native.js +96 -73
  294. package/dist/jsx/fields/FileUpload/index.native.js.map +1 -1
  295. package/dist/jsx/fields/Geolocation/index.mjs +8 -9
  296. package/dist/jsx/fields/Geolocation/index.mjs.map +1 -1
  297. package/dist/jsx/fields/Geolocation/index.native.js +7 -8
  298. package/dist/jsx/fields/Geolocation/index.native.js.map +1 -1
  299. package/dist/jsx/fields/ImageField/index.mjs +6 -8
  300. package/dist/jsx/fields/ImageField/index.mjs.map +1 -1
  301. package/dist/jsx/fields/ImageField/index.native.js +4 -6
  302. package/dist/jsx/fields/ImageField/index.native.js.map +1 -1
  303. package/dist/jsx/fields/Input/index.mjs +6 -1
  304. package/dist/jsx/fields/Input/index.mjs.map +1 -1
  305. package/dist/jsx/fields/Input/index.native.js +5 -0
  306. package/dist/jsx/fields/Input/index.native.js.map +1 -1
  307. package/dist/jsx/fields/Select/InlineChoices.mjs +3 -2
  308. package/dist/jsx/fields/Select/InlineChoices.mjs.map +1 -1
  309. package/dist/jsx/fields/Select/InlineChoices.native.js +5 -2
  310. package/dist/jsx/fields/Select/InlineChoices.native.js.map +1 -1
  311. package/dist/jsx/fields/Select/SheetPickerRow.mjs +129 -0
  312. package/dist/jsx/fields/Select/SheetPickerRow.mjs.map +1 -0
  313. package/dist/jsx/fields/Select/SheetPickerRow.native.js +165 -0
  314. package/dist/jsx/fields/Select/SheetPickerRow.native.js.map +1 -0
  315. package/dist/jsx/fields/Select/index.mjs +64 -5
  316. package/dist/jsx/fields/Select/index.mjs.map +1 -1
  317. package/dist/jsx/fields/Select/index.native.js +85 -26
  318. package/dist/jsx/fields/Select/index.native.js.map +1 -1
  319. package/dist/jsx/fields/Select/shouldInlineChoices.mjs +12 -1
  320. package/dist/jsx/fields/Select/shouldInlineChoices.mjs.map +1 -1
  321. package/dist/jsx/fields/Select/shouldInlineChoices.native.js +15 -1
  322. package/dist/jsx/fields/Select/shouldInlineChoices.native.js.map +1 -1
  323. package/dist/jsx/fields/Slider/index.mjs +96 -4
  324. package/dist/jsx/fields/Slider/index.mjs.map +1 -1
  325. package/dist/jsx/fields/Slider/index.native.js +103 -5
  326. package/dist/jsx/fields/Slider/index.native.js.map +1 -1
  327. package/dist/jsx/fields/Switch/index.mjs +71 -1
  328. package/dist/jsx/fields/Switch/index.mjs.map +1 -1
  329. package/dist/jsx/fields/Switch/index.native.js +72 -1
  330. package/dist/jsx/fields/Switch/index.native.js.map +1 -1
  331. package/dist/jsx/fields/ToggleGroup/index.mjs +67 -1
  332. package/dist/jsx/fields/ToggleGroup/index.mjs.map +1 -1
  333. package/dist/jsx/fields/ToggleGroup/index.native.js +75 -1
  334. package/dist/jsx/fields/ToggleGroup/index.native.js.map +1 -1
  335. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.mjs +56 -49
  336. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.mjs.map +1 -1
  337. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.native.js +64 -49
  338. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  339. package/dist/jsx/fields/nativeDateTime/sheetKeyboard.mjs +21 -0
  340. package/dist/jsx/fields/nativeDateTime/sheetKeyboard.mjs.map +1 -0
  341. package/dist/jsx/fields/nativeDateTime/sheetKeyboard.native.js +57 -0
  342. package/dist/jsx/fields/nativeDateTime/sheetKeyboard.native.js.map +1 -0
  343. package/dist/jsx/index.js +5 -2
  344. package/dist/jsx/index.js.map +1 -1
  345. package/dist/jsx/index.mjs +5 -2
  346. package/dist/jsx/index.mjs.map +1 -1
  347. package/dist/jsx/index.native.js +18 -0
  348. package/dist/jsx/index.native.js.map +1 -1
  349. package/dist/jsx/shared/colorRamps.mjs +0 -8
  350. package/dist/jsx/shared/colorRamps.mjs.map +1 -1
  351. package/dist/jsx/shared/colorRamps.native.js +0 -8
  352. package/dist/jsx/shared/colorRamps.native.js.map +1 -1
  353. package/dist/jsx/shared/overlaySizeClass.mjs +14 -0
  354. package/dist/jsx/shared/overlaySizeClass.mjs.map +1 -0
  355. package/dist/jsx/shared/overlaySizeClass.native.js +45 -0
  356. package/dist/jsx/shared/overlaySizeClass.native.js.map +1 -0
  357. package/dist/jsx/shared/sheetNavigation.mjs +47 -0
  358. package/dist/jsx/shared/sheetNavigation.mjs.map +1 -0
  359. package/dist/jsx/shared/sheetNavigation.native.js +129 -0
  360. package/dist/jsx/shared/sheetNavigation.native.js.map +1 -0
  361. package/dist/jsx/shared/systemControlModules.gnome.mjs +8 -0
  362. package/dist/jsx/shared/systemControlModules.gnome.mjs.map +1 -0
  363. package/dist/jsx/shared/systemControlModules.gnome.native.js +37 -0
  364. package/dist/jsx/shared/systemControlModules.gnome.native.js.map +1 -0
  365. package/dist/jsx/shared/systemControlModules.mjs +8 -0
  366. package/dist/jsx/shared/systemControlModules.mjs.map +1 -0
  367. package/dist/jsx/shared/systemControlModules.native.js +77 -0
  368. package/dist/jsx/shared/systemControlModules.native.js.map +1 -0
  369. package/dist/jsx/shared/systemControls.mjs +19 -0
  370. package/dist/jsx/shared/systemControls.mjs.map +1 -0
  371. package/dist/jsx/shared/systemControls.native.js +51 -0
  372. package/dist/jsx/shared/systemControls.native.js.map +1 -0
  373. package/dist/jsx/standardActions.mjs +91 -0
  374. package/dist/jsx/standardActions.mjs.map +1 -0
  375. package/dist/jsx/standardActions.native.js +120 -0
  376. package/dist/jsx/standardActions.native.js.map +1 -0
  377. package/package.json +20 -8
  378. package/src/AdaptivePopup/AdaptivePopup.spec.tsx +44 -0
  379. package/src/AdaptivePopup/AdaptivePopup.stories.tsx +12 -32
  380. package/src/AdaptivePopup/index.tsx +65 -13
  381. package/src/Button/Button.disabledGlyph.spec.tsx +111 -0
  382. package/src/Button/Button.iconButton.spec.tsx +279 -0
  383. package/src/Button/Button.stories.tsx +59 -3
  384. package/src/Button/glass.native.ts +38 -0
  385. package/src/Button/glass.ts +18 -0
  386. package/src/Button/index.tsx +272 -40
  387. package/src/ContextualSaveBar/ContextualSaveBar.spec.tsx +3 -1
  388. package/src/ContextualSaveBar/ContextualSaveBar.stories.tsx +2 -2
  389. package/src/ContextualSaveBar/index.tsx +7 -10
  390. package/src/ControlGroup/ControlGroup.stories.tsx +3 -2
  391. package/src/DescriptionList/index.tsx +0 -1
  392. package/src/ErrorSummary.stories.tsx +2 -1
  393. package/src/FieldLayout.stories.tsx +3 -2
  394. package/src/FloatingPanel/FloatingPanel.menuFace.native.spec.tsx +73 -3
  395. package/src/FloatingPanel/FloatingPanel.regularWidth.native.spec.tsx +193 -0
  396. package/src/FloatingPanel/FloatingPanel.stories.tsx +6 -10
  397. package/src/FloatingPanel/RegularPanel.tsx +159 -0
  398. package/src/FloatingPanel/compactFace.spec.ts +24 -1
  399. package/src/FloatingPanel/compactFace.ts +16 -0
  400. package/src/FloatingPanel/containingBlock.ts +32 -0
  401. package/src/FloatingPanel/index.native.tsx +80 -35
  402. package/src/FloatingPanel/index.tsx +1 -33
  403. package/src/FloatingPanel/pointAnchor.spec.ts +29 -0
  404. package/src/FloatingPanel/pointAnchor.ts +30 -0
  405. package/src/FloatingPanel/regularPlacement.spec.ts +65 -0
  406. package/src/FloatingPanel/regularPlacement.ts +40 -0
  407. package/src/Form/Form.stories.tsx +6 -5
  408. package/src/errorSummaryStories.spec.tsx +4 -4
  409. package/src/fields/Barcode/BarcodeScanner.native.tsx +10 -9
  410. package/src/fields/Barcode/BarcodeScanner.tsx +10 -9
  411. package/src/fields/Checkbox/Checkbox.stories.tsx +3 -3
  412. package/src/fields/Checkbox/CheckboxGroup.stories.tsx +2 -2
  413. package/src/fields/ColorPicker/ColorPicker.stories.tsx +2 -2
  414. package/src/fields/Combobox/Combobox.regularWidth.native.spec.tsx +94 -0
  415. package/src/fields/Combobox/Combobox.stories.tsx +2 -2
  416. package/src/fields/Combobox/index.tsx +3 -1
  417. package/src/fields/DatePicker/DatePicker.stories.tsx +2 -1
  418. package/src/fields/DatePicker/DateRangePicker.stories.tsx +2 -2
  419. package/src/fields/DatePicker/DatetimePicker.stories.tsx +2 -1
  420. package/src/fields/DatePicker/MonthPicker.stories.tsx +2 -2
  421. package/src/fields/DatePicker/MultiDatePicker.stories.tsx +2 -2
  422. package/src/fields/FileUpload/FileUpload.spec.tsx +11 -6
  423. package/src/fields/FileUpload/FileUpload.stories.tsx +2 -2
  424. package/src/fields/FileUpload/index.tsx +101 -77
  425. package/src/fields/Geolocation/index.tsx +12 -7
  426. package/src/fields/ImageField/ImageField.spec.tsx +5 -5
  427. package/src/fields/ImageField/ImageField.stories.tsx +2 -2
  428. package/src/fields/ImageField/index.tsx +6 -9
  429. package/src/fields/Input/Input.formName.spec.tsx +53 -0
  430. package/src/fields/Input/Input.stories.tsx +2 -2
  431. package/src/fields/Input/index.tsx +6 -1
  432. package/src/fields/MentionInput/MentionInput.stories.tsx +2 -1
  433. package/src/fields/Progress/Progress.stories.tsx +2 -1
  434. package/src/fields/RadioGroup/RadioGroup.stories.tsx +2 -1
  435. package/src/fields/Select/InlineChoices.tsx +6 -3
  436. package/src/fields/Select/SheetPickerRow.tsx +160 -0
  437. package/src/fields/Select/index.tsx +65 -4
  438. package/src/fields/Select/shouldInlineChoices.spec.ts +21 -1
  439. package/src/fields/Select/shouldInlineChoices.ts +26 -0
  440. package/src/fields/Signature/Signature.stories.tsx +2 -2
  441. package/src/fields/Slider/Slider.system.native.spec.tsx +168 -0
  442. package/src/fields/Slider/index.tsx +166 -30
  443. package/src/fields/Stepper/Stepper.stories.tsx +2 -2
  444. package/src/fields/Switch/Switch.system.native.spec.tsx +162 -0
  445. package/src/fields/Switch/index.tsx +98 -0
  446. package/src/fields/TextArea/TextArea.stories.tsx +2 -2
  447. package/src/fields/ToggleGroup/ToggleGroup.stories.tsx +2 -2
  448. package/src/fields/ToggleGroup/ToggleGroup.system.native.spec.tsx +192 -0
  449. package/src/fields/ToggleGroup/index.tsx +111 -0
  450. package/src/fields/nativeDateTime/OsDateTimeSheet.presentation.spec.tsx +168 -0
  451. package/src/fields/nativeDateTime/OsDateTimeSheet.tsx +60 -30
  452. package/src/fields/nativeDateTime/sheetKeyboard.spec.ts +60 -0
  453. package/src/fields/nativeDateTime/sheetKeyboard.ts +45 -0
  454. package/src/index.ts +25 -2
  455. package/src/shared/colorRamps.ts +1 -11
  456. package/src/shared/overlaySizeClass.spec.ts +27 -0
  457. package/src/shared/overlaySizeClass.ts +36 -0
  458. package/src/shared/sheetNavigation.ts +82 -0
  459. package/src/shared/systemControlModules.gnome.ts +10 -0
  460. package/src/shared/systemControlModules.native.spec.ts +52 -0
  461. package/src/shared/systemControlModules.native.ts +66 -0
  462. package/src/shared/systemControlModules.ts +10 -0
  463. package/src/shared/systemControls.ts +70 -0
  464. package/src/standardActions.ts +96 -0
  465. package/types/AdaptivePopup/index.d.ts +13 -1
  466. package/types/AdaptivePopup/index.d.ts.map +1 -1
  467. package/types/Button/glass.d.ts +15 -0
  468. package/types/Button/glass.d.ts.map +1 -0
  469. package/types/Button/glass.native.d.ts +11 -0
  470. package/types/Button/glass.native.d.ts.map +1 -0
  471. package/types/Button/index.d.ts +45 -1
  472. package/types/Button/index.d.ts.map +1 -1
  473. package/types/ContextualSaveBar/index.d.ts.map +1 -1
  474. package/types/DescriptionList/index.d.ts.map +1 -1
  475. package/types/FloatingPanel/RegularPanel.d.ts +29 -0
  476. package/types/FloatingPanel/RegularPanel.d.ts.map +1 -0
  477. package/types/FloatingPanel/compactFace.d.ts +12 -0
  478. package/types/FloatingPanel/compactFace.d.ts.map +1 -1
  479. package/types/FloatingPanel/containingBlock.d.ts +14 -0
  480. package/types/FloatingPanel/containingBlock.d.ts.map +1 -0
  481. package/types/FloatingPanel/index.d.ts.map +1 -1
  482. package/types/FloatingPanel/index.native.d.ts +6 -1
  483. package/types/FloatingPanel/index.native.d.ts.map +1 -1
  484. package/types/FloatingPanel/pointAnchor.d.ts +12 -0
  485. package/types/FloatingPanel/pointAnchor.d.ts.map +1 -1
  486. package/types/FloatingPanel/regularPlacement.d.ts +20 -0
  487. package/types/FloatingPanel/regularPlacement.d.ts.map +1 -0
  488. package/types/fields/Barcode/BarcodeScanner.d.ts.map +1 -1
  489. package/types/fields/Barcode/BarcodeScanner.native.d.ts.map +1 -1
  490. package/types/fields/Combobox/index.d.ts.map +1 -1
  491. package/types/fields/FileUpload/index.d.ts.map +1 -1
  492. package/types/fields/Geolocation/index.d.ts.map +1 -1
  493. package/types/fields/ImageField/index.d.ts.map +1 -1
  494. package/types/fields/Input/index.d.ts.map +1 -1
  495. package/types/fields/Select/InlineChoices.d.ts.map +1 -1
  496. package/types/fields/Select/SheetPickerRow.d.ts +23 -0
  497. package/types/fields/Select/SheetPickerRow.d.ts.map +1 -0
  498. package/types/fields/Select/index.d.ts.map +1 -1
  499. package/types/fields/Select/shouldInlineChoices.d.ts +15 -0
  500. package/types/fields/Select/shouldInlineChoices.d.ts.map +1 -1
  501. package/types/fields/Slider/index.d.ts +7 -1
  502. package/types/fields/Slider/index.d.ts.map +1 -1
  503. package/types/fields/Switch/index.d.ts +7 -1
  504. package/types/fields/Switch/index.d.ts.map +1 -1
  505. package/types/fields/ToggleGroup/index.d.ts +8 -1
  506. package/types/fields/ToggleGroup/index.d.ts.map +1 -1
  507. package/types/fields/nativeDateTime/OsDateTimeSheet.d.ts.map +1 -1
  508. package/types/fields/nativeDateTime/sheetKeyboard.d.ts +20 -0
  509. package/types/fields/nativeDateTime/sheetKeyboard.d.ts.map +1 -0
  510. package/types/index.d.ts +8 -2
  511. package/types/index.d.ts.map +1 -1
  512. package/types/shared/colorRamps.d.ts +1 -11
  513. package/types/shared/colorRamps.d.ts.map +1 -1
  514. package/types/shared/overlaySizeClass.d.ts +24 -0
  515. package/types/shared/overlaySizeClass.d.ts.map +1 -0
  516. package/types/shared/sheetNavigation.d.ts +31 -0
  517. package/types/shared/sheetNavigation.d.ts.map +1 -0
  518. package/types/shared/systemControlModules.d.ts +5 -0
  519. package/types/shared/systemControlModules.d.ts.map +1 -0
  520. package/types/shared/systemControlModules.gnome.d.ts +5 -0
  521. package/types/shared/systemControlModules.gnome.d.ts.map +1 -0
  522. package/types/shared/systemControlModules.native.d.ts +20 -0
  523. package/types/shared/systemControlModules.native.d.ts.map +1 -0
  524. package/types/shared/systemControls.d.ts +53 -0
  525. package/types/shared/systemControls.d.ts.map +1 -0
  526. package/types/standardActions.d.ts +24 -0
  527. 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
+ }