@12-apps/ui 6.63.0 → 6.64.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 (843) hide show
  1. package/NATIVE.md +1 -1
  2. package/components-catalog.md +8 -0
  3. package/dist/_internal/components/data-display/Alert/Alert.js +3 -3
  4. package/dist/_internal/components/data-display/Alert/Alert.styles.js +2 -2
  5. package/dist/_internal/components/data-display/AlertDialog/AlertDialog.js +2 -2
  6. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +7 -7
  7. package/dist/_internal/components/data-display/Avatar/Avatar.js +3 -3
  8. package/dist/_internal/components/data-display/Avatar/Avatar.view.js +2 -2
  9. package/dist/_internal/components/data-display/Badge/Badge.js +5 -5
  10. package/dist/_internal/components/data-display/Badge/Badge.styles.js +3 -3
  11. package/dist/_internal/components/data-display/Badge/Badge.variants.js +2 -2
  12. package/dist/_internal/components/data-display/Badge/BadgeContent.js +4 -4
  13. package/dist/_internal/components/data-display/Banner/Banner.js +3 -3
  14. package/dist/_internal/components/data-display/Banner/Banner.styles.js +2 -2
  15. package/dist/_internal/components/data-display/CardKit/CardKebab.js +5 -5
  16. package/dist/_internal/components/data-display/CardKit/card-actions-context.js +4 -4
  17. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +12 -12
  18. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +9 -9
  19. package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +3 -3
  20. package/dist/_internal/components/data-display/Carousel/Carousel.js +5 -5
  21. package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +2 -2
  22. package/dist/_internal/components/data-display/Carousel/Carousel.slide.js +2 -2
  23. package/dist/_internal/components/data-display/Carousel/Carousel.styles.js +1 -1
  24. package/dist/_internal/components/data-display/Chart/Chart.js +5 -5
  25. package/dist/_internal/components/data-display/Chart/SpecChart.js +6 -6
  26. package/dist/_internal/components/data-display/Chart/chart-context.js +3 -3
  27. package/dist/_internal/components/data-display/Chart/chart-internals.js +2 -2
  28. package/dist/_internal/components/data-display/Chart/chart-renderers.js +4 -4
  29. package/dist/_internal/components/data-display/Chip/Chip.js +3 -3
  30. package/dist/_internal/components/data-display/Chip/Chip.styles.js +2 -2
  31. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +48 -48
  32. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +69 -69
  33. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +7 -7
  34. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +12 -12
  35. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +13 -13
  36. package/dist/_internal/components/data-display/DataViews/base-card.js +7 -7
  37. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +8 -8
  38. package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +3 -3
  39. package/dist/_internal/components/data-display/DataViews/base-list-card-layout.js +9 -9
  40. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +6 -6
  41. package/dist/_internal/components/data-display/DataViews/base-list-card.js +15 -15
  42. package/dist/_internal/components/data-display/DataViews/card-surface.js +2 -2
  43. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +12 -12
  44. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +6 -6
  45. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +9 -9
  46. package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +5 -5
  47. package/dist/_internal/components/data-display/DataViews/data-views-empty.js +4 -4
  48. package/dist/_internal/components/data-display/DataViews/data-views-export.js +4 -4
  49. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +18 -18
  50. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +11 -11
  51. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +5 -5
  52. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +43 -43
  53. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +19 -19
  54. package/dist/_internal/components/data-display/DataViews/data-views-layout-context.js +4 -4
  55. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +15 -15
  56. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +18 -18
  57. package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +3 -3
  58. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +2 -2
  59. package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +5 -5
  60. package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +4 -4
  61. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +14 -14
  62. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +22 -22
  63. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +13 -13
  64. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +4 -4
  65. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +5 -5
  66. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +9 -9
  67. package/dist/_internal/components/data-display/EmptyState/EmptyState.js +2 -2
  68. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +14 -14
  69. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +10 -10
  70. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +18 -18
  71. package/dist/_internal/components/data-display/FleetMap/FleetRoster.js +4 -4
  72. package/dist/_internal/components/data-display/HoverCard/HoverCard.js +3 -3
  73. package/dist/_internal/components/data-display/HoverCard/HoverCard.styles.js +2 -2
  74. package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.js +3 -3
  75. package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.styles.js +2 -2
  76. package/dist/_internal/components/data-display/LazyImage/LazyImage.js +4 -4
  77. package/dist/_internal/components/data-display/Lightbox/Lightbox.constants.js +2 -2
  78. package/dist/_internal/components/data-display/Lightbox/Lightbox.hooks.js +3 -3
  79. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +9 -9
  80. package/dist/_internal/components/data-display/Lightbox/LightboxControls.js +3 -3
  81. package/dist/_internal/components/data-display/Lightbox/LightboxOverlay.js +4 -4
  82. package/dist/_internal/components/data-display/Lightbox/LightboxStage.js +3 -3
  83. package/dist/_internal/components/data-display/Lightbox/LightboxThumbnails.js +3 -3
  84. package/dist/_internal/components/data-display/Lightbox/useLightbox.js +4 -4
  85. package/dist/_internal/components/data-display/LoadingState/LoadingState.js +4 -4
  86. package/dist/_internal/components/data-display/MapPreview/MapDecorations.js +3 -3
  87. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +2 -2
  88. package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +3 -3
  89. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +9 -9
  90. package/dist/_internal/components/data-display/MapPreview/MapTiles.js +3 -3
  91. package/dist/_internal/components/data-display/MapPreview/StaticMapView.js +5 -5
  92. package/dist/_internal/components/data-display/MapPreview/mapSurface.js +2 -2
  93. package/dist/_internal/components/data-display/Popover/Popover.js +2 -2
  94. package/dist/_internal/components/data-display/Progress/Progress.js +3 -3
  95. package/dist/_internal/components/data-display/Progress/Progress.styles.js +2 -2
  96. package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +5 -5
  97. package/dist/_internal/components/data-display/Sheet/Sheet.body.js +3 -3
  98. package/dist/_internal/components/data-display/Sheet/Sheet.js +5 -5
  99. package/dist/_internal/components/data-display/Sheet/Sheet.parts.js +2 -2
  100. package/dist/_internal/components/data-display/Sheet/Sheet.styles.js +2 -2
  101. package/dist/_internal/components/data-display/StatCard/StatCard.js +4 -4
  102. package/dist/_internal/components/data-display/Stepper/Stepper.js +2 -2
  103. package/dist/_internal/components/data-display/Table/Table.js +2 -2
  104. package/dist/_internal/components/data-display/Timeline/Timeline.js +3 -3
  105. package/dist/_internal/components/data-display/Timeline/TimelineRow.js +2 -2
  106. package/dist/_internal/components/data-display/TimingDiagram/TimingDiagram.js +3 -3
  107. package/dist/_internal/components/data-display/TimingDiagram/TimingDiagram.views.js +2 -2
  108. package/dist/_internal/components/data-display/Tooltip/Tooltip.js +2 -2
  109. package/dist/_internal/components/data-display/index.js +72 -72
  110. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.js +4 -4
  111. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.parts.js +3 -3
  112. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +7 -7
  113. package/dist/_internal/components/feedback/ConfirmAction/with-confirmation.js +4 -4
  114. package/dist/_internal/components/feedback/Dialog/Dialog.js +4 -4
  115. package/dist/_internal/components/feedback/Dialog/Dialog.styles.js +2 -2
  116. package/dist/_internal/components/feedback/Modal/Modal.js +3 -3
  117. package/dist/_internal/components/feedback/Modal/Modal.styles.js +2 -2
  118. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +6 -6
  119. package/dist/_internal/components/feedback/Sonner/Sonner.js +3 -3
  120. package/dist/_internal/components/feedback/Sonner/SonnerToast.js +2 -2
  121. package/dist/_internal/components/feedback/StackedModal/StackedModal.js +7 -7
  122. package/dist/_internal/components/feedback/StackedModal/StackedModal.parts.js +3 -3
  123. package/dist/_internal/components/feedback/StackedModal/StackedModal.styles.js +2 -2
  124. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +3 -3
  125. package/dist/_internal/components/feedback/TutorialOverlay/TutorialStepBody.js +2 -2
  126. package/dist/_internal/components/feedback/index.js +28 -28
  127. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +1 -1
  128. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +1 -1
  129. package/dist/_internal/components/form/Autocomplete/Autocomplete.js +2 -2
  130. package/dist/_internal/components/form/Button/Button.js +3 -3
  131. package/dist/_internal/components/form/Button/Button.styles.js +2 -2
  132. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +8 -8
  133. package/dist/_internal/components/form/CategorySelect/CategoryPanelFoot.js +3 -3
  134. package/dist/_internal/components/form/CategorySelect/CategoryPanelHead.js +3 -3
  135. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +4 -4
  136. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +3 -3
  137. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +11 -11
  138. package/dist/_internal/components/form/CategorySelect/CategorySelect.styles.js +2 -2
  139. package/dist/_internal/components/form/CategorySelect/CategoryTrigger.js +3 -3
  140. package/dist/_internal/components/form/CepField/CepField.js +4 -4
  141. package/dist/_internal/components/form/Checkbox/Checkbox.js +2 -2
  142. package/dist/_internal/components/form/CodeEditor/CodeEditor.hooks.js +3 -3
  143. package/dist/_internal/components/form/CodeEditor/CodeEditor.js +4 -4
  144. package/dist/_internal/components/form/CodeEditor/CodeEditor.monaco.js +2 -2
  145. package/dist/_internal/components/form/Command/Command.js +1 -1
  146. package/dist/_internal/components/form/Command/Command.styles.js +1 -1
  147. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +2 -2
  148. package/dist/_internal/components/form/Input/Input.js +3 -3
  149. package/dist/_internal/components/form/Input/Input.styles.js +2 -2
  150. package/dist/_internal/components/form/InputOTP/InputOTP.js +3 -3
  151. package/dist/_internal/components/form/InputOTP/InputOTP.styles.js +2 -2
  152. package/dist/_internal/components/form/Label/Label.js +1 -1
  153. package/dist/_internal/components/form/Label/Label.styles.js +1 -1
  154. package/dist/_internal/components/form/Menubar/Menubar.item.js +1 -1
  155. package/dist/_internal/components/form/Menubar/Menubar.js +1 -1
  156. package/dist/_internal/components/form/Menubar/Menubar.styles.js +1 -1
  157. package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +1 -1
  158. package/dist/_internal/components/form/NumberField/NumberField.js +4 -4
  159. package/dist/_internal/components/form/PickerSheet/PickerSheet.js +27 -0
  160. package/dist/_internal/components/form/PickerSheet/PickerSheet.js.map +1 -0
  161. package/dist/_internal/components/form/PickerSheet/PickerSheet.parts.js +25 -0
  162. package/dist/_internal/components/form/PickerSheet/PickerSheet.parts.js.map +1 -0
  163. package/dist/_internal/components/form/PickerSheet/PickerSheet.styles.js +52 -0
  164. package/dist/_internal/components/form/PickerSheet/PickerSheet.styles.js.map +1 -0
  165. package/dist/_internal/components/form/PickerSheet/PickerSheet.types.js +1 -0
  166. package/dist/_internal/components/form/PickerSheet/PickerSheet.types.js.map +1 -0
  167. package/dist/_internal/components/form/PickerSheet/picker-sheet-model.js +11 -0
  168. package/dist/_internal/components/form/PickerSheet/picker-sheet-model.js.map +1 -0
  169. package/dist/_internal/components/form/PickerSheet/usePickerSheet.js +11 -0
  170. package/dist/_internal/components/form/PickerSheet/usePickerSheet.js.map +1 -0
  171. package/dist/_internal/components/form/RadioGroup/RadioGroup.js +4 -4
  172. package/dist/_internal/components/form/RadioGroup/RadioGroup.styles.js +2 -2
  173. package/dist/_internal/components/form/RadioGroup/RadioGroup.variants.js +3 -3
  174. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +2 -2
  175. package/dist/_internal/components/form/Select/Select.js +5 -5
  176. package/dist/_internal/components/form/Select/Select.menu.js +3 -3
  177. package/dist/_internal/components/form/Select/Select.searchable.js +3 -3
  178. package/dist/_internal/components/form/Select/Select.styles.js +2 -2
  179. package/dist/_internal/components/form/Slider/Slider.js +3 -3
  180. package/dist/_internal/components/form/Slider/Slider.styles.js +2 -2
  181. package/dist/_internal/components/form/Switch/Switch.js +5 -5
  182. package/dist/_internal/components/form/Switch/Switch.parts.js +4 -4
  183. package/dist/_internal/components/form/Switch/Switch.styles.js +3 -3
  184. package/dist/_internal/components/form/Textarea/Textarea.js +3 -3
  185. package/dist/_internal/components/form/Textarea/Textarea.styles.js +2 -2
  186. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +2 -2
  187. package/dist/_internal/components/form/Toggle/Toggle.js +3 -3
  188. package/dist/_internal/components/form/Toggle/Toggle.styles.js +2 -2
  189. package/dist/_internal/components/form/ToggleGroup/ToggleGroup.js +2 -2
  190. package/dist/_internal/components/form/index.js +42 -42
  191. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +12 -12
  192. package/dist/_internal/components/form/total-form/Fields/CepField.js +5 -5
  193. package/dist/_internal/components/form/total-form/Fields/SelectField.js +6 -6
  194. package/dist/_internal/components/form/total-form/Fields/TextField.js +4 -4
  195. package/dist/_internal/components/form/total-form/Fields/ToggleField.js +3 -3
  196. package/dist/_internal/components/form/total-form/Fields/index.js +27 -27
  197. package/dist/_internal/components/form/total-form/SubmitButton.js +4 -4
  198. package/dist/_internal/components/index.js +222 -222
  199. package/dist/_internal/components/layout/Box/Box.js +1 -1
  200. package/dist/_internal/components/layout/Card/Card.js +3 -3
  201. package/dist/_internal/components/layout/Card/Card.styles.js +2 -2
  202. package/dist/_internal/components/layout/Drawer/Drawer.js +2 -2
  203. package/dist/_internal/components/layout/Screen/Screen.js +1 -1
  204. package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +5 -5
  205. package/dist/_internal/components/layout/ScrollArea/ScrollArea.styles.js +2 -2
  206. package/dist/_internal/components/layout/ScrollArea/ScrollViewport.js +3 -3
  207. package/dist/_internal/components/layout/SettingCard/SettingCard.js +10 -10
  208. package/dist/_internal/components/layout/SettingCard/SettingCard.parts.js +6 -6
  209. package/dist/_internal/components/layout/SettingCard/SettingCard.summary.js +9 -9
  210. package/dist/_internal/components/layout/SettingCard/SettingGrid.js +7 -7
  211. package/dist/_internal/components/layout/SettingCard/SettingGroup.js +15 -15
  212. package/dist/_internal/components/layout/SettingCard/SettingSwitch.js +14 -14
  213. package/dist/_internal/components/layout/SettingCard/SettingToggle.js +15 -15
  214. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +4 -4
  215. package/dist/_internal/components/layout/SettingsLayout/SettingsPanel.js +3 -3
  216. package/dist/_internal/components/layout/SettingsLayout/SettingsSectionChips.js +2 -2
  217. package/dist/_internal/components/layout/Sidebar/Sidebar.js +2 -2
  218. package/dist/_internal/components/layout/Skeleton/Skeleton.js +3 -3
  219. package/dist/_internal/components/layout/Skeleton/Skeleton.styles.js +2 -2
  220. package/dist/_internal/components/layout/Stack/Stack.js +1 -1
  221. package/dist/_internal/components/layout/index.js +49 -49
  222. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +11 -11
  223. package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +1 -1
  224. package/dist/_internal/components/navigation/Breadcrumbs/BreadcrumbEntry.js +3 -3
  225. package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.js +4 -4
  226. package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.styles.js +2 -2
  227. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +2 -2
  228. package/dist/_internal/components/navigation/ContextMenu/ContextMenu.js +2 -2
  229. package/dist/_internal/components/navigation/DropdownMenu/DropdownMenu.js +2 -2
  230. package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +4 -4
  231. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +6 -6
  232. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.shell.js +2 -2
  233. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +2 -2
  234. package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +4 -4
  235. package/dist/_internal/components/navigation/Pagination/Pagination.js +2 -2
  236. package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +10 -10
  237. package/dist/_internal/components/navigation/SectionNav/SectionNav.js +13 -13
  238. package/dist/_internal/components/navigation/SectionNav/SectionNav.parts.js +6 -6
  239. package/dist/_internal/components/navigation/SectionNav/SectionNav.primary.js +7 -7
  240. package/dist/_internal/components/navigation/SectionNav/SectionNav.rail.js +8 -8
  241. package/dist/_internal/components/navigation/SectionNav/SectionNav.railCreate.js +7 -7
  242. package/dist/_internal/components/navigation/SectionNav/SectionNav.sheet.js +8 -8
  243. package/dist/_internal/components/navigation/SectionNav/__stories__/fixtures.js +1 -1
  244. package/dist/_internal/components/navigation/index.js +40 -40
  245. package/dist/_internal/components/typography/Blockquote/Blockquote.js +2 -2
  246. package/dist/_internal/components/typography/Code/Code.js +2 -2
  247. package/dist/_internal/components/typography/Heading/Heading.js +3 -3
  248. package/dist/_internal/components/typography/Heading/Heading.styles.js +2 -2
  249. package/dist/_internal/components/typography/index.js +7 -7
  250. package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.js +3 -3
  251. package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.styles.js +2 -2
  252. package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.js +2 -2
  253. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.helpers.js +2 -2
  254. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +5 -5
  255. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +3 -3
  256. package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +4 -4
  257. package/dist/_internal/components/utility/index.js +25 -25
  258. package/dist/_internal/icons/Icon.js +1 -1
  259. package/dist/_internal/provider/UiProvider.js +1 -1
  260. package/dist/_internal/provider/mui-bridge.js +1 -1
  261. package/dist/_internal/provider/use-ui-theme.js +1 -1
  262. package/dist/_internal/social-login-button/social-login-button.js +8 -8
  263. package/dist/_internal/tokens/ink.js +3 -1
  264. package/dist/_internal/user-avatar/user-avatar.js +8 -8
  265. package/dist/charts.js +6 -6
  266. package/dist/{chunk-G4TOJF2V.js → chunk-23SIQASL.js} +2 -2
  267. package/dist/{chunk-OEMZFRLF.js → chunk-2L3VRVRE.js} +3 -3
  268. package/dist/{chunk-SJ625KN4.js → chunk-2L7GNARR.js} +2 -2
  269. package/dist/{chunk-XM2YEXGO.js → chunk-2MYSXWZQ.js} +10 -10
  270. package/dist/{chunk-73I53SCM.js → chunk-2ZHF5VE4.js} +2 -2
  271. package/dist/{chunk-CTOUHDSQ.js → chunk-33XGVCAF.js} +2 -2
  272. package/dist/{chunk-W4O3BTD5.js → chunk-364NH2NY.js} +2 -2
  273. package/dist/{chunk-GOIFPE2E.js → chunk-375HTCF2.js} +2 -2
  274. package/dist/{chunk-NXMCTYBN.js → chunk-3DFWHF6O.js} +8 -8
  275. package/dist/{chunk-H4NS5MMP.js → chunk-3DPPDGOF.js} +2 -2
  276. package/dist/{chunk-66H6O55L.js → chunk-3IYEJVVA.js} +3 -3
  277. package/dist/{chunk-JQBODXRV.js → chunk-3MQZBBUW.js} +2 -2
  278. package/dist/{chunk-XSIVM4VO.js → chunk-3PGY4UL4.js} +2 -2
  279. package/dist/{chunk-7VX3RJHJ.js → chunk-3QEUHQBB.js} +2 -2
  280. package/dist/{chunk-HC7ITMP4.js → chunk-3ROCD7XF.js} +2 -2
  281. package/dist/{chunk-M5BSVP2S.js → chunk-3ZWCKCZC.js} +3 -3
  282. package/dist/chunk-43UPEJML.js +108 -0
  283. package/dist/chunk-43UPEJML.js.map +1 -0
  284. package/dist/{chunk-LV24GROJ.js → chunk-44AXT2SN.js} +2 -2
  285. package/dist/{chunk-HN3PZTUK.js → chunk-4MKVGSHX.js} +5 -5
  286. package/dist/{chunk-CIEOLDFN.js → chunk-4YYFZ6TE.js} +2 -2
  287. package/dist/{chunk-5XFJCWPY.js → chunk-5357QUVE.js} +7 -7
  288. package/dist/{chunk-EW55ZS5W.js → chunk-5F7HYYGM.js} +3 -3
  289. package/dist/{chunk-RFQVRG6Z.js → chunk-5MHXHXDS.js} +2 -2
  290. package/dist/{chunk-AEIJSEVV.js → chunk-5UX5QAFJ.js} +2 -2
  291. package/dist/{chunk-S5OOYOEJ.js → chunk-5XOFEFWJ.js} +2 -2
  292. package/dist/{chunk-35IEACIJ.js → chunk-5YDTSJNY.js} +4 -4
  293. package/dist/{chunk-ERTXRK6S.js → chunk-642NSD7N.js} +27 -9
  294. package/dist/chunk-642NSD7N.js.map +1 -0
  295. package/dist/{chunk-5WJFCQFN.js → chunk-647DEGIU.js} +7 -7
  296. package/dist/{chunk-HMXBBWIO.js → chunk-64UNVW6D.js} +3 -3
  297. package/dist/{chunk-3WIA25YQ.js → chunk-65NYUQXD.js} +6 -6
  298. package/dist/{chunk-GLKUN3DL.js → chunk-6A6GZRXD.js} +2 -2
  299. package/dist/{chunk-EUPUEMFX.js → chunk-6DO672AG.js} +8 -8
  300. package/dist/{chunk-EMNDJ57M.js → chunk-6FDLBWTE.js} +2 -2
  301. package/dist/{chunk-QNXCCBRW.js → chunk-6QRN4JK7.js} +5 -5
  302. package/dist/{chunk-5SWYTQJ2.js → chunk-6VTOGR36.js} +2 -2
  303. package/dist/{chunk-DUYPCBI2.js → chunk-755VS7NA.js} +3 -3
  304. package/dist/{chunk-LZSR3FJX.js → chunk-75FHDUJW.js} +2 -2
  305. package/dist/{chunk-4MUKMYZA.js → chunk-75I42HHE.js} +2 -2
  306. package/dist/{chunk-NOF2FF4K.js → chunk-7CPLKAL6.js} +4 -4
  307. package/dist/{chunk-GF5VDLCC.js → chunk-7JS2SPRW.js} +4 -4
  308. package/dist/{chunk-6L4NWF2W.js → chunk-7PTE6HBW.js} +2 -2
  309. package/dist/{chunk-G26Y2CCT.js → chunk-7QRUGEGE.js} +4 -4
  310. package/dist/{chunk-ULTQIVF3.js → chunk-7VUXSNVZ.js} +2 -2
  311. package/dist/{chunk-NVXRV3PL.js → chunk-7XSCEHGA.js} +2 -2
  312. package/dist/{chunk-C622UXU6.js → chunk-AAXLQFC7.js} +3 -3
  313. package/dist/{chunk-S7AFG6R2.js → chunk-ABF64CAQ.js} +2 -2
  314. package/dist/{chunk-RREWYOKS.js → chunk-ANJAAGN3.js} +2 -2
  315. package/dist/{chunk-2X2G75MV.js → chunk-AY5GKCH7.js} +2 -2
  316. package/dist/{chunk-ZS5KKRTJ.js → chunk-AYJ44VTJ.js} +3 -3
  317. package/dist/{chunk-FJKHDKCV.js → chunk-B5CUV4ZK.js} +2 -2
  318. package/dist/{chunk-56PBNYXF.js → chunk-B7PKBFA4.js} +2 -2
  319. package/dist/{chunk-36OO423N.js → chunk-BCWL7HUO.js} +2 -2
  320. package/dist/{chunk-O23DG4VH.js → chunk-BJE3XHD4.js} +2 -2
  321. package/dist/{chunk-4PALX7AQ.js → chunk-BM3MKZL2.js} +3 -3
  322. package/dist/{chunk-5COIBRIP.js → chunk-BQNYX3VM.js} +10 -10
  323. package/dist/{chunk-3A2I73PA.js → chunk-CDYQKIBL.js} +2 -2
  324. package/dist/{chunk-RYC6ZXEF.js → chunk-CE74DKHT.js} +6 -6
  325. package/dist/{chunk-KILA7LCC.js → chunk-CFDWKQZT.js} +4 -4
  326. package/dist/{chunk-553V4OZD.js → chunk-CHGUN7OF.js} +2 -2
  327. package/dist/{chunk-VWW2EXH7.js → chunk-CJ7KAM3S.js} +6 -6
  328. package/dist/{chunk-CZV6NVCA.js → chunk-CJGSQL77.js} +4 -4
  329. package/dist/{chunk-L4Z7B7KL.js → chunk-CZVAVX5L.js} +3 -3
  330. package/dist/{chunk-YMWJ7Z5I.js → chunk-D3LH6CNW.js} +2 -2
  331. package/dist/{chunk-MJH5DWIA.js → chunk-DDYEMWOQ.js} +2 -2
  332. package/dist/{chunk-TP3XKS72.js → chunk-DQJFCVXW.js} +3 -3
  333. package/dist/{chunk-54PPITTH.js → chunk-DQKMOGYZ.js} +4 -4
  334. package/dist/{chunk-2IKWHUXG.js → chunk-DWFUT45A.js} +3 -3
  335. package/dist/{chunk-5JWCNQSI.js → chunk-E2VVEXEX.js} +2 -2
  336. package/dist/{chunk-KKWCAZM6.js → chunk-EIMFA7KP.js} +2 -2
  337. package/dist/{chunk-7AAJYWC3.js → chunk-EMHG2ZQN.js} +2 -2
  338. package/dist/{chunk-KBKRFMUR.js → chunk-EMSMJRP3.js} +2 -2
  339. package/dist/{chunk-GXTFKUA5.js → chunk-EQK3K65G.js} +2 -2
  340. package/dist/{chunk-VE7QYG3W.js → chunk-ERA3AEWU.js} +3 -3
  341. package/dist/{chunk-OYHLSFFQ.js → chunk-EWTSQTVR.js} +2 -2
  342. package/dist/{chunk-YRXFJIR5.js → chunk-EWVJJ32N.js} +2 -2
  343. package/dist/{chunk-DAUX55VX.js → chunk-EYDQV55H.js} +2 -2
  344. package/dist/{chunk-6FZ3PJXR.js → chunk-EZFQO77P.js} +2 -2
  345. package/dist/{chunk-AG4MGJPQ.js → chunk-F3Q4CMRB.js} +6 -6
  346. package/dist/{chunk-2XOL4HJU.js → chunk-FL2DRDTS.js} +4 -4
  347. package/dist/{chunk-7GWRSYUS.js → chunk-FRGNTTPA.js} +2 -2
  348. package/dist/{chunk-BKQG2V5Z.js → chunk-FT6HBP5E.js} +2 -2
  349. package/dist/{chunk-YBFDLR3C.js → chunk-FTCJPTDA.js} +5 -5
  350. package/dist/{chunk-WGG7XNQB.js → chunk-FTPTPASD.js} +2 -2
  351. package/dist/{chunk-MLLWGHIX.js → chunk-FWPQUYND.js} +2 -2
  352. package/dist/{chunk-FOSKU4AJ.js → chunk-G3JFESKD.js} +7 -7
  353. package/dist/{chunk-63D2UYRJ.js → chunk-GBVVI35T.js} +2 -2
  354. package/dist/{chunk-K65WLTRW.js → chunk-GCBWZ3MX.js} +2 -2
  355. package/dist/{chunk-F5LDJ52M.js → chunk-GGG6TDET.js} +3 -3
  356. package/dist/{chunk-DFMLD537.js → chunk-GHP5JLL3.js} +5 -5
  357. package/dist/{chunk-6FAYTKXW.js → chunk-GLBK6X5Z.js} +2 -2
  358. package/dist/{chunk-ILQVNZ5B.js → chunk-GMJBWOIU.js} +7 -7
  359. package/dist/{chunk-HM6T6EQR.js → chunk-GVEWFA3Z.js} +5 -5
  360. package/dist/{chunk-4HHCVL5D.js → chunk-GWL5FYPN.js} +4 -4
  361. package/dist/{chunk-BDQCCW4N.js → chunk-H5OVOWHY.js} +5 -4
  362. package/dist/{chunk-BDQCCW4N.js.map → chunk-H5OVOWHY.js.map} +1 -1
  363. package/dist/{chunk-YLSBEWPJ.js → chunk-H7QTDKA6.js} +2 -2
  364. package/dist/{chunk-HBP2OU4Q.js → chunk-HNFZLXZI.js} +5 -5
  365. package/dist/{chunk-7GMVDCIR.js → chunk-HPL4ONTN.js} +2 -2
  366. package/dist/{chunk-DE745AV7.js → chunk-HYQJJLBC.js} +2 -2
  367. package/dist/{chunk-ZMZUBLG3.js → chunk-HZBDTPPV.js} +2 -2
  368. package/dist/{chunk-KRT4WGV5.js → chunk-HZK4DRGF.js} +3 -3
  369. package/dist/{chunk-EMGNK2KG.js → chunk-IGPPZL7R.js} +2 -2
  370. package/dist/{chunk-D3BJRCXR.js → chunk-IPC426NS.js} +2 -2
  371. package/dist/{chunk-NHAB477Y.js → chunk-IPCRPGWU.js} +4 -4
  372. package/dist/{chunk-53ACGKBW.js → chunk-IZBQL4HZ.js} +3 -3
  373. package/dist/{chunk-3FLJ4ZWZ.js → chunk-J32XJALK.js} +2 -2
  374. package/dist/{chunk-3YKKMZ3J.js → chunk-J4AHFEEV.js} +4 -4
  375. package/dist/{chunk-3JYCS7VO.js → chunk-JG733RMP.js} +6 -6
  376. package/dist/{chunk-Y4T33THY.js → chunk-JJVIZR6C.js} +2 -2
  377. package/dist/{chunk-INZD3TMN.js → chunk-JPYNGWV4.js} +3 -3
  378. package/dist/{chunk-PAO2IWU5.js → chunk-JYAXTRNH.js} +2 -2
  379. package/dist/{chunk-XKUJIBF6.js → chunk-JZITCQKJ.js} +2 -2
  380. package/dist/{chunk-AKC5GRJF.js → chunk-KARMRTTM.js} +2 -2
  381. package/dist/{chunk-EUGF43BX.js → chunk-KLCSVYHL.js} +2 -2
  382. package/dist/{chunk-WA36P74Q.js → chunk-KUFDUXYB.js} +2 -2
  383. package/dist/{chunk-EK2345YX.js → chunk-KZXOIRUP.js} +2 -2
  384. package/dist/{chunk-P7OGKSBF.js → chunk-KZYCQH7O.js} +2 -2
  385. package/dist/{chunk-VAY6KESM.js → chunk-L4FWEI2P.js} +2 -2
  386. package/dist/{chunk-YP7SQ5DM.js → chunk-LDCHE6QS.js} +4 -4
  387. package/dist/{chunk-XOCWAQOA.js → chunk-LGCZRKED.js} +3 -3
  388. package/dist/{chunk-OV5HCGUK.js → chunk-LOLYI6PS.js} +2 -2
  389. package/dist/{chunk-SOR2KLNR.js → chunk-LTSVYILY.js} +3 -3
  390. package/dist/{chunk-AGXTIW3G.js → chunk-LVATGJZO.js} +3 -3
  391. package/dist/{chunk-UNJMMLO7.js → chunk-LVXGCXKB.js} +10 -10
  392. package/dist/{chunk-2Z6L6GD3.js → chunk-MA6SUE7F.js} +3 -3
  393. package/dist/{chunk-CM42FZSP.js → chunk-MAHY7PK3.js} +2 -2
  394. package/dist/{chunk-VLRHESS2.js → chunk-MJ6EAND6.js} +4 -4
  395. package/dist/{chunk-MUIBNHJW.js → chunk-MO52X5WW.js} +2 -2
  396. package/dist/{chunk-IK2ZVV3M.js → chunk-MQNL5UME.js} +2 -2
  397. package/dist/{chunk-UZANFXCK.js → chunk-N7KWWIF7.js} +2 -2
  398. package/dist/{chunk-QPC6UJRU.js → chunk-NKHNUTTY.js} +2 -2
  399. package/dist/{chunk-WF3P7GE5.js → chunk-NMGNKIXF.js} +3 -3
  400. package/dist/{chunk-UG5I4VXS.js → chunk-NQYC7V5N.js} +2 -2
  401. package/dist/{chunk-PFEQ7SZQ.js → chunk-NZBEE2PR.js} +3 -3
  402. package/dist/{chunk-ONRMGUCX.js → chunk-OHXAJUO5.js} +2 -2
  403. package/dist/{chunk-3AQ25I6D.js → chunk-OJFE5PK6.js} +3 -3
  404. package/dist/{chunk-SJTQW6JK.js → chunk-OPP6USJC.js} +2 -2
  405. package/dist/{chunk-AGROYLPJ.js → chunk-OQW4OERS.js} +2 -2
  406. package/dist/{chunk-TTIZUZ57.js → chunk-OR6JKOQ5.js} +2 -2
  407. package/dist/{chunk-36RYXV4R.js → chunk-OT5JBIBT.js} +3 -3
  408. package/dist/{chunk-AHBNB54V.js → chunk-OXXIGHZK.js} +2 -2
  409. package/dist/{chunk-U5NRT6JR.js → chunk-P4LR2GLN.js} +3 -3
  410. package/dist/{chunk-WSUHTLOA.js → chunk-PCM4VEPO.js} +4 -4
  411. package/dist/{chunk-JTWWRER2.js → chunk-PD7MKJCM.js} +2 -2
  412. package/dist/{chunk-5P4GWCBS.js → chunk-PEHYS7TU.js} +7 -7
  413. package/dist/{chunk-W2TCSYLI.js → chunk-PLB6WWXW.js} +2 -2
  414. package/dist/{chunk-JTIKY2D3.js → chunk-PPEHBI5O.js} +2 -2
  415. package/dist/{chunk-TJS775RX.js → chunk-PU3HEWSG.js} +2 -2
  416. package/dist/{chunk-GDT235FP.js → chunk-Q4WTVAJ5.js} +2 -2
  417. package/dist/{chunk-UN3F3K4B.js → chunk-QBY3TWV3.js} +4 -4
  418. package/dist/{chunk-OJSJ4BKM.js → chunk-QD4TM6UK.js} +2 -2
  419. package/dist/{chunk-Q5G2EC24.js → chunk-QK63RXLG.js} +4 -4
  420. package/dist/{chunk-TVMSXL3R.js → chunk-QO7UJXXO.js} +2 -2
  421. package/dist/chunk-QZOXMH7X.js +34 -0
  422. package/dist/chunk-QZOXMH7X.js.map +1 -0
  423. package/dist/{chunk-GS5EPYB4.js → chunk-R52N5UCS.js} +2 -2
  424. package/dist/{chunk-PUNSVPME.js → chunk-RDLZUV2L.js} +2 -2
  425. package/dist/{chunk-TSHX4Q6M.js → chunk-REEV7CLC.js} +3 -3
  426. package/dist/{chunk-KPCYYNQQ.js → chunk-RGR6YKK5.js} +3 -3
  427. package/dist/{chunk-PQYXHMED.js → chunk-RIAZPGHT.js} +2 -2
  428. package/dist/chunk-RLTCU57K.js +238 -0
  429. package/dist/chunk-RLTCU57K.js.map +1 -0
  430. package/dist/{chunk-46ZATLQV.js → chunk-RNLLDK5L.js} +3 -3
  431. package/dist/{chunk-GWUJIO6Z.js → chunk-RQF4NXDC.js} +2 -2
  432. package/dist/{chunk-QCTG7LIX.js → chunk-RUF7TOAZ.js} +2 -2
  433. package/dist/{chunk-SSDYEOU4.js → chunk-S4JXSC4D.js} +3 -3
  434. package/dist/{chunk-UPAFHAF4.js → chunk-S5VIN3EB.js} +6 -6
  435. package/dist/{chunk-DOROD5GQ.js → chunk-SAJDNO43.js} +3 -3
  436. package/dist/{chunk-JXAPKS5X.js → chunk-SFZHGDRH.js} +4 -4
  437. package/dist/{chunk-7PK5IENM.js → chunk-SV6IQ2YO.js} +3 -3
  438. package/dist/{chunk-CUZGBE3L.js → chunk-SYGM4SHY.js} +3 -3
  439. package/dist/{chunk-WM44LYFN.js → chunk-T3SZYWWN.js} +2 -2
  440. package/dist/{chunk-PSYX2KEQ.js → chunk-TAUCPCNN.js} +4 -4
  441. package/dist/{chunk-FIMSPRKX.js → chunk-TCWISGSS.js} +2 -2
  442. package/dist/{chunk-EP674QTM.js → chunk-TKLPPAS5.js} +5 -5
  443. package/dist/{chunk-RQ2NKSIA.js → chunk-TNVO3EVF.js} +6 -6
  444. package/dist/{chunk-6V3HKKNC.js → chunk-TTCVYY2B.js} +2 -2
  445. package/dist/{chunk-SAVNRXHT.js → chunk-TVXUOJAL.js} +2 -2
  446. package/dist/{chunk-W6WOKHAX.js → chunk-TWTGBQHF.js} +2 -2
  447. package/dist/{chunk-CM63MG6L.js → chunk-U2QV4TTZ.js} +2 -2
  448. package/dist/{chunk-T37BUWGV.js → chunk-UAFSEZ2E.js} +2 -2
  449. package/dist/{chunk-UYCFHV2S.js → chunk-UALPKKAY.js} +2 -2
  450. package/dist/{chunk-QPNKYNH2.js → chunk-UAOE3ZPC.js} +4 -4
  451. package/dist/{chunk-2FGWKMW2.js → chunk-UD4R5HMI.js} +2 -2
  452. package/dist/{chunk-PJ5HXNBG.js → chunk-ULBOCFST.js} +9 -9
  453. package/dist/{chunk-YCYGUTQX.js → chunk-UXVB423Q.js} +4 -4
  454. package/dist/{chunk-3AEYBMAM.js → chunk-V6OC2PSQ.js} +2 -2
  455. package/dist/{chunk-FLJ3RIRP.js → chunk-VEKTKCSB.js} +5 -5
  456. package/dist/{chunk-NZLOHAUV.js → chunk-VI6HYB2W.js} +2 -2
  457. package/dist/{chunk-QWW7D2PA.js → chunk-VLH3IMJG.js} +2 -2
  458. package/dist/{chunk-NM65DY2A.js → chunk-VNVV6Y2X.js} +2 -2
  459. package/dist/{chunk-RCQYCDV6.js → chunk-VPGDYI63.js} +2 -2
  460. package/dist/{chunk-NAQ2PIV5.js → chunk-VQU3CBAL.js} +2 -2
  461. package/dist/{chunk-26DSSWTT.js → chunk-VUVPEKDE.js} +2 -2
  462. package/dist/{chunk-J2QIICWP.js → chunk-W2RXXF7K.js} +2 -2
  463. package/dist/{chunk-6LUUCSFV.js → chunk-W676GY42.js} +2 -2
  464. package/dist/{chunk-WRNLEWHH.js → chunk-WDSJ6SVY.js} +2 -2
  465. package/dist/{chunk-265RW6VX.js → chunk-WJEJ65TF.js} +2 -2
  466. package/dist/{chunk-N6GBJGKW.js → chunk-WLLUARTC.js} +2 -2
  467. package/dist/{chunk-6K2A4PY5.js → chunk-WOXWLJYR.js} +2 -2
  468. package/dist/{chunk-ZH5RFT23.js → chunk-WZERH7E3.js} +2 -2
  469. package/dist/{chunk-KZOK6HWW.js → chunk-X47MWURD.js} +2 -2
  470. package/dist/{chunk-SSX5ITPM.js → chunk-XJAD6E3V.js} +3 -1
  471. package/dist/{chunk-SSX5ITPM.js.map → chunk-XJAD6E3V.js.map} +1 -1
  472. package/dist/{chunk-ZJGDD54X.js → chunk-XKSA4L2X.js} +2 -2
  473. package/dist/{chunk-AGUK7VQP.js → chunk-XMVPNCYM.js} +4 -4
  474. package/dist/{chunk-LCVBED7G.js → chunk-XZE5FIRB.js} +3 -3
  475. package/dist/{chunk-K6WY2CHG.js → chunk-XZFTRGRW.js} +2 -2
  476. package/dist/{chunk-OBKUG7BW.js → chunk-XZILNBAU.js} +6 -6
  477. package/dist/{chunk-CHBT4NAM.js → chunk-Y3LK6ZQG.js} +2 -2
  478. package/dist/{chunk-S4TMDAB4.js → chunk-Y46R26TE.js} +5 -5
  479. package/dist/{chunk-X6WC5QBY.js → chunk-Y7YKIIYS.js} +4 -4
  480. package/dist/{chunk-7X2B76RW.js → chunk-YBAK2WN5.js} +2 -2
  481. package/dist/{chunk-KYFRZX5C.js → chunk-YKKHNYEW.js} +5 -5
  482. package/dist/{chunk-64BEEFLJ.js → chunk-YLBZ3SKU.js} +10 -10
  483. package/dist/{chunk-EBSA4EYR.js → chunk-YLSSQJZM.js} +3 -3
  484. package/dist/{chunk-RG3GJTSK.js → chunk-YOEZTW4T.js} +4 -4
  485. package/dist/{chunk-7QTZJ2HY.js → chunk-YPAH2NWN.js} +2 -2
  486. package/dist/{chunk-7OXRN4UQ.js → chunk-YTDUIU7X.js} +2 -2
  487. package/dist/{chunk-VFXTHDF3.js → chunk-YULI2EBC.js} +2 -2
  488. package/dist/{chunk-E2WNRYKA.js → chunk-Z2J4MRTF.js} +2 -2
  489. package/dist/chunk-Z3DEMZ5J.js +155 -0
  490. package/dist/chunk-Z3DEMZ5J.js.map +1 -0
  491. package/dist/{chunk-MLCY7TSO.js → chunk-ZAPP32GD.js} +2 -2
  492. package/dist/{chunk-KRS2TOYN.js → chunk-ZBOGZLX3.js} +2 -2
  493. package/dist/{chunk-YWIVVKCJ.js → chunk-ZEVFMQAQ.js} +3 -3
  494. package/dist/{chunk-4UK3SCHE.js → chunk-ZFBFQK2Y.js} +2 -2
  495. package/dist/{chunk-TWWA7QPA.js → chunk-ZIHSCBMN.js} +9 -9
  496. package/dist/{chunk-H6XOWGQV.js → chunk-ZNCYCE7L.js} +2 -2
  497. package/dist/{chunk-72BVL6VF.js → chunk-ZQ6X4IOY.js} +2 -2
  498. package/dist/chunk-ZQRNCUBB.js +78 -0
  499. package/dist/chunk-ZQRNCUBB.js.map +1 -0
  500. package/dist/data-display/Alert.js +3 -3
  501. package/dist/data-display/AlertDialog.js +2 -2
  502. package/dist/data-display/AsyncStateContainer.js +7 -7
  503. package/dist/data-display/Avatar.js +3 -3
  504. package/dist/data-display/Badge.js +5 -5
  505. package/dist/data-display/Banner.js +3 -3
  506. package/dist/data-display/CardKit.js +17 -17
  507. package/dist/data-display/Carousel.js +5 -5
  508. package/dist/data-display/Chart.js +6 -6
  509. package/dist/data-display/Chip.js +3 -3
  510. package/dist/data-display/DataViews.js +80 -80
  511. package/dist/data-display/EmptyState.js +2 -2
  512. package/dist/data-display/FleetMap.js +18 -18
  513. package/dist/data-display/HoverCard.js +3 -3
  514. package/dist/data-display/InteractiveTooltip.js +3 -3
  515. package/dist/data-display/LazyImage.js +4 -4
  516. package/dist/data-display/Lightbox.js +9 -9
  517. package/dist/data-display/LoadingState.js +4 -4
  518. package/dist/data-display/MapPreview.js +9 -9
  519. package/dist/data-display/Popover.js +2 -2
  520. package/dist/data-display/Progress.js +3 -3
  521. package/dist/data-display/SectionOnboarding.js +5 -5
  522. package/dist/data-display/Sheet.js +5 -5
  523. package/dist/data-display/StatCard.js +4 -4
  524. package/dist/data-display/Stepper.js +2 -2
  525. package/dist/data-display/Table.js +2 -2
  526. package/dist/data-display/Timeline.js +3 -3
  527. package/dist/data-display/TimingDiagram.js +3 -3
  528. package/dist/data-display/Tooltip.js +2 -2
  529. package/dist/en-US.js +5 -5
  530. package/dist/feedback/ConfirmAction.js +10 -10
  531. package/dist/feedback/Dialog.js +4 -4
  532. package/dist/feedback/Modal.js +3 -3
  533. package/dist/feedback/NotificationStatusNotice.js +6 -6
  534. package/dist/feedback/Sonner.js +3 -3
  535. package/dist/feedback/StackedModal.js +7 -7
  536. package/dist/feedback/TutorialOverlay.js +3 -3
  537. package/dist/form/AddressAutocomplete.js +1 -1
  538. package/dist/form/Autocomplete.js +2 -2
  539. package/dist/form/Button.js +3 -3
  540. package/dist/form/CategorySelect.js +11 -11
  541. package/dist/form/CepField.js +4 -4
  542. package/dist/form/Checkbox.js +2 -2
  543. package/dist/form/CodeEditor.js +4 -4
  544. package/dist/form/Command.js +1 -1
  545. package/dist/form/DateRangePicker.js +2 -2
  546. package/dist/form/Input.js +3 -3
  547. package/dist/form/InputOTP.js +3 -3
  548. package/dist/form/Label.js +1 -1
  549. package/dist/form/MenuSelect.js +3 -3
  550. package/dist/form/Menubar.js +1 -1
  551. package/dist/form/NumberField.js +4 -4
  552. package/dist/form/PickerSheet.js +26 -0
  553. package/dist/form/PickerSheet.js.map +1 -0
  554. package/dist/form/RadioGroup.js +4 -4
  555. package/dist/form/RichTextEditor.js +2 -2
  556. package/dist/form/Select.js +5 -5
  557. package/dist/form/Slider.js +3 -3
  558. package/dist/form/Switch.js +5 -5
  559. package/dist/form/Textarea.js +3 -3
  560. package/dist/form/Toggle.js +3 -3
  561. package/dist/form/ToggleGroup.js +2 -2
  562. package/dist/form/total-form.js +30 -30
  563. package/dist/icons.js +1 -1
  564. package/dist/layout/Box.js +1 -1
  565. package/dist/layout/Card.js +3 -3
  566. package/dist/layout/Drawer.js +2 -2
  567. package/dist/layout/Screen.js +1 -1
  568. package/dist/layout/ScrollArea.js +5 -5
  569. package/dist/layout/SettingCard.js +21 -21
  570. package/dist/layout/SettingsLayout.js +4 -4
  571. package/dist/layout/Sidebar.js +2 -2
  572. package/dist/layout/Skeleton.js +3 -3
  573. package/dist/layout/Stack.js +1 -1
  574. package/dist/locales.js +28 -28
  575. package/dist/navigation/AppHeader.js +13 -13
  576. package/dist/navigation/Breadcrumbs.js +4 -4
  577. package/dist/navigation/CommandPalette.js +2 -2
  578. package/dist/navigation/ContextMenu.js +2 -2
  579. package/dist/navigation/DropdownMenu.js +2 -2
  580. package/dist/navigation/NavigationMenu.js +6 -6
  581. package/dist/navigation/Pagination.js +2 -2
  582. package/dist/navigation/SectionNav.js +13 -13
  583. package/dist/provider.js +1 -1
  584. package/dist/pt-BR.js +10 -10
  585. package/dist/social-login-button.js +8 -8
  586. package/dist/tokens.js +3 -1
  587. package/dist/types/components/data-display/Sheet/Sheet.d.ts.map +1 -1
  588. package/dist/types/components/data-display/Sheet/Sheet.parts.d.ts.map +1 -1
  589. package/dist/types/components/form/PickerSheet/PickerSheet.d.ts +14 -0
  590. package/dist/types/components/form/PickerSheet/PickerSheet.d.ts.map +1 -0
  591. package/dist/types/components/form/PickerSheet/PickerSheet.parts.d.ts +44 -0
  592. package/dist/types/components/form/PickerSheet/PickerSheet.parts.d.ts.map +1 -0
  593. package/dist/types/components/form/PickerSheet/PickerSheet.styles.d.ts +33 -0
  594. package/dist/types/components/form/PickerSheet/PickerSheet.styles.d.ts.map +1 -0
  595. package/dist/types/components/form/PickerSheet/PickerSheet.types.d.ts +64 -0
  596. package/dist/types/components/form/PickerSheet/PickerSheet.types.d.ts.map +1 -0
  597. package/dist/types/components/form/PickerSheet/index.d.ts +3 -0
  598. package/dist/types/components/form/PickerSheet/index.d.ts.map +1 -0
  599. package/dist/types/components/form/PickerSheet/picker-sheet-model.d.ts +19 -0
  600. package/dist/types/components/form/PickerSheet/picker-sheet-model.d.ts.map +1 -0
  601. package/dist/types/components/form/PickerSheet/usePickerSheet.d.ts +26 -0
  602. package/dist/types/components/form/PickerSheet/usePickerSheet.d.ts.map +1 -0
  603. package/dist/types/tokens/ink.d.ts +6 -0
  604. package/dist/types/tokens/ink.d.ts.map +1 -1
  605. package/dist/typography/Blockquote.js +2 -2
  606. package/dist/typography/Code.js +2 -2
  607. package/dist/typography/Heading.js +3 -3
  608. package/dist/user-avatar.js +8 -8
  609. package/dist/utility/AnimatedIcon.js +3 -3
  610. package/dist/utility/InfiniteScroll.js +2 -2
  611. package/dist/utility/WorkflowStep.js +5 -5
  612. package/package.json +5 -1
  613. package/src/components/data-display/Sheet/Sheet.md +1 -1
  614. package/src/components/data-display/Sheet/Sheet.parts.tsx +3 -2
  615. package/src/components/data-display/Sheet/Sheet.tsx +32 -8
  616. package/src/components/form/PickerSheet/PickerSheet.md +119 -0
  617. package/src/components/form/PickerSheet/PickerSheet.parts.tsx +225 -0
  618. package/src/components/form/PickerSheet/PickerSheet.styles.ts +249 -0
  619. package/src/components/form/PickerSheet/PickerSheet.tsx +132 -0
  620. package/src/components/form/PickerSheet/PickerSheet.types.ts +64 -0
  621. package/src/components/form/PickerSheet/index.ts +2 -0
  622. package/src/components/form/PickerSheet/picker-sheet-model.ts +63 -0
  623. package/src/components/form/PickerSheet/usePickerSheet.ts +122 -0
  624. package/src/tokens/ink.ts +8 -0
  625. package/dist/chunk-ERTXRK6S.js.map +0 -1
  626. /package/dist/{chunk-G4TOJF2V.js.map → chunk-23SIQASL.js.map} +0 -0
  627. /package/dist/{chunk-OEMZFRLF.js.map → chunk-2L3VRVRE.js.map} +0 -0
  628. /package/dist/{chunk-SJ625KN4.js.map → chunk-2L7GNARR.js.map} +0 -0
  629. /package/dist/{chunk-XM2YEXGO.js.map → chunk-2MYSXWZQ.js.map} +0 -0
  630. /package/dist/{chunk-73I53SCM.js.map → chunk-2ZHF5VE4.js.map} +0 -0
  631. /package/dist/{chunk-CTOUHDSQ.js.map → chunk-33XGVCAF.js.map} +0 -0
  632. /package/dist/{chunk-W4O3BTD5.js.map → chunk-364NH2NY.js.map} +0 -0
  633. /package/dist/{chunk-GOIFPE2E.js.map → chunk-375HTCF2.js.map} +0 -0
  634. /package/dist/{chunk-NXMCTYBN.js.map → chunk-3DFWHF6O.js.map} +0 -0
  635. /package/dist/{chunk-H4NS5MMP.js.map → chunk-3DPPDGOF.js.map} +0 -0
  636. /package/dist/{chunk-66H6O55L.js.map → chunk-3IYEJVVA.js.map} +0 -0
  637. /package/dist/{chunk-JQBODXRV.js.map → chunk-3MQZBBUW.js.map} +0 -0
  638. /package/dist/{chunk-XSIVM4VO.js.map → chunk-3PGY4UL4.js.map} +0 -0
  639. /package/dist/{chunk-7VX3RJHJ.js.map → chunk-3QEUHQBB.js.map} +0 -0
  640. /package/dist/{chunk-HC7ITMP4.js.map → chunk-3ROCD7XF.js.map} +0 -0
  641. /package/dist/{chunk-M5BSVP2S.js.map → chunk-3ZWCKCZC.js.map} +0 -0
  642. /package/dist/{chunk-LV24GROJ.js.map → chunk-44AXT2SN.js.map} +0 -0
  643. /package/dist/{chunk-HN3PZTUK.js.map → chunk-4MKVGSHX.js.map} +0 -0
  644. /package/dist/{chunk-CIEOLDFN.js.map → chunk-4YYFZ6TE.js.map} +0 -0
  645. /package/dist/{chunk-5XFJCWPY.js.map → chunk-5357QUVE.js.map} +0 -0
  646. /package/dist/{chunk-EW55ZS5W.js.map → chunk-5F7HYYGM.js.map} +0 -0
  647. /package/dist/{chunk-RFQVRG6Z.js.map → chunk-5MHXHXDS.js.map} +0 -0
  648. /package/dist/{chunk-AEIJSEVV.js.map → chunk-5UX5QAFJ.js.map} +0 -0
  649. /package/dist/{chunk-S5OOYOEJ.js.map → chunk-5XOFEFWJ.js.map} +0 -0
  650. /package/dist/{chunk-35IEACIJ.js.map → chunk-5YDTSJNY.js.map} +0 -0
  651. /package/dist/{chunk-5WJFCQFN.js.map → chunk-647DEGIU.js.map} +0 -0
  652. /package/dist/{chunk-HMXBBWIO.js.map → chunk-64UNVW6D.js.map} +0 -0
  653. /package/dist/{chunk-3WIA25YQ.js.map → chunk-65NYUQXD.js.map} +0 -0
  654. /package/dist/{chunk-GLKUN3DL.js.map → chunk-6A6GZRXD.js.map} +0 -0
  655. /package/dist/{chunk-EUPUEMFX.js.map → chunk-6DO672AG.js.map} +0 -0
  656. /package/dist/{chunk-EMNDJ57M.js.map → chunk-6FDLBWTE.js.map} +0 -0
  657. /package/dist/{chunk-QNXCCBRW.js.map → chunk-6QRN4JK7.js.map} +0 -0
  658. /package/dist/{chunk-5SWYTQJ2.js.map → chunk-6VTOGR36.js.map} +0 -0
  659. /package/dist/{chunk-DUYPCBI2.js.map → chunk-755VS7NA.js.map} +0 -0
  660. /package/dist/{chunk-LZSR3FJX.js.map → chunk-75FHDUJW.js.map} +0 -0
  661. /package/dist/{chunk-4MUKMYZA.js.map → chunk-75I42HHE.js.map} +0 -0
  662. /package/dist/{chunk-NOF2FF4K.js.map → chunk-7CPLKAL6.js.map} +0 -0
  663. /package/dist/{chunk-GF5VDLCC.js.map → chunk-7JS2SPRW.js.map} +0 -0
  664. /package/dist/{chunk-6L4NWF2W.js.map → chunk-7PTE6HBW.js.map} +0 -0
  665. /package/dist/{chunk-G26Y2CCT.js.map → chunk-7QRUGEGE.js.map} +0 -0
  666. /package/dist/{chunk-ULTQIVF3.js.map → chunk-7VUXSNVZ.js.map} +0 -0
  667. /package/dist/{chunk-NVXRV3PL.js.map → chunk-7XSCEHGA.js.map} +0 -0
  668. /package/dist/{chunk-C622UXU6.js.map → chunk-AAXLQFC7.js.map} +0 -0
  669. /package/dist/{chunk-S7AFG6R2.js.map → chunk-ABF64CAQ.js.map} +0 -0
  670. /package/dist/{chunk-RREWYOKS.js.map → chunk-ANJAAGN3.js.map} +0 -0
  671. /package/dist/{chunk-2X2G75MV.js.map → chunk-AY5GKCH7.js.map} +0 -0
  672. /package/dist/{chunk-ZS5KKRTJ.js.map → chunk-AYJ44VTJ.js.map} +0 -0
  673. /package/dist/{chunk-FJKHDKCV.js.map → chunk-B5CUV4ZK.js.map} +0 -0
  674. /package/dist/{chunk-56PBNYXF.js.map → chunk-B7PKBFA4.js.map} +0 -0
  675. /package/dist/{chunk-36OO423N.js.map → chunk-BCWL7HUO.js.map} +0 -0
  676. /package/dist/{chunk-O23DG4VH.js.map → chunk-BJE3XHD4.js.map} +0 -0
  677. /package/dist/{chunk-4PALX7AQ.js.map → chunk-BM3MKZL2.js.map} +0 -0
  678. /package/dist/{chunk-5COIBRIP.js.map → chunk-BQNYX3VM.js.map} +0 -0
  679. /package/dist/{chunk-3A2I73PA.js.map → chunk-CDYQKIBL.js.map} +0 -0
  680. /package/dist/{chunk-RYC6ZXEF.js.map → chunk-CE74DKHT.js.map} +0 -0
  681. /package/dist/{chunk-KILA7LCC.js.map → chunk-CFDWKQZT.js.map} +0 -0
  682. /package/dist/{chunk-553V4OZD.js.map → chunk-CHGUN7OF.js.map} +0 -0
  683. /package/dist/{chunk-VWW2EXH7.js.map → chunk-CJ7KAM3S.js.map} +0 -0
  684. /package/dist/{chunk-CZV6NVCA.js.map → chunk-CJGSQL77.js.map} +0 -0
  685. /package/dist/{chunk-L4Z7B7KL.js.map → chunk-CZVAVX5L.js.map} +0 -0
  686. /package/dist/{chunk-YMWJ7Z5I.js.map → chunk-D3LH6CNW.js.map} +0 -0
  687. /package/dist/{chunk-MJH5DWIA.js.map → chunk-DDYEMWOQ.js.map} +0 -0
  688. /package/dist/{chunk-TP3XKS72.js.map → chunk-DQJFCVXW.js.map} +0 -0
  689. /package/dist/{chunk-54PPITTH.js.map → chunk-DQKMOGYZ.js.map} +0 -0
  690. /package/dist/{chunk-2IKWHUXG.js.map → chunk-DWFUT45A.js.map} +0 -0
  691. /package/dist/{chunk-5JWCNQSI.js.map → chunk-E2VVEXEX.js.map} +0 -0
  692. /package/dist/{chunk-KKWCAZM6.js.map → chunk-EIMFA7KP.js.map} +0 -0
  693. /package/dist/{chunk-7AAJYWC3.js.map → chunk-EMHG2ZQN.js.map} +0 -0
  694. /package/dist/{chunk-KBKRFMUR.js.map → chunk-EMSMJRP3.js.map} +0 -0
  695. /package/dist/{chunk-GXTFKUA5.js.map → chunk-EQK3K65G.js.map} +0 -0
  696. /package/dist/{chunk-VE7QYG3W.js.map → chunk-ERA3AEWU.js.map} +0 -0
  697. /package/dist/{chunk-OYHLSFFQ.js.map → chunk-EWTSQTVR.js.map} +0 -0
  698. /package/dist/{chunk-YRXFJIR5.js.map → chunk-EWVJJ32N.js.map} +0 -0
  699. /package/dist/{chunk-DAUX55VX.js.map → chunk-EYDQV55H.js.map} +0 -0
  700. /package/dist/{chunk-6FZ3PJXR.js.map → chunk-EZFQO77P.js.map} +0 -0
  701. /package/dist/{chunk-AG4MGJPQ.js.map → chunk-F3Q4CMRB.js.map} +0 -0
  702. /package/dist/{chunk-2XOL4HJU.js.map → chunk-FL2DRDTS.js.map} +0 -0
  703. /package/dist/{chunk-7GWRSYUS.js.map → chunk-FRGNTTPA.js.map} +0 -0
  704. /package/dist/{chunk-BKQG2V5Z.js.map → chunk-FT6HBP5E.js.map} +0 -0
  705. /package/dist/{chunk-YBFDLR3C.js.map → chunk-FTCJPTDA.js.map} +0 -0
  706. /package/dist/{chunk-WGG7XNQB.js.map → chunk-FTPTPASD.js.map} +0 -0
  707. /package/dist/{chunk-MLLWGHIX.js.map → chunk-FWPQUYND.js.map} +0 -0
  708. /package/dist/{chunk-FOSKU4AJ.js.map → chunk-G3JFESKD.js.map} +0 -0
  709. /package/dist/{chunk-63D2UYRJ.js.map → chunk-GBVVI35T.js.map} +0 -0
  710. /package/dist/{chunk-K65WLTRW.js.map → chunk-GCBWZ3MX.js.map} +0 -0
  711. /package/dist/{chunk-F5LDJ52M.js.map → chunk-GGG6TDET.js.map} +0 -0
  712. /package/dist/{chunk-DFMLD537.js.map → chunk-GHP5JLL3.js.map} +0 -0
  713. /package/dist/{chunk-6FAYTKXW.js.map → chunk-GLBK6X5Z.js.map} +0 -0
  714. /package/dist/{chunk-ILQVNZ5B.js.map → chunk-GMJBWOIU.js.map} +0 -0
  715. /package/dist/{chunk-HM6T6EQR.js.map → chunk-GVEWFA3Z.js.map} +0 -0
  716. /package/dist/{chunk-4HHCVL5D.js.map → chunk-GWL5FYPN.js.map} +0 -0
  717. /package/dist/{chunk-YLSBEWPJ.js.map → chunk-H7QTDKA6.js.map} +0 -0
  718. /package/dist/{chunk-HBP2OU4Q.js.map → chunk-HNFZLXZI.js.map} +0 -0
  719. /package/dist/{chunk-7GMVDCIR.js.map → chunk-HPL4ONTN.js.map} +0 -0
  720. /package/dist/{chunk-DE745AV7.js.map → chunk-HYQJJLBC.js.map} +0 -0
  721. /package/dist/{chunk-ZMZUBLG3.js.map → chunk-HZBDTPPV.js.map} +0 -0
  722. /package/dist/{chunk-KRT4WGV5.js.map → chunk-HZK4DRGF.js.map} +0 -0
  723. /package/dist/{chunk-EMGNK2KG.js.map → chunk-IGPPZL7R.js.map} +0 -0
  724. /package/dist/{chunk-D3BJRCXR.js.map → chunk-IPC426NS.js.map} +0 -0
  725. /package/dist/{chunk-NHAB477Y.js.map → chunk-IPCRPGWU.js.map} +0 -0
  726. /package/dist/{chunk-53ACGKBW.js.map → chunk-IZBQL4HZ.js.map} +0 -0
  727. /package/dist/{chunk-3FLJ4ZWZ.js.map → chunk-J32XJALK.js.map} +0 -0
  728. /package/dist/{chunk-3YKKMZ3J.js.map → chunk-J4AHFEEV.js.map} +0 -0
  729. /package/dist/{chunk-3JYCS7VO.js.map → chunk-JG733RMP.js.map} +0 -0
  730. /package/dist/{chunk-Y4T33THY.js.map → chunk-JJVIZR6C.js.map} +0 -0
  731. /package/dist/{chunk-INZD3TMN.js.map → chunk-JPYNGWV4.js.map} +0 -0
  732. /package/dist/{chunk-PAO2IWU5.js.map → chunk-JYAXTRNH.js.map} +0 -0
  733. /package/dist/{chunk-XKUJIBF6.js.map → chunk-JZITCQKJ.js.map} +0 -0
  734. /package/dist/{chunk-AKC5GRJF.js.map → chunk-KARMRTTM.js.map} +0 -0
  735. /package/dist/{chunk-EUGF43BX.js.map → chunk-KLCSVYHL.js.map} +0 -0
  736. /package/dist/{chunk-WA36P74Q.js.map → chunk-KUFDUXYB.js.map} +0 -0
  737. /package/dist/{chunk-EK2345YX.js.map → chunk-KZXOIRUP.js.map} +0 -0
  738. /package/dist/{chunk-P7OGKSBF.js.map → chunk-KZYCQH7O.js.map} +0 -0
  739. /package/dist/{chunk-VAY6KESM.js.map → chunk-L4FWEI2P.js.map} +0 -0
  740. /package/dist/{chunk-YP7SQ5DM.js.map → chunk-LDCHE6QS.js.map} +0 -0
  741. /package/dist/{chunk-XOCWAQOA.js.map → chunk-LGCZRKED.js.map} +0 -0
  742. /package/dist/{chunk-OV5HCGUK.js.map → chunk-LOLYI6PS.js.map} +0 -0
  743. /package/dist/{chunk-SOR2KLNR.js.map → chunk-LTSVYILY.js.map} +0 -0
  744. /package/dist/{chunk-AGXTIW3G.js.map → chunk-LVATGJZO.js.map} +0 -0
  745. /package/dist/{chunk-UNJMMLO7.js.map → chunk-LVXGCXKB.js.map} +0 -0
  746. /package/dist/{chunk-2Z6L6GD3.js.map → chunk-MA6SUE7F.js.map} +0 -0
  747. /package/dist/{chunk-CM42FZSP.js.map → chunk-MAHY7PK3.js.map} +0 -0
  748. /package/dist/{chunk-VLRHESS2.js.map → chunk-MJ6EAND6.js.map} +0 -0
  749. /package/dist/{chunk-MUIBNHJW.js.map → chunk-MO52X5WW.js.map} +0 -0
  750. /package/dist/{chunk-IK2ZVV3M.js.map → chunk-MQNL5UME.js.map} +0 -0
  751. /package/dist/{chunk-UZANFXCK.js.map → chunk-N7KWWIF7.js.map} +0 -0
  752. /package/dist/{chunk-QPC6UJRU.js.map → chunk-NKHNUTTY.js.map} +0 -0
  753. /package/dist/{chunk-WF3P7GE5.js.map → chunk-NMGNKIXF.js.map} +0 -0
  754. /package/dist/{chunk-UG5I4VXS.js.map → chunk-NQYC7V5N.js.map} +0 -0
  755. /package/dist/{chunk-PFEQ7SZQ.js.map → chunk-NZBEE2PR.js.map} +0 -0
  756. /package/dist/{chunk-ONRMGUCX.js.map → chunk-OHXAJUO5.js.map} +0 -0
  757. /package/dist/{chunk-3AQ25I6D.js.map → chunk-OJFE5PK6.js.map} +0 -0
  758. /package/dist/{chunk-SJTQW6JK.js.map → chunk-OPP6USJC.js.map} +0 -0
  759. /package/dist/{chunk-AGROYLPJ.js.map → chunk-OQW4OERS.js.map} +0 -0
  760. /package/dist/{chunk-TTIZUZ57.js.map → chunk-OR6JKOQ5.js.map} +0 -0
  761. /package/dist/{chunk-36RYXV4R.js.map → chunk-OT5JBIBT.js.map} +0 -0
  762. /package/dist/{chunk-AHBNB54V.js.map → chunk-OXXIGHZK.js.map} +0 -0
  763. /package/dist/{chunk-U5NRT6JR.js.map → chunk-P4LR2GLN.js.map} +0 -0
  764. /package/dist/{chunk-WSUHTLOA.js.map → chunk-PCM4VEPO.js.map} +0 -0
  765. /package/dist/{chunk-JTWWRER2.js.map → chunk-PD7MKJCM.js.map} +0 -0
  766. /package/dist/{chunk-5P4GWCBS.js.map → chunk-PEHYS7TU.js.map} +0 -0
  767. /package/dist/{chunk-W2TCSYLI.js.map → chunk-PLB6WWXW.js.map} +0 -0
  768. /package/dist/{chunk-JTIKY2D3.js.map → chunk-PPEHBI5O.js.map} +0 -0
  769. /package/dist/{chunk-TJS775RX.js.map → chunk-PU3HEWSG.js.map} +0 -0
  770. /package/dist/{chunk-GDT235FP.js.map → chunk-Q4WTVAJ5.js.map} +0 -0
  771. /package/dist/{chunk-UN3F3K4B.js.map → chunk-QBY3TWV3.js.map} +0 -0
  772. /package/dist/{chunk-OJSJ4BKM.js.map → chunk-QD4TM6UK.js.map} +0 -0
  773. /package/dist/{chunk-Q5G2EC24.js.map → chunk-QK63RXLG.js.map} +0 -0
  774. /package/dist/{chunk-TVMSXL3R.js.map → chunk-QO7UJXXO.js.map} +0 -0
  775. /package/dist/{chunk-GS5EPYB4.js.map → chunk-R52N5UCS.js.map} +0 -0
  776. /package/dist/{chunk-PUNSVPME.js.map → chunk-RDLZUV2L.js.map} +0 -0
  777. /package/dist/{chunk-TSHX4Q6M.js.map → chunk-REEV7CLC.js.map} +0 -0
  778. /package/dist/{chunk-KPCYYNQQ.js.map → chunk-RGR6YKK5.js.map} +0 -0
  779. /package/dist/{chunk-PQYXHMED.js.map → chunk-RIAZPGHT.js.map} +0 -0
  780. /package/dist/{chunk-46ZATLQV.js.map → chunk-RNLLDK5L.js.map} +0 -0
  781. /package/dist/{chunk-GWUJIO6Z.js.map → chunk-RQF4NXDC.js.map} +0 -0
  782. /package/dist/{chunk-QCTG7LIX.js.map → chunk-RUF7TOAZ.js.map} +0 -0
  783. /package/dist/{chunk-SSDYEOU4.js.map → chunk-S4JXSC4D.js.map} +0 -0
  784. /package/dist/{chunk-UPAFHAF4.js.map → chunk-S5VIN3EB.js.map} +0 -0
  785. /package/dist/{chunk-DOROD5GQ.js.map → chunk-SAJDNO43.js.map} +0 -0
  786. /package/dist/{chunk-JXAPKS5X.js.map → chunk-SFZHGDRH.js.map} +0 -0
  787. /package/dist/{chunk-7PK5IENM.js.map → chunk-SV6IQ2YO.js.map} +0 -0
  788. /package/dist/{chunk-CUZGBE3L.js.map → chunk-SYGM4SHY.js.map} +0 -0
  789. /package/dist/{chunk-WM44LYFN.js.map → chunk-T3SZYWWN.js.map} +0 -0
  790. /package/dist/{chunk-PSYX2KEQ.js.map → chunk-TAUCPCNN.js.map} +0 -0
  791. /package/dist/{chunk-FIMSPRKX.js.map → chunk-TCWISGSS.js.map} +0 -0
  792. /package/dist/{chunk-EP674QTM.js.map → chunk-TKLPPAS5.js.map} +0 -0
  793. /package/dist/{chunk-RQ2NKSIA.js.map → chunk-TNVO3EVF.js.map} +0 -0
  794. /package/dist/{chunk-6V3HKKNC.js.map → chunk-TTCVYY2B.js.map} +0 -0
  795. /package/dist/{chunk-SAVNRXHT.js.map → chunk-TVXUOJAL.js.map} +0 -0
  796. /package/dist/{chunk-W6WOKHAX.js.map → chunk-TWTGBQHF.js.map} +0 -0
  797. /package/dist/{chunk-CM63MG6L.js.map → chunk-U2QV4TTZ.js.map} +0 -0
  798. /package/dist/{chunk-T37BUWGV.js.map → chunk-UAFSEZ2E.js.map} +0 -0
  799. /package/dist/{chunk-UYCFHV2S.js.map → chunk-UALPKKAY.js.map} +0 -0
  800. /package/dist/{chunk-QPNKYNH2.js.map → chunk-UAOE3ZPC.js.map} +0 -0
  801. /package/dist/{chunk-2FGWKMW2.js.map → chunk-UD4R5HMI.js.map} +0 -0
  802. /package/dist/{chunk-PJ5HXNBG.js.map → chunk-ULBOCFST.js.map} +0 -0
  803. /package/dist/{chunk-YCYGUTQX.js.map → chunk-UXVB423Q.js.map} +0 -0
  804. /package/dist/{chunk-3AEYBMAM.js.map → chunk-V6OC2PSQ.js.map} +0 -0
  805. /package/dist/{chunk-FLJ3RIRP.js.map → chunk-VEKTKCSB.js.map} +0 -0
  806. /package/dist/{chunk-NZLOHAUV.js.map → chunk-VI6HYB2W.js.map} +0 -0
  807. /package/dist/{chunk-QWW7D2PA.js.map → chunk-VLH3IMJG.js.map} +0 -0
  808. /package/dist/{chunk-NM65DY2A.js.map → chunk-VNVV6Y2X.js.map} +0 -0
  809. /package/dist/{chunk-RCQYCDV6.js.map → chunk-VPGDYI63.js.map} +0 -0
  810. /package/dist/{chunk-NAQ2PIV5.js.map → chunk-VQU3CBAL.js.map} +0 -0
  811. /package/dist/{chunk-26DSSWTT.js.map → chunk-VUVPEKDE.js.map} +0 -0
  812. /package/dist/{chunk-J2QIICWP.js.map → chunk-W2RXXF7K.js.map} +0 -0
  813. /package/dist/{chunk-6LUUCSFV.js.map → chunk-W676GY42.js.map} +0 -0
  814. /package/dist/{chunk-WRNLEWHH.js.map → chunk-WDSJ6SVY.js.map} +0 -0
  815. /package/dist/{chunk-265RW6VX.js.map → chunk-WJEJ65TF.js.map} +0 -0
  816. /package/dist/{chunk-N6GBJGKW.js.map → chunk-WLLUARTC.js.map} +0 -0
  817. /package/dist/{chunk-6K2A4PY5.js.map → chunk-WOXWLJYR.js.map} +0 -0
  818. /package/dist/{chunk-ZH5RFT23.js.map → chunk-WZERH7E3.js.map} +0 -0
  819. /package/dist/{chunk-KZOK6HWW.js.map → chunk-X47MWURD.js.map} +0 -0
  820. /package/dist/{chunk-ZJGDD54X.js.map → chunk-XKSA4L2X.js.map} +0 -0
  821. /package/dist/{chunk-AGUK7VQP.js.map → chunk-XMVPNCYM.js.map} +0 -0
  822. /package/dist/{chunk-LCVBED7G.js.map → chunk-XZE5FIRB.js.map} +0 -0
  823. /package/dist/{chunk-K6WY2CHG.js.map → chunk-XZFTRGRW.js.map} +0 -0
  824. /package/dist/{chunk-OBKUG7BW.js.map → chunk-XZILNBAU.js.map} +0 -0
  825. /package/dist/{chunk-CHBT4NAM.js.map → chunk-Y3LK6ZQG.js.map} +0 -0
  826. /package/dist/{chunk-S4TMDAB4.js.map → chunk-Y46R26TE.js.map} +0 -0
  827. /package/dist/{chunk-X6WC5QBY.js.map → chunk-Y7YKIIYS.js.map} +0 -0
  828. /package/dist/{chunk-7X2B76RW.js.map → chunk-YBAK2WN5.js.map} +0 -0
  829. /package/dist/{chunk-KYFRZX5C.js.map → chunk-YKKHNYEW.js.map} +0 -0
  830. /package/dist/{chunk-64BEEFLJ.js.map → chunk-YLBZ3SKU.js.map} +0 -0
  831. /package/dist/{chunk-EBSA4EYR.js.map → chunk-YLSSQJZM.js.map} +0 -0
  832. /package/dist/{chunk-RG3GJTSK.js.map → chunk-YOEZTW4T.js.map} +0 -0
  833. /package/dist/{chunk-7QTZJ2HY.js.map → chunk-YPAH2NWN.js.map} +0 -0
  834. /package/dist/{chunk-7OXRN4UQ.js.map → chunk-YTDUIU7X.js.map} +0 -0
  835. /package/dist/{chunk-VFXTHDF3.js.map → chunk-YULI2EBC.js.map} +0 -0
  836. /package/dist/{chunk-E2WNRYKA.js.map → chunk-Z2J4MRTF.js.map} +0 -0
  837. /package/dist/{chunk-MLCY7TSO.js.map → chunk-ZAPP32GD.js.map} +0 -0
  838. /package/dist/{chunk-KRS2TOYN.js.map → chunk-ZBOGZLX3.js.map} +0 -0
  839. /package/dist/{chunk-YWIVVKCJ.js.map → chunk-ZEVFMQAQ.js.map} +0 -0
  840. /package/dist/{chunk-4UK3SCHE.js.map → chunk-ZFBFQK2Y.js.map} +0 -0
  841. /package/dist/{chunk-TWWA7QPA.js.map → chunk-ZIHSCBMN.js.map} +0 -0
  842. /package/dist/{chunk-H6XOWGQV.js.map → chunk-ZNCYCE7L.js.map} +0 -0
  843. /package/dist/{chunk-72BVL6VF.js.map → chunk-ZQ6X4IOY.js.map} +0 -0
@@ -0,0 +1,249 @@
1
+ import { alpha, type CSSObject, type Theme } from '@mui/material/styles/index.js';
2
+
3
+ import { fieldBorder, fieldHeight } from '../../../tokens/field-height';
4
+ import { fieldRadiusPx } from '../../../tokens/field-radius';
5
+ import { fieldWell, uiInk } from '../../../tokens/ink';
6
+ import { rem, rems } from '../../../tokens/relative';
7
+
8
+ /**
9
+ * The prototype's measurements, verbatim, in the design's px.
10
+ *
11
+ * Each is drawn through `rem()` where it is read, so the sheet follows a
12
+ * density mode the way every other surface in the package does. Colours come
13
+ * from the palette (a white-labelled tenant and dark mode carry through).
14
+ */
15
+ const METRICS = {
16
+ dialogWidthPx: 520,
17
+ dialogMaxHeightPx: 780,
18
+ dialogRadiusPx: 14,
19
+ /** The gap a centred dialog keeps from the viewport edge. */
20
+ dialogMarginPx: 32,
21
+ sheetRadiusPx: 16,
22
+ headGapPx: 10,
23
+ closeButtonPx: 36,
24
+ controlRadiusPx: 8,
25
+ bodyPaddingPx: 16,
26
+ bodyGapPx: 12,
27
+ listMaxHeightPx: 380,
28
+ listGapPx: 2,
29
+ rowPaddingPx: 10,
30
+ rowMinHeightPx: 44,
31
+ /** Left padding per level of `indent` (`.pitem.ind{padding-left:28px}` at depth 1). */
32
+ rowIndentStepPx: 28,
33
+ checkGlyphPx: 16,
34
+ closeGlyphPx: 18,
35
+ searchGlyphPx: 16,
36
+ /** The magnifier's inset from the field's inner edge, and the gap before the text. */
37
+ searchGlyphInsetPx: 10,
38
+ searchGlyphGapPx: 6,
39
+ /** The prototype's body line-height; the sheet sets it rather than inheriting a host's. */
40
+ lineHeight: 1.4,
41
+ } as const;
42
+
43
+ /** The panel's shadow: `0 16px 48px` of ink at 0.28. */
44
+ const panelShadow = (theme: Theme): string =>
45
+ `${rems(theme, 0, 16, 48)} ${alpha(uiInk(theme).panelShadowInk, 0.28)}`;
46
+
47
+ /** The centred dialog's paper, on a pointer. */
48
+ export const dialogPaperSx = (theme: Theme): CSSObject => ({
49
+ width: rem(theme, METRICS.dialogWidthPx),
50
+ maxWidth: `calc(100% - ${rem(theme, METRICS.dialogMarginPx)})`,
51
+ maxHeight: `min(${rem(theme, METRICS.dialogMaxHeightPx)}, calc(100% - ${rem(theme, METRICS.dialogMarginPx * 2)}))`,
52
+ margin: 0,
53
+ borderRadius: rem(theme, METRICS.dialogRadiusPx),
54
+ boxShadow: panelShadow(theme),
55
+ background: theme.palette.background.paper,
56
+ backgroundImage: 'none',
57
+ display: 'flex',
58
+ flexDirection: 'column',
59
+ overflow: 'hidden',
60
+ });
61
+
62
+ /** The bottom sheet's paper, on a phone: full width, no grab handle. */
63
+ export const sheetPaperSx = (theme: Theme): CSSObject => ({
64
+ width: '100%',
65
+ maxHeight: '88%',
66
+ borderRadius: rems(theme, METRICS.sheetRadiusPx, METRICS.sheetRadiusPx, 0, 0),
67
+ boxShadow: panelShadow(theme),
68
+ background: theme.palette.background.paper,
69
+ backgroundImage: 'none',
70
+ display: 'flex',
71
+ flexDirection: 'column',
72
+ overflow: 'hidden',
73
+ });
74
+
75
+ /** `.sh` — kicker and title on the left, the close button on the right. */
76
+ export const headSx = (theme: Theme): CSSObject => ({
77
+ display: 'flex',
78
+ alignItems: 'center',
79
+ gap: rem(theme, METRICS.headGapPx),
80
+ padding: rems(theme, 14, 16),
81
+ // A shade under the controls' own border: the rule separates, it does not frame.
82
+ borderBottom: `1px solid ${alpha(theme.palette.divider, 0.6)}`,
83
+ flex: '0 0 auto',
84
+ });
85
+
86
+ export const kickerSx = (theme: Theme): CSSObject => ({
87
+ fontSize: rem(theme, 11.5),
88
+ color: theme.palette.text.secondary,
89
+ lineHeight: METRICS.lineHeight,
90
+ });
91
+
92
+ export const titleSx = (theme: Theme): CSSObject => ({
93
+ margin: 0,
94
+ fontSize: rem(theme, 14),
95
+ fontWeight: 700,
96
+ lineHeight: METRICS.lineHeight,
97
+ color: theme.palette.text.primary,
98
+ });
99
+
100
+ export const closeButtonSx = (theme: Theme): CSSObject => ({
101
+ flex: '0 0 auto',
102
+ width: rem(theme, METRICS.closeButtonPx),
103
+ height: rem(theme, METRICS.closeButtonPx),
104
+ display: 'grid',
105
+ placeItems: 'center',
106
+ padding: 0,
107
+ border: `1px solid ${theme.palette.divider}`,
108
+ borderRadius: rem(theme, METRICS.controlRadiusPx),
109
+ background: 'transparent',
110
+ color: theme.palette.text.primary,
111
+ cursor: 'pointer',
112
+ '& svg': { width: rem(theme, METRICS.closeGlyphPx), height: rem(theme, METRICS.closeGlyphPx) },
113
+ '&:hover': { background: theme.palette.action.hover },
114
+ '&:focus-visible': { outline: `${rem(theme, 2)} solid ${theme.palette.primary.main}`, outlineOffset: rem(theme, 1) },
115
+ });
116
+
117
+ /** `.sb` — the scrolling body: search, list, foot. */
118
+ export const bodySx = (theme: Theme): CSSObject => ({
119
+ display: 'flex',
120
+ flexDirection: 'column',
121
+ gap: rem(theme, METRICS.bodyGapPx),
122
+ padding: rem(theme, METRICS.bodyPaddingPx),
123
+ overflow: 'auto',
124
+ minHeight: 0,
125
+ flex: '1 1 auto',
126
+ });
127
+
128
+ /**
129
+ * The search field: the library's field height, border and corner, with a
130
+ * leading magnifier. White on the light sheet, so the field reads as a field
131
+ * against the paper behind it.
132
+ */
133
+ export const searchFieldSx = (theme: Theme): CSSObject => ({
134
+ position: 'relative',
135
+ display: 'flex',
136
+ alignItems: 'center',
137
+ flex: '0 0 auto',
138
+ '& > svg': {
139
+ position: 'absolute',
140
+ // + 1 for the input's own border, which the glyph sits inside of.
141
+ left: rem(theme, METRICS.searchGlyphInsetPx + 1),
142
+ width: rem(theme, METRICS.searchGlyphPx),
143
+ height: rem(theme, METRICS.searchGlyphPx),
144
+ color: theme.palette.text.secondary,
145
+ pointerEvents: 'none',
146
+ zIndex: 1,
147
+ },
148
+ '& input': {
149
+ width: '100%',
150
+ height: fieldHeight(theme),
151
+ boxSizing: 'border-box',
152
+ padding: rems(theme, 0, 10, 0, METRICS.searchGlyphInsetPx + METRICS.searchGlyphPx + METRICS.searchGlyphGapPx),
153
+ fontSize: rem(theme, 14),
154
+ border: fieldBorder(theme),
155
+ borderRadius: fieldRadiusPx(theme),
156
+ background: fieldWell(theme),
157
+ color: theme.palette.text.primary,
158
+ '&:focus': {
159
+ outline: 'none',
160
+ borderColor: theme.palette.primary.main,
161
+ boxShadow: `0 0 0 ${rem(theme, 3)} ${alpha(theme.palette.primary.main, 0.15)}`,
162
+ },
163
+ },
164
+ });
165
+
166
+ /** The list: a column, scrolling on its own past 380px. */
167
+ export const listSx = (theme: Theme): CSSObject => ({
168
+ display: 'flex',
169
+ flexDirection: 'column',
170
+ gap: rem(theme, METRICS.listGapPx),
171
+ maxHeight: rem(theme, METRICS.listMaxHeightPx),
172
+ overflow: 'auto',
173
+ overscrollBehavior: 'contain',
174
+ margin: 0,
175
+ padding: 0,
176
+ listStyle: 'none',
177
+ flex: '0 1 auto',
178
+ });
179
+
180
+ /** Left padding for a row at `depth` — the row's own 10px at depth 0, 28px per level below it. */
181
+ export const rowPaddingLeft = (theme: Theme, depth: number): string =>
182
+ rem(theme, depth > 0 ? METRICS.rowIndentStepPx * depth : METRICS.rowPaddingPx);
183
+
184
+ /** Background of a row: selected wins over the keyboard cursor, which wins over rest. */
185
+ function rowBackground(theme: Theme, selected: boolean, active: boolean): string {
186
+ if (selected) return alpha(theme.palette.primary.main, 0.1);
187
+ return active ? theme.palette.action.hover : 'transparent';
188
+ }
189
+
190
+ /** `.pitem` — a row. `active` is the keyboard cursor, drawn as a ring so it reads apart from `selected`. */
191
+ export const rowSx = (theme: Theme, selected: boolean, active: boolean): CSSObject => ({
192
+ display: 'flex',
193
+ alignItems: 'center',
194
+ gap: rem(theme, 10),
195
+ padding: rem(theme, METRICS.rowPaddingPx),
196
+ minHeight: rem(theme, METRICS.rowMinHeightPx),
197
+ boxSizing: 'border-box',
198
+ borderRadius: rem(theme, METRICS.controlRadiusPx),
199
+ textAlign: 'left',
200
+ cursor: 'pointer',
201
+ userSelect: 'none',
202
+ color: theme.palette.text.primary,
203
+ background: rowBackground(theme, selected, active),
204
+ boxShadow: active ? `inset 0 0 0 ${rem(theme, 1)} ${alpha(theme.palette.primary.main, 0.3)}` : 'none',
205
+ '&:hover': { background: selected ? alpha(theme.palette.primary.main, 0.1) : theme.palette.action.hover },
206
+ });
207
+
208
+ export const rowTextSx: CSSObject = { flex: '1 1 auto', minWidth: 0 };
209
+
210
+ export const rowLabelSx = (theme: Theme): CSSObject => ({
211
+ display: 'block',
212
+ fontSize: rem(theme, 14),
213
+ lineHeight: METRICS.lineHeight,
214
+ });
215
+
216
+ export const rowMetaSx = (theme: Theme): CSSObject => ({
217
+ display: 'block',
218
+ fontSize: rem(theme, 12),
219
+ lineHeight: METRICS.lineHeight,
220
+ color: theme.palette.text.secondary,
221
+ });
222
+
223
+ export const checkSx = (theme: Theme): CSSObject => ({
224
+ flex: '0 0 auto',
225
+ display: 'grid',
226
+ color: theme.palette.primary.main,
227
+ '& svg': { width: rem(theme, METRICS.checkGlyphPx), height: rem(theme, METRICS.checkGlyphPx) },
228
+ });
229
+
230
+ /** The create row's text: the accent, at 600. */
231
+ export const createLabelSx = (theme: Theme): CSSObject => ({
232
+ ...rowLabelSx(theme),
233
+ color: theme.palette.primary.main,
234
+ fontWeight: 600,
235
+ });
236
+
237
+ export const emptySx = (theme: Theme): CSSObject => ({
238
+ fontSize: rem(theme, 12),
239
+ lineHeight: METRICS.lineHeight,
240
+ color: theme.palette.text.secondary,
241
+ padding: rem(theme, 10),
242
+ });
243
+
244
+ export const footSx = (theme: Theme): CSSObject => ({
245
+ margin: 0,
246
+ fontSize: rem(theme, 12),
247
+ lineHeight: METRICS.lineHeight,
248
+ color: theme.palette.text.secondary,
249
+ });
@@ -0,0 +1,132 @@
1
+ 'use client';
2
+
3
+ import { useId } from 'react';
4
+ import Box from '@mui/material/Box/index.js';
5
+ import Dialog from '@mui/material/Dialog/index.js';
6
+ import Drawer from '@mui/material/Drawer/index.js';
7
+ import { useTheme } from '@mui/material/styles/index.js';
8
+ import useMediaQuery from '@mui/material/useMediaQuery/index.js';
9
+
10
+ import { METRICS as CATEGORY_SELECT_METRICS } from '../CategorySelect/CategorySelect.styles';
11
+ import { stackedOverlayZIndex } from '../../../tokens/layers';
12
+ import { PickerSheetHead, PickerSheetList, PickerSheetSearch } from './PickerSheet.parts';
13
+ import { bodySx, dialogPaperSx, footSx, sheetPaperSx } from './PickerSheet.styles';
14
+ import type { PickerSheetProps } from './PickerSheet.types';
15
+ import { usePickerSheet } from './usePickerSheet';
16
+
17
+ /**
18
+ * Both surfaces clear the sheet ladder rather than taking MUI's default — the
19
+ * same rule as `CategoryPanelSurface`. A `Dialog` sits at `zIndex.modal` and a
20
+ * temporary `Drawer` a step lower, while `StackedModal` puts its second panel
21
+ * at 1310: a picker opened from a stacked editor painted UNDER it (FUT-806).
22
+ * See `tokens/layers`.
23
+ */
24
+ const ABOVE_SHEETS = { zIndex: stackedOverlayZIndex } as const;
25
+
26
+ interface SurfaceProps {
27
+ open: boolean;
28
+ /** True below the sheet breakpoint — a bottom sheet instead of a centred dialog. */
29
+ sheet: boolean;
30
+ onClose: () => void;
31
+ titleId: string;
32
+ dataTestId: string;
33
+ children: React.ReactNode;
34
+ }
35
+
36
+ /**
37
+ * Where the sheet lives. Both surfaces are modal, which gives Esc, the
38
+ * tap-outside dismissal and focus containment for free.
39
+ */
40
+ function PickerSheetSurface({ open, sheet, onClose, titleId, dataTestId, children }: SurfaceProps): React.JSX.Element {
41
+ const close = (): void => onClose();
42
+ if (sheet) {
43
+ // A Drawer's paper carries no dialog semantics of its own, so it is given them.
44
+ const paper = {
45
+ sx: sheetPaperSx,
46
+ role: 'dialog',
47
+ 'aria-modal': true,
48
+ 'aria-labelledby': titleId,
49
+ 'data-testid': dataTestId,
50
+ };
51
+ return (
52
+ <Drawer anchor="bottom" open={open} onClose={close} sx={ABOVE_SHEETS} slotProps={{ paper }}>
53
+ {children}
54
+ </Drawer>
55
+ );
56
+ }
57
+ const paper = { sx: dialogPaperSx, 'data-testid': dataTestId };
58
+ return (
59
+ <Dialog open={open} onClose={close} aria-labelledby={titleId} sx={ABOVE_SHEETS} slotProps={{ paper }}>
60
+ {children}
61
+ </Dialog>
62
+ );
63
+ }
64
+
65
+ /**
66
+ * A searchable pick-or-create sheet: a title, a search box, a list of rows
67
+ * (optionally a tree), and a create row when the query names nothing yet.
68
+ *
69
+ * A centred dialog on a pointer and a bottom sheet under `CategorySelect`'s
70
+ * sheet breakpoint. Typing filters (case-insensitive substring over each
71
+ * item's label and `searchText`, accents aside) and flattens the tree; ↑↓ move
72
+ * the cursor, Enter picks,
73
+ * Esc or a tap outside closes. Picking calls `onPick` and nothing else — the
74
+ * caller decides when to close. All copy comes from the caller.
75
+ */
76
+ export function PickerSheet(props: PickerSheetProps): React.JSX.Element {
77
+ const { open, onClose, kicker, title, searchPlaceholder, searchLabel, closeLabel, createLabel, createMeta, emptyText, foot } =
78
+ props;
79
+ const dataTestId = props.dataTestId ?? 'picker-sheet';
80
+ const theme = useTheme();
81
+ const sheet = useMediaQuery(theme.breakpoints.down(CATEGORY_SELECT_METRICS.sheetBreakpoint));
82
+ const baseId = useId();
83
+ const titleId = `${baseId}-title`;
84
+ const listId = `${baseId}-list`;
85
+ const rowId = (index: number): string => `${baseId}-row-${index}`;
86
+ const state = usePickerSheet(props);
87
+
88
+ return (
89
+ <PickerSheetSurface open={open} sheet={sheet} onClose={onClose} titleId={titleId} dataTestId={dataTestId}>
90
+ <PickerSheetHead
91
+ kicker={kicker}
92
+ title={title}
93
+ titleId={titleId}
94
+ closeLabel={closeLabel}
95
+ onClose={onClose}
96
+ dataTestId={dataTestId}
97
+ />
98
+ <Box sx={bodySx}>
99
+ <PickerSheetSearch
100
+ query={state.query}
101
+ placeholder={searchPlaceholder}
102
+ label={searchLabel}
103
+ listId={listId}
104
+ activeId={state.activeIndex >= 0 ? rowId(state.activeIndex) : undefined}
105
+ expanded={state.view.rowCount > 0}
106
+ inputRef={state.searchInputRef}
107
+ onQueryChange={state.setQuery}
108
+ onKeyDown={state.onSearchKeyDown}
109
+ dataTestId={dataTestId}
110
+ />
111
+ <PickerSheetList
112
+ view={state.view}
113
+ activeIndex={state.activeIndex}
114
+ cursorShown={state.cursorShown}
115
+ listId={listId}
116
+ rowId={rowId}
117
+ listRef={state.listRef}
118
+ createLabel={createLabel}
119
+ createMeta={createMeta}
120
+ emptyText={emptyText}
121
+ onChoose={state.choose}
122
+ dataTestId={dataTestId}
123
+ />
124
+ {foot ? (
125
+ <Box component="p" sx={footSx} data-testid={`${dataTestId}-foot`}>
126
+ {foot}
127
+ </Box>
128
+ ) : null}
129
+ </Box>
130
+ </PickerSheetSurface>
131
+ );
132
+ }
@@ -0,0 +1,64 @@
1
+ /** One row of a {@link PickerSheetProps} list. */
2
+ export interface PickerSheetItem {
3
+ /** Stable identity; what `onPick` receives. */
4
+ id: string;
5
+ /** The row's first line. */
6
+ label: string;
7
+ /** Second line, muted — a category's path, a price, a unit. */
8
+ meta?: string;
9
+ /**
10
+ * Tree depth, 0..n, drawn as left padding steps. Applies only while the query
11
+ * is empty: a search flattens the tree, and `meta` carries the path instead.
12
+ */
13
+ indent?: number;
14
+ /** The current value: a tinted row with a check mark at the right. */
15
+ selected?: boolean;
16
+ /**
17
+ * More text the query matches, beside the label (which always matches) —
18
+ * a path, synonyms. Defaults to `meta`.
19
+ */
20
+ searchText?: string;
21
+ /** A row that is not a thing to find ("None"): shown with an empty query only. */
22
+ hideWhileSearching?: boolean;
23
+ }
24
+
25
+ /**
26
+ * A searchable pick-or-create sheet. Every word it shows comes from the caller —
27
+ * the component ships no copy of its own.
28
+ */
29
+ export interface PickerSheetProps {
30
+ open: boolean;
31
+ /** Esc, a tap outside and the close button. Picking does NOT call it; the caller closes. */
32
+ onClose: () => void;
33
+ /** Small muted line above the title. */
34
+ kicker?: string;
35
+ /** The dialog's name (`aria-labelledby`). */
36
+ title: string;
37
+ searchPlaceholder: string;
38
+ /** The search input's accessible name. */
39
+ searchLabel: string;
40
+ /** The close button's accessible name. */
41
+ closeLabel: string;
42
+ items: PickerSheetItem[];
43
+ /** Called with the picked item's id, and nothing else happens. */
44
+ onPick: (id: string) => void;
45
+ /**
46
+ * The create row's text. The row is offered last when the trimmed query
47
+ * matches no item LABEL exactly (case and accents aside), and only when `onCreate`
48
+ * is given too.
49
+ */
50
+ createLabel?: (query: string) => string;
51
+ /** A muted second line under the create row — what creating does ("Opens the quick form"). */
52
+ createMeta?: (query: string) => string;
53
+ /** Called with the trimmed query when the create row is chosen. */
54
+ onCreate?: (query: string) => void;
55
+ /** Shown instead of the list when nothing matches and there is no create row. */
56
+ emptyText?: (query: string) => string;
57
+ /** The note under the list. */
58
+ foot?: string;
59
+ /**
60
+ * Base test id (default `picker-sheet`). Sub-elements get `${id}-search`,
61
+ * `${id}-item-${item.id}`, `${id}-create`, `${id}-close`.
62
+ */
63
+ dataTestId?: string;
64
+ }
@@ -0,0 +1,2 @@
1
+ export { PickerSheet } from './PickerSheet';
2
+ export type { PickerSheetItem, PickerSheetProps } from './PickerSheet.types';
@@ -0,0 +1,63 @@
1
+ import { foldText } from '../CategorySelect/category-tree';
2
+ import type { PickerSheetItem } from './PickerSheet.types';
3
+
4
+ /** What the list shows for a query: the matching items, and whether a create row follows them. */
5
+ export interface PickerSheetView {
6
+ /** The trimmed query. */
7
+ query: string;
8
+ items: PickerSheetItem[];
9
+ /** True when the create row is offered as the last row. */
10
+ canCreate: boolean;
11
+ /** Rows the keyboard cursor walks: every matching item, plus the create row. */
12
+ rowCount: number;
13
+ }
14
+
15
+ /**
16
+ * The text an item is matched on, folded: its label always, then its
17
+ * `searchText` (or its meta line). The label is never left out, so a row whose
18
+ * label IS the query is always on screen — the create row it suppresses would
19
+ * otherwise leave the list empty.
20
+ */
21
+ function haystack(item: PickerSheetItem): string {
22
+ return foldText(`${item.label} ${item.searchText ?? item.meta ?? ''}`);
23
+ }
24
+
25
+ /**
26
+ * Substring match, case and accents aside: "acai" finds "Açaí", as it does in
27
+ * `CategorySelect` — a hurried phone keyboard drops the accent, and a search
28
+ * that then finds nothing offers to create a duplicate. An empty query keeps
29
+ * everything but nothing hides.
30
+ */
31
+ function filterPickerItems(items: PickerSheetItem[], query: string): PickerSheetItem[] {
32
+ const needle = foldText(query.trim());
33
+ if (!needle) return items;
34
+ return items.filter((item) => !item.hideWhileSearching && haystack(item).includes(needle));
35
+ }
36
+
37
+ /** True when some item's LABEL is the query, case and accents aside — creating it would duplicate it. */
38
+ function hasExactLabel(items: PickerSheetItem[], query: string): boolean {
39
+ const needle = foldText(query.trim());
40
+ return items.some((item) => foldText(item.label.trim()) === needle);
41
+ }
42
+
43
+ /** The list for a query, and whether it ends in a create row. */
44
+ export function pickerSheetView(
45
+ items: PickerSheetItem[],
46
+ rawQuery: string,
47
+ creatable: boolean,
48
+ ): PickerSheetView {
49
+ const query = rawQuery.trim();
50
+ const matches = filterPickerItems(items, query);
51
+ const canCreate = creatable && query.length > 0 && !hasExactLabel(items, query);
52
+ return { query, items: matches, canCreate, rowCount: matches.length + (canCreate ? 1 : 0) };
53
+ }
54
+
55
+ /**
56
+ * The keyboard cursor after an arrow key — the `Command` model: it wraps at
57
+ * both ends, and from "no row" Down lands on the first row and Up on the last.
58
+ */
59
+ export function stepActiveIndex(current: number, delta: 1 | -1, rowCount: number): number {
60
+ if (rowCount === 0) return -1;
61
+ if (current < 0) return delta > 0 ? 0 : rowCount - 1;
62
+ return (current + delta + rowCount) % rowCount;
63
+ }
@@ -0,0 +1,122 @@
1
+ 'use client';
2
+
3
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
+
5
+ import { pickerSheetView, stepActiveIndex, type PickerSheetView } from './picker-sheet-model';
6
+ import type { PickerSheetProps } from './PickerSheet.types';
7
+
8
+ /** Everything the sheet's parts read: the query, the derived list, the cursor and the handlers. */
9
+ interface PickerSheetState {
10
+ query: string;
11
+ view: PickerSheetView;
12
+ /** The keyboard cursor, an index into `view` (items, then the create row); -1 for none. Always a row that exists. */
13
+ activeIndex: number;
14
+ /** Draw the cursor: only once an arrow key has moved it, never from typing alone. */
15
+ cursorShown: boolean;
16
+ searchInputRef: React.RefObject<HTMLInputElement | null>;
17
+ listRef: React.RefObject<HTMLUListElement | null>;
18
+ setQuery: (next: string) => void;
19
+ /** Pick the row at `index` — an item, or the create row when it is the last one. */
20
+ choose: (index: number) => void;
21
+ onSearchKeyDown: (event: React.KeyboardEvent) => void;
22
+ }
23
+
24
+ type HookProps = Pick<PickerSheetProps, 'open' | 'items' | 'onPick' | 'onCreate' | 'createLabel'>;
25
+
26
+ /**
27
+ * Bring the selected row into view on open, and keep the keyboard cursor in view.
28
+ *
29
+ * Nothing inside is focused on open — the modal focuses its own paper. Focusing
30
+ * the search box raised a phone's keyboard over the list it was opened to show.
31
+ * Deferred a frame: the surface mounts its content in the same commit as this
32
+ * effect.
33
+ */
34
+ function useSheetScroll(
35
+ open: boolean,
36
+ activeIndex: number,
37
+ listRef: React.RefObject<HTMLUListElement | null>,
38
+ ): void {
39
+ useEffect(() => {
40
+ if (!open) return undefined;
41
+ const frame = requestAnimationFrame(() => {
42
+ listRef.current?.querySelector('[aria-selected="true"]')?.scrollIntoView?.({ block: 'nearest' });
43
+ });
44
+ return () => cancelAnimationFrame(frame);
45
+ }, [open, listRef]);
46
+
47
+ useEffect(() => {
48
+ if (activeIndex < 0) return;
49
+ const rows = listRef.current?.querySelectorAll('[role="option"]');
50
+ rows?.[activeIndex]?.scrollIntoView?.({ block: 'nearest' });
51
+ }, [activeIndex, listRef]);
52
+ }
53
+
54
+ /**
55
+ * The sheet's state. The query resets every time the sheet opens; typing puts
56
+ * the cursor on the first match, so "type, then Enter" picks it (or creates,
57
+ * when the create row is all there is).
58
+ */
59
+ export function usePickerSheet({ open, items, onPick, onCreate, createLabel }: HookProps): PickerSheetState {
60
+ const [query, setRawQuery] = useState('');
61
+ const [rawActiveIndex, setActiveIndex] = useState(-1);
62
+ const [cursorShown, setCursorShown] = useState(false);
63
+ const searchInputRef = useRef<HTMLInputElement | null>(null);
64
+ const listRef = useRef<HTMLUListElement | null>(null);
65
+
66
+ // Reset while rendering the frame that opens the sheet, not in an effect
67
+ // after it — an effect would paint the last session's query for one frame.
68
+ const [wasOpen, setWasOpen] = useState(open);
69
+ if (open !== wasOpen) {
70
+ setWasOpen(open);
71
+ if (open) {
72
+ setRawQuery('');
73
+ setActiveIndex(-1);
74
+ setCursorShown(false);
75
+ }
76
+ }
77
+
78
+ const creatable = Boolean(onCreate && createLabel);
79
+ const view = useMemo(() => pickerSheetView(items, query, creatable), [items, query, creatable]);
80
+ // Clamped on read: the rows can shrink under the cursor (a query, new items),
81
+ // and `aria-activedescendant` must never name a row that is not there.
82
+ const activeIndex = rawActiveIndex < view.rowCount ? rawActiveIndex : -1;
83
+
84
+ useSheetScroll(open, activeIndex, listRef);
85
+
86
+ const setQuery = useCallback((next: string) => {
87
+ setRawQuery(next);
88
+ setActiveIndex(next.trim() ? 0 : -1);
89
+ }, []);
90
+
91
+ const choose = useCallback(
92
+ (index: number) => {
93
+ const item = view.items[index];
94
+ if (item) {
95
+ onPick(item.id);
96
+ return;
97
+ }
98
+ if (view.canCreate && index === view.items.length) onCreate?.(view.query);
99
+ },
100
+ [view, onPick, onCreate],
101
+ );
102
+
103
+ const onSearchKeyDown = useCallback(
104
+ (event: React.KeyboardEvent) => {
105
+ if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {
106
+ event.preventDefault();
107
+ const delta = event.key === 'ArrowDown' ? 1 : -1;
108
+ setActiveIndex(stepActiveIndex(activeIndex, delta, view.rowCount));
109
+ setCursorShown(true);
110
+ return;
111
+ }
112
+ if (event.key === 'Enter' && activeIndex >= 0) {
113
+ event.preventDefault();
114
+ choose(activeIndex);
115
+ }
116
+ // Escape is the modal's: it closes through `onClose`, once.
117
+ },
118
+ [view.rowCount, activeIndex, choose],
119
+ );
120
+
121
+ return { query, view, activeIndex, cursorShown, searchInputRef, listRef, setQuery, choose, onSearchKeyDown };
122
+ }
package/src/tokens/ink.ts CHANGED
@@ -114,6 +114,14 @@ export const absoluteInk = (theme: Theme): { black: string; white: string } => (
114
114
  export const modeInk = (theme: Theme): string =>
115
115
  theme.palette.mode === 'dark' ? theme.palette.common.white : theme.palette.common.black;
116
116
 
117
+ /**
118
+ * The well of a field that sits on a tinted panel: white in light mode, so the
119
+ * field reads as a field against the paper around it; the paper itself in dark
120
+ * mode, where white would glare.
121
+ */
122
+ export const fieldWell = (theme: Theme): string =>
123
+ theme.palette.mode === 'dark' ? theme.palette.background.paper : theme.palette.common.white;
124
+
117
125
  /* ── Neutral tones over the grey ramp ─────────────────────────────────────── */
118
126
 
119
127
  const step = (theme: Theme, n: keyof typeof NEUTRAL_RAMP): string => theme.palette.grey[n] ?? NEUTRAL_RAMP[n];
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/Sheet/Sheet.tsx"],"sourcesContent":["import Drawer from '@mui/material/Drawer/index.js';\nimport SwipeableDrawer from '@mui/material/SwipeableDrawer/index.js';\nimport { useTheme } from '@mui/material/styles/index.js';\nimport type { BackdropProps } from '@mui/material/Backdrop/index.js';\nimport React from 'react';\n\nimport { withDefaults } from '../../../utils/withDefaults';\n\nimport {\n DEFAULT_DRAG_RESISTANCE,\n DEFAULT_VELOCITY_THRESHOLD,\n SPRING_CONFIG,\n} from './Sheet.animations';\nimport { SheetBody } from './Sheet.body';\nimport { useSheetDrag, useSheetOpen } from './Sheet.hooks';\nimport { SheetOverlay } from './Sheet.parts';\nimport { panelSx } from './Sheet.styles';\nimport type { SheetProps } from './Sheet.types';\n\nexport { SheetContent, SheetFooter, SheetHeader, SheetOverlay } from './Sheet.parts';\n\nconst DEFAULTS = {\n open: false,\n position: 'bottom',\n variant: 'default',\n size: 'md',\n color: 'primary',\n glow: false,\n pulse: false,\n glass: false,\n gradient: false,\n loading: false,\n disabled: false,\n showOverlay: true,\n closeOnOverlayClick: true,\n closeOnEscape: true,\n showCloseButton: true,\n showHandle: true,\n swipeable: true,\n snapPoints: [0.25, 0.5, 0.75, 1],\n defaultSnapPoint: 0.5,\n minSnapPoint: 0,\n maxSnapPoint: 1,\n velocityThreshold: DEFAULT_VELOCITY_THRESHOLD,\n dragResistance: DEFAULT_DRAG_RESISTANCE,\n animationConfig: SPRING_CONFIG,\n persistent: false,\n fullHeight: false,\n rounded: true,\n elevation: 16,\n dataTestId: 'sheet',\n} satisfies Partial<SheetProps>;\n\n/**\n * The props with every defaulted key now guaranteed present. Without this the\n * component would need a `?? fallback` at each use site, and each of those is a\n * branch the complexity gate counts.\n */\ntype ResolvedSheetProps = SheetProps & Required<Pick<SheetProps, keyof typeof DEFAULTS>>;\n\n/**\n * The drawer supplies its own backdrop, which would sit on top of `SheetOverlay`\n * and swallow its click. Rendering nothing in its place leaves this component's\n * overlay — the one that knows about the `glass` blur — as the only one.\n *\n * Defined at module scope: a component built inside a render is a new type on\n * every pass, which remounts the subtree it belongs to.\n */\nconst NoBackdrop = React.forwardRef<HTMLDivElement, BackdropProps>(\n (_props, _ref) => null,\n) as React.ComponentType<BackdropProps>;\nNoBackdrop.displayName = 'NoBackdrop';\n\n/**\n * Which way the sheet is anchored. Four flags rather than four repeated\n * comparisons, and the only thing the hooks and styles need to know about\n * `position` and `variant`.\n */\nconst orientationOf = ({ position, variant }: ResolvedSheetProps) => {\n const isBottomSheet = position === 'bottom';\n const isTopSheet = position === 'top';\n\n return {\n isBottomSheet,\n isTopSheet,\n isVerticalSheet: isBottomSheet || isTopSheet,\n isDraggableVariant: variant === 'draggable',\n };\n};\n\nexport const Sheet: React.FC<SheetProps> = (props) => {\n const resolved = withDefaults(props, DEFAULTS) as ResolvedSheetProps;\n const { position, variant, showOverlay, swipeable, className, dataTestId } = resolved;\n\n const theme = useTheme();\n const orientation = orientationOf(resolved);\n\n // Support both the dataTestId prop and a plain data-testid attribute.\n const testId = (resolved as { 'data-testid'?: string })['data-testid'] || dataTestId;\n\n const { sheetRef, currentHeight, isDragging, isAnimating, handleDragStart, resetToDefaultSnapPoint } =\n useSheetDrag({ ...resolved, ...orientation });\n\n const { isOpen, handleClose, handleOverlayClick, handleSwipeOpen } = useSheetOpen({\n ...resolved,\n ...orientation,\n resetToDefaultSnapPoint,\n });\n\n const drawerProps = {\n anchor: position,\n open: isOpen,\n className,\n onClose: handleClose,\n PaperProps: {\n ref: sheetRef,\n sx: panelSx({ ...resolved, ...orientation, theme, currentHeight, isDragging, isAnimating }),\n },\n ModalProps: { keepMounted: true, BackdropComponent: NoBackdrop },\n };\n\n const body = (\n <SheetBody\n {...resolved}\n {...orientation}\n testId={testId}\n isDragging={isDragging}\n onClose={handleClose}\n onDragStart={handleDragStart}\n />\n );\n\n // The draggable variant drives the panel's height itself; MUI's swipe handling\n // would be a second thing moving it.\n const isSwipeable = swipeable && !orientation.isDraggableVariant;\n\n return (\n <>\n {showOverlay && isOpen && (\n <SheetOverlay open={isOpen} onClick={handleOverlayClick} blur={variant === 'glass'} />\n )}\n\n {isSwipeable ? (\n <SwipeableDrawer\n {...drawerProps}\n onOpen={handleSwipeOpen}\n disableSwipeToOpen={false}\n swipeAreaWidth={20}\n >\n {body}\n </SwipeableDrawer>\n ) : (\n <Drawer {...drawerProps}>{body}</Drawer>\n )}\n </>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,YAAY;AACnB,OAAO,qBAAqB;AAC5B,SAAS,gBAAgB;AAEzB,OAAO,WAAW;AAsHd,SAeA,UAfA,KAeA,YAfA;AArGJ,IAAM,WAAW;AAAA,EACf,MAAM;AAAA,EACN,UAAU;AAAA,EACV,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA,EACP,UAAU;AAAA,EACV,SAAS;AAAA,EACT,UAAU;AAAA,EACV,aAAa;AAAA,EACb,qBAAqB;AAAA,EACrB,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,YAAY,CAAC,MAAM,KAAK,MAAM,CAAC;AAAA,EAC/B,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,WAAW;AAAA,EACX,YAAY;AACd;AAiBA,IAAM,aAAa,MAAM;AAAA,EACvB,CAAC,QAAQ,SAAS;AACpB;AACA,WAAW,cAAc;AAOzB,IAAM,gBAAgB,CAAC,EAAE,UAAU,QAAQ,MAA0B;AACnE,QAAM,gBAAgB,aAAa;AACnC,QAAM,aAAa,aAAa;AAEhC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,iBAAiB,iBAAiB;AAAA,IAClC,oBAAoB,YAAY;AAAA,EAClC;AACF;AAEO,IAAM,QAA8B,CAAC,UAAU;AACpD,QAAM,WAAW,aAAa,OAAO,QAAQ;AAC7C,QAAM,EAAE,UAAU,SAAS,aAAa,WAAW,WAAW,WAAW,IAAI;AAE7E,QAAM,QAAQ,SAAS;AACvB,QAAM,cAAc,cAAc,QAAQ;AAG1C,QAAM,SAAU,SAAwC,aAAa,KAAK;AAE1E,QAAM,EAAE,UAAU,eAAe,YAAY,aAAa,iBAAiB,wBAAwB,IACjG,aAAa,EAAE,GAAG,UAAU,GAAG,YAAY,CAAC;AAE9C,QAAM,EAAE,QAAQ,aAAa,oBAAoB,gBAAgB,IAAI,aAAa;AAAA,IAChF,GAAG;AAAA,IACH,GAAG;AAAA,IACH;AAAA,EACF,CAAC;AAED,QAAM,cAAc;AAAA,IAClB,QAAQ;AAAA,IACR,MAAM;AAAA,IACN;AAAA,IACA,SAAS;AAAA,IACT,YAAY;AAAA,MACV,KAAK;AAAA,MACL,IAAI,QAAQ,EAAE,GAAG,UAAU,GAAG,aAAa,OAAO,eAAe,YAAY,YAAY,CAAC;AAAA,IAC5F;AAAA,IACA,YAAY,EAAE,aAAa,MAAM,mBAAmB,WAAW;AAAA,EACjE;AAEA,QAAM,OACJ;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACH,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MACA,SAAS;AAAA,MACT,aAAa;AAAA;AAAA,EACf;AAKF,QAAM,cAAc,aAAa,CAAC,YAAY;AAE9C,SACE,iCACG;AAAA,mBAAe,UACd,oBAAC,gBAAa,MAAM,QAAQ,SAAS,oBAAoB,MAAM,YAAY,SAAS;AAAA,IAGrF,cACC;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,QAAQ;AAAA,QACR,oBAAoB;AAAA,QACpB,gBAAgB;AAAA,QAEf;AAAA;AAAA,IACH,IAEA,oBAAC,UAAQ,GAAG,aAAc,gBAAK;AAAA,KAEnC;AAEJ;","names":[]}