@multiplatform.one/forms 7.34.4 → 7.36.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 (1201) hide show
  1. package/dist/cjs/AdaptivePopup/index.cjs +26 -43
  2. package/dist/cjs/AdaptivePopup/index.native.js +26 -47
  3. package/dist/cjs/AdaptivePopup/index.native.js.map +1 -1
  4. package/dist/cjs/Button/index.cjs +96 -61
  5. package/dist/cjs/Button/index.native.js +104 -64
  6. package/dist/cjs/Button/index.native.js.map +1 -1
  7. package/dist/cjs/Chip/index.cjs +9 -3
  8. package/dist/cjs/Chip/index.native.js +9 -3
  9. package/dist/cjs/Chip/index.native.js.map +1 -1
  10. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.cjs +6 -31
  11. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js +6 -31
  12. package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
  13. package/dist/cjs/ContextualSaveBar/index.cjs +5 -4
  14. package/dist/cjs/ContextualSaveBar/index.native.js +5 -4
  15. package/dist/cjs/ContextualSaveBar/index.native.js.map +1 -1
  16. package/dist/cjs/ControlGroup/index.cjs +12 -11
  17. package/dist/cjs/ControlGroup/index.native.js +12 -11
  18. package/dist/cjs/ControlGroup/index.native.js.map +1 -1
  19. package/dist/cjs/DescriptionList/index.cjs +17 -21
  20. package/dist/cjs/DescriptionList/index.native.js +17 -21
  21. package/dist/cjs/DescriptionList/index.native.js.map +1 -1
  22. package/dist/cjs/FieldDisplay/index.cjs +5 -8
  23. package/dist/cjs/FieldDisplay/index.native.js +6 -9
  24. package/dist/cjs/FieldDisplay/index.native.js.map +1 -1
  25. package/dist/cjs/FieldGroup.cjs +4 -15
  26. package/dist/cjs/FieldGroup.native.js +4 -15
  27. package/dist/cjs/FieldGroup.native.js.map +1 -1
  28. package/dist/cjs/FloatingPanel/index.cjs +80 -22
  29. package/dist/cjs/FloatingPanel/index.native.js +44 -20
  30. package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
  31. package/dist/cjs/FloatingPanel/useFloatingPanel.cjs +31 -17
  32. package/dist/cjs/FloatingPanel/useFloatingPanel.native.js +36 -16
  33. package/dist/cjs/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  34. package/dist/cjs/Form/index.cjs +9 -13
  35. package/dist/cjs/Form/index.native.js +12 -13
  36. package/dist/cjs/Form/index.native.js.map +1 -1
  37. package/dist/cjs/FormGrid.cjs +7 -16
  38. package/dist/cjs/FormGrid.native.js +7 -16
  39. package/dist/cjs/FormGrid.native.js.map +1 -1
  40. package/dist/cjs/FormSection.cjs +4 -9
  41. package/dist/cjs/FormSection.native.js +4 -9
  42. package/dist/cjs/FormSection.native.js.map +1 -1
  43. package/dist/cjs/InputParts/index.cjs +53 -71
  44. package/dist/cjs/InputParts/index.native.js +54 -73
  45. package/dist/cjs/InputParts/index.native.js.map +1 -1
  46. package/dist/cjs/Label/index.cjs +0 -1
  47. package/dist/cjs/Label/index.native.js +0 -1
  48. package/dist/cjs/Label/index.native.js.map +1 -1
  49. package/dist/cjs/MediaPicker/base64.cjs +45 -0
  50. package/dist/cjs/MediaPicker/base64.native.js +48 -0
  51. package/dist/cjs/MediaPicker/base64.native.js.map +1 -0
  52. package/dist/cjs/MediaPicker/payload.cjs +61 -0
  53. package/dist/cjs/MediaPicker/payload.native.js +64 -0
  54. package/dist/cjs/MediaPicker/payload.native.js.map +1 -0
  55. package/dist/cjs/MediaPicker/pickMedia.cjs +134 -0
  56. package/dist/cjs/MediaPicker/pickMedia.native.js +97 -0
  57. package/dist/cjs/MediaPicker/pickMedia.native.js.map +1 -0
  58. package/dist/cjs/MediaPicker/types.cjs +39 -0
  59. package/dist/cjs/MediaPicker/types.native.js +162 -0
  60. package/dist/cjs/MediaPicker/types.native.js.map +1 -0
  61. package/dist/cjs/MediaPicker/useMediaPicker.cjs +57 -0
  62. package/dist/cjs/MediaPicker/useMediaPicker.native.js +61 -0
  63. package/dist/cjs/MediaPicker/useMediaPicker.native.js.map +1 -0
  64. package/dist/cjs/Skeleton/index.cjs +124 -42
  65. package/dist/cjs/Skeleton/index.native.js +128 -50
  66. package/dist/cjs/Skeleton/index.native.js.map +1 -1
  67. package/dist/cjs/Spinner/index.cjs +2 -2
  68. package/dist/cjs/Spinner/index.native.js +2 -2
  69. package/dist/cjs/Spinner/index.native.js.map +1 -1
  70. package/dist/cjs/Wheel/index.cjs +10 -20
  71. package/dist/cjs/Wheel/index.native.js +12 -22
  72. package/dist/cjs/Wheel/index.native.js.map +1 -1
  73. package/dist/cjs/fieldLayout.cjs +18 -7
  74. package/dist/cjs/fieldLayout.native.js +20 -7
  75. package/dist/cjs/fieldLayout.native.js.map +1 -1
  76. package/dist/cjs/fields/Barcode/BarcodeScanner.cjs +2 -3
  77. package/dist/cjs/fields/Barcode/BarcodeScanner.native.js +2 -3
  78. package/dist/cjs/fields/Barcode/BarcodeScanner.native.js.map +1 -1
  79. package/dist/cjs/fields/Barcode/index.cjs +7 -11
  80. package/dist/cjs/fields/Barcode/index.native.js +7 -11
  81. package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
  82. package/dist/cjs/fields/Barcode/scannerTypes.cjs +3 -2
  83. package/dist/cjs/fields/Barcode/scannerTypes.native.js +3 -2
  84. package/dist/cjs/fields/Barcode/scannerTypes.native.js.map +1 -1
  85. package/dist/cjs/fields/Checkbox/Checkbox.cjs +10 -18
  86. package/dist/cjs/fields/Checkbox/Checkbox.native.js +10 -18
  87. package/dist/cjs/fields/Checkbox/Checkbox.native.js.map +1 -1
  88. package/dist/cjs/fields/Checkbox/CheckboxBox.cjs +4 -2
  89. package/dist/cjs/fields/Checkbox/CheckboxBox.native.js +4 -2
  90. package/dist/cjs/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  91. package/dist/cjs/fields/Checkbox/CheckboxCard.cjs +11 -21
  92. package/dist/cjs/fields/Checkbox/CheckboxCard.native.js +11 -22
  93. package/dist/cjs/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  94. package/dist/cjs/fields/Checkbox/CheckboxGroup.cjs +3 -6
  95. package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js +4 -11
  96. package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  97. package/dist/cjs/fields/Checkbox/index.cjs +12 -11
  98. package/dist/cjs/fields/Checkbox/index.native.js +12 -11
  99. package/dist/cjs/fields/Checkbox/index.native.js.map +1 -1
  100. package/dist/cjs/fields/ColorPicker/index.cjs +14 -13
  101. package/dist/cjs/fields/ColorPicker/index.native.js +16 -15
  102. package/dist/cjs/fields/ColorPicker/index.native.js.map +1 -1
  103. package/dist/cjs/fields/ColorPicker/parts.cjs +8 -12
  104. package/dist/cjs/fields/ColorPicker/parts.native.js +10 -14
  105. package/dist/cjs/fields/ColorPicker/parts.native.js.map +1 -1
  106. package/dist/cjs/fields/Combobox/index.cjs +16 -18
  107. package/dist/cjs/fields/Combobox/index.native.js +17 -19
  108. package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
  109. package/dist/cjs/fields/DatePicker/Calendar.cjs +3 -2
  110. package/dist/cjs/fields/DatePicker/Calendar.native.js +3 -2
  111. package/dist/cjs/fields/DatePicker/Calendar.native.js.map +1 -1
  112. package/dist/cjs/fields/DatePicker/DateRangePicker.cjs +8 -5
  113. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js +8 -5
  114. package/dist/cjs/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  115. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.cjs +7 -4
  116. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js +7 -4
  117. package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  118. package/dist/cjs/fields/DatePicker/DatetimePicker.native.js +7 -4
  119. package/dist/cjs/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  120. package/dist/cjs/fields/DatePicker/MonthPicker.cjs +11 -7
  121. package/dist/cjs/fields/DatePicker/MonthPicker.native.js +11 -7
  122. package/dist/cjs/fields/DatePicker/MonthPicker.native.js.map +1 -1
  123. package/dist/cjs/fields/DatePicker/MultiDatePicker.cjs +7 -4
  124. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js +7 -4
  125. package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  126. package/dist/cjs/fields/DatePicker/catalog.cjs +7 -4
  127. package/dist/cjs/fields/DatePicker/catalog.native.js +7 -4
  128. package/dist/cjs/fields/DatePicker/catalog.native.js.map +1 -1
  129. package/dist/cjs/fields/DatePicker/index.native.js +7 -4
  130. package/dist/cjs/fields/DatePicker/index.native.js.map +1 -1
  131. package/dist/cjs/fields/DatePicker/parts.cjs +19 -24
  132. package/dist/cjs/fields/DatePicker/parts.native.js +19 -24
  133. package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
  134. package/dist/cjs/fields/Duration/index.cjs +5 -6
  135. package/dist/cjs/fields/Duration/index.native.js +5 -6
  136. package/dist/cjs/fields/Duration/index.native.js.map +1 -1
  137. package/dist/cjs/fields/FileUpload/index.cjs +55 -13
  138. package/dist/cjs/fields/FileUpload/index.native.js +57 -13
  139. package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
  140. package/dist/cjs/fields/Geolocation/index.cjs +4 -13
  141. package/dist/cjs/fields/Geolocation/index.native.js +4 -13
  142. package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
  143. package/dist/cjs/fields/Icon/index.cjs +6 -8
  144. package/dist/cjs/fields/Icon/index.native.js +7 -10
  145. package/dist/cjs/fields/Icon/index.native.js.map +1 -1
  146. package/dist/cjs/fields/ImageField/index.cjs +8 -9
  147. package/dist/cjs/fields/ImageField/index.native.js +8 -9
  148. package/dist/cjs/fields/ImageField/index.native.js.map +1 -1
  149. package/dist/cjs/fields/Input/index.cjs +5 -5
  150. package/dist/cjs/fields/Input/index.native.js +5 -5
  151. package/dist/cjs/fields/Input/index.native.js.map +1 -1
  152. package/dist/cjs/fields/MentionInput/index.cjs +3 -5
  153. package/dist/cjs/fields/MentionInput/index.native.js +3 -5
  154. package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
  155. package/dist/cjs/fields/OTPInput/index.cjs +2 -4
  156. package/dist/cjs/fields/OTPInput/index.native.js +2 -4
  157. package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
  158. package/dist/cjs/fields/PhoneInput/index.cjs +1 -3
  159. package/dist/cjs/fields/PhoneInput/index.native.js +1 -3
  160. package/dist/cjs/fields/PhoneInput/index.native.js.map +1 -1
  161. package/dist/cjs/fields/Progress/index.cjs +15 -20
  162. package/dist/cjs/fields/Progress/index.native.js +15 -20
  163. package/dist/cjs/fields/Progress/index.native.js.map +1 -1
  164. package/dist/cjs/fields/RadioGroup/index.cjs +7 -10
  165. package/dist/cjs/fields/RadioGroup/index.native.js +8 -15
  166. package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
  167. package/dist/cjs/fields/Rating/index.cjs +17 -29
  168. package/dist/cjs/fields/Rating/index.native.js +18 -30
  169. package/dist/cjs/fields/Rating/index.native.js.map +1 -1
  170. package/dist/cjs/fields/SearchInput/index.cjs +18 -11
  171. package/dist/cjs/fields/SearchInput/index.native.js +21 -9
  172. package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
  173. package/dist/cjs/fields/Select/index.cjs +12 -14
  174. package/dist/cjs/fields/Select/index.native.js +15 -17
  175. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  176. package/dist/cjs/fields/Signature/index.cjs +3 -5
  177. package/dist/cjs/fields/Signature/index.native.js +3 -5
  178. package/dist/cjs/fields/Signature/index.native.js.map +1 -1
  179. package/dist/cjs/fields/Slider/index.cjs +60 -44
  180. package/dist/cjs/fields/Slider/index.native.js +76 -59
  181. package/dist/cjs/fields/Slider/index.native.js.map +1 -1
  182. package/dist/cjs/fields/Stepper/index.cjs +48 -27
  183. package/dist/cjs/fields/Stepper/index.native.js +53 -28
  184. package/dist/cjs/fields/Stepper/index.native.js.map +1 -1
  185. package/dist/cjs/fields/Switch/footprint.cjs +9 -7
  186. package/dist/cjs/fields/Switch/footprint.native.js +9 -7
  187. package/dist/cjs/fields/Switch/footprint.native.js.map +1 -1
  188. package/dist/cjs/fields/Switch/index.cjs +87 -109
  189. package/dist/cjs/fields/Switch/index.native.js +92 -112
  190. package/dist/cjs/fields/Switch/index.native.js.map +1 -1
  191. package/dist/cjs/fields/TextArea/index.cjs +5 -8
  192. package/dist/cjs/fields/TextArea/index.native.js +5 -8
  193. package/dist/cjs/fields/TextArea/index.native.js.map +1 -1
  194. package/dist/cjs/fields/TimePicker/catalog.cjs +8 -5
  195. package/dist/cjs/fields/TimePicker/catalog.native.js +8 -5
  196. package/dist/cjs/fields/TimePicker/catalog.native.js.map +1 -1
  197. package/dist/cjs/fields/TimePicker/index.native.js +8 -5
  198. package/dist/cjs/fields/TimePicker/index.native.js.map +1 -1
  199. package/dist/cjs/fields/TimePicker/parts.cjs +1 -5
  200. package/dist/cjs/fields/TimePicker/parts.native.js +1 -5
  201. package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -1
  202. package/dist/cjs/fields/TimeRangeScrubber/index.cjs +17 -15
  203. package/dist/cjs/fields/TimeRangeScrubber/index.native.js +17 -15
  204. package/dist/cjs/fields/TimeRangeScrubber/index.native.js.map +1 -1
  205. package/dist/cjs/fields/ToggleGroup/index.cjs +24 -34
  206. package/dist/cjs/fields/ToggleGroup/index.native.js +26 -36
  207. package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
  208. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.cjs +4 -4
  209. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js +5 -5
  210. package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  211. package/dist/cjs/formSpacing.cjs +1 -1
  212. package/dist/cjs/formSpacing.native.js +1 -1
  213. package/dist/cjs/formSpacing.native.js.map +1 -1
  214. package/dist/cjs/index.cjs +8 -1
  215. package/dist/cjs/index.native.js +7 -0
  216. package/dist/cjs/index.native.js.map +1 -1
  217. package/dist/cjs/shared/TimeColumn.cjs +1 -3
  218. package/dist/cjs/shared/TimeColumn.native.js +1 -3
  219. package/dist/cjs/shared/TimeColumn.native.js.map +1 -1
  220. package/dist/cjs/shared/colorRamps.cjs +17 -15
  221. package/dist/cjs/shared/colorRamps.native.js +17 -15
  222. package/dist/cjs/shared/colorRamps.native.js.map +1 -1
  223. package/dist/cjs/shared/floatingList.cjs +4 -6
  224. package/dist/cjs/shared/floatingList.native.js +4 -6
  225. package/dist/cjs/shared/floatingList.native.js.map +1 -1
  226. package/dist/cjs/shared/focusManagement.cjs +15 -5
  227. package/dist/cjs/shared/focusManagement.native.js +15 -5
  228. package/dist/cjs/shared/focusManagement.native.js.map +1 -1
  229. package/dist/cjs/shared/instantMotion.cjs +31 -0
  230. package/dist/cjs/shared/instantMotion.native.js +35 -0
  231. package/dist/cjs/shared/instantMotion.native.js.map +1 -0
  232. package/dist/cjs/shared/utils.cjs +11 -11
  233. package/dist/cjs/shared/utils.native.js +12 -12
  234. package/dist/cjs/shared/utils.native.js.map +1 -1
  235. package/dist/cjs/themedPrimitives.cjs +1 -1
  236. package/dist/cjs/themedPrimitives.native.js +1 -1
  237. package/dist/cjs/themedPrimitives.native.js.map +1 -1
  238. package/dist/esm/AdaptivePopup/index.mjs +22 -39
  239. package/dist/esm/AdaptivePopup/index.mjs.map +1 -1
  240. package/dist/esm/AdaptivePopup/index.native.js +22 -43
  241. package/dist/esm/AdaptivePopup/index.native.js.map +1 -1
  242. package/dist/esm/Button/index.mjs +76 -40
  243. package/dist/esm/Button/index.mjs.map +1 -1
  244. package/dist/esm/Button/index.native.js +84 -43
  245. package/dist/esm/Button/index.native.js.map +1 -1
  246. package/dist/esm/Chip/index.mjs +10 -4
  247. package/dist/esm/Chip/index.mjs.map +1 -1
  248. package/dist/esm/Chip/index.native.js +10 -4
  249. package/dist/esm/Chip/index.native.js.map +1 -1
  250. package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.mjs +3 -28
  251. package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.mjs.map +1 -1
  252. package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.native.js +3 -28
  253. package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
  254. package/dist/esm/ContextualSaveBar/index.mjs +3 -2
  255. package/dist/esm/ContextualSaveBar/index.mjs.map +1 -1
  256. package/dist/esm/ContextualSaveBar/index.native.js +3 -2
  257. package/dist/esm/ContextualSaveBar/index.native.js.map +1 -1
  258. package/dist/esm/ControlGroup/index.mjs +3 -2
  259. package/dist/esm/ControlGroup/index.mjs.map +1 -1
  260. package/dist/esm/ControlGroup/index.native.js +3 -2
  261. package/dist/esm/ControlGroup/index.native.js.map +1 -1
  262. package/dist/esm/DescriptionList/index.mjs +18 -22
  263. package/dist/esm/DescriptionList/index.mjs.map +1 -1
  264. package/dist/esm/DescriptionList/index.native.js +18 -22
  265. package/dist/esm/DescriptionList/index.native.js.map +1 -1
  266. package/dist/esm/FieldDisplay/index.mjs +6 -9
  267. package/dist/esm/FieldDisplay/index.mjs.map +1 -1
  268. package/dist/esm/FieldDisplay/index.native.js +7 -10
  269. package/dist/esm/FieldDisplay/index.native.js.map +1 -1
  270. package/dist/esm/FieldGroup.mjs +5 -16
  271. package/dist/esm/FieldGroup.mjs.map +1 -1
  272. package/dist/esm/FieldGroup.native.js +5 -16
  273. package/dist/esm/FieldGroup.native.js.map +1 -1
  274. package/dist/esm/FloatingPanel/index.mjs +78 -20
  275. package/dist/esm/FloatingPanel/index.mjs.map +1 -1
  276. package/dist/esm/FloatingPanel/index.native.js +42 -18
  277. package/dist/esm/FloatingPanel/index.native.js.map +1 -1
  278. package/dist/esm/FloatingPanel/useFloatingPanel.mjs +26 -14
  279. package/dist/esm/FloatingPanel/useFloatingPanel.mjs.map +1 -1
  280. package/dist/esm/FloatingPanel/useFloatingPanel.native.js +31 -13
  281. package/dist/esm/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  282. package/dist/esm/Form/index.mjs +10 -14
  283. package/dist/esm/Form/index.mjs.map +1 -1
  284. package/dist/esm/Form/index.native.js +13 -14
  285. package/dist/esm/Form/index.native.js.map +1 -1
  286. package/dist/esm/FormGrid.mjs +7 -16
  287. package/dist/esm/FormGrid.mjs.map +1 -1
  288. package/dist/esm/FormGrid.native.js +7 -16
  289. package/dist/esm/FormGrid.native.js.map +1 -1
  290. package/dist/esm/FormSection.mjs +4 -9
  291. package/dist/esm/FormSection.mjs.map +1 -1
  292. package/dist/esm/FormSection.native.js +4 -9
  293. package/dist/esm/FormSection.native.js.map +1 -1
  294. package/dist/esm/InputParts/index.mjs +13 -30
  295. package/dist/esm/InputParts/index.mjs.map +1 -1
  296. package/dist/esm/InputParts/index.native.js +14 -32
  297. package/dist/esm/InputParts/index.native.js.map +1 -1
  298. package/dist/esm/Label/index.mjs +0 -1
  299. package/dist/esm/Label/index.mjs.map +1 -1
  300. package/dist/esm/Label/index.native.js +0 -1
  301. package/dist/esm/Label/index.native.js.map +1 -1
  302. package/dist/esm/MediaPicker/base64.mjs +20 -0
  303. package/dist/esm/MediaPicker/base64.mjs.map +1 -0
  304. package/dist/esm/MediaPicker/base64.native.js +20 -0
  305. package/dist/esm/MediaPicker/base64.native.js.map +1 -0
  306. package/dist/esm/MediaPicker/payload.mjs +35 -0
  307. package/dist/esm/MediaPicker/payload.mjs.map +1 -0
  308. package/dist/esm/MediaPicker/payload.native.js +35 -0
  309. package/dist/esm/MediaPicker/payload.native.js.map +1 -0
  310. package/dist/esm/MediaPicker/pickMedia.mjs +109 -0
  311. package/dist/esm/MediaPicker/pickMedia.mjs.map +1 -0
  312. package/dist/esm/MediaPicker/pickMedia.native.js +69 -0
  313. package/dist/esm/MediaPicker/pickMedia.native.js.map +1 -0
  314. package/dist/esm/MediaPicker/types.mjs +14 -0
  315. package/dist/esm/MediaPicker/types.mjs.map +1 -0
  316. package/dist/esm/MediaPicker/types.native.js +134 -0
  317. package/dist/esm/MediaPicker/types.native.js.map +1 -0
  318. package/dist/esm/MediaPicker/useMediaPicker.mjs +32 -0
  319. package/dist/esm/MediaPicker/useMediaPicker.mjs.map +1 -0
  320. package/dist/esm/MediaPicker/useMediaPicker.native.js +33 -0
  321. package/dist/esm/MediaPicker/useMediaPicker.native.js.map +1 -0
  322. package/dist/esm/Skeleton/index.mjs +123 -42
  323. package/dist/esm/Skeleton/index.mjs.map +1 -1
  324. package/dist/esm/Skeleton/index.native.js +128 -51
  325. package/dist/esm/Skeleton/index.native.js.map +1 -1
  326. package/dist/esm/Spinner/index.mjs +2 -2
  327. package/dist/esm/Spinner/index.mjs.map +1 -1
  328. package/dist/esm/Spinner/index.native.js +2 -2
  329. package/dist/esm/Spinner/index.native.js.map +1 -1
  330. package/dist/esm/Wheel/index.mjs +9 -19
  331. package/dist/esm/Wheel/index.mjs.map +1 -1
  332. package/dist/esm/Wheel/index.native.js +11 -21
  333. package/dist/esm/Wheel/index.native.js.map +1 -1
  334. package/dist/esm/fieldLayout.mjs +18 -7
  335. package/dist/esm/fieldLayout.mjs.map +1 -1
  336. package/dist/esm/fieldLayout.native.js +20 -7
  337. package/dist/esm/fieldLayout.native.js.map +1 -1
  338. package/dist/esm/fields/Barcode/BarcodeScanner.mjs +2 -3
  339. package/dist/esm/fields/Barcode/BarcodeScanner.mjs.map +1 -1
  340. package/dist/esm/fields/Barcode/BarcodeScanner.native.js +2 -3
  341. package/dist/esm/fields/Barcode/BarcodeScanner.native.js.map +1 -1
  342. package/dist/esm/fields/Barcode/index.mjs +8 -12
  343. package/dist/esm/fields/Barcode/index.mjs.map +1 -1
  344. package/dist/esm/fields/Barcode/index.native.js +8 -12
  345. package/dist/esm/fields/Barcode/index.native.js.map +1 -1
  346. package/dist/esm/fields/Barcode/scannerTypes.mjs +3 -2
  347. package/dist/esm/fields/Barcode/scannerTypes.mjs.map +1 -1
  348. package/dist/esm/fields/Barcode/scannerTypes.native.js +3 -2
  349. package/dist/esm/fields/Barcode/scannerTypes.native.js.map +1 -1
  350. package/dist/esm/fields/Checkbox/Checkbox.mjs +11 -19
  351. package/dist/esm/fields/Checkbox/Checkbox.mjs.map +1 -1
  352. package/dist/esm/fields/Checkbox/Checkbox.native.js +11 -19
  353. package/dist/esm/fields/Checkbox/Checkbox.native.js.map +1 -1
  354. package/dist/esm/fields/Checkbox/CheckboxBox.mjs +4 -2
  355. package/dist/esm/fields/Checkbox/CheckboxBox.mjs.map +1 -1
  356. package/dist/esm/fields/Checkbox/CheckboxBox.native.js +4 -2
  357. package/dist/esm/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  358. package/dist/esm/fields/Checkbox/CheckboxCard.mjs +11 -21
  359. package/dist/esm/fields/Checkbox/CheckboxCard.mjs.map +1 -1
  360. package/dist/esm/fields/Checkbox/CheckboxCard.native.js +11 -22
  361. package/dist/esm/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  362. package/dist/esm/fields/Checkbox/CheckboxGroup.mjs +3 -6
  363. package/dist/esm/fields/Checkbox/CheckboxGroup.mjs.map +1 -1
  364. package/dist/esm/fields/Checkbox/CheckboxGroup.native.js +4 -11
  365. package/dist/esm/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  366. package/dist/esm/fields/Checkbox/index.mjs +4 -3
  367. package/dist/esm/fields/Checkbox/index.mjs.map +1 -1
  368. package/dist/esm/fields/Checkbox/index.native.js +4 -3
  369. package/dist/esm/fields/Checkbox/index.native.js.map +1 -1
  370. package/dist/esm/fields/ColorPicker/index.mjs +15 -14
  371. package/dist/esm/fields/ColorPicker/index.mjs.map +1 -1
  372. package/dist/esm/fields/ColorPicker/index.native.js +17 -16
  373. package/dist/esm/fields/ColorPicker/index.native.js.map +1 -1
  374. package/dist/esm/fields/ColorPicker/parts.mjs +9 -13
  375. package/dist/esm/fields/ColorPicker/parts.mjs.map +1 -1
  376. package/dist/esm/fields/ColorPicker/parts.native.js +11 -15
  377. package/dist/esm/fields/ColorPicker/parts.native.js.map +1 -1
  378. package/dist/esm/fields/Combobox/index.mjs +17 -19
  379. package/dist/esm/fields/Combobox/index.mjs.map +1 -1
  380. package/dist/esm/fields/Combobox/index.native.js +18 -20
  381. package/dist/esm/fields/Combobox/index.native.js.map +1 -1
  382. package/dist/esm/fields/DatePicker/Calendar.mjs +3 -2
  383. package/dist/esm/fields/DatePicker/Calendar.mjs.map +1 -1
  384. package/dist/esm/fields/DatePicker/Calendar.native.js +3 -2
  385. package/dist/esm/fields/DatePicker/Calendar.native.js.map +1 -1
  386. package/dist/esm/fields/DatePicker/DateRangePicker.mjs +8 -5
  387. package/dist/esm/fields/DatePicker/DateRangePicker.mjs.map +1 -1
  388. package/dist/esm/fields/DatePicker/DateRangePicker.native.js +8 -5
  389. package/dist/esm/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  390. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.mjs +7 -4
  391. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.mjs.map +1 -1
  392. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js +7 -4
  393. package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  394. package/dist/esm/fields/DatePicker/DatetimePicker.native.js +7 -4
  395. package/dist/esm/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  396. package/dist/esm/fields/DatePicker/MonthPicker.mjs +9 -5
  397. package/dist/esm/fields/DatePicker/MonthPicker.mjs.map +1 -1
  398. package/dist/esm/fields/DatePicker/MonthPicker.native.js +9 -5
  399. package/dist/esm/fields/DatePicker/MonthPicker.native.js.map +1 -1
  400. package/dist/esm/fields/DatePicker/MultiDatePicker.mjs +7 -4
  401. package/dist/esm/fields/DatePicker/MultiDatePicker.mjs.map +1 -1
  402. package/dist/esm/fields/DatePicker/MultiDatePicker.native.js +7 -4
  403. package/dist/esm/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  404. package/dist/esm/fields/DatePicker/catalog.mjs +7 -4
  405. package/dist/esm/fields/DatePicker/catalog.mjs.map +1 -1
  406. package/dist/esm/fields/DatePicker/catalog.native.js +7 -4
  407. package/dist/esm/fields/DatePicker/catalog.native.js.map +1 -1
  408. package/dist/esm/fields/DatePicker/index.native.js +7 -4
  409. package/dist/esm/fields/DatePicker/index.native.js.map +1 -1
  410. package/dist/esm/fields/DatePicker/parts.mjs +9 -14
  411. package/dist/esm/fields/DatePicker/parts.mjs.map +1 -1
  412. package/dist/esm/fields/DatePicker/parts.native.js +9 -14
  413. package/dist/esm/fields/DatePicker/parts.native.js.map +1 -1
  414. package/dist/esm/fields/Duration/index.mjs +5 -6
  415. package/dist/esm/fields/Duration/index.mjs.map +1 -1
  416. package/dist/esm/fields/Duration/index.native.js +5 -6
  417. package/dist/esm/fields/Duration/index.native.js.map +1 -1
  418. package/dist/esm/fields/FileUpload/index.mjs +49 -7
  419. package/dist/esm/fields/FileUpload/index.mjs.map +1 -1
  420. package/dist/esm/fields/FileUpload/index.native.js +51 -7
  421. package/dist/esm/fields/FileUpload/index.native.js.map +1 -1
  422. package/dist/esm/fields/Geolocation/index.mjs +5 -14
  423. package/dist/esm/fields/Geolocation/index.mjs.map +1 -1
  424. package/dist/esm/fields/Geolocation/index.native.js +5 -14
  425. package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
  426. package/dist/esm/fields/Icon/index.mjs +10 -12
  427. package/dist/esm/fields/Icon/index.mjs.map +1 -1
  428. package/dist/esm/fields/Icon/index.native.js +9 -12
  429. package/dist/esm/fields/Icon/index.native.js.map +1 -1
  430. package/dist/esm/fields/ImageField/index.mjs +4 -5
  431. package/dist/esm/fields/ImageField/index.mjs.map +1 -1
  432. package/dist/esm/fields/ImageField/index.native.js +4 -5
  433. package/dist/esm/fields/ImageField/index.native.js.map +1 -1
  434. package/dist/esm/fields/Input/index.mjs +5 -5
  435. package/dist/esm/fields/Input/index.mjs.map +1 -1
  436. package/dist/esm/fields/Input/index.native.js +5 -5
  437. package/dist/esm/fields/Input/index.native.js.map +1 -1
  438. package/dist/esm/fields/MentionInput/index.mjs +4 -6
  439. package/dist/esm/fields/MentionInput/index.mjs.map +1 -1
  440. package/dist/esm/fields/MentionInput/index.native.js +4 -6
  441. package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
  442. package/dist/esm/fields/OTPInput/index.mjs +2 -4
  443. package/dist/esm/fields/OTPInput/index.mjs.map +1 -1
  444. package/dist/esm/fields/OTPInput/index.native.js +2 -4
  445. package/dist/esm/fields/OTPInput/index.native.js.map +1 -1
  446. package/dist/esm/fields/PhoneInput/index.mjs +1 -3
  447. package/dist/esm/fields/PhoneInput/index.mjs.map +1 -1
  448. package/dist/esm/fields/PhoneInput/index.native.js +1 -3
  449. package/dist/esm/fields/PhoneInput/index.native.js.map +1 -1
  450. package/dist/esm/fields/Progress/index.mjs +17 -22
  451. package/dist/esm/fields/Progress/index.mjs.map +1 -1
  452. package/dist/esm/fields/Progress/index.native.js +17 -22
  453. package/dist/esm/fields/Progress/index.native.js.map +1 -1
  454. package/dist/esm/fields/RadioGroup/index.mjs +8 -11
  455. package/dist/esm/fields/RadioGroup/index.mjs.map +1 -1
  456. package/dist/esm/fields/RadioGroup/index.native.js +9 -16
  457. package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
  458. package/dist/esm/fields/Rating/index.mjs +9 -21
  459. package/dist/esm/fields/Rating/index.mjs.map +1 -1
  460. package/dist/esm/fields/Rating/index.native.js +10 -22
  461. package/dist/esm/fields/Rating/index.native.js.map +1 -1
  462. package/dist/esm/fields/SearchInput/index.mjs +18 -11
  463. package/dist/esm/fields/SearchInput/index.mjs.map +1 -1
  464. package/dist/esm/fields/SearchInput/index.native.js +22 -10
  465. package/dist/esm/fields/SearchInput/index.native.js.map +1 -1
  466. package/dist/esm/fields/Select/index.mjs +13 -15
  467. package/dist/esm/fields/Select/index.mjs.map +1 -1
  468. package/dist/esm/fields/Select/index.native.js +16 -18
  469. package/dist/esm/fields/Select/index.native.js.map +1 -1
  470. package/dist/esm/fields/Signature/index.mjs +3 -5
  471. package/dist/esm/fields/Signature/index.mjs.map +1 -1
  472. package/dist/esm/fields/Signature/index.native.js +3 -5
  473. package/dist/esm/fields/Signature/index.native.js.map +1 -1
  474. package/dist/esm/fields/Slider/index.mjs +44 -30
  475. package/dist/esm/fields/Slider/index.mjs.map +1 -1
  476. package/dist/esm/fields/Slider/index.native.js +45 -30
  477. package/dist/esm/fields/Slider/index.native.js.map +1 -1
  478. package/dist/esm/fields/Stepper/index.mjs +43 -22
  479. package/dist/esm/fields/Stepper/index.mjs.map +1 -1
  480. package/dist/esm/fields/Stepper/index.native.js +48 -23
  481. package/dist/esm/fields/Stepper/index.native.js.map +1 -1
  482. package/dist/esm/fields/Switch/footprint.mjs +9 -7
  483. package/dist/esm/fields/Switch/footprint.mjs.map +1 -1
  484. package/dist/esm/fields/Switch/footprint.native.js +9 -7
  485. package/dist/esm/fields/Switch/footprint.native.js.map +1 -1
  486. package/dist/esm/fields/Switch/index.mjs +73 -95
  487. package/dist/esm/fields/Switch/index.mjs.map +1 -1
  488. package/dist/esm/fields/Switch/index.native.js +78 -98
  489. package/dist/esm/fields/Switch/index.native.js.map +1 -1
  490. package/dist/esm/fields/TextArea/index.mjs +5 -8
  491. package/dist/esm/fields/TextArea/index.mjs.map +1 -1
  492. package/dist/esm/fields/TextArea/index.native.js +5 -8
  493. package/dist/esm/fields/TextArea/index.native.js.map +1 -1
  494. package/dist/esm/fields/TimePicker/catalog.mjs +8 -5
  495. package/dist/esm/fields/TimePicker/catalog.mjs.map +1 -1
  496. package/dist/esm/fields/TimePicker/catalog.native.js +8 -5
  497. package/dist/esm/fields/TimePicker/catalog.native.js.map +1 -1
  498. package/dist/esm/fields/TimePicker/index.native.js +8 -5
  499. package/dist/esm/fields/TimePicker/index.native.js.map +1 -1
  500. package/dist/esm/fields/TimePicker/parts.mjs +1 -5
  501. package/dist/esm/fields/TimePicker/parts.mjs.map +1 -1
  502. package/dist/esm/fields/TimePicker/parts.native.js +1 -5
  503. package/dist/esm/fields/TimePicker/parts.native.js.map +1 -1
  504. package/dist/esm/fields/TimeRangeScrubber/index.mjs +7 -5
  505. package/dist/esm/fields/TimeRangeScrubber/index.mjs.map +1 -1
  506. package/dist/esm/fields/TimeRangeScrubber/index.native.js +7 -5
  507. package/dist/esm/fields/TimeRangeScrubber/index.native.js.map +1 -1
  508. package/dist/esm/fields/ToggleGroup/index.mjs +14 -24
  509. package/dist/esm/fields/ToggleGroup/index.mjs.map +1 -1
  510. package/dist/esm/fields/ToggleGroup/index.native.js +16 -26
  511. package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
  512. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.mjs +4 -4
  513. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.mjs.map +1 -1
  514. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js +5 -5
  515. package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  516. package/dist/esm/formSpacing.mjs +1 -1
  517. package/dist/esm/formSpacing.native.js +1 -1
  518. package/dist/esm/formSpacing.native.js.map +1 -1
  519. package/dist/esm/index.mjs +5 -3
  520. package/dist/esm/index.mjs.map +1 -1
  521. package/dist/esm/index.native.js +5 -3
  522. package/dist/esm/index.native.js.map +1 -1
  523. package/dist/esm/shared/TimeColumn.mjs +1 -3
  524. package/dist/esm/shared/TimeColumn.mjs.map +1 -1
  525. package/dist/esm/shared/TimeColumn.native.js +1 -3
  526. package/dist/esm/shared/TimeColumn.native.js.map +1 -1
  527. package/dist/esm/shared/colorRamps.mjs +17 -16
  528. package/dist/esm/shared/colorRamps.mjs.map +1 -1
  529. package/dist/esm/shared/colorRamps.native.js +17 -16
  530. package/dist/esm/shared/colorRamps.native.js.map +1 -1
  531. package/dist/esm/shared/floatingList.mjs +3 -5
  532. package/dist/esm/shared/floatingList.mjs.map +1 -1
  533. package/dist/esm/shared/floatingList.native.js +3 -5
  534. package/dist/esm/shared/floatingList.native.js.map +1 -1
  535. package/dist/esm/shared/focusManagement.mjs +16 -6
  536. package/dist/esm/shared/focusManagement.mjs.map +1 -1
  537. package/dist/esm/shared/focusManagement.native.js +16 -6
  538. package/dist/esm/shared/focusManagement.native.js.map +1 -1
  539. package/dist/esm/shared/instantMotion.mjs +6 -0
  540. package/dist/esm/shared/instantMotion.mjs.map +1 -0
  541. package/dist/esm/shared/instantMotion.native.js +7 -0
  542. package/dist/esm/shared/instantMotion.native.js.map +1 -0
  543. package/dist/esm/shared/utils.mjs +2 -2
  544. package/dist/esm/shared/utils.mjs.map +1 -1
  545. package/dist/esm/shared/utils.native.js +2 -2
  546. package/dist/esm/shared/utils.native.js.map +1 -1
  547. package/dist/esm/themedPrimitives.mjs +1 -1
  548. package/dist/esm/themedPrimitives.native.js +1 -1
  549. package/dist/esm/themedPrimitives.native.js.map +1 -1
  550. package/dist/jsx/AdaptivePopup/index.mjs +22 -39
  551. package/dist/jsx/AdaptivePopup/index.mjs.map +1 -1
  552. package/dist/jsx/AdaptivePopup/index.native.js +26 -47
  553. package/dist/jsx/AdaptivePopup/index.native.js.map +1 -1
  554. package/dist/jsx/Button/index.mjs +76 -40
  555. package/dist/jsx/Button/index.mjs.map +1 -1
  556. package/dist/jsx/Button/index.native.js +104 -64
  557. package/dist/jsx/Button/index.native.js.map +1 -1
  558. package/dist/jsx/Chip/index.mjs +10 -4
  559. package/dist/jsx/Chip/index.mjs.map +1 -1
  560. package/dist/jsx/Chip/index.native.js +9 -3
  561. package/dist/jsx/Chip/index.native.js.map +1 -1
  562. package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.mjs +3 -28
  563. package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.mjs.map +1 -1
  564. package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.native.js +6 -31
  565. package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
  566. package/dist/jsx/ContextualSaveBar/index.mjs +3 -2
  567. package/dist/jsx/ContextualSaveBar/index.mjs.map +1 -1
  568. package/dist/jsx/ContextualSaveBar/index.native.js +5 -4
  569. package/dist/jsx/ContextualSaveBar/index.native.js.map +1 -1
  570. package/dist/jsx/ControlGroup/index.mjs +3 -2
  571. package/dist/jsx/ControlGroup/index.mjs.map +1 -1
  572. package/dist/jsx/ControlGroup/index.native.js +12 -11
  573. package/dist/jsx/ControlGroup/index.native.js.map +1 -1
  574. package/dist/jsx/DescriptionList/index.mjs +18 -22
  575. package/dist/jsx/DescriptionList/index.mjs.map +1 -1
  576. package/dist/jsx/DescriptionList/index.native.js +17 -21
  577. package/dist/jsx/DescriptionList/index.native.js.map +1 -1
  578. package/dist/jsx/FieldDisplay/index.mjs +6 -9
  579. package/dist/jsx/FieldDisplay/index.mjs.map +1 -1
  580. package/dist/jsx/FieldDisplay/index.native.js +6 -9
  581. package/dist/jsx/FieldDisplay/index.native.js.map +1 -1
  582. package/dist/jsx/FieldGroup.mjs +5 -16
  583. package/dist/jsx/FieldGroup.mjs.map +1 -1
  584. package/dist/jsx/FieldGroup.native.js +4 -15
  585. package/dist/jsx/FieldGroup.native.js.map +1 -1
  586. package/dist/jsx/FloatingPanel/index.mjs +78 -20
  587. package/dist/jsx/FloatingPanel/index.mjs.map +1 -1
  588. package/dist/jsx/FloatingPanel/index.native.js +44 -20
  589. package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
  590. package/dist/jsx/FloatingPanel/useFloatingPanel.mjs +26 -14
  591. package/dist/jsx/FloatingPanel/useFloatingPanel.mjs.map +1 -1
  592. package/dist/jsx/FloatingPanel/useFloatingPanel.native.js +36 -16
  593. package/dist/jsx/FloatingPanel/useFloatingPanel.native.js.map +1 -1
  594. package/dist/jsx/Form/index.mjs +10 -14
  595. package/dist/jsx/Form/index.mjs.map +1 -1
  596. package/dist/jsx/Form/index.native.js +12 -13
  597. package/dist/jsx/Form/index.native.js.map +1 -1
  598. package/dist/jsx/FormGrid.mjs +7 -16
  599. package/dist/jsx/FormGrid.mjs.map +1 -1
  600. package/dist/jsx/FormGrid.native.js +7 -16
  601. package/dist/jsx/FormGrid.native.js.map +1 -1
  602. package/dist/jsx/FormSection.mjs +4 -9
  603. package/dist/jsx/FormSection.mjs.map +1 -1
  604. package/dist/jsx/FormSection.native.js +4 -9
  605. package/dist/jsx/FormSection.native.js.map +1 -1
  606. package/dist/jsx/InputParts/index.mjs +13 -30
  607. package/dist/jsx/InputParts/index.mjs.map +1 -1
  608. package/dist/jsx/InputParts/index.native.js +54 -73
  609. package/dist/jsx/InputParts/index.native.js.map +1 -1
  610. package/dist/jsx/Label/index.mjs +0 -1
  611. package/dist/jsx/Label/index.mjs.map +1 -1
  612. package/dist/jsx/Label/index.native.js +0 -1
  613. package/dist/jsx/Label/index.native.js.map +1 -1
  614. package/dist/jsx/MediaPicker/base64.mjs +20 -0
  615. package/dist/jsx/MediaPicker/base64.mjs.map +1 -0
  616. package/dist/jsx/MediaPicker/base64.native.js +48 -0
  617. package/dist/jsx/MediaPicker/base64.native.js.map +1 -0
  618. package/dist/jsx/MediaPicker/payload.mjs +35 -0
  619. package/dist/jsx/MediaPicker/payload.mjs.map +1 -0
  620. package/dist/jsx/MediaPicker/payload.native.js +64 -0
  621. package/dist/jsx/MediaPicker/payload.native.js.map +1 -0
  622. package/dist/jsx/MediaPicker/pickMedia.mjs +109 -0
  623. package/dist/jsx/MediaPicker/pickMedia.mjs.map +1 -0
  624. package/dist/jsx/MediaPicker/pickMedia.native.js +97 -0
  625. package/dist/jsx/MediaPicker/pickMedia.native.js.map +1 -0
  626. package/dist/jsx/MediaPicker/types.mjs +14 -0
  627. package/dist/jsx/MediaPicker/types.mjs.map +1 -0
  628. package/dist/jsx/MediaPicker/types.native.js +162 -0
  629. package/dist/jsx/MediaPicker/types.native.js.map +1 -0
  630. package/dist/jsx/MediaPicker/useMediaPicker.mjs +32 -0
  631. package/dist/jsx/MediaPicker/useMediaPicker.mjs.map +1 -0
  632. package/dist/jsx/MediaPicker/useMediaPicker.native.js +61 -0
  633. package/dist/jsx/MediaPicker/useMediaPicker.native.js.map +1 -0
  634. package/dist/jsx/Skeleton/index.mjs +123 -42
  635. package/dist/jsx/Skeleton/index.mjs.map +1 -1
  636. package/dist/jsx/Skeleton/index.native.js +128 -50
  637. package/dist/jsx/Skeleton/index.native.js.map +1 -1
  638. package/dist/jsx/Spinner/index.mjs +2 -2
  639. package/dist/jsx/Spinner/index.mjs.map +1 -1
  640. package/dist/jsx/Spinner/index.native.js +2 -2
  641. package/dist/jsx/Spinner/index.native.js.map +1 -1
  642. package/dist/jsx/Wheel/index.mjs +9 -19
  643. package/dist/jsx/Wheel/index.mjs.map +1 -1
  644. package/dist/jsx/Wheel/index.native.js +12 -22
  645. package/dist/jsx/Wheel/index.native.js.map +1 -1
  646. package/dist/jsx/fieldLayout.mjs +18 -7
  647. package/dist/jsx/fieldLayout.mjs.map +1 -1
  648. package/dist/jsx/fieldLayout.native.js +20 -7
  649. package/dist/jsx/fieldLayout.native.js.map +1 -1
  650. package/dist/jsx/fields/Barcode/BarcodeScanner.mjs +2 -3
  651. package/dist/jsx/fields/Barcode/BarcodeScanner.mjs.map +1 -1
  652. package/dist/jsx/fields/Barcode/BarcodeScanner.native.js +2 -3
  653. package/dist/jsx/fields/Barcode/BarcodeScanner.native.js.map +1 -1
  654. package/dist/jsx/fields/Barcode/index.mjs +8 -12
  655. package/dist/jsx/fields/Barcode/index.mjs.map +1 -1
  656. package/dist/jsx/fields/Barcode/index.native.js +7 -11
  657. package/dist/jsx/fields/Barcode/index.native.js.map +1 -1
  658. package/dist/jsx/fields/Barcode/scannerTypes.mjs +3 -2
  659. package/dist/jsx/fields/Barcode/scannerTypes.mjs.map +1 -1
  660. package/dist/jsx/fields/Barcode/scannerTypes.native.js +3 -2
  661. package/dist/jsx/fields/Barcode/scannerTypes.native.js.map +1 -1
  662. package/dist/jsx/fields/Checkbox/Checkbox.mjs +11 -19
  663. package/dist/jsx/fields/Checkbox/Checkbox.mjs.map +1 -1
  664. package/dist/jsx/fields/Checkbox/Checkbox.native.js +10 -18
  665. package/dist/jsx/fields/Checkbox/Checkbox.native.js.map +1 -1
  666. package/dist/jsx/fields/Checkbox/CheckboxBox.mjs +4 -2
  667. package/dist/jsx/fields/Checkbox/CheckboxBox.mjs.map +1 -1
  668. package/dist/jsx/fields/Checkbox/CheckboxBox.native.js +4 -2
  669. package/dist/jsx/fields/Checkbox/CheckboxBox.native.js.map +1 -1
  670. package/dist/jsx/fields/Checkbox/CheckboxCard.mjs +11 -21
  671. package/dist/jsx/fields/Checkbox/CheckboxCard.mjs.map +1 -1
  672. package/dist/jsx/fields/Checkbox/CheckboxCard.native.js +11 -22
  673. package/dist/jsx/fields/Checkbox/CheckboxCard.native.js.map +1 -1
  674. package/dist/jsx/fields/Checkbox/CheckboxGroup.mjs +3 -6
  675. package/dist/jsx/fields/Checkbox/CheckboxGroup.mjs.map +1 -1
  676. package/dist/jsx/fields/Checkbox/CheckboxGroup.native.js +4 -11
  677. package/dist/jsx/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
  678. package/dist/jsx/fields/Checkbox/index.mjs +4 -3
  679. package/dist/jsx/fields/Checkbox/index.mjs.map +1 -1
  680. package/dist/jsx/fields/Checkbox/index.native.js +12 -11
  681. package/dist/jsx/fields/Checkbox/index.native.js.map +1 -1
  682. package/dist/jsx/fields/ColorPicker/index.mjs +15 -14
  683. package/dist/jsx/fields/ColorPicker/index.mjs.map +1 -1
  684. package/dist/jsx/fields/ColorPicker/index.native.js +16 -15
  685. package/dist/jsx/fields/ColorPicker/index.native.js.map +1 -1
  686. package/dist/jsx/fields/ColorPicker/parts.mjs +9 -13
  687. package/dist/jsx/fields/ColorPicker/parts.mjs.map +1 -1
  688. package/dist/jsx/fields/ColorPicker/parts.native.js +10 -14
  689. package/dist/jsx/fields/ColorPicker/parts.native.js.map +1 -1
  690. package/dist/jsx/fields/Combobox/index.mjs +17 -19
  691. package/dist/jsx/fields/Combobox/index.mjs.map +1 -1
  692. package/dist/jsx/fields/Combobox/index.native.js +17 -19
  693. package/dist/jsx/fields/Combobox/index.native.js.map +1 -1
  694. package/dist/jsx/fields/DatePicker/Calendar.mjs +3 -2
  695. package/dist/jsx/fields/DatePicker/Calendar.mjs.map +1 -1
  696. package/dist/jsx/fields/DatePicker/Calendar.native.js +3 -2
  697. package/dist/jsx/fields/DatePicker/Calendar.native.js.map +1 -1
  698. package/dist/jsx/fields/DatePicker/DateRangePicker.mjs +8 -5
  699. package/dist/jsx/fields/DatePicker/DateRangePicker.mjs.map +1 -1
  700. package/dist/jsx/fields/DatePicker/DateRangePicker.native.js +8 -5
  701. package/dist/jsx/fields/DatePicker/DateRangePicker.native.js.map +1 -1
  702. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.mjs +7 -4
  703. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.mjs.map +1 -1
  704. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.native.js +7 -4
  705. package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
  706. package/dist/jsx/fields/DatePicker/DatetimePicker.native.js +7 -4
  707. package/dist/jsx/fields/DatePicker/DatetimePicker.native.js.map +1 -1
  708. package/dist/jsx/fields/DatePicker/MonthPicker.mjs +9 -5
  709. package/dist/jsx/fields/DatePicker/MonthPicker.mjs.map +1 -1
  710. package/dist/jsx/fields/DatePicker/MonthPicker.native.js +11 -7
  711. package/dist/jsx/fields/DatePicker/MonthPicker.native.js.map +1 -1
  712. package/dist/jsx/fields/DatePicker/MultiDatePicker.mjs +7 -4
  713. package/dist/jsx/fields/DatePicker/MultiDatePicker.mjs.map +1 -1
  714. package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js +7 -4
  715. package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
  716. package/dist/jsx/fields/DatePicker/catalog.mjs +7 -4
  717. package/dist/jsx/fields/DatePicker/catalog.mjs.map +1 -1
  718. package/dist/jsx/fields/DatePicker/catalog.native.js +7 -4
  719. package/dist/jsx/fields/DatePicker/catalog.native.js.map +1 -1
  720. package/dist/jsx/fields/DatePicker/index.native.js +7 -4
  721. package/dist/jsx/fields/DatePicker/index.native.js.map +1 -1
  722. package/dist/jsx/fields/DatePicker/parts.mjs +9 -14
  723. package/dist/jsx/fields/DatePicker/parts.mjs.map +1 -1
  724. package/dist/jsx/fields/DatePicker/parts.native.js +19 -24
  725. package/dist/jsx/fields/DatePicker/parts.native.js.map +1 -1
  726. package/dist/jsx/fields/Duration/index.mjs +5 -6
  727. package/dist/jsx/fields/Duration/index.mjs.map +1 -1
  728. package/dist/jsx/fields/Duration/index.native.js +5 -6
  729. package/dist/jsx/fields/Duration/index.native.js.map +1 -1
  730. package/dist/jsx/fields/FileUpload/index.mjs +49 -7
  731. package/dist/jsx/fields/FileUpload/index.mjs.map +1 -1
  732. package/dist/jsx/fields/FileUpload/index.native.js +57 -13
  733. package/dist/jsx/fields/FileUpload/index.native.js.map +1 -1
  734. package/dist/jsx/fields/Geolocation/index.mjs +5 -14
  735. package/dist/jsx/fields/Geolocation/index.mjs.map +1 -1
  736. package/dist/jsx/fields/Geolocation/index.native.js +4 -13
  737. package/dist/jsx/fields/Geolocation/index.native.js.map +1 -1
  738. package/dist/jsx/fields/Icon/index.mjs +10 -12
  739. package/dist/jsx/fields/Icon/index.mjs.map +1 -1
  740. package/dist/jsx/fields/Icon/index.native.js +7 -10
  741. package/dist/jsx/fields/Icon/index.native.js.map +1 -1
  742. package/dist/jsx/fields/ImageField/index.mjs +4 -5
  743. package/dist/jsx/fields/ImageField/index.mjs.map +1 -1
  744. package/dist/jsx/fields/ImageField/index.native.js +8 -9
  745. package/dist/jsx/fields/ImageField/index.native.js.map +1 -1
  746. package/dist/jsx/fields/Input/index.mjs +5 -5
  747. package/dist/jsx/fields/Input/index.mjs.map +1 -1
  748. package/dist/jsx/fields/Input/index.native.js +5 -5
  749. package/dist/jsx/fields/Input/index.native.js.map +1 -1
  750. package/dist/jsx/fields/MentionInput/index.mjs +4 -6
  751. package/dist/jsx/fields/MentionInput/index.mjs.map +1 -1
  752. package/dist/jsx/fields/MentionInput/index.native.js +3 -5
  753. package/dist/jsx/fields/MentionInput/index.native.js.map +1 -1
  754. package/dist/jsx/fields/OTPInput/index.mjs +2 -4
  755. package/dist/jsx/fields/OTPInput/index.mjs.map +1 -1
  756. package/dist/jsx/fields/OTPInput/index.native.js +2 -4
  757. package/dist/jsx/fields/OTPInput/index.native.js.map +1 -1
  758. package/dist/jsx/fields/PhoneInput/index.mjs +1 -3
  759. package/dist/jsx/fields/PhoneInput/index.mjs.map +1 -1
  760. package/dist/jsx/fields/PhoneInput/index.native.js +1 -3
  761. package/dist/jsx/fields/PhoneInput/index.native.js.map +1 -1
  762. package/dist/jsx/fields/Progress/index.mjs +17 -22
  763. package/dist/jsx/fields/Progress/index.mjs.map +1 -1
  764. package/dist/jsx/fields/Progress/index.native.js +15 -20
  765. package/dist/jsx/fields/Progress/index.native.js.map +1 -1
  766. package/dist/jsx/fields/RadioGroup/index.mjs +8 -11
  767. package/dist/jsx/fields/RadioGroup/index.mjs.map +1 -1
  768. package/dist/jsx/fields/RadioGroup/index.native.js +8 -15
  769. package/dist/jsx/fields/RadioGroup/index.native.js.map +1 -1
  770. package/dist/jsx/fields/Rating/index.mjs +9 -21
  771. package/dist/jsx/fields/Rating/index.mjs.map +1 -1
  772. package/dist/jsx/fields/Rating/index.native.js +18 -30
  773. package/dist/jsx/fields/Rating/index.native.js.map +1 -1
  774. package/dist/jsx/fields/SearchInput/index.mjs +18 -11
  775. package/dist/jsx/fields/SearchInput/index.mjs.map +1 -1
  776. package/dist/jsx/fields/SearchInput/index.native.js +21 -9
  777. package/dist/jsx/fields/SearchInput/index.native.js.map +1 -1
  778. package/dist/jsx/fields/Select/index.mjs +13 -15
  779. package/dist/jsx/fields/Select/index.mjs.map +1 -1
  780. package/dist/jsx/fields/Select/index.native.js +15 -17
  781. package/dist/jsx/fields/Select/index.native.js.map +1 -1
  782. package/dist/jsx/fields/Signature/index.mjs +3 -5
  783. package/dist/jsx/fields/Signature/index.mjs.map +1 -1
  784. package/dist/jsx/fields/Signature/index.native.js +3 -5
  785. package/dist/jsx/fields/Signature/index.native.js.map +1 -1
  786. package/dist/jsx/fields/Slider/index.mjs +44 -30
  787. package/dist/jsx/fields/Slider/index.mjs.map +1 -1
  788. package/dist/jsx/fields/Slider/index.native.js +76 -59
  789. package/dist/jsx/fields/Slider/index.native.js.map +1 -1
  790. package/dist/jsx/fields/Stepper/index.mjs +43 -22
  791. package/dist/jsx/fields/Stepper/index.mjs.map +1 -1
  792. package/dist/jsx/fields/Stepper/index.native.js +53 -28
  793. package/dist/jsx/fields/Stepper/index.native.js.map +1 -1
  794. package/dist/jsx/fields/Switch/footprint.mjs +9 -7
  795. package/dist/jsx/fields/Switch/footprint.mjs.map +1 -1
  796. package/dist/jsx/fields/Switch/footprint.native.js +9 -7
  797. package/dist/jsx/fields/Switch/footprint.native.js.map +1 -1
  798. package/dist/jsx/fields/Switch/index.mjs +73 -95
  799. package/dist/jsx/fields/Switch/index.mjs.map +1 -1
  800. package/dist/jsx/fields/Switch/index.native.js +92 -112
  801. package/dist/jsx/fields/Switch/index.native.js.map +1 -1
  802. package/dist/jsx/fields/TextArea/index.mjs +5 -8
  803. package/dist/jsx/fields/TextArea/index.mjs.map +1 -1
  804. package/dist/jsx/fields/TextArea/index.native.js +5 -8
  805. package/dist/jsx/fields/TextArea/index.native.js.map +1 -1
  806. package/dist/jsx/fields/TimePicker/catalog.mjs +8 -5
  807. package/dist/jsx/fields/TimePicker/catalog.mjs.map +1 -1
  808. package/dist/jsx/fields/TimePicker/catalog.native.js +8 -5
  809. package/dist/jsx/fields/TimePicker/catalog.native.js.map +1 -1
  810. package/dist/jsx/fields/TimePicker/index.native.js +8 -5
  811. package/dist/jsx/fields/TimePicker/index.native.js.map +1 -1
  812. package/dist/jsx/fields/TimePicker/parts.mjs +1 -5
  813. package/dist/jsx/fields/TimePicker/parts.mjs.map +1 -1
  814. package/dist/jsx/fields/TimePicker/parts.native.js +1 -5
  815. package/dist/jsx/fields/TimePicker/parts.native.js.map +1 -1
  816. package/dist/jsx/fields/TimeRangeScrubber/index.mjs +7 -5
  817. package/dist/jsx/fields/TimeRangeScrubber/index.mjs.map +1 -1
  818. package/dist/jsx/fields/TimeRangeScrubber/index.native.js +17 -15
  819. package/dist/jsx/fields/TimeRangeScrubber/index.native.js.map +1 -1
  820. package/dist/jsx/fields/ToggleGroup/index.mjs +14 -24
  821. package/dist/jsx/fields/ToggleGroup/index.mjs.map +1 -1
  822. package/dist/jsx/fields/ToggleGroup/index.native.js +26 -36
  823. package/dist/jsx/fields/ToggleGroup/index.native.js.map +1 -1
  824. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.mjs +4 -4
  825. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.mjs.map +1 -1
  826. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.native.js +5 -5
  827. package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
  828. package/dist/jsx/formSpacing.mjs +1 -1
  829. package/dist/jsx/formSpacing.native.js +1 -1
  830. package/dist/jsx/index.js +5 -3
  831. package/dist/jsx/index.js.map +1 -1
  832. package/dist/jsx/index.mjs +5 -3
  833. package/dist/jsx/index.mjs.map +1 -1
  834. package/dist/jsx/index.native.js +7 -0
  835. package/dist/jsx/index.native.js.map +1 -1
  836. package/dist/jsx/shared/TimeColumn.mjs +1 -3
  837. package/dist/jsx/shared/TimeColumn.mjs.map +1 -1
  838. package/dist/jsx/shared/TimeColumn.native.js +1 -3
  839. package/dist/jsx/shared/TimeColumn.native.js.map +1 -1
  840. package/dist/jsx/shared/colorRamps.mjs +17 -16
  841. package/dist/jsx/shared/colorRamps.mjs.map +1 -1
  842. package/dist/jsx/shared/colorRamps.native.js +17 -15
  843. package/dist/jsx/shared/colorRamps.native.js.map +1 -1
  844. package/dist/jsx/shared/floatingList.mjs +3 -5
  845. package/dist/jsx/shared/floatingList.mjs.map +1 -1
  846. package/dist/jsx/shared/floatingList.native.js +4 -6
  847. package/dist/jsx/shared/floatingList.native.js.map +1 -1
  848. package/dist/jsx/shared/focusManagement.mjs +16 -6
  849. package/dist/jsx/shared/focusManagement.mjs.map +1 -1
  850. package/dist/jsx/shared/focusManagement.native.js +15 -5
  851. package/dist/jsx/shared/focusManagement.native.js.map +1 -1
  852. package/dist/jsx/shared/instantMotion.mjs +6 -0
  853. package/dist/jsx/shared/instantMotion.mjs.map +1 -0
  854. package/dist/jsx/shared/instantMotion.native.js +35 -0
  855. package/dist/jsx/shared/instantMotion.native.js.map +1 -0
  856. package/dist/jsx/shared/utils.mjs +2 -2
  857. package/dist/jsx/shared/utils.mjs.map +1 -1
  858. package/dist/jsx/shared/utils.native.js +12 -12
  859. package/dist/jsx/shared/utils.native.js.map +1 -1
  860. package/dist/jsx/themedPrimitives.mjs +1 -1
  861. package/dist/jsx/themedPrimitives.native.js +1 -1
  862. package/package.json +8 -8
  863. package/src/AdaptivePopup/index.tsx +20 -43
  864. package/src/Button/Button.disabledReasonInk.spec.tsx +60 -1
  865. package/src/Button/Button.filledBorder.spec.tsx +2 -2
  866. package/src/Button/Button.labelInk.spec.tsx +15 -31
  867. package/src/Button/Button.lc18.spec.tsx +7 -7
  868. package/src/Button/Button.lc71.spec.tsx +33 -46
  869. package/src/Button/Button.loading.spec.tsx +87 -0
  870. package/src/Button/Button.nativeInk.spec.tsx +100 -0
  871. package/src/Button/Button.radiusLaw.spec.tsx +18 -24
  872. package/src/Button/Button.sizeLadder.spec.tsx +12 -24
  873. package/src/Button/Button.sizeToken.spec.tsx +123 -0
  874. package/src/Button/Button.spec.tsx +17 -17
  875. package/src/Button/Button.stories.tsx +40 -4
  876. package/src/Button/index.tsx +114 -61
  877. package/src/Chip/Chip.spec.tsx +41 -3
  878. package/src/Chip/index.tsx +15 -8
  879. package/src/ContextualSaveBar/ContextualSaveBar.spec.tsx +5 -5
  880. package/src/ContextualSaveBar/UnsavedChangesDialog.tsx +5 -22
  881. package/src/ContextualSaveBar/index.tsx +3 -2
  882. package/src/ControlGroup/index.tsx +9 -4
  883. package/src/DescriptionList/DescriptionList.spec.tsx +11 -3
  884. package/src/DescriptionList/DescriptionList.stories.tsx +1 -3
  885. package/src/DescriptionList/index.tsx +24 -26
  886. package/src/FieldDisplay/index.tsx +12 -9
  887. package/src/FieldGroup.spec.tsx +15 -13
  888. package/src/FieldGroup.tsx +11 -17
  889. package/src/FieldLayout.stories.tsx +4 -5
  890. package/src/FloatingPanel/FloatingPanel.native.spec.tsx +33 -0
  891. package/src/FloatingPanel/FloatingPanel.spec.tsx +62 -0
  892. package/src/FloatingPanel/FloatingPanel.stories.tsx +4 -4
  893. package/src/FloatingPanel/index.native.tsx +38 -19
  894. package/src/FloatingPanel/index.tsx +112 -22
  895. package/src/FloatingPanel/touchRecipeHydration.spec.tsx +62 -4
  896. package/src/FloatingPanel/useFloatingPanel.spec.tsx +94 -27
  897. package/src/FloatingPanel/useFloatingPanel.ts +47 -20
  898. package/src/Form/Form.stories.tsx +0 -4
  899. package/src/Form/form.spec.tsx +67 -20
  900. package/src/Form/index.tsx +15 -15
  901. package/src/FormGrid.spec.tsx +32 -31
  902. package/src/FormGrid.stories.tsx +0 -1
  903. package/src/FormGrid.tsx +12 -22
  904. package/src/FormSection.tsx +5 -10
  905. package/src/InputParts/InputParts.stories.tsx +4 -4
  906. package/src/InputParts/index.spec.tsx +25 -0
  907. package/src/InputParts/index.tsx +13 -44
  908. package/src/InputParts/layoutGap.spec.tsx +9 -11
  909. package/src/Label/Label.spec.tsx +33 -0
  910. package/src/Label/index.tsx +0 -1
  911. package/src/MediaPicker/MediaPicker.stories.tsx +65 -0
  912. package/src/MediaPicker/MediaPickerDemo.spec.tsx +68 -0
  913. package/src/MediaPicker/README.md +35 -0
  914. package/src/MediaPicker/base64.spec.ts +29 -0
  915. package/src/MediaPicker/base64.ts +23 -0
  916. package/src/MediaPicker/payload.ts +54 -0
  917. package/src/MediaPicker/pickMedia.native.spec.ts +160 -0
  918. package/src/MediaPicker/pickMedia.native.ts +95 -0
  919. package/src/MediaPicker/pickMedia.spec.ts +125 -0
  920. package/src/MediaPicker/pickMedia.ts +152 -0
  921. package/src/MediaPicker/types.ts +43 -0
  922. package/src/MediaPicker/useMediaPicker.spec.tsx +48 -0
  923. package/src/MediaPicker/useMediaPicker.ts +33 -0
  924. package/src/Skeleton/Skeleton.stories.tsx +2 -2
  925. package/src/Skeleton/index.tsx +172 -53
  926. package/src/Skeleton/skeletonStories.spec.tsx +1 -1
  927. package/src/Spinner/Spinner.spec.tsx +9 -9
  928. package/src/Spinner/Spinner.stories.tsx +10 -10
  929. package/src/Spinner/index.native.tsx +2 -2
  930. package/src/Spinner/index.tsx +4 -4
  931. package/src/Spinner/spinnerSize.ts +1 -1
  932. package/src/Wheel/Wheel.spec.tsx +3 -3
  933. package/src/Wheel/Wheel.stories.tsx +1 -1
  934. package/src/Wheel/index.tsx +10 -22
  935. package/src/Wheel/wheelStories.spec.tsx +1 -1
  936. package/src/errorTint.spec.tsx +77 -1
  937. package/src/fieldFamilyStories.radius.spec.tsx +2 -2
  938. package/src/fieldLayout.spec.tsx +77 -12
  939. package/src/fieldLayout.tsx +29 -13
  940. package/src/fields/Barcode/BarcodeScanner.native.tsx +1 -2
  941. package/src/fields/Barcode/BarcodeScanner.tsx +1 -2
  942. package/src/fields/Barcode/index.tsx +4 -17
  943. package/src/fields/Barcode/scannerTypes.ts +8 -6
  944. package/src/fields/Checkbox/Checkbox.stories.tsx +1 -2
  945. package/src/fields/Checkbox/Checkbox.tsx +14 -22
  946. package/src/fields/Checkbox/CheckboxBox.spec.tsx +50 -14
  947. package/src/fields/Checkbox/CheckboxBox.tsx +4 -2
  948. package/src/fields/Checkbox/CheckboxCard.heading.spec.tsx +29 -0
  949. package/src/fields/Checkbox/CheckboxCard.spec.tsx +62 -27
  950. package/src/fields/Checkbox/CheckboxCard.tsx +11 -13
  951. package/src/fields/Checkbox/CheckboxGroup.stories.tsx +0 -1
  952. package/src/fields/Checkbox/CheckboxGroup.tsx +2 -9
  953. package/src/fields/Checkbox/index.tsx +4 -3
  954. package/src/fields/ColorPicker/ColorPicker.stories.tsx +1 -1
  955. package/src/fields/ColorPicker/index.tsx +26 -15
  956. package/src/fields/ColorPicker/parts.tsx +8 -9
  957. package/src/fields/Combobox/Combobox.spec.tsx +26 -11
  958. package/src/fields/Combobox/Combobox.stories.tsx +1 -6
  959. package/src/fields/Combobox/index.tsx +16 -23
  960. package/src/fields/DatePicker/Calendar.spec.tsx +3 -3
  961. package/src/fields/DatePicker/Calendar.tsx +8 -2
  962. package/src/fields/DatePicker/DatePicker.stories.tsx +1 -2
  963. package/src/fields/DatePicker/DateRangePicker.stories.tsx +1 -2
  964. package/src/fields/DatePicker/DateRangePicker.tsx +15 -8
  965. package/src/fields/DatePicker/DatetimePicker.catalog.tsx +11 -7
  966. package/src/fields/DatePicker/DatetimePicker.native.tsx +11 -6
  967. package/src/fields/DatePicker/DatetimePicker.stories.tsx +1 -2
  968. package/src/fields/DatePicker/MonthPicker.stories.tsx +1 -2
  969. package/src/fields/DatePicker/MonthPicker.tsx +13 -8
  970. package/src/fields/DatePicker/MultiDatePicker.stories.tsx +1 -2
  971. package/src/fields/DatePicker/MultiDatePicker.tsx +9 -7
  972. package/src/fields/DatePicker/catalog.tsx +11 -7
  973. package/src/fields/DatePicker/index.native.tsx +11 -6
  974. package/src/fields/DatePicker/parts.tsx +8 -11
  975. package/src/fields/Duration/Duration.spec.tsx +2 -2
  976. package/src/fields/Duration/Duration.stories.tsx +1 -2
  977. package/src/fields/Duration/index.tsx +2 -8
  978. package/src/fields/FileUpload/FileUpload.spec.tsx +11 -25
  979. package/src/fields/FileUpload/FileUpload.stories.tsx +1 -1
  980. package/src/fields/FileUpload/index.tsx +72 -10
  981. package/src/fields/Geolocation/Geolocation.spec.tsx +5 -0
  982. package/src/fields/Geolocation/index.tsx +5 -12
  983. package/src/fields/Icon/Icon.stories.tsx +3 -3
  984. package/src/fields/Icon/index.tsx +7 -19
  985. package/src/fields/ImageField/index.tsx +2 -5
  986. package/src/fields/Input/Input.copy.spec.tsx +4 -4
  987. package/src/fields/Input/Input.spec.tsx +54 -28
  988. package/src/fields/Input/Input.stories.tsx +4 -18
  989. package/src/fields/Input/index.tsx +7 -14
  990. package/src/fields/MentionInput/MentionInput.spec.tsx +1 -1
  991. package/src/fields/MentionInput/MentionInput.stories.tsx +1 -2
  992. package/src/fields/MentionInput/index.tsx +4 -8
  993. package/src/fields/OTPInput/OtpInput.spec.tsx +6 -6
  994. package/src/fields/OTPInput/OtpInput.stories.tsx +1 -1
  995. package/src/fields/OTPInput/index.tsx +4 -5
  996. package/src/fields/OTPInput/otpCellHeightTouch.spec.ts +5 -4
  997. package/src/fields/PhoneInput/PhoneInput.spec.tsx +2 -5
  998. package/src/fields/PhoneInput/PhoneInput.stories.tsx +1 -1
  999. package/src/fields/PhoneInput/index.tsx +1 -3
  1000. package/src/fields/Progress/Progress.spec.tsx +34 -21
  1001. package/src/fields/Progress/Progress.stories.tsx +3 -5
  1002. package/src/fields/Progress/index.tsx +20 -28
  1003. package/src/fields/RadioGroup/RadioGroup.stories.tsx +1 -1
  1004. package/src/fields/RadioGroup/index.tsx +8 -14
  1005. package/src/fields/Rating/Rating.spec.tsx +1 -4
  1006. package/src/fields/Rating/index.tsx +10 -23
  1007. package/src/fields/SearchInput/SearchInput.native.spec.tsx +111 -0
  1008. package/src/fields/SearchInput/SearchInput.spec.tsx +106 -19
  1009. package/src/fields/SearchInput/SearchInput.stories.tsx +26 -6
  1010. package/src/fields/SearchInput/index.tsx +65 -49
  1011. package/src/fields/Select/Select.spec.tsx +65 -0
  1012. package/src/fields/Select/Select.stories.tsx +8 -7
  1013. package/src/fields/Select/index.tsx +21 -22
  1014. package/src/fields/Signature/index.tsx +1 -5
  1015. package/src/fields/Slider/Slider.spec.tsx +43 -8
  1016. package/src/fields/Slider/Slider.stories.tsx +3 -3
  1017. package/src/fields/Slider/index.tsx +57 -38
  1018. package/src/fields/Stepper/Stepper.spec.tsx +22 -2
  1019. package/src/fields/Stepper/Stepper.stories.tsx +1 -1
  1020. package/src/fields/Stepper/index.tsx +55 -21
  1021. package/src/fields/Switch/Switch.footprint.native.spec.tsx +18 -18
  1022. package/src/fields/Switch/Switch.footprint.spec.tsx +64 -54
  1023. package/src/fields/Switch/Switch.spec.tsx +125 -4
  1024. package/src/fields/Switch/Switch.stories.tsx +3 -3
  1025. package/src/fields/Switch/footprint.ts +14 -15
  1026. package/src/fields/Switch/index.tsx +83 -117
  1027. package/src/fields/TextArea/TextArea.spec.tsx +11 -11
  1028. package/src/fields/TextArea/TextArea.stories.tsx +3 -8
  1029. package/src/fields/TextArea/index.tsx +4 -8
  1030. package/src/fields/TimePicker/catalog.tsx +8 -7
  1031. package/src/fields/TimePicker/index.native.tsx +8 -6
  1032. package/src/fields/TimePicker/parts.tsx +1 -4
  1033. package/src/fields/TimeRangeScrubber/index.tsx +7 -5
  1034. package/src/fields/ToggleGroup/ToggleGroup.spec.tsx +21 -33
  1035. package/src/fields/ToggleGroup/ToggleGroup.stories.tsx +4 -8
  1036. package/src/fields/ToggleGroup/index.tsx +21 -36
  1037. package/src/fields/nativeDateTime/OsDateTimeSheet.tsx +4 -4
  1038. package/src/fields/pickerActivation.spec.tsx +4 -2
  1039. package/src/fields/pickerRows.spec.tsx +2 -0
  1040. package/src/formSpacing.ts +3 -3
  1041. package/src/index.ts +22 -4
  1042. package/src/shared/TimeColumn.tsx +1 -1
  1043. package/src/shared/colorRamps.ts +23 -25
  1044. package/src/shared/floatingList.spec.tsx +8 -12
  1045. package/src/shared/floatingList.tsx +3 -8
  1046. package/src/shared/focusManagement.spec.tsx +39 -2
  1047. package/src/shared/focusManagement.ts +26 -5
  1048. package/src/shared/instantMotion.spec.ts +26 -0
  1049. package/src/shared/instantMotion.ts +13 -0
  1050. package/src/shared/utils.spec.ts +4 -4
  1051. package/src/shared/utils.ts +8 -10
  1052. package/src/themedPrimitives.tsx +1 -1
  1053. package/types/AdaptivePopup/index.d.ts.map +1 -1
  1054. package/types/Button/index.d.ts +8 -16
  1055. package/types/Button/index.d.ts.map +1 -1
  1056. package/types/Chip/index.d.ts +1 -1
  1057. package/types/Chip/index.d.ts.map +1 -1
  1058. package/types/ContextualSaveBar/UnsavedChangesDialog.d.ts.map +1 -1
  1059. package/types/ContextualSaveBar/index.d.ts.map +1 -1
  1060. package/types/ControlGroup/index.d.ts.map +1 -1
  1061. package/types/DescriptionList/index.d.ts +7 -3
  1062. package/types/DescriptionList/index.d.ts.map +1 -1
  1063. package/types/FieldDisplay/index.d.ts.map +1 -1
  1064. package/types/FieldGroup.d.ts +6 -9
  1065. package/types/FieldGroup.d.ts.map +1 -1
  1066. package/types/FloatingPanel/index.d.ts +9 -6
  1067. package/types/FloatingPanel/index.d.ts.map +1 -1
  1068. package/types/FloatingPanel/index.native.d.ts +1 -1
  1069. package/types/FloatingPanel/index.native.d.ts.map +1 -1
  1070. package/types/FloatingPanel/useFloatingPanel.d.ts +19 -14
  1071. package/types/FloatingPanel/useFloatingPanel.d.ts.map +1 -1
  1072. package/types/Form/index.d.ts +7 -8
  1073. package/types/Form/index.d.ts.map +1 -1
  1074. package/types/FormGrid.d.ts +3 -5
  1075. package/types/FormGrid.d.ts.map +1 -1
  1076. package/types/FormSection.d.ts +3 -5
  1077. package/types/FormSection.d.ts.map +1 -1
  1078. package/types/InputParts/index.d.ts +37 -46
  1079. package/types/InputParts/index.d.ts.map +1 -1
  1080. package/types/Label/index.d.ts.map +1 -1
  1081. package/types/MediaPicker/base64.d.ts +2 -0
  1082. package/types/MediaPicker/base64.d.ts.map +1 -0
  1083. package/types/MediaPicker/payload.d.ts +4 -0
  1084. package/types/MediaPicker/payload.d.ts.map +1 -0
  1085. package/types/MediaPicker/pickMedia.d.ts +3 -0
  1086. package/types/MediaPicker/pickMedia.d.ts.map +1 -0
  1087. package/types/MediaPicker/pickMedia.native.d.ts +3 -0
  1088. package/types/MediaPicker/pickMedia.native.d.ts.map +1 -0
  1089. package/types/MediaPicker/types.d.ts +23 -0
  1090. package/types/MediaPicker/types.d.ts.map +1 -0
  1091. package/types/MediaPicker/useMediaPicker.d.ts +6 -0
  1092. package/types/MediaPicker/useMediaPicker.d.ts.map +1 -0
  1093. package/types/Skeleton/index.d.ts +25 -4
  1094. package/types/Skeleton/index.d.ts.map +1 -1
  1095. package/types/Spinner/spinnerSize.d.ts +1 -1
  1096. package/types/Wheel/index.d.ts.map +1 -1
  1097. package/types/fieldLayout.d.ts +6 -7
  1098. package/types/fieldLayout.d.ts.map +1 -1
  1099. package/types/fields/Barcode/BarcodeScanner.d.ts +1 -1
  1100. package/types/fields/Barcode/BarcodeScanner.d.ts.map +1 -1
  1101. package/types/fields/Barcode/BarcodeScanner.native.d.ts +1 -1
  1102. package/types/fields/Barcode/BarcodeScanner.native.d.ts.map +1 -1
  1103. package/types/fields/Barcode/index.d.ts +1 -3
  1104. package/types/fields/Barcode/index.d.ts.map +1 -1
  1105. package/types/fields/Barcode/scannerTypes.d.ts +2 -4
  1106. package/types/fields/Barcode/scannerTypes.d.ts.map +1 -1
  1107. package/types/fields/Checkbox/Checkbox.d.ts +6 -7
  1108. package/types/fields/Checkbox/Checkbox.d.ts.map +1 -1
  1109. package/types/fields/Checkbox/CheckboxBox.d.ts +6 -2
  1110. package/types/fields/Checkbox/CheckboxBox.d.ts.map +1 -1
  1111. package/types/fields/Checkbox/CheckboxCard.d.ts +5 -5
  1112. package/types/fields/Checkbox/CheckboxCard.d.ts.map +1 -1
  1113. package/types/fields/Checkbox/CheckboxGroup.d.ts +1 -3
  1114. package/types/fields/Checkbox/CheckboxGroup.d.ts.map +1 -1
  1115. package/types/fields/Checkbox/index.d.ts +5 -5
  1116. package/types/fields/Checkbox/index.d.ts.map +1 -1
  1117. package/types/fields/ColorPicker/index.d.ts +0 -2
  1118. package/types/fields/ColorPicker/index.d.ts.map +1 -1
  1119. package/types/fields/ColorPicker/parts.d.ts +2 -2
  1120. package/types/fields/ColorPicker/parts.d.ts.map +1 -1
  1121. package/types/fields/Combobox/index.d.ts +1 -3
  1122. package/types/fields/Combobox/index.d.ts.map +1 -1
  1123. package/types/fields/DatePicker/Calendar.d.ts.map +1 -1
  1124. package/types/fields/DatePicker/DateRangePicker.d.ts +0 -2
  1125. package/types/fields/DatePicker/DateRangePicker.d.ts.map +1 -1
  1126. package/types/fields/DatePicker/DatetimePicker.catalog.d.ts +0 -2
  1127. package/types/fields/DatePicker/DatetimePicker.catalog.d.ts.map +1 -1
  1128. package/types/fields/DatePicker/DatetimePicker.native.d.ts +0 -1
  1129. package/types/fields/DatePicker/DatetimePicker.native.d.ts.map +1 -1
  1130. package/types/fields/DatePicker/MonthPicker.d.ts +0 -2
  1131. package/types/fields/DatePicker/MonthPicker.d.ts.map +1 -1
  1132. package/types/fields/DatePicker/MultiDatePicker.d.ts +0 -2
  1133. package/types/fields/DatePicker/MultiDatePicker.d.ts.map +1 -1
  1134. package/types/fields/DatePicker/catalog.d.ts +0 -2
  1135. package/types/fields/DatePicker/catalog.d.ts.map +1 -1
  1136. package/types/fields/DatePicker/index.native.d.ts +0 -1
  1137. package/types/fields/DatePicker/index.native.d.ts.map +1 -1
  1138. package/types/fields/DatePicker/parts.d.ts +1 -2
  1139. package/types/fields/DatePicker/parts.d.ts.map +1 -1
  1140. package/types/fields/Duration/index.d.ts +2 -4
  1141. package/types/fields/Duration/index.d.ts.map +1 -1
  1142. package/types/fields/FileUpload/index.d.ts +10 -2
  1143. package/types/fields/FileUpload/index.d.ts.map +1 -1
  1144. package/types/fields/Geolocation/index.d.ts +1 -3
  1145. package/types/fields/Geolocation/index.d.ts.map +1 -1
  1146. package/types/fields/Icon/index.d.ts +0 -1
  1147. package/types/fields/Icon/index.d.ts.map +1 -1
  1148. package/types/fields/ImageField/index.d.ts +1 -3
  1149. package/types/fields/ImageField/index.d.ts.map +1 -1
  1150. package/types/fields/Input/index.d.ts +17 -22
  1151. package/types/fields/Input/index.d.ts.map +1 -1
  1152. package/types/fields/MentionInput/index.d.ts +0 -2
  1153. package/types/fields/MentionInput/index.d.ts.map +1 -1
  1154. package/types/fields/OTPInput/index.d.ts +0 -2
  1155. package/types/fields/OTPInput/index.d.ts.map +1 -1
  1156. package/types/fields/PhoneInput/index.d.ts +0 -1
  1157. package/types/fields/PhoneInput/index.d.ts.map +1 -1
  1158. package/types/fields/Progress/index.d.ts +4 -6
  1159. package/types/fields/Progress/index.d.ts.map +1 -1
  1160. package/types/fields/RadioGroup/index.d.ts +5 -7
  1161. package/types/fields/RadioGroup/index.d.ts.map +1 -1
  1162. package/types/fields/Rating/index.d.ts +1 -3
  1163. package/types/fields/Rating/index.d.ts.map +1 -1
  1164. package/types/fields/SearchInput/index.d.ts +7 -4
  1165. package/types/fields/SearchInput/index.d.ts.map +1 -1
  1166. package/types/fields/Select/index.d.ts +1 -3
  1167. package/types/fields/Select/index.d.ts.map +1 -1
  1168. package/types/fields/Signature/index.d.ts +1 -3
  1169. package/types/fields/Signature/index.d.ts.map +1 -1
  1170. package/types/fields/Slider/index.d.ts +8 -3
  1171. package/types/fields/Slider/index.d.ts.map +1 -1
  1172. package/types/fields/Stepper/index.d.ts +10 -2
  1173. package/types/fields/Stepper/index.d.ts.map +1 -1
  1174. package/types/fields/Switch/footprint.d.ts.map +1 -1
  1175. package/types/fields/Switch/index.d.ts +1 -3
  1176. package/types/fields/Switch/index.d.ts.map +1 -1
  1177. package/types/fields/TextArea/index.d.ts +1 -3
  1178. package/types/fields/TextArea/index.d.ts.map +1 -1
  1179. package/types/fields/TimePicker/catalog.d.ts +1 -3
  1180. package/types/fields/TimePicker/catalog.d.ts.map +1 -1
  1181. package/types/fields/TimePicker/index.native.d.ts +0 -1
  1182. package/types/fields/TimePicker/index.native.d.ts.map +1 -1
  1183. package/types/fields/TimePicker/parts.d.ts +1 -2
  1184. package/types/fields/TimePicker/parts.d.ts.map +1 -1
  1185. package/types/fields/TimeRangeScrubber/index.d.ts +1 -2
  1186. package/types/fields/TimeRangeScrubber/index.d.ts.map +1 -1
  1187. package/types/fields/ToggleGroup/index.d.ts +2 -4
  1188. package/types/fields/ToggleGroup/index.d.ts.map +1 -1
  1189. package/types/formSpacing.d.ts +3 -3
  1190. package/types/index.d.ts +7 -4
  1191. package/types/index.d.ts.map +1 -1
  1192. package/types/shared/colorRamps.d.ts +19 -21
  1193. package/types/shared/colorRamps.d.ts.map +1 -1
  1194. package/types/shared/floatingList.d.ts.map +1 -1
  1195. package/types/shared/focusManagement.d.ts.map +1 -1
  1196. package/types/shared/instantMotion.d.ts +4 -0
  1197. package/types/shared/instantMotion.d.ts.map +1 -0
  1198. package/types/shared/utils.d.ts +1 -3
  1199. package/types/shared/utils.d.ts.map +1 -1
  1200. package/types/themedPrimitives.d.ts +2 -2
  1201. package/src/Button/Button.density.spec.tsx +0 -164
@@ -1,21 +1,21 @@
1
1
  /**
2
2
  * @vitest-environment jsdom
3
3
  *
4
- * LC-65 SIZE-RECIPE (Button arm): medium/$4 paints at 44px — since MPO-13
5
- * the recipe table IS the measured Tamagui $size ramp ($4/$true = 44), so
4
+ * LC-65 SIZE-RECIPE (Button arm): medium/$4 paints at 40px — since MPO-13
5
+ * the recipe table IS the generated $size ramp ($4/$true = 40), so
6
6
  * the recipe fragment and the raw token finally agree. Radius steps with
7
7
  * the size token (MPO-46); the borderRadius knob is an override, not a
8
8
  * flat 9px across heights. jsdom cannot cascade Tamagui CSS, so
9
9
  * assertions read the atomic height/radius classes the frame emits.
10
10
  *
11
11
  * Desktop/jsdom: the touch floor (control.height >= 44) does not fire here;
12
- * at $4 it is a no-op anyway (desktop 44 = floor 44, touch lifts to 48).
12
+ * at $4 the desktop height is below the touch floor.
13
13
  * Height must come from the recipe fragment (concrete px class), never the
14
14
  * `_h-t-size-4` token class.
15
15
  */
16
16
 
17
17
  import { renderWithProviders } from "@multiplatform.one/test-utils";
18
- import { Preset } from "@multiplatform.one/theme";
18
+ import { Surface } from "@multiplatform.one/theme";
19
19
  import { cleanup, screen } from "@testing-library/react";
20
20
  import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
21
21
  import { __resetDevWarnSeen } from "../shared/devWarn";
@@ -41,31 +41,31 @@ function paddingPxFromClass(el: HTMLElement): number | null {
41
41
  }
42
42
 
43
43
  describe("Button LC-65 SIZE-RECIPE", () => {
44
- it("desktop/jsdom medium height is the measured 44 from the recipe, not the token class", () => {
44
+ it("desktop/jsdom medium height is the generated 40 from the recipe, not the token class", () => {
45
45
  renderWithProviders(<Button>Save</Button>);
46
46
  const frame = screen.getByRole("button");
47
- expect(frame.className).toMatch(/_h-44px/);
47
+ expect(frame.className).toMatch(/_h-40px/);
48
48
  expect(frame.className).not.toMatch(/_h-t-size-4/);
49
49
  });
50
50
 
51
51
  it("radius steps with the size token (MPO-46)", () => {
52
52
  renderWithProviders(
53
- <Preset overrides={{ size: "small" }}>
53
+ <Surface size="$3">
54
54
  <Button>Save</Button>
55
- </Preset>,
55
+ </Surface>,
56
56
  );
57
57
  const small = screen.getByRole("button");
58
- expect(small.className).toMatch(/_h-36px/);
58
+ expect(small.className).toMatch(/_h-32px/);
59
59
  const smallRadius = frameRadiusClasses(small);
60
60
  cleanup();
61
61
 
62
62
  renderWithProviders(
63
- <Preset overrides={{ size: "large" }}>
63
+ <Surface size="$5">
64
64
  <Button>Save</Button>
65
- </Preset>,
65
+ </Surface>,
66
66
  );
67
67
  const large = screen.getByRole("button");
68
- expect(large.className).toMatch(/_h-52px/);
68
+ expect(large.className).toMatch(/_h-48px/);
69
69
  const largeRadius = frameRadiusClasses(large);
70
70
 
71
71
  expect(smallRadius.length).toBeGreaterThan(0);
@@ -73,17 +73,17 @@ describe("Button LC-65 SIZE-RECIPE", () => {
73
73
  expect(smallRadius).not.toEqual(largeRadius);
74
74
  });
75
75
 
76
- it("recipeFamily controlCompact has smaller padding than control at the same size token", () => {
76
+ it("recipeFamily chip has smaller padding than control at the same size token", () => {
77
77
  renderWithProviders(<Button>Save</Button>);
78
78
  const control = screen.getByRole("button");
79
- expect(control.className).toMatch(/_h-44px/);
79
+ expect(control.className).toMatch(/_h-40px/);
80
80
  const controlPad = paddingPxFromClass(control);
81
81
  cleanup();
82
82
 
83
- renderWithProviders(<Button recipeFamily="controlCompact">Save</Button>);
83
+ renderWithProviders(<Button recipeFamily="chip">Save</Button>);
84
84
  const compact = screen.getByRole("button");
85
85
  const compactPad = paddingPxFromClass(compact);
86
- expect(compact.className).toMatch(/_h-44px/);
86
+ expect(compact.className).toMatch(/_h-40px/);
87
87
  if (controlPad != null && compactPad != null) {
88
88
  expect(compactPad).toBeLessThan(controlPad);
89
89
  }
@@ -106,7 +106,7 @@ describe("Button sizeRecipeEscape", () => {
106
106
  it("warns when numeric height is passed without sizeRecipeEscape", () => {
107
107
  renderWithProviders(<Button height={40}>Save</Button>);
108
108
  expect(warnSpy).toHaveBeenCalledWith(expect.stringContaining("size-recipe-escape"));
109
- expect(screen.getByRole("button").className).toMatch(/_h-44px/);
109
+ expect(screen.getByRole("button").className).toMatch(/_h-40px/);
110
110
  });
111
111
 
112
112
  it("sizeRecipeEscape suppresses the numeric-height warn", () => {
@@ -198,16 +198,13 @@ export const SizeLadder: Story = {
198
198
  };
199
199
 
200
200
  export const Anatomy: Story = {
201
- name: "Anatomy (size / density / selected / nested)",
201
+ name: "Anatomy (size / selected / nested)",
202
202
  render: () => (
203
203
  <YStack gap="$4" padding="$4">
204
204
  <XStack gap="$3" alignItems="center" flexWrap="wrap">
205
205
  <Button size="$3">Small</Button>
206
206
  <Button size="$4">Medium</Button>
207
207
  <Button size="$5">Large</Button>
208
- <Button size="$4" compact>
209
- Compact pad
210
- </Button>
211
208
  </XStack>
212
209
  <XStack gap="$3" alignItems="center" flexWrap="wrap">
213
210
  <Button outlined>Rest</Button>
@@ -381,3 +378,42 @@ export const StateFocus: Story = {
381
378
  </YStack>
382
379
  ),
383
380
  };
381
+
382
+ export const DisabledReasons: Story = {
383
+ parameters: {
384
+ docs: {
385
+ description: {
386
+ story:
387
+ "Disabled explanations stay on the parent surface. Switch the preset and light/dark scheme to compare accent, primary and plain actions in both placements.",
388
+ },
389
+ },
390
+ },
391
+ render: () => (
392
+ <YStack gap="$4" padding="$4" backgroundColor="$background">
393
+ {(["below", "inline"] as const).map((placement) => (
394
+ <YStack key={placement} gap="$3" alignItems="flex-start">
395
+ <Paragraph>{placement === "below" ? "Below the action" : "Beside the action"}</Paragraph>
396
+ <Button
397
+ accent
398
+ disabled
399
+ disabledReason="Complete the draft"
400
+ disabledReasonPlacement={placement}
401
+ >
402
+ Analyse
403
+ </Button>
404
+ <Button
405
+ actionRole="primary"
406
+ disabled
407
+ disabledReason="Choose a data source"
408
+ disabledReasonPlacement={placement}
409
+ >
410
+ Publish
411
+ </Button>
412
+ <Button disabled disabledReason="No saved changes" disabledReasonPlacement={placement}>
413
+ Save
414
+ </Button>
415
+ </YStack>
416
+ ))}
417
+ </YStack>
418
+ ),
419
+ };
@@ -1,6 +1,8 @@
1
+ import { transitionProps } from "@multiplatform.one/theme";
1
2
  import { pressSlopProps } from "../shared/pressSlopProps";
2
3
  import {
3
4
  Children,
5
+ cloneElement,
4
6
  createElement,
5
7
  isValidElement,
6
8
  useCallback,
@@ -23,6 +25,7 @@ import {
23
25
  solidPaletteThemes,
24
26
  useAccentOnSurface,
25
27
  useResolvedKnobs,
28
+ useTouchSurface,
26
29
  type RecipeFamilyName,
27
30
  type SizeRecipe,
28
31
  type SizeRecipeRadiusStop,
@@ -43,7 +46,7 @@ import {
43
46
  isWeb,
44
47
  useTheme,
45
48
  } from "tamagui";
46
- import { Spinner } from "../Spinner";
49
+ import { Skeleton } from "../Skeleton";
47
50
  import type { ThemeName } from "@tamagui/web";
48
51
  import type { GestureResponderEvent } from "react-native";
49
52
  import type { AnyFormApi } from "../types";
@@ -60,7 +63,7 @@ import { useControlGrouped } from "../shared/groupContext";
60
63
  * 28/32/40, Spectrum S/M, M3 XS/S). Height, pad, type, icon, gap and radius
61
64
  * step together from the size table. The borderRadius knob is an override
62
65
  * of painted corners only (`resolveControlRadius`); internal gap keeps the
63
- * icon and label grouped. Density selects the same-height compact family.
66
+ * icon and label grouped. A `<Surface size>` ceiling clamps the token.
64
67
  *
65
68
  * GENERATED (LC-75 / LC-80): Button consumes `recipeFamilies.control` — the
66
69
  * handwritten mirror table this file used to carry drifted (md font 13 vs the
@@ -74,27 +77,14 @@ export const buttonSizeRecipes: Record<string, ButtonSizeRecipe> = recipeFamilie
74
77
  export function resolveButtonSizeRecipe(
75
78
  size: SizeTokens | number | undefined,
76
79
  family: RecipeFamilyName = "control",
80
+ touch = false,
77
81
  ): ButtonSizeRecipe {
78
82
  // Arbitrary numeric height: derive pad/font/icon/gap in ratio (the
79
83
  // non-enumerable escape LC-80 reserves for `sizeRecipeFromHeight`).
80
84
  if (typeof size === "number") {
81
85
  return sizeRecipeFromHeight(size, recipeFamilies[family]?.ratios);
82
86
  }
83
- return sizeRecipeForToken(size == null ? "$true" : String(size), { family });
84
- }
85
-
86
- /**
87
- * Density selects the recipe FAMILY, it does not subtract from the recipe
88
- * (LC-79 / LC-80): control -> controlCompact, same heights, tighter ratios.
89
- * A hand-set delta is a second density writer and it drifts from the
90
- * generated table at every token but `$4` — it inverted at `$2`, where
91
- * `max(8, 7 - 2)` painted a compact Button WIDER than a comfortable one.
92
- */
93
- export function buttonDensityFamily(
94
- family: RecipeFamilyName,
95
- densityTight: boolean,
96
- ): RecipeFamilyName {
97
- return densityTight ? "controlCompact" : family;
87
+ return sizeRecipeForToken(size == null ? "$true" : String(size), { family, touch });
98
88
  }
99
89
 
100
90
  /**
@@ -111,21 +101,49 @@ function sizeTokenPx(size: SizeTokens | number | undefined): number {
111
101
  /** DG-ACT-01 role within an ActionBar / action region. */
112
102
  export type ButtonActionRole = "primary" | "secondary" | "chrome";
113
103
 
114
- type IconLike = ReactNode | ComponentType<{ size?: number }>;
104
+ type IconLike = ReactNode | ComponentType<{ size?: number; color?: string }>;
115
105
 
116
106
  /** Many call sites pass Phosphor `Icon` (component) instead of `<Icon />`. */
117
- function normalizeButtonIcon(icon: IconLike | undefined, iconSize: number): ReactNode {
107
+ function normalizeButtonIcon(
108
+ icon: IconLike | undefined,
109
+ iconSize: number,
110
+ color?: string,
111
+ ): ReactNode {
118
112
  if (icon == null || icon === false) return null;
119
- if (isValidElement(icon)) return icon;
113
+ if (isValidElement<{ color?: string }>(icon)) {
114
+ return color == null || icon.props.color != null ? icon : cloneElement(icon, { color });
115
+ }
116
+ const iconProps = { size: iconSize, ...(color == null ? undefined : { color }) };
120
117
  if (typeof icon === "function") {
121
- return createElement(icon, { size: iconSize });
118
+ return createElement(icon, iconProps);
122
119
  }
123
120
  if (typeof icon === "object" && icon !== null && "$$typeof" in icon) {
124
- return createElement(icon as unknown as ComponentType<{ size?: number }>, { size: iconSize });
121
+ return createElement(
122
+ icon as unknown as ComponentType<{ size?: number; color?: string }>,
123
+ iconProps,
124
+ );
125
125
  }
126
126
  return icon;
127
127
  }
128
128
 
129
+ function NativeButtonIcon({
130
+ icon,
131
+ size,
132
+ color,
133
+ }: {
134
+ icon: IconLike;
135
+ size: number;
136
+ color: TamaguiButtonProps["color"];
137
+ }) {
138
+ const theme = useTheme();
139
+ const ink = getVariableValue(
140
+ typeof color === "string" && color.startsWith("$")
141
+ ? (theme[color.slice(1) as keyof typeof theme] ?? theme.color)
142
+ : (color ?? theme.color),
143
+ );
144
+ return normalizeButtonIcon(icon, size, typeof ink === "string" ? ink : undefined);
145
+ }
146
+
129
147
  const getButtonSized = (val: SizeTokens | number, { props }: VariantSpreadExtras<any>) => {
130
148
  if (!val || props.circular) return;
131
149
  const recipe = resolveButtonSizeRecipe(val);
@@ -275,7 +293,6 @@ export interface ButtonProps extends Omit<
275
293
  outlined?: boolean;
276
294
  icon?: IconLike;
277
295
  iconAfter?: IconLike;
278
- compact?: boolean;
279
296
  /**
280
297
  * LC-71 / Spectrum ActionButton / Polaris `pressed`: selected is FILL, never
281
298
  * a second ring. Keyboard focus still paints the LC-71 outline on the frame.
@@ -284,7 +301,7 @@ export interface ButtonProps extends Omit<
284
301
  /**
285
302
  * LC-73: nested surfaces (dialog, overlay, calendar) paint `nestedControl`
286
303
  * (below the 44px chrome floor) and restore press with hitSlop. Does not
287
- * change page-level `circularPressFloor` (toolbar icon wells stay 44px).
304
+ * change the touch-only page-level `circularPressFloor`.
288
305
  */
289
306
  nested?: boolean;
290
307
  /**
@@ -323,8 +340,8 @@ export interface ButtonProps extends Omit<
323
340
  sizeRecipeEscape?: string;
324
341
  /**
325
342
  * Size-recipe FAMILY (LC-80): same heights, different ratios.
326
- * `controlCompact` tightens pad/font/icon/gap at the same height — a theme
327
- * opt-in, never a per-component tweak. Defaults to `control`.
343
+ * `chip` tightens pad/font/icon/gap at the same height. Defaults to
344
+ * `control`.
328
345
  */
329
346
  recipeFamily?: RecipeFamilyName;
330
347
  }
@@ -347,7 +364,6 @@ export function Button({
347
364
  tabIndex,
348
365
  icon,
349
366
  iconAfter,
350
- compact,
351
367
  selected,
352
368
  nested = false,
353
369
  circular,
@@ -415,14 +431,13 @@ export function Button({
415
431
  (warning && "warning") ||
416
432
  (success && "success") ||
417
433
  undefined;
418
- // compact is density, not a size step — do not pass it through
419
- // useResolvedKnobs (size stays on the size axis; LC-76). The PROP and the
420
- // density knob share one channel: both pick the recipe FAMILY, the same
421
- // way resolveKnobs picks it for every other control, so both land the
422
- // same padX and the internals stay recipe-generated (LC-75 / LC-79).
434
+ // A size token is clamped to the nearest <Surface size> ceiling (LC-78); a
435
+ // numeric size is the LC-80 height escape and is used as given.
436
+ const sizeProp = (props as { size?: SizeTokens | number }).size;
423
437
  const { knobProps, control, text, disabledState } = useResolvedKnobs({
424
438
  intent,
425
439
  component: "Button",
440
+ size: typeof sizeProp === "number" ? undefined : sizeProp,
426
441
  });
427
442
  // Ring color resolved OUTSIDE the intent <Theme> wrapper below — the
428
443
  // page-scope `$outlineColor` literal (DG-A11Y-01; see focusVisibleStyle).
@@ -430,13 +445,9 @@ export function Button({
430
445
  const pageOutlineColor = parentScopeTheme.outlineColor?.val as string | undefined;
431
446
  const hostAccentInk = useAccentOnSurface();
432
447
  const grouped = useControlGrouped();
433
- const sizeProp = (props as { size?: SizeTokens | number }).size;
434
- const resolvedSize = sizeProp ?? knobProps.sizeToken;
435
- const densityTight = compact !== undefined ? compact === true : knobProps.density === "compact";
436
- const recipe = resolveButtonSizeRecipe(
437
- resolvedSize,
438
- buttonDensityFamily(recipeFamily, densityTight),
439
- );
448
+ const resolvedSize = typeof sizeProp === "number" ? sizeProp : knobProps.sizeToken;
449
+ const touch = useTouchSurface();
450
+ const recipe = resolveButtonSizeRecipe(resolvedSize, recipeFamily, touch);
440
451
  const padX = recipe.paddingHorizontal;
441
452
  const radiusToken = knobProps.borderRadius.borderRadius;
442
453
  const radiusStop: SizeRecipeRadiusStop | undefined =
@@ -447,15 +458,15 @@ export function Button({
447
458
  : undefined;
448
459
  const paintedRadius = resolveControlRadius(recipe, radiusStop ?? "medium");
449
460
  const innerGap = paintedRadius.gap;
461
+ // The one Skeleton (forms), at the button's own recipe height.
462
+ const boneHeight = nested ? knobProps.nestedControl.px : recipe.height;
450
463
  if (skeleton) {
451
464
  return (
452
- <View
453
- {...knobProps.borderRadius}
454
- backgroundColor="$gray5"
455
- height={nested ? knobProps.nestedControl.px : recipe.height}
465
+ <Skeleton
466
+ variant="rounded"
467
+ height={boneHeight}
456
468
  width={120}
457
- opacity={0.5}
458
- {...props}
469
+ {...(props as Record<string, unknown>)}
459
470
  />
460
471
  );
461
472
  }
@@ -593,7 +604,7 @@ export function Button({
593
604
  // variant otherwise leaks 500/600 over it (MPO-125: a literal 400
594
605
  // here pinned the label and swallowed the fontWeight knob).
595
606
  fontWeight={knobProps.body.fontWeight}
596
- transition={knobProps.transition}
607
+ {...transitionProps(knobProps.motion.control)}
597
608
  >
598
609
  {label}
599
610
  </SizableText>
@@ -603,22 +614,50 @@ export function Button({
603
614
  const flattenedChildren = Array.isArray(resolvedChildren)
604
615
  ? Children.toArray(resolvedChildren)
605
616
  : null;
617
+ const labelContent = isBareTextChild(resolvedChildren)
618
+ ? renderLabelText(resolvedChildren)
619
+ : flattenedChildren?.some(isBareTextChild)
620
+ ? wrapBareTextChildren(flattenedChildren, renderLabelText)
621
+ : resolvedChildren;
622
+ // Loading shows state, not a narration: the shared Skeleton bone takes the
623
+ // label's slot at the recipe height (the label is swapped out; hosts such as
624
+ // Toolbar name the busy button through `aria-label`). The frame stays, so
625
+ // focus never leaves the button.
606
626
  const textContent = loading ? (
607
- <Spinner size="small" />
608
- ) : isBareTextChild(resolvedChildren) ? (
609
- renderLabelText(resolvedChildren)
610
- ) : flattenedChildren?.some(isBareTextChild) ? (
611
- wrapBareTextChildren(flattenedChildren, renderLabelText)
627
+ <View data-button-loading="">
628
+ <Skeleton variant="rounded" height={boneHeight} width={boneHeight * 2} aria-hidden />
629
+ </View>
612
630
  ) : (
613
- resolvedChildren
631
+ labelContent
614
632
  );
615
633
 
616
634
  const hasIcon = icon || iconAfter;
635
+ const nativeIconColor =
636
+ props.color ??
637
+ (isDisabled ? disabledText.color : undefined) ??
638
+ (textColor
639
+ ? outlinedOnHost
640
+ ? hostScoped({ color: textColor }).color
641
+ : textColor
642
+ : outlinedInk) ??
643
+ "$color";
617
644
  const iconElement = icon ? (
618
- <View flexShrink={0}>{normalizeButtonIcon(icon, iconSize)}</View>
645
+ <View flexShrink={0}>
646
+ {isWeb ? (
647
+ normalizeButtonIcon(icon, iconSize)
648
+ ) : (
649
+ <NativeButtonIcon icon={icon} size={iconSize} color={nativeIconColor} />
650
+ )}
651
+ </View>
619
652
  ) : null;
620
653
  const iconAfterElement = iconAfter ? (
621
- <View flexShrink={0}>{normalizeButtonIcon(iconAfter, iconSize)}</View>
654
+ <View flexShrink={0}>
655
+ {isWeb ? (
656
+ normalizeButtonIcon(iconAfter, iconSize)
657
+ ) : (
658
+ <NativeButtonIcon icon={iconAfter} size={iconSize} color={nativeIconColor} />
659
+ )}
660
+ </View>
622
661
  ) : null;
623
662
 
624
663
  const explainedDisable = Boolean(disabledReason?.trim()) && Boolean(isDisabled);
@@ -629,12 +668,12 @@ export function Button({
629
668
  const isCircular = Boolean(circular);
630
669
  const circularTokenPx = sizeTokenPx(resolvedSize);
631
670
  const visualPx = nested ? knobProps.nestedControl.px : recipe.height;
632
- // Circular tokens below 44 need an explicit box floor (circular variant also
671
+ // Touch circular tokens below 44 need an explicit box floor (circular variant also
633
672
  // sets maxWidth/maxHeight to the token). hitSlop covers native/touch leftovers.
634
673
  // Nested circulars skip this — they paint nestedControl and restore press
635
- // with slop (LC-73). Page-level toolbar wells keep the 44px painted floor.
674
+ // with slop (LC-73). Desktop toolbar wells keep their token box.
636
675
  const circularPressFloor =
637
- isCircular && circularTokenPx < MIN_PRESS_TARGET
676
+ isCircular && touch && typeof sizeProp !== "number" && circularTokenPx < MIN_PRESS_TARGET
638
677
  ? {
639
678
  width: MIN_PRESS_TARGET,
640
679
  height: MIN_PRESS_TARGET,
@@ -645,7 +684,11 @@ export function Button({
645
684
  hitSlop: pressTargetHitSlop(circularTokenPx),
646
685
  }
647
686
  : isCircular
648
- ? { minWidth: MIN_PRESS_TARGET, minHeight: MIN_PRESS_TARGET }
687
+ ? {
688
+ minWidth: circularTokenPx,
689
+ minHeight: circularTokenPx,
690
+ ...pressSlopProps(circularTokenPx, true),
691
+ }
649
692
  : undefined;
650
693
  const nestedFloor = nested
651
694
  ? {
@@ -693,8 +736,9 @@ export function Button({
693
736
  // DG-ST-03: an explained disable is aria-disabled (focusable, press
694
737
  // swallowed in handlePress) instead of a natively disabled dead end.
695
738
  disabled={explainedDisable ? false : isDisabled || false}
739
+ aria-busy={loading || undefined}
696
740
  opacity={1}
697
- transition={knobProps.transition}
741
+ {...transitionProps(knobProps.motion.control, ["borderRadius", "borderWidth"])}
698
742
  {...knobProps.borderRadius}
699
743
  {...(radiusStop === "medium" || radiusStop == null
700
744
  ? { borderRadius: paintedRadius.radius }
@@ -782,6 +826,9 @@ export function Button({
782
826
  {...(isWeb ? { onKeyDown: handleKeyDown as unknown as () => void } : undefined)}
783
827
  {...(tabIndex != null ? { tabIndex } : undefined)}
784
828
  gap={hasIcon && (resolvedChildren || textContent) ? innerGap : undefined}
829
+ // Form actions hug their label (Clay: no stretch): a Button inside a
830
+ // Form never takes the column's full width. A consumer width wins.
831
+ {...(formFromHook && !grouped ? { alignSelf: "flex-start" as const } : undefined)}
785
832
  // STD-EJECT-LAST: knob fragments and internal defaults (radius/size/
786
833
  // elevation/gap above) sit BEFORE the consumer spread so `{...props}`
787
834
  // stays the one styling eject. The spreads after it are not defaults:
@@ -841,9 +888,15 @@ export function Button({
841
888
  : undefined)}
842
889
  {...(resolvedRole ? { "data-mp-action-role": resolvedRole } : undefined)}
843
890
  data-mp-button-height={String(
844
- nested ? visualPx : isCircular ? Math.max(circularTokenPx, MIN_PRESS_TARGET) : visualPx,
891
+ nested
892
+ ? visualPx
893
+ : isCircular
894
+ ? touch && typeof sizeProp !== "number"
895
+ ? Math.max(circularTokenPx, MIN_PRESS_TARGET)
896
+ : circularTokenPx
897
+ : visualPx,
845
898
  )}
846
- data-mp-density={densityTight ? "compact" : "comfortable"}
899
+ data-size-token={knobProps.sizeToken}
847
900
  {...(selectedFill ? { "aria-pressed": true, "data-mp-selected": "true" } : undefined)}
848
901
  >
849
902
  {iconElement}
@@ -1,7 +1,13 @@
1
+ import { TamaguiProvider } from "tamagui";
1
2
  import { fireEvent } from "@testing-library/react";
2
3
  import { describe, expect, it, vi } from "vitest";
3
4
  import { renderWithProviders } from "@multiplatform.one/test-utils";
4
- import { Preset } from "@multiplatform.one/theme";
5
+ import {
6
+ Preset,
7
+ generateScale,
8
+ defaultScaleInputs,
9
+ createDefaultThemeConfig,
10
+ } from "@multiplatform.one/theme";
5
11
  import { CHIP_DISMISS_MIN_TARGET_FINE, Chip, chipDismissFloorOutset } from "./index";
6
12
 
7
13
  describe("Chip", () => {
@@ -67,8 +73,8 @@ describe("Chip", () => {
67
73
  return found;
68
74
  };
69
75
  expect(atoms("none")).toEqual([["_btlr-0px"], ["_btlr-0px"]]);
70
- expect(atoms("small")).toEqual([["_btlr-5px"], ["_btlr-5px"]]);
71
- expect(atoms("large")).toEqual([["_btlr-16px"], ["_btlr-16px"]]);
76
+ expect(atoms("small")).toEqual([["_btlr-4px"], ["_btlr-4px"]]);
77
+ expect(atoms("large")).toEqual([["_btlr-14px"], ["_btlr-14px"]]);
72
78
  expect(atoms("full")).toEqual([["_btlr-1000px"], ["_btlr-1000px"]]);
73
79
  });
74
80
 
@@ -241,3 +247,35 @@ describe("Chip", () => {
241
247
  expect(result.findTextElement("C")).toBeDefined();
242
248
  });
243
249
  });
250
+
251
+ describe("Chip label line height", () => {
252
+ for (const [size, key] of [
253
+ [undefined, "3"],
254
+ ["$5", "4"],
255
+ ] as const) {
256
+ it(`uses body $${key} leading at ${size ?? "default"} size`, () => {
257
+ const scale = generateScale(defaultScaleInputs);
258
+ const config = createDefaultThemeConfig().tamagui;
259
+ const result = renderWithProviders(
260
+ <TamaguiProvider config={config} defaultTheme="light">
261
+ <Chip size={size}>Line height</Chip>
262
+ </TamaguiProvider>,
263
+ { tamagui: false },
264
+ );
265
+ const label = result.getByText("Line height");
266
+ const style = getComputedStyle(label);
267
+ expect(style.lineHeight).toBe(`${scale.fonts.bodyLineHeights[key]}px`);
268
+ if (size === undefined) {
269
+ const frame = getComputedStyle(result.container.querySelector(".is_Chip")!);
270
+ const height =
271
+ Number.parseFloat(style.lineHeight) +
272
+ Number.parseFloat(frame.paddingTop) +
273
+ Number.parseFloat(frame.paddingBottom) +
274
+ Number.parseFloat(frame.borderTopWidth) +
275
+ Number.parseFloat(frame.borderBottomWidth);
276
+ expect(height).toBe(31);
277
+ }
278
+ result.unmount();
279
+ });
280
+ }
281
+ });
@@ -9,13 +9,14 @@ import {
9
9
  radiusStopFromToken,
10
10
  resolveRadiusClass,
11
11
  sizeRecipeForToken,
12
+ sizeKeyBelow,
12
13
  stackRadiusProps,
13
14
  useLegibleInkOn,
14
15
  useResolvedKnobs,
15
16
  type GroupOrientation,
16
17
  type GroupPosition,
17
18
  } from "@multiplatform.one/theme";
18
- import type { ColorTokens, GetProps } from "tamagui";
19
+ import type { ColorTokens, FontSizeTokens, GetProps } from "tamagui";
19
20
  import { Text, View, isWeb, styled, useTheme } from "tamagui";
20
21
  import { t } from "../shared/t";
21
22
 
@@ -133,14 +134,14 @@ function resolveVariant(variant: ChipVariantProp | undefined): ChipVariant {
133
134
  // ── Styled components ─────────────────────────────────────────
134
135
 
135
136
  /**
136
- * Chip geometry rides the GENERATED `controlCompact` family (LC-75 / LC-80):
137
+ * Chip geometry rides the GENERATED `chip` family (LC-75 / LC-80):
137
138
  * padX / font / icon / inner gap come from the recipe table — no handwritten
138
139
  * per-size px map. The pill has no recipe height: it hugs its label, and the
139
140
  * vertical inset derives as a quarter of the recipe padX (preserves the
140
141
  * audited $3/$4 pill height). Module-eval objects so styled() can flatten
141
142
  * (pilot pattern: InputParts spreads `recipeFamilies.control.boxVariants`).
142
143
  */
143
- const CHIP_RECIPE_FAMILY = "controlCompact" as const;
144
+ const CHIP_RECIPE_FAMILY = "chip" as const;
144
145
  const CHIP_SIZE_TOKENS = ["$2", "$3", "$4", "$5"] as const;
145
146
 
146
147
  function chipPadY(paddingHorizontal: number): number {
@@ -163,7 +164,10 @@ const chipFrameVariants = Object.fromEntries(
163
164
  const chipTextVariants = Object.fromEntries(
164
165
  CHIP_SIZE_TOKENS.map((token) => [
165
166
  token,
166
- { fontSize: sizeRecipeForToken(token, { family: CHIP_RECIPE_FAMILY }).fontSize },
167
+ {
168
+ fontSize: sizeRecipeForToken(token, { family: CHIP_RECIPE_FAMILY }).fontSize,
169
+ lineHeight: sizeKeyBelow(token) as FontSizeTokens,
170
+ },
167
171
  ]),
168
172
  );
169
173
 
@@ -179,7 +183,7 @@ const chipDismissVariants = Object.fromEntries(
179
183
  /**
180
184
  * Exported so chip-scale companions (e.g. the Tags "Add Tag" trigger) share
181
185
  * the exact same size variants — padding/font stay in lockstep with Chip for
182
- * every size token, all derived from `recipeFamilies.controlCompact`.
186
+ * every size token, all derived from `recipeFamilies.chip`.
183
187
  */
184
188
  export const ChipFrame = styled(View, {
185
189
  name: "Chip",
@@ -226,6 +230,7 @@ export const ChipText = styled(Text, {
226
230
  ...chipTextVariants,
227
231
  "...size": (val: unknown) => ({
228
232
  fontSize: sizeRecipeForToken(String(val ?? "$3"), { family: CHIP_RECIPE_FAMILY }).fontSize,
233
+ lineHeight: sizeKeyBelow(String(val ?? "$3")) as FontSizeTokens,
229
234
  }),
230
235
  },
231
236
  } as const,
@@ -395,10 +400,10 @@ export function Chip({
395
400
  // area past it symmetrically (≈1.75px/side at $2 — inside the half-row-gap
396
401
  // cap) via an absolute overlay that cannot affect layout.
397
402
  const dismissFloorOutset = dismissSide ? chipDismissFloorOutset(dismissSide) : 0;
398
- // Chip geometry (padding/font/icon) follows the size knob through the
403
+ // Chip geometry (padding/font/icon) follows the size token through the
399
404
  // shared size variants (Tags precedent, LC-18); an explicit size prop
400
- // ejects. Control padding is size-derived (SP-PAD), so the space knob
401
- // has no separate chip target.
405
+ // ejects. Control padding is size-derived (SP-PAD), so the spacing roles
406
+ // have no separate chip target.
402
407
  const resolvedSize = size ?? (knobProps.sizeToken as ChipSize);
403
408
  if (isWeb) ensureChipFocusRing();
404
409
 
@@ -468,6 +473,8 @@ export function Chip({
468
473
  {leading}
469
474
  <ChipText
470
475
  size={resolvedSize}
476
+ fontSize={sizeRecipeForToken(resolvedSize, { family: CHIP_RECIPE_FAMILY }).fontSize}
477
+ lineHeight={sizeKeyBelow(resolvedSize) as FontSizeTokens}
471
478
  color={textColor}
472
479
  {...knobProps.body}
473
480
  {...(disabled ? disabledState.textKnobProps : undefined)}