@12-apps/ui 6.20.0 → 6.21.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 (768) hide show
  1. package/NATIVE.md +5 -1
  2. package/dist/_internal/components/data-display/Alert/Alert.js +4 -4
  3. package/dist/_internal/components/data-display/Alert/Alert.styles.js +2 -2
  4. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +7 -7
  5. package/dist/_internal/components/data-display/Avatar/Avatar.js +2 -2
  6. package/dist/_internal/components/data-display/Badge/Badge.js +3 -3
  7. package/dist/_internal/components/data-display/CardKit/CardKebab.js +4 -4
  8. package/dist/_internal/components/data-display/CardKit/card-actions-context.js +5 -5
  9. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +10 -10
  10. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +5 -5
  11. package/dist/_internal/components/data-display/Carousel/Carousel.js +3 -3
  12. package/dist/_internal/components/data-display/Chart/Chart.js +4 -4
  13. package/dist/_internal/components/data-display/Chart/SpecChart.js +7 -7
  14. package/dist/_internal/components/data-display/Chart/chart-context.js +2 -2
  15. package/dist/_internal/components/data-display/Chart/chart-renderers.js +3 -3
  16. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
  17. package/dist/_internal/components/data-display/DataViews/DataViewsBoard.js +3 -3
  18. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +52 -51
  19. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +73 -69
  20. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +5 -5
  21. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +7 -7
  22. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +16 -12
  23. package/dist/_internal/components/data-display/DataViews/base-card.js +7 -5
  24. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +7 -7
  25. package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +10 -3
  26. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +6 -6
  27. package/dist/_internal/components/data-display/DataViews/base-list-card.js +14 -13
  28. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +17 -15
  29. package/dist/_internal/components/data-display/DataViews/data-views-columns-tab.js +3 -3
  30. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +5 -5
  31. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +8 -8
  32. package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +3 -3
  33. package/dist/_internal/components/data-display/DataViews/data-views-empty.js +5 -5
  34. package/dist/_internal/components/data-display/DataViews/data-views-export.js +5 -5
  35. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +21 -19
  36. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +12 -12
  37. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +4 -4
  38. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +47 -46
  39. package/dist/_internal/components/data-display/DataViews/data-views-header-row.js +3 -3
  40. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +27 -26
  41. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +8 -8
  42. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +11 -11
  43. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +3 -3
  44. package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +5 -5
  45. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +14 -14
  46. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +25 -21
  47. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +13 -13
  48. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +5 -5
  49. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +2 -2
  50. package/dist/_internal/components/data-display/DataViews/save-view-preview.js +3 -3
  51. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +8 -8
  52. package/dist/_internal/components/data-display/DataViews/use-saved-views-controller.js +2 -2
  53. package/dist/_internal/components/data-display/DescriptionItem/DescriptionItem.js +3 -3
  54. package/dist/_internal/components/data-display/EmptyState/EmptyState.js +3 -3
  55. package/dist/_internal/components/data-display/ErrorState/ErrorState.js +2 -2
  56. package/dist/_internal/components/data-display/HoverCard/HoverCard.js +1 -1
  57. package/dist/_internal/components/data-display/LazyImage/LazyImage.js +3 -3
  58. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +5 -5
  59. package/dist/_internal/components/data-display/LoadingState/LoadingState.js +3 -3
  60. package/dist/_internal/components/data-display/MapPreview/MapDecorations.js +2 -2
  61. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +3 -3
  62. package/dist/_internal/components/data-display/MapPreview/MapPreview.hooks.js +2 -2
  63. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +11 -11
  64. package/dist/_internal/components/data-display/MapPreview/MapTiles.js +2 -2
  65. package/dist/_internal/components/data-display/MapPreview/StaticMapView.js +4 -4
  66. package/dist/_internal/components/data-display/MapPreview/useMapPreview.js +3 -3
  67. package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +4 -4
  68. package/dist/_internal/components/data-display/Sheet/Sheet.js +2 -2
  69. package/dist/_internal/components/data-display/StatCard/StatCard.js +3 -3
  70. package/dist/_internal/components/data-display/Table/Table.js +3 -3
  71. package/dist/_internal/components/data-display/index.js +59 -59
  72. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +4 -4
  73. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +2 -2
  74. package/dist/_internal/components/feedback/index.js +9 -9
  75. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +3 -3
  76. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +12 -10
  77. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +7 -5
  78. package/dist/_internal/components/form/AddressAutocomplete/AddressFallbackField.js +5 -3
  79. package/dist/_internal/components/form/AddressAutocomplete/AddressInputField.js +5 -3
  80. package/dist/_internal/components/form/AddressAutocomplete/AddressTextField.js +4 -2
  81. package/dist/_internal/components/form/Autocomplete/Autocomplete.js +2 -2
  82. package/dist/_internal/components/form/Button/Button.js +3 -3
  83. package/dist/_internal/components/form/Calendar/Calendar.js +4 -4
  84. package/dist/_internal/components/form/Calendar/CalendarDayCell.js +2 -2
  85. package/dist/_internal/components/form/Calendar/CalendarMonth.js +3 -3
  86. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +10 -8
  87. package/dist/_internal/components/form/CategorySelect/CategoryPanelFoot.js +5 -3
  88. package/dist/_internal/components/form/CategorySelect/CategoryPanelHead.js +5 -3
  89. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +7 -5
  90. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +6 -4
  91. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +14 -12
  92. package/dist/_internal/components/form/CategorySelect/CategorySelect.styles.js +4 -2
  93. package/dist/_internal/components/form/CategorySelect/CategoryTrigger.js +5 -3
  94. package/dist/_internal/components/form/CepField/CepField.js +10 -4
  95. package/dist/_internal/components/form/Checkbox/Checkbox.base.js +1 -0
  96. package/dist/_internal/components/form/Checkbox/Checkbox.base.js.map +1 -0
  97. package/dist/_internal/components/form/Checkbox/Checkbox.helpers.js +2 -1
  98. package/dist/_internal/components/form/Checkbox/Checkbox.js +9 -2
  99. package/dist/_internal/components/form/Checkbox/Checkbox.metrics.js +34 -0
  100. package/dist/_internal/components/form/Checkbox/Checkbox.metrics.js.map +1 -0
  101. package/dist/_internal/components/form/CodeEditor/CodeEditor.js +6 -4
  102. package/dist/_internal/components/form/CreatableSelect/CreatableSelect.js +4 -2
  103. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +5 -5
  104. package/dist/_internal/components/form/Input/Input.base.js +1 -0
  105. package/dist/_internal/components/form/Input/Input.base.js.map +1 -0
  106. package/dist/_internal/components/form/Input/Input.helpers.js +23 -0
  107. package/dist/_internal/components/form/Input/Input.helpers.js.map +1 -0
  108. package/dist/_internal/components/form/Input/Input.js +9 -3
  109. package/dist/_internal/components/form/Input/Input.metrics.js +53 -0
  110. package/dist/_internal/components/form/Input/Input.metrics.js.map +1 -0
  111. package/dist/_internal/components/form/Input/Input.styles.js +10 -4
  112. package/dist/_internal/components/form/InputOTP/InputOTP.js +5 -3
  113. package/dist/_internal/components/form/InputOTP/InputOTP.styles.js +4 -2
  114. package/dist/_internal/components/form/Menubar/Menubar.js +4 -4
  115. package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +2 -2
  116. package/dist/_internal/components/form/PhoneInput/PhoneInput.js +4 -2
  117. package/dist/_internal/components/form/RadioGroup/RadioGroup.js +6 -4
  118. package/dist/_internal/components/form/RadioGroup/RadioGroup.styles.js +4 -2
  119. package/dist/_internal/components/form/RadioGroup/RadioGroup.variants.js +5 -3
  120. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +4 -2
  121. package/dist/_internal/components/form/Select/Select.base.js +1 -0
  122. package/dist/_internal/components/form/Select/Select.base.js.map +1 -0
  123. package/dist/_internal/components/form/Select/Select.helpers.js +48 -0
  124. package/dist/_internal/components/form/Select/Select.helpers.js.map +1 -0
  125. package/dist/_internal/components/form/Select/Select.js +10 -2
  126. package/dist/_internal/components/form/Select/Select.metrics.js +38 -0
  127. package/dist/_internal/components/form/Select/Select.metrics.js.map +1 -0
  128. package/dist/_internal/components/form/Switch/Switch.base.js +1 -0
  129. package/dist/_internal/components/form/Switch/Switch.base.js.map +1 -0
  130. package/dist/_internal/components/form/Switch/Switch.helpers.js +59 -0
  131. package/dist/_internal/components/form/Switch/Switch.helpers.js.map +1 -0
  132. package/dist/_internal/components/form/Switch/Switch.js +9 -3
  133. package/dist/_internal/components/form/Switch/Switch.metrics.js +83 -0
  134. package/dist/_internal/components/form/Switch/Switch.metrics.js.map +1 -0
  135. package/dist/_internal/components/form/Switch/Switch.parts.js +7 -2
  136. package/dist/_internal/components/form/Switch/Switch.styles.js +6 -1
  137. package/dist/_internal/components/form/Textarea/Textarea.js +5 -3
  138. package/dist/_internal/components/form/Textarea/Textarea.styles.js +4 -2
  139. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +4 -2
  140. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js.map +1 -1
  141. package/dist/_internal/components/form/Toggle/Toggle.js +5 -3
  142. package/dist/_internal/components/form/Toggle/Toggle.styles.js +4 -2
  143. package/dist/_internal/components/form/index.js +53 -47
  144. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +15 -13
  145. package/dist/_internal/components/form/total-form/Fields/CepField.js +11 -5
  146. package/dist/_internal/components/form/total-form/Fields/SelectField.js +11 -3
  147. package/dist/_internal/components/form/total-form/Fields/TextField.js +10 -4
  148. package/dist/_internal/components/form/total-form/Fields/index.js +29 -21
  149. package/dist/_internal/components/form/total-form/SubmitButton.js +4 -4
  150. package/dist/_internal/components/index.js +140 -134
  151. package/dist/_internal/components/layout/Box/Box.js +2 -2
  152. package/dist/_internal/components/layout/Container/Container.js +2 -2
  153. package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +3 -3
  154. package/dist/_internal/components/layout/Skeleton/Skeleton.js +2 -2
  155. package/dist/_internal/components/layout/Spacer/Spacer.js +2 -2
  156. package/dist/_internal/components/layout/Stack/Stack.js +3 -3
  157. package/dist/_internal/components/layout/index.js +13 -13
  158. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +6 -6
  159. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +2 -2
  160. package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +3 -3
  161. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +5 -5
  162. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +2 -2
  163. package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +3 -3
  164. package/dist/_internal/components/navigation/index.js +13 -13
  165. package/dist/_internal/components/typography/Heading/Heading.js +2 -2
  166. package/dist/_internal/components/typography/Paragraph/Paragraph.js +2 -2
  167. package/dist/_internal/components/typography/Text/Text.js +2 -2
  168. package/dist/_internal/components/typography/index.js +4 -4
  169. package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.js +2 -2
  170. package/dist/_internal/components/utility/index.js +2 -2
  171. package/dist/_internal/icons/Icon.js +3 -3
  172. package/dist/_internal/icons/paths.generated.js +1 -1
  173. package/dist/_internal/platform/aria.js +17 -1
  174. package/dist/_internal/platform/aria.js.map +1 -1
  175. package/dist/_internal/platform/test-id.js +3 -1
  176. package/dist/_internal/social-login-button/social-login-button.js +6 -6
  177. package/dist/_internal/tokens/field-edge.core.js +11 -0
  178. package/dist/_internal/tokens/field-edge.core.js.map +1 -0
  179. package/dist/_internal/tokens/field-edge.js +5 -2
  180. package/dist/_internal/user-avatar/user-avatar.js +7 -7
  181. package/dist/charts.js +13 -13
  182. package/dist/{chunk-2PCOC3PT.js → chunk-26Z7QWID.js} +2 -2
  183. package/dist/chunk-2ECT4IY2.js +250 -0
  184. package/dist/chunk-2ECT4IY2.js.map +1 -0
  185. package/dist/{chunk-IJIT5HQP.js → chunk-2QFTAGDH.js} +3 -3
  186. package/dist/{chunk-ENNW5SKT.js → chunk-2QLVUVVR.js} +2 -2
  187. package/dist/{chunk-W3FAKT3D.js → chunk-2SWQ6HIK.js} +4 -4
  188. package/dist/{chunk-7P2HZLEG.js → chunk-3UOHKHOT.js} +3 -3
  189. package/dist/{chunk-URWGRPL7.js → chunk-3W7IEWEL.js} +2 -2
  190. package/dist/{chunk-Z7JNCB5Q.js → chunk-426FTCMF.js} +2 -2
  191. package/dist/{chunk-46UPILLK.js → chunk-4ETQRBZC.js} +4 -4
  192. package/dist/{chunk-NQC6H7GY.js → chunk-4HYXEMBP.js} +2 -2
  193. package/dist/{chunk-43NEBUV3.js → chunk-4K7FDVAB.js} +2 -2
  194. package/dist/{chunk-LMJBINWN.js → chunk-4MLDWACO.js} +13 -13
  195. package/dist/{chunk-GGE7Y53F.js → chunk-4TXIZ5WI.js} +2 -2
  196. package/dist/{chunk-J6UFAMIC.js → chunk-5RQ7N63M.js} +2 -2
  197. package/dist/chunk-5ZNU2U4D.js +41 -0
  198. package/dist/chunk-5ZNU2U4D.js.map +1 -0
  199. package/dist/{chunk-AVGTTWTE.js → chunk-65DLYC4S.js} +4 -4
  200. package/dist/{chunk-QLWBQQW7.js → chunk-6F5IKY32.js} +5 -1
  201. package/dist/chunk-6F5IKY32.js.map +1 -0
  202. package/dist/{chunk-B2A4DG77.js → chunk-6RGWDKUL.js} +6 -6
  203. package/dist/{chunk-DCEMUZJQ.js → chunk-6WIDZGXE.js} +2 -2
  204. package/dist/{chunk-R7MX5KPJ.js → chunk-6YLAVHV4.js} +4 -4
  205. package/dist/{chunk-E27Y7FF2.js → chunk-6Z4H2Y77.js} +4 -4
  206. package/dist/{chunk-PNYXXLPU.js → chunk-736HP6BL.js} +2 -2
  207. package/dist/{chunk-C52BELLW.js → chunk-77F36LQQ.js} +3 -3
  208. package/dist/chunk-7FDU3FIN.js +13 -0
  209. package/dist/chunk-7FDU3FIN.js.map +1 -0
  210. package/dist/{chunk-RXSGHPCR.js → chunk-7FOOLP5H.js} +4 -4
  211. package/dist/{chunk-74OZ5KVR.js → chunk-7KTU6YMQ.js} +6 -6
  212. package/dist/{chunk-X5D3PTWI.js → chunk-7MAOQIWA.js} +2 -2
  213. package/dist/{chunk-5ZF3VASA.js → chunk-7ZH7ZB33.js} +7 -7
  214. package/dist/{chunk-FX5DY6VR.js → chunk-AD776JPA.js} +7 -4
  215. package/dist/chunk-AD776JPA.js.map +1 -0
  216. package/dist/{chunk-PQECNGDE.js → chunk-AGYGNNOM.js} +2 -2
  217. package/dist/{chunk-PU3AAKRR.js → chunk-AJ6XEO4E.js} +2 -2
  218. package/dist/{chunk-WX7VWW3W.js → chunk-B3BK2SNS.js} +2 -2
  219. package/dist/{chunk-VJK5FBNK.js → chunk-B5PYBEXO.js} +2 -2
  220. package/dist/{chunk-47UD6DZ4.js → chunk-BDVNAU2C.js} +4 -4
  221. package/dist/{chunk-FGLV6BXQ.js → chunk-BEGWE5O4.js} +5 -5
  222. package/dist/{chunk-6IUTT6BK.js → chunk-BEH4DN63.js} +4 -4
  223. package/dist/{chunk-HKV4MQ2W.js → chunk-BLBOYCOV.js} +5 -5
  224. package/dist/{chunk-24BUCMQA.js → chunk-BNNSO4MC.js} +5 -5
  225. package/dist/{chunk-CZJLWCEG.js → chunk-BPYPUEM5.js} +2 -2
  226. package/dist/{chunk-NHSMLVNC.js → chunk-BQQONDW5.js} +7 -7
  227. package/dist/{chunk-DQHC5P64.js → chunk-BRSF5NRT.js} +4 -4
  228. package/dist/{chunk-M7OHXNLF.js → chunk-CXVMD6FE.js} +3 -3
  229. package/dist/{chunk-LYSSO6WC.js → chunk-CZPU5TW3.js} +4 -4
  230. package/dist/{chunk-DOADQW7I.js → chunk-D4T646G4.js} +2 -2
  231. package/dist/{chunk-2W4CIWTW.js → chunk-DBYFC6CF.js} +3 -3
  232. package/dist/{chunk-76GZ55IC.js → chunk-DF2FFYZ7.js} +7 -7
  233. package/dist/chunk-DFK6QCXX.js +150 -0
  234. package/dist/chunk-DFK6QCXX.js.map +1 -0
  235. package/dist/{chunk-BILE3A7F.js → chunk-DH75UNF3.js} +2 -2
  236. package/dist/{chunk-MLOWPVVW.js → chunk-EPEJMTCQ.js} +16 -13
  237. package/dist/chunk-EPEJMTCQ.js.map +1 -0
  238. package/dist/{chunk-6D5WEZ2L.js → chunk-FB36IHCE.js} +8 -8
  239. package/dist/{chunk-OI3HOI74.js → chunk-FGUESLDX.js} +2 -2
  240. package/dist/{chunk-PC5FFEIY.js → chunk-FINCVAAR.js} +4 -4
  241. package/dist/{chunk-YK2PETUP.js → chunk-FRQ4HNGF.js} +2 -2
  242. package/dist/{chunk-WO52KYSU.js → chunk-G2IPK2XE.js} +10 -10
  243. package/dist/{chunk-E4FGKZID.js → chunk-GBNOYRLP.js} +8 -8
  244. package/dist/{chunk-UNF65XZW.js → chunk-GBRKP5GZ.js} +2 -2
  245. package/dist/{chunk-VLHGBFR6.js → chunk-GCXYCDOA.js} +2 -2
  246. package/dist/{chunk-EX3PSZLV.js → chunk-GDEXYUPF.js} +3 -3
  247. package/dist/{chunk-4N4ENTF7.js → chunk-GO4MVQGC.js} +2 -2
  248. package/dist/{chunk-HDNK7BAX.js → chunk-GT7C6TSM.js} +3 -3
  249. package/dist/chunk-GY6KNVMI.js +39 -0
  250. package/dist/chunk-GY6KNVMI.js.map +1 -0
  251. package/dist/{chunk-HBAPVB7T.js → chunk-HKKSZ7HG.js} +2 -2
  252. package/dist/{chunk-3AOOI2NR.js → chunk-HR7YTBR7.js} +4 -4
  253. package/dist/{chunk-AEGX66N7.js → chunk-I3MDKPGG.js} +2 -2
  254. package/dist/{chunk-7BYFC2MR.js → chunk-I7HYGIEJ.js} +6 -6
  255. package/dist/{chunk-D7FJ2GAD.js → chunk-IFNK5TPI.js} +2 -2
  256. package/dist/{chunk-PODGTNXS.js → chunk-IH4RSRQA.js} +4 -4
  257. package/dist/{chunk-UF27D35R.js → chunk-IIROZKW5.js} +2 -2
  258. package/dist/{chunk-PUBPZOQJ.js → chunk-IPE5FFFD.js} +2 -2
  259. package/dist/{chunk-37YPZHAG.js → chunk-JDMYD6QC.js} +2 -2
  260. package/dist/{chunk-HSAH5QUQ.js → chunk-JIINGMEB.js} +6 -6
  261. package/dist/{chunk-NRUYYGDZ.js → chunk-JXAYT6LX.js} +2 -2
  262. package/dist/{chunk-VMNSGE2G.js → chunk-KEVPUBOE.js} +5 -1
  263. package/dist/chunk-KEVPUBOE.js.map +1 -0
  264. package/dist/{chunk-ZBNTFWTG.js → chunk-KIHQE5YA.js} +2 -2
  265. package/dist/{chunk-DVUPIVI2.js → chunk-KT6HWAEN.js} +4 -4
  266. package/dist/{chunk-MY5VNNSP.js → chunk-MCRIT46W.js} +4 -4
  267. package/dist/chunk-MLCFODJO.js +135 -0
  268. package/dist/chunk-MLCFODJO.js.map +1 -0
  269. package/dist/{chunk-Q5EQC7NL.js → chunk-N5IVVLTH.js} +8 -5
  270. package/dist/chunk-N5IVVLTH.js.map +1 -0
  271. package/dist/{chunk-6XPNJLXE.js → chunk-NARIG5FL.js} +2 -2
  272. package/dist/{chunk-MBYO2F4Y.js → chunk-NUE774AN.js} +6 -6
  273. package/dist/{chunk-ZEBJT5JZ.js → chunk-OCXCH2ZW.js} +12 -12
  274. package/dist/{chunk-7TZ6OC5T.js → chunk-OH3YGJT5.js} +2 -2
  275. package/dist/{chunk-SM3NRN7L.js → chunk-ON2CMKTI.js} +2 -2
  276. package/dist/{chunk-VCTKJHXD.js → chunk-OOGEYCJH.js} +2 -2
  277. package/dist/{chunk-J54WH74M.js → chunk-P6IPJYCS.js} +6 -6
  278. package/dist/{chunk-23FCBIUN.js → chunk-P7FQUGED.js} +8 -8
  279. package/dist/{chunk-THBT56JE.js → chunk-PANMJFDS.js} +2 -2
  280. package/dist/{chunk-LZRURORY.js → chunk-PF5HDFYY.js} +3 -3
  281. package/dist/{chunk-YVW7VPK4.js → chunk-PFLKPNBU.js} +2 -2
  282. package/dist/{chunk-7EESF76V.js → chunk-PWXL3QQ6.js} +2 -2
  283. package/dist/{chunk-7DNQHMDO.js → chunk-PXH24VIP.js} +4 -4
  284. package/dist/{chunk-HBZIN6IQ.js → chunk-PZEC5CQA.js} +2 -2
  285. package/dist/{chunk-LAHDFBDE.js → chunk-QFHH2NU5.js} +3 -3
  286. package/dist/{chunk-GBB6XQ56.js → chunk-QGBMCB76.js} +2 -2
  287. package/dist/{chunk-SOCKK67R.js → chunk-QRX5BYUQ.js} +7 -7
  288. package/dist/{chunk-QZWKC3AP.js → chunk-QS7ZGRNS.js} +2 -2
  289. package/dist/{chunk-IH4CX43Q.js → chunk-QZDBWXZG.js} +2 -2
  290. package/dist/{chunk-PHCSPHDH.js → chunk-R6RVBYTU.js} +3 -3
  291. package/dist/{chunk-KZSKI2R3.js → chunk-RPQ3W2C6.js} +2 -2
  292. package/dist/{chunk-HEG7JIBM.js → chunk-RPWEXIAW.js} +5 -5
  293. package/dist/{chunk-JB67KPGM.js → chunk-RRO2EOJB.js} +4 -4
  294. package/dist/{chunk-BLT5ZBVL.js → chunk-RRX6ZTNX.js} +2 -2
  295. package/dist/{chunk-7RZ4WOQW.js → chunk-RRZBATXK.js} +3 -3
  296. package/dist/{chunk-RMSH2I3O.js → chunk-S6YY2WWK.js} +40 -50
  297. package/dist/chunk-S6YY2WWK.js.map +1 -0
  298. package/dist/{chunk-7JWXLDRH.js → chunk-SAHQLXNN.js} +4 -4
  299. package/dist/{chunk-LUMF63BM.js → chunk-SFAP5EH5.js} +4 -4
  300. package/dist/{chunk-EGRFMPGD.js → chunk-SHDIZSN5.js} +6 -6
  301. package/dist/{chunk-GJQYM3PM.js → chunk-SHQWIDD5.js} +4 -4
  302. package/dist/{chunk-BJ3J6FTN.js → chunk-STH66VLA.js} +40 -23
  303. package/dist/chunk-STH66VLA.js.map +1 -0
  304. package/dist/{chunk-FCOEJCUP.js → chunk-TFO6GBW7.js} +2 -2
  305. package/dist/{chunk-2ZDTGI5V.js → chunk-THZ2NAA4.js} +7 -7
  306. package/dist/{chunk-OQXOYHIV.js → chunk-TLX66HCW.js} +45 -37
  307. package/dist/chunk-TLX66HCW.js.map +1 -0
  308. package/dist/{chunk-VJFH2AXT.js → chunk-TP4N3X2Q.js} +2 -2
  309. package/dist/{chunk-B7BZAIHL.js → chunk-TPIBJP4S.js} +2 -2
  310. package/dist/{chunk-Q4NOI2CR.js → chunk-TVO5STZB.js} +5 -5
  311. package/dist/{chunk-JB7JE4QZ.js → chunk-TZ4SFX3M.js} +3 -3
  312. package/dist/{chunk-JD364H3Y.js → chunk-TZ633UZA.js} +6 -5
  313. package/dist/chunk-TZ633UZA.js.map +1 -0
  314. package/dist/{chunk-HEK4LQT6.js → chunk-UB76PBDF.js} +2 -2
  315. package/dist/{chunk-NFAKRI4S.js → chunk-UEIVXFUC.js} +2 -2
  316. package/dist/{chunk-DX527XPL.js → chunk-UOPQOBQZ.js} +3 -3
  317. package/dist/{chunk-X24P3ZYW.js → chunk-V5P5Q6HM.js} +10 -10
  318. package/dist/{chunk-7DBFEZRC.js → chunk-VIK3HAUQ.js} +2 -2
  319. package/dist/{chunk-74EZ565M.js → chunk-VPHOSIPB.js} +5 -5
  320. package/dist/{chunk-SX3V2DLV.js → chunk-VWBWKLXX.js} +4 -4
  321. package/dist/{chunk-VEFDL77X.js → chunk-VWGR5XUP.js} +2 -2
  322. package/dist/{chunk-SEH7KOVG.js → chunk-VXTYVJDK.js} +2 -2
  323. package/dist/{chunk-QYNCPS5W.js → chunk-WBKWIFXA.js} +6 -6
  324. package/dist/{chunk-YFHIESMD.js → chunk-WPZT2JD4.js} +2 -2
  325. package/dist/{chunk-GSFNH4C5.js → chunk-WROCSDVL.js} +5 -5
  326. package/dist/{chunk-VSLUFBMT.js → chunk-WTIOCG4M.js} +41 -27
  327. package/dist/chunk-WTIOCG4M.js.map +1 -0
  328. package/dist/{chunk-QZBUGUOY.js → chunk-XEE7PLDR.js} +6 -6
  329. package/dist/{chunk-Z4GWXTZV.js → chunk-XFU2S6XT.js} +7 -7
  330. package/dist/{chunk-RQDN4BN5.js → chunk-XLJJ2ZAP.js} +16 -16
  331. package/dist/{chunk-ACDYA5WC.js → chunk-XZTOIEKI.js} +2 -2
  332. package/dist/{chunk-LKVIZNUM.js → chunk-Y46RBFBV.js} +8 -8
  333. package/dist/{chunk-WBVHRLIS.js → chunk-YCCKY5VW.js} +5 -5
  334. package/dist/{chunk-SKZHOWTS.js → chunk-YDI6IJ6F.js} +2 -2
  335. package/dist/{chunk-V3SBJ3PB.js → chunk-Z5ABJLTM.js} +2 -2
  336. package/dist/{chunk-KQ74QU55.js → chunk-Z6UEOSL7.js} +3 -3
  337. package/dist/{chunk-G5ZVD5IJ.js → chunk-ZDWU52DJ.js} +2 -2
  338. package/dist/{chunk-2EKALM6P.js → chunk-ZFPJBKVZ.js} +4 -4
  339. package/dist/{chunk-FP4R47TM.js → chunk-ZGHIHEND.js} +2 -2
  340. package/dist/{chunk-F2DOTCF3.js → chunk-ZKFYBC6G.js} +2 -2
  341. package/dist/{chunk-4MGFUPQT.js → chunk-ZOUWHGV3.js} +4 -4
  342. package/dist/{chunk-4WK2RTVY.js → chunk-ZXLIWOXC.js} +5 -5
  343. package/dist/{chunk-UMDXGIRZ.js → chunk-ZZOOSKSV.js} +2 -2
  344. package/dist/data-display/Alert.js +4 -4
  345. package/dist/data-display/AsyncStateContainer.js +7 -7
  346. package/dist/data-display/Avatar.js +2 -2
  347. package/dist/data-display/Badge.js +3 -3
  348. package/dist/data-display/CardKit.js +18 -18
  349. package/dist/data-display/Carousel.js +3 -3
  350. package/dist/data-display/Chart.js +13 -13
  351. package/dist/data-display/DataGrid.js +2 -2
  352. package/dist/data-display/DataViews.js +89 -84
  353. package/dist/data-display/DescriptionItem.js +3 -3
  354. package/dist/data-display/EmptyState.js +3 -3
  355. package/dist/data-display/ErrorState.js +2 -2
  356. package/dist/data-display/HoverCard.js +1 -1
  357. package/dist/data-display/LazyImage.js +3 -3
  358. package/dist/data-display/Lightbox.js +5 -5
  359. package/dist/data-display/LoadingState.js +3 -3
  360. package/dist/data-display/MapPreview.js +11 -11
  361. package/dist/data-display/SectionOnboarding.js +4 -4
  362. package/dist/data-display/Sheet.js +2 -2
  363. package/dist/data-display/StatCard.js +3 -3
  364. package/dist/data-display/Table.js +3 -3
  365. package/dist/feedback/ConfirmAction.js +7 -7
  366. package/dist/feedback/TutorialOverlay.js +2 -2
  367. package/dist/form/AddressAutocomplete.js +12 -10
  368. package/dist/form/Autocomplete.js +2 -2
  369. package/dist/form/Button.js +3 -3
  370. package/dist/form/Calendar.js +4 -4
  371. package/dist/form/CategorySelect.js +14 -12
  372. package/dist/form/CepField.js +10 -4
  373. package/dist/form/Checkbox.js +9 -2
  374. package/dist/form/CodeEditor.js +6 -4
  375. package/dist/form/CreatableSelect.js +4 -2
  376. package/dist/form/DateRangePicker.js +5 -5
  377. package/dist/form/Input.js +9 -3
  378. package/dist/form/InputOTP.js +5 -3
  379. package/dist/form/Menubar.js +4 -4
  380. package/dist/form/PhoneInput.js +4 -2
  381. package/dist/form/RadioGroup.js +6 -4
  382. package/dist/form/RichTextEditor.js +4 -2
  383. package/dist/form/Select.js +10 -2
  384. package/dist/form/Switch.js +9 -3
  385. package/dist/form/Textarea.js +5 -3
  386. package/dist/form/Toggle.js +5 -3
  387. package/dist/form/total-form.js +33 -28
  388. package/dist/icons.js +3 -3
  389. package/dist/layout/Box.js +2 -2
  390. package/dist/layout/Container.js +2 -2
  391. package/dist/layout/ContentToolbar.js +6 -6
  392. package/dist/layout/ScrollArea.js +3 -3
  393. package/dist/layout/Skeleton.js +2 -2
  394. package/dist/layout/Spacer.js +2 -2
  395. package/dist/layout/Stack.js +3 -3
  396. package/dist/native/chunks/{chunk-Q52IDAF2.js → chunk-D4EYAXNG.js} +6 -2
  397. package/dist/native/chunks/chunk-D4EYAXNG.js.map +1 -0
  398. package/dist/native/chunks/{chunk-EKKNUEA6.js → chunk-OGWPPQL4.js} +2 -2
  399. package/dist/native/chunks/chunk-OXHZDFJZ.js +15 -0
  400. package/dist/native/chunks/chunk-OXHZDFJZ.js.map +1 -0
  401. package/dist/native/chunks/{chunk-M4DTJDWU.js → chunk-QZAUOHDQ.js} +1 -1
  402. package/dist/native/chunks/chunk-QZAUOHDQ.js.map +1 -0
  403. package/dist/native/chunks/{chunk-UKCCYP52.js → chunk-RJVM5YDE.js} +2 -2
  404. package/dist/native/chunks/chunk-T6BJPP3E.js +26 -0
  405. package/dist/native/chunks/chunk-T6BJPP3E.js.map +1 -0
  406. package/dist/native/chunks/chunk-WKMDCNIN.js +351 -0
  407. package/dist/native/chunks/chunk-WKMDCNIN.js.map +1 -0
  408. package/dist/native/data-display/Alert.js +3 -3
  409. package/dist/native/data-display/Avatar.js +2 -2
  410. package/dist/native/data-display/Badge.js +3 -3
  411. package/dist/native/data-display/Chip.js +2 -2
  412. package/dist/native/data-display/EmptyState.js +4 -4
  413. package/dist/native/data-display/ErrorState.js +4 -4
  414. package/dist/native/data-display/LoadingState.js +1 -1
  415. package/dist/native/form/Button.js +2 -2
  416. package/dist/native/form/Checkbox.js +233 -0
  417. package/dist/native/form/Checkbox.js.map +1 -0
  418. package/dist/native/form/Input.js +233 -0
  419. package/dist/native/form/Input.js.map +1 -0
  420. package/dist/native/form/Select.js +348 -0
  421. package/dist/native/form/Select.js.map +1 -0
  422. package/dist/native/form/Switch.js +511 -0
  423. package/dist/native/form/Switch.js.map +1 -0
  424. package/dist/native/icons.js +2 -2
  425. package/dist/native/layout/Box.js +2 -2
  426. package/dist/native/layout/Container.js +1 -1
  427. package/dist/native/layout/Skeleton.js +1 -1
  428. package/dist/native/layout/Spacer.js +1 -1
  429. package/dist/native/layout/Stack.js +2 -2
  430. package/dist/native/typography/Heading.js +1 -1
  431. package/dist/native/typography/Paragraph.js +1 -1
  432. package/dist/native/typography/Text.js +1 -1
  433. package/dist/navigation/AppHeader.js +6 -6
  434. package/dist/navigation/CommandPalette.js +2 -2
  435. package/dist/navigation/NavigationMenu.js +5 -5
  436. package/dist/social-login-button.js +6 -6
  437. package/dist/types/components/form/Checkbox/Checkbox.base.d.ts +36 -0
  438. package/dist/types/components/form/Checkbox/Checkbox.base.d.ts.map +1 -0
  439. package/dist/types/components/form/Checkbox/Checkbox.d.ts.map +1 -1
  440. package/dist/types/components/form/Checkbox/Checkbox.helpers.d.ts +9 -3
  441. package/dist/types/components/form/Checkbox/Checkbox.helpers.d.ts.map +1 -1
  442. package/dist/types/components/form/Checkbox/Checkbox.metrics.d.ts +92 -0
  443. package/dist/types/components/form/Checkbox/Checkbox.metrics.d.ts.map +1 -0
  444. package/dist/types/components/form/Checkbox/Checkbox.types.d.ts +8 -10
  445. package/dist/types/components/form/Checkbox/Checkbox.types.d.ts.map +1 -1
  446. package/dist/types/components/form/Checkbox/index.d.ts +1 -1
  447. package/dist/types/components/form/Checkbox/index.d.ts.map +1 -1
  448. package/dist/types/components/form/Input/Input.base.d.ts +62 -0
  449. package/dist/types/components/form/Input/Input.base.d.ts.map +1 -0
  450. package/dist/types/components/form/Input/Input.d.ts.map +1 -1
  451. package/dist/types/components/form/Input/Input.helpers.d.ts +11 -0
  452. package/dist/types/components/form/Input/Input.helpers.d.ts.map +1 -0
  453. package/dist/types/components/form/Input/Input.metrics.d.ts +186 -0
  454. package/dist/types/components/form/Input/Input.metrics.d.ts.map +1 -0
  455. package/dist/types/components/form/Input/Input.styles.d.ts +1 -35
  456. package/dist/types/components/form/Input/Input.styles.d.ts.map +1 -1
  457. package/dist/types/components/form/Input/Input.types.d.ts +12 -17
  458. package/dist/types/components/form/Input/Input.types.d.ts.map +1 -1
  459. package/dist/types/components/form/Input/index.d.ts +1 -1
  460. package/dist/types/components/form/Input/index.d.ts.map +1 -1
  461. package/dist/types/components/form/Select/Select.base.d.ts +75 -0
  462. package/dist/types/components/form/Select/Select.base.d.ts.map +1 -0
  463. package/dist/types/components/form/Select/Select.d.ts.map +1 -1
  464. package/dist/types/components/form/Select/Select.helpers.d.ts +36 -0
  465. package/dist/types/components/form/Select/Select.helpers.d.ts.map +1 -0
  466. package/dist/types/components/form/Select/Select.metrics.d.ts +72 -0
  467. package/dist/types/components/form/Select/Select.metrics.d.ts.map +1 -0
  468. package/dist/types/components/form/Select/Select.types.d.ts +12 -49
  469. package/dist/types/components/form/Select/Select.types.d.ts.map +1 -1
  470. package/dist/types/components/form/Select/index.d.ts +1 -1
  471. package/dist/types/components/form/Select/index.d.ts.map +1 -1
  472. package/dist/types/components/form/Switch/Switch.base.d.ts +111 -0
  473. package/dist/types/components/form/Switch/Switch.base.d.ts.map +1 -0
  474. package/dist/types/components/form/Switch/Switch.d.ts.map +1 -1
  475. package/dist/types/components/form/Switch/Switch.helpers.d.ts +17 -0
  476. package/dist/types/components/form/Switch/Switch.helpers.d.ts.map +1 -0
  477. package/dist/types/components/form/Switch/Switch.metrics.d.ts +194 -0
  478. package/dist/types/components/form/Switch/Switch.metrics.d.ts.map +1 -0
  479. package/dist/types/components/form/Switch/Switch.parts.d.ts.map +1 -1
  480. package/dist/types/components/form/Switch/Switch.styles.d.ts +5 -3
  481. package/dist/types/components/form/Switch/Switch.styles.d.ts.map +1 -1
  482. package/dist/types/components/form/Switch/Switch.types.d.ts +9 -91
  483. package/dist/types/components/form/Switch/Switch.types.d.ts.map +1 -1
  484. package/dist/types/components/form/Switch/index.d.ts +1 -1
  485. package/dist/types/components/form/Switch/index.d.ts.map +1 -1
  486. package/dist/types/icons/paths.generated.d.ts +4 -0
  487. package/dist/types/icons/paths.generated.d.ts.map +1 -1
  488. package/dist/types/platform/aria.d.ts +59 -1
  489. package/dist/types/platform/aria.d.ts.map +1 -1
  490. package/dist/types/platform/test-id.d.ts +10 -0
  491. package/dist/types/platform/test-id.d.ts.map +1 -1
  492. package/dist/types/tokens/field-edge.core.d.ts +27 -0
  493. package/dist/types/tokens/field-edge.core.d.ts.map +1 -0
  494. package/dist/types/tokens/field-edge.d.ts +8 -9
  495. package/dist/types/tokens/field-edge.d.ts.map +1 -1
  496. package/dist/types-native/components/form/Checkbox/Checkbox.base.d.ts +36 -0
  497. package/dist/types-native/components/form/Checkbox/Checkbox.base.d.ts.map +1 -0
  498. package/dist/types-native/components/form/Checkbox/Checkbox.helpers.d.ts +13 -0
  499. package/dist/types-native/components/form/Checkbox/Checkbox.helpers.d.ts.map +1 -0
  500. package/dist/types-native/components/form/Checkbox/Checkbox.metrics.d.ts +92 -0
  501. package/dist/types-native/components/form/Checkbox/Checkbox.metrics.d.ts.map +1 -0
  502. package/dist/types-native/components/form/Checkbox/Checkbox.native.d.ts +21 -0
  503. package/dist/types-native/components/form/Checkbox/Checkbox.native.d.ts.map +1 -0
  504. package/dist/types-native/components/form/Checkbox/Checkbox.types.native.d.ts +27 -0
  505. package/dist/types-native/components/form/Checkbox/Checkbox.types.native.d.ts.map +1 -0
  506. package/dist/types-native/components/form/Checkbox/index.native.d.ts +3 -0
  507. package/dist/types-native/components/form/Checkbox/index.native.d.ts.map +1 -0
  508. package/dist/types-native/components/form/Input/Input.base.d.ts +62 -0
  509. package/dist/types-native/components/form/Input/Input.base.d.ts.map +1 -0
  510. package/dist/types-native/components/form/Input/Input.helpers.d.ts +11 -0
  511. package/dist/types-native/components/form/Input/Input.helpers.d.ts.map +1 -0
  512. package/dist/types-native/components/form/Input/Input.look.native.d.ts +61 -0
  513. package/dist/types-native/components/form/Input/Input.look.native.d.ts.map +1 -0
  514. package/dist/types-native/components/form/Input/Input.metrics.d.ts +186 -0
  515. package/dist/types-native/components/form/Input/Input.metrics.d.ts.map +1 -0
  516. package/dist/types-native/components/form/Input/Input.native.d.ts +22 -0
  517. package/dist/types-native/components/form/Input/Input.native.d.ts.map +1 -0
  518. package/dist/types-native/components/form/Input/Input.types.native.d.ts +20 -0
  519. package/dist/types-native/components/form/Input/Input.types.native.d.ts.map +1 -0
  520. package/dist/types-native/components/form/Input/index.native.d.ts +3 -0
  521. package/dist/types-native/components/form/Input/index.native.d.ts.map +1 -0
  522. package/dist/types-native/components/form/Select/Select.base.d.ts +75 -0
  523. package/dist/types-native/components/form/Select/Select.base.d.ts.map +1 -0
  524. package/dist/types-native/components/form/Select/Select.helpers.d.ts +36 -0
  525. package/dist/types-native/components/form/Select/Select.helpers.d.ts.map +1 -0
  526. package/dist/types-native/components/form/Select/Select.look.native.d.ts +26 -0
  527. package/dist/types-native/components/form/Select/Select.look.native.d.ts.map +1 -0
  528. package/dist/types-native/components/form/Select/Select.metrics.d.ts +72 -0
  529. package/dist/types-native/components/form/Select/Select.metrics.d.ts.map +1 -0
  530. package/dist/types-native/components/form/Select/Select.native.d.ts +21 -0
  531. package/dist/types-native/components/form/Select/Select.native.d.ts.map +1 -0
  532. package/dist/types-native/components/form/Select/Select.types.native.d.ts +29 -0
  533. package/dist/types-native/components/form/Select/Select.types.native.d.ts.map +1 -0
  534. package/dist/types-native/components/form/Select/index.native.d.ts +3 -0
  535. package/dist/types-native/components/form/Select/index.native.d.ts.map +1 -0
  536. package/dist/types-native/components/form/Switch/Switch.base.d.ts +111 -0
  537. package/dist/types-native/components/form/Switch/Switch.base.d.ts.map +1 -0
  538. package/dist/types-native/components/form/Switch/Switch.helpers.d.ts +17 -0
  539. package/dist/types-native/components/form/Switch/Switch.helpers.d.ts.map +1 -0
  540. package/dist/types-native/components/form/Switch/Switch.look.native.d.ts +43 -0
  541. package/dist/types-native/components/form/Switch/Switch.look.native.d.ts.map +1 -0
  542. package/dist/types-native/components/form/Switch/Switch.metrics.d.ts +194 -0
  543. package/dist/types-native/components/form/Switch/Switch.metrics.d.ts.map +1 -0
  544. package/dist/types-native/components/form/Switch/Switch.native.d.ts +20 -0
  545. package/dist/types-native/components/form/Switch/Switch.native.d.ts.map +1 -0
  546. package/dist/types-native/components/form/Switch/Switch.types.native.d.ts +27 -0
  547. package/dist/types-native/components/form/Switch/Switch.types.native.d.ts.map +1 -0
  548. package/dist/types-native/components/form/Switch/index.native.d.ts +3 -0
  549. package/dist/types-native/components/form/Switch/index.native.d.ts.map +1 -0
  550. package/dist/types-native/components/form/field-pulse.native.d.ts +18 -0
  551. package/dist/types-native/components/form/field-pulse.native.d.ts.map +1 -0
  552. package/dist/types-native/icons/paths.generated.d.ts +4 -0
  553. package/dist/types-native/icons/paths.generated.d.ts.map +1 -1
  554. package/dist/types-native/platform/aria.d.ts +59 -1
  555. package/dist/types-native/platform/aria.d.ts.map +1 -1
  556. package/dist/types-native/platform/test-id.d.ts +10 -0
  557. package/dist/types-native/platform/test-id.d.ts.map +1 -1
  558. package/dist/types-native/tokens/field-edge.core.d.ts +27 -0
  559. package/dist/types-native/tokens/field-edge.core.d.ts.map +1 -0
  560. package/dist/types-native/utils/withDefaults.d.ts +13 -0
  561. package/dist/types-native/utils/withDefaults.d.ts.map +1 -0
  562. package/dist/typography/Heading.js +2 -2
  563. package/dist/typography/Paragraph.js +2 -2
  564. package/dist/typography/Text.js +2 -2
  565. package/dist/user-avatar.js +7 -7
  566. package/dist/utility/InfiniteScroll.js +2 -2
  567. package/package.json +17 -1
  568. package/src/components/form/Checkbox/Checkbox.base.ts +36 -0
  569. package/src/components/form/Checkbox/Checkbox.helpers.ts +13 -13
  570. package/src/components/form/Checkbox/Checkbox.metrics.ts +73 -0
  571. package/src/components/form/Checkbox/Checkbox.native.tsx +246 -0
  572. package/src/components/form/Checkbox/Checkbox.tsx +34 -21
  573. package/src/components/form/Checkbox/Checkbox.types.native.ts +29 -0
  574. package/src/components/form/Checkbox/Checkbox.types.ts +12 -11
  575. package/src/components/form/Checkbox/NATIVE-NOTES.md +11 -0
  576. package/src/components/form/Checkbox/index.native.ts +8 -0
  577. package/src/components/form/Checkbox/index.ts +1 -1
  578. package/src/components/form/Input/Input.base.ts +84 -0
  579. package/src/components/form/Input/Input.helpers.ts +43 -0
  580. package/src/components/form/Input/Input.look.native.ts +246 -0
  581. package/src/components/form/Input/Input.metrics.ts +229 -0
  582. package/src/components/form/Input/Input.native.tsx +240 -0
  583. package/src/components/form/Input/Input.styles.ts +45 -51
  584. package/src/components/form/Input/Input.tsx +46 -42
  585. package/src/components/form/Input/Input.types.native.ts +29 -0
  586. package/src/components/form/Input/Input.types.ts +15 -17
  587. package/src/components/form/Input/NATIVE-NOTES.md +14 -0
  588. package/src/components/form/Input/index.native.ts +2 -0
  589. package/src/components/form/Input/index.ts +1 -1
  590. package/src/components/form/Select/NATIVE-NOTES.md +12 -0
  591. package/src/components/form/Select/Select.base.ts +78 -0
  592. package/src/components/form/Select/Select.helpers.ts +82 -0
  593. package/src/components/form/Select/Select.look.native.ts +99 -0
  594. package/src/components/form/Select/Select.metrics.ts +90 -0
  595. package/src/components/form/Select/Select.native.tsx +264 -0
  596. package/src/components/form/Select/Select.tsx +37 -25
  597. package/src/components/form/Select/Select.types.native.ts +30 -0
  598. package/src/components/form/Select/Select.types.ts +14 -51
  599. package/src/components/form/Select/index.native.ts +9 -0
  600. package/src/components/form/Select/index.ts +7 -1
  601. package/src/components/form/Switch/NATIVE-NOTES.md +12 -0
  602. package/src/components/form/Switch/Switch.base.ts +136 -0
  603. package/src/components/form/Switch/Switch.helpers.ts +61 -0
  604. package/src/components/form/Switch/Switch.look.native.ts +187 -0
  605. package/src/components/form/Switch/Switch.metrics.ts +191 -0
  606. package/src/components/form/Switch/Switch.native.tsx +360 -0
  607. package/src/components/form/Switch/Switch.parts.tsx +4 -4
  608. package/src/components/form/Switch/Switch.styles.ts +109 -147
  609. package/src/components/form/Switch/Switch.tsx +4 -2
  610. package/src/components/form/Switch/Switch.types.native.ts +34 -0
  611. package/src/components/form/Switch/Switch.types.ts +16 -117
  612. package/src/components/form/Switch/index.native.ts +8 -0
  613. package/src/components/form/Switch/index.ts +6 -1
  614. package/src/components/form/field-pulse.native.tsx +78 -0
  615. package/src/icons/glyphs.json +4 -0
  616. package/src/icons/paths.generated.ts +4 -0
  617. package/src/platform/aria.ts +72 -1
  618. package/src/platform/test-id.ts +13 -0
  619. package/src/tokens/field-edge.core.ts +87 -0
  620. package/src/tokens/field-edge.ts +10 -66
  621. package/dist/chunk-BJ3J6FTN.js.map +0 -1
  622. package/dist/chunk-FX5DY6VR.js.map +0 -1
  623. package/dist/chunk-JD364H3Y.js.map +0 -1
  624. package/dist/chunk-MLOWPVVW.js.map +0 -1
  625. package/dist/chunk-OQXOYHIV.js.map +0 -1
  626. package/dist/chunk-Q5EQC7NL.js.map +0 -1
  627. package/dist/chunk-QLWBQQW7.js.map +0 -1
  628. package/dist/chunk-RMSH2I3O.js.map +0 -1
  629. package/dist/chunk-TBWEIQUR.js +0 -263
  630. package/dist/chunk-TBWEIQUR.js.map +0 -1
  631. package/dist/chunk-VMNSGE2G.js.map +0 -1
  632. package/dist/chunk-VSLUFBMT.js.map +0 -1
  633. package/dist/native/chunks/chunk-4NK5ZQZ3.js +0 -10
  634. package/dist/native/chunks/chunk-4NK5ZQZ3.js.map +0 -1
  635. package/dist/native/chunks/chunk-M4DTJDWU.js.map +0 -1
  636. package/dist/native/chunks/chunk-Q52IDAF2.js.map +0 -1
  637. /package/dist/{chunk-2PCOC3PT.js.map → chunk-26Z7QWID.js.map} +0 -0
  638. /package/dist/{chunk-IJIT5HQP.js.map → chunk-2QFTAGDH.js.map} +0 -0
  639. /package/dist/{chunk-ENNW5SKT.js.map → chunk-2QLVUVVR.js.map} +0 -0
  640. /package/dist/{chunk-W3FAKT3D.js.map → chunk-2SWQ6HIK.js.map} +0 -0
  641. /package/dist/{chunk-7P2HZLEG.js.map → chunk-3UOHKHOT.js.map} +0 -0
  642. /package/dist/{chunk-URWGRPL7.js.map → chunk-3W7IEWEL.js.map} +0 -0
  643. /package/dist/{chunk-Z7JNCB5Q.js.map → chunk-426FTCMF.js.map} +0 -0
  644. /package/dist/{chunk-46UPILLK.js.map → chunk-4ETQRBZC.js.map} +0 -0
  645. /package/dist/{chunk-NQC6H7GY.js.map → chunk-4HYXEMBP.js.map} +0 -0
  646. /package/dist/{chunk-43NEBUV3.js.map → chunk-4K7FDVAB.js.map} +0 -0
  647. /package/dist/{chunk-LMJBINWN.js.map → chunk-4MLDWACO.js.map} +0 -0
  648. /package/dist/{chunk-GGE7Y53F.js.map → chunk-4TXIZ5WI.js.map} +0 -0
  649. /package/dist/{chunk-J6UFAMIC.js.map → chunk-5RQ7N63M.js.map} +0 -0
  650. /package/dist/{chunk-AVGTTWTE.js.map → chunk-65DLYC4S.js.map} +0 -0
  651. /package/dist/{chunk-B2A4DG77.js.map → chunk-6RGWDKUL.js.map} +0 -0
  652. /package/dist/{chunk-DCEMUZJQ.js.map → chunk-6WIDZGXE.js.map} +0 -0
  653. /package/dist/{chunk-R7MX5KPJ.js.map → chunk-6YLAVHV4.js.map} +0 -0
  654. /package/dist/{chunk-E27Y7FF2.js.map → chunk-6Z4H2Y77.js.map} +0 -0
  655. /package/dist/{chunk-PNYXXLPU.js.map → chunk-736HP6BL.js.map} +0 -0
  656. /package/dist/{chunk-C52BELLW.js.map → chunk-77F36LQQ.js.map} +0 -0
  657. /package/dist/{chunk-RXSGHPCR.js.map → chunk-7FOOLP5H.js.map} +0 -0
  658. /package/dist/{chunk-74OZ5KVR.js.map → chunk-7KTU6YMQ.js.map} +0 -0
  659. /package/dist/{chunk-X5D3PTWI.js.map → chunk-7MAOQIWA.js.map} +0 -0
  660. /package/dist/{chunk-5ZF3VASA.js.map → chunk-7ZH7ZB33.js.map} +0 -0
  661. /package/dist/{chunk-PQECNGDE.js.map → chunk-AGYGNNOM.js.map} +0 -0
  662. /package/dist/{chunk-PU3AAKRR.js.map → chunk-AJ6XEO4E.js.map} +0 -0
  663. /package/dist/{chunk-WX7VWW3W.js.map → chunk-B3BK2SNS.js.map} +0 -0
  664. /package/dist/{chunk-VJK5FBNK.js.map → chunk-B5PYBEXO.js.map} +0 -0
  665. /package/dist/{chunk-47UD6DZ4.js.map → chunk-BDVNAU2C.js.map} +0 -0
  666. /package/dist/{chunk-FGLV6BXQ.js.map → chunk-BEGWE5O4.js.map} +0 -0
  667. /package/dist/{chunk-6IUTT6BK.js.map → chunk-BEH4DN63.js.map} +0 -0
  668. /package/dist/{chunk-HKV4MQ2W.js.map → chunk-BLBOYCOV.js.map} +0 -0
  669. /package/dist/{chunk-24BUCMQA.js.map → chunk-BNNSO4MC.js.map} +0 -0
  670. /package/dist/{chunk-CZJLWCEG.js.map → chunk-BPYPUEM5.js.map} +0 -0
  671. /package/dist/{chunk-NHSMLVNC.js.map → chunk-BQQONDW5.js.map} +0 -0
  672. /package/dist/{chunk-DQHC5P64.js.map → chunk-BRSF5NRT.js.map} +0 -0
  673. /package/dist/{chunk-M7OHXNLF.js.map → chunk-CXVMD6FE.js.map} +0 -0
  674. /package/dist/{chunk-LYSSO6WC.js.map → chunk-CZPU5TW3.js.map} +0 -0
  675. /package/dist/{chunk-DOADQW7I.js.map → chunk-D4T646G4.js.map} +0 -0
  676. /package/dist/{chunk-2W4CIWTW.js.map → chunk-DBYFC6CF.js.map} +0 -0
  677. /package/dist/{chunk-76GZ55IC.js.map → chunk-DF2FFYZ7.js.map} +0 -0
  678. /package/dist/{chunk-BILE3A7F.js.map → chunk-DH75UNF3.js.map} +0 -0
  679. /package/dist/{chunk-6D5WEZ2L.js.map → chunk-FB36IHCE.js.map} +0 -0
  680. /package/dist/{chunk-OI3HOI74.js.map → chunk-FGUESLDX.js.map} +0 -0
  681. /package/dist/{chunk-PC5FFEIY.js.map → chunk-FINCVAAR.js.map} +0 -0
  682. /package/dist/{chunk-YK2PETUP.js.map → chunk-FRQ4HNGF.js.map} +0 -0
  683. /package/dist/{chunk-WO52KYSU.js.map → chunk-G2IPK2XE.js.map} +0 -0
  684. /package/dist/{chunk-E4FGKZID.js.map → chunk-GBNOYRLP.js.map} +0 -0
  685. /package/dist/{chunk-UNF65XZW.js.map → chunk-GBRKP5GZ.js.map} +0 -0
  686. /package/dist/{chunk-VLHGBFR6.js.map → chunk-GCXYCDOA.js.map} +0 -0
  687. /package/dist/{chunk-EX3PSZLV.js.map → chunk-GDEXYUPF.js.map} +0 -0
  688. /package/dist/{chunk-4N4ENTF7.js.map → chunk-GO4MVQGC.js.map} +0 -0
  689. /package/dist/{chunk-HDNK7BAX.js.map → chunk-GT7C6TSM.js.map} +0 -0
  690. /package/dist/{chunk-HBAPVB7T.js.map → chunk-HKKSZ7HG.js.map} +0 -0
  691. /package/dist/{chunk-3AOOI2NR.js.map → chunk-HR7YTBR7.js.map} +0 -0
  692. /package/dist/{chunk-AEGX66N7.js.map → chunk-I3MDKPGG.js.map} +0 -0
  693. /package/dist/{chunk-7BYFC2MR.js.map → chunk-I7HYGIEJ.js.map} +0 -0
  694. /package/dist/{chunk-D7FJ2GAD.js.map → chunk-IFNK5TPI.js.map} +0 -0
  695. /package/dist/{chunk-PODGTNXS.js.map → chunk-IH4RSRQA.js.map} +0 -0
  696. /package/dist/{chunk-UF27D35R.js.map → chunk-IIROZKW5.js.map} +0 -0
  697. /package/dist/{chunk-PUBPZOQJ.js.map → chunk-IPE5FFFD.js.map} +0 -0
  698. /package/dist/{chunk-37YPZHAG.js.map → chunk-JDMYD6QC.js.map} +0 -0
  699. /package/dist/{chunk-HSAH5QUQ.js.map → chunk-JIINGMEB.js.map} +0 -0
  700. /package/dist/{chunk-NRUYYGDZ.js.map → chunk-JXAYT6LX.js.map} +0 -0
  701. /package/dist/{chunk-ZBNTFWTG.js.map → chunk-KIHQE5YA.js.map} +0 -0
  702. /package/dist/{chunk-DVUPIVI2.js.map → chunk-KT6HWAEN.js.map} +0 -0
  703. /package/dist/{chunk-MY5VNNSP.js.map → chunk-MCRIT46W.js.map} +0 -0
  704. /package/dist/{chunk-6XPNJLXE.js.map → chunk-NARIG5FL.js.map} +0 -0
  705. /package/dist/{chunk-MBYO2F4Y.js.map → chunk-NUE774AN.js.map} +0 -0
  706. /package/dist/{chunk-ZEBJT5JZ.js.map → chunk-OCXCH2ZW.js.map} +0 -0
  707. /package/dist/{chunk-7TZ6OC5T.js.map → chunk-OH3YGJT5.js.map} +0 -0
  708. /package/dist/{chunk-SM3NRN7L.js.map → chunk-ON2CMKTI.js.map} +0 -0
  709. /package/dist/{chunk-VCTKJHXD.js.map → chunk-OOGEYCJH.js.map} +0 -0
  710. /package/dist/{chunk-J54WH74M.js.map → chunk-P6IPJYCS.js.map} +0 -0
  711. /package/dist/{chunk-23FCBIUN.js.map → chunk-P7FQUGED.js.map} +0 -0
  712. /package/dist/{chunk-THBT56JE.js.map → chunk-PANMJFDS.js.map} +0 -0
  713. /package/dist/{chunk-LZRURORY.js.map → chunk-PF5HDFYY.js.map} +0 -0
  714. /package/dist/{chunk-YVW7VPK4.js.map → chunk-PFLKPNBU.js.map} +0 -0
  715. /package/dist/{chunk-7EESF76V.js.map → chunk-PWXL3QQ6.js.map} +0 -0
  716. /package/dist/{chunk-7DNQHMDO.js.map → chunk-PXH24VIP.js.map} +0 -0
  717. /package/dist/{chunk-HBZIN6IQ.js.map → chunk-PZEC5CQA.js.map} +0 -0
  718. /package/dist/{chunk-LAHDFBDE.js.map → chunk-QFHH2NU5.js.map} +0 -0
  719. /package/dist/{chunk-GBB6XQ56.js.map → chunk-QGBMCB76.js.map} +0 -0
  720. /package/dist/{chunk-SOCKK67R.js.map → chunk-QRX5BYUQ.js.map} +0 -0
  721. /package/dist/{chunk-QZWKC3AP.js.map → chunk-QS7ZGRNS.js.map} +0 -0
  722. /package/dist/{chunk-IH4CX43Q.js.map → chunk-QZDBWXZG.js.map} +0 -0
  723. /package/dist/{chunk-PHCSPHDH.js.map → chunk-R6RVBYTU.js.map} +0 -0
  724. /package/dist/{chunk-KZSKI2R3.js.map → chunk-RPQ3W2C6.js.map} +0 -0
  725. /package/dist/{chunk-HEG7JIBM.js.map → chunk-RPWEXIAW.js.map} +0 -0
  726. /package/dist/{chunk-JB67KPGM.js.map → chunk-RRO2EOJB.js.map} +0 -0
  727. /package/dist/{chunk-BLT5ZBVL.js.map → chunk-RRX6ZTNX.js.map} +0 -0
  728. /package/dist/{chunk-7RZ4WOQW.js.map → chunk-RRZBATXK.js.map} +0 -0
  729. /package/dist/{chunk-7JWXLDRH.js.map → chunk-SAHQLXNN.js.map} +0 -0
  730. /package/dist/{chunk-LUMF63BM.js.map → chunk-SFAP5EH5.js.map} +0 -0
  731. /package/dist/{chunk-EGRFMPGD.js.map → chunk-SHDIZSN5.js.map} +0 -0
  732. /package/dist/{chunk-GJQYM3PM.js.map → chunk-SHQWIDD5.js.map} +0 -0
  733. /package/dist/{chunk-FCOEJCUP.js.map → chunk-TFO6GBW7.js.map} +0 -0
  734. /package/dist/{chunk-2ZDTGI5V.js.map → chunk-THZ2NAA4.js.map} +0 -0
  735. /package/dist/{chunk-VJFH2AXT.js.map → chunk-TP4N3X2Q.js.map} +0 -0
  736. /package/dist/{chunk-B7BZAIHL.js.map → chunk-TPIBJP4S.js.map} +0 -0
  737. /package/dist/{chunk-Q4NOI2CR.js.map → chunk-TVO5STZB.js.map} +0 -0
  738. /package/dist/{chunk-JB7JE4QZ.js.map → chunk-TZ4SFX3M.js.map} +0 -0
  739. /package/dist/{chunk-HEK4LQT6.js.map → chunk-UB76PBDF.js.map} +0 -0
  740. /package/dist/{chunk-NFAKRI4S.js.map → chunk-UEIVXFUC.js.map} +0 -0
  741. /package/dist/{chunk-DX527XPL.js.map → chunk-UOPQOBQZ.js.map} +0 -0
  742. /package/dist/{chunk-X24P3ZYW.js.map → chunk-V5P5Q6HM.js.map} +0 -0
  743. /package/dist/{chunk-7DBFEZRC.js.map → chunk-VIK3HAUQ.js.map} +0 -0
  744. /package/dist/{chunk-74EZ565M.js.map → chunk-VPHOSIPB.js.map} +0 -0
  745. /package/dist/{chunk-SX3V2DLV.js.map → chunk-VWBWKLXX.js.map} +0 -0
  746. /package/dist/{chunk-VEFDL77X.js.map → chunk-VWGR5XUP.js.map} +0 -0
  747. /package/dist/{chunk-SEH7KOVG.js.map → chunk-VXTYVJDK.js.map} +0 -0
  748. /package/dist/{chunk-QYNCPS5W.js.map → chunk-WBKWIFXA.js.map} +0 -0
  749. /package/dist/{chunk-YFHIESMD.js.map → chunk-WPZT2JD4.js.map} +0 -0
  750. /package/dist/{chunk-GSFNH4C5.js.map → chunk-WROCSDVL.js.map} +0 -0
  751. /package/dist/{chunk-QZBUGUOY.js.map → chunk-XEE7PLDR.js.map} +0 -0
  752. /package/dist/{chunk-Z4GWXTZV.js.map → chunk-XFU2S6XT.js.map} +0 -0
  753. /package/dist/{chunk-RQDN4BN5.js.map → chunk-XLJJ2ZAP.js.map} +0 -0
  754. /package/dist/{chunk-ACDYA5WC.js.map → chunk-XZTOIEKI.js.map} +0 -0
  755. /package/dist/{chunk-LKVIZNUM.js.map → chunk-Y46RBFBV.js.map} +0 -0
  756. /package/dist/{chunk-WBVHRLIS.js.map → chunk-YCCKY5VW.js.map} +0 -0
  757. /package/dist/{chunk-SKZHOWTS.js.map → chunk-YDI6IJ6F.js.map} +0 -0
  758. /package/dist/{chunk-V3SBJ3PB.js.map → chunk-Z5ABJLTM.js.map} +0 -0
  759. /package/dist/{chunk-KQ74QU55.js.map → chunk-Z6UEOSL7.js.map} +0 -0
  760. /package/dist/{chunk-G5ZVD5IJ.js.map → chunk-ZDWU52DJ.js.map} +0 -0
  761. /package/dist/{chunk-2EKALM6P.js.map → chunk-ZFPJBKVZ.js.map} +0 -0
  762. /package/dist/{chunk-FP4R47TM.js.map → chunk-ZGHIHEND.js.map} +0 -0
  763. /package/dist/{chunk-F2DOTCF3.js.map → chunk-ZKFYBC6G.js.map} +0 -0
  764. /package/dist/{chunk-4MGFUPQT.js.map → chunk-ZOUWHGV3.js.map} +0 -0
  765. /package/dist/{chunk-4WK2RTVY.js.map → chunk-ZXLIWOXC.js.map} +0 -0
  766. /package/dist/{chunk-UMDXGIRZ.js.map → chunk-ZZOOSKSV.js.map} +0 -0
  767. /package/dist/native/chunks/{chunk-EKKNUEA6.js.map → chunk-OGWPPQL4.js.map} +0 -0
  768. /package/dist/native/chunks/{chunk-UKCCYP52.js.map → chunk-RJVM5YDE.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/form/Input/Input.metrics.ts","../../../src/components/form/field-pulse.native.tsx","../../../src/tokens/field-edge.core.ts","../../../src/components/form/Input/Input.look.native.ts"],"sourcesContent":["import type { InputVariant } from './Input.base';\nimport { decomposeColor, recomposeColor } from '../../../tokens/color';\nimport type { UiTheme } from '../../../tokens/theme';\nimport { SIZE_VALUES, type SizeValue } from '../../../tokens/vocabulary';\n\n/**\n * THE NUMBERS BOTH `Input` RENDERERS DRAW WITH.\n *\n * `Input.styles.ts` (web, emotion over MUI's `TextField`) and\n * `Input.native.tsx` (React Native) read this one table. The web turns the px\n * into the padding shorthands and rem it has always emitted; native uses the\n * numbers as they are.\n *\n * Two kinds of number live here, and the difference matters:\n *\n * - the ones `Input.styles.ts` writes itself — the size overrides, the glow,\n * the pulse, the glass and gradient alphas, the filled wash;\n * - the ones MUI supplies UNDER those overrides — `OutlinedInput`'s\n * `16.5px 14px`, `InputBase`'s 23px line box, `FormHelperText`'s 3px lift.\n * The web never writes them, but it draws them, so a native field that\n * wants the same box has to know them. They are MUI 6.5's own values,\n * copied with their source named; a host that re-themes MUI's components\n * moves the web only, which the parity ledger records.\n */\n\nexport interface InputInset {\n top: number;\n right: number;\n bottom: number;\n left: number;\n}\n\n/** MUI gives a text field two heights; the house scale has five. */\nexport type MuiInputSize = 'small' | 'medium';\nexport type MuiInputVariant = 'outlined' | 'filled' | 'standard';\n\n/** Our five variants map onto MUI's three; `glass` and `gradient` restyle an outline. */\nexport const muiVariantFor = (variant: InputVariant): MuiInputVariant => {\n switch (variant) {\n case 'underline':\n return 'standard';\n case 'glass':\n case 'gradient':\n return 'outlined';\n default:\n return variant;\n }\n};\n\n/** Which of MUI's two heights each step of the house scale asks for. */\nexport const INPUT_MUI_SIZE: Record<SizeValue, MuiInputSize> = {\n xs: 'small',\n sm: 'small',\n md: 'medium',\n lg: 'medium',\n xl: 'medium',\n};\n\n/**\n * The three steps MUI has no height for, as `padding` on the input itself.\n *\n * `sm` and `md` are absent on purpose — they ARE MUI's two heights, so they\n * fall through to {@link MUI_INPUT_PADDING} below rather than restating it.\n * (`lg`'s 16px is a hair under `md`'s 16.5px: the override is a round number\n * where MUI's is derived from a 56px box. Kept as written — this table is what\n * the web draws, not what it ought to draw.)\n */\nexport const INPUT_SIZE_OVERRIDES: Partial<Record<SizeValue, { vertical: number; horizontal: number }>> = {\n xs: { vertical: 6, horizontal: 10 },\n lg: { vertical: 16, horizontal: 14 },\n xl: { vertical: 20, horizontal: 16 },\n};\n\n/**\n * MUI's own input padding per variant and height (`OutlinedInput`,\n * `FilledInput`, `InputBase`). The filled insets are lopsided because the\n * floating label sits inside the box on the web.\n */\nexport const MUI_INPUT_PADDING: Record<MuiInputVariant, Record<MuiInputSize, InputInset>> = {\n outlined: {\n small: { top: 8.5, right: 14, bottom: 8.5, left: 14 },\n medium: { top: 16.5, right: 14, bottom: 16.5, left: 14 },\n },\n filled: {\n small: { top: 21, right: 12, bottom: 4, left: 12 },\n medium: { top: 25, right: 12, bottom: 8, left: 12 },\n },\n standard: {\n small: { top: 1, right: 0, bottom: 5, left: 0 },\n medium: { top: 4, right: 0, bottom: 5, left: 0 },\n },\n};\n\n/** The inset the value is drawn at: the size override where there is one, MUI's otherwise. */\nexport function inputPadding(variant: InputVariant, size: SizeValue): InputInset {\n const override = INPUT_SIZE_OVERRIDES[size];\n if (override) {\n return {\n top: override.vertical,\n right: override.horizontal,\n bottom: override.vertical,\n left: override.horizontal,\n };\n }\n return MUI_INPUT_PADDING[muiVariantFor(variant)][INPUT_MUI_SIZE[size]];\n}\n\n/** `theme.typography.body1` and `InputBase`'s `lineHeight: '1.4375em'`, in px. */\nexport const INPUT_FONT_SIZE = 16;\nexport const INPUT_LINE_HEIGHT = 23;\n\n/** MUI's `::placeholder` opacity, which multiplies the ink's own alpha. */\nexport const PLACEHOLDER_OPACITY = { light: 0.42, dark: 0.5 } as const;\n\n/**\n * The placeholder's colour: the field's ink faded by MUI's opacity.\n *\n * `alpha()` REPLACES an alpha channel, and `text.primary` already carries one\n * (`rgba(0, 0, 0, 0.87)`), so `alpha(ink, 0.42)` would be a different grey from\n * the one the browser composites. React Native has no per-placeholder opacity —\n * only `placeholderTextColor` — so the multiplication happens here.\n */\nexport function placeholderInk(theme: UiTheme): string {\n const opacity = theme.mode === 'dark' ? PLACEHOLDER_OPACITY.dark : PLACEHOLDER_OPACITY.light;\n const { type, values } = decomposeColor(theme.palette.text.primary);\n const [first = 0, second = 0, third = 0, own = 1] = values;\n return recomposeColor({\n type: type.startsWith('hsl') ? 'hsla' : 'rgba',\n values: [first, second, third, own * opacity],\n });\n}\n\n/** The outline: 1px at rest, 2px focused, as MUI's `notchedOutline` draws it. */\nexport const INPUT_BORDER = { rest: 1, focused: 2 } as const;\n\n/** `FilledInput`'s and `Input`'s resting underline, MUI's own two greys. */\nexport const UNDERLINE_COLOR = {\n light: 'rgba(0, 0, 0, 0.42)',\n dark: 'rgba(255, 255, 255, 0.7)',\n} as const;\n\n/**\n * The label. It floats into the border on the web and sits above the field on\n * native, but it is the SAME label: 16px body type at MUI's shrunk scale, and\n * left-aligned with the value it names ({@link inputPadding}'s `left`).\n *\n * The 4px gap is MUI's own: a standard field puts 16px between the control's\n * top and the input, and the shrunk label's 12px line box takes the first 12.\n */\nexport const INPUT_LABEL = { scale: 0.75, gap: 4 } as const;\n\n/** `FormHelperText`: `theme.typography.caption` lifted 3px, inset 14px when contained. */\nexport const HELPER_TEXT = {\n fontSize: 12,\n lineHeight: 1.66,\n marginTop: 3,\n marginTopSmall: 4,\n marginHorizontal: 14,\n} as const;\n\n/** `InputAdornment`: 8px between the glyph and the value, on whichever side it is. */\nexport const ADORNMENT_GAP = 8;\n\n/** `loading`: the field fades and MUI's 20px `CircularProgress` takes the end slot. */\nexport const INPUT_LOADING = { opacity: 0.7, spinnerSize: 20 } as const;\n\n/** `glow`: a halo of the primary hue, wider and stronger while focused. */\nexport const INPUT_GLOW = {\n rest: { blur: 15, alpha: 0.3 },\n focused: { blur: 20, alpha: 0.5 },\n} as const;\n\n/** `pulse`: a 56px bar behind the field, fading outward every two seconds. */\nexport const INPUT_PULSE = {\n height: 56,\n radiusUnits: 0.5,\n opacity: 0.3,\n ms: 2000,\n spread: 10,\n} as const;\n\n/** `floating`: where the label rests and where it shrinks to, on the web. */\nexport const FLOATING_LABEL = {\n rest: { x: 14, y: 16 },\n shrink: { x: 14, y: -9 },\n scale: 0.75,\n paddingX: 4,\n} as const;\n\n/** `glass`: a wash of paper under a blur, brighter as the field is engaged. */\nexport const INPUT_GLASS = {\n background: { rest: 0.1, hover: 0.15, focused: 0.2 },\n blur: 20,\n hoverBorderAlpha: 0.3,\n focusRing: { width: 2, alpha: 0.1 },\n} as const;\n\n/** `gradient`: a 135° fill between the two brand hues, inside a 2px masked ring. */\nexport const INPUT_GRADIENT = {\n angleDeg: 135,\n fill: { rest: 0.1, hover: 0.15, focused: 0.2 },\n borderWidth: 2,\n} as const;\n\n/** `filled`: MUI's own grey replaced by a wash of `action.hover`. */\nexport const FILLED_WASH = { rest: 0.04, hover: 0.08, focused: 0.12 } as const;\n\n/**\n * The `sx` the web spreads onto the `TextField` for a size: MUI's height, plus\n * the input padding for the three steps MUI has no height for.\n */\nexport interface InputSizeProps {\n size: MuiInputSize;\n sx?: { '& .MuiInputBase-input': { padding: string } };\n}\n\nconst sizeProps = (size: SizeValue): InputSizeProps => {\n const override = INPUT_SIZE_OVERRIDES[size];\n return {\n size: INPUT_MUI_SIZE[size],\n ...(override\n ? { sx: { '& .MuiInputBase-input': { padding: `${override.vertical}px ${override.horizontal}px` } } }\n : {}),\n };\n};\n\nexport const SIZE_MAP: Record<SizeValue, InputSizeProps> = Object.fromEntries(\n SIZE_VALUES.map((size) => [size, sizeProps(size)]),\n) as Record<SizeValue, InputSizeProps>;\n","import * as React from 'react';\nimport { Animated, Easing, Platform, StyleSheet } from 'react-native';\n\nimport { INPUT_PULSE } from './Input/Input.metrics';\n\n/**\n * THE BAR THAT PULSES BEHIND A FIELD.\n *\n * `Input.styles.ts` and `Select.tsx` declare the same `::after` — a 56px wash\n * of the primary hue at 0.3, growing a 10px box-shadow ring and fading out\n * every two seconds — so the native halves draw it from one component rather\n * than one each. The numbers stay in `Input.metrics.ts`, which `Select.metrics`\n * re-exports under its own name.\n *\n * React Native has no box-shadow spread, so the ring is a scale on the bar.\n */\nexport function FieldPulse({\n color,\n radius,\n testID,\n}: {\n color: string;\n radius: number;\n testID: string;\n}): React.JSX.Element {\n const progress = React.useRef(new Animated.Value(0)).current;\n\n React.useEffect(() => {\n const loop = Animated.loop(\n Animated.timing(progress, {\n toValue: 1,\n duration: INPUT_PULSE.ms,\n easing: Easing.out(Easing.ease),\n useNativeDriver: Platform.OS !== 'web',\n }),\n );\n loop.start();\n return () => loop.stop();\n }, [progress]);\n\n return (\n <Animated.View\n testID={testID}\n aria-hidden\n style={[\n styles.pulse,\n {\n borderRadius: radius,\n backgroundColor: color,\n opacity: progress.interpolate({\n inputRange: [0, 0.7, 1],\n outputRange: [INPUT_PULSE.opacity, 0, 0],\n }),\n transform: [\n { translateY: -INPUT_PULSE.height / 2 },\n {\n scale: progress.interpolate({\n inputRange: [0, 0.7, 1],\n outputRange: [1, 1 + INPUT_PULSE.spread / INPUT_PULSE.height, 1],\n }),\n },\n ],\n },\n ]}\n />\n );\n}\n\nconst styles = StyleSheet.create({\n pulse: {\n position: 'absolute',\n top: '50%',\n left: 0,\n right: 0,\n height: INPUT_PULSE.height,\n pointerEvents: 'none',\n },\n});\n","import {\n darken,\n decomposeColor,\n getContrastRatio,\n getLuminance,\n hslToRgb,\n lighten,\n recomposeColor,\n} from './color';\n\n/**\n * THE FIELD EDGE, WITH NO RENDERER BEHIND IT.\n *\n * The argument for why an outlined control cannot draw its resting boundary\n * from `alpha(theme.palette.divider, 0.23)` is in `./field-edge.ts`, next to\n * the MUI-typed `fieldEdge` the web components call. This file is the WALK\n * itself, over two colour strings, so the native renderer can run it too:\n * `Input.native.tsx` and `Select.native.tsx` have no MUI `Theme` to pass and no\n * `@mui/material/styles` to import, and a second copy of the walk beside them\n * is a second answer to \"where is this field's border\" waiting to drift.\n *\n * `./color` is a faithful port of MUI's colour manipulator (asserted equal to\n * it in `./__tests__/color.test.ts`), so the string this returns is the string\n * the web has always emitted.\n */\n\n/**\n * WCAG 2.1 SC 1.4.11 — the contrast a control's own boundary owes the surface\n * behind it. See `./field-edge.ts` for why 3:1 and why it is a floor.\n */\nexport const MIN_UI_CONTRAST = 3;\n\n/** How far one step of the walk moves, and how many steps before it gives up. */\nconst STEP = 0.05;\nconst MAX_STEPS = 20;\n\n/** A colour's red, green, blue and alpha, with `hsl()` converted on the way. */\nfunction channels(colour: string): [number, number, number, number] {\n const decomposed = decomposeColor(colour);\n const rgb = decomposed.type.startsWith('hsl') ? decomposeColor(hslToRgb(colour)) : decomposed;\n const [r, g, b, a] = rgb.values;\n return [r ?? 0, g ?? 0, b ?? 0, a ?? 1];\n}\n\n/**\n * A colour as an opaque `rgb()`, with any translucency resolved against\n * `surface`.\n *\n * Needed because `getContrastRatio` reads the channels it is given and ignores\n * the alpha, so handing it an `rgba()` measures a colour nobody sees.\n */\nfunction flatten(colour: string, surface: string): string {\n const [r, g, b, alpha] = channels(colour);\n if (alpha >= 1) return recomposeColor({ type: 'rgb', values: [r, g, b] });\n\n const [baseR, baseG, baseB] = channels(surface);\n const blend = (fg: number, bg: number): number => Math.round(alpha * fg + (1 - alpha) * bg);\n return recomposeColor({\n type: 'rgb',\n values: [blend(r, baseR), blend(g, baseG), blend(b, baseB)],\n });\n}\n\n/**\n * The resting boundary a control draws on `surface`, from the theme's own\n * `divider` as the seed: the seed itself when it already clears\n * {@link MIN_UI_CONTRAST}, otherwise the nearest tone of it that does.\n */\nexport function resolveFieldEdge(divider: string, surface: string): string {\n const ground = flatten(surface, '#FFFFFF');\n const seed = flatten(divider, ground);\n if (getContrastRatio(seed, ground) >= MIN_UI_CONTRAST) return seed;\n\n // Away from the surface, whichever way that is — so one rule serves both\n // modes, and a dark card in a light theme is still handled by the pair rather\n // than by `palette.mode`.\n const away = getLuminance(ground) > 0.5 ? darken : lighten;\n for (let step = 1; step <= MAX_STEPS; step += 1) {\n // From the SEED each time rather than compounding the previous result, so\n // the walk lands on the nearest passing tone instead of overshooting past it.\n const candidate = away(seed, step * STEP);\n if (getContrastRatio(candidate, ground) >= MIN_UI_CONTRAST) return candidate;\n }\n // Unreachable for any real surface — black clears 21:1 on white and white\n // clears it on black — but a caller must never be handed `undefined`.\n return getLuminance(ground) > 0.5 ? '#000000' : '#FFFFFF';\n}\n","import type { TextStyle, ViewStyle } from 'react-native';\n\nimport type { InputVariant } from './Input.base';\nimport {\n FILLED_WASH,\n HELPER_TEXT,\n INPUT_MUI_SIZE,\n INPUT_BORDER,\n INPUT_FONT_SIZE,\n INPUT_GLASS,\n INPUT_GRADIENT,\n INPUT_LABEL,\n INPUT_LINE_HEIGHT,\n UNDERLINE_COLOR,\n inputPadding,\n placeholderInk,\n} from './Input.metrics';\nimport { alpha } from '../../../tokens/color';\nimport { resolveFieldEdge } from '../../../tokens/field-edge.core';\nimport type { UiTheme } from '../../../tokens/theme';\nimport type { SizeValue } from '../../../tokens/vocabulary';\n\n/**\n * WHAT A NATIVE `Input` PAINTS, AS ARITHMETIC.\n *\n * Kept out of `Input.native.tsx` so that file reads as structure — label, box,\n * value, helper — and this one reads as the decisions: which border, how thick,\n * what colour, and where the value sits inside it.\n */\nexport interface FieldState {\n focused: boolean;\n error: boolean;\n disabled: boolean;\n}\n\n/** Which edges a variant draws. `filled` and `underline` rule only the bottom. */\nconst BORDER_SIDES: Record<InputVariant, 'all' | 'bottom'> = {\n outlined: 'all',\n glass: 'all',\n gradient: 'all',\n filled: 'bottom',\n underline: 'bottom',\n};\n\n/**\n * Whether the web draws this border on an absolutely positioned element.\n *\n * MUI's `notchedOutline` fieldset and the `::before` / `::after` underlines\n * cost no height — the field is 56px tall WITH its border. `glass` and\n * `gradient` instead put a real `border` on the input root, which does add to\n * the box, so the web field is 2px and 4px taller respectively. React Native\n * has only the second kind, so the first three compensate below.\n */\nconst BORDER_IS_FREE: Record<InputVariant, boolean> = {\n outlined: true,\n filled: true,\n underline: true,\n glass: false,\n gradient: false,\n};\n\n/**\n * How thick. Only the outline family thickens on focus (MUI's `borderWidth: 2`\n * on `.Mui-focused .notchedOutline`); `glass` and `gradient` declare their own\n * constant border and change only its colour.\n */\nexport function borderWidthFor(variant: InputVariant, focused: boolean): number {\n if (variant === 'gradient') return INPUT_GRADIENT.borderWidth;\n if (variant === 'glass') return INPUT_BORDER.rest;\n return focused ? INPUT_BORDER.focused : INPUT_BORDER.rest;\n}\n\n/**\n * The width the border takes out of the horizontal inset — 0 where the web's\n * border adds to the box rather than floating over it. Exported because the\n * `Select` draws the same box and has to place its arrow inside the same edge.\n */\nexport function horizontalBorderInset(variant: InputVariant, focused: boolean): number {\n if (BORDER_SIDES[variant] !== 'all' || !BORDER_IS_FREE[variant]) return 0;\n return borderWidthFor(variant, focused);\n}\n\n/**\n * What colour. Error and disabled outrank focus, as they do in MUI's source\n * order; a resting `filled` keeps MUI's own underline grey because the web\n * override only replaces its background.\n */\nfunction borderColorFor(theme: UiTheme, variant: InputVariant, state: FieldState): string {\n if (state.disabled) return theme.palette.action.disabled;\n if (state.error) return theme.palette.danger.main;\n if (variant === 'gradient') {\n return state.focused ? theme.palette.primary.dark : theme.palette.primary.main;\n }\n if (state.focused) return theme.palette.primary.main;\n if (variant === 'filled') {\n return theme.mode === 'dark' ? UNDERLINE_COLOR.dark : UNDERLINE_COLOR.light;\n }\n return resolveFieldEdge(theme.palette.divider, theme.palette.background.paper);\n}\n\n/** The fill behind the value. `outlined` and `underline` have none. */\nfunction backgroundFor(theme: UiTheme, variant: InputVariant, state: FieldState): string | undefined {\n switch (variant) {\n case 'filled':\n return alpha(theme.palette.action.hover, state.focused ? FILLED_WASH.focused : FILLED_WASH.rest);\n case 'glass':\n return alpha(\n theme.palette.background.paper,\n state.focused ? INPUT_GLASS.background.focused : INPUT_GLASS.background.rest,\n );\n case 'gradient':\n // The first stop of the web's 135° fill; React Native core has no gradient.\n return alpha(\n theme.palette.primary.main,\n state.focused ? INPUT_GRADIENT.fill.focused : INPUT_GRADIENT.fill.rest,\n );\n default:\n return undefined;\n }\n}\n\n/** `filled` rounds its top two corners, `underline` none, the rest all four. */\nfunction radiusFor(theme: UiTheme, variant: InputVariant): ViewStyle {\n if (variant === 'underline') return {};\n if (variant === 'filled') {\n return { borderTopLeftRadius: theme.radius.md, borderTopRightRadius: theme.radius.md };\n }\n return { borderRadius: theme.radius.md };\n}\n\n/** The border as React Native writes it: a width per side, one colour, one style. */\nfunction borderStyle(variant: InputVariant, width: number, color: string, state: FieldState): ViewStyle {\n // MUI draws a disabled `filled` or `standard` underline dotted.\n const style: ViewStyle['borderStyle'] =\n state.disabled && BORDER_SIDES[variant] === 'bottom' ? 'dotted' : 'solid';\n const sides: ViewStyle =\n BORDER_SIDES[variant] === 'bottom' ? { borderBottomWidth: width } : { borderWidth: width };\n return { ...sides, borderColor: color, borderStyle: style };\n}\n\nexport interface FieldLook {\n /** The row the border is drawn on: fill, edges, corners and horizontal inset. */\n box: ViewStyle;\n /** The `TextInput` itself: type, ink and the vertical inset. */\n value: TextStyle;\n placeholder: string;\n}\n\n/**\n * The field, in absolute numbers.\n *\n * The horizontal inset sits on the ROW rather than on the `TextInput`, which is\n * what MUI does the moment an adornment appears (`paddingLeft: 14` moves to the\n * input root and the input's own goes to 0) — so one rule serves a field with\n * adornments and one without.\n *\n * Where the web's border costs no height, the inset gives the border back its\n * width, so the box is the height MUI draws (56px medium, 40px small) and the\n * value does not shift by a pixel when the focused border thickens.\n */\nexport function fieldLook(\n theme: UiTheme,\n variant: InputVariant,\n size: SizeValue,\n state: FieldState,\n): FieldLook {\n const padding = inputPadding(variant, size);\n const width = borderWidthFor(variant, state.focused);\n const inset = BORDER_IS_FREE[variant] ? width : 0;\n const sides = BORDER_SIDES[variant];\n const horizontal = sides === 'all' ? inset : 0;\n\n return {\n box: {\n flexDirection: 'row',\n alignItems: 'center',\n paddingLeft: padding.left - horizontal,\n paddingRight: padding.right - horizontal,\n backgroundColor: backgroundFor(theme, variant, state),\n ...radiusFor(theme, variant),\n ...borderStyle(variant, width, borderColorFor(theme, variant, state), state),\n },\n value: {\n flex: 1,\n minWidth: 0,\n fontFamily: theme.typography.fontFamily,\n fontSize: INPUT_FONT_SIZE,\n lineHeight: INPUT_LINE_HEIGHT,\n color: state.disabled ? theme.palette.text.disabled : theme.palette.text.primary,\n paddingTop: padding.top - (sides === 'all' ? inset : 0),\n paddingBottom: padding.bottom - inset,\n paddingHorizontal: 0,\n },\n placeholder: placeholderInk(theme),\n };\n}\n\n/**\n * The label's ink. MUI's `FormLabel` is `text.secondary`, the focus colour is\n * the palette's `main`, and error and disabled are declared after it and win.\n */\nexport function labelStyle(theme: UiTheme, variant: InputVariant, size: SizeValue, state: FieldState): TextStyle {\n const ink = state.disabled\n ? theme.palette.text.disabled\n : state.error\n ? theme.palette.danger.main\n : state.focused\n ? theme.palette.primary.main\n : theme.palette.text.secondary;\n\n return {\n color: ink,\n fontFamily: theme.typography.fontFamily,\n fontSize: INPUT_FONT_SIZE * INPUT_LABEL.scale,\n marginBottom: INPUT_LABEL.gap,\n // Aligned with the value it names: the web's floating label and the input\n // share one left inset (14px outlined, 12px filled, 0 standard).\n marginLeft: inputPadding(variant, size).left,\n };\n}\n\n/**\n * `FormHelperText`: caption type, 3px below the field, inset 14px when\n * contained — and 4px below at MUI's `small` density, which `INPUT_MUI_SIZE`\n * selects for `xs` and `sm` (`FormHelperText.js`: `marginTop: 3`, then a\n * `size: 'small'` variant raising it to 4).\n */\nexport function helperStyle(\n theme: UiTheme,\n variant: InputVariant,\n size: SizeValue,\n state: FieldState,\n): TextStyle {\n return {\n color: state.disabled\n ? theme.palette.text.disabled\n : state.error\n ? theme.palette.danger.main\n : theme.palette.text.secondary,\n fontFamily: theme.typography.fontFamily,\n fontSize: HELPER_TEXT.fontSize,\n lineHeight: HELPER_TEXT.fontSize * HELPER_TEXT.lineHeight,\n marginTop: INPUT_MUI_SIZE[size] === 'small' ? HELPER_TEXT.marginTopSmall : HELPER_TEXT.marginTop,\n marginHorizontal: variant === 'underline' ? 0 : HELPER_TEXT.marginHorizontal,\n };\n}\n"],"mappings":"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","names":["alpha"]}
@@ -3,17 +3,17 @@ import {
3
3
  } from "../chunks/chunk-HSIND52T.js";
4
4
  import {
5
5
  webAria
6
- } from "../chunks/chunk-4NK5ZQZ3.js";
6
+ } from "../chunks/chunk-T6BJPP3E.js";
7
7
  import {
8
8
  renderTextChildren
9
9
  } from "../chunks/chunk-5GJ5OG5R.js";
10
10
  import {
11
11
  Icon
12
- } from "../chunks/chunk-Q52IDAF2.js";
12
+ } from "../chunks/chunk-D4EYAXNG.js";
13
13
  import {
14
14
  resolveTestId,
15
15
  withoutTestIdProps
16
- } from "../chunks/chunk-M4DTJDWU.js";
16
+ } from "../chunks/chunk-QZAUOHDQ.js";
17
17
  import "../chunks/chunk-5WLOVHKK.js";
18
18
  import {
19
19
  useUiTheme
@@ -6,8 +6,8 @@ import {
6
6
  } from "../chunks/chunk-5GJ5OG5R.js";
7
7
  import {
8
8
  Icon
9
- } from "../chunks/chunk-Q52IDAF2.js";
10
- import "../chunks/chunk-M4DTJDWU.js";
9
+ } from "../chunks/chunk-D4EYAXNG.js";
10
+ import "../chunks/chunk-QZAUOHDQ.js";
11
11
  import "../chunks/chunk-5WLOVHKK.js";
12
12
  import {
13
13
  useUiTheme
@@ -3,16 +3,16 @@ import {
3
3
  } from "../chunks/chunk-MLQIOKQZ.js";
4
4
  import {
5
5
  webAria
6
- } from "../chunks/chunk-4NK5ZQZ3.js";
6
+ } from "../chunks/chunk-T6BJPP3E.js";
7
7
  import {
8
8
  renderTextChildren
9
9
  } from "../chunks/chunk-5GJ5OG5R.js";
10
10
  import {
11
11
  Icon
12
- } from "../chunks/chunk-Q52IDAF2.js";
12
+ } from "../chunks/chunk-D4EYAXNG.js";
13
13
  import {
14
14
  resolveTestId
15
- } from "../chunks/chunk-M4DTJDWU.js";
15
+ } from "../chunks/chunk-QZAUOHDQ.js";
16
16
  import "../chunks/chunk-5WLOVHKK.js";
17
17
  import {
18
18
  useUiTheme
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Icon
3
- } from "../chunks/chunk-Q52IDAF2.js";
4
- import "../chunks/chunk-M4DTJDWU.js";
3
+ } from "../chunks/chunk-D4EYAXNG.js";
4
+ import "../chunks/chunk-QZAUOHDQ.js";
5
5
  import "../chunks/chunk-5WLOVHKK.js";
6
6
  import {
7
7
  useUiTheme
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Button
3
- } from "../chunks/chunk-UKCCYP52.js";
3
+ } from "../chunks/chunk-RJVM5YDE.js";
4
4
  import {
5
5
  MUI_FONT_WEIGHT_MEDIUM,
6
6
  MUI_TYPE,
@@ -8,15 +8,15 @@ import {
8
8
  } from "../chunks/chunk-HSIND52T.js";
9
9
  import {
10
10
  webAria
11
- } from "../chunks/chunk-4NK5ZQZ3.js";
11
+ } from "../chunks/chunk-T6BJPP3E.js";
12
12
  import "../chunks/chunk-5GJ5OG5R.js";
13
13
  import {
14
14
  Icon
15
- } from "../chunks/chunk-Q52IDAF2.js";
15
+ } from "../chunks/chunk-D4EYAXNG.js";
16
16
  import {
17
17
  resolveTestId,
18
18
  withoutTestIdProps
19
- } from "../chunks/chunk-M4DTJDWU.js";
19
+ } from "../chunks/chunk-QZAUOHDQ.js";
20
20
  import "../chunks/chunk-5WLOVHKK.js";
21
21
  import {
22
22
  useUiTheme
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Button
3
- } from "../chunks/chunk-UKCCYP52.js";
3
+ } from "../chunks/chunk-RJVM5YDE.js";
4
4
  import {
5
5
  MUI_FONT_WEIGHT_MEDIUM,
6
6
  MUI_TYPE,
@@ -8,15 +8,15 @@ import {
8
8
  } from "../chunks/chunk-HSIND52T.js";
9
9
  import {
10
10
  webAria
11
- } from "../chunks/chunk-4NK5ZQZ3.js";
11
+ } from "../chunks/chunk-T6BJPP3E.js";
12
12
  import "../chunks/chunk-5GJ5OG5R.js";
13
13
  import {
14
14
  Icon
15
- } from "../chunks/chunk-Q52IDAF2.js";
15
+ } from "../chunks/chunk-D4EYAXNG.js";
16
16
  import {
17
17
  resolveTestId,
18
18
  withoutTestIdProps
19
- } from "../chunks/chunk-M4DTJDWU.js";
19
+ } from "../chunks/chunk-QZAUOHDQ.js";
20
20
  import "../chunks/chunk-5WLOVHKK.js";
21
21
  import {
22
22
  useUiTheme
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  resolveTestId,
6
6
  withoutTestIdProps
7
- } from "../chunks/chunk-M4DTJDWU.js";
7
+ } from "../chunks/chunk-QZAUOHDQ.js";
8
8
  import {
9
9
  SIZE_VALUES
10
10
  } from "../chunks/chunk-5WLOVHKK.js";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  Button
3
- } from "../chunks/chunk-UKCCYP52.js";
3
+ } from "../chunks/chunk-RJVM5YDE.js";
4
4
  import "../chunks/chunk-5GJ5OG5R.js";
5
- import "../chunks/chunk-M4DTJDWU.js";
5
+ import "../chunks/chunk-QZAUOHDQ.js";
6
6
  import "../chunks/chunk-YTHR4Y5P.js";
7
7
  import "../chunks/chunk-P3PL4WBO.js";
8
8
  export {
@@ -0,0 +1,233 @@
1
+ import {
2
+ withDefaults
3
+ } from "../chunks/chunk-OXHZDFJZ.js";
4
+ import {
5
+ webKeyDown
6
+ } from "../chunks/chunk-T6BJPP3E.js";
7
+ import {
8
+ Icon
9
+ } from "../chunks/chunk-D4EYAXNG.js";
10
+ import {
11
+ resolveTestId,
12
+ withoutTestIdProps
13
+ } from "../chunks/chunk-QZAUOHDQ.js";
14
+ import "../chunks/chunk-5WLOVHKK.js";
15
+ import {
16
+ useUiTheme
17
+ } from "../chunks/chunk-YTHR4Y5P.js";
18
+ import {
19
+ alpha
20
+ } from "../chunks/chunk-P3PL4WBO.js";
21
+
22
+ // src/components/form/Checkbox/Checkbox.native.tsx
23
+ import * as React from "react";
24
+ import {
25
+ ActivityIndicator,
26
+ Platform,
27
+ Pressable,
28
+ StyleSheet,
29
+ Text as RNText,
30
+ View
31
+ } from "react-native";
32
+
33
+ // src/components/form/Checkbox/Checkbox.helpers.ts
34
+ var CHECKBOX_DEFAULTS = {
35
+ variant: "default",
36
+ ripple: true,
37
+ glow: false,
38
+ pulse: false
39
+ };
40
+ var resolveCheckboxProps = (props) => withDefaults(props, CHECKBOX_DEFAULTS);
41
+ var makeTestId = (dataTestId) => (suffix) => dataTestId ? `${dataTestId}-${suffix}` : `checkbox-${suffix}`;
42
+
43
+ // src/components/form/Checkbox/Checkbox.metrics.ts
44
+ var CHECKBOX_PADDING = 9;
45
+ var CHECKBOX_GLYPH_SIZES = { small: 20, medium: 24, large: 35 };
46
+ var glyphSize = (size) => CHECKBOX_GLYPH_SIZES[size ?? "medium"] ?? CHECKBOX_GLYPH_SIZES.medium;
47
+ var CHECKBOX_GLYPH = {
48
+ checked: "CheckBox",
49
+ unchecked: "CheckBoxOutlineBlank",
50
+ indeterminate: "IndeterminateCheckBox"
51
+ };
52
+ var CHECKBOX_VARIANT = {
53
+ default: {},
54
+ rounded: { radius: "50%" },
55
+ toggle: { radius: 12, scale: 1.2 }
56
+ };
57
+ var CHECKBOX_SPINNER = { size: 20, offset: -10 };
58
+ var CHECKBOX_EFFECT_INK = { r: 25, g: 118, b: 210 };
59
+ var CHECKBOX_GLOW = { blur: { from: 5, to: 20 }, alpha: { from: 0.5, to: 0.8 }, ms: 2e3 };
60
+ var effectInk = (alphaValue) => `rgba(${CHECKBOX_EFFECT_INK.r}, ${CHECKBOX_EFFECT_INK.g}, ${CHECKBOX_EFFECT_INK.b}, ${alphaValue})`;
61
+ var CHECKBOX_LABEL = { marginLeft: 0, fontSize: 14 };
62
+ var CHECKBOX_HELPER = { marginLeftUnits: 4, marginTopUnits: 0.5, fontSize: 12, lineHeight: 1.66 };
63
+
64
+ // src/components/form/Checkbox/Checkbox.native.tsx
65
+ import { jsx, jsxs } from "react/jsx-runtime";
66
+ function glyphFor(checked, indeterminate) {
67
+ if (indeterminate) return CHECKBOX_GLYPH.indeterminate;
68
+ return checked ? CHECKBOX_GLYPH.checked : CHECKBOX_GLYPH.unchecked;
69
+ }
70
+ function glyphInk(theme, checked, indeterminate, disabled) {
71
+ if (disabled) return theme.palette.action.disabled;
72
+ if (checked || indeterminate) return theme.palette.primary.main;
73
+ return theme.palette.text.secondary;
74
+ }
75
+ function glowStyle() {
76
+ return Platform.select({
77
+ android: { elevation: CHECKBOX_GLOW.blur.to / 2 },
78
+ default: {
79
+ shadowColor: effectInk(1),
80
+ shadowOpacity: CHECKBOX_GLOW.alpha.from,
81
+ shadowRadius: CHECKBOX_GLOW.blur.from,
82
+ shadowOffset: { width: 0, height: 0 }
83
+ }
84
+ });
85
+ }
86
+ function variantStyle(variant, size) {
87
+ const treatment = CHECKBOX_VARIANT[variant];
88
+ if (treatment.radius === void 0) return {};
89
+ return {
90
+ overflow: "hidden",
91
+ borderRadius: typeof treatment.radius === "number" ? treatment.radius : size / 2,
92
+ ...treatment.scale === void 0 ? {} : { transform: [{ scale: treatment.scale }] }
93
+ };
94
+ }
95
+ function CheckboxBox(props) {
96
+ const theme = useUiTheme();
97
+ const { checked, indeterminate, inactive, size, variant } = props;
98
+ const ink = glyphInk(theme, checked, indeterminate, inactive);
99
+ return /* @__PURE__ */ jsxs(
100
+ Pressable,
101
+ {
102
+ ref: props.boxRef,
103
+ testID: props.testID,
104
+ role: "checkbox",
105
+ "aria-checked": indeterminate ? "mixed" : checked,
106
+ "aria-disabled": inactive,
107
+ "aria-label": props.label,
108
+ disabled: inactive,
109
+ onPress: props.onToggle,
110
+ android_ripple: props.ripple && !inactive ? { color: alpha(theme.palette.primary.main, 0.2), borderless: true } : void 0,
111
+ ...webKeyDown((event) => {
112
+ if (event.key === " " || event.key === "Spacebar") props.onToggle();
113
+ }),
114
+ style: [styles.box, props.glow ? glowStyle() : null],
115
+ ...props.rest,
116
+ children: [
117
+ /* @__PURE__ */ jsx(View, { style: variantStyle(variant, size), children: /* @__PURE__ */ jsx(Icon, { name: glyphFor(checked, indeterminate), size, color: ink }) }),
118
+ props.loading ? /* @__PURE__ */ jsx(
119
+ ActivityIndicator,
120
+ {
121
+ style: styles.spinner,
122
+ size: CHECKBOX_SPINNER.size,
123
+ color: theme.palette.primary.main,
124
+ accessibilityLabel: "loading"
125
+ }
126
+ ) : null
127
+ ]
128
+ }
129
+ );
130
+ }
131
+ function labelStyle(theme, error) {
132
+ return {
133
+ color: error ? theme.palette.danger.main : theme.palette.text.primary,
134
+ fontFamily: theme.typography.fontFamily,
135
+ fontSize: CHECKBOX_LABEL.fontSize,
136
+ marginLeft: CHECKBOX_LABEL.marginLeft
137
+ };
138
+ }
139
+ function helperStyle(theme, error) {
140
+ return {
141
+ color: error ? theme.palette.danger.main : theme.palette.text.secondary,
142
+ fontFamily: theme.typography.fontFamily,
143
+ fontSize: CHECKBOX_HELPER.fontSize,
144
+ lineHeight: CHECKBOX_HELPER.fontSize * CHECKBOX_HELPER.lineHeight,
145
+ marginLeft: theme.spacing(CHECKBOX_HELPER.marginLeftUnits),
146
+ marginTop: theme.spacing(CHECKBOX_HELPER.marginTopUnits)
147
+ };
148
+ }
149
+ var Checkbox = React.forwardRef((rawProps, ref) => {
150
+ const {
151
+ variant,
152
+ label,
153
+ error,
154
+ helperText,
155
+ loading,
156
+ ripple,
157
+ glow,
158
+ pulse: _pulse,
159
+ indeterminate,
160
+ disabled,
161
+ size,
162
+ checked,
163
+ defaultChecked,
164
+ onChange,
165
+ onClick,
166
+ onPress,
167
+ style,
168
+ ...others
169
+ } = resolveCheckboxProps(rawProps);
170
+ const theme = useUiTheme();
171
+ const [own, setOwn] = React.useState(Boolean(defaultChecked));
172
+ const current = checked ?? own;
173
+ const inactive = Boolean(disabled) || Boolean(loading);
174
+ const testId = makeTestId(resolveTestId(others));
175
+ const toggle = (event) => {
176
+ const next = !current;
177
+ setOwn(next);
178
+ onChange?.({ target: { checked: next } }, next);
179
+ if (event === void 0) return;
180
+ onClick?.(event);
181
+ onPress?.(event);
182
+ };
183
+ const box = /* @__PURE__ */ jsx(
184
+ CheckboxBox,
185
+ {
186
+ boxRef: ref,
187
+ testID: resolveTestId(others, "checkbox") ?? "checkbox",
188
+ checked: current,
189
+ indeterminate: Boolean(indeterminate),
190
+ inactive,
191
+ loading: Boolean(loading),
192
+ glow,
193
+ ripple,
194
+ variant,
195
+ size: glyphSize(size),
196
+ label,
197
+ onToggle: toggle,
198
+ rest: withoutTestIdProps(others)
199
+ }
200
+ );
201
+ if (label === void 0) return box;
202
+ return /* @__PURE__ */ jsxs(View, { testID: testId("container"), style, children: [
203
+ /* @__PURE__ */ jsxs(View, { style: styles.row, children: [
204
+ box,
205
+ /* @__PURE__ */ jsx(RNText, { style: labelStyle(theme, Boolean(error)), children: label })
206
+ ] }),
207
+ helperText === void 0 ? null : /* @__PURE__ */ jsx(RNText, { testID: testId("helper"), style: helperStyle(theme, Boolean(error)), children: helperText })
208
+ ] });
209
+ });
210
+ Checkbox.displayName = "Checkbox";
211
+ var styles = StyleSheet.create({
212
+ box: {
213
+ padding: CHECKBOX_PADDING,
214
+ alignItems: "center",
215
+ justifyContent: "center",
216
+ position: "relative"
217
+ },
218
+ row: {
219
+ flexDirection: "row",
220
+ alignItems: "center"
221
+ },
222
+ spinner: {
223
+ position: "absolute",
224
+ top: "50%",
225
+ left: "50%",
226
+ marginTop: CHECKBOX_SPINNER.offset,
227
+ marginLeft: CHECKBOX_SPINNER.offset
228
+ }
229
+ });
230
+ export {
231
+ Checkbox
232
+ };
233
+ //# sourceMappingURL=Checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/form/Checkbox/Checkbox.native.tsx","../../../src/components/form/Checkbox/Checkbox.helpers.ts","../../../src/components/form/Checkbox/Checkbox.metrics.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n ActivityIndicator,\n Platform,\n Pressable,\n StyleSheet,\n Text as RNText,\n View,\n type GestureResponderEvent,\n type TextStyle,\n type ViewStyle,\n} from 'react-native';\n\nimport { makeTestId, resolveCheckboxProps } from './Checkbox.helpers';\nimport {\n CHECKBOX_GLOW,\n CHECKBOX_GLYPH,\n CHECKBOX_HELPER,\n CHECKBOX_LABEL,\n CHECKBOX_PADDING,\n CHECKBOX_SPINNER,\n CHECKBOX_VARIANT,\n effectInk,\n glyphSize,\n} from './Checkbox.metrics';\nimport type { CheckboxProps } from './Checkbox.types.native';\nimport { Icon } from '../../../icons/Icon.native';\nimport type { IconName } from '../../../icons/Icon.types';\nimport { webKeyDown } from '../../../platform/aria';\nimport { resolveTestId, withoutTestIdProps } from '../../../platform/test-id';\nimport { useUiTheme } from '../../../provider/use-ui-theme.native';\nimport { alpha } from '../../../tokens/color';\nimport type { UiTheme } from '../../../tokens/theme';\n\n/** Which of MUI's three glyphs the box is in right now. */\nfunction glyphFor(checked: boolean, indeterminate: boolean): IconName {\n if (indeterminate) return CHECKBOX_GLYPH.indeterminate;\n return checked ? CHECKBOX_GLYPH.checked : CHECKBOX_GLYPH.unchecked;\n}\n\n/**\n * The ink the box is drawn in.\n *\n * MUI's own rule paints a checked box in `palette[color].main`, but\n * `Checkbox.tsx` overrides `.Mui-checked` with `primary.main` and wins on\n * source order — so every colour checks blue on the web, and here too.\n */\nfunction glyphInk(theme: UiTheme, checked: boolean, indeterminate: boolean, disabled: boolean): string {\n if (disabled) return theme.palette.action.disabled;\n if (checked || indeterminate) return theme.palette.primary.main;\n return theme.palette.text.secondary;\n}\n\n/** `glow` as a shadow; the web breathes it between two blurs, which needs keyframes. */\nfunction glowStyle(): ViewStyle {\n return Platform.select<ViewStyle>({\n android: { elevation: CHECKBOX_GLOW.blur.to / 2 },\n default: {\n shadowColor: effectInk(1),\n shadowOpacity: CHECKBOX_GLOW.alpha.from,\n shadowRadius: CHECKBOX_GLOW.blur.from,\n shadowOffset: { width: 0, height: 0 },\n },\n });\n}\n\n/** The `rounded` and `toggle` variants' corner and scale, on the glyph's own box. */\nfunction variantStyle(variant: keyof typeof CHECKBOX_VARIANT, size: number): ViewStyle {\n const treatment = CHECKBOX_VARIANT[variant];\n if (treatment.radius === undefined) return {};\n return {\n overflow: 'hidden',\n borderRadius: typeof treatment.radius === 'number' ? treatment.radius : size / 2,\n ...(treatment.scale === undefined ? {} : { transform: [{ scale: treatment.scale }] }),\n };\n}\n\ninterface BoxProps {\n boxRef: React.ForwardedRef<View>;\n testID: string;\n checked: boolean;\n indeterminate: boolean;\n inactive: boolean;\n loading: boolean;\n glow: boolean;\n ripple: boolean;\n variant: keyof typeof CHECKBOX_VARIANT;\n size: number;\n label?: string;\n onToggle: (event?: GestureResponderEvent) => void;\n rest: Record<string, unknown>;\n}\n\n/** The box itself: MUI's glyph inside `SwitchBase`'s 9px of padding. */\nfunction CheckboxBox(props: BoxProps): React.JSX.Element {\n const theme = useUiTheme();\n const { checked, indeterminate, inactive, size, variant } = props;\n const ink = glyphInk(theme, checked, indeterminate, inactive);\n\n return (\n <Pressable\n ref={props.boxRef}\n testID={props.testID}\n role=\"checkbox\"\n aria-checked={indeterminate ? 'mixed' : checked}\n aria-disabled={inactive}\n aria-label={props.label}\n disabled={inactive}\n onPress={props.onToggle}\n android_ripple={\n props.ripple && !inactive\n ? { color: alpha(theme.palette.primary.main, 0.2), borderless: true }\n : undefined\n }\n {...webKeyDown((event) => {\n if (event.key === ' ' || event.key === 'Spacebar') props.onToggle();\n })}\n style={[styles.box, props.glow ? glowStyle() : null]}\n {...props.rest}\n >\n <View style={variantStyle(variant, size)}>\n <Icon name={glyphFor(checked, indeterminate)} size={size} color={ink} />\n </View>\n {props.loading ? (\n <ActivityIndicator\n style={styles.spinner}\n size={CHECKBOX_SPINNER.size}\n color={theme.palette.primary.main}\n accessibilityLabel=\"loading\"\n />\n ) : null}\n </Pressable>\n );\n}\n\n/** MUI's `FormControlLabel` label, in `body2` and the error hue when it errs. */\nfunction labelStyle(theme: UiTheme, error: boolean): TextStyle {\n return {\n color: error ? theme.palette.danger.main : theme.palette.text.primary,\n fontFamily: theme.typography.fontFamily,\n fontSize: CHECKBOX_LABEL.fontSize,\n marginLeft: CHECKBOX_LABEL.marginLeft,\n };\n}\n\n/** `FormHelperText`, four spacing units in and half a unit down. */\nfunction helperStyle(theme: UiTheme, error: boolean): TextStyle {\n return {\n color: error ? theme.palette.danger.main : theme.palette.text.secondary,\n fontFamily: theme.typography.fontFamily,\n fontSize: CHECKBOX_HELPER.fontSize,\n lineHeight: CHECKBOX_HELPER.fontSize * CHECKBOX_HELPER.lineHeight,\n marginLeft: theme.spacing(CHECKBOX_HELPER.marginLeftUnits),\n marginTop: theme.spacing(CHECKBOX_HELPER.marginTopUnits),\n };\n}\n\n/**\n * The native `Checkbox`.\n *\n * The box is the glyph MUI's own `Checkbox` draws — `@12-apps/ui/icons`\n * generates its path from the same `@mui/icons-material` — inside\n * `SwitchBase`'s 9px of padding, under a pressable carrying `role=\"checkbox\"`\n * and `aria-checked`: the state the web's hidden `<input type=\"checkbox\">`\n * carries. See `NATIVE-NOTES.md`.\n */\nexport const Checkbox = React.forwardRef<View, CheckboxProps>((rawProps, ref) => {\n const {\n variant, label, error, helperText, loading, ripple, glow, pulse: _pulse,\n indeterminate, disabled, size, checked, defaultChecked,\n onChange, onClick, onPress, style, ...others\n } = resolveCheckboxProps(rawProps);\n\n const theme = useUiTheme();\n // `Boolean()` rather than a destructuring default for each: every `= false`\n // is a branch, and there are enough of them here to cost the size gate.\n const [own, setOwn] = React.useState(Boolean(defaultChecked));\n const current = checked ?? own;\n const inactive = Boolean(disabled) || Boolean(loading);\n const testId = makeTestId(resolveTestId(others));\n\n const toggle = (event?: GestureResponderEvent): void => {\n const next = !current;\n setOwn(next);\n onChange?.({ target: { checked: next } }, next);\n if (event === undefined) return;\n onClick?.(event);\n onPress?.(event);\n };\n\n const box = (\n <CheckboxBox\n boxRef={ref}\n testID={resolveTestId(others, 'checkbox') ?? 'checkbox'}\n checked={current}\n indeterminate={Boolean(indeterminate)}\n inactive={inactive}\n loading={Boolean(loading)}\n glow={glow}\n ripple={ripple}\n variant={variant}\n size={glyphSize(size)}\n label={label}\n onToggle={toggle}\n rest={withoutTestIdProps(others) as Record<string, unknown>}\n />\n );\n\n if (label === undefined) return box;\n\n return (\n <View testID={testId('container')} style={style}>\n <View style={styles.row}>\n {box}\n <RNText style={labelStyle(theme, Boolean(error))}>{label}</RNText>\n </View>\n {helperText === undefined ? null : (\n <RNText testID={testId('helper')} style={helperStyle(theme, Boolean(error))}>\n {helperText}\n </RNText>\n )}\n </View>\n );\n});\n\nCheckbox.displayName = 'Checkbox';\n\nconst styles = StyleSheet.create({\n box: {\n padding: CHECKBOX_PADDING,\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n },\n row: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n spinner: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n marginTop: CHECKBOX_SPINNER.offset,\n marginLeft: CHECKBOX_SPINNER.offset,\n },\n});\n","import type { CheckboxBaseProps } from './Checkbox.base';\nimport { withDefaults } from '../../../utils/withDefaults';\n\ntype CheckboxDefaultedKeys = 'variant' | 'ripple' | 'glow' | 'pulse';\n\n/**\n * Generic over the renderer's own props, as `resolveButtonProps` is: the web\n * and the native `Checkbox` pass different handler types through, and both come\n * back out untouched.\n */\nexport type ResolvedCheckboxProps<P extends CheckboxBaseProps = CheckboxBaseProps> = P &\n Required<Pick<CheckboxBaseProps, CheckboxDefaultedKeys>>;\n\nconst CHECKBOX_DEFAULTS: Required<Pick<CheckboxBaseProps, CheckboxDefaultedKeys>> = {\n variant: 'default',\n ripple: true,\n glow: false,\n pulse: false,\n};\n\nexport const resolveCheckboxProps = <P extends CheckboxBaseProps>(props: P): ResolvedCheckboxProps<P> =>\n withDefaults(props, CHECKBOX_DEFAULTS as Partial<P>) as ResolvedCheckboxProps<P>;\n\n/** `${dataTestId}-${suffix}`, or `checkbox-${suffix}` when the caller named nothing. */\nexport const makeTestId =\n (dataTestId?: string) =>\n (suffix: string): string =>\n dataTestId ? `${dataTestId}-${suffix}` : `checkbox-${suffix}`;\n","import type { CheckboxVariant } from './Checkbox.base';\n\n/**\n * THE NUMBERS BOTH `Checkbox` RENDERERS DRAW WITH.\n *\n * `Checkbox.tsx` (web, emotion over MUI's `Checkbox`) and\n * `Checkbox.native.tsx` (React Native) read this one table. As with the other\n * fields, some of it is what the web writes itself — the two variants' corner\n * treatment, the glow and pulse keyframes, the helper text's inset — and some\n * is what MUI supplies underneath: `SwitchBase`'s 9px padding, `SvgIcon`'s\n * three sizes, and the ink a box is drawn in.\n */\n\n/** MUI's `SwitchBase`: 9px of padding around the glyph, at every size. */\nexport const CHECKBOX_PADDING = 9;\n\n/** `SvgIcon`'s own three steps. MUI passes the `size` prop straight to the glyph. */\nexport const CHECKBOX_GLYPH_SIZES = { small: 20, medium: 24, large: 35 } as const;\nexport type CheckboxSize = keyof typeof CHECKBOX_GLYPH_SIZES;\n\nexport const glyphSize = (size: CheckboxSize | undefined): number =>\n CHECKBOX_GLYPH_SIZES[size ?? 'medium'] ?? CHECKBOX_GLYPH_SIZES.medium;\n\n/**\n * The three glyphs MUI draws, by state.\n *\n * `@12-apps/ui/icons` generates their paths from the same\n * `@mui/icons-material` package MUI's own `Checkbox` imports them from, so the\n * native box is the web box rather than a hand-drawn square.\n */\nexport const CHECKBOX_GLYPH = {\n checked: 'CheckBox',\n unchecked: 'CheckBoxOutlineBlank',\n indeterminate: 'IndeterminateCheckBox',\n} as const;\n\n/**\n * The corner each variant gives the glyph's box.\n *\n * `rounded` is a circle and `toggle` a 12px radius at 1.2 scale — both applied\n * to the SVG's own box on the web, where they show only through what the box\n * clips. Native gives them the same radius and the same scale.\n */\nexport const CHECKBOX_VARIANT: Record<CheckboxVariant, { radius?: number | string; scale?: number }> = {\n default: {},\n rounded: { radius: '50%' },\n toggle: { radius: 12, scale: 1.2 },\n};\n\n/** The wash a hovered box takes, and the 0.3s every state change runs over. */\nexport const CHECKBOX_HOVER_ALPHA = 0.1;\nexport const CHECKBOX_TRANSITION_MS = 300;\n\n/** `loading`: MUI's 20px `CircularProgress`, centred over the box. */\nexport const CHECKBOX_SPINNER = { size: 20, offset: -10 } as const;\n\n/**\n * `glow` and `pulse` are keyed to MUI's DEFAULT blue rather than the theme's\n * primary — the web writes the rgba out by hand — so both renderers do.\n */\nexport const CHECKBOX_EFFECT_INK = { r: 25, g: 118, b: 210 } as const;\nexport const CHECKBOX_GLOW = { blur: { from: 5, to: 20 }, alpha: { from: 0.5, to: 0.8 }, ms: 2000 } as const;\nexport const CHECKBOX_PULSE = { spread: 10, alpha: 0.7, ms: 2000 } as const;\n\n/** MUI's default blue at an alpha, as the web's keyframes spell it. */\nexport const effectInk = (alphaValue: number): string =>\n `rgba(${CHECKBOX_EFFECT_INK.r}, ${CHECKBOX_EFFECT_INK.g}, ${CHECKBOX_EFFECT_INK.b}, ${alphaValue})`;\n\n/** `FormControlLabel`: flush left, its label at MUI's `body2` size. */\nexport const CHECKBOX_LABEL = { marginLeft: 0, fontSize: 14 } as const;\n\n/** `FormHelperText`: four spacing units in, half a unit down. */\nexport const CHECKBOX_HELPER = { marginLeftUnits: 4, marginTopUnits: 0.5, fontSize: 12, lineHeight: 1.66 } as const;\n"],"mappings":"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","names":[]}