@12-apps/ui 6.20.0 → 6.22.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 (885) hide show
  1. package/NATIVE.md +10 -4
  2. package/dist/_internal/components/data-display/Alert/Alert.js +2 -2
  3. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +8 -8
  4. package/dist/_internal/components/data-display/Badge/Badge.js +2 -2
  5. package/dist/_internal/components/data-display/CardKit/CardKebab.js +3 -3
  6. package/dist/_internal/components/data-display/CardKit/card-actions-context.js +3 -3
  7. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +6 -6
  8. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +3 -3
  9. package/dist/_internal/components/data-display/Carousel/Carousel.js +3 -3
  10. package/dist/_internal/components/data-display/Chart/SpecChart.js +3 -3
  11. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +3 -3
  12. package/dist/_internal/components/data-display/DataViews/DataViewsBoard.js +3 -3
  13. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +49 -48
  14. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +72 -65
  15. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +9 -6
  16. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +10 -7
  17. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +20 -13
  18. package/dist/_internal/components/data-display/DataViews/base-card.js +12 -8
  19. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +6 -6
  20. package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +10 -3
  21. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +5 -5
  22. package/dist/_internal/components/data-display/DataViews/base-list-card.js +18 -15
  23. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +17 -15
  24. package/dist/_internal/components/data-display/DataViews/data-views-columns-tab.js +3 -3
  25. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +4 -4
  26. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +7 -7
  27. package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +3 -3
  28. package/dist/_internal/components/data-display/DataViews/data-views-empty.js +4 -4
  29. package/dist/_internal/components/data-display/DataViews/data-views-export.js +4 -4
  30. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +20 -18
  31. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +11 -11
  32. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +3 -3
  33. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +46 -45
  34. package/dist/_internal/components/data-display/DataViews/data-views-header-row.js +3 -3
  35. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +23 -22
  36. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +6 -6
  37. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +8 -8
  38. package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +4 -4
  39. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +14 -14
  40. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +27 -20
  41. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +13 -13
  42. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +4 -4
  43. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +1 -1
  44. package/dist/_internal/components/data-display/DataViews/save-view-preview.js +3 -3
  45. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +6 -6
  46. package/dist/_internal/components/data-display/DataViews/use-saved-views-controller.js +2 -2
  47. package/dist/_internal/components/data-display/DescriptionItem/DescriptionItem.js +3 -3
  48. package/dist/_internal/components/data-display/EmptyState/EmptyState.js +3 -3
  49. package/dist/_internal/components/data-display/ErrorState/ErrorState.js +2 -2
  50. package/dist/_internal/components/data-display/HoverCard/HoverCard.js +3 -3
  51. package/dist/_internal/components/data-display/LazyImage/LazyImage.js +4 -4
  52. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +5 -5
  53. package/dist/_internal/components/data-display/LoadingState/LoadingState.js +4 -4
  54. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +2 -2
  55. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +4 -4
  56. package/dist/_internal/components/data-display/Progress/Progress.js +2 -2
  57. package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +4 -4
  58. package/dist/_internal/components/data-display/Sheet/Sheet.hooks.js +2 -2
  59. package/dist/_internal/components/data-display/Sheet/Sheet.js +4 -4
  60. package/dist/_internal/components/data-display/StatCard/StatCard.js +4 -4
  61. package/dist/_internal/components/data-display/index.js +50 -50
  62. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +3 -3
  63. package/dist/_internal/components/feedback/Dialog/Dialog.base.js +1 -0
  64. package/dist/_internal/components/feedback/Dialog/Dialog.base.js.map +1 -0
  65. package/dist/_internal/components/feedback/Dialog/Dialog.helpers.js +12 -0
  66. package/dist/_internal/components/feedback/Dialog/Dialog.helpers.js.map +1 -0
  67. package/dist/_internal/components/feedback/Dialog/Dialog.js +6 -2
  68. package/dist/_internal/components/feedback/Dialog/Dialog.metrics.js +42 -0
  69. package/dist/_internal/components/feedback/Dialog/Dialog.metrics.js.map +1 -0
  70. package/dist/_internal/components/feedback/Dialog/Dialog.styles.js +3 -1
  71. package/dist/_internal/components/feedback/Modal/Modal.js +2 -2
  72. package/dist/_internal/components/feedback/StackedModal/StackedModal.js +2 -2
  73. package/dist/_internal/components/feedback/index.js +14 -11
  74. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +3 -3
  75. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +11 -9
  76. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +7 -5
  77. package/dist/_internal/components/form/AddressAutocomplete/AddressFallbackField.js +5 -3
  78. package/dist/_internal/components/form/AddressAutocomplete/AddressInputField.js +5 -3
  79. package/dist/_internal/components/form/AddressAutocomplete/AddressTextField.js +4 -2
  80. package/dist/_internal/components/form/Button/Button.js +2 -2
  81. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +10 -8
  82. package/dist/_internal/components/form/CategorySelect/CategoryPanelFoot.js +5 -3
  83. package/dist/_internal/components/form/CategorySelect/CategoryPanelHead.js +5 -3
  84. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +6 -4
  85. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +5 -3
  86. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +13 -11
  87. package/dist/_internal/components/form/CategorySelect/CategorySelect.styles.js +4 -2
  88. package/dist/_internal/components/form/CategorySelect/CategoryTrigger.js +5 -3
  89. package/dist/_internal/components/form/CepField/CepField.js +10 -4
  90. package/dist/_internal/components/form/Checkbox/Checkbox.base.js +1 -0
  91. package/dist/_internal/components/form/Checkbox/Checkbox.base.js.map +1 -0
  92. package/dist/_internal/components/form/Checkbox/Checkbox.helpers.js +2 -1
  93. package/dist/_internal/components/form/Checkbox/Checkbox.js +9 -2
  94. package/dist/_internal/components/form/Checkbox/Checkbox.metrics.js +34 -0
  95. package/dist/_internal/components/form/Checkbox/Checkbox.metrics.js.map +1 -0
  96. package/dist/_internal/components/form/CodeEditor/CodeEditor.js +5 -3
  97. package/dist/_internal/components/form/CreatableSelect/CreatableSelect.js +4 -2
  98. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +3 -3
  99. package/dist/_internal/components/form/Input/Input.base.js +1 -0
  100. package/dist/_internal/components/form/Input/Input.base.js.map +1 -0
  101. package/dist/_internal/components/form/Input/Input.helpers.js +23 -0
  102. package/dist/_internal/components/form/Input/Input.helpers.js.map +1 -0
  103. package/dist/_internal/components/form/Input/Input.js +9 -3
  104. package/dist/_internal/components/form/Input/Input.metrics.js +53 -0
  105. package/dist/_internal/components/form/Input/Input.metrics.js.map +1 -0
  106. package/dist/_internal/components/form/Input/Input.styles.js +10 -4
  107. package/dist/_internal/components/form/InputOTP/InputOTP.js +5 -3
  108. package/dist/_internal/components/form/InputOTP/InputOTP.styles.js +4 -2
  109. package/dist/_internal/components/form/Label/Label.js +2 -2
  110. package/dist/_internal/components/form/Menubar/Menubar.js +2 -2
  111. package/dist/_internal/components/form/PhoneInput/PhoneInput.js +4 -2
  112. package/dist/_internal/components/form/RadioGroup/RadioGroup.js +6 -4
  113. package/dist/_internal/components/form/RadioGroup/RadioGroup.styles.js +4 -2
  114. package/dist/_internal/components/form/RadioGroup/RadioGroup.variants.js +5 -3
  115. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +4 -2
  116. package/dist/_internal/components/form/Select/Select.base.js +1 -0
  117. package/dist/_internal/components/form/Select/Select.base.js.map +1 -0
  118. package/dist/_internal/components/form/Select/Select.helpers.js +48 -0
  119. package/dist/_internal/components/form/Select/Select.helpers.js.map +1 -0
  120. package/dist/_internal/components/form/Select/Select.js +10 -2
  121. package/dist/_internal/components/form/Select/Select.metrics.js +38 -0
  122. package/dist/_internal/components/form/Select/Select.metrics.js.map +1 -0
  123. package/dist/_internal/components/form/Switch/Switch.base.js +1 -0
  124. package/dist/_internal/components/form/Switch/Switch.base.js.map +1 -0
  125. package/dist/_internal/components/form/Switch/Switch.helpers.js +59 -0
  126. package/dist/_internal/components/form/Switch/Switch.helpers.js.map +1 -0
  127. package/dist/_internal/components/form/Switch/Switch.js +9 -3
  128. package/dist/_internal/components/form/Switch/Switch.metrics.js +83 -0
  129. package/dist/_internal/components/form/Switch/Switch.metrics.js.map +1 -0
  130. package/dist/_internal/components/form/Switch/Switch.parts.js +7 -2
  131. package/dist/_internal/components/form/Switch/Switch.styles.js +6 -1
  132. package/dist/_internal/components/form/Textarea/Textarea.js +5 -3
  133. package/dist/_internal/components/form/Textarea/Textarea.styles.js +4 -2
  134. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +4 -2
  135. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js.map +1 -1
  136. package/dist/_internal/components/form/Toggle/Toggle.js +5 -3
  137. package/dist/_internal/components/form/Toggle/Toggle.styles.js +4 -2
  138. package/dist/_internal/components/form/index.js +46 -40
  139. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +14 -12
  140. package/dist/_internal/components/form/total-form/Fields/CepField.js +11 -5
  141. package/dist/_internal/components/form/total-form/Fields/SelectField.js +11 -3
  142. package/dist/_internal/components/form/total-form/Fields/TextField.js +10 -4
  143. package/dist/_internal/components/form/total-form/Fields/index.js +32 -24
  144. package/dist/_internal/components/form/total-form/SubmitButton.js +3 -3
  145. package/dist/_internal/components/index.js +138 -128
  146. package/dist/_internal/components/layout/Box/Box.js +2 -2
  147. package/dist/_internal/components/layout/Card/Card.base.js +1 -0
  148. package/dist/_internal/components/layout/Card/Card.base.js.map +1 -0
  149. package/dist/_internal/components/layout/Card/Card.helpers.js +1 -1
  150. package/dist/_internal/components/layout/Card/Card.js +6 -3
  151. package/dist/_internal/components/layout/Card/Card.metrics.js +44 -0
  152. package/dist/_internal/components/layout/Card/Card.metrics.js.map +1 -0
  153. package/dist/_internal/components/layout/Card/Card.styles.js +3 -1
  154. package/dist/_internal/components/layout/Container/Container.js +2 -2
  155. package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +3 -3
  156. package/dist/_internal/components/layout/Skeleton/Skeleton.js +3 -3
  157. package/dist/_internal/components/layout/Spacer/Spacer.js +2 -2
  158. package/dist/_internal/components/layout/Stack/Stack.js +3 -3
  159. package/dist/_internal/components/layout/index.js +22 -20
  160. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +12 -9
  161. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +3 -3
  162. package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +3 -3
  163. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +5 -5
  164. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +2 -2
  165. package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +3 -3
  166. package/dist/_internal/components/navigation/index.js +20 -17
  167. package/dist/_internal/components/typography/Heading/Heading.js +2 -2
  168. package/dist/_internal/components/typography/Paragraph/Paragraph.js +2 -2
  169. package/dist/_internal/components/typography/Text/Text.js +2 -2
  170. package/dist/_internal/components/typography/index.js +4 -4
  171. package/dist/_internal/components/utility/InstallPrompt/InstallPrompt.js +2 -2
  172. package/dist/_internal/components/utility/index.js +2 -2
  173. package/dist/_internal/icons/Icon.js +3 -3
  174. package/dist/_internal/icons/paths.generated.js +1 -1
  175. package/dist/_internal/platform/aria.js +17 -1
  176. package/dist/_internal/platform/aria.js.map +1 -1
  177. package/dist/_internal/platform/test-id.js +5 -1
  178. package/dist/_internal/social-login-button/social-login-button.js +10 -8
  179. package/dist/_internal/tokens/field-edge.core.js +11 -0
  180. package/dist/_internal/tokens/field-edge.core.js.map +1 -0
  181. package/dist/_internal/tokens/field-edge.js +5 -2
  182. package/dist/_internal/tokens/mui-type.js +1 -0
  183. package/dist/_internal/tokens/mui-type.js.map +1 -1
  184. package/dist/_internal/tokens/shadow.js +18 -0
  185. package/dist/_internal/tokens/shadow.js.map +1 -0
  186. package/dist/_internal/user-avatar/user-avatar.js +9 -7
  187. package/dist/charts.js +11 -11
  188. package/dist/{chunk-MBYO2F4Y.js → chunk-25R3ITGZ.js} +6 -6
  189. package/dist/chunk-2ECT4IY2.js +250 -0
  190. package/dist/chunk-2ECT4IY2.js.map +1 -0
  191. package/dist/{chunk-KQ74QU55.js → chunk-2FDBR77W.js} +3 -3
  192. package/dist/{chunk-D7FJ2GAD.js → chunk-2HPP6RVC.js} +2 -2
  193. package/dist/{chunk-B2A4DG77.js → chunk-2MMEIN4T.js} +6 -6
  194. package/dist/{chunk-YRUCIKPO.js → chunk-2UYR2OOE.js} +4 -4
  195. package/dist/{chunk-2PCOC3PT.js → chunk-343TTIHD.js} +2 -2
  196. package/dist/{chunk-DQHC5P64.js → chunk-3FLVIVOK.js} +3 -3
  197. package/dist/{chunk-URWGRPL7.js → chunk-3W7IEWEL.js} +2 -2
  198. package/dist/{chunk-47UD6DZ4.js → chunk-4523RYE7.js} +5 -5
  199. package/dist/{chunk-AEGX66N7.js → chunk-4IVOHL32.js} +2 -2
  200. package/dist/{chunk-OQXOYHIV.js → chunk-4OHRZW7U.js} +48 -40
  201. package/dist/chunk-4OHRZW7U.js.map +1 -0
  202. package/dist/{chunk-GGE7Y53F.js → chunk-4TXIZ5WI.js} +2 -2
  203. package/dist/{chunk-IJIT5HQP.js → chunk-4X4KM4ZB.js} +4 -4
  204. package/dist/{chunk-6PRA45LC.js → chunk-5KEMPCW4.js} +54 -45
  205. package/dist/chunk-5KEMPCW4.js.map +1 -0
  206. package/dist/{chunk-M7OHXNLF.js → chunk-5NKUYCZD.js} +3 -3
  207. package/dist/{chunk-C52BELLW.js → chunk-5OIH36KX.js} +3 -3
  208. package/dist/chunk-5ZNU2U4D.js +41 -0
  209. package/dist/chunk-5ZNU2U4D.js.map +1 -0
  210. package/dist/{chunk-LMJBINWN.js → chunk-5ZTUP65G.js} +7 -7
  211. package/dist/{chunk-EX3PSZLV.js → chunk-67L7HMEP.js} +3 -3
  212. package/dist/{chunk-2EKALM6P.js → chunk-6JGPPTLX.js} +5 -5
  213. package/dist/{chunk-LZRURORY.js → chunk-6NZTYZP5.js} +4 -4
  214. package/dist/chunk-6Q6T3FW5.js +92 -0
  215. package/dist/chunk-6Q6T3FW5.js.map +1 -0
  216. package/dist/{chunk-DCEMUZJQ.js → chunk-6WIDZGXE.js} +2 -2
  217. package/dist/{chunk-R7MX5KPJ.js → chunk-6YLAVHV4.js} +4 -4
  218. package/dist/chunk-73BEVJCS.js +28 -0
  219. package/dist/chunk-73BEVJCS.js.map +1 -0
  220. package/dist/chunk-7FDU3FIN.js +13 -0
  221. package/dist/chunk-7FDU3FIN.js.map +1 -0
  222. package/dist/{chunk-RXSGHPCR.js → chunk-7FOOLP5H.js} +4 -4
  223. package/dist/{chunk-DOADQW7I.js → chunk-7NSX7A5H.js} +2 -2
  224. package/dist/{chunk-QZWKC3AP.js → chunk-7VN7LFBA.js} +6 -6
  225. package/dist/{chunk-E4FGKZID.js → chunk-AEGXHZQT.js} +2 -2
  226. package/dist/{chunk-WO52KYSU.js → chunk-AGSBIUPV.js} +8 -8
  227. package/dist/{chunk-D2IASECY.js → chunk-AIRWM7KK.js} +39 -28
  228. package/dist/chunk-AIRWM7KK.js.map +1 -0
  229. package/dist/{chunk-PU3AAKRR.js → chunk-AJ6XEO4E.js} +2 -2
  230. package/dist/{chunk-7DNQHMDO.js → chunk-B6IURHSZ.js} +4 -4
  231. package/dist/chunk-BEBLRL5D.js +177 -0
  232. package/dist/chunk-BEBLRL5D.js.map +1 -0
  233. package/dist/{chunk-WX7VWW3W.js → chunk-C3CMEDSO.js} +2 -2
  234. package/dist/{chunk-HSAH5QUQ.js → chunk-CHPZTF34.js} +7 -7
  235. package/dist/{chunk-7EESF76V.js → chunk-CJBBGMIA.js} +2 -2
  236. package/dist/{chunk-2W4CIWTW.js → chunk-DBYFC6CF.js} +3 -3
  237. package/dist/chunk-DFK6QCXX.js +150 -0
  238. package/dist/chunk-DFK6QCXX.js.map +1 -0
  239. package/dist/{chunk-FGLV6BXQ.js → chunk-DTC224UJ.js} +6 -6
  240. package/dist/{chunk-HEK4LQT6.js → chunk-DVFIE54C.js} +2 -2
  241. package/dist/{chunk-4N4ENTF7.js → chunk-DW5FRWRQ.js} +2 -2
  242. package/dist/{chunk-THBT56JE.js → chunk-E55CJV65.js} +2 -2
  243. package/dist/{chunk-B7BZAIHL.js → chunk-EOHKZGOZ.js} +2 -2
  244. package/dist/{chunk-MLOWPVVW.js → chunk-EPEJMTCQ.js} +16 -13
  245. package/dist/chunk-EPEJMTCQ.js.map +1 -0
  246. package/dist/{chunk-EGRFMPGD.js → chunk-EXJBPKGW.js} +4 -4
  247. package/dist/{chunk-BILE3A7F.js → chunk-FGK2C7JR.js} +2 -2
  248. package/dist/{chunk-OI3HOI74.js → chunk-FGUESLDX.js} +2 -2
  249. package/dist/{chunk-RI5JZLZL.js → chunk-FKUYRQSP.js} +1 -1
  250. package/dist/chunk-FKUYRQSP.js.map +1 -0
  251. package/dist/{chunk-VCTKJHXD.js → chunk-FL54G7PV.js} +2 -2
  252. package/dist/{chunk-FX5DY6VR.js → chunk-FR67FG2U.js} +7 -4
  253. package/dist/chunk-FR67FG2U.js.map +1 -0
  254. package/dist/{chunk-HDNK7BAX.js → chunk-GT7C6TSM.js} +3 -3
  255. package/dist/chunk-GY6KNVMI.js +39 -0
  256. package/dist/chunk-GY6KNVMI.js.map +1 -0
  257. package/dist/chunk-GYXUCS37.js +36 -0
  258. package/dist/chunk-GYXUCS37.js.map +1 -0
  259. package/dist/{chunk-V3SBJ3PB.js → chunk-HFXTAEYY.js} +2 -2
  260. package/dist/{chunk-HBAPVB7T.js → chunk-HKKSZ7HG.js} +2 -2
  261. package/dist/{chunk-FOMK3WPG.js → chunk-HLYPI5CO.js} +4 -4
  262. package/dist/{chunk-3AOOI2NR.js → chunk-HR7YTBR7.js} +4 -4
  263. package/dist/{chunk-UNF65XZW.js → chunk-I5SBTNV2.js} +2 -2
  264. package/dist/{chunk-X24P3ZYW.js → chunk-J4W4TQPC.js} +6 -6
  265. package/dist/{chunk-5ZOJLYD2.js → chunk-JE6RZ5L6.js} +4 -4
  266. package/dist/{chunk-NQC6H7GY.js → chunk-JIKWZDNK.js} +2 -2
  267. package/dist/{chunk-ENNW5SKT.js → chunk-JSH3HFDQ.js} +2 -2
  268. package/dist/{chunk-JB7JE4QZ.js → chunk-JWW2Z3RH.js} +4 -4
  269. package/dist/{chunk-LAHDFBDE.js → chunk-JXNT5TUP.js} +3 -3
  270. package/dist/{chunk-VMNSGE2G.js → chunk-KEVPUBOE.js} +5 -1
  271. package/dist/chunk-KEVPUBOE.js.map +1 -0
  272. package/dist/{chunk-ZBNTFWTG.js → chunk-KIHQE5YA.js} +2 -2
  273. package/dist/{chunk-ZEBJT5JZ.js → chunk-KTK4A3IF.js} +3 -3
  274. package/dist/{chunk-4WK2RTVY.js → chunk-LS4FMSHY.js} +5 -5
  275. package/dist/{chunk-PNYXXLPU.js → chunk-M4LQRQFL.js} +2 -2
  276. package/dist/{chunk-Z7JNCB5Q.js → chunk-MESRKY67.js} +2 -2
  277. package/dist/chunk-MLCFODJO.js +135 -0
  278. package/dist/chunk-MLCFODJO.js.map +1 -0
  279. package/dist/{chunk-VJK5FBNK.js → chunk-MP4VSWHK.js} +2 -2
  280. package/dist/{chunk-Q5EQC7NL.js → chunk-N5IVVLTH.js} +8 -5
  281. package/dist/chunk-N5IVVLTH.js.map +1 -0
  282. package/dist/{chunk-6XPNJLXE.js → chunk-NARIG5FL.js} +2 -2
  283. package/dist/{chunk-VEFDL77X.js → chunk-NWNSUHEB.js} +2 -2
  284. package/dist/{chunk-43NEBUV3.js → chunk-O3336DJ6.js} +2 -2
  285. package/dist/{chunk-WBVHRLIS.js → chunk-OFOYMZRY.js} +2 -2
  286. package/dist/{chunk-SM3NRN7L.js → chunk-ON2CMKTI.js} +2 -2
  287. package/dist/{chunk-IH4CX43Q.js → chunk-OP65D4UR.js} +2 -2
  288. package/dist/{chunk-NHSMLVNC.js → chunk-OVLNF4AZ.js} +3 -3
  289. package/dist/{chunk-ZTZ6S5Q6.js → chunk-OXQP3N6X.js} +4 -4
  290. package/dist/{chunk-YVW7VPK4.js → chunk-PFLKPNBU.js} +2 -2
  291. package/dist/{chunk-7P2HZLEG.js → chunk-PFV6RL4Q.js} +3 -3
  292. package/dist/{chunk-76GZ55IC.js → chunk-PMS3H3OO.js} +7 -7
  293. package/dist/{chunk-UF27D35R.js → chunk-PRUSQQDT.js} +2 -2
  294. package/dist/{chunk-HBZIN6IQ.js → chunk-PZEC5CQA.js} +2 -2
  295. package/dist/{chunk-74OZ5KVR.js → chunk-Q75SJ35X.js} +4 -4
  296. package/dist/{chunk-PC5FFEIY.js → chunk-QFJRB27Q.js} +4 -4
  297. package/dist/{chunk-6D5WEZ2L.js → chunk-QFVFHIHE.js} +2 -2
  298. package/dist/{chunk-GBB6XQ56.js → chunk-QGBMCB76.js} +2 -2
  299. package/dist/{chunk-PODGTNXS.js → chunk-QKIJ6YXZ.js} +4 -4
  300. package/dist/{chunk-DX527XPL.js → chunk-QWDEOITU.js} +2 -2
  301. package/dist/{chunk-BJ3J6FTN.js → chunk-R7R3LOKW.js} +40 -23
  302. package/dist/chunk-R7R3LOKW.js.map +1 -0
  303. package/dist/{chunk-OLZTGVBT.js → chunk-REMK55JI.js} +4 -4
  304. package/dist/{chunk-BLT5ZBVL.js → chunk-RRX6ZTNX.js} +2 -2
  305. package/dist/{chunk-RMSH2I3O.js → chunk-S6YY2WWK.js} +40 -50
  306. package/dist/chunk-S6YY2WWK.js.map +1 -0
  307. package/dist/{chunk-FCOEJCUP.js → chunk-TFO6GBW7.js} +2 -2
  308. package/dist/{chunk-2ZDTGI5V.js → chunk-TLMLEC4F.js} +7 -7
  309. package/dist/{chunk-VSLUFBMT.js → chunk-TOYEP23N.js} +41 -27
  310. package/dist/chunk-TOYEP23N.js.map +1 -0
  311. package/dist/{chunk-FP4R47TM.js → chunk-TW3BXVEU.js} +2 -2
  312. package/dist/{chunk-QLWBQQW7.js → chunk-TYJR4GOF.js} +10 -2
  313. package/dist/chunk-TYJR4GOF.js.map +1 -0
  314. package/dist/{chunk-JD364H3Y.js → chunk-TZ633UZA.js} +6 -5
  315. package/dist/chunk-TZ633UZA.js.map +1 -0
  316. package/dist/{chunk-J6UFAMIC.js → chunk-TZDDL3DR.js} +2 -2
  317. package/dist/{chunk-6IUTT6BK.js → chunk-U2YJCNRU.js} +4 -4
  318. package/dist/{chunk-KZSKI2R3.js → chunk-U2ZDN2AL.js} +2 -2
  319. package/dist/{chunk-YFHIESMD.js → chunk-U7Q2Y6WG.js} +2 -2
  320. package/dist/{chunk-RQDN4BN5.js → chunk-UU3QAKG6.js} +14 -14
  321. package/dist/{chunk-VJFH2AXT.js → chunk-UVGRRI7N.js} +7 -7
  322. package/dist/{chunk-7DBFEZRC.js → chunk-VIK3HAUQ.js} +2 -2
  323. package/dist/chunk-VM3HRSAU.js +79 -0
  324. package/dist/chunk-VM3HRSAU.js.map +1 -0
  325. package/dist/{chunk-SOCKK67R.js → chunk-VNDOQEJ7.js} +4 -4
  326. package/dist/{chunk-J54WH74M.js → chunk-VNNG46TS.js} +5 -5
  327. package/dist/{chunk-5ZF3VASA.js → chunk-VQAM2XZV.js} +7 -7
  328. package/dist/{chunk-SEH7KOVG.js → chunk-VXTYVJDK.js} +2 -2
  329. package/dist/{chunk-37YPZHAG.js → chunk-W4SDVTZC.js} +2 -2
  330. package/dist/{chunk-X5D3PTWI.js → chunk-W4YWU7LQ.js} +2 -2
  331. package/dist/{chunk-LKVIZNUM.js → chunk-W7Y6RA6W.js} +8 -8
  332. package/dist/{chunk-Z4GWXTZV.js → chunk-WGRS4PGY.js} +8 -8
  333. package/dist/{chunk-NRUYYGDZ.js → chunk-WLQTHPMX.js} +2 -2
  334. package/dist/{chunk-J2KSG754.js → chunk-WRDPWEIC.js} +5 -5
  335. package/dist/{chunk-HEG7JIBM.js → chunk-X5MPHXG5.js} +4 -4
  336. package/dist/{chunk-NFAKRI4S.js → chunk-XELVDPKL.js} +4 -4
  337. package/dist/{chunk-EPNUVSNK.js → chunk-XFUNJYFT.js} +7 -7
  338. package/dist/{chunk-7RZ4WOQW.js → chunk-XKV5ZIBG.js} +3 -3
  339. package/dist/{chunk-F2DOTCF3.js → chunk-XSF6AXEU.js} +2 -2
  340. package/dist/{chunk-74EZ565M.js → chunk-XT7HMNBW.js} +9 -9
  341. package/dist/{chunk-PHCSPHDH.js → chunk-XUJG2HFW.js} +3 -3
  342. package/dist/{chunk-ACDYA5WC.js → chunk-XZTOIEKI.js} +2 -2
  343. package/dist/{chunk-S5LE2ARG.js → chunk-YANLN6HP.js} +66 -56
  344. package/dist/chunk-YANLN6HP.js.map +1 -0
  345. package/dist/{chunk-SKZHOWTS.js → chunk-YDI6IJ6F.js} +2 -2
  346. package/dist/{chunk-YK2PETUP.js → chunk-YJ4HM25H.js} +2 -2
  347. package/dist/{chunk-Q4NOI2CR.js → chunk-YQ6TNHAC.js} +4 -4
  348. package/dist/{chunk-24BUCMQA.js → chunk-YTOYMJPM.js} +2 -2
  349. package/dist/{chunk-G5ZVD5IJ.js → chunk-ZDWU52DJ.js} +2 -2
  350. package/dist/{chunk-MY5VNNSP.js → chunk-ZIYMBR7K.js} +8 -8
  351. package/dist/{chunk-7JWXLDRH.js → chunk-ZKR5B6YJ.js} +4 -4
  352. package/dist/{chunk-4MGFUPQT.js → chunk-ZOUWHGV3.js} +4 -4
  353. package/dist/{chunk-UMDXGIRZ.js → chunk-ZZOOSKSV.js} +2 -2
  354. package/dist/data-display/Alert.js +2 -2
  355. package/dist/data-display/AsyncStateContainer.js +8 -8
  356. package/dist/data-display/Badge.js +2 -2
  357. package/dist/data-display/CardKit.js +10 -10
  358. package/dist/data-display/Carousel.js +3 -3
  359. package/dist/data-display/Chart.js +11 -11
  360. package/dist/data-display/DataGrid.js +3 -3
  361. package/dist/data-display/DataViews.js +90 -81
  362. package/dist/data-display/DescriptionItem.js +3 -3
  363. package/dist/data-display/EmptyState.js +3 -3
  364. package/dist/data-display/ErrorState.js +2 -2
  365. package/dist/data-display/HoverCard.js +3 -3
  366. package/dist/data-display/LazyImage.js +4 -4
  367. package/dist/data-display/Lightbox.js +5 -5
  368. package/dist/data-display/LoadingState.js +4 -4
  369. package/dist/data-display/MapPreview.js +4 -4
  370. package/dist/data-display/Progress.js +2 -2
  371. package/dist/data-display/SectionOnboarding.js +4 -4
  372. package/dist/data-display/Sheet.js +4 -4
  373. package/dist/data-display/StatCard.js +4 -4
  374. package/dist/feedback/ConfirmAction.js +5 -5
  375. package/dist/feedback/Dialog.js +6 -2
  376. package/dist/feedback/Modal.js +2 -2
  377. package/dist/feedback/StackedModal.js +2 -2
  378. package/dist/form/AddressAutocomplete.js +11 -9
  379. package/dist/form/Button.js +2 -2
  380. package/dist/form/CategorySelect.js +13 -11
  381. package/dist/form/CepField.js +10 -4
  382. package/dist/form/Checkbox.js +9 -2
  383. package/dist/form/CodeEditor.js +5 -3
  384. package/dist/form/CreatableSelect.js +4 -2
  385. package/dist/form/DateRangePicker.js +3 -3
  386. package/dist/form/Input.js +9 -3
  387. package/dist/form/InputOTP.js +5 -3
  388. package/dist/form/Label.js +2 -2
  389. package/dist/form/Menubar.js +2 -2
  390. package/dist/form/PhoneInput.js +4 -2
  391. package/dist/form/RadioGroup.js +6 -4
  392. package/dist/form/RichTextEditor.js +4 -2
  393. package/dist/form/Select.js +10 -2
  394. package/dist/form/Switch.js +9 -3
  395. package/dist/form/Textarea.js +5 -3
  396. package/dist/form/Toggle.js +5 -3
  397. package/dist/form/total-form.js +37 -32
  398. package/dist/icons.js +3 -3
  399. package/dist/layout/Box.js +2 -2
  400. package/dist/layout/Card.js +6 -3
  401. package/dist/layout/Container.js +2 -2
  402. package/dist/layout/ContentToolbar.js +9 -9
  403. package/dist/layout/ScrollArea.js +3 -3
  404. package/dist/layout/Skeleton.js +3 -3
  405. package/dist/layout/Spacer.js +2 -2
  406. package/dist/layout/Stack.js +3 -3
  407. package/dist/native/chunks/{chunk-HSIND52T.js → chunk-2UFNPDYT.js} +2 -1
  408. package/dist/native/chunks/chunk-2UFNPDYT.js.map +1 -0
  409. package/dist/native/chunks/{chunk-EKKNUEA6.js → chunk-75JQYVDZ.js} +3 -3
  410. package/dist/native/chunks/chunk-7LTVGW23.js +351 -0
  411. package/dist/native/chunks/chunk-7LTVGW23.js.map +1 -0
  412. package/dist/native/chunks/{chunk-M4DTJDWU.js → chunk-AR5O4BEY.js} +6 -2
  413. package/dist/native/chunks/chunk-AR5O4BEY.js.map +1 -0
  414. package/dist/native/chunks/{chunk-UKCCYP52.js → chunk-ATS7STZJ.js} +4 -4
  415. package/dist/native/chunks/{chunk-YTHR4Y5P.js → chunk-GWGIWQO7.js} +2 -2
  416. package/dist/native/chunks/{chunk-P3PL4WBO.js → chunk-LEMMXZFN.js} +24 -24
  417. package/dist/native/chunks/{chunk-P3PL4WBO.js.map → chunk-LEMMXZFN.js.map} +1 -1
  418. package/dist/native/chunks/chunk-NRN37A5K.js +67 -0
  419. package/dist/native/chunks/chunk-NRN37A5K.js.map +1 -0
  420. package/dist/native/chunks/chunk-OXHZDFJZ.js +15 -0
  421. package/dist/native/chunks/chunk-OXHZDFJZ.js.map +1 -0
  422. package/dist/native/chunks/{chunk-Q52IDAF2.js → chunk-QYUD3S6F.js} +9 -5
  423. package/dist/native/chunks/chunk-QYUD3S6F.js.map +1 -0
  424. package/dist/native/chunks/chunk-T6BJPP3E.js +26 -0
  425. package/dist/native/chunks/chunk-T6BJPP3E.js.map +1 -0
  426. package/dist/native/data-display/Alert.js +9 -9
  427. package/dist/native/data-display/Avatar.js +7 -7
  428. package/dist/native/data-display/Badge.js +9 -9
  429. package/dist/native/data-display/Chip.js +4 -4
  430. package/dist/native/data-display/EmptyState.js +12 -12
  431. package/dist/native/data-display/ErrorState.js +12 -12
  432. package/dist/native/data-display/LoadingState.js +7 -7
  433. package/dist/native/data-display/Progress.js +3 -3
  434. package/dist/native/feedback/Dialog.js +496 -0
  435. package/dist/native/feedback/Dialog.js.map +1 -0
  436. package/dist/native/form/Button.js +4 -4
  437. package/dist/native/form/Checkbox.js +233 -0
  438. package/dist/native/form/Checkbox.js.map +1 -0
  439. package/dist/native/form/Input.js +233 -0
  440. package/dist/native/form/Input.js.map +1 -0
  441. package/dist/native/form/Select.js +348 -0
  442. package/dist/native/form/Select.js.map +1 -0
  443. package/dist/native/form/Switch.js +511 -0
  444. package/dist/native/form/Switch.js.map +1 -0
  445. package/dist/native/icons.js +4 -4
  446. package/dist/native/layout/Box.js +4 -4
  447. package/dist/native/layout/Card.js +494 -0
  448. package/dist/native/layout/Card.js.map +1 -0
  449. package/dist/native/layout/Container.js +3 -3
  450. package/dist/native/layout/Skeleton.js +6 -6
  451. package/dist/native/layout/Spacer.js +3 -3
  452. package/dist/native/layout/Stack.js +4 -4
  453. package/dist/native/provider.js +2 -2
  454. package/dist/native/tokens.js +1 -1
  455. package/dist/native/typography/Heading.js +3 -3
  456. package/dist/native/typography/Paragraph.js +3 -3
  457. package/dist/native/typography/Text.js +3 -3
  458. package/dist/navigation/AppHeader.js +12 -9
  459. package/dist/navigation/CommandPalette.js +3 -3
  460. package/dist/navigation/NavigationMenu.js +5 -5
  461. package/dist/social-login-button.js +10 -8
  462. package/dist/types/components/feedback/Dialog/Dialog.base.d.ts +64 -0
  463. package/dist/types/components/feedback/Dialog/Dialog.base.d.ts.map +1 -0
  464. package/dist/types/components/feedback/Dialog/Dialog.d.ts.map +1 -1
  465. package/dist/types/components/feedback/Dialog/Dialog.helpers.d.ts +35 -0
  466. package/dist/types/components/feedback/Dialog/Dialog.helpers.d.ts.map +1 -0
  467. package/dist/types/components/feedback/Dialog/Dialog.metrics.d.ts +133 -0
  468. package/dist/types/components/feedback/Dialog/Dialog.metrics.d.ts.map +1 -0
  469. package/dist/types/components/feedback/Dialog/Dialog.styles.d.ts +4 -4
  470. package/dist/types/components/feedback/Dialog/Dialog.styles.d.ts.map +1 -1
  471. package/dist/types/components/feedback/Dialog/Dialog.types.d.ts +8 -41
  472. package/dist/types/components/feedback/Dialog/Dialog.types.d.ts.map +1 -1
  473. package/dist/types/components/feedback/Dialog/index.d.ts +1 -1
  474. package/dist/types/components/feedback/Dialog/index.d.ts.map +1 -1
  475. package/dist/types/components/form/Checkbox/Checkbox.base.d.ts +36 -0
  476. package/dist/types/components/form/Checkbox/Checkbox.base.d.ts.map +1 -0
  477. package/dist/types/components/form/Checkbox/Checkbox.d.ts.map +1 -1
  478. package/dist/types/components/form/Checkbox/Checkbox.helpers.d.ts +9 -3
  479. package/dist/types/components/form/Checkbox/Checkbox.helpers.d.ts.map +1 -1
  480. package/dist/types/components/form/Checkbox/Checkbox.metrics.d.ts +92 -0
  481. package/dist/types/components/form/Checkbox/Checkbox.metrics.d.ts.map +1 -0
  482. package/dist/types/components/form/Checkbox/Checkbox.types.d.ts +8 -10
  483. package/dist/types/components/form/Checkbox/Checkbox.types.d.ts.map +1 -1
  484. package/dist/types/components/form/Checkbox/index.d.ts +1 -1
  485. package/dist/types/components/form/Checkbox/index.d.ts.map +1 -1
  486. package/dist/types/components/form/Input/Input.base.d.ts +62 -0
  487. package/dist/types/components/form/Input/Input.base.d.ts.map +1 -0
  488. package/dist/types/components/form/Input/Input.d.ts.map +1 -1
  489. package/dist/types/components/form/Input/Input.helpers.d.ts +11 -0
  490. package/dist/types/components/form/Input/Input.helpers.d.ts.map +1 -0
  491. package/dist/types/components/form/Input/Input.metrics.d.ts +186 -0
  492. package/dist/types/components/form/Input/Input.metrics.d.ts.map +1 -0
  493. package/dist/types/components/form/Input/Input.styles.d.ts +1 -35
  494. package/dist/types/components/form/Input/Input.styles.d.ts.map +1 -1
  495. package/dist/types/components/form/Input/Input.types.d.ts +12 -17
  496. package/dist/types/components/form/Input/Input.types.d.ts.map +1 -1
  497. package/dist/types/components/form/Input/index.d.ts +1 -1
  498. package/dist/types/components/form/Input/index.d.ts.map +1 -1
  499. package/dist/types/components/form/Select/Select.base.d.ts +75 -0
  500. package/dist/types/components/form/Select/Select.base.d.ts.map +1 -0
  501. package/dist/types/components/form/Select/Select.d.ts.map +1 -1
  502. package/dist/types/components/form/Select/Select.helpers.d.ts +36 -0
  503. package/dist/types/components/form/Select/Select.helpers.d.ts.map +1 -0
  504. package/dist/types/components/form/Select/Select.metrics.d.ts +72 -0
  505. package/dist/types/components/form/Select/Select.metrics.d.ts.map +1 -0
  506. package/dist/types/components/form/Select/Select.types.d.ts +12 -49
  507. package/dist/types/components/form/Select/Select.types.d.ts.map +1 -1
  508. package/dist/types/components/form/Select/index.d.ts +1 -1
  509. package/dist/types/components/form/Select/index.d.ts.map +1 -1
  510. package/dist/types/components/form/Switch/Switch.base.d.ts +111 -0
  511. package/dist/types/components/form/Switch/Switch.base.d.ts.map +1 -0
  512. package/dist/types/components/form/Switch/Switch.d.ts.map +1 -1
  513. package/dist/types/components/form/Switch/Switch.helpers.d.ts +17 -0
  514. package/dist/types/components/form/Switch/Switch.helpers.d.ts.map +1 -0
  515. package/dist/types/components/form/Switch/Switch.metrics.d.ts +194 -0
  516. package/dist/types/components/form/Switch/Switch.metrics.d.ts.map +1 -0
  517. package/dist/types/components/form/Switch/Switch.parts.d.ts.map +1 -1
  518. package/dist/types/components/form/Switch/Switch.styles.d.ts +5 -3
  519. package/dist/types/components/form/Switch/Switch.styles.d.ts.map +1 -1
  520. package/dist/types/components/form/Switch/Switch.types.d.ts +9 -91
  521. package/dist/types/components/form/Switch/Switch.types.d.ts.map +1 -1
  522. package/dist/types/components/form/Switch/index.d.ts +1 -1
  523. package/dist/types/components/form/Switch/index.d.ts.map +1 -1
  524. package/dist/types/components/layout/Card/Card.base.d.ts +77 -0
  525. package/dist/types/components/layout/Card/Card.base.d.ts.map +1 -0
  526. package/dist/types/components/layout/Card/Card.d.ts.map +1 -1
  527. package/dist/types/components/layout/Card/Card.helpers.d.ts +8 -3
  528. package/dist/types/components/layout/Card/Card.helpers.d.ts.map +1 -1
  529. package/dist/types/components/layout/Card/Card.metrics.d.ts +182 -0
  530. package/dist/types/components/layout/Card/Card.metrics.d.ts.map +1 -0
  531. package/dist/types/components/layout/Card/Card.styles.d.ts +2 -2
  532. package/dist/types/components/layout/Card/Card.styles.d.ts.map +1 -1
  533. package/dist/types/components/layout/Card/Card.types.d.ts +10 -44
  534. package/dist/types/components/layout/Card/Card.types.d.ts.map +1 -1
  535. package/dist/types/components/layout/Card/index.d.ts +1 -1
  536. package/dist/types/components/layout/Card/index.d.ts.map +1 -1
  537. package/dist/types/icons/paths.generated.d.ts +4 -0
  538. package/dist/types/icons/paths.generated.d.ts.map +1 -1
  539. package/dist/types/platform/aria.d.ts +59 -1
  540. package/dist/types/platform/aria.d.ts.map +1 -1
  541. package/dist/types/platform/test-id.d.ts +24 -0
  542. package/dist/types/platform/test-id.d.ts.map +1 -1
  543. package/dist/types/tokens/field-edge.core.d.ts +27 -0
  544. package/dist/types/tokens/field-edge.core.d.ts.map +1 -0
  545. package/dist/types/tokens/field-edge.d.ts +8 -9
  546. package/dist/types/tokens/field-edge.d.ts.map +1 -1
  547. package/dist/types/tokens/mui-type.d.ts +1 -1
  548. package/dist/types/tokens/mui-type.d.ts.map +1 -1
  549. package/dist/types/tokens/shadow.d.ts +40 -0
  550. package/dist/types/tokens/shadow.d.ts.map +1 -0
  551. package/dist/types-native/components/feedback/Dialog/Dialog.base.d.ts +64 -0
  552. package/dist/types-native/components/feedback/Dialog/Dialog.base.d.ts.map +1 -0
  553. package/dist/types-native/components/feedback/Dialog/Dialog.helpers.d.ts +35 -0
  554. package/dist/types-native/components/feedback/Dialog/Dialog.helpers.d.ts.map +1 -0
  555. package/dist/types-native/components/feedback/Dialog/Dialog.look.native.d.ts +44 -0
  556. package/dist/types-native/components/feedback/Dialog/Dialog.look.native.d.ts.map +1 -0
  557. package/dist/types-native/components/feedback/Dialog/Dialog.metrics.d.ts +133 -0
  558. package/dist/types-native/components/feedback/Dialog/Dialog.metrics.d.ts.map +1 -0
  559. package/dist/types-native/components/feedback/Dialog/Dialog.native.d.ts +8 -0
  560. package/dist/types-native/components/feedback/Dialog/Dialog.native.d.ts.map +1 -0
  561. package/dist/types-native/components/feedback/Dialog/Dialog.types.native.d.ts +25 -0
  562. package/dist/types-native/components/feedback/Dialog/Dialog.types.native.d.ts.map +1 -0
  563. package/dist/types-native/components/feedback/Dialog/DialogParts.native.d.ts +39 -0
  564. package/dist/types-native/components/feedback/Dialog/DialogParts.native.d.ts.map +1 -0
  565. package/dist/types-native/components/feedback/Dialog/index.native.d.ts +4 -0
  566. package/dist/types-native/components/feedback/Dialog/index.native.d.ts.map +1 -0
  567. package/dist/types-native/components/form/Checkbox/Checkbox.base.d.ts +36 -0
  568. package/dist/types-native/components/form/Checkbox/Checkbox.base.d.ts.map +1 -0
  569. package/dist/types-native/components/form/Checkbox/Checkbox.helpers.d.ts +13 -0
  570. package/dist/types-native/components/form/Checkbox/Checkbox.helpers.d.ts.map +1 -0
  571. package/dist/types-native/components/form/Checkbox/Checkbox.metrics.d.ts +92 -0
  572. package/dist/types-native/components/form/Checkbox/Checkbox.metrics.d.ts.map +1 -0
  573. package/dist/types-native/components/form/Checkbox/Checkbox.native.d.ts +21 -0
  574. package/dist/types-native/components/form/Checkbox/Checkbox.native.d.ts.map +1 -0
  575. package/dist/types-native/components/form/Checkbox/Checkbox.types.native.d.ts +27 -0
  576. package/dist/types-native/components/form/Checkbox/Checkbox.types.native.d.ts.map +1 -0
  577. package/dist/types-native/components/form/Checkbox/index.native.d.ts +3 -0
  578. package/dist/types-native/components/form/Checkbox/index.native.d.ts.map +1 -0
  579. package/dist/types-native/components/form/Input/Input.base.d.ts +62 -0
  580. package/dist/types-native/components/form/Input/Input.base.d.ts.map +1 -0
  581. package/dist/types-native/components/form/Input/Input.helpers.d.ts +11 -0
  582. package/dist/types-native/components/form/Input/Input.helpers.d.ts.map +1 -0
  583. package/dist/types-native/components/form/Input/Input.look.native.d.ts +61 -0
  584. package/dist/types-native/components/form/Input/Input.look.native.d.ts.map +1 -0
  585. package/dist/types-native/components/form/Input/Input.metrics.d.ts +186 -0
  586. package/dist/types-native/components/form/Input/Input.metrics.d.ts.map +1 -0
  587. package/dist/types-native/components/form/Input/Input.native.d.ts +22 -0
  588. package/dist/types-native/components/form/Input/Input.native.d.ts.map +1 -0
  589. package/dist/types-native/components/form/Input/Input.types.native.d.ts +20 -0
  590. package/dist/types-native/components/form/Input/Input.types.native.d.ts.map +1 -0
  591. package/dist/types-native/components/form/Input/index.native.d.ts +3 -0
  592. package/dist/types-native/components/form/Input/index.native.d.ts.map +1 -0
  593. package/dist/types-native/components/form/Select/Select.base.d.ts +75 -0
  594. package/dist/types-native/components/form/Select/Select.base.d.ts.map +1 -0
  595. package/dist/types-native/components/form/Select/Select.helpers.d.ts +36 -0
  596. package/dist/types-native/components/form/Select/Select.helpers.d.ts.map +1 -0
  597. package/dist/types-native/components/form/Select/Select.look.native.d.ts +26 -0
  598. package/dist/types-native/components/form/Select/Select.look.native.d.ts.map +1 -0
  599. package/dist/types-native/components/form/Select/Select.metrics.d.ts +72 -0
  600. package/dist/types-native/components/form/Select/Select.metrics.d.ts.map +1 -0
  601. package/dist/types-native/components/form/Select/Select.native.d.ts +21 -0
  602. package/dist/types-native/components/form/Select/Select.native.d.ts.map +1 -0
  603. package/dist/types-native/components/form/Select/Select.types.native.d.ts +29 -0
  604. package/dist/types-native/components/form/Select/Select.types.native.d.ts.map +1 -0
  605. package/dist/types-native/components/form/Select/index.native.d.ts +3 -0
  606. package/dist/types-native/components/form/Select/index.native.d.ts.map +1 -0
  607. package/dist/types-native/components/form/Switch/Switch.base.d.ts +111 -0
  608. package/dist/types-native/components/form/Switch/Switch.base.d.ts.map +1 -0
  609. package/dist/types-native/components/form/Switch/Switch.helpers.d.ts +17 -0
  610. package/dist/types-native/components/form/Switch/Switch.helpers.d.ts.map +1 -0
  611. package/dist/types-native/components/form/Switch/Switch.look.native.d.ts +43 -0
  612. package/dist/types-native/components/form/Switch/Switch.look.native.d.ts.map +1 -0
  613. package/dist/types-native/components/form/Switch/Switch.metrics.d.ts +194 -0
  614. package/dist/types-native/components/form/Switch/Switch.metrics.d.ts.map +1 -0
  615. package/dist/types-native/components/form/Switch/Switch.native.d.ts +20 -0
  616. package/dist/types-native/components/form/Switch/Switch.native.d.ts.map +1 -0
  617. package/dist/types-native/components/form/Switch/Switch.types.native.d.ts +27 -0
  618. package/dist/types-native/components/form/Switch/Switch.types.native.d.ts.map +1 -0
  619. package/dist/types-native/components/form/Switch/index.native.d.ts +3 -0
  620. package/dist/types-native/components/form/Switch/index.native.d.ts.map +1 -0
  621. package/dist/types-native/components/form/field-pulse.native.d.ts +18 -0
  622. package/dist/types-native/components/form/field-pulse.native.d.ts.map +1 -0
  623. package/dist/types-native/components/layout/Card/Card.base.d.ts +77 -0
  624. package/dist/types-native/components/layout/Card/Card.base.d.ts.map +1 -0
  625. package/dist/types-native/components/layout/Card/Card.helpers.d.ts +11 -0
  626. package/dist/types-native/components/layout/Card/Card.helpers.d.ts.map +1 -0
  627. package/dist/types-native/components/layout/Card/Card.look.native.d.ts +57 -0
  628. package/dist/types-native/components/layout/Card/Card.look.native.d.ts.map +1 -0
  629. package/dist/types-native/components/layout/Card/Card.metrics.d.ts +182 -0
  630. package/dist/types-native/components/layout/Card/Card.metrics.d.ts.map +1 -0
  631. package/dist/types-native/components/layout/Card/Card.native.d.ts +11 -0
  632. package/dist/types-native/components/layout/Card/Card.native.d.ts.map +1 -0
  633. package/dist/types-native/components/layout/Card/Card.types.native.d.ts +28 -0
  634. package/dist/types-native/components/layout/Card/Card.types.native.d.ts.map +1 -0
  635. package/dist/types-native/components/layout/Card/CardParts.native.d.ts +55 -0
  636. package/dist/types-native/components/layout/Card/CardParts.native.d.ts.map +1 -0
  637. package/dist/types-native/components/layout/Card/index.native.d.ts +4 -0
  638. package/dist/types-native/components/layout/Card/index.native.d.ts.map +1 -0
  639. package/dist/types-native/icons/paths.generated.d.ts +4 -0
  640. package/dist/types-native/icons/paths.generated.d.ts.map +1 -1
  641. package/dist/types-native/platform/aria.d.ts +59 -1
  642. package/dist/types-native/platform/aria.d.ts.map +1 -1
  643. package/dist/types-native/platform/pulse-ring.native.d.ts +35 -0
  644. package/dist/types-native/platform/pulse-ring.native.d.ts.map +1 -0
  645. package/dist/types-native/platform/test-id.d.ts +24 -0
  646. package/dist/types-native/platform/test-id.d.ts.map +1 -1
  647. package/dist/types-native/tokens/field-edge.core.d.ts +27 -0
  648. package/dist/types-native/tokens/field-edge.core.d.ts.map +1 -0
  649. package/dist/types-native/tokens/mui-type.d.ts +1 -1
  650. package/dist/types-native/tokens/mui-type.d.ts.map +1 -1
  651. package/dist/types-native/tokens/shadow.d.ts +40 -0
  652. package/dist/types-native/tokens/shadow.d.ts.map +1 -0
  653. package/dist/types-native/utils/withDefaults.d.ts +13 -0
  654. package/dist/types-native/utils/withDefaults.d.ts.map +1 -0
  655. package/dist/typography/Heading.js +2 -2
  656. package/dist/typography/Paragraph.js +2 -2
  657. package/dist/typography/Text.js +2 -2
  658. package/dist/user-avatar.js +9 -7
  659. package/dist/utility/InstallPrompt.js +2 -2
  660. package/package.json +25 -1
  661. package/src/components/data-display/CardKit/NATIVE-NOTES.md +48 -0
  662. package/src/components/feedback/Dialog/Dialog.base.ts +69 -0
  663. package/src/components/feedback/Dialog/Dialog.helpers.ts +75 -0
  664. package/src/components/feedback/Dialog/Dialog.look.native.ts +159 -0
  665. package/src/components/feedback/Dialog/Dialog.metrics.ts +140 -0
  666. package/src/components/feedback/Dialog/Dialog.native.tsx +149 -0
  667. package/src/components/feedback/Dialog/Dialog.styles.ts +63 -41
  668. package/src/components/feedback/Dialog/Dialog.tsx +58 -74
  669. package/src/components/feedback/Dialog/Dialog.types.native.ts +46 -0
  670. package/src/components/feedback/Dialog/Dialog.types.ts +24 -41
  671. package/src/components/feedback/Dialog/DialogParts.native.tsx +257 -0
  672. package/src/components/feedback/Dialog/NATIVE-NOTES.md +16 -0
  673. package/src/components/feedback/Dialog/index.native.ts +16 -0
  674. package/src/components/feedback/Dialog/index.ts +8 -2
  675. package/src/components/form/Checkbox/Checkbox.base.ts +36 -0
  676. package/src/components/form/Checkbox/Checkbox.helpers.ts +13 -13
  677. package/src/components/form/Checkbox/Checkbox.metrics.ts +73 -0
  678. package/src/components/form/Checkbox/Checkbox.native.tsx +246 -0
  679. package/src/components/form/Checkbox/Checkbox.tsx +34 -21
  680. package/src/components/form/Checkbox/Checkbox.types.native.ts +29 -0
  681. package/src/components/form/Checkbox/Checkbox.types.ts +12 -11
  682. package/src/components/form/Checkbox/NATIVE-NOTES.md +11 -0
  683. package/src/components/form/Checkbox/index.native.ts +8 -0
  684. package/src/components/form/Checkbox/index.ts +1 -1
  685. package/src/components/form/Input/Input.base.ts +84 -0
  686. package/src/components/form/Input/Input.helpers.ts +43 -0
  687. package/src/components/form/Input/Input.look.native.ts +246 -0
  688. package/src/components/form/Input/Input.metrics.ts +229 -0
  689. package/src/components/form/Input/Input.native.tsx +240 -0
  690. package/src/components/form/Input/Input.styles.ts +45 -51
  691. package/src/components/form/Input/Input.tsx +46 -42
  692. package/src/components/form/Input/Input.types.native.ts +29 -0
  693. package/src/components/form/Input/Input.types.ts +15 -17
  694. package/src/components/form/Input/NATIVE-NOTES.md +14 -0
  695. package/src/components/form/Input/index.native.ts +2 -0
  696. package/src/components/form/Input/index.ts +1 -1
  697. package/src/components/form/Select/NATIVE-NOTES.md +12 -0
  698. package/src/components/form/Select/Select.base.ts +78 -0
  699. package/src/components/form/Select/Select.helpers.ts +82 -0
  700. package/src/components/form/Select/Select.look.native.ts +99 -0
  701. package/src/components/form/Select/Select.metrics.ts +90 -0
  702. package/src/components/form/Select/Select.native.tsx +264 -0
  703. package/src/components/form/Select/Select.tsx +37 -25
  704. package/src/components/form/Select/Select.types.native.ts +30 -0
  705. package/src/components/form/Select/Select.types.ts +14 -51
  706. package/src/components/form/Select/index.native.ts +9 -0
  707. package/src/components/form/Select/index.ts +7 -1
  708. package/src/components/form/Switch/NATIVE-NOTES.md +12 -0
  709. package/src/components/form/Switch/Switch.base.ts +136 -0
  710. package/src/components/form/Switch/Switch.helpers.ts +61 -0
  711. package/src/components/form/Switch/Switch.look.native.ts +187 -0
  712. package/src/components/form/Switch/Switch.metrics.ts +191 -0
  713. package/src/components/form/Switch/Switch.native.tsx +360 -0
  714. package/src/components/form/Switch/Switch.parts.tsx +4 -4
  715. package/src/components/form/Switch/Switch.styles.ts +109 -147
  716. package/src/components/form/Switch/Switch.tsx +4 -2
  717. package/src/components/form/Switch/Switch.types.native.ts +34 -0
  718. package/src/components/form/Switch/Switch.types.ts +16 -117
  719. package/src/components/form/Switch/index.native.ts +8 -0
  720. package/src/components/form/Switch/index.ts +6 -1
  721. package/src/components/form/field-pulse.native.tsx +78 -0
  722. package/src/components/layout/Card/Card.base.ts +92 -0
  723. package/src/components/layout/Card/Card.helpers.ts +13 -7
  724. package/src/components/layout/Card/Card.look.native.ts +204 -0
  725. package/src/components/layout/Card/Card.metrics.ts +171 -0
  726. package/src/components/layout/Card/Card.native.tsx +130 -0
  727. package/src/components/layout/Card/Card.styles.ts +88 -48
  728. package/src/components/layout/Card/Card.tsx +41 -25
  729. package/src/components/layout/Card/Card.types.native.ts +59 -0
  730. package/src/components/layout/Card/Card.types.ts +30 -45
  731. package/src/components/layout/Card/CardParts.native.tsx +262 -0
  732. package/src/components/layout/Card/NATIVE-NOTES.md +15 -0
  733. package/src/components/layout/Card/index.native.ts +18 -0
  734. package/src/components/layout/Card/index.ts +9 -0
  735. package/src/icons/glyphs.json +4 -0
  736. package/src/icons/paths.generated.ts +4 -0
  737. package/src/platform/aria.ts +72 -1
  738. package/src/platform/pulse-ring.native.tsx +82 -0
  739. package/src/platform/test-id.ts +30 -0
  740. package/src/tokens/field-edge.core.ts +87 -0
  741. package/src/tokens/field-edge.ts +10 -66
  742. package/src/tokens/mui-type.ts +2 -1
  743. package/src/tokens/shadow.ts +59 -0
  744. package/dist/chunk-6PRA45LC.js.map +0 -1
  745. package/dist/chunk-BJ3J6FTN.js.map +0 -1
  746. package/dist/chunk-D2IASECY.js.map +0 -1
  747. package/dist/chunk-FX5DY6VR.js.map +0 -1
  748. package/dist/chunk-JD364H3Y.js.map +0 -1
  749. package/dist/chunk-MLOWPVVW.js.map +0 -1
  750. package/dist/chunk-OQXOYHIV.js.map +0 -1
  751. package/dist/chunk-Q5EQC7NL.js.map +0 -1
  752. package/dist/chunk-QLWBQQW7.js.map +0 -1
  753. package/dist/chunk-RI5JZLZL.js.map +0 -1
  754. package/dist/chunk-RMSH2I3O.js.map +0 -1
  755. package/dist/chunk-S5LE2ARG.js.map +0 -1
  756. package/dist/chunk-TBWEIQUR.js +0 -263
  757. package/dist/chunk-TBWEIQUR.js.map +0 -1
  758. package/dist/chunk-VMF3UXM4.js +0 -137
  759. package/dist/chunk-VMF3UXM4.js.map +0 -1
  760. package/dist/chunk-VMNSGE2G.js.map +0 -1
  761. package/dist/chunk-VSLUFBMT.js.map +0 -1
  762. package/dist/native/chunks/chunk-4NK5ZQZ3.js +0 -10
  763. package/dist/native/chunks/chunk-4NK5ZQZ3.js.map +0 -1
  764. package/dist/native/chunks/chunk-HSIND52T.js.map +0 -1
  765. package/dist/native/chunks/chunk-M4DTJDWU.js.map +0 -1
  766. package/dist/native/chunks/chunk-Q52IDAF2.js.map +0 -1
  767. /package/dist/{chunk-MBYO2F4Y.js.map → chunk-25R3ITGZ.js.map} +0 -0
  768. /package/dist/{chunk-KQ74QU55.js.map → chunk-2FDBR77W.js.map} +0 -0
  769. /package/dist/{chunk-D7FJ2GAD.js.map → chunk-2HPP6RVC.js.map} +0 -0
  770. /package/dist/{chunk-B2A4DG77.js.map → chunk-2MMEIN4T.js.map} +0 -0
  771. /package/dist/{chunk-YRUCIKPO.js.map → chunk-2UYR2OOE.js.map} +0 -0
  772. /package/dist/{chunk-2PCOC3PT.js.map → chunk-343TTIHD.js.map} +0 -0
  773. /package/dist/{chunk-DQHC5P64.js.map → chunk-3FLVIVOK.js.map} +0 -0
  774. /package/dist/{chunk-URWGRPL7.js.map → chunk-3W7IEWEL.js.map} +0 -0
  775. /package/dist/{chunk-47UD6DZ4.js.map → chunk-4523RYE7.js.map} +0 -0
  776. /package/dist/{chunk-AEGX66N7.js.map → chunk-4IVOHL32.js.map} +0 -0
  777. /package/dist/{chunk-GGE7Y53F.js.map → chunk-4TXIZ5WI.js.map} +0 -0
  778. /package/dist/{chunk-IJIT5HQP.js.map → chunk-4X4KM4ZB.js.map} +0 -0
  779. /package/dist/{chunk-M7OHXNLF.js.map → chunk-5NKUYCZD.js.map} +0 -0
  780. /package/dist/{chunk-C52BELLW.js.map → chunk-5OIH36KX.js.map} +0 -0
  781. /package/dist/{chunk-LMJBINWN.js.map → chunk-5ZTUP65G.js.map} +0 -0
  782. /package/dist/{chunk-EX3PSZLV.js.map → chunk-67L7HMEP.js.map} +0 -0
  783. /package/dist/{chunk-2EKALM6P.js.map → chunk-6JGPPTLX.js.map} +0 -0
  784. /package/dist/{chunk-LZRURORY.js.map → chunk-6NZTYZP5.js.map} +0 -0
  785. /package/dist/{chunk-DCEMUZJQ.js.map → chunk-6WIDZGXE.js.map} +0 -0
  786. /package/dist/{chunk-R7MX5KPJ.js.map → chunk-6YLAVHV4.js.map} +0 -0
  787. /package/dist/{chunk-RXSGHPCR.js.map → chunk-7FOOLP5H.js.map} +0 -0
  788. /package/dist/{chunk-DOADQW7I.js.map → chunk-7NSX7A5H.js.map} +0 -0
  789. /package/dist/{chunk-QZWKC3AP.js.map → chunk-7VN7LFBA.js.map} +0 -0
  790. /package/dist/{chunk-E4FGKZID.js.map → chunk-AEGXHZQT.js.map} +0 -0
  791. /package/dist/{chunk-WO52KYSU.js.map → chunk-AGSBIUPV.js.map} +0 -0
  792. /package/dist/{chunk-PU3AAKRR.js.map → chunk-AJ6XEO4E.js.map} +0 -0
  793. /package/dist/{chunk-7DNQHMDO.js.map → chunk-B6IURHSZ.js.map} +0 -0
  794. /package/dist/{chunk-WX7VWW3W.js.map → chunk-C3CMEDSO.js.map} +0 -0
  795. /package/dist/{chunk-HSAH5QUQ.js.map → chunk-CHPZTF34.js.map} +0 -0
  796. /package/dist/{chunk-7EESF76V.js.map → chunk-CJBBGMIA.js.map} +0 -0
  797. /package/dist/{chunk-2W4CIWTW.js.map → chunk-DBYFC6CF.js.map} +0 -0
  798. /package/dist/{chunk-FGLV6BXQ.js.map → chunk-DTC224UJ.js.map} +0 -0
  799. /package/dist/{chunk-HEK4LQT6.js.map → chunk-DVFIE54C.js.map} +0 -0
  800. /package/dist/{chunk-4N4ENTF7.js.map → chunk-DW5FRWRQ.js.map} +0 -0
  801. /package/dist/{chunk-THBT56JE.js.map → chunk-E55CJV65.js.map} +0 -0
  802. /package/dist/{chunk-B7BZAIHL.js.map → chunk-EOHKZGOZ.js.map} +0 -0
  803. /package/dist/{chunk-EGRFMPGD.js.map → chunk-EXJBPKGW.js.map} +0 -0
  804. /package/dist/{chunk-BILE3A7F.js.map → chunk-FGK2C7JR.js.map} +0 -0
  805. /package/dist/{chunk-OI3HOI74.js.map → chunk-FGUESLDX.js.map} +0 -0
  806. /package/dist/{chunk-VCTKJHXD.js.map → chunk-FL54G7PV.js.map} +0 -0
  807. /package/dist/{chunk-HDNK7BAX.js.map → chunk-GT7C6TSM.js.map} +0 -0
  808. /package/dist/{chunk-V3SBJ3PB.js.map → chunk-HFXTAEYY.js.map} +0 -0
  809. /package/dist/{chunk-HBAPVB7T.js.map → chunk-HKKSZ7HG.js.map} +0 -0
  810. /package/dist/{chunk-FOMK3WPG.js.map → chunk-HLYPI5CO.js.map} +0 -0
  811. /package/dist/{chunk-3AOOI2NR.js.map → chunk-HR7YTBR7.js.map} +0 -0
  812. /package/dist/{chunk-UNF65XZW.js.map → chunk-I5SBTNV2.js.map} +0 -0
  813. /package/dist/{chunk-X24P3ZYW.js.map → chunk-J4W4TQPC.js.map} +0 -0
  814. /package/dist/{chunk-5ZOJLYD2.js.map → chunk-JE6RZ5L6.js.map} +0 -0
  815. /package/dist/{chunk-NQC6H7GY.js.map → chunk-JIKWZDNK.js.map} +0 -0
  816. /package/dist/{chunk-ENNW5SKT.js.map → chunk-JSH3HFDQ.js.map} +0 -0
  817. /package/dist/{chunk-JB7JE4QZ.js.map → chunk-JWW2Z3RH.js.map} +0 -0
  818. /package/dist/{chunk-LAHDFBDE.js.map → chunk-JXNT5TUP.js.map} +0 -0
  819. /package/dist/{chunk-ZBNTFWTG.js.map → chunk-KIHQE5YA.js.map} +0 -0
  820. /package/dist/{chunk-ZEBJT5JZ.js.map → chunk-KTK4A3IF.js.map} +0 -0
  821. /package/dist/{chunk-4WK2RTVY.js.map → chunk-LS4FMSHY.js.map} +0 -0
  822. /package/dist/{chunk-PNYXXLPU.js.map → chunk-M4LQRQFL.js.map} +0 -0
  823. /package/dist/{chunk-Z7JNCB5Q.js.map → chunk-MESRKY67.js.map} +0 -0
  824. /package/dist/{chunk-VJK5FBNK.js.map → chunk-MP4VSWHK.js.map} +0 -0
  825. /package/dist/{chunk-6XPNJLXE.js.map → chunk-NARIG5FL.js.map} +0 -0
  826. /package/dist/{chunk-VEFDL77X.js.map → chunk-NWNSUHEB.js.map} +0 -0
  827. /package/dist/{chunk-43NEBUV3.js.map → chunk-O3336DJ6.js.map} +0 -0
  828. /package/dist/{chunk-WBVHRLIS.js.map → chunk-OFOYMZRY.js.map} +0 -0
  829. /package/dist/{chunk-SM3NRN7L.js.map → chunk-ON2CMKTI.js.map} +0 -0
  830. /package/dist/{chunk-IH4CX43Q.js.map → chunk-OP65D4UR.js.map} +0 -0
  831. /package/dist/{chunk-NHSMLVNC.js.map → chunk-OVLNF4AZ.js.map} +0 -0
  832. /package/dist/{chunk-ZTZ6S5Q6.js.map → chunk-OXQP3N6X.js.map} +0 -0
  833. /package/dist/{chunk-YVW7VPK4.js.map → chunk-PFLKPNBU.js.map} +0 -0
  834. /package/dist/{chunk-7P2HZLEG.js.map → chunk-PFV6RL4Q.js.map} +0 -0
  835. /package/dist/{chunk-76GZ55IC.js.map → chunk-PMS3H3OO.js.map} +0 -0
  836. /package/dist/{chunk-UF27D35R.js.map → chunk-PRUSQQDT.js.map} +0 -0
  837. /package/dist/{chunk-HBZIN6IQ.js.map → chunk-PZEC5CQA.js.map} +0 -0
  838. /package/dist/{chunk-74OZ5KVR.js.map → chunk-Q75SJ35X.js.map} +0 -0
  839. /package/dist/{chunk-PC5FFEIY.js.map → chunk-QFJRB27Q.js.map} +0 -0
  840. /package/dist/{chunk-6D5WEZ2L.js.map → chunk-QFVFHIHE.js.map} +0 -0
  841. /package/dist/{chunk-GBB6XQ56.js.map → chunk-QGBMCB76.js.map} +0 -0
  842. /package/dist/{chunk-PODGTNXS.js.map → chunk-QKIJ6YXZ.js.map} +0 -0
  843. /package/dist/{chunk-DX527XPL.js.map → chunk-QWDEOITU.js.map} +0 -0
  844. /package/dist/{chunk-OLZTGVBT.js.map → chunk-REMK55JI.js.map} +0 -0
  845. /package/dist/{chunk-BLT5ZBVL.js.map → chunk-RRX6ZTNX.js.map} +0 -0
  846. /package/dist/{chunk-FCOEJCUP.js.map → chunk-TFO6GBW7.js.map} +0 -0
  847. /package/dist/{chunk-2ZDTGI5V.js.map → chunk-TLMLEC4F.js.map} +0 -0
  848. /package/dist/{chunk-FP4R47TM.js.map → chunk-TW3BXVEU.js.map} +0 -0
  849. /package/dist/{chunk-J6UFAMIC.js.map → chunk-TZDDL3DR.js.map} +0 -0
  850. /package/dist/{chunk-6IUTT6BK.js.map → chunk-U2YJCNRU.js.map} +0 -0
  851. /package/dist/{chunk-KZSKI2R3.js.map → chunk-U2ZDN2AL.js.map} +0 -0
  852. /package/dist/{chunk-YFHIESMD.js.map → chunk-U7Q2Y6WG.js.map} +0 -0
  853. /package/dist/{chunk-RQDN4BN5.js.map → chunk-UU3QAKG6.js.map} +0 -0
  854. /package/dist/{chunk-VJFH2AXT.js.map → chunk-UVGRRI7N.js.map} +0 -0
  855. /package/dist/{chunk-7DBFEZRC.js.map → chunk-VIK3HAUQ.js.map} +0 -0
  856. /package/dist/{chunk-SOCKK67R.js.map → chunk-VNDOQEJ7.js.map} +0 -0
  857. /package/dist/{chunk-J54WH74M.js.map → chunk-VNNG46TS.js.map} +0 -0
  858. /package/dist/{chunk-5ZF3VASA.js.map → chunk-VQAM2XZV.js.map} +0 -0
  859. /package/dist/{chunk-SEH7KOVG.js.map → chunk-VXTYVJDK.js.map} +0 -0
  860. /package/dist/{chunk-37YPZHAG.js.map → chunk-W4SDVTZC.js.map} +0 -0
  861. /package/dist/{chunk-X5D3PTWI.js.map → chunk-W4YWU7LQ.js.map} +0 -0
  862. /package/dist/{chunk-LKVIZNUM.js.map → chunk-W7Y6RA6W.js.map} +0 -0
  863. /package/dist/{chunk-Z4GWXTZV.js.map → chunk-WGRS4PGY.js.map} +0 -0
  864. /package/dist/{chunk-NRUYYGDZ.js.map → chunk-WLQTHPMX.js.map} +0 -0
  865. /package/dist/{chunk-J2KSG754.js.map → chunk-WRDPWEIC.js.map} +0 -0
  866. /package/dist/{chunk-HEG7JIBM.js.map → chunk-X5MPHXG5.js.map} +0 -0
  867. /package/dist/{chunk-NFAKRI4S.js.map → chunk-XELVDPKL.js.map} +0 -0
  868. /package/dist/{chunk-EPNUVSNK.js.map → chunk-XFUNJYFT.js.map} +0 -0
  869. /package/dist/{chunk-7RZ4WOQW.js.map → chunk-XKV5ZIBG.js.map} +0 -0
  870. /package/dist/{chunk-F2DOTCF3.js.map → chunk-XSF6AXEU.js.map} +0 -0
  871. /package/dist/{chunk-74EZ565M.js.map → chunk-XT7HMNBW.js.map} +0 -0
  872. /package/dist/{chunk-PHCSPHDH.js.map → chunk-XUJG2HFW.js.map} +0 -0
  873. /package/dist/{chunk-ACDYA5WC.js.map → chunk-XZTOIEKI.js.map} +0 -0
  874. /package/dist/{chunk-SKZHOWTS.js.map → chunk-YDI6IJ6F.js.map} +0 -0
  875. /package/dist/{chunk-YK2PETUP.js.map → chunk-YJ4HM25H.js.map} +0 -0
  876. /package/dist/{chunk-Q4NOI2CR.js.map → chunk-YQ6TNHAC.js.map} +0 -0
  877. /package/dist/{chunk-24BUCMQA.js.map → chunk-YTOYMJPM.js.map} +0 -0
  878. /package/dist/{chunk-G5ZVD5IJ.js.map → chunk-ZDWU52DJ.js.map} +0 -0
  879. /package/dist/{chunk-MY5VNNSP.js.map → chunk-ZIYMBR7K.js.map} +0 -0
  880. /package/dist/{chunk-7JWXLDRH.js.map → chunk-ZKR5B6YJ.js.map} +0 -0
  881. /package/dist/{chunk-4MGFUPQT.js.map → chunk-ZOUWHGV3.js.map} +0 -0
  882. /package/dist/{chunk-UMDXGIRZ.js.map → chunk-ZZOOSKSV.js.map} +0 -0
  883. /package/dist/native/chunks/{chunk-EKKNUEA6.js.map → chunk-75JQYVDZ.js.map} +0 -0
  884. /package/dist/native/chunks/{chunk-UKCCYP52.js.map → chunk-ATS7STZJ.js.map} +0 -0
  885. /package/dist/native/chunks/{chunk-YTHR4Y5P.js.map → chunk-GWGIWQO7.js.map} +0 -0
@@ -0,0 +1,240 @@
1
+ import * as React from 'react';
2
+ import {
3
+ ActivityIndicator,
4
+ Platform,
5
+ StyleSheet,
6
+ Text as RNText,
7
+ TextInput as RNTextInput,
8
+ View,
9
+ type GestureResponderEvent,
10
+ type InputModeOptions,
11
+ type StyleProp,
12
+ type TextInputProps as RNTextInputProps,
13
+ type TextStyle,
14
+ type ViewStyle,
15
+ } from 'react-native';
16
+
17
+ import { resolveInputProps } from './Input.helpers';
18
+ import { FieldPulse } from '../field-pulse.native';
19
+ import { fieldLook, helperStyle, labelStyle, type FieldState } from './Input.look.native';
20
+ import { ADORNMENT_GAP, INPUT_GLOW, INPUT_LOADING, INPUT_PULSE } from './Input.metrics';
21
+ import type { InputProps } from './Input.types.native';
22
+ import { webAria, webClick, webDisabled } from '../../../platform/aria';
23
+ import { childTestId, resolveTestId, withoutTestIdProps } from '../../../platform/test-id';
24
+ import { useUiTheme } from '../../../provider/use-ui-theme.native';
25
+
26
+ /**
27
+ * The keyboard an HTML input `type` asks for.
28
+ *
29
+ * `password` is the only one that is not a keyboard at all — it is React
30
+ * Native's `secureTextEntry`, which react-native-web turns back into
31
+ * `type="password"`. Everything the map does not name (`date`, `file`, `color`)
32
+ * has no React Native equivalent and falls through to a plain text field.
33
+ */
34
+ const INPUT_MODE_FOR: Record<string, InputModeOptions> = {
35
+ text: 'text',
36
+ search: 'search',
37
+ email: 'email',
38
+ tel: 'tel',
39
+ url: 'url',
40
+ number: 'numeric',
41
+ };
42
+
43
+ export function typeProps(type: string | undefined): {
44
+ inputMode?: InputModeOptions;
45
+ secureTextEntry?: boolean;
46
+ } {
47
+ if (type === 'password') return { secureTextEntry: true };
48
+ const mode = type === undefined ? undefined : INPUT_MODE_FOR[type];
49
+ return mode === undefined ? {} : { inputMode: mode };
50
+ }
51
+
52
+ /** MUI's `0 0 15px` halo, 20px and stronger once the field is focused. */
53
+ function glowStyle(color: string, focused: boolean): ViewStyle {
54
+ const glow = focused ? INPUT_GLOW.focused : INPUT_GLOW.rest;
55
+ return Platform.select<ViewStyle>({
56
+ android: { elevation: glow.blur / 2 },
57
+ default: {
58
+ shadowColor: color,
59
+ shadowOpacity: glow.alpha,
60
+ shadowRadius: glow.blur,
61
+ shadowOffset: { width: 0, height: 0 },
62
+ },
63
+ });
64
+ }
65
+
66
+ /**
67
+ * An adornment in its own slot, 8px from the value as `InputAdornment` puts it.
68
+ *
69
+ * No `testID`: the web field names ONE element, the `<input>` itself, so the
70
+ * native one names the same element and nothing else. A shared story that
71
+ * counts fields by a test-id prefix (`getAllByTestId(/perf-input-/)`) counts
72
+ * the same number on both renderers only if this holds — the two decorations
73
+ * below keep an id because they exist only while asked for.
74
+ */
75
+ function Slot({
76
+ children,
77
+ side,
78
+ }: {
79
+ children: React.ReactNode;
80
+ side: 'start' | 'end';
81
+ }): React.JSX.Element | null {
82
+ if (children == null) return null;
83
+ return (
84
+ <View style={[styles.slot, side === 'start' ? { marginRight: ADORNMENT_GAP } : { marginLeft: ADORNMENT_GAP }]}>
85
+ {children}
86
+ </View>
87
+ );
88
+ }
89
+
90
+ /** One line of text under or over the field, or nothing at all. */
91
+ function Line({
92
+ text,
93
+ style,
94
+ }: {
95
+ text: string | undefined;
96
+ style: StyleProp<TextStyle>;
97
+ }): React.JSX.Element | null {
98
+ if (text === undefined) return null;
99
+ return <RNText style={style}>{text}</RNText>;
100
+ }
101
+
102
+ /** MUI's 20px `CircularProgress` in the end slot; the platform's own arc on a device. */
103
+ function Spinner({ color, testID }: { color: string; testID: string }): React.JSX.Element {
104
+ return (
105
+ <ActivityIndicator
106
+ testID={testID}
107
+ size={Platform.OS === 'ios' ? 'small' : INPUT_LOADING.spinnerSize}
108
+ color={color}
109
+ accessibilityLabel="loading"
110
+ />
111
+ );
112
+ }
113
+
114
+ /** MUI's `FormLabel` appends an asterisk to a required field's label. */
115
+ function labelText(label: string | undefined, required: boolean): string | undefined {
116
+ if (label === undefined) return undefined;
117
+ return required ? `${label} *` : label;
118
+ }
119
+
120
+ /** The focus flag the border and the label are drawn from, and the handlers that keep it. */
121
+ function useFocusState(
122
+ onFocus: RNTextInputProps['onFocus'],
123
+ onBlur: RNTextInputProps['onBlur'],
124
+ ): {
125
+ focused: boolean;
126
+ handleFocus: NonNullable<RNTextInputProps['onFocus']>;
127
+ handleBlur: NonNullable<RNTextInputProps['onBlur']>;
128
+ } {
129
+ const [focused, setFocused] = React.useState(false);
130
+ return {
131
+ focused,
132
+ handleFocus: (event) => {
133
+ setFocused(true);
134
+ onFocus?.(event);
135
+ },
136
+ handleBlur: (event) => {
137
+ setFocused(false);
138
+ onBlur?.(event);
139
+ },
140
+ };
141
+ }
142
+
143
+ /**
144
+ * The native `Input`.
145
+ *
146
+ * The label sits ABOVE the field rather than floating into a notch in its
147
+ * border, because React Native cannot cut a notch in a border — see
148
+ * `NATIVE-NOTES.md`. Everything else is the web field's arithmetic:
149
+ * `Input.look.native.ts` decides the paint, `Input.metrics.ts` holds the
150
+ * numbers, and both renderers read the same table.
151
+ */
152
+ export const Input = React.forwardRef<RNTextInput, InputProps>((rawProps, ref) => {
153
+ const {
154
+ variant, size, type, label, error, helperText, startAdornment, endAdornment,
155
+ fullWidth, floating: _floating, glow, pulse, loading, disabled, required,
156
+ style, inputStyle, onClick, onPress, onFocus, onBlur, ...others
157
+ } = resolveInputProps(rawProps);
158
+
159
+ const theme = useUiTheme();
160
+ const { focused, handleFocus, handleBlur } = useFocusState(onFocus, onBlur);
161
+ const inactive = disabled || loading;
162
+ const state: FieldState = { focused: focused && !inactive, error, disabled: inactive };
163
+ const look = fieldLook(theme, variant, size, state);
164
+
165
+ const idFor = (suffix: string): string => childTestId(others, suffix, 'input');
166
+ const handlePress = (event: GestureResponderEvent): void => {
167
+ onClick?.(event);
168
+ onPress?.(event);
169
+ };
170
+
171
+ return (
172
+ <View
173
+ style={[
174
+ styles.root,
175
+ fullWidth ? styles.fullWidth : styles.auto,
176
+ loading ? styles.loading : null,
177
+ style,
178
+ ]}
179
+ >
180
+ {pulse ? (
181
+ <FieldPulse
182
+ color={theme.palette.primary.main}
183
+ radius={theme.spacing(INPUT_PULSE.radiusUnits)}
184
+ testID={idFor('pulse')}
185
+ />
186
+ ) : null}
187
+ <Line text={labelText(label, required)} style={labelStyle(theme, variant, size, state)} />
188
+ <View style={[look.box, glow ? glowStyle(theme.palette.primary.main, state.focused) : null]}>
189
+ <Slot side="start">{startAdornment}</Slot>
190
+ <RNTextInput
191
+ ref={ref}
192
+ testID={resolveTestId(others, 'input')}
193
+ style={[look.value, inputStyle]}
194
+ placeholderTextColor={look.placeholder}
195
+ editable={!inactive}
196
+ // The web input keeps focus on Enter (a form submits, the caret stays);
197
+ // React Native dismisses the keyboard for a single-line field. A
198
+ // caller wanting the platform behaviour passes its own.
199
+ blurOnSubmit={false}
200
+ aria-label={label}
201
+ aria-disabled={inactive}
202
+ onFocus={handleFocus}
203
+ onBlur={handleBlur}
204
+ onPressIn={handlePress}
205
+ {...webClick(handlePress)}
206
+ {...webDisabled(inactive)}
207
+ {...webAria({ 'aria-invalid': error, 'aria-required': required })}
208
+ {...typeProps(type)}
209
+ {...withoutTestIdProps(others)}
210
+ />
211
+ <Slot side="end">
212
+ {loading ? <Spinner color={theme.palette.primary.main} testID={idFor('loading')} /> : endAdornment}
213
+ </Slot>
214
+ </View>
215
+ <Line text={helperText} style={helperStyle(theme, variant, size, state)} />
216
+ </View>
217
+ );
218
+ });
219
+
220
+ Input.displayName = 'Input';
221
+
222
+ const styles = StyleSheet.create({
223
+ root: {
224
+ position: 'relative',
225
+ },
226
+ fullWidth: {
227
+ alignSelf: 'stretch',
228
+ width: '100%',
229
+ },
230
+ auto: {
231
+ alignSelf: 'flex-start',
232
+ },
233
+ loading: {
234
+ opacity: INPUT_LOADING.opacity,
235
+ },
236
+ slot: {
237
+ flexDirection: 'row',
238
+ alignItems: 'center',
239
+ },
240
+ });
@@ -1,12 +1,25 @@
1
1
  import { alpha, keyframes } from '@mui/material/styles/index.js';
2
2
  import type { CSSObject, Theme } from '@mui/material/styles/index.js';
3
3
 
4
+ import {
5
+ FILLED_WASH,
6
+ FLOATING_LABEL,
7
+ INPUT_BORDER,
8
+ INPUT_GLASS,
9
+ INPUT_GLOW,
10
+ INPUT_GRADIENT,
11
+ INPUT_PULSE,
12
+ } from './Input.metrics';
4
13
  import type { InputProps } from './Input.types';
5
14
 
6
15
  import { fieldEdge } from '../../../tokens/field-edge';
7
16
 
8
17
  type InputVariant = NonNullable<InputProps['variant']>;
9
18
 
19
+ // The numbers below all come from `./Input.metrics`, which the native renderer
20
+ // reads too — see its header for why MUI's own values are in there as well.
21
+ export { muiVariantFor, SIZE_MAP } from './Input.metrics';
22
+
10
23
  // Define pulse animation
11
24
  const pulseAnimation = keyframes`
12
25
  0% {
@@ -14,7 +27,7 @@ const pulseAnimation = keyframes`
14
27
  opacity: 1;
15
28
  }
16
29
  70% {
17
- box-shadow: 0 0 0 10px currentColor;
30
+ box-shadow: 0 0 0 ${INPUT_PULSE.spread}px currentColor;
18
31
  opacity: 0;
19
32
  }
20
33
  100% {
@@ -23,34 +36,11 @@ const pulseAnimation = keyframes`
23
36
  }
24
37
  `;
25
38
 
26
- /** Our four variants map onto MUI's three; `glass` and `gradient` restyle an outline. */
27
- export const muiVariantFor = (variant: InputVariant): 'outlined' | 'filled' | 'standard' => {
28
- switch (variant) {
29
- case 'underline':
30
- return 'standard';
31
- case 'glass':
32
- case 'gradient':
33
- return 'outlined';
34
- default:
35
- return variant as 'outlined' | 'filled' | 'standard';
36
- }
37
- };
38
-
39
- // MUI gives a text field two heights, so the five house stops are drawn as two
40
- // plus padding: `xs` tightens below small, `lg`/`xl` open up above medium.
41
- export const SIZE_MAP = {
42
- xs: { size: 'small' as const, sx: { '& .MuiInputBase-input': { padding: '6px 10px' } } },
43
- sm: { size: 'small' as const },
44
- md: { size: 'medium' as const },
45
- lg: { size: 'medium' as const, sx: { '& .MuiInputBase-input': { padding: '16px 14px' } } },
46
- xl: { size: 'medium' as const, sx: { '& .MuiInputBase-input': { padding: '20px 16px' } } },
47
- };
48
-
49
39
  export const glowStyles = (theme: Theme): CSSObject => ({
50
40
  '& .MuiInputBase-root': {
51
- boxShadow: `0 0 15px ${alpha(theme.palette.primary.main, 0.3)}`,
41
+ boxShadow: `0 0 ${INPUT_GLOW.rest.blur}px ${alpha(theme.palette.primary.main, INPUT_GLOW.rest.alpha)}`,
52
42
  '&.Mui-focused': {
53
- boxShadow: `0 0 20px ${alpha(theme.palette.primary.main, 0.5)}`,
43
+ boxShadow: `0 0 ${INPUT_GLOW.focused.blur}px ${alpha(theme.palette.primary.main, INPUT_GLOW.focused.alpha)}`,
54
44
  },
55
45
  },
56
46
  });
@@ -64,12 +54,12 @@ export const pulseStyles = (theme: Theme): CSSObject => ({
64
54
  top: '50%',
65
55
  left: '0',
66
56
  right: '0',
67
- height: '56px',
57
+ height: `${INPUT_PULSE.height}px`,
68
58
  transform: 'translateY(-50%)',
69
- borderRadius: theme.spacing(0.5),
59
+ borderRadius: theme.spacing(INPUT_PULSE.radiusUnits),
70
60
  backgroundColor: theme.palette.primary.main,
71
- opacity: 0.3,
72
- animation: `${pulseAnimation} 2s infinite`,
61
+ opacity: INPUT_PULSE.opacity,
62
+ animation: `${pulseAnimation} ${INPUT_PULSE.ms / 1000}s infinite`,
73
63
  pointerEvents: 'none',
74
64
  zIndex: -1,
75
65
  },
@@ -77,11 +67,11 @@ export const pulseStyles = (theme: Theme): CSSObject => ({
77
67
 
78
68
  export const floatingLabelStyles = (theme: Theme): CSSObject => ({
79
69
  '& .MuiInputLabel-root': {
80
- transform: 'translate(14px, 16px) scale(1)',
70
+ transform: `translate(${FLOATING_LABEL.rest.x}px, ${FLOATING_LABEL.rest.y}px) scale(1)`,
81
71
  '&.MuiInputLabel-shrink': {
82
- transform: 'translate(14px, -9px) scale(0.75)',
72
+ transform: `translate(${FLOATING_LABEL.shrink.x}px, ${FLOATING_LABEL.shrink.y}px) scale(${FLOATING_LABEL.scale})`,
83
73
  backgroundColor: theme.palette.background.paper,
84
- padding: '0 4px',
74
+ padding: `0 ${FLOATING_LABEL.paddingX}px`,
85
75
  },
86
76
  },
87
77
  });
@@ -90,17 +80,17 @@ export const inputBaseStyles = (theme: Theme, variant?: InputVariant): CSSObject
90
80
  switch (variant) {
91
81
  case 'glass':
92
82
  return {
93
- backgroundColor: alpha(theme.palette.background.paper, 0.1),
94
- backdropFilter: 'blur(20px)',
95
- border: `1px solid ${fieldEdge(theme)}`,
83
+ backgroundColor: alpha(theme.palette.background.paper, INPUT_GLASS.background.rest),
84
+ backdropFilter: `blur(${INPUT_GLASS.blur}px)`,
85
+ border: `${INPUT_BORDER.rest}px solid ${fieldEdge(theme)}`,
96
86
  '&:hover': {
97
- backgroundColor: alpha(theme.palette.background.paper, 0.15),
98
- borderColor: alpha(theme.palette.primary.main, 0.3),
87
+ backgroundColor: alpha(theme.palette.background.paper, INPUT_GLASS.background.hover),
88
+ borderColor: alpha(theme.palette.primary.main, INPUT_GLASS.hoverBorderAlpha),
99
89
  },
100
90
  '&.Mui-focused': {
101
- backgroundColor: alpha(theme.palette.background.paper, 0.2),
91
+ backgroundColor: alpha(theme.palette.background.paper, INPUT_GLASS.background.focused),
102
92
  borderColor: theme.palette.primary.main,
103
- boxShadow: `0 0 0 2px ${alpha(theme.palette.primary.main, 0.1)}`,
93
+ boxShadow: `0 0 0 ${INPUT_GLASS.focusRing.width}px ${alpha(theme.palette.primary.main, INPUT_GLASS.focusRing.alpha)}`,
104
94
  },
105
95
  };
106
96
  case 'underline':
@@ -122,11 +112,15 @@ export const inputBaseStyles = (theme: Theme, variant?: InputVariant): CSSObject
122
112
  }
123
113
  };
124
114
 
115
+ /** The 135° fill between the two brand hues, at one of its three strengths. */
116
+ const gradientFill = (theme: Theme, strength: number): string =>
117
+ `linear-gradient(${INPUT_GRADIENT.angleDeg}deg, ${alpha(theme.palette.primary.main, strength)}, ${alpha(theme.palette.secondary.main, strength)})`;
118
+
125
119
  // The border is a gradient painted behind the field and masked to a 2px ring,
126
120
  // since CSS cannot put a gradient on `border-color` directly.
127
121
  const gradientStyles = (theme: Theme): CSSObject => ({
128
- background: `linear-gradient(135deg, ${alpha(theme.palette.primary.main, 0.1)}, ${alpha(theme.palette.secondary.main, 0.1)})`,
129
- border: `2px solid transparent`,
122
+ background: gradientFill(theme, INPUT_GRADIENT.fill.rest),
123
+ border: `${INPUT_GRADIENT.borderWidth}px solid transparent`,
130
124
  backgroundOrigin: 'border-box',
131
125
  backgroundClip: 'padding-box, border-box',
132
126
  position: 'relative',
@@ -138,19 +132,19 @@ const gradientStyles = (theme: Theme): CSSObject => ({
138
132
  right: 0,
139
133
  bottom: 0,
140
134
  borderRadius: 'inherit',
141
- background: `linear-gradient(135deg, ${theme.palette.primary.main}, ${theme.palette.secondary.main})`,
135
+ background: `linear-gradient(${INPUT_GRADIENT.angleDeg}deg, ${theme.palette.primary.main}, ${theme.palette.secondary.main})`,
142
136
  mask: 'linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0)',
143
137
  maskComposite: 'exclude',
144
- padding: '2px',
138
+ padding: `${INPUT_GRADIENT.borderWidth}px`,
145
139
  zIndex: -1,
146
140
  },
147
141
  '&:hover': {
148
- background: `linear-gradient(135deg, ${alpha(theme.palette.primary.main, 0.15)}, ${alpha(theme.palette.secondary.main, 0.15)})`,
142
+ background: gradientFill(theme, INPUT_GRADIENT.fill.hover),
149
143
  },
150
144
  '&.Mui-focused': {
151
- background: `linear-gradient(135deg, ${alpha(theme.palette.primary.main, 0.2)}, ${alpha(theme.palette.secondary.main, 0.2)})`,
145
+ background: gradientFill(theme, INPUT_GRADIENT.fill.focused),
152
146
  '&::before': {
153
- background: `linear-gradient(135deg, ${theme.palette.primary.dark}, ${theme.palette.secondary.dark})`,
147
+ background: `linear-gradient(${INPUT_GRADIENT.angleDeg}deg, ${theme.palette.primary.dark}, ${theme.palette.secondary.dark})`,
154
148
  },
155
149
  },
156
150
  });
@@ -164,7 +158,7 @@ export const outlinedStyles = (theme: Theme): CSSObject => ({
164
158
  },
165
159
  '&.Mui-focused fieldset': {
166
160
  borderColor: theme.palette.primary.main,
167
- borderWidth: 2,
161
+ borderWidth: INPUT_BORDER.focused,
168
162
  },
169
163
  '&.Mui-error fieldset': {
170
164
  borderColor: theme.palette.error.main,
@@ -172,11 +166,11 @@ export const outlinedStyles = (theme: Theme): CSSObject => ({
172
166
  });
173
167
 
174
168
  export const filledStyles = (theme: Theme): CSSObject => ({
175
- backgroundColor: alpha(theme.palette.action.hover, 0.04),
169
+ backgroundColor: alpha(theme.palette.action.hover, FILLED_WASH.rest),
176
170
  '&:hover': {
177
- backgroundColor: alpha(theme.palette.action.hover, 0.08),
171
+ backgroundColor: alpha(theme.palette.action.hover, FILLED_WASH.hover),
178
172
  },
179
173
  '&.Mui-focused': {
180
- backgroundColor: alpha(theme.palette.action.hover, 0.12),
174
+ backgroundColor: alpha(theme.palette.action.hover, FILLED_WASH.focused),
181
175
  },
182
176
  });
@@ -3,6 +3,7 @@ import InputAdornment from '@mui/material/InputAdornment/index.js';
3
3
  import { styled } from '@mui/material/styles/index.js';
4
4
  import React from 'react';
5
5
 
6
+ import { INPUT_LOADING } from './Input.metrics';
6
7
  import { TextFieldSlim } from './text-field-slim';
7
8
 
8
9
  import {
@@ -16,6 +17,7 @@ import {
16
17
  SIZE_MAP,
17
18
  } from './Input.styles';
18
19
  import type { InputProps } from './Input.types';
20
+ import { splitTestId } from '../../../platform/test-id';
19
21
 
20
22
  /**
21
23
  * `TextFieldSlim`, not `TextField` — see `text-field-slim.tsx`. MUI's own
@@ -35,7 +37,7 @@ const StyledTextField = styled(TextFieldSlim, {
35
37
  loading?: boolean;
36
38
  }>(({ theme, customVariant, floating, glow, pulse, loading }) => ({
37
39
  position: 'relative',
38
- opacity: loading ? 0.7 : 1,
40
+ opacity: loading ? INPUT_LOADING.opacity : 1,
39
41
 
40
42
  ...(glow ? glowStyles(theme) : {}),
41
43
  ...(pulse ? pulseStyles(theme) : {}),
@@ -58,7 +60,7 @@ const EndAdornment: React.FC<{ loading: boolean; endAdornment?: React.ReactNode
58
60
  if (loading) {
59
61
  return (
60
62
  <InputAdornment position="end">
61
- <CircularProgress size={20} />
63
+ <CircularProgress size={INPUT_LOADING.spinnerSize} />
62
64
  </InputAdornment>
63
65
  );
64
66
  }
@@ -96,49 +98,51 @@ export const Input = React.forwardRef<HTMLInputElement, InputProps>(
96
98
  onClick,
97
99
  onFocus,
98
100
  onBlur,
99
- 'data-testid': dataTestId,
100
101
  'aria-label': ariaLabel,
101
- ...props
102
+ ...rest
102
103
  },
103
104
  ref,
104
- ) => (
105
- <StyledTextField
106
- ref={ref}
107
- variant={muiVariantFor(variant)}
108
- customVariant={variant}
109
- floating={floating}
110
- glow={glow}
111
- pulse={pulse}
112
- loading={loading}
113
- label={label}
114
- error={error}
115
- helperText={helperText}
116
- fullWidth={fullWidth}
117
- {...interactionProps(loading, onClick, props.disabled)}
118
- onFocus={onFocus}
119
- onBlur={onBlur}
120
- /*
121
- * `aria-label` has to ride `inputProps` to reach the `<input>` (FUT-755).
122
- * Spread with the rest it lands on the FormControl DIV that the text
123
- * field renders as its root, which carries no role — so the field kept
124
- * no accessible name, and a source grep saying "this input is labelled"
125
- * disagreed with the DOM. The reports search box and the block-title
126
- * inputs were both named in source and anonymous to a screen reader.
127
- */
128
- inputProps={{
129
- 'data-testid': dataTestId,
130
- ...(ariaLabel === undefined ? {} : { 'aria-label': ariaLabel }),
131
- }}
132
- InputProps={{
133
- startAdornment: startAdornment && (
134
- <InputAdornment position="start">{startAdornment}</InputAdornment>
135
- ),
136
- endAdornment: <EndAdornment loading={loading} endAdornment={endAdornment} />,
137
- }}
138
- {...SIZE_MAP[size]}
139
- {...props}
140
- />
141
- ),
105
+ ) => {
106
+ const { testId: dataTestId, rest: props } = splitTestId(rest);
107
+ return (
108
+ <StyledTextField
109
+ ref={ref}
110
+ variant={muiVariantFor(variant)}
111
+ customVariant={variant}
112
+ floating={floating}
113
+ glow={glow}
114
+ pulse={pulse}
115
+ loading={loading}
116
+ label={label}
117
+ error={error}
118
+ helperText={helperText}
119
+ fullWidth={fullWidth}
120
+ {...interactionProps(loading, onClick, props.disabled)}
121
+ onFocus={onFocus}
122
+ onBlur={onBlur}
123
+ /*
124
+ * `aria-label` has to ride `inputProps` to reach the `<input>` (FUT-755).
125
+ * Spread with the rest it lands on the FormControl DIV that the text
126
+ * field renders as its root, which carries no role — so the field kept
127
+ * no accessible name, and a source grep saying "this input is labelled"
128
+ * disagreed with the DOM. The reports search box and the block-title
129
+ * inputs were both named in source and anonymous to a screen reader.
130
+ */
131
+ inputProps={{
132
+ 'data-testid': dataTestId,
133
+ ...(ariaLabel === undefined ? {} : { 'aria-label': ariaLabel }),
134
+ }}
135
+ InputProps={{
136
+ startAdornment: startAdornment && (
137
+ <InputAdornment position="start">{startAdornment}</InputAdornment>
138
+ ),
139
+ endAdornment: <EndAdornment loading={loading} endAdornment={endAdornment} />,
140
+ }}
141
+ {...SIZE_MAP[size]}
142
+ {...props}
143
+ />
144
+ );
145
+ },
142
146
  );
143
147
 
144
148
  Input.displayName = 'Input';
@@ -0,0 +1,29 @@
1
+ import type {
2
+ GestureResponderEvent,
3
+ StyleProp,
4
+ TextInputProps as RNTextInputProps,
5
+ TextStyle,
6
+ ViewStyle,
7
+ } from 'react-native';
8
+
9
+ import type { InputBaseProps } from './Input.base';
10
+
11
+ export type { InputBaseProps, InputSize, InputVariant } from './Input.base';
12
+
13
+ /**
14
+ * The native `Input`: the shared contract, plus a react-native `TextInput`'s
15
+ * own props — `value`, `onChangeText`, `keyboardType`, `selection` and the
16
+ * rest — where the contract does not already name them.
17
+ *
18
+ * `onClick` keeps its web name so a shared screen does not have to know which
19
+ * renderer it is on, and `onPress` is accepted too; both fire when the field is
20
+ * pressed. `style` reaches the box the border is drawn on, which is what `sx`
21
+ * dresses on the web; `inputStyle` reaches the `TextInput` inside it.
22
+ */
23
+ export type InputProps = InputBaseProps &
24
+ Omit<RNTextInputProps, keyof InputBaseProps | 'style'> & {
25
+ onClick?: (event: GestureResponderEvent) => void;
26
+ onPress?: (event: GestureResponderEvent) => void;
27
+ style?: StyleProp<ViewStyle>;
28
+ inputStyle?: StyleProp<TextStyle>;
29
+ };
@@ -1,24 +1,22 @@
1
- import type { SizeValue } from '../../../tokens/scales';
2
1
  import type { InputLabelProps as MuiInputLabelProps } from '@mui/material/InputLabel/index.js';
3
- import type { InputHTMLAttributes, ReactNode } from 'react';
2
+ import type { InputHTMLAttributes } from 'react';
4
3
  import type React from 'react';
5
4
 
6
- export type InputVariant = 'outlined' | 'filled' | 'glass' | 'underline' | 'gradient';
7
- export type InputSize = SizeValue;
5
+ import type { InputBaseProps } from './Input.base';
8
6
 
9
- export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'color'> {
10
- variant?: InputVariant;
11
- size?: InputSize;
12
- label?: string;
13
- error?: boolean;
14
- helperText?: string;
15
- startAdornment?: ReactNode;
16
- endAdornment?: ReactNode;
17
- fullWidth?: boolean;
18
- floating?: boolean;
19
- glow?: boolean;
20
- pulse?: boolean;
21
- loading?: boolean;
7
+ export type { InputBaseProps, InputSize, InputVariant } from './Input.base';
8
+
9
+ /**
10
+ * The web `Input`: the shared contract, plus everything an `<input>` accepts
11
+ * that the contract does not already name.
12
+ *
13
+ * `value`, `defaultValue` and `onChange` keep the DOM's own types — they are
14
+ * not in the base, because a web `value` is `string | number | readonly
15
+ * string[]` and a React Native one is a `string`.
16
+ */
17
+ export interface InputProps
18
+ extends InputBaseProps,
19
+ Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'color' | keyof InputBaseProps> {
22
20
  onClick?: React.MouseEventHandler<HTMLInputElement>;
23
21
  onFocus?: React.FocusEventHandler<HTMLInputElement>;
24
22
  onBlur?: React.FocusEventHandler<HTMLInputElement>;
@@ -0,0 +1,14 @@
1
+ # Input on React Native
2
+
3
+ Known rendering gaps, one bullet each; `pnpm native:ledger` reads them.
4
+
5
+ - The label sits ABOVE the field at its shrunk size (12px, aligned with the value's own left inset) instead of floating into a notch in the border: React Native can neither cut a notch in a border nor animate a label into one, so `floating` has nothing left to move.
6
+ - `filled` keeps MUI's lopsided `25px 12px 8px` inset, which on the web is where the floating label sits inside the box — so a native filled field reads low in its box, with the label above it.
7
+ - `glass` paints its 0.1 paper wash and hairline without the 20px backdrop blur (React Native has no backdrop filter), and draws ONE border where the web draws two — its own on the field root, plus the outlined fieldset's underneath.
8
+ - `gradient` paints the first stop of its 135° fill flat and gives the 2px ring the gradient's first hue: React Native core has no gradient fill and no masked pseudo-element border.
9
+ - Hover has no touch equivalent, so the web's hover border, its brighter glass wash and its deeper filled wash are not drawn; focus is, and it carries the same colours.
10
+ - `pulse` grows by scaling the bar rather than spreading a box-shadow, which React Native does not have; `glow` is a shadow on iOS and an elevation on Android, so its halo is not symmetrical there.
11
+ - `onClick` fires from the DOM click under react-native-web and from `onPressIn` on a device — react-native-web forwards only the first and React Native only the second, so exactly one runs and never both.
12
+ - Enter keeps focus (`blurOnSubmit={false}`), as it does in a web `<input>`; React Native's own default for a single-line field is to dismiss the keyboard, and a caller wanting that passes its own.
13
+ - An HTML `type` React Native has no keyboard for (`date`, `time`, `file`, `color`) renders a plain text field; `text`, `search`, `email`, `tel`, `url` and `number` pick the keyboard and `password` sets secure entry.
14
+ - The value, label and helper text are set in MUI's own numbers (`body1` at 16px on a 23px line, the 0.75 shrunk label, `caption` at 12px); a host that re-themes MUI's typography variants moves the web only.
@@ -0,0 +1,2 @@
1
+ export { Input } from './Input.native';
2
+ export type { InputBaseProps, InputProps, InputSize, InputVariant } from './Input.types.native';
@@ -1,2 +1,2 @@
1
1
  export { Input } from './Input';
2
- export type { InputProps, InputSize,InputVariant } from './Input.types';
2
+ export type { InputBaseProps, InputProps, InputSize, InputVariant } from './Input.types';