@12-apps/ui 6.33.1 → 6.34.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 (1411) hide show
  1. package/dist/_internal/components/data-display/Alert/Alert.js +5 -3
  2. package/dist/_internal/components/data-display/Alert/Alert.metrics.js +2 -1
  3. package/dist/_internal/components/data-display/Alert/Alert.styles.js +4 -2
  4. package/dist/_internal/components/data-display/AlertDialog/AlertDialog.js +4 -1
  5. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +10 -7
  6. package/dist/_internal/components/data-display/Avatar/Avatar.js +5 -3
  7. package/dist/_internal/components/data-display/Avatar/Avatar.metrics.js +2 -1
  8. package/dist/_internal/components/data-display/Avatar/Avatar.view.js +4 -2
  9. package/dist/_internal/components/data-display/Badge/Badge.animations.js +2 -9
  10. package/dist/_internal/components/data-display/Badge/Badge.js +16 -6
  11. package/dist/_internal/components/data-display/Badge/Badge.metrics.js +1 -8
  12. package/dist/_internal/components/data-display/Badge/Badge.styles.js +14 -4
  13. package/dist/_internal/components/data-display/Badge/Badge.variants.js +4 -8
  14. package/dist/_internal/components/data-display/Badge/BadgeContent.js +15 -5
  15. package/dist/_internal/components/data-display/Banner/Banner.js +5 -3
  16. package/dist/_internal/components/data-display/Banner/Banner.styles.js +4 -2
  17. package/dist/_internal/components/data-display/CardKit/CardKebab.js +7 -5
  18. package/dist/_internal/components/data-display/CardKit/card-actions-context.js +6 -4
  19. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +15 -13
  20. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +11 -9
  21. package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +5 -3
  22. package/dist/_internal/components/data-display/Carousel/Carousel.js +8 -6
  23. package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +4 -2
  24. package/dist/_internal/components/data-display/Carousel/Carousel.slide.js +4 -1
  25. package/dist/_internal/components/data-display/Carousel/Carousel.styles.js +4 -2
  26. package/dist/_internal/components/data-display/Chart/Chart.js +8 -6
  27. package/dist/_internal/components/data-display/Chart/SpecChart.js +9 -7
  28. package/dist/_internal/components/data-display/Chart/chart-context.js +5 -3
  29. package/dist/_internal/components/data-display/Chart/chart-internals.js +4 -2
  30. package/dist/_internal/components/data-display/Chart/chart-renderers.js +7 -5
  31. package/dist/_internal/components/data-display/Chip/Chip.js +5 -2
  32. package/dist/_internal/components/data-display/Chip/Chip.styles.js +4 -1
  33. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +2 -2
  34. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +58 -56
  35. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +82 -80
  36. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +9 -7
  37. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +14 -12
  38. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +17 -15
  39. package/dist/_internal/components/data-display/DataViews/base-card.js +11 -9
  40. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +12 -10
  41. package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +4 -3
  42. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +8 -6
  43. package/dist/_internal/components/data-display/DataViews/base-list-card.js +19 -17
  44. package/dist/_internal/components/data-display/DataViews/card-surface.js +5 -9
  45. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +14 -12
  46. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +8 -6
  47. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +11 -9
  48. package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +6 -4
  49. package/dist/_internal/components/data-display/DataViews/data-views-empty.js +6 -4
  50. package/dist/_internal/components/data-display/DataViews/data-views-export.js +6 -4
  51. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +21 -19
  52. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +16 -14
  53. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +7 -5
  54. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +53 -51
  55. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +23 -21
  56. package/dist/_internal/components/data-display/DataViews/data-views-layout-context.js +6 -3
  57. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +5 -5
  58. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +11 -9
  59. package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +3 -3
  60. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +3 -3
  61. package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +7 -4
  62. package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +6 -4
  63. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +17 -15
  64. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +28 -26
  65. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +16 -14
  66. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +6 -4
  67. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +8 -5
  68. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +11 -9
  69. package/dist/_internal/components/data-display/EmptyState/EmptyState.js +3 -2
  70. package/dist/_internal/components/data-display/EmptyState/EmptyState.metrics.js +2 -1
  71. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +17 -15
  72. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +12 -10
  73. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +22 -20
  74. package/dist/_internal/components/data-display/FleetMap/FleetRoster.js +7 -4
  75. package/dist/_internal/components/data-display/HoverCard/HoverCard.js +6 -3
  76. package/dist/_internal/components/data-display/HoverCard/HoverCard.styles.js +4 -1
  77. package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.js +5 -2
  78. package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.styles.js +4 -1
  79. package/dist/_internal/components/data-display/LazyImage/LazyImage.js +7 -4
  80. package/dist/_internal/components/data-display/Lightbox/Lightbox.constants.js +4 -1
  81. package/dist/_internal/components/data-display/Lightbox/Lightbox.hooks.js +5 -2
  82. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +11 -8
  83. package/dist/_internal/components/data-display/Lightbox/LightboxControls.js +5 -2
  84. package/dist/_internal/components/data-display/Lightbox/LightboxOverlay.js +6 -3
  85. package/dist/_internal/components/data-display/Lightbox/LightboxStage.js +5 -2
  86. package/dist/_internal/components/data-display/Lightbox/LightboxThumbnails.js +5 -2
  87. package/dist/_internal/components/data-display/Lightbox/useLightbox.js +6 -3
  88. package/dist/_internal/components/data-display/LoadingState/LoadingState.js +7 -4
  89. package/dist/_internal/components/data-display/MapPreview/MapDecorations.js +5 -2
  90. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +2 -2
  91. package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +5 -2
  92. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +11 -9
  93. package/dist/_internal/components/data-display/MapPreview/MapTiles.js +5 -2
  94. package/dist/_internal/components/data-display/MapPreview/StaticMapView.js +7 -4
  95. package/dist/_internal/components/data-display/MapPreview/mapSurface.js +4 -1
  96. package/dist/_internal/components/data-display/Popover/Popover.js +4 -1
  97. package/dist/_internal/components/data-display/Progress/Progress.js +4 -2
  98. package/dist/_internal/components/data-display/Progress/Progress.styles.js +3 -1
  99. package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +7 -4
  100. package/dist/_internal/components/data-display/Sheet/Sheet.body.js +5 -3
  101. package/dist/_internal/components/data-display/Sheet/Sheet.js +7 -5
  102. package/dist/_internal/components/data-display/Sheet/Sheet.parts.js +4 -1
  103. package/dist/_internal/components/data-display/Sheet/Sheet.styles.js +4 -2
  104. package/dist/_internal/components/data-display/StatCard/StatCard.js +7 -4
  105. package/dist/_internal/components/data-display/Stepper/Stepper.js +4 -1
  106. package/dist/_internal/components/data-display/Timeline/Timeline.js +5 -2
  107. package/dist/_internal/components/data-display/Timeline/TimelineRow.js +4 -1
  108. package/dist/_internal/components/data-display/TimingDiagram/TimingDiagram.js +5 -2
  109. package/dist/_internal/components/data-display/TimingDiagram/TimingDiagram.views.js +4 -1
  110. package/dist/_internal/components/data-display/Tooltip/Tooltip.js +4 -1
  111. package/dist/_internal/components/data-display/index.js +83 -81
  112. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.js +6 -3
  113. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.parts.js +5 -2
  114. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +9 -7
  115. package/dist/_internal/components/feedback/ConfirmAction/with-confirmation.js +6 -3
  116. package/dist/_internal/components/feedback/Dialog/Dialog.js +6 -3
  117. package/dist/_internal/components/feedback/Dialog/Dialog.metrics.js +3 -1
  118. package/dist/_internal/components/feedback/Dialog/Dialog.styles.js +5 -2
  119. package/dist/_internal/components/feedback/Modal/Modal.js +5 -2
  120. package/dist/_internal/components/feedback/Modal/Modal.styles.js +4 -1
  121. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +9 -7
  122. package/dist/_internal/components/feedback/Sonner/Sonner.js +5 -2
  123. package/dist/_internal/components/feedback/Sonner/SonnerToast.js +4 -1
  124. package/dist/_internal/components/feedback/StackedModal/StackedModal.js +6 -3
  125. package/dist/_internal/components/feedback/StackedModal/StackedModal.parts.js +5 -2
  126. package/dist/_internal/components/feedback/StackedModal/StackedModal.styles.js +4 -1
  127. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +5 -2
  128. package/dist/_internal/components/feedback/TutorialOverlay/TutorialStepBody.js +4 -1
  129. package/dist/_internal/components/feedback/index.js +28 -26
  130. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +4 -4
  131. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +7 -7
  132. package/dist/_internal/components/form/Autocomplete/Autocomplete.js +2 -2
  133. package/dist/_internal/components/form/Button/Button.js +5 -3
  134. package/dist/_internal/components/form/Button/Button.metrics.js +2 -1
  135. package/dist/_internal/components/form/Button/Button.styles.js +4 -2
  136. package/dist/_internal/components/form/Calendar/Calendar.hooks.js +2 -2
  137. package/dist/_internal/components/form/Calendar/Calendar.js +3 -3
  138. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +9 -7
  139. package/dist/_internal/components/form/CategorySelect/CategoryPanelFoot.js +4 -2
  140. package/dist/_internal/components/form/CategorySelect/CategoryPanelHead.js +4 -2
  141. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +6 -4
  142. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +5 -3
  143. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +12 -10
  144. package/dist/_internal/components/form/CategorySelect/CategorySelect.styles.js +3 -1
  145. package/dist/_internal/components/form/CategorySelect/CategoryTrigger.js +4 -2
  146. package/dist/_internal/components/form/CepField/CepField.js +6 -4
  147. package/dist/_internal/components/form/Checkbox/Checkbox.js +3 -2
  148. package/dist/_internal/components/form/Checkbox/Checkbox.metrics.js +3 -3
  149. package/dist/_internal/components/form/CodeEditor/CodeEditor.hooks.js +5 -2
  150. package/dist/_internal/components/form/CodeEditor/CodeEditor.js +6 -4
  151. package/dist/_internal/components/form/CodeEditor/CodeEditor.monaco.js +4 -1
  152. package/dist/_internal/components/form/Command/Command.js +6 -4
  153. package/dist/_internal/components/form/Command/Command.styles.js +4 -2
  154. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +5 -5
  155. package/dist/_internal/components/form/Input/Input.js +5 -3
  156. package/dist/_internal/components/form/Input/Input.metrics.js +2 -1
  157. package/dist/_internal/components/form/Input/Input.styles.js +4 -2
  158. package/dist/_internal/components/form/InputOTP/InputOTP.js +4 -2
  159. package/dist/_internal/components/form/InputOTP/InputOTP.styles.js +3 -1
  160. package/dist/_internal/components/form/Label/Label.js +5 -3
  161. package/dist/_internal/components/form/Label/Label.styles.js +4 -2
  162. package/dist/_internal/components/form/Menubar/Menubar.item.js +5 -3
  163. package/dist/_internal/components/form/Menubar/Menubar.js +7 -5
  164. package/dist/_internal/components/form/Menubar/Menubar.styles.js +4 -2
  165. package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +6 -4
  166. package/dist/_internal/components/form/PhoneInput/PhoneInput.hooks.js +2 -2
  167. package/dist/_internal/components/form/PhoneInput/PhoneInput.js +3 -3
  168. package/dist/_internal/components/form/RadioGroup/RadioGroup.js +5 -3
  169. package/dist/_internal/components/form/RadioGroup/RadioGroup.styles.js +3 -1
  170. package/dist/_internal/components/form/RadioGroup/RadioGroup.variants.js +4 -2
  171. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +2 -2
  172. package/dist/_internal/components/form/Select/Select.js +5 -3
  173. package/dist/_internal/components/form/Select/Select.metrics.js +3 -2
  174. package/dist/_internal/components/form/Slider/Slider.js +5 -2
  175. package/dist/_internal/components/form/Slider/Slider.styles.js +4 -1
  176. package/dist/_internal/components/form/Switch/Switch.js +7 -5
  177. package/dist/_internal/components/form/Switch/Switch.metrics.js +2 -1
  178. package/dist/_internal/components/form/Switch/Switch.parts.js +5 -3
  179. package/dist/_internal/components/form/Switch/Switch.styles.js +4 -2
  180. package/dist/_internal/components/form/Textarea/Textarea.js +4 -2
  181. package/dist/_internal/components/form/Textarea/Textarea.styles.js +3 -1
  182. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +3 -1
  183. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js.map +1 -1
  184. package/dist/_internal/components/form/Toggle/Toggle.js +4 -2
  185. package/dist/_internal/components/form/Toggle/Toggle.styles.js +3 -1
  186. package/dist/_internal/components/form/ToggleGroup/ToggleGroup.js +3 -1
  187. package/dist/_internal/components/form/index.js +68 -66
  188. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +13 -11
  189. package/dist/_internal/components/form/total-form/Fields/CepField.js +7 -5
  190. package/dist/_internal/components/form/total-form/Fields/SelectField.js +6 -4
  191. package/dist/_internal/components/form/total-form/Fields/TextField.js +6 -4
  192. package/dist/_internal/components/form/total-form/Fields/ToggleField.js +4 -2
  193. package/dist/_internal/components/form/total-form/Fields/index.js +29 -27
  194. package/dist/_internal/components/form/total-form/SubmitButton.js +6 -4
  195. package/dist/_internal/components/index.js +209 -207
  196. package/dist/_internal/components/layout/Box/Box.js +6 -4
  197. package/dist/_internal/components/layout/Card/Card.js +6 -3
  198. package/dist/_internal/components/layout/Card/Card.metrics.js +3 -1
  199. package/dist/_internal/components/layout/Card/Card.styles.js +5 -2
  200. package/dist/_internal/components/layout/Drawer/Drawer.js +4 -1
  201. package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +7 -4
  202. package/dist/_internal/components/layout/ScrollArea/ScrollArea.styles.js +4 -1
  203. package/dist/_internal/components/layout/ScrollArea/ScrollViewport.js +5 -2
  204. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +4 -4
  205. package/dist/_internal/components/layout/SettingsLayout/SettingsPanel.js +2 -2
  206. package/dist/_internal/components/layout/Sidebar/Sidebar.js +4 -1
  207. package/dist/_internal/components/layout/Skeleton/Skeleton.js +6 -3
  208. package/dist/_internal/components/layout/Skeleton/Skeleton.metrics.js +2 -1
  209. package/dist/_internal/components/layout/Skeleton/Skeleton.styles.js +5 -2
  210. package/dist/_internal/components/layout/Stack/Stack.js +7 -5
  211. package/dist/_internal/components/layout/index.js +17 -15
  212. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +14 -12
  213. package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +4 -2
  214. package/dist/_internal/components/navigation/Breadcrumbs/BreadcrumbEntry.js +5 -2
  215. package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.js +6 -3
  216. package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.styles.js +4 -1
  217. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +4 -1
  218. package/dist/_internal/components/navigation/ContextMenu/ContextMenu.js +4 -1
  219. package/dist/_internal/components/navigation/DropdownMenu/DropdownMenu.js +4 -1
  220. package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +7 -4
  221. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +9 -6
  222. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.shell.js +5 -2
  223. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.styles.js +2 -1
  224. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +5 -2
  225. package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +7 -4
  226. package/dist/_internal/components/navigation/Pagination/Pagination.js +2 -2
  227. package/dist/_internal/components/navigation/Tabs/Tabs.js +2 -2
  228. package/dist/_internal/components/navigation/index.js +33 -31
  229. package/dist/_internal/components/typography/Blockquote/Blockquote.js +4 -1
  230. package/dist/_internal/components/typography/Code/Code.js +4 -1
  231. package/dist/_internal/components/typography/Heading/Heading.js +5 -3
  232. package/dist/_internal/components/typography/Heading/Heading.metrics.js +2 -1
  233. package/dist/_internal/components/typography/Heading/Heading.styles.js +4 -2
  234. package/dist/_internal/components/typography/index.js +7 -5
  235. package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.js +5 -2
  236. package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.styles.js +4 -1
  237. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.helpers.js +4 -1
  238. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +7 -4
  239. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +5 -2
  240. package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +6 -3
  241. package/dist/_internal/components/utility/index.js +9 -6
  242. package/dist/_internal/icons/Icon.js +6 -4
  243. package/dist/_internal/provider/UiProvider.js +5 -3
  244. package/dist/_internal/provider/mui-bridge.js +4 -2
  245. package/dist/_internal/provider/use-ui-theme.js +5 -3
  246. package/dist/_internal/social-login-button/social-login-button.js +12 -10
  247. package/dist/_internal/tokens/ink.core.js +34 -0
  248. package/dist/_internal/tokens/ink.core.js.map +1 -0
  249. package/dist/_internal/tokens/ink.js +30 -0
  250. package/dist/_internal/tokens/ink.js.map +1 -0
  251. package/dist/_internal/user-avatar/user-avatar.js +12 -10
  252. package/dist/charts.js +9 -7
  253. package/dist/chunk-236V2GRH.js +281 -0
  254. package/dist/chunk-236V2GRH.js.map +1 -0
  255. package/dist/chunk-27DLUKDF.js +37 -0
  256. package/dist/chunk-2BFUUUDS.js +61 -0
  257. package/dist/chunk-2BFUUUDS.js.map +1 -0
  258. package/dist/chunk-2CK7SHQQ.js +305 -0
  259. package/dist/chunk-2KLT22S3.js +173 -0
  260. package/dist/chunk-2LG5TEFV.js +201 -0
  261. package/dist/chunk-2LG5TEFV.js.map +1 -0
  262. package/dist/chunk-2NLYGZP3.js +156 -0
  263. package/dist/chunk-2NLYGZP3.js.map +1 -0
  264. package/dist/chunk-2RRXQTOO.js +234 -0
  265. package/dist/chunk-2RRXQTOO.js.map +1 -0
  266. package/dist/chunk-2SGPNJHJ.js +170 -0
  267. package/dist/chunk-2SGPNJHJ.js.map +1 -0
  268. package/dist/chunk-2TJOCI54.js +86 -0
  269. package/dist/chunk-2XGGHYEA.js +187 -0
  270. package/dist/chunk-2ZRZTGWP.js +230 -0
  271. package/dist/chunk-37DCYIT5.js +79 -0
  272. package/dist/chunk-3CBL5FWS.js +201 -0
  273. package/dist/chunk-3CBL5FWS.js.map +1 -0
  274. package/dist/chunk-3EDZU2H7.js +127 -0
  275. package/dist/chunk-3LNKBZTG.js +83 -0
  276. package/dist/chunk-46ADSOCF.js +67 -0
  277. package/dist/chunk-4GKDO4YK.js +325 -0
  278. package/dist/chunk-4GKDO4YK.js.map +1 -0
  279. package/dist/chunk-4M7QHSKY.js +103 -0
  280. package/dist/chunk-4N33SWTW.js +85 -0
  281. package/dist/chunk-5264DI34.js +57 -0
  282. package/dist/chunk-52APLKAG.js +110 -0
  283. package/dist/chunk-52APLKAG.js.map +1 -0
  284. package/dist/chunk-5CIXQBLV.js +155 -0
  285. package/dist/chunk-5CIXQBLV.js.map +1 -0
  286. package/dist/chunk-5E6WZAQF.js +111 -0
  287. package/dist/chunk-5E6WZAQF.js.map +1 -0
  288. package/dist/chunk-5JSRM7WC.js +76 -0
  289. package/dist/chunk-5JSRM7WC.js.map +1 -0
  290. package/dist/chunk-5LPQ6T5S.js +93 -0
  291. package/dist/chunk-5LPQ6T5S.js.map +1 -0
  292. package/dist/chunk-5NFPO3YY.js +84 -0
  293. package/dist/chunk-5NFPO3YY.js.map +1 -0
  294. package/dist/chunk-5QTMJ2RU.js +157 -0
  295. package/dist/chunk-5VWYCVXF.js +94 -0
  296. package/dist/chunk-63UQJVBW.js +198 -0
  297. package/dist/chunk-63UQJVBW.js.map +1 -0
  298. package/dist/chunk-67QSLTT7.js +116 -0
  299. package/dist/chunk-67VUL6L2.js +263 -0
  300. package/dist/chunk-67VUL6L2.js.map +1 -0
  301. package/dist/chunk-6MSSCBI3.js +39 -0
  302. package/dist/chunk-6Q5GZUQ5.js +64 -0
  303. package/dist/chunk-6ZZGK5DT.js +78 -0
  304. package/dist/chunk-6ZZGK5DT.js.map +1 -0
  305. package/dist/chunk-7E4X4J2M.js +107 -0
  306. package/dist/chunk-7F7TTOYN.js +80 -0
  307. package/dist/chunk-7IQDLEB5.js +281 -0
  308. package/dist/chunk-7IQDLEB5.js.map +1 -0
  309. package/dist/chunk-7JSQQZUH.js +21 -0
  310. package/dist/chunk-7QLHYUDW.js +136 -0
  311. package/dist/chunk-7QLHYUDW.js.map +1 -0
  312. package/dist/chunk-7VIINULX.js +223 -0
  313. package/dist/chunk-7WK2L3ZO.js +46 -0
  314. package/dist/chunk-7Z2UU2FQ.js +183 -0
  315. package/dist/chunk-A2DYU5WN.js +60 -0
  316. package/dist/chunk-A4OCNJWW.js +16 -0
  317. package/dist/chunk-ABCP6NS4.js +211 -0
  318. package/dist/chunk-ABCP6NS4.js.map +1 -0
  319. package/dist/chunk-ACHUHT2K.js +170 -0
  320. package/dist/chunk-ACHUHT2K.js.map +1 -0
  321. package/dist/chunk-AKPRFFAI.js +134 -0
  322. package/dist/chunk-AL6Z2JYR.js +241 -0
  323. package/dist/chunk-AMTFP7QA.js +94 -0
  324. package/dist/chunk-AMTFP7QA.js.map +1 -0
  325. package/dist/chunk-B443IIQG.js +167 -0
  326. package/dist/chunk-B76QCDCE.js +226 -0
  327. package/dist/chunk-B76QCDCE.js.map +1 -0
  328. package/dist/chunk-BGYLL467.js +108 -0
  329. package/dist/chunk-BHLGZLXQ.js +318 -0
  330. package/dist/chunk-BHLGZLXQ.js.map +1 -0
  331. package/dist/chunk-BHOSWJDL.js +83 -0
  332. package/dist/chunk-BOU3HR4C.js +216 -0
  333. package/dist/chunk-BOU3HR4C.js.map +1 -0
  334. package/dist/chunk-BQGT77IQ.js +181 -0
  335. package/dist/chunk-BR7RM3WR.js +79 -0
  336. package/dist/chunk-C3U7FDKI.js +218 -0
  337. package/dist/chunk-C3U7FDKI.js.map +1 -0
  338. package/dist/chunk-COK5VOXC.js +193 -0
  339. package/dist/chunk-CRDOMIEG.js +59 -0
  340. package/dist/chunk-CUN5RJTH.js +81 -0
  341. package/dist/chunk-CXMVNYBY.js +25 -0
  342. package/dist/chunk-CY6HHLYM.js +184 -0
  343. package/dist/chunk-CZT3AV7I.js +172 -0
  344. package/dist/chunk-CZT3AV7I.js.map +1 -0
  345. package/dist/chunk-D5SZXH7Q.js +148 -0
  346. package/dist/chunk-D5SZXH7Q.js.map +1 -0
  347. package/dist/chunk-D6RKXNLE.js +41 -0
  348. package/dist/chunk-DBCITC4P.js +127 -0
  349. package/dist/chunk-DELT2W42.js +41 -0
  350. package/dist/chunk-DJ2KYLHE.js +61 -0
  351. package/dist/chunk-DKILDT72.js +269 -0
  352. package/dist/chunk-DKILDT72.js.map +1 -0
  353. package/dist/chunk-DL6N7W6P.js +82 -0
  354. package/dist/chunk-DL6N7W6P.js.map +1 -0
  355. package/dist/chunk-DOXNMWUU.js +195 -0
  356. package/dist/chunk-DOXNMWUU.js.map +1 -0
  357. package/dist/chunk-DPJZFQF2.js +309 -0
  358. package/dist/chunk-DPJZFQF2.js.map +1 -0
  359. package/dist/chunk-DQIRSUEK.js +118 -0
  360. package/dist/chunk-DRKYPQNA.js +156 -0
  361. package/dist/chunk-DSIJEJQ7.js +88 -0
  362. package/dist/chunk-DY7VTAYO.js +165 -0
  363. package/dist/chunk-DYMVVVSU.js +227 -0
  364. package/dist/chunk-E6RYO4QZ.js +180 -0
  365. package/dist/chunk-E6RYO4QZ.js.map +1 -0
  366. package/dist/chunk-EDBTCEPC.js +263 -0
  367. package/dist/chunk-EHCUOX6R.js +264 -0
  368. package/dist/chunk-EIJC5DWG.js +77 -0
  369. package/dist/chunk-EMPVMZAB.js +49 -0
  370. package/dist/chunk-EMPVMZAB.js.map +1 -0
  371. package/dist/chunk-EVSKEIXI.js +82 -0
  372. package/dist/chunk-EYPRDTWI.js +225 -0
  373. package/dist/chunk-FQ6UW7IY.js +91 -0
  374. package/dist/chunk-FQ6UW7IY.js.map +1 -0
  375. package/dist/chunk-FTSVJIEU.js +159 -0
  376. package/dist/chunk-FYSYALTY.js +96 -0
  377. package/dist/chunk-G2TCNZYD.js +82 -0
  378. package/dist/chunk-G2TCNZYD.js.map +1 -0
  379. package/dist/chunk-GJF3CVIE.js +51 -0
  380. package/dist/chunk-GJRBK564.js +30 -0
  381. package/dist/chunk-GL5CYMGK.js +73 -0
  382. package/dist/chunk-GN5EZPSL.js +195 -0
  383. package/dist/chunk-GN5EZPSL.js.map +1 -0
  384. package/dist/chunk-GPUYB3ST.js +107 -0
  385. package/dist/chunk-GQ4I6Z32.js +297 -0
  386. package/dist/chunk-GUW5BUK7.js +58 -0
  387. package/dist/chunk-GVGJMH77.js +86 -0
  388. package/dist/chunk-GVGJMH77.js.map +1 -0
  389. package/dist/chunk-GVOMTCLS.js +203 -0
  390. package/dist/chunk-H2YBVBPW.js +75 -0
  391. package/dist/chunk-H3B5PIM3.js +125 -0
  392. package/dist/chunk-H3B5PIM3.js.map +1 -0
  393. package/dist/chunk-H3MLYZYP.js +183 -0
  394. package/dist/chunk-H3R6WSYU.js +173 -0
  395. package/dist/chunk-HBYWUSPI.js +266 -0
  396. package/dist/chunk-HBYWUSPI.js.map +1 -0
  397. package/dist/chunk-HD6ZNARS.js +89 -0
  398. package/dist/chunk-HD6ZNARS.js.map +1 -0
  399. package/dist/chunk-HEVST4CS.js +347 -0
  400. package/dist/chunk-HH5CNSJP.js +123 -0
  401. package/dist/chunk-HH5CNSJP.js.map +1 -0
  402. package/dist/chunk-HMHCNNNW.js +82 -0
  403. package/dist/chunk-HMHCNNNW.js.map +1 -0
  404. package/dist/chunk-HRHPRIGT.js +173 -0
  405. package/dist/chunk-HUKVX47W.js +63 -0
  406. package/dist/chunk-HWEAW4LF.js +178 -0
  407. package/dist/chunk-HWEAW4LF.js.map +1 -0
  408. package/dist/chunk-IBGX6H4J.js +121 -0
  409. package/dist/chunk-IFSUKWE7.js +219 -0
  410. package/dist/chunk-IJFAF3A7.js +64 -0
  411. package/dist/chunk-IL7JZKXY.js +159 -0
  412. package/dist/chunk-IRYSJ74J.js +176 -0
  413. package/dist/chunk-IRYSJ74J.js.map +1 -0
  414. package/dist/chunk-IVIHRZEY.js +96 -0
  415. package/dist/chunk-IVIHRZEY.js.map +1 -0
  416. package/dist/chunk-IYTBTK2M.js +170 -0
  417. package/dist/chunk-IYTBTK2M.js.map +1 -0
  418. package/dist/chunk-JCBIPBGZ.js +235 -0
  419. package/dist/chunk-JCBIPBGZ.js.map +1 -0
  420. package/dist/chunk-JGDS2SJZ.js +116 -0
  421. package/dist/chunk-JH7EEJEQ.js +99 -0
  422. package/dist/chunk-JH7EEJEQ.js.map +1 -0
  423. package/dist/chunk-JKNLKUCX.js +120 -0
  424. package/dist/chunk-JKNLKUCX.js.map +1 -0
  425. package/dist/chunk-JO3Y5H75.js +191 -0
  426. package/dist/chunk-JO3Y5H75.js.map +1 -0
  427. package/dist/chunk-JRODCEIG.js +194 -0
  428. package/dist/chunk-JWG2BTJ5.js +99 -0
  429. package/dist/chunk-JXTEE5G6.js +305 -0
  430. package/dist/chunk-JXTEE5G6.js.map +1 -0
  431. package/dist/chunk-KBMKALKQ.js +158 -0
  432. package/dist/chunk-KCQGJPLO.js +109 -0
  433. package/dist/chunk-KDIPBEVE.js +146 -0
  434. package/dist/chunk-KJ3AXHKF.js +59 -0
  435. package/dist/chunk-KLPTOVIX.js +52 -0
  436. package/dist/chunk-KLPTOVIX.js.map +1 -0
  437. package/dist/chunk-L4UP5VYS.js +273 -0
  438. package/dist/chunk-L4V2LRKH.js +161 -0
  439. package/dist/chunk-L7Q5BH4A.js +175 -0
  440. package/dist/chunk-L7SFH3ED.js +171 -0
  441. package/dist/chunk-L7SFH3ED.js.map +1 -0
  442. package/dist/chunk-LCVQOJKG.js +49 -0
  443. package/dist/chunk-LGZ4EIWV.js +62 -0
  444. package/dist/chunk-LKAVTJMC.js +148 -0
  445. package/dist/chunk-LKAVTJMC.js.map +1 -0
  446. package/dist/chunk-LKMMJKXU.js +60 -0
  447. package/dist/chunk-LKMMJKXU.js.map +1 -0
  448. package/dist/chunk-LN46DSMF.js +90 -0
  449. package/dist/chunk-LN46DSMF.js.map +1 -0
  450. package/dist/chunk-LVEG6XQL.js +182 -0
  451. package/dist/chunk-LVEG6XQL.js.map +1 -0
  452. package/dist/chunk-MAUZCOBB.js +268 -0
  453. package/dist/chunk-MH73XQHW.js +150 -0
  454. package/dist/chunk-MH73XQHW.js.map +1 -0
  455. package/dist/chunk-MISZGWO7.js +210 -0
  456. package/dist/chunk-MISZGWO7.js.map +1 -0
  457. package/dist/chunk-MWBHZZA4.js +148 -0
  458. package/dist/chunk-MYAEOSZK.js +175 -0
  459. package/dist/chunk-MZMGQKT3.js +203 -0
  460. package/dist/chunk-N3GAFIXG.js +93 -0
  461. package/dist/chunk-N3GAFIXG.js.map +1 -0
  462. package/dist/chunk-N6CSXHFJ.js +194 -0
  463. package/dist/chunk-NFZRZB5N.js +201 -0
  464. package/dist/chunk-NJHJZFX5.js +266 -0
  465. package/dist/chunk-NNESQ7QG.js +95 -0
  466. package/dist/chunk-NXX3ZQKO.js +149 -0
  467. package/dist/chunk-NXX3ZQKO.js.map +1 -0
  468. package/dist/chunk-O63WG6YJ.js +90 -0
  469. package/dist/chunk-OFU66DRT.js +87 -0
  470. package/dist/chunk-OFU66DRT.js.map +1 -0
  471. package/dist/chunk-OSSFOPB7.js +91 -0
  472. package/dist/chunk-OT5DVKXP.js +72 -0
  473. package/dist/chunk-OYYCANKB.js +247 -0
  474. package/dist/chunk-P2UIXDEG.js +136 -0
  475. package/dist/chunk-P2UIXDEG.js.map +1 -0
  476. package/dist/chunk-PAAFUJJL.js +300 -0
  477. package/dist/chunk-PAAFUJJL.js.map +1 -0
  478. package/dist/chunk-PC2MVKYW.js +176 -0
  479. package/dist/chunk-PEIAGNCH.js +291 -0
  480. package/dist/chunk-PEIAGNCH.js.map +1 -0
  481. package/dist/chunk-PGNJCUDA.js +201 -0
  482. package/dist/chunk-PGNJCUDA.js.map +1 -0
  483. package/dist/chunk-PKFH6C7W.js +136 -0
  484. package/dist/chunk-PYC4CWCQ.js +76 -0
  485. package/dist/chunk-PYC4CWCQ.js.map +1 -0
  486. package/dist/chunk-PYJI2YGJ.js +293 -0
  487. package/dist/chunk-PYJI2YGJ.js.map +1 -0
  488. package/dist/chunk-PYPFDRX4.js +88 -0
  489. package/dist/chunk-Q4BQYYPU.js +93 -0
  490. package/dist/chunk-Q4BQYYPU.js.map +1 -0
  491. package/dist/chunk-Q4KFGRBV.js +124 -0
  492. package/dist/chunk-QAP3FW33.js +240 -0
  493. package/dist/chunk-QG73YT6D.js +82 -0
  494. package/dist/chunk-QG73YT6D.js.map +1 -0
  495. package/dist/chunk-QJ7I5C4D.js +34 -0
  496. package/dist/chunk-QO6QWBDI.js +142 -0
  497. package/dist/chunk-QPNTUFV4.js +170 -0
  498. package/dist/chunk-QV5J4TE6.js +43 -0
  499. package/dist/chunk-QYUB2RFN.js +131 -0
  500. package/dist/chunk-REQAKZ64.js +240 -0
  501. package/dist/chunk-RMCNEKBZ.js +19 -0
  502. package/dist/chunk-RNIU447I.js +175 -0
  503. package/dist/chunk-RNIU447I.js.map +1 -0
  504. package/dist/chunk-RPBA4WH7.js +263 -0
  505. package/dist/chunk-RPBA4WH7.js.map +1 -0
  506. package/dist/chunk-RQCJJBPY.js +33 -0
  507. package/dist/chunk-RWTFZ7J5.js +225 -0
  508. package/dist/chunk-S52IVFMS.js +53 -0
  509. package/dist/chunk-SCQJV54H.js +246 -0
  510. package/dist/chunk-SNBCAH62.js +138 -0
  511. package/dist/chunk-SNTDLS4A.js +140 -0
  512. package/dist/chunk-SNTDLS4A.js.map +1 -0
  513. package/dist/chunk-SQV3HPTZ.js +249 -0
  514. package/dist/chunk-T3WHW7ZC.js +74 -0
  515. package/dist/chunk-T7LTL7OC.js +127 -0
  516. package/dist/chunk-TAB6AIPN.js +132 -0
  517. package/dist/chunk-TBF2CPJW.js +157 -0
  518. package/dist/chunk-TBF2CPJW.js.map +1 -0
  519. package/dist/chunk-TCAQOUIB.js +22 -0
  520. package/dist/chunk-TCAQOUIB.js.map +1 -0
  521. package/dist/chunk-TIQXDPIX.js +46 -0
  522. package/dist/chunk-TIQXDPIX.js.map +1 -0
  523. package/dist/chunk-TK4NUNN6.js +227 -0
  524. package/dist/chunk-TNDV33LP.js +165 -0
  525. package/dist/chunk-TOBPKY4V.js +183 -0
  526. package/dist/chunk-UBWYHYDR.js +98 -0
  527. package/dist/chunk-UBWYHYDR.js.map +1 -0
  528. package/dist/chunk-UCTJJYVC.js +120 -0
  529. package/dist/chunk-UFH3ZVVZ.js +182 -0
  530. package/dist/chunk-UFLTL2RJ.js +134 -0
  531. package/dist/chunk-UH27I2EJ.js +284 -0
  532. package/dist/chunk-UH27I2EJ.js.map +1 -0
  533. package/dist/chunk-UIKDWXHX.js +134 -0
  534. package/dist/chunk-UIKDWXHX.js.map +1 -0
  535. package/dist/chunk-UN5INW6K.js +86 -0
  536. package/dist/chunk-UUFHI7J5.js +41 -0
  537. package/dist/chunk-UXWU5NRC.js +34 -0
  538. package/dist/chunk-UYA2QMH6.js +144 -0
  539. package/dist/chunk-V26IDPL4.js +220 -0
  540. package/dist/chunk-V5KKBMAT.js +86 -0
  541. package/dist/chunk-V5KKBMAT.js.map +1 -0
  542. package/dist/chunk-V6FED3RS.js +196 -0
  543. package/dist/chunk-VMZ3JJGG.js +208 -0
  544. package/dist/chunk-VMZ3JJGG.js.map +1 -0
  545. package/dist/chunk-VNB7PFCP.js +180 -0
  546. package/dist/chunk-VNYP2RMN.js +38 -0
  547. package/dist/chunk-VU4BANG7.js +108 -0
  548. package/dist/chunk-WC3W36AM.js +73 -0
  549. package/dist/chunk-WGFIIS6Q.js +296 -0
  550. package/dist/chunk-WGFIIS6Q.js.map +1 -0
  551. package/dist/chunk-WPE5QYXD.js +28 -0
  552. package/dist/chunk-WPSGP3YG.js +49 -0
  553. package/dist/chunk-WVPA3ONO.js +125 -0
  554. package/dist/chunk-WXDJBSES.js +26 -0
  555. package/dist/chunk-WXTXCJ5V.js +97 -0
  556. package/dist/chunk-WYXNFH5Y.js +42 -0
  557. package/dist/chunk-WYXNFH5Y.js.map +1 -0
  558. package/dist/chunk-X4PS3E3V.js +40 -0
  559. package/dist/chunk-X4PS3E3V.js.map +1 -0
  560. package/dist/chunk-XEYLYUDM.js +147 -0
  561. package/dist/chunk-XNBN5CVF.js +145 -0
  562. package/dist/chunk-XOL2QCSP.js +273 -0
  563. package/dist/chunk-XYK3HXZY.js +68 -0
  564. package/dist/chunk-Y3HMIUH6.js +172 -0
  565. package/dist/chunk-Y5WNNEND.js +41 -0
  566. package/dist/chunk-YA4YH6WP.js +80 -0
  567. package/dist/chunk-YCGZSKCV.js +99 -0
  568. package/dist/chunk-YCGZSKCV.js.map +1 -0
  569. package/dist/chunk-YSFQHZ74.js +55 -0
  570. package/dist/chunk-YU72SS43.js +242 -0
  571. package/dist/chunk-YVDBOVHP.js +64 -0
  572. package/dist/chunk-Z2EOT77M.js +293 -0
  573. package/dist/chunk-Z2EOT77M.js.map +1 -0
  574. package/dist/chunk-ZF3JGIJD.js +155 -0
  575. package/dist/chunk-ZHFS5L6Q.js +291 -0
  576. package/dist/chunk-ZSLOXTYJ.js +62 -0
  577. package/dist/chunk-ZSRLRDTP.js +344 -0
  578. package/dist/chunk-ZSRLRDTP.js.map +1 -0
  579. package/dist/chunk-ZTYUKEN3.js +128 -0
  580. package/dist/chunk-ZTYUKEN3.js.map +1 -0
  581. package/dist/chunk-ZUQIOWLN.js +153 -0
  582. package/dist/chunk-ZUQIOWLN.js.map +1 -0
  583. package/dist/data-display/Alert.js +5 -3
  584. package/dist/data-display/AlertDialog.js +4 -1
  585. package/dist/data-display/AsyncStateContainer.js +10 -7
  586. package/dist/data-display/Avatar.js +5 -3
  587. package/dist/data-display/Badge.js +16 -6
  588. package/dist/data-display/Banner.js +5 -3
  589. package/dist/data-display/CardKit.js +27 -25
  590. package/dist/data-display/Carousel.js +8 -6
  591. package/dist/data-display/Chart.js +9 -7
  592. package/dist/data-display/Chip.js +5 -2
  593. package/dist/data-display/DataGrid.js +2 -2
  594. package/dist/data-display/DataViews.js +99 -97
  595. package/dist/data-display/EmptyState.js +3 -2
  596. package/dist/data-display/FleetMap.js +22 -20
  597. package/dist/data-display/HoverCard.js +6 -3
  598. package/dist/data-display/InteractiveTooltip.js +5 -2
  599. package/dist/data-display/LazyImage.js +7 -4
  600. package/dist/data-display/Lightbox.js +11 -8
  601. package/dist/data-display/LoadingState.js +7 -4
  602. package/dist/data-display/MapPreview.js +11 -9
  603. package/dist/data-display/Popover.js +4 -1
  604. package/dist/data-display/Progress.js +4 -2
  605. package/dist/data-display/SectionOnboarding.js +7 -4
  606. package/dist/data-display/Sheet.js +7 -5
  607. package/dist/data-display/StatCard.js +7 -4
  608. package/dist/data-display/Stepper.js +4 -1
  609. package/dist/data-display/Timeline.js +5 -2
  610. package/dist/data-display/TimingDiagram.js +5 -2
  611. package/dist/data-display/Tooltip.js +4 -1
  612. package/dist/feedback/ConfirmAction.js +12 -10
  613. package/dist/feedback/Dialog.js +6 -3
  614. package/dist/feedback/Modal.js +5 -2
  615. package/dist/feedback/NotificationStatusNotice.js +9 -7
  616. package/dist/feedback/Sonner.js +5 -2
  617. package/dist/feedback/StackedModal.js +6 -3
  618. package/dist/feedback/TutorialOverlay.js +5 -2
  619. package/dist/form/AddressAutocomplete.js +7 -7
  620. package/dist/form/Autocomplete.js +2 -2
  621. package/dist/form/Button.js +5 -3
  622. package/dist/form/Calendar.js +3 -3
  623. package/dist/form/CategorySelect.js +12 -10
  624. package/dist/form/CepField.js +6 -4
  625. package/dist/form/Checkbox.js +3 -2
  626. package/dist/form/CodeEditor.js +6 -4
  627. package/dist/form/Command.js +6 -4
  628. package/dist/form/DateRangePicker.js +10 -10
  629. package/dist/form/Input.js +5 -3
  630. package/dist/form/InputOTP.js +4 -2
  631. package/dist/form/Label.js +5 -3
  632. package/dist/form/Menubar.js +7 -5
  633. package/dist/form/PhoneInput.js +3 -3
  634. package/dist/form/RadioGroup.js +5 -3
  635. package/dist/form/RichTextEditor.js +2 -2
  636. package/dist/form/Select.js +5 -3
  637. package/dist/form/Slider.js +5 -2
  638. package/dist/form/Switch.js +7 -5
  639. package/dist/form/Textarea.js +4 -2
  640. package/dist/form/Toggle.js +4 -2
  641. package/dist/form/ToggleGroup.js +3 -1
  642. package/dist/form/total-form.js +31 -29
  643. package/dist/icons.js +6 -4
  644. package/dist/layout/Box.js +6 -4
  645. package/dist/layout/Card.js +6 -3
  646. package/dist/layout/ContentToolbar.js +3 -3
  647. package/dist/layout/Drawer.js +4 -1
  648. package/dist/layout/ScrollArea.js +7 -4
  649. package/dist/layout/SettingsLayout.js +6 -6
  650. package/dist/layout/Sidebar.js +4 -1
  651. package/dist/layout/Skeleton.js +6 -3
  652. package/dist/layout/Stack.js +7 -5
  653. package/dist/native/chunks/chunk-4ZAULIDG.js +339 -0
  654. package/dist/native/chunks/chunk-4ZAULIDG.js.map +1 -0
  655. package/dist/native/chunks/chunk-JBYDLWQA.js +295 -0
  656. package/dist/native/chunks/chunk-JBYDLWQA.js.map +1 -0
  657. package/dist/native/chunks/chunk-ONXKFA5Z.js +326 -0
  658. package/dist/native/chunks/chunk-ONXKFA5Z.js.map +1 -0
  659. package/dist/native/chunks/chunk-SZF56GVJ.js +218 -0
  660. package/dist/native/chunks/chunk-SZF56GVJ.js.map +1 -0
  661. package/dist/native/chunks/chunk-ZRQHLTYG.js +93 -0
  662. package/dist/native/chunks/chunk-ZRQHLTYG.js.map +1 -0
  663. package/dist/native/data-display/Alert.js +6 -3
  664. package/dist/native/data-display/Alert.js.map +1 -1
  665. package/dist/native/data-display/Avatar.js +7 -3
  666. package/dist/native/data-display/Avatar.js.map +1 -1
  667. package/dist/native/data-display/Badge.js +2 -8
  668. package/dist/native/data-display/Badge.js.map +1 -1
  669. package/dist/native/data-display/EmptyState.js +3 -2
  670. package/dist/native/data-display/ErrorState.js +2 -1
  671. package/dist/native/data-display/ErrorState.js.map +1 -1
  672. package/dist/native/data-display/FleetMap.js +4 -3
  673. package/dist/native/data-display/FleetMap.js.map +1 -1
  674. package/dist/native/feedback/Dialog.js +6 -3
  675. package/dist/native/feedback/Dialog.js.map +1 -1
  676. package/dist/native/form/Button.js +2 -1
  677. package/dist/native/form/Checkbox.js +4 -2
  678. package/dist/native/form/Checkbox.js.map +1 -1
  679. package/dist/native/form/Input.js +2 -1
  680. package/dist/native/form/Input.js.map +1 -1
  681. package/dist/native/form/Select.js +5 -2
  682. package/dist/native/form/Select.js.map +1 -1
  683. package/dist/native/form/Switch.js +15 -6
  684. package/dist/native/form/Switch.js.map +1 -1
  685. package/dist/native/layout/Card.js +8 -5
  686. package/dist/native/layout/Card.js.map +1 -1
  687. package/dist/native/layout/Skeleton.js +2 -1
  688. package/dist/native/tokens.js +30 -0
  689. package/dist/native/typography/Heading.js +4 -1
  690. package/dist/native/typography/Heading.js.map +1 -1
  691. package/dist/navigation/AppHeader.js +17 -15
  692. package/dist/navigation/Breadcrumbs.js +6 -3
  693. package/dist/navigation/CommandPalette.js +4 -1
  694. package/dist/navigation/ContextMenu.js +4 -1
  695. package/dist/navigation/DropdownMenu.js +4 -1
  696. package/dist/navigation/NavigationMenu.js +9 -6
  697. package/dist/navigation/Pagination.js +2 -2
  698. package/dist/navigation/Tabs.js +2 -2
  699. package/dist/provider.js +6 -4
  700. package/dist/social-login-button.js +12 -10
  701. package/dist/tokens.js +56 -2
  702. package/dist/types/components/data-display/Alert/Alert.d.ts.map +1 -1
  703. package/dist/types/components/data-display/Alert/Alert.metrics.d.ts.map +1 -1
  704. package/dist/types/components/data-display/Alert/Alert.styles.d.ts.map +1 -1
  705. package/dist/types/components/data-display/AlertDialog/AlertDialog.d.ts.map +1 -1
  706. package/dist/types/components/data-display/Avatar/Avatar.metrics.d.ts.map +1 -1
  707. package/dist/types/components/data-display/Avatar/Avatar.view.d.ts.map +1 -1
  708. package/dist/types/components/data-display/Badge/Badge.metrics.d.ts +1 -1
  709. package/dist/types/components/data-display/Badge/Badge.metrics.d.ts.map +1 -1
  710. package/dist/types/components/data-display/Badge/Badge.styles.d.ts.map +1 -1
  711. package/dist/types/components/data-display/Badge/Badge.variants.d.ts.map +1 -1
  712. package/dist/types/components/data-display/Banner/Banner.styles.d.ts.map +1 -1
  713. package/dist/types/components/data-display/Carousel/Carousel.parts.d.ts.map +1 -1
  714. package/dist/types/components/data-display/Carousel/Carousel.slide.d.ts.map +1 -1
  715. package/dist/types/components/data-display/Chart/Chart.d.ts.map +1 -1
  716. package/dist/types/components/data-display/Chart/chart-internals.d.ts.map +1 -1
  717. package/dist/types/components/data-display/Chart/chart-renderers.d.ts.map +1 -1
  718. package/dist/types/components/data-display/Chip/Chip.styles.d.ts.map +1 -1
  719. package/dist/types/components/data-display/DataViews/card-surface.d.ts.map +1 -1
  720. package/dist/types/components/data-display/EmptyState/EmptyState.metrics.d.ts +1 -1
  721. package/dist/types/components/data-display/EmptyState/EmptyState.metrics.d.ts.map +1 -1
  722. package/dist/types/components/data-display/HoverCard/HoverCard.styles.d.ts.map +1 -1
  723. package/dist/types/components/data-display/InteractiveTooltip/InteractiveTooltip.styles.d.ts.map +1 -1
  724. package/dist/types/components/data-display/LazyImage/LazyImage.d.ts.map +1 -1
  725. package/dist/types/components/data-display/Lightbox/Lightbox.constants.d.ts +13 -12
  726. package/dist/types/components/data-display/Lightbox/Lightbox.constants.d.ts.map +1 -1
  727. package/dist/types/components/data-display/Lightbox/Lightbox.d.ts.map +1 -1
  728. package/dist/types/components/data-display/Lightbox/LightboxStage.d.ts.map +1 -1
  729. package/dist/types/components/data-display/Lightbox/LightboxThumbnails.d.ts.map +1 -1
  730. package/dist/types/components/data-display/MapPreview/MapDecorations.d.ts.map +1 -1
  731. package/dist/types/components/data-display/MapPreview/MapMarkers.d.ts.map +1 -1
  732. package/dist/types/components/data-display/MapPreview/mapSurface.d.ts.map +1 -1
  733. package/dist/types/components/data-display/Popover/Popover.d.ts.map +1 -1
  734. package/dist/types/components/data-display/Progress/Progress.styles.d.ts.map +1 -1
  735. package/dist/types/components/data-display/Sheet/Sheet.parts.d.ts.map +1 -1
  736. package/dist/types/components/data-display/Sheet/Sheet.styles.d.ts.map +1 -1
  737. package/dist/types/components/data-display/Stepper/Stepper.d.ts.map +1 -1
  738. package/dist/types/components/data-display/Timeline/TimelineRow.d.ts.map +1 -1
  739. package/dist/types/components/data-display/TimingDiagram/TimingDiagram.views.d.ts +3 -8
  740. package/dist/types/components/data-display/TimingDiagram/TimingDiagram.views.d.ts.map +1 -1
  741. package/dist/types/components/data-display/Tooltip/Tooltip.d.ts.map +1 -1
  742. package/dist/types/components/feedback/Dialog/Dialog.metrics.d.ts.map +1 -1
  743. package/dist/types/components/feedback/Dialog/Dialog.styles.d.ts.map +1 -1
  744. package/dist/types/components/feedback/Modal/Modal.styles.d.ts.map +1 -1
  745. package/dist/types/components/feedback/Sonner/SonnerToast.d.ts.map +1 -1
  746. package/dist/types/components/feedback/StackedModal/StackedModal.styles.d.ts.map +1 -1
  747. package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.d.ts.map +1 -1
  748. package/dist/types/components/feedback/TutorialOverlay/TutorialStepBody.d.ts.map +1 -1
  749. package/dist/types/components/form/Button/Button.metrics.d.ts.map +1 -1
  750. package/dist/types/components/form/Button/Button.styles.d.ts.map +1 -1
  751. package/dist/types/components/form/CategorySelect/CategoryPanelHead.d.ts.map +1 -1
  752. package/dist/types/components/form/CategorySelect/CategorySelect.styles.d.ts +2 -2
  753. package/dist/types/components/form/CategorySelect/CategorySelect.styles.d.ts.map +1 -1
  754. package/dist/types/components/form/Checkbox/Checkbox.metrics.d.ts +1 -6
  755. package/dist/types/components/form/Checkbox/Checkbox.metrics.d.ts.map +1 -1
  756. package/dist/types/components/form/CodeEditor/CodeEditor.monaco.d.ts +2 -1
  757. package/dist/types/components/form/CodeEditor/CodeEditor.monaco.d.ts.map +1 -1
  758. package/dist/types/components/form/Input/Input.metrics.d.ts +2 -2
  759. package/dist/types/components/form/Input/Input.metrics.d.ts.map +1 -1
  760. package/dist/types/components/form/Input/Input.styles.d.ts.map +1 -1
  761. package/dist/types/components/form/InputOTP/InputOTP.styles.d.ts.map +1 -1
  762. package/dist/types/components/form/RadioGroup/RadioGroup.styles.d.ts.map +1 -1
  763. package/dist/types/components/form/Select/Select.d.ts.map +1 -1
  764. package/dist/types/components/form/Select/Select.metrics.d.ts +1 -1
  765. package/dist/types/components/form/Select/Select.metrics.d.ts.map +1 -1
  766. package/dist/types/components/form/Slider/Slider.styles.d.ts.map +1 -1
  767. package/dist/types/components/form/Switch/Switch.metrics.d.ts +3 -3
  768. package/dist/types/components/form/Switch/Switch.metrics.d.ts.map +1 -1
  769. package/dist/types/components/form/Switch/Switch.styles.d.ts.map +1 -1
  770. package/dist/types/components/form/Textarea/Textarea.styles.d.ts.map +1 -1
  771. package/dist/types/components/form/Toggle/Toggle.styles.d.ts +1 -1
  772. package/dist/types/components/form/Toggle/Toggle.styles.d.ts.map +1 -1
  773. package/dist/types/components/form/ToggleGroup/ToggleGroup.d.ts.map +1 -1
  774. package/dist/types/components/layout/Card/Card.metrics.d.ts +6 -5
  775. package/dist/types/components/layout/Card/Card.metrics.d.ts.map +1 -1
  776. package/dist/types/components/layout/Card/Card.styles.d.ts.map +1 -1
  777. package/dist/types/components/layout/Drawer/Drawer.d.ts.map +1 -1
  778. package/dist/types/components/layout/ScrollArea/ScrollArea.styles.d.ts.map +1 -1
  779. package/dist/types/components/layout/Sidebar/Sidebar.d.ts.map +1 -1
  780. package/dist/types/components/layout/Skeleton/Skeleton.metrics.d.ts +4 -3
  781. package/dist/types/components/layout/Skeleton/Skeleton.metrics.d.ts.map +1 -1
  782. package/dist/types/components/layout/Skeleton/Skeleton.styles.d.ts.map +1 -1
  783. package/dist/types/components/navigation/Breadcrumbs/BreadcrumbEntry.d.ts.map +1 -1
  784. package/dist/types/components/navigation/Breadcrumbs/Breadcrumbs.styles.d.ts.map +1 -1
  785. package/dist/types/components/navigation/CommandPalette/CommandPalette.d.ts.map +1 -1
  786. package/dist/types/components/navigation/ContextMenu/ContextMenu.d.ts.map +1 -1
  787. package/dist/types/components/navigation/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  788. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.shell.d.ts.map +1 -1
  789. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.styles.d.ts.map +1 -1
  790. package/dist/types/components/navigation/NavigationMenu/NavigationMenuItem.d.ts.map +1 -1
  791. package/dist/types/components/typography/Blockquote/Blockquote.d.ts.map +1 -1
  792. package/dist/types/components/typography/Code/Code.d.ts.map +1 -1
  793. package/dist/types/components/typography/Heading/Heading.metrics.d.ts.map +1 -1
  794. package/dist/types/components/typography/Heading/Heading.styles.d.ts.map +1 -1
  795. package/dist/types/components/utility/AnimatedIcon/AnimatedIcon.styles.d.ts.map +1 -1
  796. package/dist/types/components/utility/WorkflowStep/WorkflowStep.helpers.d.ts.map +1 -1
  797. package/dist/types/components/utility/WorkflowStep/WorkflowStep.parts.d.ts.map +1 -1
  798. package/dist/types/social-login-button/social-login-button.d.ts.map +1 -1
  799. package/dist/types/tokens/ink.core.d.ts +145 -0
  800. package/dist/types/tokens/ink.core.d.ts.map +1 -0
  801. package/dist/types/tokens/ink.d.ts +130 -0
  802. package/dist/types/tokens/ink.d.ts.map +1 -0
  803. package/dist/types/tokens/scales.d.ts +2 -0
  804. package/dist/types/tokens/scales.d.ts.map +1 -1
  805. package/dist/types-native/components/data-display/Alert/Alert.metrics.d.ts.map +1 -1
  806. package/dist/types-native/components/data-display/Avatar/Avatar.metrics.d.ts.map +1 -1
  807. package/dist/types-native/components/data-display/Badge/Badge.metrics.d.ts +1 -1
  808. package/dist/types-native/components/data-display/Badge/Badge.metrics.d.ts.map +1 -1
  809. package/dist/types-native/components/data-display/EmptyState/EmptyState.metrics.d.ts +1 -1
  810. package/dist/types-native/components/data-display/EmptyState/EmptyState.metrics.d.ts.map +1 -1
  811. package/dist/types-native/components/feedback/Dialog/Dialog.metrics.d.ts.map +1 -1
  812. package/dist/types-native/components/form/Button/Button.metrics.d.ts.map +1 -1
  813. package/dist/types-native/components/form/Checkbox/Checkbox.metrics.d.ts +1 -6
  814. package/dist/types-native/components/form/Checkbox/Checkbox.metrics.d.ts.map +1 -1
  815. package/dist/types-native/components/form/Input/Input.metrics.d.ts +2 -2
  816. package/dist/types-native/components/form/Input/Input.metrics.d.ts.map +1 -1
  817. package/dist/types-native/components/form/Select/Select.metrics.d.ts +1 -1
  818. package/dist/types-native/components/form/Select/Select.metrics.d.ts.map +1 -1
  819. package/dist/types-native/components/form/Switch/Switch.metrics.d.ts +3 -3
  820. package/dist/types-native/components/form/Switch/Switch.metrics.d.ts.map +1 -1
  821. package/dist/types-native/components/layout/Card/Card.metrics.d.ts +6 -5
  822. package/dist/types-native/components/layout/Card/Card.metrics.d.ts.map +1 -1
  823. package/dist/types-native/components/layout/Skeleton/Skeleton.metrics.d.ts +4 -3
  824. package/dist/types-native/components/layout/Skeleton/Skeleton.metrics.d.ts.map +1 -1
  825. package/dist/types-native/components/typography/Heading/Heading.metrics.d.ts.map +1 -1
  826. package/dist/types-native/tokens/index.native.d.ts +1 -0
  827. package/dist/types-native/tokens/index.native.d.ts.map +1 -1
  828. package/dist/types-native/tokens/ink.core.d.ts +145 -0
  829. package/dist/types-native/tokens/ink.core.d.ts.map +1 -0
  830. package/dist/typography/Blockquote.js +4 -1
  831. package/dist/typography/Code.js +4 -1
  832. package/dist/typography/Heading.js +5 -3
  833. package/dist/user-avatar.js +12 -10
  834. package/dist/utility/AnimatedIcon.js +5 -2
  835. package/dist/utility/WorkflowStep.js +7 -4
  836. package/package.json +1 -1
  837. package/src/components/data-display/Alert/Alert.metrics.ts +4 -3
  838. package/src/components/data-display/Alert/Alert.styles.tsx +5 -7
  839. package/src/components/data-display/Alert/Alert.tsx +3 -1
  840. package/src/components/data-display/AlertDialog/AlertDialog.tsx +3 -1
  841. package/src/components/data-display/Avatar/Avatar.metrics.ts +4 -3
  842. package/src/components/data-display/Avatar/Avatar.view.tsx +5 -3
  843. package/src/components/data-display/Badge/Badge.metrics.ts +3 -7
  844. package/src/components/data-display/Badge/Badge.styles.ts +4 -6
  845. package/src/components/data-display/Badge/Badge.variants.ts +5 -4
  846. package/src/components/data-display/Banner/Banner.styles.ts +2 -1
  847. package/src/components/data-display/Carousel/Carousel.parts.tsx +2 -1
  848. package/src/components/data-display/Carousel/Carousel.slide.tsx +9 -8
  849. package/src/components/data-display/Chart/Chart.tsx +4 -3
  850. package/src/components/data-display/Chart/chart-internals.ts +11 -9
  851. package/src/components/data-display/Chart/chart-renderers.tsx +2 -1
  852. package/src/components/data-display/Chip/Chip.styles.tsx +7 -5
  853. package/src/components/data-display/DataViews/card-surface.ts +2 -1
  854. package/src/components/data-display/EmptyState/EmptyState.metrics.ts +2 -2
  855. package/src/components/data-display/HoverCard/HoverCard.styles.ts +2 -1
  856. package/src/components/data-display/InteractiveTooltip/InteractiveTooltip.styles.ts +17 -15
  857. package/src/components/data-display/LazyImage/LazyImage.tsx +2 -1
  858. package/src/components/data-display/Lightbox/Lightbox.constants.ts +11 -7
  859. package/src/components/data-display/Lightbox/Lightbox.tsx +3 -1
  860. package/src/components/data-display/Lightbox/LightboxStage.tsx +2 -1
  861. package/src/components/data-display/Lightbox/LightboxThumbnails.tsx +6 -4
  862. package/src/components/data-display/MapPreview/MapDecorations.tsx +2 -1
  863. package/src/components/data-display/MapPreview/MapMarkers.tsx +2 -1
  864. package/src/components/data-display/MapPreview/mapSurface.ts +14 -13
  865. package/src/components/data-display/Popover/Popover.tsx +2 -1
  866. package/src/components/data-display/Progress/Progress.styles.ts +2 -6
  867. package/src/components/data-display/Sheet/Sheet.parts.tsx +3 -2
  868. package/src/components/data-display/Sheet/Sheet.styles.ts +6 -5
  869. package/src/components/data-display/Stepper/Stepper.tsx +5 -4
  870. package/src/components/data-display/Timeline/TimelineRow.tsx +5 -4
  871. package/src/components/data-display/TimingDiagram/TimingDiagram.tsx +1 -1
  872. package/src/components/data-display/TimingDiagram/TimingDiagram.views.tsx +55 -46
  873. package/src/components/data-display/Tooltip/Tooltip.tsx +9 -8
  874. package/src/components/feedback/Dialog/Dialog.metrics.ts +5 -3
  875. package/src/components/feedback/Dialog/Dialog.styles.ts +3 -5
  876. package/src/components/feedback/Modal/Modal.styles.ts +4 -2
  877. package/src/components/feedback/Sonner/SonnerToast.tsx +3 -1
  878. package/src/components/feedback/StackedModal/StackedModal.styles.ts +8 -6
  879. package/src/components/feedback/TutorialOverlay/TutorialOverlay.tsx +12 -9
  880. package/src/components/feedback/TutorialOverlay/TutorialStepBody.tsx +10 -5
  881. package/src/components/form/Button/Button.metrics.ts +5 -4
  882. package/src/components/form/Button/Button.styles.ts +5 -9
  883. package/src/components/form/CategorySelect/CategoryPanelHead.tsx +3 -2
  884. package/src/components/form/CategorySelect/CategorySelect.styles.ts +8 -7
  885. package/src/components/form/Checkbox/Checkbox.metrics.ts +5 -4
  886. package/src/components/form/CodeEditor/CodeEditor.hooks.ts +1 -1
  887. package/src/components/form/CodeEditor/CodeEditor.monaco.ts +25 -23
  888. package/src/components/form/Input/Input.metrics.ts +4 -3
  889. package/src/components/form/Input/Input.styles.ts +2 -1
  890. package/src/components/form/InputOTP/InputOTP.styles.ts +3 -7
  891. package/src/components/form/RadioGroup/RadioGroup.styles.ts +6 -14
  892. package/src/components/form/Select/Select.metrics.ts +2 -2
  893. package/src/components/form/Select/Select.tsx +2 -1
  894. package/src/components/form/Slider/Slider.styles.ts +8 -11
  895. package/src/components/form/Switch/Switch.metrics.ts +11 -6
  896. package/src/components/form/Switch/Switch.styles.ts +5 -11
  897. package/src/components/form/Textarea/Textarea.styles.ts +4 -13
  898. package/src/components/form/Toggle/Toggle.styles.ts +7 -10
  899. package/src/components/form/Toggle/Toggle.tsx +1 -1
  900. package/src/components/form/ToggleGroup/ToggleGroup.tsx +3 -6
  901. package/src/components/layout/Card/Card.metrics.ts +9 -6
  902. package/src/components/layout/Card/Card.styles.ts +7 -6
  903. package/src/components/layout/Drawer/Drawer.tsx +2 -1
  904. package/src/components/layout/ScrollArea/ScrollArea.styles.ts +6 -5
  905. package/src/components/layout/Sidebar/Sidebar.tsx +2 -1
  906. package/src/components/layout/Skeleton/Skeleton.metrics.ts +5 -3
  907. package/src/components/layout/Skeleton/Skeleton.styles.ts +4 -3
  908. package/src/components/navigation/Breadcrumbs/BreadcrumbEntry.tsx +3 -2
  909. package/src/components/navigation/Breadcrumbs/Breadcrumbs.styles.tsx +13 -12
  910. package/src/components/navigation/CommandPalette/CommandPalette.tsx +3 -2
  911. package/src/components/navigation/ContextMenu/ContextMenu.tsx +7 -6
  912. package/src/components/navigation/DropdownMenu/DropdownMenu.tsx +6 -5
  913. package/src/components/navigation/NavigationMenu/NavigationMenu.shell.tsx +6 -5
  914. package/src/components/navigation/NavigationMenu/NavigationMenu.styles.ts +5 -3
  915. package/src/components/navigation/NavigationMenu/NavigationMenuItem.tsx +7 -5
  916. package/src/components/typography/Blockquote/Blockquote.tsx +6 -8
  917. package/src/components/typography/Code/Code.tsx +5 -4
  918. package/src/components/typography/Heading/Heading.metrics.ts +2 -1
  919. package/src/components/typography/Heading/Heading.styles.ts +4 -7
  920. package/src/components/utility/AnimatedIcon/AnimatedIcon.styles.ts +13 -12
  921. package/src/components/utility/WorkflowStep/WorkflowStep.helpers.ts +6 -4
  922. package/src/components/utility/WorkflowStep/WorkflowStep.parts.tsx +3 -2
  923. package/src/social-login-button/social-login-button.tsx +53 -40
  924. package/src/tokens/index.native.ts +2 -0
  925. package/src/tokens/ink.core.ts +128 -0
  926. package/src/tokens/ink.ts +170 -0
  927. package/src/tokens/scales.ts +3 -0
  928. package/dist/chunk-25R3ITGZ.js +0 -203
  929. package/dist/chunk-2SKNSQCP.js +0 -83
  930. package/dist/chunk-3CGLGOLO.js +0 -97
  931. package/dist/chunk-3EYRRVNT.js +0 -64
  932. package/dist/chunk-3IYB3XY2.js +0 -51
  933. package/dist/chunk-3P4THDBM.js +0 -26
  934. package/dist/chunk-3QNSTLGC.js +0 -138
  935. package/dist/chunk-3SJZP7KH.js +0 -264
  936. package/dist/chunk-3T2I6BYA.js +0 -46
  937. package/dist/chunk-3W2IS5RH.js +0 -139
  938. package/dist/chunk-3W2IS5RH.js.map +0 -1
  939. package/dist/chunk-4BEQADWC.js +0 -99
  940. package/dist/chunk-4IVOHL32.js +0 -203
  941. package/dist/chunk-4LMY5I5E.js +0 -85
  942. package/dist/chunk-4MGFUPQT.js +0 -73
  943. package/dist/chunk-4PIKOJZ4.js +0 -295
  944. package/dist/chunk-4PIKOJZ4.js.map +0 -1
  945. package/dist/chunk-4V7FNB7R.js +0 -108
  946. package/dist/chunk-4Y65XEGO.js +0 -147
  947. package/dist/chunk-4Y65XEGO.js.map +0 -1
  948. package/dist/chunk-4YMIQ5DM.js +0 -62
  949. package/dist/chunk-56MKBXSH.js +0 -107
  950. package/dist/chunk-56MKBXSH.js.map +0 -1
  951. package/dist/chunk-56SJYTIT.js +0 -55
  952. package/dist/chunk-56SJYTIT.js.map +0 -1
  953. package/dist/chunk-57C636A6.js +0 -79
  954. package/dist/chunk-5BW7NCM5.js +0 -77
  955. package/dist/chunk-5FA5S2YN.js +0 -125
  956. package/dist/chunk-5QFEHSTR.js +0 -227
  957. package/dist/chunk-5RHMLOIA.js +0 -200
  958. package/dist/chunk-5RHMLOIA.js.map +0 -1
  959. package/dist/chunk-5SCZZFZR.js +0 -60
  960. package/dist/chunk-5UWSDTZV.js +0 -176
  961. package/dist/chunk-5UWSDTZV.js.map +0 -1
  962. package/dist/chunk-5ZNU2U4D.js +0 -41
  963. package/dist/chunk-5ZNU2U4D.js.map +0 -1
  964. package/dist/chunk-62NFZR52.js +0 -225
  965. package/dist/chunk-65JHGT5F.js +0 -39
  966. package/dist/chunk-67N6TH6E.js +0 -83
  967. package/dist/chunk-6AN23E37.js +0 -268
  968. package/dist/chunk-6ANWFGLL.js +0 -183
  969. package/dist/chunk-6I4BQRZ7.js +0 -196
  970. package/dist/chunk-6I4BQRZ7.js.map +0 -1
  971. package/dist/chunk-6M7CMILP.js +0 -34
  972. package/dist/chunk-6MDBMCFK.js +0 -127
  973. package/dist/chunk-6Q6T3FW5.js +0 -92
  974. package/dist/chunk-6Q6T3FW5.js.map +0 -1
  975. package/dist/chunk-6V7D6GRX.js +0 -182
  976. package/dist/chunk-6YLAVHV4.js +0 -240
  977. package/dist/chunk-6YZLWM3K.js +0 -143
  978. package/dist/chunk-6YZLWM3K.js.map +0 -1
  979. package/dist/chunk-7A3G4W52.js +0 -64
  980. package/dist/chunk-7FOOLP5H.js +0 -304
  981. package/dist/chunk-7FOOLP5H.js.map +0 -1
  982. package/dist/chunk-7FWXG2KF.js +0 -165
  983. package/dist/chunk-7N4V3ARN.js +0 -53
  984. package/dist/chunk-7TSQNYQO.js +0 -134
  985. package/dist/chunk-7VN7LFBA.js +0 -80
  986. package/dist/chunk-7WP2HRTW.js +0 -220
  987. package/dist/chunk-7WP2HRTW.js.map +0 -1
  988. package/dist/chunk-AIRWM7KK.js +0 -194
  989. package/dist/chunk-AJVYJZHI.js +0 -38
  990. package/dist/chunk-AJXTVRQF.js +0 -90
  991. package/dist/chunk-ANNDLY3M.js +0 -156
  992. package/dist/chunk-AZ4LLAAJ.js +0 -297
  993. package/dist/chunk-B64PPHUR.js +0 -137
  994. package/dist/chunk-B64PPHUR.js.map +0 -1
  995. package/dist/chunk-B6IURHSZ.js +0 -215
  996. package/dist/chunk-B6IURHSZ.js.map +0 -1
  997. package/dist/chunk-BEBLRL5D.js +0 -177
  998. package/dist/chunk-BEBLRL5D.js.map +0 -1
  999. package/dist/chunk-BM4CGQED.js +0 -193
  1000. package/dist/chunk-BM4ZPBBT.js +0 -88
  1001. package/dist/chunk-BRMGHMYB.js +0 -45
  1002. package/dist/chunk-BRMGHMYB.js.map +0 -1
  1003. package/dist/chunk-BTIBFR5L.js +0 -240
  1004. package/dist/chunk-BWB2MVWP.js +0 -301
  1005. package/dist/chunk-BWB2MVWP.js.map +0 -1
  1006. package/dist/chunk-C423YJGN.js +0 -116
  1007. package/dist/chunk-C53C7C2X.js +0 -74
  1008. package/dist/chunk-CDNJOA3N.js +0 -264
  1009. package/dist/chunk-CDNJOA3N.js.map +0 -1
  1010. package/dist/chunk-CJL5D2IT.js +0 -280
  1011. package/dist/chunk-CJL5D2IT.js.map +0 -1
  1012. package/dist/chunk-CMN26J5Y.js +0 -219
  1013. package/dist/chunk-CMTFAYDY.js +0 -90
  1014. package/dist/chunk-CMTFAYDY.js.map +0 -1
  1015. package/dist/chunk-CPNSVIIB.js +0 -103
  1016. package/dist/chunk-CR4KC2K5.js +0 -180
  1017. package/dist/chunk-CR5YQ3SR.js +0 -111
  1018. package/dist/chunk-CR5YQ3SR.js.map +0 -1
  1019. package/dist/chunk-CSWNPIQD.js +0 -107
  1020. package/dist/chunk-CZ5ZL63A.js +0 -247
  1021. package/dist/chunk-CZJLWCEG.js +0 -86
  1022. package/dist/chunk-DBS74X2C.js +0 -193
  1023. package/dist/chunk-DBS74X2C.js.map +0 -1
  1024. package/dist/chunk-DIWC6AQL.js +0 -173
  1025. package/dist/chunk-DO3UNZAU.js +0 -269
  1026. package/dist/chunk-DO3UNZAU.js.map +0 -1
  1027. package/dist/chunk-DRADVLHZ.js +0 -34
  1028. package/dist/chunk-DRADVLHZ.js.map +0 -1
  1029. package/dist/chunk-E46PG577.js +0 -78
  1030. package/dist/chunk-E46PG577.js.map +0 -1
  1031. package/dist/chunk-EDJDASXE.js +0 -109
  1032. package/dist/chunk-EE44OC4M.js +0 -131
  1033. package/dist/chunk-EEAQBPOW.js +0 -59
  1034. package/dist/chunk-EPNUVSNK.js +0 -161
  1035. package/dist/chunk-EUHVBR3J.js +0 -96
  1036. package/dist/chunk-EUHVBR3J.js.map +0 -1
  1037. package/dist/chunk-FA3TYWX2.js +0 -118
  1038. package/dist/chunk-FAITHWIO.js +0 -73
  1039. package/dist/chunk-FAITHWIO.js.map +0 -1
  1040. package/dist/chunk-FAQO245K.js +0 -121
  1041. package/dist/chunk-FAQO245K.js.map +0 -1
  1042. package/dist/chunk-FATRMNVN.js +0 -194
  1043. package/dist/chunk-FGKKLHKY.js +0 -146
  1044. package/dist/chunk-FGKKLHKY.js.map +0 -1
  1045. package/dist/chunk-FHA4G5XF.js +0 -165
  1046. package/dist/chunk-FPWB5ILF.js +0 -79
  1047. package/dist/chunk-FRW4SYZD.js +0 -79
  1048. package/dist/chunk-FRW4SYZD.js.map +0 -1
  1049. package/dist/chunk-FTCCYWF4.js +0 -242
  1050. package/dist/chunk-FYFIND6O.js +0 -227
  1051. package/dist/chunk-FYLCSCMR.js +0 -166
  1052. package/dist/chunk-FYLCSCMR.js.map +0 -1
  1053. package/dist/chunk-G3KSCJS7.js +0 -181
  1054. package/dist/chunk-G73SDZ3T.js +0 -41
  1055. package/dist/chunk-G76H5PEM.js +0 -249
  1056. package/dist/chunk-GCWF5AQE.js +0 -58
  1057. package/dist/chunk-GGNHZ4GA.js +0 -174
  1058. package/dist/chunk-GGNHZ4GA.js.map +0 -1
  1059. package/dist/chunk-GJKBWVU2.js +0 -63
  1060. package/dist/chunk-GT7C6TSM.js +0 -170
  1061. package/dist/chunk-GXEB6MJA.js +0 -57
  1062. package/dist/chunk-GXEB6MJA.js.map +0 -1
  1063. package/dist/chunk-GY6KNVMI.js +0 -39
  1064. package/dist/chunk-GY6KNVMI.js.map +0 -1
  1065. package/dist/chunk-HJOABXKN.js +0 -43
  1066. package/dist/chunk-IDHZHOZW.js +0 -285
  1067. package/dist/chunk-IDHZHOZW.js.map +0 -1
  1068. package/dist/chunk-IE7ISTLQ.js +0 -167
  1069. package/dist/chunk-IFAEKIT2.js +0 -273
  1070. package/dist/chunk-IGO5DC7D.js +0 -159
  1071. package/dist/chunk-IM76SSXI.js +0 -173
  1072. package/dist/chunk-IOEF32HX.js +0 -88
  1073. package/dist/chunk-IRLUM7XB.js +0 -81
  1074. package/dist/chunk-ISW5K72V.js +0 -230
  1075. package/dist/chunk-IZBDSPTW.js +0 -49
  1076. package/dist/chunk-J6CSPDC7.js +0 -75
  1077. package/dist/chunk-JB67KPGM.js +0 -64
  1078. package/dist/chunk-JBMBFYFA.js +0 -94
  1079. package/dist/chunk-JDY37EML.js +0 -246
  1080. package/dist/chunk-JN3PGXRJ.js +0 -225
  1081. package/dist/chunk-JO5GSRYQ.js +0 -49
  1082. package/dist/chunk-JPXG7IFW.js +0 -34
  1083. package/dist/chunk-JRHZZTVV.js +0 -241
  1084. package/dist/chunk-JXNT5TUP.js +0 -142
  1085. package/dist/chunk-JYETSTOQ.js +0 -82
  1086. package/dist/chunk-JYETSTOQ.js.map +0 -1
  1087. package/dist/chunk-JZJOAGBG.js +0 -183
  1088. package/dist/chunk-K6FCXPTS.js +0 -86
  1089. package/dist/chunk-K6FCXPTS.js.map +0 -1
  1090. package/dist/chunk-K7BBMXY7.js +0 -197
  1091. package/dist/chunk-K7BBMXY7.js.map +0 -1
  1092. package/dist/chunk-KAPKMVKR.js +0 -41
  1093. package/dist/chunk-KCBAPMLH.js +0 -147
  1094. package/dist/chunk-KJHQYPKT.js +0 -73
  1095. package/dist/chunk-KMUSTQA6.js +0 -148
  1096. package/dist/chunk-KSLNO5NG.js +0 -150
  1097. package/dist/chunk-KSLNO5NG.js.map +0 -1
  1098. package/dist/chunk-L4D6YLLU.js +0 -118
  1099. package/dist/chunk-L4D6YLLU.js.map +0 -1
  1100. package/dist/chunk-LB2G6SD6.js +0 -275
  1101. package/dist/chunk-LB2G6SD6.js.map +0 -1
  1102. package/dist/chunk-LE7IHEU4.js +0 -41
  1103. package/dist/chunk-LGLHU55A.js +0 -340
  1104. package/dist/chunk-LGLHU55A.js.map +0 -1
  1105. package/dist/chunk-LLR42S6B.js +0 -223
  1106. package/dist/chunk-LNOYDMFD.js +0 -184
  1107. package/dist/chunk-LOLOFY4O.js +0 -172
  1108. package/dist/chunk-LTEXWGK6.js +0 -176
  1109. package/dist/chunk-LUMF63BM.js +0 -274
  1110. package/dist/chunk-LUMF63BM.js.map +0 -1
  1111. package/dist/chunk-LWLVWM34.js +0 -28
  1112. package/dist/chunk-LYSSO6WC.js +0 -132
  1113. package/dist/chunk-LZHXF66R.js +0 -127
  1114. package/dist/chunk-MDR4WJOV.js +0 -115
  1115. package/dist/chunk-MDR4WJOV.js.map +0 -1
  1116. package/dist/chunk-MG73KW54.js +0 -266
  1117. package/dist/chunk-MQZDTGGJ.js +0 -153
  1118. package/dist/chunk-MQZDTGGJ.js.map +0 -1
  1119. package/dist/chunk-MYYGXSXF.js +0 -177
  1120. package/dist/chunk-MYYGXSXF.js.map +0 -1
  1121. package/dist/chunk-N74IYYRU.js +0 -183
  1122. package/dist/chunk-NARIG5FL.js +0 -98
  1123. package/dist/chunk-NARIG5FL.js.map +0 -1
  1124. package/dist/chunk-NFGVP3HN.js +0 -88
  1125. package/dist/chunk-NFGVP3HN.js.map +0 -1
  1126. package/dist/chunk-NKIAP6ZL.js +0 -173
  1127. package/dist/chunk-NM3E27GK.js +0 -292
  1128. package/dist/chunk-NM3E27GK.js.map +0 -1
  1129. package/dist/chunk-NNAACCN2.js +0 -19
  1130. package/dist/chunk-NU3EQX2L.js +0 -144
  1131. package/dist/chunk-O4PKQ46C.js +0 -273
  1132. package/dist/chunk-OFVYNUYV.js +0 -25
  1133. package/dist/chunk-OGPOTZAU.js +0 -232
  1134. package/dist/chunk-OGPOTZAU.js.map +0 -1
  1135. package/dist/chunk-OZZNC4YU.js +0 -100
  1136. package/dist/chunk-OZZNC4YU.js.map +0 -1
  1137. package/dist/chunk-P3L42CBB.js +0 -121
  1138. package/dist/chunk-P7GH32WG.js +0 -124
  1139. package/dist/chunk-P7GH32WG.js.map +0 -1
  1140. package/dist/chunk-PEWNWKDI.js +0 -91
  1141. package/dist/chunk-PEWNWKDI.js.map +0 -1
  1142. package/dist/chunk-PH5XJGKJ.js +0 -91
  1143. package/dist/chunk-PI5G6N6Q.js +0 -157
  1144. package/dist/chunk-PJ7NKK33.js +0 -124
  1145. package/dist/chunk-PLEZDLVU.js +0 -30
  1146. package/dist/chunk-PPTF5X7K.js +0 -305
  1147. package/dist/chunk-PTP3CZL4.js +0 -133
  1148. package/dist/chunk-PTP3CZL4.js.map +0 -1
  1149. package/dist/chunk-Q444G5X7.js +0 -192
  1150. package/dist/chunk-Q444G5X7.js.map +0 -1
  1151. package/dist/chunk-Q725MACF.js +0 -78
  1152. package/dist/chunk-Q725MACF.js.map +0 -1
  1153. package/dist/chunk-QNHNFU7G.js +0 -134
  1154. package/dist/chunk-QQS3GQYS.js +0 -107
  1155. package/dist/chunk-QRUCR4YZ.js +0 -217
  1156. package/dist/chunk-QRUCR4YZ.js.map +0 -1
  1157. package/dist/chunk-QTZ7I6QS.js +0 -137
  1158. package/dist/chunk-QTZ7I6QS.js.map +0 -1
  1159. package/dist/chunk-QWCMLOYC.js +0 -21
  1160. package/dist/chunk-QYNCPS5W.js +0 -62
  1161. package/dist/chunk-R2G4MVPY.js +0 -61
  1162. package/dist/chunk-R67J6JKT.js +0 -127
  1163. package/dist/chunk-RAWQMBX6.js +0 -77
  1164. package/dist/chunk-RAWQMBX6.js.map +0 -1
  1165. package/dist/chunk-RGCRXDGZ.js +0 -169
  1166. package/dist/chunk-RGCRXDGZ.js.map +0 -1
  1167. package/dist/chunk-RGKGBYT2.js +0 -289
  1168. package/dist/chunk-RGKGBYT2.js.map +0 -1
  1169. package/dist/chunk-RGMSTQ2J.js +0 -57
  1170. package/dist/chunk-RJXRZW66.js +0 -95
  1171. package/dist/chunk-RKCS6K36.js +0 -48
  1172. package/dist/chunk-RKCS6K36.js.map +0 -1
  1173. package/dist/chunk-RPMAWM6F.js +0 -82
  1174. package/dist/chunk-RRX6ZTNX.js +0 -59
  1175. package/dist/chunk-SBS7H6WY.js +0 -181
  1176. package/dist/chunk-SBS7H6WY.js.map +0 -1
  1177. package/dist/chunk-SGGDMTKP.js +0 -347
  1178. package/dist/chunk-SLODUPES.js +0 -291
  1179. package/dist/chunk-SMCLG2RA.js +0 -153
  1180. package/dist/chunk-SMCLG2RA.js.map +0 -1
  1181. package/dist/chunk-SVFA75FO.js +0 -80
  1182. package/dist/chunk-SVXHKIGJ.js +0 -201
  1183. package/dist/chunk-TBRAZK3Y.js +0 -175
  1184. package/dist/chunk-TJT4NSFN.js +0 -41
  1185. package/dist/chunk-TK36COCP.js +0 -16
  1186. package/dist/chunk-TO2NXDZA.js +0 -86
  1187. package/dist/chunk-TO2NXDZA.js.map +0 -1
  1188. package/dist/chunk-TTVKL3RD.js +0 -220
  1189. package/dist/chunk-TUYN6XZI.js +0 -33
  1190. package/dist/chunk-TXHJX2NG.js +0 -108
  1191. package/dist/chunk-U437KFDI.js +0 -206
  1192. package/dist/chunk-U437KFDI.js.map +0 -1
  1193. package/dist/chunk-U7Q2Y6WG.js +0 -196
  1194. package/dist/chunk-UJE7IKQ4.js +0 -96
  1195. package/dist/chunk-UMQN3BVV.js +0 -315
  1196. package/dist/chunk-UMQN3BVV.js.map +0 -1
  1197. package/dist/chunk-UQNB2W2I.js +0 -263
  1198. package/dist/chunk-URWNRC2P.js +0 -158
  1199. package/dist/chunk-VF2XC76U.js +0 -191
  1200. package/dist/chunk-VF2XC76U.js.map +0 -1
  1201. package/dist/chunk-VM3HRSAU.js +0 -79
  1202. package/dist/chunk-VM3HRSAU.js.map +0 -1
  1203. package/dist/chunk-VQBINZB7.js +0 -322
  1204. package/dist/chunk-VQBINZB7.js.map +0 -1
  1205. package/dist/chunk-VXGCB3GY.js +0 -81
  1206. package/dist/chunk-VXGCB3GY.js.map +0 -1
  1207. package/dist/chunk-W3FAKT3D.js +0 -167
  1208. package/dist/chunk-W3FAKT3D.js.map +0 -1
  1209. package/dist/chunk-W7HSGZGW.js +0 -155
  1210. package/dist/chunk-WIXUMFU7.js +0 -167
  1211. package/dist/chunk-WIXUMFU7.js.map +0 -1
  1212. package/dist/chunk-WJH743NG.js +0 -131
  1213. package/dist/chunk-WJH743NG.js.map +0 -1
  1214. package/dist/chunk-X2IJI2BG.js +0 -72
  1215. package/dist/chunk-X2QLWUND.js +0 -145
  1216. package/dist/chunk-X4XYUNRL.js +0 -55
  1217. package/dist/chunk-XCP5L665.js +0 -22
  1218. package/dist/chunk-XCP5L665.js.map +0 -1
  1219. package/dist/chunk-XI2BXMBX.js +0 -146
  1220. package/dist/chunk-XJKMH3RX.js +0 -233
  1221. package/dist/chunk-XJKMH3RX.js.map +0 -1
  1222. package/dist/chunk-XPOQZI5X.js +0 -120
  1223. package/dist/chunk-XV2TDULR.js +0 -85
  1224. package/dist/chunk-XV2TDULR.js.map +0 -1
  1225. package/dist/chunk-XYXTEGIM.js +0 -67
  1226. package/dist/chunk-Y3ER5CJ2.js +0 -293
  1227. package/dist/chunk-Y3ER5CJ2.js.map +0 -1
  1228. package/dist/chunk-Y3IGYWGN.js +0 -171
  1229. package/dist/chunk-Y3IGYWGN.js.map +0 -1
  1230. package/dist/chunk-Y5UCOBQN.js +0 -37
  1231. package/dist/chunk-YJ4HM25H.js +0 -198
  1232. package/dist/chunk-YJ4HM25H.js.map +0 -1
  1233. package/dist/chunk-YKACSEES.js +0 -153
  1234. package/dist/chunk-YKACSEES.js.map +0 -1
  1235. package/dist/chunk-YNWAMTOT.js +0 -259
  1236. package/dist/chunk-YNWAMTOT.js.map +0 -1
  1237. package/dist/chunk-YRUCIKPO.js +0 -159
  1238. package/dist/chunk-Z6DULXSF.js +0 -261
  1239. package/dist/chunk-Z6DULXSF.js.map +0 -1
  1240. package/dist/chunk-ZA4U5GDU.js +0 -68
  1241. package/dist/chunk-ZADOIITM.js +0 -166
  1242. package/dist/chunk-ZADOIITM.js.map +0 -1
  1243. package/dist/chunk-ZB6BX4GO.js +0 -175
  1244. package/dist/chunk-ZDWU52DJ.js +0 -116
  1245. package/dist/chunk-ZNJ4RLZT.js +0 -136
  1246. package/dist/chunk-ZO27CDGB.js +0 -204
  1247. package/dist/chunk-ZO27CDGB.js.map +0 -1
  1248. package/dist/chunk-ZOW2CCMO.js +0 -88
  1249. package/dist/chunk-ZOW2CCMO.js.map +0 -1
  1250. package/dist/chunk-ZPIMPOHV.js +0 -187
  1251. package/dist/chunk-ZSXV3ERD.js +0 -82
  1252. package/dist/chunk-ZSXV3ERD.js.map +0 -1
  1253. package/dist/chunk-ZTZ6S5Q6.js +0 -86
  1254. package/dist/native/chunks/chunk-335WGKE6.js +0 -336
  1255. package/dist/native/chunks/chunk-335WGKE6.js.map +0 -1
  1256. package/dist/native/chunks/chunk-4KWFRDI2.js +0 -215
  1257. package/dist/native/chunks/chunk-4KWFRDI2.js.map +0 -1
  1258. package/dist/native/chunks/chunk-KIG4KY4W.js +0 -322
  1259. package/dist/native/chunks/chunk-KIG4KY4W.js.map +0 -1
  1260. package/dist/native/chunks/chunk-OI57L6WL.js +0 -292
  1261. package/dist/native/chunks/chunk-OI57L6WL.js.map +0 -1
  1262. /package/dist/{chunk-Y5UCOBQN.js.map → chunk-27DLUKDF.js.map} +0 -0
  1263. /package/dist/{chunk-PPTF5X7K.js.map → chunk-2CK7SHQQ.js.map} +0 -0
  1264. /package/dist/{chunk-DIWC6AQL.js.map → chunk-2KLT22S3.js.map} +0 -0
  1265. /package/dist/{chunk-ZTZ6S5Q6.js.map → chunk-2TJOCI54.js.map} +0 -0
  1266. /package/dist/{chunk-ZPIMPOHV.js.map → chunk-2XGGHYEA.js.map} +0 -0
  1267. /package/dist/{chunk-ISW5K72V.js.map → chunk-2ZRZTGWP.js.map} +0 -0
  1268. /package/dist/{chunk-57C636A6.js.map → chunk-37DCYIT5.js.map} +0 -0
  1269. /package/dist/{chunk-6MDBMCFK.js.map → chunk-3EDZU2H7.js.map} +0 -0
  1270. /package/dist/{chunk-2SKNSQCP.js.map → chunk-3LNKBZTG.js.map} +0 -0
  1271. /package/dist/{chunk-XYXTEGIM.js.map → chunk-46ADSOCF.js.map} +0 -0
  1272. /package/dist/{chunk-CPNSVIIB.js.map → chunk-4M7QHSKY.js.map} +0 -0
  1273. /package/dist/{chunk-4LMY5I5E.js.map → chunk-4N33SWTW.js.map} +0 -0
  1274. /package/dist/{chunk-RGMSTQ2J.js.map → chunk-5264DI34.js.map} +0 -0
  1275. /package/dist/{chunk-PI5G6N6Q.js.map → chunk-5QTMJ2RU.js.map} +0 -0
  1276. /package/dist/{chunk-JBMBFYFA.js.map → chunk-5VWYCVXF.js.map} +0 -0
  1277. /package/dist/{chunk-ZDWU52DJ.js.map → chunk-67QSLTT7.js.map} +0 -0
  1278. /package/dist/{chunk-65JHGT5F.js.map → chunk-6MSSCBI3.js.map} +0 -0
  1279. /package/dist/{chunk-JB67KPGM.js.map → chunk-6Q5GZUQ5.js.map} +0 -0
  1280. /package/dist/{chunk-CSWNPIQD.js.map → chunk-7E4X4J2M.js.map} +0 -0
  1281. /package/dist/{chunk-7VN7LFBA.js.map → chunk-7F7TTOYN.js.map} +0 -0
  1282. /package/dist/{chunk-QWCMLOYC.js.map → chunk-7JSQQZUH.js.map} +0 -0
  1283. /package/dist/{chunk-LLR42S6B.js.map → chunk-7VIINULX.js.map} +0 -0
  1284. /package/dist/{chunk-3T2I6BYA.js.map → chunk-7WK2L3ZO.js.map} +0 -0
  1285. /package/dist/{chunk-JZJOAGBG.js.map → chunk-7Z2UU2FQ.js.map} +0 -0
  1286. /package/dist/{chunk-5SCZZFZR.js.map → chunk-A2DYU5WN.js.map} +0 -0
  1287. /package/dist/{chunk-TK36COCP.js.map → chunk-A4OCNJWW.js.map} +0 -0
  1288. /package/dist/{chunk-7TSQNYQO.js.map → chunk-AKPRFFAI.js.map} +0 -0
  1289. /package/dist/{chunk-JRHZZTVV.js.map → chunk-AL6Z2JYR.js.map} +0 -0
  1290. /package/dist/{chunk-IE7ISTLQ.js.map → chunk-B443IIQG.js.map} +0 -0
  1291. /package/dist/{chunk-TXHJX2NG.js.map → chunk-BGYLL467.js.map} +0 -0
  1292. /package/dist/{chunk-67N6TH6E.js.map → chunk-BHOSWJDL.js.map} +0 -0
  1293. /package/dist/{chunk-G3KSCJS7.js.map → chunk-BQGT77IQ.js.map} +0 -0
  1294. /package/dist/{chunk-FPWB5ILF.js.map → chunk-BR7RM3WR.js.map} +0 -0
  1295. /package/dist/{chunk-BM4CGQED.js.map → chunk-COK5VOXC.js.map} +0 -0
  1296. /package/dist/{chunk-EEAQBPOW.js.map → chunk-CRDOMIEG.js.map} +0 -0
  1297. /package/dist/{chunk-IRLUM7XB.js.map → chunk-CUN5RJTH.js.map} +0 -0
  1298. /package/dist/{chunk-OFVYNUYV.js.map → chunk-CXMVNYBY.js.map} +0 -0
  1299. /package/dist/{chunk-LNOYDMFD.js.map → chunk-CY6HHLYM.js.map} +0 -0
  1300. /package/dist/{chunk-KAPKMVKR.js.map → chunk-D6RKXNLE.js.map} +0 -0
  1301. /package/dist/{chunk-LZHXF66R.js.map → chunk-DBCITC4P.js.map} +0 -0
  1302. /package/dist/{chunk-G73SDZ3T.js.map → chunk-DELT2W42.js.map} +0 -0
  1303. /package/dist/{chunk-R2G4MVPY.js.map → chunk-DJ2KYLHE.js.map} +0 -0
  1304. /package/dist/{chunk-FA3TYWX2.js.map → chunk-DQIRSUEK.js.map} +0 -0
  1305. /package/dist/{chunk-ANNDLY3M.js.map → chunk-DRKYPQNA.js.map} +0 -0
  1306. /package/dist/{chunk-BM4ZPBBT.js.map → chunk-DSIJEJQ7.js.map} +0 -0
  1307. /package/dist/{chunk-FHA4G5XF.js.map → chunk-DY7VTAYO.js.map} +0 -0
  1308. /package/dist/{chunk-FYFIND6O.js.map → chunk-DYMVVVSU.js.map} +0 -0
  1309. /package/dist/{chunk-UQNB2W2I.js.map → chunk-EDBTCEPC.js.map} +0 -0
  1310. /package/dist/{chunk-3SJZP7KH.js.map → chunk-EHCUOX6R.js.map} +0 -0
  1311. /package/dist/{chunk-5BW7NCM5.js.map → chunk-EIJC5DWG.js.map} +0 -0
  1312. /package/dist/{chunk-RPMAWM6F.js.map → chunk-EVSKEIXI.js.map} +0 -0
  1313. /package/dist/{chunk-62NFZR52.js.map → chunk-EYPRDTWI.js.map} +0 -0
  1314. /package/dist/{chunk-IGO5DC7D.js.map → chunk-FTSVJIEU.js.map} +0 -0
  1315. /package/dist/{chunk-UJE7IKQ4.js.map → chunk-FYSYALTY.js.map} +0 -0
  1316. /package/dist/{chunk-3IYB3XY2.js.map → chunk-GJF3CVIE.js.map} +0 -0
  1317. /package/dist/{chunk-PLEZDLVU.js.map → chunk-GJRBK564.js.map} +0 -0
  1318. /package/dist/{chunk-KJHQYPKT.js.map → chunk-GL5CYMGK.js.map} +0 -0
  1319. /package/dist/{chunk-QQS3GQYS.js.map → chunk-GPUYB3ST.js.map} +0 -0
  1320. /package/dist/{chunk-AZ4LLAAJ.js.map → chunk-GQ4I6Z32.js.map} +0 -0
  1321. /package/dist/{chunk-GCWF5AQE.js.map → chunk-GUW5BUK7.js.map} +0 -0
  1322. /package/dist/{chunk-4IVOHL32.js.map → chunk-GVOMTCLS.js.map} +0 -0
  1323. /package/dist/{chunk-J6CSPDC7.js.map → chunk-H2YBVBPW.js.map} +0 -0
  1324. /package/dist/{chunk-N74IYYRU.js.map → chunk-H3MLYZYP.js.map} +0 -0
  1325. /package/dist/{chunk-NKIAP6ZL.js.map → chunk-H3R6WSYU.js.map} +0 -0
  1326. /package/dist/{chunk-SGGDMTKP.js.map → chunk-HEVST4CS.js.map} +0 -0
  1327. /package/dist/{chunk-IM76SSXI.js.map → chunk-HRHPRIGT.js.map} +0 -0
  1328. /package/dist/{chunk-GJKBWVU2.js.map → chunk-HUKVX47W.js.map} +0 -0
  1329. /package/dist/{chunk-P3L42CBB.js.map → chunk-IBGX6H4J.js.map} +0 -0
  1330. /package/dist/{chunk-CMN26J5Y.js.map → chunk-IFSUKWE7.js.map} +0 -0
  1331. /package/dist/{chunk-7A3G4W52.js.map → chunk-IJFAF3A7.js.map} +0 -0
  1332. /package/dist/{chunk-YRUCIKPO.js.map → chunk-IL7JZKXY.js.map} +0 -0
  1333. /package/dist/{chunk-C423YJGN.js.map → chunk-JGDS2SJZ.js.map} +0 -0
  1334. /package/dist/{chunk-FATRMNVN.js.map → chunk-JRODCEIG.js.map} +0 -0
  1335. /package/dist/{chunk-4BEQADWC.js.map → chunk-JWG2BTJ5.js.map} +0 -0
  1336. /package/dist/{chunk-URWNRC2P.js.map → chunk-KBMKALKQ.js.map} +0 -0
  1337. /package/dist/{chunk-EDJDASXE.js.map → chunk-KCQGJPLO.js.map} +0 -0
  1338. /package/dist/{chunk-XI2BXMBX.js.map → chunk-KDIPBEVE.js.map} +0 -0
  1339. /package/dist/{chunk-RRX6ZTNX.js.map → chunk-KJ3AXHKF.js.map} +0 -0
  1340. /package/dist/{chunk-O4PKQ46C.js.map → chunk-L4UP5VYS.js.map} +0 -0
  1341. /package/dist/{chunk-EPNUVSNK.js.map → chunk-L4V2LRKH.js.map} +0 -0
  1342. /package/dist/{chunk-ZB6BX4GO.js.map → chunk-L7Q5BH4A.js.map} +0 -0
  1343. /package/dist/{chunk-JO5GSRYQ.js.map → chunk-LCVQOJKG.js.map} +0 -0
  1344. /package/dist/{chunk-QYNCPS5W.js.map → chunk-LGZ4EIWV.js.map} +0 -0
  1345. /package/dist/{chunk-6AN23E37.js.map → chunk-MAUZCOBB.js.map} +0 -0
  1346. /package/dist/{chunk-KMUSTQA6.js.map → chunk-MWBHZZA4.js.map} +0 -0
  1347. /package/dist/{chunk-TBRAZK3Y.js.map → chunk-MYAEOSZK.js.map} +0 -0
  1348. /package/dist/{chunk-25R3ITGZ.js.map → chunk-MZMGQKT3.js.map} +0 -0
  1349. /package/dist/{chunk-AIRWM7KK.js.map → chunk-N6CSXHFJ.js.map} +0 -0
  1350. /package/dist/{chunk-SVXHKIGJ.js.map → chunk-NFZRZB5N.js.map} +0 -0
  1351. /package/dist/{chunk-MG73KW54.js.map → chunk-NJHJZFX5.js.map} +0 -0
  1352. /package/dist/{chunk-RJXRZW66.js.map → chunk-NNESQ7QG.js.map} +0 -0
  1353. /package/dist/{chunk-AJXTVRQF.js.map → chunk-O63WG6YJ.js.map} +0 -0
  1354. /package/dist/{chunk-PH5XJGKJ.js.map → chunk-OSSFOPB7.js.map} +0 -0
  1355. /package/dist/{chunk-X2IJI2BG.js.map → chunk-OT5DVKXP.js.map} +0 -0
  1356. /package/dist/{chunk-CZ5ZL63A.js.map → chunk-OYYCANKB.js.map} +0 -0
  1357. /package/dist/{chunk-LTEXWGK6.js.map → chunk-PC2MVKYW.js.map} +0 -0
  1358. /package/dist/{chunk-ZNJ4RLZT.js.map → chunk-PKFH6C7W.js.map} +0 -0
  1359. /package/dist/{chunk-IOEF32HX.js.map → chunk-PYPFDRX4.js.map} +0 -0
  1360. /package/dist/{chunk-PJ7NKK33.js.map → chunk-Q4KFGRBV.js.map} +0 -0
  1361. /package/dist/{chunk-6YLAVHV4.js.map → chunk-QAP3FW33.js.map} +0 -0
  1362. /package/dist/{chunk-JPXG7IFW.js.map → chunk-QJ7I5C4D.js.map} +0 -0
  1363. /package/dist/{chunk-JXNT5TUP.js.map → chunk-QO6QWBDI.js.map} +0 -0
  1364. /package/dist/{chunk-GT7C6TSM.js.map → chunk-QPNTUFV4.js.map} +0 -0
  1365. /package/dist/{chunk-HJOABXKN.js.map → chunk-QV5J4TE6.js.map} +0 -0
  1366. /package/dist/{chunk-EE44OC4M.js.map → chunk-QYUB2RFN.js.map} +0 -0
  1367. /package/dist/{chunk-BTIBFR5L.js.map → chunk-REQAKZ64.js.map} +0 -0
  1368. /package/dist/{chunk-NNAACCN2.js.map → chunk-RMCNEKBZ.js.map} +0 -0
  1369. /package/dist/{chunk-TUYN6XZI.js.map → chunk-RQCJJBPY.js.map} +0 -0
  1370. /package/dist/{chunk-JN3PGXRJ.js.map → chunk-RWTFZ7J5.js.map} +0 -0
  1371. /package/dist/{chunk-7N4V3ARN.js.map → chunk-S52IVFMS.js.map} +0 -0
  1372. /package/dist/{chunk-JDY37EML.js.map → chunk-SCQJV54H.js.map} +0 -0
  1373. /package/dist/{chunk-3QNSTLGC.js.map → chunk-SNBCAH62.js.map} +0 -0
  1374. /package/dist/{chunk-G76H5PEM.js.map → chunk-SQV3HPTZ.js.map} +0 -0
  1375. /package/dist/{chunk-C53C7C2X.js.map → chunk-T3WHW7ZC.js.map} +0 -0
  1376. /package/dist/{chunk-R67J6JKT.js.map → chunk-T7LTL7OC.js.map} +0 -0
  1377. /package/dist/{chunk-LYSSO6WC.js.map → chunk-TAB6AIPN.js.map} +0 -0
  1378. /package/dist/{chunk-5QFEHSTR.js.map → chunk-TK4NUNN6.js.map} +0 -0
  1379. /package/dist/{chunk-7FWXG2KF.js.map → chunk-TNDV33LP.js.map} +0 -0
  1380. /package/dist/{chunk-6ANWFGLL.js.map → chunk-TOBPKY4V.js.map} +0 -0
  1381. /package/dist/{chunk-XPOQZI5X.js.map → chunk-UCTJJYVC.js.map} +0 -0
  1382. /package/dist/{chunk-6V7D6GRX.js.map → chunk-UFH3ZVVZ.js.map} +0 -0
  1383. /package/dist/{chunk-QNHNFU7G.js.map → chunk-UFLTL2RJ.js.map} +0 -0
  1384. /package/dist/{chunk-CZJLWCEG.js.map → chunk-UN5INW6K.js.map} +0 -0
  1385. /package/dist/{chunk-LE7IHEU4.js.map → chunk-UUFHI7J5.js.map} +0 -0
  1386. /package/dist/{chunk-6M7CMILP.js.map → chunk-UXWU5NRC.js.map} +0 -0
  1387. /package/dist/{chunk-NU3EQX2L.js.map → chunk-UYA2QMH6.js.map} +0 -0
  1388. /package/dist/{chunk-TTVKL3RD.js.map → chunk-V26IDPL4.js.map} +0 -0
  1389. /package/dist/{chunk-U7Q2Y6WG.js.map → chunk-V6FED3RS.js.map} +0 -0
  1390. /package/dist/{chunk-CR4KC2K5.js.map → chunk-VNB7PFCP.js.map} +0 -0
  1391. /package/dist/{chunk-AJVYJZHI.js.map → chunk-VNYP2RMN.js.map} +0 -0
  1392. /package/dist/{chunk-4V7FNB7R.js.map → chunk-VU4BANG7.js.map} +0 -0
  1393. /package/dist/{chunk-4MGFUPQT.js.map → chunk-WC3W36AM.js.map} +0 -0
  1394. /package/dist/{chunk-LWLVWM34.js.map → chunk-WPE5QYXD.js.map} +0 -0
  1395. /package/dist/{chunk-IZBDSPTW.js.map → chunk-WPSGP3YG.js.map} +0 -0
  1396. /package/dist/{chunk-5FA5S2YN.js.map → chunk-WVPA3ONO.js.map} +0 -0
  1397. /package/dist/{chunk-3P4THDBM.js.map → chunk-WXDJBSES.js.map} +0 -0
  1398. /package/dist/{chunk-3CGLGOLO.js.map → chunk-WXTXCJ5V.js.map} +0 -0
  1399. /package/dist/{chunk-KCBAPMLH.js.map → chunk-XEYLYUDM.js.map} +0 -0
  1400. /package/dist/{chunk-X2QLWUND.js.map → chunk-XNBN5CVF.js.map} +0 -0
  1401. /package/dist/{chunk-IFAEKIT2.js.map → chunk-XOL2QCSP.js.map} +0 -0
  1402. /package/dist/{chunk-ZA4U5GDU.js.map → chunk-XYK3HXZY.js.map} +0 -0
  1403. /package/dist/{chunk-LOLOFY4O.js.map → chunk-Y3HMIUH6.js.map} +0 -0
  1404. /package/dist/{chunk-TJT4NSFN.js.map → chunk-Y5WNNEND.js.map} +0 -0
  1405. /package/dist/{chunk-SVFA75FO.js.map → chunk-YA4YH6WP.js.map} +0 -0
  1406. /package/dist/{chunk-X4XYUNRL.js.map → chunk-YSFQHZ74.js.map} +0 -0
  1407. /package/dist/{chunk-FTCCYWF4.js.map → chunk-YU72SS43.js.map} +0 -0
  1408. /package/dist/{chunk-3EYRRVNT.js.map → chunk-YVDBOVHP.js.map} +0 -0
  1409. /package/dist/{chunk-W7HSGZGW.js.map → chunk-ZF3JGIJD.js.map} +0 -0
  1410. /package/dist/{chunk-SLODUPES.js.map → chunk-ZHFS5L6Q.js.map} +0 -0
  1411. /package/dist/{chunk-4YMIQ5DM.js.map → chunk-ZSLOXTYJ.js.map} +0 -0
@@ -1 +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":[]}
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 { alpha } from '../../../tokens/color';\nimport { EFFECT_GLOW } from '../../../tokens/ink.core';\n\nimport 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 — `EFFECT_GLOW.muiBlue` (`tokens/ink.core`) — on both renderers.\n */\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 => alpha(EFFECT_GLOW.muiBlue, 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":[]}
@@ -6,11 +6,12 @@ import {
6
6
  fieldLook,
7
7
  helperStyle,
8
8
  labelStyle
9
- } from "../chunks/chunk-335WGKE6.js";
9
+ } from "../chunks/chunk-4ZAULIDG.js";
10
10
  import {
11
11
  withDefaults
12
12
  } from "../chunks/chunk-OXHZDFJZ.js";
13
13
  import "../chunks/chunk-IMGBBIMT.js";
14
+ import "../chunks/chunk-ZRQHLTYG.js";
14
15
  import {
15
16
  webAria,
16
17
  webClick,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/form/Input/Input.native.tsx","../../../src/components/form/Input/Input.helpers.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n ActivityIndicator,\n Platform,\n StyleSheet,\n Text as RNText,\n TextInput as RNTextInput,\n View,\n type GestureResponderEvent,\n type InputModeOptions,\n type StyleProp,\n type TextInputProps as RNTextInputProps,\n type TextStyle,\n type ViewStyle,\n} from 'react-native';\n\nimport { resolveInputProps } from './Input.helpers';\nimport { FieldPulse } from '../field-pulse.native';\nimport { fieldLook, helperStyle, labelStyle, type FieldState } from './Input.look.native';\nimport { ADORNMENT_GAP, INPUT_GLOW, INPUT_LOADING } from './Input.metrics';\nimport type { InputProps } from './Input.types.native';\nimport { webAria, webClick, webDisabled } from '../../../platform/aria';\nimport { childTestId, resolveTestId, withoutTestIdProps } from '../../../platform/test-id';\nimport { fieldHeightPx } from '../../../tokens/field-height.core';\nimport { useUiTheme } from '../../../provider/use-ui-theme.native';\n\n/**\n * The keyboard an HTML input `type` asks for.\n *\n * `password` is the only one that is not a keyboard at all — it is React\n * Native's `secureTextEntry`, which react-native-web turns back into\n * `type=\"password\"`. Everything the map does not name (`date`, `file`, `color`)\n * has no React Native equivalent and falls through to a plain text field.\n */\nconst INPUT_MODE_FOR: Record<string, InputModeOptions> = {\n text: 'text',\n search: 'search',\n email: 'email',\n tel: 'tel',\n url: 'url',\n number: 'numeric',\n};\n\nexport function typeProps(type: string | undefined): {\n inputMode?: InputModeOptions;\n secureTextEntry?: boolean;\n} {\n if (type === 'password') return { secureTextEntry: true };\n const mode = type === undefined ? undefined : INPUT_MODE_FOR[type];\n return mode === undefined ? {} : { inputMode: mode };\n}\n\n/** MUI's `0 0 15px` halo, 20px and stronger once the field is focused. */\nfunction glowStyle(color: string, focused: boolean): ViewStyle {\n const glow = focused ? INPUT_GLOW.focused : INPUT_GLOW.rest;\n return Platform.select<ViewStyle>({\n android: { elevation: glow.blur / 2 },\n default: {\n shadowColor: color,\n shadowOpacity: glow.alpha,\n shadowRadius: glow.blur,\n shadowOffset: { width: 0, height: 0 },\n },\n });\n}\n\n/**\n * An adornment in its own slot, 8px from the value as `InputAdornment` puts it.\n *\n * No `testID`: the web field names ONE element, the `<input>` itself, so the\n * native one names the same element and nothing else. A shared story that\n * counts fields by a test-id prefix (`getAllByTestId(/perf-input-/)`) counts\n * the same number on both renderers only if this holds — the two decorations\n * below keep an id because they exist only while asked for.\n */\nfunction Slot({\n children,\n side,\n}: {\n children: React.ReactNode;\n side: 'start' | 'end';\n}): React.JSX.Element | null {\n if (children == null) return null;\n return (\n <View style={[styles.slot, side === 'start' ? { marginRight: ADORNMENT_GAP } : { marginLeft: ADORNMENT_GAP }]}>\n {children}\n </View>\n );\n}\n\n/** One line of text under or over the field, or nothing at all. */\nfunction Line({\n text,\n style,\n}: {\n text: string | undefined;\n style: StyleProp<TextStyle>;\n}): React.JSX.Element | null {\n if (text === undefined) return null;\n return <RNText style={style}>{text}</RNText>;\n}\n\n/** MUI's 20px `CircularProgress` in the end slot; the platform's own arc on a device. */\nfunction Spinner({ color, testID }: { color: string; testID: string }): React.JSX.Element {\n return (\n <ActivityIndicator\n testID={testID}\n size={Platform.OS === 'ios' ? 'small' : INPUT_LOADING.spinnerSize}\n color={color}\n accessibilityLabel=\"loading\"\n />\n );\n}\n\n/** MUI's `FormLabel` appends an asterisk to a required field's label. */\nfunction labelText(label: string | undefined, required: boolean): string | undefined {\n if (label === undefined) return undefined;\n return required ? `${label} *` : label;\n}\n\n/** The focus flag the border and the label are drawn from, and the handlers that keep it. */\nfunction useFocusState(\n onFocus: RNTextInputProps['onFocus'],\n onBlur: RNTextInputProps['onBlur'],\n): {\n focused: boolean;\n handleFocus: NonNullable<RNTextInputProps['onFocus']>;\n handleBlur: NonNullable<RNTextInputProps['onBlur']>;\n} {\n const [focused, setFocused] = React.useState(false);\n return {\n focused,\n handleFocus: (event) => {\n setFocused(true);\n onFocus?.(event);\n },\n handleBlur: (event) => {\n setFocused(false);\n onBlur?.(event);\n },\n };\n}\n\n/**\n * The native `Input`.\n *\n * The label sits ABOVE the field rather than floating into a notch in its\n * border, because React Native cannot cut a notch in a border — see\n * `NATIVE-NOTES.md`. Everything else is the web field's arithmetic:\n * `Input.look.native.ts` decides the paint, `Input.metrics.ts` holds the\n * numbers, and both renderers read the same table.\n */\nexport const Input = React.forwardRef<RNTextInput, InputProps>((rawProps, ref) => {\n const {\n variant, size, type, label, error, helperText, startAdornment, endAdornment,\n fullWidth, floating: _floating, glow, pulse, loading, disabled, required,\n style, inputStyle, onClick, onPress, onFocus, onBlur, ...others\n } = resolveInputProps(rawProps);\n\n const theme = useUiTheme();\n const { focused, handleFocus, handleBlur } = useFocusState(onFocus, onBlur);\n const inactive = disabled || loading;\n const state: FieldState = { focused: focused && !inactive, error, disabled: inactive };\n const look = fieldLook(theme, variant, size, state);\n\n const idFor = (suffix: string): string => childTestId(others, suffix, 'input');\n const handlePress = (event: GestureResponderEvent): void => {\n onClick?.(event);\n onPress?.(event);\n };\n\n return (\n <View\n style={[\n styles.root,\n fullWidth ? styles.fullWidth : styles.auto,\n loading ? styles.loading : null,\n style,\n ]}\n >\n {pulse ? (\n <FieldPulse\n color={theme.palette.primary.main}\n radius={theme.radius.field}\n height={fieldHeightPx(theme.fieldHeight, size)}\n testID={idFor('pulse')}\n />\n ) : null}\n <Line text={labelText(label, required)} style={labelStyle(theme, variant, size, state)} />\n <View style={[look.box, glow ? glowStyle(theme.palette.primary.main, state.focused) : null]}>\n <Slot side=\"start\">{startAdornment}</Slot>\n <RNTextInput\n ref={ref}\n testID={resolveTestId(others, 'input')}\n style={[look.value, inputStyle]}\n placeholderTextColor={look.placeholder}\n editable={!inactive}\n // The web input keeps focus on Enter (a form submits, the caret stays);\n // React Native dismisses the keyboard for a single-line field. A\n // caller wanting the platform behaviour passes its own.\n blurOnSubmit={false}\n aria-label={label}\n aria-disabled={inactive}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onPressIn={handlePress}\n {...webClick(handlePress)}\n {...webDisabled(inactive)}\n {...webAria({ 'aria-invalid': error, 'aria-required': required })}\n {...typeProps(type)}\n {...withoutTestIdProps(others)}\n />\n <Slot side=\"end\">\n {loading ? <Spinner color={theme.palette.primary.main} testID={idFor('loading')} /> : endAdornment}\n </Slot>\n </View>\n <Line text={helperText} style={helperStyle(theme, variant, size, state)} />\n </View>\n );\n});\n\nInput.displayName = 'Input';\n\nconst styles = StyleSheet.create({\n root: {\n position: 'relative',\n },\n fullWidth: {\n alignSelf: 'stretch',\n width: '100%',\n },\n auto: {\n alignSelf: 'flex-start',\n },\n loading: {\n opacity: INPUT_LOADING.opacity,\n },\n slot: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n});\n","import type { InputBaseProps } from './Input.base';\nimport { withDefaults } from '../../../utils/withDefaults';\n\ntype InputDefaultedKeys =\n | 'variant'\n | 'size'\n | 'error'\n | 'fullWidth'\n | 'floating'\n | 'glow'\n | 'pulse'\n | 'loading'\n | 'disabled'\n | 'required';\n\n/**\n * Generic over the renderer's own props, as `resolveButtonProps` is: the web\n * and the native `Input` pass different handler and `value` types through, and\n * both come back out untouched.\n */\nexport type ResolvedInputProps<P extends InputBaseProps> = P &\n Required<Pick<InputBaseProps, InputDefaultedKeys>>;\n\n/**\n * The defaults the web `Input` declares in its destructuring. `fullWidth` is\n * true here and false in MUI: a field in this package fills its column unless\n * it is told not to.\n */\nconst INPUT_DEFAULTS: Required<Pick<InputBaseProps, InputDefaultedKeys>> = {\n variant: 'outlined',\n size: 'md',\n error: false,\n fullWidth: true,\n floating: false,\n glow: false,\n pulse: false,\n loading: false,\n disabled: false,\n required: false,\n};\n\nexport const resolveInputProps = <P extends InputBaseProps>(props: P): ResolvedInputProps<P> =>\n withDefaults(props, INPUT_DEFAULTS as Partial<P>) as ResolvedInputProps<P>;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/components/form/Input/Input.native.tsx","../../../src/components/form/Input/Input.helpers.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n ActivityIndicator,\n Platform,\n StyleSheet,\n Text as RNText,\n TextInput as RNTextInput,\n View,\n type GestureResponderEvent,\n type InputModeOptions,\n type StyleProp,\n type TextInputProps as RNTextInputProps,\n type TextStyle,\n type ViewStyle,\n} from 'react-native';\n\nimport { resolveInputProps } from './Input.helpers';\nimport { FieldPulse } from '../field-pulse.native';\nimport { fieldLook, helperStyle, labelStyle, type FieldState } from './Input.look.native';\nimport { ADORNMENT_GAP, INPUT_GLOW, INPUT_LOADING } from './Input.metrics';\nimport type { InputProps } from './Input.types.native';\nimport { webAria, webClick, webDisabled } from '../../../platform/aria';\nimport { childTestId, resolveTestId, withoutTestIdProps } from '../../../platform/test-id';\nimport { fieldHeightPx } from '../../../tokens/field-height.core';\nimport { useUiTheme } from '../../../provider/use-ui-theme.native';\n\n/**\n * The keyboard an HTML input `type` asks for.\n *\n * `password` is the only one that is not a keyboard at all — it is React\n * Native's `secureTextEntry`, which react-native-web turns back into\n * `type=\"password\"`. Everything the map does not name (`date`, `file`, `color`)\n * has no React Native equivalent and falls through to a plain text field.\n */\nconst INPUT_MODE_FOR: Record<string, InputModeOptions> = {\n text: 'text',\n search: 'search',\n email: 'email',\n tel: 'tel',\n url: 'url',\n number: 'numeric',\n};\n\nexport function typeProps(type: string | undefined): {\n inputMode?: InputModeOptions;\n secureTextEntry?: boolean;\n} {\n if (type === 'password') return { secureTextEntry: true };\n const mode = type === undefined ? undefined : INPUT_MODE_FOR[type];\n return mode === undefined ? {} : { inputMode: mode };\n}\n\n/** MUI's `0 0 15px` halo, 20px and stronger once the field is focused. */\nfunction glowStyle(color: string, focused: boolean): ViewStyle {\n const glow = focused ? INPUT_GLOW.focused : INPUT_GLOW.rest;\n return Platform.select<ViewStyle>({\n android: { elevation: glow.blur / 2 },\n default: {\n shadowColor: color,\n shadowOpacity: glow.alpha,\n shadowRadius: glow.blur,\n shadowOffset: { width: 0, height: 0 },\n },\n });\n}\n\n/**\n * An adornment in its own slot, 8px from the value as `InputAdornment` puts it.\n *\n * No `testID`: the web field names ONE element, the `<input>` itself, so the\n * native one names the same element and nothing else. A shared story that\n * counts fields by a test-id prefix (`getAllByTestId(/perf-input-/)`) counts\n * the same number on both renderers only if this holds — the two decorations\n * below keep an id because they exist only while asked for.\n */\nfunction Slot({\n children,\n side,\n}: {\n children: React.ReactNode;\n side: 'start' | 'end';\n}): React.JSX.Element | null {\n if (children == null) return null;\n return (\n <View style={[styles.slot, side === 'start' ? { marginRight: ADORNMENT_GAP } : { marginLeft: ADORNMENT_GAP }]}>\n {children}\n </View>\n );\n}\n\n/** One line of text under or over the field, or nothing at all. */\nfunction Line({\n text,\n style,\n}: {\n text: string | undefined;\n style: StyleProp<TextStyle>;\n}): React.JSX.Element | null {\n if (text === undefined) return null;\n return <RNText style={style}>{text}</RNText>;\n}\n\n/** MUI's 20px `CircularProgress` in the end slot; the platform's own arc on a device. */\nfunction Spinner({ color, testID }: { color: string; testID: string }): React.JSX.Element {\n return (\n <ActivityIndicator\n testID={testID}\n size={Platform.OS === 'ios' ? 'small' : INPUT_LOADING.spinnerSize}\n color={color}\n accessibilityLabel=\"loading\"\n />\n );\n}\n\n/** MUI's `FormLabel` appends an asterisk to a required field's label. */\nfunction labelText(label: string | undefined, required: boolean): string | undefined {\n if (label === undefined) return undefined;\n return required ? `${label} *` : label;\n}\n\n/** The focus flag the border and the label are drawn from, and the handlers that keep it. */\nfunction useFocusState(\n onFocus: RNTextInputProps['onFocus'],\n onBlur: RNTextInputProps['onBlur'],\n): {\n focused: boolean;\n handleFocus: NonNullable<RNTextInputProps['onFocus']>;\n handleBlur: NonNullable<RNTextInputProps['onBlur']>;\n} {\n const [focused, setFocused] = React.useState(false);\n return {\n focused,\n handleFocus: (event) => {\n setFocused(true);\n onFocus?.(event);\n },\n handleBlur: (event) => {\n setFocused(false);\n onBlur?.(event);\n },\n };\n}\n\n/**\n * The native `Input`.\n *\n * The label sits ABOVE the field rather than floating into a notch in its\n * border, because React Native cannot cut a notch in a border — see\n * `NATIVE-NOTES.md`. Everything else is the web field's arithmetic:\n * `Input.look.native.ts` decides the paint, `Input.metrics.ts` holds the\n * numbers, and both renderers read the same table.\n */\nexport const Input = React.forwardRef<RNTextInput, InputProps>((rawProps, ref) => {\n const {\n variant, size, type, label, error, helperText, startAdornment, endAdornment,\n fullWidth, floating: _floating, glow, pulse, loading, disabled, required,\n style, inputStyle, onClick, onPress, onFocus, onBlur, ...others\n } = resolveInputProps(rawProps);\n\n const theme = useUiTheme();\n const { focused, handleFocus, handleBlur } = useFocusState(onFocus, onBlur);\n const inactive = disabled || loading;\n const state: FieldState = { focused: focused && !inactive, error, disabled: inactive };\n const look = fieldLook(theme, variant, size, state);\n\n const idFor = (suffix: string): string => childTestId(others, suffix, 'input');\n const handlePress = (event: GestureResponderEvent): void => {\n onClick?.(event);\n onPress?.(event);\n };\n\n return (\n <View\n style={[\n styles.root,\n fullWidth ? styles.fullWidth : styles.auto,\n loading ? styles.loading : null,\n style,\n ]}\n >\n {pulse ? (\n <FieldPulse\n color={theme.palette.primary.main}\n radius={theme.radius.field}\n height={fieldHeightPx(theme.fieldHeight, size)}\n testID={idFor('pulse')}\n />\n ) : null}\n <Line text={labelText(label, required)} style={labelStyle(theme, variant, size, state)} />\n <View style={[look.box, glow ? glowStyle(theme.palette.primary.main, state.focused) : null]}>\n <Slot side=\"start\">{startAdornment}</Slot>\n <RNTextInput\n ref={ref}\n testID={resolveTestId(others, 'input')}\n style={[look.value, inputStyle]}\n placeholderTextColor={look.placeholder}\n editable={!inactive}\n // The web input keeps focus on Enter (a form submits, the caret stays);\n // React Native dismisses the keyboard for a single-line field. A\n // caller wanting the platform behaviour passes its own.\n blurOnSubmit={false}\n aria-label={label}\n aria-disabled={inactive}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onPressIn={handlePress}\n {...webClick(handlePress)}\n {...webDisabled(inactive)}\n {...webAria({ 'aria-invalid': error, 'aria-required': required })}\n {...typeProps(type)}\n {...withoutTestIdProps(others)}\n />\n <Slot side=\"end\">\n {loading ? <Spinner color={theme.palette.primary.main} testID={idFor('loading')} /> : endAdornment}\n </Slot>\n </View>\n <Line text={helperText} style={helperStyle(theme, variant, size, state)} />\n </View>\n );\n});\n\nInput.displayName = 'Input';\n\nconst styles = StyleSheet.create({\n root: {\n position: 'relative',\n },\n fullWidth: {\n alignSelf: 'stretch',\n width: '100%',\n },\n auto: {\n alignSelf: 'flex-start',\n },\n loading: {\n opacity: INPUT_LOADING.opacity,\n },\n slot: {\n flexDirection: 'row',\n alignItems: 'center',\n },\n});\n","import type { InputBaseProps } from './Input.base';\nimport { withDefaults } from '../../../utils/withDefaults';\n\ntype InputDefaultedKeys =\n | 'variant'\n | 'size'\n | 'error'\n | 'fullWidth'\n | 'floating'\n | 'glow'\n | 'pulse'\n | 'loading'\n | 'disabled'\n | 'required';\n\n/**\n * Generic over the renderer's own props, as `resolveButtonProps` is: the web\n * and the native `Input` pass different handler and `value` types through, and\n * both come back out untouched.\n */\nexport type ResolvedInputProps<P extends InputBaseProps> = P &\n Required<Pick<InputBaseProps, InputDefaultedKeys>>;\n\n/**\n * The defaults the web `Input` declares in its destructuring. `fullWidth` is\n * true here and false in MUI: a field in this package fills its column unless\n * it is told not to.\n */\nconst INPUT_DEFAULTS: Required<Pick<InputBaseProps, InputDefaultedKeys>> = {\n variant: 'outlined',\n size: 'md',\n error: false,\n fullWidth: true,\n floating: false,\n glow: false,\n pulse: false,\n loading: false,\n disabled: false,\n required: false,\n};\n\nexport const resolveInputProps = <P extends InputBaseProps>(props: P): ResolvedInputProps<P> =>\n withDefaults(props, INPUT_DEFAULTS as Partial<P>) as ResolvedInputProps<P>;\n"],"mappings":"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","names":[]}
@@ -7,11 +7,14 @@ import {
7
7
  helperStyle,
8
8
  horizontalBorderInset,
9
9
  labelStyle
10
- } from "../chunks/chunk-335WGKE6.js";
10
+ } from "../chunks/chunk-4ZAULIDG.js";
11
11
  import {
12
12
  withDefaults
13
13
  } from "../chunks/chunk-OXHZDFJZ.js";
14
14
  import "../chunks/chunk-IMGBBIMT.js";
15
+ import {
16
+ ELEVATION_SHADOWS
17
+ } from "../chunks/chunk-ZRQHLTYG.js";
15
18
  import {
16
19
  webAria,
17
20
  webKeyDown,
@@ -104,7 +107,7 @@ var SELECT_MENU = {
104
107
  /** MUI's `Menu` paper is `calc(100% - 96px)` tall at most. */
105
108
  maxHeightInset: 96
106
109
  };
107
- var MUI_MENU_SHADOW = "0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12)";
110
+ var MUI_MENU_SHADOW = ELEVATION_SHADOWS[8];
108
111
  var selectedWashAlpha = (theme) => theme.mode === "dark" ? SELECT_MENU.selectedAlpha.dark : SELECT_MENU.selectedAlpha.light;
109
112
 
110
113
  // src/components/form/Select/Select.look.native.ts
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/form/Select/Select.native.tsx","../../../src/components/form/Select/Select.helpers.ts","../../../src/components/form/Select/Select.metrics.ts","../../../src/components/form/Select/Select.look.native.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n Platform,\n Pressable,\n ScrollView,\n StyleSheet,\n Text as RNText,\n View,\n useWindowDimensions,\n type StyleProp,\n type ViewStyle,\n} from 'react-native';\n\nimport {\n displayLabel,\n resolveSelectProps,\n selectItems,\n selectTestIds,\n type SelectItem,\n} from './Select.helpers';\nimport { menuStyle, optionStyle, optionTextStyle, selectLook, type SelectLook } from './Select.look.native';\nimport {\n SELECT_GLOW,\n SELECT_ICON,\n SELECT_MENU,\n inputVariantFor,\n selectInputSize,\n} from './Select.metrics';\nimport type { SelectProps, SelectValue } from './Select.types.native';\nimport { Icon } from '../../../icons/Icon.native';\nimport { webAria, webKeyDown, webRole, type WebKeyEvent } from '../../../platform/aria';\nimport { resolveTestId, withoutTestIdProps } from '../../../platform/test-id';\nimport { fieldHeightPx } from '../../../tokens/field-height.core';\nimport { useUiTheme } from '../../../provider/use-ui-theme.native';\nimport type { UiTheme } from '../../../tokens/theme';\nimport { FieldPulse } from '../field-pulse.native';\nimport { helperStyle, labelStyle, type FieldState } from '../Input/Input.look.native';\n\n/** MUI's halo on the outlined input, painted as a shadow. */\nfunction glowStyle(color: string): ViewStyle {\n return Platform.select<ViewStyle>({\n android: { elevation: SELECT_GLOW.rest.blur / 2 },\n default: {\n shadowColor: color,\n shadowOpacity: SELECT_GLOW.rest.alpha,\n shadowRadius: SELECT_GLOW.rest.blur,\n shadowOffset: { width: 0, height: 0 },\n },\n });\n}\n\ninterface MenuProps {\n items: SelectItem[];\n value: SelectValue;\n testIdFor: (value: SelectValue) => string;\n onPick: (item: SelectItem) => void;\n}\n\n/** The option list: MUI's `Menu`, under the field rather than portalled over it. */\nfunction SelectMenu({ items, value, testIdFor, onPick }: MenuProps): React.JSX.Element {\n const theme = useUiTheme();\n const { height } = useWindowDimensions();\n const textStyle = optionTextStyle(theme);\n\n return (\n <View style={menuStyle(theme, height - SELECT_MENU.maxHeightInset)} {...webRole('listbox')}>\n <ScrollView>\n {items.map((item) => {\n const selected = String(item.value) === String(value);\n return (\n <Pressable\n key={`${item.placeholder ? 'placeholder' : 'option'}-${item.value}`}\n role=\"option\"\n aria-selected={selected}\n aria-disabled={item.disabled}\n disabled={item.disabled}\n testID={item.placeholder ? undefined : testIdFor(item.value)}\n onPress={() => onPick(item)}\n style={optionStyle(theme, selected, item.disabled)}\n >\n <RNText style={textStyle}>{item.label}</RNText>\n </Pressable>\n );\n })}\n </ScrollView>\n </View>\n );\n}\n\ninterface TriggerProps {\n testID: string;\n look: SelectLook;\n open: boolean;\n disabled: boolean;\n error: boolean;\n glow: boolean;\n display: string;\n labelId?: string;\n helperId?: string;\n onToggle: () => void;\n onKey: (event: WebKeyEvent) => void;\n}\n\n/**\n * The field itself: MUI's display slot and its arrow, under one `combobox`.\n *\n * `tabIndex` is spelled out because react-native-web only makes a handful of\n * roles focusable on its own, and `combobox` is not one of them — without it\n * the control would not be a tab stop. It goes to -1 when disabled, which is\n * what the web does by leaving the attribute off a disabled field entirely.\n */\nfunction SelectTrigger(props: TriggerProps): React.JSX.Element {\n const theme = useUiTheme();\n const { testID, look, open, disabled, error, glow, display, labelId, helperId } = props;\n\n return (\n <Pressable\n testID={testID}\n role=\"combobox\"\n tabIndex={disabled ? -1 : 0}\n aria-expanded={open}\n aria-disabled={disabled}\n disabled={disabled}\n onPress={props.onToggle}\n style={[look.box, glow ? glowStyle(theme.palette.primary.main) : null]}\n {...webAria({\n 'aria-haspopup': 'listbox',\n 'aria-invalid': error,\n ...(labelId === undefined ? {} : { 'aria-labelledby': labelId }),\n ...(helperId === undefined ? {} : { 'aria-describedby': helperId }),\n })}\n {...webKeyDown(props.onKey)}\n >\n <RNText style={look.display} numberOfLines={1}>\n {display}\n </RNText>\n <Icon\n name=\"ArrowDropDown\"\n size={SELECT_ICON.size}\n color={disabled ? theme.palette.action.disabled : theme.palette.action.active}\n testID={`${testID}-icon`}\n style={[\n { marginLeft: look.iconGap },\n open ? { transform: [{ rotate: `${SELECT_ICON.openRotateDeg}deg` }] } : null,\n ]}\n />\n </Pressable>\n );\n}\n\n/** The value the control shows, controlled by the caller or held here. */\nfunction useSelectValue(\n value: SelectValue | undefined,\n defaultValue: SelectValue | undefined,\n): [SelectValue, (next: SelectValue) => void] {\n const [own, setOwn] = React.useState<SelectValue>(defaultValue ?? '');\n return [value ?? own, setOwn];\n}\n\n/** The pulse bar, at the field's own height and corner. */\nfunction SelectPulse({\n theme,\n size,\n testID,\n}: {\n theme: UiTheme;\n size: SelectProps['size'];\n testID: string;\n}): React.JSX.Element {\n return (\n <FieldPulse\n color={theme.palette.primary.main}\n radius={theme.radius.field}\n height={fieldHeightPx(theme.fieldHeight, size ?? 'md')}\n testID={testID}\n />\n );\n}\n\n/**\n * The field's own box. Raised while open: react-native-web gives every View\n * `z-index: 0`, so the anchor's z-index stays inside this root, and the next\n * field down would paint over the list and take its taps.\n */\nfunction rootStyle(theme: UiTheme, fullWidth: boolean | undefined, open: boolean): StyleProp<ViewStyle> {\n return [styles.root, fullWidth ? styles.fullWidth : styles.auto, open ? { zIndex: theme.zIndex.modal } : null];\n}\n\n/**\n * The native `Select`.\n *\n * The list is an absolutely positioned panel under the field rather than a\n * portal over the screen: React Native's `Modal` traps focus, which is right\n * for a dialog and wrong for a dropdown — and wrong for the shared stories,\n * which expect the trigger to keep focus while the list is open. The trade is\n * recorded in `NATIVE-NOTES.md`.\n */\nexport const Select = React.forwardRef<View, SelectProps>((rawProps, ref) => {\n const {\n variant, options, label, helperText, fullWidth, size, placeholder, error, glow, pulse,\n disabled, value, defaultValue, onChange, onOpen, onClose, style, ...others\n } = resolveSelectProps(rawProps);\n\n const theme = useUiTheme();\n const [open, setOpen] = React.useState(false);\n const [current, setCurrent] = useSelectValue(value, defaultValue);\n const labelId = React.useId();\n const helperId = React.useId();\n\n const items = selectItems(options, placeholder);\n const ids = selectTestIds(resolveTestId(others));\n const state: FieldState = { focused: open && !disabled, error, disabled };\n const look = selectLook(theme, variant, size, state);\n\n const setOpenState = (next: boolean): void => {\n if (next === open) return;\n setOpen(next);\n (next ? onOpen : onClose)?.();\n };\n\n const handleKey = (event: WebKeyEvent): void => {\n if (event.key === 'Escape') setOpenState(false);\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') setOpenState(true);\n };\n\n const pick = (item: SelectItem): void => {\n setOpenState(false);\n if (item.option === undefined) return;\n setCurrent(item.value);\n onChange?.({ target: { value: item.value } }, item.option);\n };\n\n return (\n <View\n ref={ref}\n testID={ids.root}\n style={[rootStyle(theme, fullWidth, open), style]}\n {...withoutTestIdProps(others)}\n >\n {pulse ? <SelectPulse theme={theme} size={size} testID={`${ids.trigger}-pulse`} /> : null}\n {label === undefined ? null : (\n <RNText id={labelId} style={labelStyle(theme, inputVariantFor(variant), size, state)}>\n {label}\n </RNText>\n )}\n <View style={[styles.anchor, open ? { zIndex: theme.zIndex.modal } : null]}>\n <SelectTrigger\n testID={ids.trigger}\n look={look}\n open={open}\n disabled={disabled}\n error={error}\n glow={glow}\n display={displayLabel(items, current)}\n labelId={label === undefined ? undefined : labelId}\n helperId={helperText === undefined ? undefined : helperId}\n onToggle={() => setOpenState(!open)}\n onKey={handleKey}\n />\n {open ? (\n <SelectMenu items={items} value={current} testIdFor={ids.option} onPick={pick} />\n ) : null}\n </View>\n {helperText === undefined ? null : (\n <RNText id={helperId} style={helperStyle(theme, inputVariantFor(variant), selectInputSize(size), state)}>\n {helperText}\n </RNText>\n )}\n </View>\n );\n});\n\nSelect.displayName = 'Select';\n\nconst styles = StyleSheet.create({\n root: {\n position: 'relative',\n },\n anchor: {\n position: 'relative',\n },\n fullWidth: {\n alignSelf: 'stretch',\n width: '100%',\n },\n auto: {\n alignSelf: 'flex-start',\n },\n});\n","import type { SelectBaseProps, SelectOption, SelectValue } from './Select.base';\nimport { withDefaults } from '../../../utils/withDefaults';\n\ntype SelectDefaultedKeys = 'variant' | 'size' | 'fullWidth' | 'error' | 'glow' | 'pulse' | 'disabled';\n\nexport type ResolvedSelectProps<P extends SelectBaseProps> = P &\n Required<Pick<SelectBaseProps, SelectDefaultedKeys>>;\n\n/**\n * `Select.tsx` leaves `variant`, `size`, `glow` and `pulse` undefined on\n * purpose — undefined resolves to the default variant, MUI's medium and no\n * effects, which keeps its render function under the complexity budget. The\n * native renderer has to name them, so the same resolution happens here.\n */\nconst SELECT_DEFAULTS: Required<Pick<SelectBaseProps, SelectDefaultedKeys>> = {\n variant: 'default',\n size: 'md',\n fullWidth: true,\n error: false,\n glow: false,\n pulse: false,\n disabled: false,\n};\n\nexport const resolveSelectProps = <P extends SelectBaseProps>(props: P): ResolvedSelectProps<P> =>\n withDefaults(props, SELECT_DEFAULTS as Partial<P>) as ResolvedSelectProps<P>;\n\n/** One row of the list: an option, or the disabled placeholder above them. */\nexport interface SelectItem {\n value: SelectValue;\n label: string;\n disabled: boolean;\n /** The placeholder is not an option: it carries no test id and cannot be chosen. */\n placeholder: boolean;\n option?: SelectOption;\n}\n\n/**\n * The list MUI renders: the placeholder first when there is one, then the\n * options, in the order `renderMenuItems` builds them.\n */\nexport function selectItems(options: SelectOption[], placeholder?: string): SelectItem[] {\n const items: SelectItem[] = options.map((option) => ({\n value: option.value,\n label: option.label,\n disabled: option.disabled === true,\n placeholder: false,\n option,\n }));\n if (placeholder === undefined || placeholder === '') return items;\n return [{ value: '', label: placeholder, disabled: true, placeholder: true }, ...items];\n}\n\n/**\n * What the display slot shows.\n *\n * The LAST match wins, which is MUI's own answer: `SelectInput` walks its\n * children and overwrites the display for every child whose value matches, so\n * a list carrying both an empty placeholder and a real empty-valued option\n * shows the option. Values are compared as strings because the DOM stringifies\n * them anyway (MUI's `areEqualValues`).\n */\nexport function displayLabel(items: SelectItem[], value: SelectValue): string {\n let label = '';\n for (const item of items) {\n if (String(item.value) === String(value)) label = item.label;\n }\n return label;\n}\n\n/** The three ids the web puts on the control, spelled exactly as it spells them. */\nexport function selectTestIds(id: string | undefined): {\n root: string | undefined;\n trigger: string;\n option: (value: SelectValue) => string;\n} {\n return {\n root: id,\n trigger: id ? `${id}-select` : 'select',\n option: (value) => (id ? `${id}-option-${value}` : `option-${value}`),\n };\n}\n","import type { SelectVariant } from './Select.base';\nimport type { InputVariant } from '../Input/Input.base';\nimport { ICON_SIZES } from '../../../icons/Icon.types';\nimport type { UiTheme } from '../../../tokens/theme';\nimport type { SizeValue } from '../../../tokens/vocabulary';\n\n/**\n * THE NUMBERS BOTH `Select` RENDERERS DRAW WITH.\n *\n * A `Select` on the web IS an `OutlinedInput` with a display slot and an arrow\n * where the value would be typed, so the box's own numbers — the padding, the\n * border, the radius, the field edge — are `Input.metrics.ts`'s, read through\n * {@link inputVariantFor} rather than restated. What is here is what a select\n * has and a text field does not: the arrow, the option list, and the two\n * heights MUI's `FormControl` offers.\n */\n\n/** Our three variants onto the `Input` variant that draws the same box. */\nexport const inputVariantFor = (variant: SelectVariant): InputVariant =>\n variant === 'default' ? 'outlined' : variant;\n\n/**\n * The house scale as a `FormControl` size.\n *\n * Not `muiSize`: that collapses five onto MUI's three, and a FormControl takes\n * only two — `sm` draws small and EVERY other step, `xs` included, draws\n * medium. Restated from `Select.tsx`'s `formControlSize` so the native side\n * reads the same lossy map rather than inventing a kinder one.\n */\nexport const selectInputSize = (size: SizeValue | undefined): 'sm' | 'md' =>\n size === 'sm' ? 'sm' : 'md';\n\n/**\n * The arrow: MUI's `ArrowDropDown` at `SvgIcon`'s medium size, 7px from the\n * right edge, turned over while the list is open. The display slot reserves\n * 32px for it, so the flow-laid glyph takes the difference as a margin.\n */\nexport const SELECT_ICON = {\n size: ICON_SIZES.md,\n right: 7,\n displayPaddingRight: 32,\n openRotateDeg: 180,\n} as const;\n\n/** What the glyph leaves between itself and the value: 32 - 24 - 7. */\nexport const SELECT_ICON_GAP =\n SELECT_ICON.displayPaddingRight - SELECT_ICON.size - SELECT_ICON.right;\n\n/** `.MuiSelect-select`'s floor, MUI's `1.4375em` at the 16px body size. */\nexport const SELECT_DISPLAY_MIN_HEIGHT = 23;\n\n/**\n * The option list: MUI's `Menu` over a `MenuList` of `MenuItem`s.\n *\n * `selectedAlpha` is `palette.action.selectedOpacity`, which MUI doubles in\n * dark mode; `disabledOpacity` is `palette.action.disabledOpacity`. Neither is\n * on `UiTheme`, whose `action` carries colours rather than opacities.\n */\nexport const SELECT_MENU = {\n itemMinHeight: 48,\n itemPaddingVertical: 6,\n itemPaddingHorizontal: 16,\n listPaddingVertical: 8,\n selectedAlpha: { light: 0.08, dark: 0.16 },\n disabledOpacity: 0.38,\n /** MUI's `Menu` paper is `calc(100% - 96px)` tall at most. */\n maxHeightInset: 96,\n} as const;\n\n/** MUI's `theme.shadows[8]`, the elevation a `Menu` paper rests at. */\nexport const MUI_MENU_SHADOW =\n '0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12)';\n\n/** The wash behind the option the value currently names. */\nexport const selectedWashAlpha = (theme: UiTheme): number =>\n theme.mode === 'dark' ? SELECT_MENU.selectedAlpha.dark : SELECT_MENU.selectedAlpha.light;\n\n/**\n * The box a select draws IS the input's box, so these are the input's tables\n * under this component's names — the border widths, the glass and gradient\n * alphas, the halo and the pulse. Restating them here is how the two controls\n * would come to disagree about what an outlined field looks like.\n */\nexport {\n INPUT_BORDER as SELECT_BORDER,\n INPUT_GLASS as SELECT_GLASS,\n INPUT_GLOW as SELECT_GLOW,\n INPUT_GRADIENT as SELECT_GRADIENT,\n INPUT_PULSE as SELECT_PULSE,\n} from '../Input/Input.metrics';\n","import type { TextStyle, ViewStyle } from 'react-native';\n\nimport {\n MUI_MENU_SHADOW,\n SELECT_DISPLAY_MIN_HEIGHT,\n SELECT_ICON,\n SELECT_ICON_GAP,\n SELECT_MENU,\n inputVariantFor,\n selectedWashAlpha,\n} from './Select.metrics';\nimport type { SelectVariant } from './Select.base';\nimport { INPUT_FONT_SIZE, INPUT_LINE_HEIGHT } from '../Input/Input.metrics';\nimport { fieldLook, horizontalBorderInset, type FieldState } from '../Input/Input.look.native';\nimport { alpha } from '../../../tokens/color';\nimport type { UiTheme } from '../../../tokens/theme';\nimport type { SizeValue } from '../../../tokens/vocabulary';\n\n/**\n * WHAT A NATIVE `Select` PAINTS.\n *\n * The box is the `Input`'s box: a select on the web is an `OutlinedInput` with\n * a display slot where the value would be typed, so `fieldLook` decides the\n * fill, the edges and the inset, and this file only says what a select adds —\n * room for the arrow, and the list under it.\n */\nexport interface SelectLook {\n box: ViewStyle;\n display: TextStyle;\n iconGap: number;\n}\n\nexport function selectLook(\n theme: UiTheme,\n variant: SelectVariant,\n size: SizeValue,\n state: FieldState,\n): SelectLook {\n const inputVariant = inputVariantFor(variant);\n const look = fieldLook(theme, inputVariant, size, state);\n const inset = horizontalBorderInset(inputVariant, state.focused);\n\n return {\n box: {\n ...look.box,\n // MUI's arrow is absolute at `right: 7`; laid out in flow it takes the\n // row's right inset instead, and {@link SELECT_ICON_GAP} makes up the\n // difference so the value still stops 32px from the edge.\n paddingRight: SELECT_ICON.right - inset,\n },\n display: {\n ...look.value,\n minHeight: SELECT_DISPLAY_MIN_HEIGHT,\n fontSize: INPUT_FONT_SIZE,\n lineHeight: INPUT_LINE_HEIGHT,\n },\n iconGap: SELECT_ICON_GAP,\n };\n}\n\n/** The option list's paper: MUI's `Menu`, at elevation 8 on the theme's radius. */\nexport function menuStyle(theme: UiTheme, maxHeight: number): ViewStyle {\n return {\n position: 'absolute',\n top: '100%',\n left: 0,\n right: 0,\n zIndex: theme.zIndex.modal,\n maxHeight,\n paddingVertical: SELECT_MENU.listPaddingVertical,\n backgroundColor: theme.palette.background.paper,\n borderRadius: theme.radius.md,\n boxShadow: MUI_MENU_SHADOW,\n };\n}\n\n/** One `MenuItem`: 48px tall at least, 6px by 16px of padding, washed when selected. */\nexport function optionStyle(theme: UiTheme, selected: boolean, disabled: boolean): ViewStyle {\n return {\n minHeight: SELECT_MENU.itemMinHeight,\n justifyContent: 'center',\n paddingVertical: SELECT_MENU.itemPaddingVertical,\n paddingHorizontal: SELECT_MENU.itemPaddingHorizontal,\n backgroundColor: selected\n ? alpha(theme.palette.primary.main, selectedWashAlpha(theme))\n : 'transparent',\n opacity: disabled ? SELECT_MENU.disabledOpacity : 1,\n };\n}\n\n/** A `MenuItem`'s label: MUI's `body1`, the same type the display slot sets. */\nexport function optionTextStyle(theme: UiTheme): TextStyle {\n return {\n color: theme.palette.text.primary,\n fontFamily: theme.typography.fontFamily,\n fontSize: INPUT_FONT_SIZE,\n lineHeight: INPUT_LINE_HEIGHT,\n };\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/components/form/Select/Select.native.tsx","../../../src/components/form/Select/Select.helpers.ts","../../../src/components/form/Select/Select.metrics.ts","../../../src/components/form/Select/Select.look.native.ts"],"sourcesContent":["import * as React from 'react';\nimport {\n Platform,\n Pressable,\n ScrollView,\n StyleSheet,\n Text as RNText,\n View,\n useWindowDimensions,\n type StyleProp,\n type ViewStyle,\n} from 'react-native';\n\nimport {\n displayLabel,\n resolveSelectProps,\n selectItems,\n selectTestIds,\n type SelectItem,\n} from './Select.helpers';\nimport { menuStyle, optionStyle, optionTextStyle, selectLook, type SelectLook } from './Select.look.native';\nimport {\n SELECT_GLOW,\n SELECT_ICON,\n SELECT_MENU,\n inputVariantFor,\n selectInputSize,\n} from './Select.metrics';\nimport type { SelectProps, SelectValue } from './Select.types.native';\nimport { Icon } from '../../../icons/Icon.native';\nimport { webAria, webKeyDown, webRole, type WebKeyEvent } from '../../../platform/aria';\nimport { resolveTestId, withoutTestIdProps } from '../../../platform/test-id';\nimport { fieldHeightPx } from '../../../tokens/field-height.core';\nimport { useUiTheme } from '../../../provider/use-ui-theme.native';\nimport type { UiTheme } from '../../../tokens/theme';\nimport { FieldPulse } from '../field-pulse.native';\nimport { helperStyle, labelStyle, type FieldState } from '../Input/Input.look.native';\n\n/** MUI's halo on the outlined input, painted as a shadow. */\nfunction glowStyle(color: string): ViewStyle {\n return Platform.select<ViewStyle>({\n android: { elevation: SELECT_GLOW.rest.blur / 2 },\n default: {\n shadowColor: color,\n shadowOpacity: SELECT_GLOW.rest.alpha,\n shadowRadius: SELECT_GLOW.rest.blur,\n shadowOffset: { width: 0, height: 0 },\n },\n });\n}\n\ninterface MenuProps {\n items: SelectItem[];\n value: SelectValue;\n testIdFor: (value: SelectValue) => string;\n onPick: (item: SelectItem) => void;\n}\n\n/** The option list: MUI's `Menu`, under the field rather than portalled over it. */\nfunction SelectMenu({ items, value, testIdFor, onPick }: MenuProps): React.JSX.Element {\n const theme = useUiTheme();\n const { height } = useWindowDimensions();\n const textStyle = optionTextStyle(theme);\n\n return (\n <View style={menuStyle(theme, height - SELECT_MENU.maxHeightInset)} {...webRole('listbox')}>\n <ScrollView>\n {items.map((item) => {\n const selected = String(item.value) === String(value);\n return (\n <Pressable\n key={`${item.placeholder ? 'placeholder' : 'option'}-${item.value}`}\n role=\"option\"\n aria-selected={selected}\n aria-disabled={item.disabled}\n disabled={item.disabled}\n testID={item.placeholder ? undefined : testIdFor(item.value)}\n onPress={() => onPick(item)}\n style={optionStyle(theme, selected, item.disabled)}\n >\n <RNText style={textStyle}>{item.label}</RNText>\n </Pressable>\n );\n })}\n </ScrollView>\n </View>\n );\n}\n\ninterface TriggerProps {\n testID: string;\n look: SelectLook;\n open: boolean;\n disabled: boolean;\n error: boolean;\n glow: boolean;\n display: string;\n labelId?: string;\n helperId?: string;\n onToggle: () => void;\n onKey: (event: WebKeyEvent) => void;\n}\n\n/**\n * The field itself: MUI's display slot and its arrow, under one `combobox`.\n *\n * `tabIndex` is spelled out because react-native-web only makes a handful of\n * roles focusable on its own, and `combobox` is not one of them — without it\n * the control would not be a tab stop. It goes to -1 when disabled, which is\n * what the web does by leaving the attribute off a disabled field entirely.\n */\nfunction SelectTrigger(props: TriggerProps): React.JSX.Element {\n const theme = useUiTheme();\n const { testID, look, open, disabled, error, glow, display, labelId, helperId } = props;\n\n return (\n <Pressable\n testID={testID}\n role=\"combobox\"\n tabIndex={disabled ? -1 : 0}\n aria-expanded={open}\n aria-disabled={disabled}\n disabled={disabled}\n onPress={props.onToggle}\n style={[look.box, glow ? glowStyle(theme.palette.primary.main) : null]}\n {...webAria({\n 'aria-haspopup': 'listbox',\n 'aria-invalid': error,\n ...(labelId === undefined ? {} : { 'aria-labelledby': labelId }),\n ...(helperId === undefined ? {} : { 'aria-describedby': helperId }),\n })}\n {...webKeyDown(props.onKey)}\n >\n <RNText style={look.display} numberOfLines={1}>\n {display}\n </RNText>\n <Icon\n name=\"ArrowDropDown\"\n size={SELECT_ICON.size}\n color={disabled ? theme.palette.action.disabled : theme.palette.action.active}\n testID={`${testID}-icon`}\n style={[\n { marginLeft: look.iconGap },\n open ? { transform: [{ rotate: `${SELECT_ICON.openRotateDeg}deg` }] } : null,\n ]}\n />\n </Pressable>\n );\n}\n\n/** The value the control shows, controlled by the caller or held here. */\nfunction useSelectValue(\n value: SelectValue | undefined,\n defaultValue: SelectValue | undefined,\n): [SelectValue, (next: SelectValue) => void] {\n const [own, setOwn] = React.useState<SelectValue>(defaultValue ?? '');\n return [value ?? own, setOwn];\n}\n\n/** The pulse bar, at the field's own height and corner. */\nfunction SelectPulse({\n theme,\n size,\n testID,\n}: {\n theme: UiTheme;\n size: SelectProps['size'];\n testID: string;\n}): React.JSX.Element {\n return (\n <FieldPulse\n color={theme.palette.primary.main}\n radius={theme.radius.field}\n height={fieldHeightPx(theme.fieldHeight, size ?? 'md')}\n testID={testID}\n />\n );\n}\n\n/**\n * The field's own box. Raised while open: react-native-web gives every View\n * `z-index: 0`, so the anchor's z-index stays inside this root, and the next\n * field down would paint over the list and take its taps.\n */\nfunction rootStyle(theme: UiTheme, fullWidth: boolean | undefined, open: boolean): StyleProp<ViewStyle> {\n return [styles.root, fullWidth ? styles.fullWidth : styles.auto, open ? { zIndex: theme.zIndex.modal } : null];\n}\n\n/**\n * The native `Select`.\n *\n * The list is an absolutely positioned panel under the field rather than a\n * portal over the screen: React Native's `Modal` traps focus, which is right\n * for a dialog and wrong for a dropdown — and wrong for the shared stories,\n * which expect the trigger to keep focus while the list is open. The trade is\n * recorded in `NATIVE-NOTES.md`.\n */\nexport const Select = React.forwardRef<View, SelectProps>((rawProps, ref) => {\n const {\n variant, options, label, helperText, fullWidth, size, placeholder, error, glow, pulse,\n disabled, value, defaultValue, onChange, onOpen, onClose, style, ...others\n } = resolveSelectProps(rawProps);\n\n const theme = useUiTheme();\n const [open, setOpen] = React.useState(false);\n const [current, setCurrent] = useSelectValue(value, defaultValue);\n const labelId = React.useId();\n const helperId = React.useId();\n\n const items = selectItems(options, placeholder);\n const ids = selectTestIds(resolveTestId(others));\n const state: FieldState = { focused: open && !disabled, error, disabled };\n const look = selectLook(theme, variant, size, state);\n\n const setOpenState = (next: boolean): void => {\n if (next === open) return;\n setOpen(next);\n (next ? onOpen : onClose)?.();\n };\n\n const handleKey = (event: WebKeyEvent): void => {\n if (event.key === 'Escape') setOpenState(false);\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') setOpenState(true);\n };\n\n const pick = (item: SelectItem): void => {\n setOpenState(false);\n if (item.option === undefined) return;\n setCurrent(item.value);\n onChange?.({ target: { value: item.value } }, item.option);\n };\n\n return (\n <View\n ref={ref}\n testID={ids.root}\n style={[rootStyle(theme, fullWidth, open), style]}\n {...withoutTestIdProps(others)}\n >\n {pulse ? <SelectPulse theme={theme} size={size} testID={`${ids.trigger}-pulse`} /> : null}\n {label === undefined ? null : (\n <RNText id={labelId} style={labelStyle(theme, inputVariantFor(variant), size, state)}>\n {label}\n </RNText>\n )}\n <View style={[styles.anchor, open ? { zIndex: theme.zIndex.modal } : null]}>\n <SelectTrigger\n testID={ids.trigger}\n look={look}\n open={open}\n disabled={disabled}\n error={error}\n glow={glow}\n display={displayLabel(items, current)}\n labelId={label === undefined ? undefined : labelId}\n helperId={helperText === undefined ? undefined : helperId}\n onToggle={() => setOpenState(!open)}\n onKey={handleKey}\n />\n {open ? (\n <SelectMenu items={items} value={current} testIdFor={ids.option} onPick={pick} />\n ) : null}\n </View>\n {helperText === undefined ? null : (\n <RNText id={helperId} style={helperStyle(theme, inputVariantFor(variant), selectInputSize(size), state)}>\n {helperText}\n </RNText>\n )}\n </View>\n );\n});\n\nSelect.displayName = 'Select';\n\nconst styles = StyleSheet.create({\n root: {\n position: 'relative',\n },\n anchor: {\n position: 'relative',\n },\n fullWidth: {\n alignSelf: 'stretch',\n width: '100%',\n },\n auto: {\n alignSelf: 'flex-start',\n },\n});\n","import type { SelectBaseProps, SelectOption, SelectValue } from './Select.base';\nimport { withDefaults } from '../../../utils/withDefaults';\n\ntype SelectDefaultedKeys = 'variant' | 'size' | 'fullWidth' | 'error' | 'glow' | 'pulse' | 'disabled';\n\nexport type ResolvedSelectProps<P extends SelectBaseProps> = P &\n Required<Pick<SelectBaseProps, SelectDefaultedKeys>>;\n\n/**\n * `Select.tsx` leaves `variant`, `size`, `glow` and `pulse` undefined on\n * purpose — undefined resolves to the default variant, MUI's medium and no\n * effects, which keeps its render function under the complexity budget. The\n * native renderer has to name them, so the same resolution happens here.\n */\nconst SELECT_DEFAULTS: Required<Pick<SelectBaseProps, SelectDefaultedKeys>> = {\n variant: 'default',\n size: 'md',\n fullWidth: true,\n error: false,\n glow: false,\n pulse: false,\n disabled: false,\n};\n\nexport const resolveSelectProps = <P extends SelectBaseProps>(props: P): ResolvedSelectProps<P> =>\n withDefaults(props, SELECT_DEFAULTS as Partial<P>) as ResolvedSelectProps<P>;\n\n/** One row of the list: an option, or the disabled placeholder above them. */\nexport interface SelectItem {\n value: SelectValue;\n label: string;\n disabled: boolean;\n /** The placeholder is not an option: it carries no test id and cannot be chosen. */\n placeholder: boolean;\n option?: SelectOption;\n}\n\n/**\n * The list MUI renders: the placeholder first when there is one, then the\n * options, in the order `renderMenuItems` builds them.\n */\nexport function selectItems(options: SelectOption[], placeholder?: string): SelectItem[] {\n const items: SelectItem[] = options.map((option) => ({\n value: option.value,\n label: option.label,\n disabled: option.disabled === true,\n placeholder: false,\n option,\n }));\n if (placeholder === undefined || placeholder === '') return items;\n return [{ value: '', label: placeholder, disabled: true, placeholder: true }, ...items];\n}\n\n/**\n * What the display slot shows.\n *\n * The LAST match wins, which is MUI's own answer: `SelectInput` walks its\n * children and overwrites the display for every child whose value matches, so\n * a list carrying both an empty placeholder and a real empty-valued option\n * shows the option. Values are compared as strings because the DOM stringifies\n * them anyway (MUI's `areEqualValues`).\n */\nexport function displayLabel(items: SelectItem[], value: SelectValue): string {\n let label = '';\n for (const item of items) {\n if (String(item.value) === String(value)) label = item.label;\n }\n return label;\n}\n\n/** The three ids the web puts on the control, spelled exactly as it spells them. */\nexport function selectTestIds(id: string | undefined): {\n root: string | undefined;\n trigger: string;\n option: (value: SelectValue) => string;\n} {\n return {\n root: id,\n trigger: id ? `${id}-select` : 'select',\n option: (value) => (id ? `${id}-option-${value}` : `option-${value}`),\n };\n}\n","import type { SelectVariant } from './Select.base';\nimport type { InputVariant } from '../Input/Input.base';\nimport { ICON_SIZES } from '../../../icons/Icon.types';\nimport { ELEVATION_SHADOWS } from '../../../tokens/ink.core';\nimport type { UiTheme } from '../../../tokens/theme';\nimport type { SizeValue } from '../../../tokens/vocabulary';\n\n/**\n * THE NUMBERS BOTH `Select` RENDERERS DRAW WITH.\n *\n * A `Select` on the web IS an `OutlinedInput` with a display slot and an arrow\n * where the value would be typed, so the box's own numbers — the padding, the\n * border, the radius, the field edge — are `Input.metrics.ts`'s, read through\n * {@link inputVariantFor} rather than restated. What is here is what a select\n * has and a text field does not: the arrow, the option list, and the two\n * heights MUI's `FormControl` offers.\n */\n\n/** Our three variants onto the `Input` variant that draws the same box. */\nexport const inputVariantFor = (variant: SelectVariant): InputVariant =>\n variant === 'default' ? 'outlined' : variant;\n\n/**\n * The house scale as a `FormControl` size.\n *\n * Not `muiSize`: that collapses five onto MUI's three, and a FormControl takes\n * only two — `sm` draws small and EVERY other step, `xs` included, draws\n * medium. Restated from `Select.tsx`'s `formControlSize` so the native side\n * reads the same lossy map rather than inventing a kinder one.\n */\nexport const selectInputSize = (size: SizeValue | undefined): 'sm' | 'md' =>\n size === 'sm' ? 'sm' : 'md';\n\n/**\n * The arrow: MUI's `ArrowDropDown` at `SvgIcon`'s medium size, 7px from the\n * right edge, turned over while the list is open. The display slot reserves\n * 32px for it, so the flow-laid glyph takes the difference as a margin.\n */\nexport const SELECT_ICON = {\n size: ICON_SIZES.md,\n right: 7,\n displayPaddingRight: 32,\n openRotateDeg: 180,\n} as const;\n\n/** What the glyph leaves between itself and the value: 32 - 24 - 7. */\nexport const SELECT_ICON_GAP =\n SELECT_ICON.displayPaddingRight - SELECT_ICON.size - SELECT_ICON.right;\n\n/** `.MuiSelect-select`'s floor, MUI's `1.4375em` at the 16px body size. */\nexport const SELECT_DISPLAY_MIN_HEIGHT = 23;\n\n/**\n * The option list: MUI's `Menu` over a `MenuList` of `MenuItem`s.\n *\n * `selectedAlpha` is `palette.action.selectedOpacity`, which MUI doubles in\n * dark mode; `disabledOpacity` is `palette.action.disabledOpacity`. Neither is\n * on `UiTheme`, whose `action` carries colours rather than opacities.\n */\nexport const SELECT_MENU = {\n itemMinHeight: 48,\n itemPaddingVertical: 6,\n itemPaddingHorizontal: 16,\n listPaddingVertical: 8,\n selectedAlpha: { light: 0.08, dark: 0.16 },\n disabledOpacity: 0.38,\n /** MUI's `Menu` paper is `calc(100% - 96px)` tall at most. */\n maxHeightInset: 96,\n} as const;\n\n/** MUI's `theme.shadows[8]`, the elevation a `Menu` paper rests at. */\nexport const MUI_MENU_SHADOW = ELEVATION_SHADOWS[8];\n\n/** The wash behind the option the value currently names. */\nexport const selectedWashAlpha = (theme: UiTheme): number =>\n theme.mode === 'dark' ? SELECT_MENU.selectedAlpha.dark : SELECT_MENU.selectedAlpha.light;\n\n/**\n * The box a select draws IS the input's box, so these are the input's tables\n * under this component's names — the border widths, the glass and gradient\n * alphas, the halo and the pulse. Restating them here is how the two controls\n * would come to disagree about what an outlined field looks like.\n */\nexport {\n INPUT_BORDER as SELECT_BORDER,\n INPUT_GLASS as SELECT_GLASS,\n INPUT_GLOW as SELECT_GLOW,\n INPUT_GRADIENT as SELECT_GRADIENT,\n INPUT_PULSE as SELECT_PULSE,\n} from '../Input/Input.metrics';\n","import type { TextStyle, ViewStyle } from 'react-native';\n\nimport {\n MUI_MENU_SHADOW,\n SELECT_DISPLAY_MIN_HEIGHT,\n SELECT_ICON,\n SELECT_ICON_GAP,\n SELECT_MENU,\n inputVariantFor,\n selectedWashAlpha,\n} from './Select.metrics';\nimport type { SelectVariant } from './Select.base';\nimport { INPUT_FONT_SIZE, INPUT_LINE_HEIGHT } from '../Input/Input.metrics';\nimport { fieldLook, horizontalBorderInset, type FieldState } from '../Input/Input.look.native';\nimport { alpha } from '../../../tokens/color';\nimport type { UiTheme } from '../../../tokens/theme';\nimport type { SizeValue } from '../../../tokens/vocabulary';\n\n/**\n * WHAT A NATIVE `Select` PAINTS.\n *\n * The box is the `Input`'s box: a select on the web is an `OutlinedInput` with\n * a display slot where the value would be typed, so `fieldLook` decides the\n * fill, the edges and the inset, and this file only says what a select adds —\n * room for the arrow, and the list under it.\n */\nexport interface SelectLook {\n box: ViewStyle;\n display: TextStyle;\n iconGap: number;\n}\n\nexport function selectLook(\n theme: UiTheme,\n variant: SelectVariant,\n size: SizeValue,\n state: FieldState,\n): SelectLook {\n const inputVariant = inputVariantFor(variant);\n const look = fieldLook(theme, inputVariant, size, state);\n const inset = horizontalBorderInset(inputVariant, state.focused);\n\n return {\n box: {\n ...look.box,\n // MUI's arrow is absolute at `right: 7`; laid out in flow it takes the\n // row's right inset instead, and {@link SELECT_ICON_GAP} makes up the\n // difference so the value still stops 32px from the edge.\n paddingRight: SELECT_ICON.right - inset,\n },\n display: {\n ...look.value,\n minHeight: SELECT_DISPLAY_MIN_HEIGHT,\n fontSize: INPUT_FONT_SIZE,\n lineHeight: INPUT_LINE_HEIGHT,\n },\n iconGap: SELECT_ICON_GAP,\n };\n}\n\n/** The option list's paper: MUI's `Menu`, at elevation 8 on the theme's radius. */\nexport function menuStyle(theme: UiTheme, maxHeight: number): ViewStyle {\n return {\n position: 'absolute',\n top: '100%',\n left: 0,\n right: 0,\n zIndex: theme.zIndex.modal,\n maxHeight,\n paddingVertical: SELECT_MENU.listPaddingVertical,\n backgroundColor: theme.palette.background.paper,\n borderRadius: theme.radius.md,\n boxShadow: MUI_MENU_SHADOW,\n };\n}\n\n/** One `MenuItem`: 48px tall at least, 6px by 16px of padding, washed when selected. */\nexport function optionStyle(theme: UiTheme, selected: boolean, disabled: boolean): ViewStyle {\n return {\n minHeight: SELECT_MENU.itemMinHeight,\n justifyContent: 'center',\n paddingVertical: SELECT_MENU.itemPaddingVertical,\n paddingHorizontal: SELECT_MENU.itemPaddingHorizontal,\n backgroundColor: selected\n ? alpha(theme.palette.primary.main, selectedWashAlpha(theme))\n : 'transparent',\n opacity: disabled ? SELECT_MENU.disabledOpacity : 1,\n };\n}\n\n/** A `MenuItem`'s label: MUI's `body1`, the same type the display slot sets. */\nexport function optionTextStyle(theme: UiTheme): TextStyle {\n return {\n color: theme.palette.text.primary,\n fontFamily: theme.typography.fontFamily,\n fontSize: INPUT_FONT_SIZE,\n lineHeight: INPUT_LINE_HEIGHT,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,YAAY,WAAW;AACvB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,OAGK;;;ACGP,IAAM,kBAAwE;AAAA,EAC5E,SAAS;AAAA,EACT,MAAM;AAAA,EACN,WAAW;AAAA,EACX,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AACZ;AAEO,IAAM,qBAAqB,CAA4B,UAC5D,aAAa,OAAO,eAA6B;AAgB5C,SAAS,YAAY,SAAyB,aAAoC;AACvF,QAAM,QAAsB,QAAQ,IAAI,CAAC,YAAY;AAAA,IACnD,OAAO,OAAO;AAAA,IACd,OAAO,OAAO;AAAA,IACd,UAAU,OAAO,aAAa;AAAA,IAC9B,aAAa;AAAA,IACb;AAAA,EACF,EAAE;AACF,MAAI,gBAAgB,UAAa,gBAAgB,GAAI,QAAO;AAC5D,SAAO,CAAC,EAAE,OAAO,IAAI,OAAO,aAAa,UAAU,MAAM,aAAa,KAAK,GAAG,GAAG,KAAK;AACxF;AAWO,SAAS,aAAa,OAAqB,OAA4B;AAC5E,MAAI,QAAQ;AACZ,aAAW,QAAQ,OAAO;AACxB,QAAI,OAAO,KAAK,KAAK,MAAM,OAAO,KAAK,EAAG,SAAQ,KAAK;AAAA,EACzD;AACA,SAAO;AACT;AAGO,SAAS,cAAc,IAI5B;AACA,SAAO;AAAA,IACL,MAAM;AAAA,IACN,SAAS,KAAK,GAAG,EAAE,YAAY;AAAA,IAC/B,QAAQ,CAAC,UAAW,KAAK,GAAG,EAAE,WAAW,KAAK,KAAK,UAAU,KAAK;AAAA,EACpE;AACF;;;AC9DO,IAAM,kBAAkB,CAAC,YAC9B,YAAY,YAAY,aAAa;AAUhC,IAAM,kBAAkB,CAAC,SAC9B,SAAS,OAAO,OAAO;AAOlB,IAAM,cAAc;AAAA,EACzB,MAAM,WAAW;AAAA,EACjB,OAAO;AAAA,EACP,qBAAqB;AAAA,EACrB,eAAe;AACjB;AAGO,IAAM,kBACX,YAAY,sBAAsB,YAAY,OAAO,YAAY;AAG5D,IAAM,4BAA4B;AASlC,IAAM,cAAc;AAAA,EACzB,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,eAAe,EAAE,OAAO,MAAM,MAAM,KAAK;AAAA,EACzC,iBAAiB;AAAA;AAAA,EAEjB,gBAAgB;AAClB;AAGO,IAAM,kBAAkB,kBAAkB,CAAC;AAG3C,IAAM,oBAAoB,CAAC,UAChC,MAAM,SAAS,SAAS,YAAY,cAAc,OAAO,YAAY,cAAc;;;AC3C9E,SAAS,WACd,OACA,SACA,MACA,OACY;AACZ,QAAM,eAAe,gBAAgB,OAAO;AAC5C,QAAM,OAAO,UAAU,OAAO,cAAc,MAAM,KAAK;AACvD,QAAM,QAAQ,sBAAsB,cAAc,MAAM,OAAO;AAE/D,SAAO;AAAA,IACL,KAAK;AAAA,MACH,GAAG,KAAK;AAAA;AAAA;AAAA;AAAA,MAIR,cAAc,YAAY,QAAQ;AAAA,IACpC;AAAA,IACA,SAAS;AAAA,MACP,GAAG,KAAK;AAAA,MACR,WAAW;AAAA,MACX,UAAU;AAAA,MACV,YAAY;AAAA,IACd;AAAA,IACA,SAAS;AAAA,EACX;AACF;AAGO,SAAS,UAAU,OAAgB,WAA8B;AACtE,SAAO;AAAA,IACL,UAAU;AAAA,IACV,KAAK;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ,MAAM,OAAO;AAAA,IACrB;AAAA,IACA,iBAAiB,YAAY;AAAA,IAC7B,iBAAiB,MAAM,QAAQ,WAAW;AAAA,IAC1C,cAAc,MAAM,OAAO;AAAA,IAC3B,WAAW;AAAA,EACb;AACF;AAGO,SAAS,YAAY,OAAgB,UAAmB,UAA8B;AAC3F,SAAO;AAAA,IACL,WAAW,YAAY;AAAA,IACvB,gBAAgB;AAAA,IAChB,iBAAiB,YAAY;AAAA,IAC7B,mBAAmB,YAAY;AAAA,IAC/B,iBAAiB,WACb,MAAM,MAAM,QAAQ,QAAQ,MAAM,kBAAkB,KAAK,CAAC,IAC1D;AAAA,IACJ,SAAS,WAAW,YAAY,kBAAkB;AAAA,EACpD;AACF;AAGO,SAAS,gBAAgB,OAA2B;AACzD,SAAO;AAAA,IACL,OAAO,MAAM,QAAQ,KAAK;AAAA,IAC1B,YAAY,MAAM,WAAW;AAAA,IAC7B,UAAU;AAAA,IACV,YAAY;AAAA,EACd;AACF;;;AHlBc,cAoCV,YApCU;AAzCd,SAAS,UAAU,OAA0B;AAC3C,SAAO,SAAS,OAAkB;AAAA,IAChC,SAAS,EAAE,WAAW,WAAY,KAAK,OAAO,EAAE;AAAA,IAChD,SAAS;AAAA,MACP,aAAa;AAAA,MACb,eAAe,WAAY,KAAK;AAAA,MAChC,cAAc,WAAY,KAAK;AAAA,MAC/B,cAAc,EAAE,OAAO,GAAG,QAAQ,EAAE;AAAA,IACtC;AAAA,EACF,CAAC;AACH;AAUA,SAAS,WAAW,EAAE,OAAO,OAAO,WAAW,OAAO,GAAiC;AACrF,QAAM,QAAQ,WAAW;AACzB,QAAM,EAAE,OAAO,IAAI,oBAAoB;AACvC,QAAM,YAAY,gBAAgB,KAAK;AAEvC,SACE,oBAAC,QAAK,OAAO,UAAU,OAAO,SAAS,YAAY,cAAc,GAAI,GAAG,QAAQ,SAAS,GACvF,8BAAC,cACE,gBAAM,IAAI,CAAC,SAAS;AACnB,UAAM,WAAW,OAAO,KAAK,KAAK,MAAM,OAAO,KAAK;AACpD,WACE;AAAA,MAAC;AAAA;AAAA,QAEC,MAAK;AAAA,QACL,iBAAe;AAAA,QACf,iBAAe,KAAK;AAAA,QACpB,UAAU,KAAK;AAAA,QACf,QAAQ,KAAK,cAAc,SAAY,UAAU,KAAK,KAAK;AAAA,QAC3D,SAAS,MAAM,OAAO,IAAI;AAAA,QAC1B,OAAO,YAAY,OAAO,UAAU,KAAK,QAAQ;AAAA,QAEjD,8BAAC,UAAO,OAAO,WAAY,eAAK,OAAM;AAAA;AAAA,MATjC,GAAG,KAAK,cAAc,gBAAgB,QAAQ,IAAI,KAAK,KAAK;AAAA,IAUnE;AAAA,EAEJ,CAAC,GACH,GACF;AAEJ;AAwBA,SAAS,cAAc,OAAwC;AAC7D,QAAM,QAAQ,WAAW;AACzB,QAAM,EAAE,QAAQ,MAAM,MAAM,UAAU,OAAO,MAAM,SAAS,SAAS,SAAS,IAAI;AAElF,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,MAAK;AAAA,MACL,UAAU,WAAW,KAAK;AAAA,MAC1B,iBAAe;AAAA,MACf,iBAAe;AAAA,MACf;AAAA,MACA,SAAS,MAAM;AAAA,MACf,OAAO,CAAC,KAAK,KAAK,OAAO,UAAU,MAAM,QAAQ,QAAQ,IAAI,IAAI,IAAI;AAAA,MACpE,GAAG,QAAQ;AAAA,QACV,iBAAiB;AAAA,QACjB,gBAAgB;AAAA,QAChB,GAAI,YAAY,SAAY,CAAC,IAAI,EAAE,mBAAmB,QAAQ;AAAA,QAC9D,GAAI,aAAa,SAAY,CAAC,IAAI,EAAE,oBAAoB,SAAS;AAAA,MACnE,CAAC;AAAA,MACA,GAAG,WAAW,MAAM,KAAK;AAAA,MAE1B;AAAA,4BAAC,UAAO,OAAO,KAAK,SAAS,eAAe,GACzC,mBACH;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,MAAM,YAAY;AAAA,YAClB,OAAO,WAAW,MAAM,QAAQ,OAAO,WAAW,MAAM,QAAQ,OAAO;AAAA,YACvE,QAAQ,GAAG,MAAM;AAAA,YACjB,OAAO;AAAA,cACL,EAAE,YAAY,KAAK,QAAQ;AAAA,cAC3B,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,YAAY,aAAa,MAAM,CAAC,EAAE,IAAI;AAAA,YAC1E;AAAA;AAAA,QACF;AAAA;AAAA;AAAA,EACF;AAEJ;AAGA,SAAS,eACP,OACA,cAC4C;AAC5C,QAAM,CAAC,KAAK,MAAM,IAAU,eAAsB,gBAAgB,EAAE;AACpE,SAAO,CAAC,SAAS,KAAK,MAAM;AAC9B;AAGA,SAAS,YAAY;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AACF,GAIsB;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,MAAM,QAAQ,QAAQ;AAAA,MAC7B,QAAQ,MAAM,OAAO;AAAA,MACrB,QAAQ,cAAc,MAAM,aAAa,QAAQ,IAAI;AAAA,MACrD;AAAA;AAAA,EACF;AAEJ;AAOA,SAAS,UAAU,OAAgB,WAAgC,MAAqC;AACtG,SAAO,CAAC,OAAO,MAAM,YAAY,OAAO,YAAY,OAAO,MAAM,OAAO,EAAE,QAAQ,MAAM,OAAO,MAAM,IAAI,IAAI;AAC/G;AAWO,IAAM,SAAe,iBAA8B,CAAC,UAAU,QAAQ;AAC3E,QAAM;AAAA,IACJ;AAAA,IAAS;AAAA,IAAS;AAAA,IAAO;AAAA,IAAY;AAAA,IAAW;AAAA,IAAM;AAAA,IAAa;AAAA,IAAO;AAAA,IAAM;AAAA,IAChF;AAAA,IAAU;AAAA,IAAO;AAAA,IAAc;AAAA,IAAU;AAAA,IAAQ;AAAA,IAAS;AAAA,IAAO,GAAG;AAAA,EACtE,IAAI,mBAAmB,QAAQ;AAE/B,QAAM,QAAQ,WAAW;AACzB,QAAM,CAAC,MAAM,OAAO,IAAU,eAAS,KAAK;AAC5C,QAAM,CAAC,SAAS,UAAU,IAAI,eAAe,OAAO,YAAY;AAChE,QAAM,UAAgB,YAAM;AAC5B,QAAM,WAAiB,YAAM;AAE7B,QAAM,QAAQ,YAAY,SAAS,WAAW;AAC9C,QAAM,MAAM,cAAc,cAAc,MAAM,CAAC;AAC/C,QAAM,QAAoB,EAAE,SAAS,QAAQ,CAAC,UAAU,OAAO,SAAS;AACxE,QAAM,OAAO,WAAW,OAAO,SAAS,MAAM,KAAK;AAEnD,QAAM,eAAe,CAAC,SAAwB;AAC5C,QAAI,SAAS,KAAM;AACnB,YAAQ,IAAI;AACZ,KAAC,OAAO,SAAS,WAAW;AAAA,EAC9B;AAEA,QAAM,YAAY,CAAC,UAA6B;AAC9C,QAAI,MAAM,QAAQ,SAAU,cAAa,KAAK;AAC9C,QAAI,MAAM,QAAQ,eAAe,MAAM,QAAQ,UAAW,cAAa,IAAI;AAAA,EAC7E;AAEA,QAAM,OAAO,CAAC,SAA2B;AACvC,iBAAa,KAAK;AAClB,QAAI,KAAK,WAAW,OAAW;AAC/B,eAAW,KAAK,KAAK;AACrB,eAAW,EAAE,QAAQ,EAAE,OAAO,KAAK,MAAM,EAAE,GAAG,KAAK,MAAM;AAAA,EAC3D;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,QAAQ,IAAI;AAAA,MACZ,OAAO,CAAC,UAAU,OAAO,WAAW,IAAI,GAAG,KAAK;AAAA,MAC/C,GAAG,mBAAmB,MAAM;AAAA,MAE5B;AAAA,gBAAQ,oBAAC,eAAY,OAAc,MAAY,QAAQ,GAAG,IAAI,OAAO,UAAU,IAAK;AAAA,QACpF,UAAU,SAAY,OACrB,oBAAC,UAAO,IAAI,SAAS,OAAO,WAAW,OAAO,gBAAgB,OAAO,GAAG,MAAM,KAAK,GAChF,iBACH;AAAA,QAEF,qBAAC,QAAK,OAAO,CAAC,OAAO,QAAQ,OAAO,EAAE,QAAQ,MAAM,OAAO,MAAM,IAAI,IAAI,GACvE;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,QAAQ,IAAI;AAAA,cACZ;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA,SAAS,aAAa,OAAO,OAAO;AAAA,cACpC,SAAS,UAAU,SAAY,SAAY;AAAA,cAC3C,UAAU,eAAe,SAAY,SAAY;AAAA,cACjD,UAAU,MAAM,aAAa,CAAC,IAAI;AAAA,cAClC,OAAO;AAAA;AAAA,UACT;AAAA,UACC,OACC,oBAAC,cAAW,OAAc,OAAO,SAAS,WAAW,IAAI,QAAQ,QAAQ,MAAM,IAC7E;AAAA,WACN;AAAA,QACC,eAAe,SAAY,OAC1B,oBAAC,UAAO,IAAI,UAAU,OAAO,YAAY,OAAO,gBAAgB,OAAO,GAAG,gBAAgB,IAAI,GAAG,KAAK,GACnG,sBACH;AAAA;AAAA;AAAA,EAEJ;AAEJ,CAAC;AAED,OAAO,cAAc;AAErB,IAAM,SAAS,WAAW,OAAO;AAAA,EAC/B,MAAM;AAAA,IACJ,UAAU;AAAA,EACZ;AAAA,EACA,QAAQ;AAAA,IACN,UAAU;AAAA,EACZ;AAAA,EACA,WAAW;AAAA,IACT,WAAW;AAAA,IACX,OAAO;AAAA,EACT;AAAA,EACA,MAAM;AAAA,IACJ,WAAW;AAAA,EACb;AACF,CAAC;","names":[]}
@@ -1,6 +1,11 @@
1
1
  import {
2
2
  withDefaults
3
3
  } from "../chunks/chunk-OXHZDFJZ.js";
4
+ import {
5
+ ABSOLUTE_INK,
6
+ ELEVATION_SHADOWS,
7
+ NEUTRAL_RAMP
8
+ } from "../chunks/chunk-ZRQHLTYG.js";
4
9
  import {
5
10
  webKeyDown
6
11
  } from "../chunks/chunk-DN73KYIZ.js";
@@ -79,7 +84,7 @@ function withoutSwitchProps(props) {
79
84
  }
80
85
 
81
86
  // src/components/form/Switch/Switch.metrics.ts
82
- var SWITCH_BLACK = "#000";
87
+ var SWITCH_BLACK = ABSOLUTE_INK.black;
83
88
  var SWITCH_SIZES = {
84
89
  xs: { width: 34, height: 18, padding: 1, thumbSize: 14 },
85
90
  sm: { width: 42, height: 22, padding: 1, thumbSize: 18 },
@@ -115,8 +120,8 @@ var thumbRadius = (look, thumbSize) => {
115
120
  };
116
121
  var THUMB_ELEVATION = { ios: 0, android: 3, material: 2, default: 2 };
117
122
  var MUI_SHADOWS = {
118
- 2: "0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12)",
119
- 3: "0px 3px 3px -2px rgba(0,0,0,0.2),0px 3px 4px 0px rgba(0,0,0,0.14),0px 1px 8px 0px rgba(0,0,0,0.12)"
123
+ 2: ELEVATION_SHADOWS[2],
124
+ 3: ELEVATION_SHADOWS[3]
120
125
  };
121
126
  var IOS_THUMB_SHADOW = `0 3px 1px 0 ${alpha(SWITCH_BLACK, 0.04)}, 0 3px 8px 0 ${alpha(SWITCH_BLACK, 0.12)}, 0 1px 0 0 ${alpha(SWITCH_BLACK, 0.08)}`;
122
127
  var TRACK_ALPHA = { ios: 0.1, android: 0.2, other: 0.3 };
@@ -159,9 +164,13 @@ var SWITCH_DESCRIPTION = { fontSize: 12, lineHeight: 1.66, marginTopUnits: 0.5 }
159
164
  var SWITCH_HELPER = { fontSize: 12, lineHeight: 1.66, marginTopUnits: 1 };
160
165
  var LABEL_GAP_UNITS = { beside: 2, stacked: 1 };
161
166
  var NEUTRAL_GREY = { main: 700, dark: 800, light: 500 };
162
- var NEUTRAL_FALLBACK = { main: "#616161", dark: "#424242", light: "#9e9e9e" };
163
- var NEUTRAL_CONTRAST = "#fff";
164
- var RESTING_THUMB = "#fff";
167
+ var NEUTRAL_FALLBACK = {
168
+ main: NEUTRAL_RAMP[NEUTRAL_GREY.main],
169
+ dark: NEUTRAL_RAMP[NEUTRAL_GREY.dark],
170
+ light: NEUTRAL_RAMP[NEUTRAL_GREY.light]
171
+ };
172
+ var NEUTRAL_CONTRAST = ABSOLUTE_INK.white;
173
+ var RESTING_THUMB = ABSOLUTE_INK.white;
165
174
  var showsTrackLabels = (variant, onText, offText) => variant === "label" && Boolean(onText ?? offText);
166
175
 
167
176
  // src/components/form/Switch/Switch.look.native.ts