@12-apps/ui 6.36.0 → 6.38.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 (1103) hide show
  1. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +4 -4
  2. package/dist/_internal/components/data-display/CardKit/CardKebab.js +4 -4
  3. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +3 -3
  4. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +3 -3
  5. package/dist/_internal/components/data-display/DataViews/DataViewsBoard.js +2 -2
  6. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +58 -58
  7. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +73 -74
  8. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +6 -7
  9. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +7 -8
  10. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +13 -14
  11. package/dist/_internal/components/data-display/DataViews/base-card.js +5 -6
  12. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +9 -9
  13. package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +2 -2
  14. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +8 -8
  15. package/dist/_internal/components/data-display/DataViews/base-list-card.js +14 -15
  16. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +18 -18
  17. package/dist/_internal/components/data-display/DataViews/data-views-columns-tab.js +2 -2
  18. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +5 -5
  19. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +11 -11
  20. package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +6 -6
  21. package/dist/_internal/components/data-display/DataViews/data-views-empty.js +4 -4
  22. package/dist/_internal/components/data-display/DataViews/data-views-export.js +4 -4
  23. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +24 -24
  24. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +13 -13
  25. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +4 -4
  26. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +55 -55
  27. package/dist/_internal/components/data-display/DataViews/data-views-header-row.js +2 -2
  28. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +26 -26
  29. package/dist/_internal/components/data-display/DataViews/data-views-layout-context.js +4 -4
  30. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +11 -11
  31. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +14 -14
  32. package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +4 -4
  33. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +2 -2
  34. package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +5 -5
  35. package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +4 -4
  36. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +23 -23
  37. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +23 -24
  38. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +22 -22
  39. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +4 -4
  40. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +5 -5
  41. package/dist/_internal/components/data-display/DataViews/save-view-preview.js +2 -2
  42. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +6 -6
  43. package/dist/_internal/components/data-display/DescriptionItem/DescriptionItem.js +2 -2
  44. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +4 -4
  45. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +6 -6
  46. package/dist/_internal/components/data-display/FleetMap/FleetRoster.js +3 -3
  47. package/dist/_internal/components/data-display/LazyImage/LazyImage.js +3 -3
  48. package/dist/_internal/components/data-display/LoadingState/LoadingState.js +3 -3
  49. package/dist/_internal/components/data-display/StatCard/StatCard.js +3 -3
  50. package/dist/_internal/components/data-display/index.js +12 -12
  51. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +3 -3
  52. package/dist/_internal/components/feedback/Dialog/Dialog.js +3 -3
  53. package/dist/_internal/components/feedback/Dialog/Dialog.styles.js +2 -2
  54. package/dist/_internal/components/feedback/Modal/Modal.js +3 -2
  55. package/dist/_internal/components/feedback/Modal/Modal.styles.js +2 -1
  56. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +3 -3
  57. package/dist/_internal/components/feedback/Sonner/Sonner.js +2 -2
  58. package/dist/_internal/components/feedback/Sonner/SonnerToast.js +1 -1
  59. package/dist/_internal/components/feedback/StackedModal/StackedModal.js +4 -3
  60. package/dist/_internal/components/feedback/StackedModal/StackedModal.parts.js +3 -2
  61. package/dist/_internal/components/feedback/StackedModal/StackedModal.styles.js +2 -1
  62. package/dist/_internal/components/feedback/Toast/Toast.js +2 -1
  63. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.geometry.js +1 -1
  64. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.hooks.js +3 -2
  65. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +5 -4
  66. package/dist/_internal/components/feedback/TutorialOverlay/TutorialStepBody.js +2 -1
  67. package/dist/_internal/components/feedback/index.js +18 -19
  68. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +6 -6
  69. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +4 -4
  70. package/dist/_internal/components/form/AddressAutocomplete/AddressFallbackField.js +3 -2
  71. package/dist/_internal/components/form/AddressAutocomplete/AddressInputField.js +3 -2
  72. package/dist/_internal/components/form/AddressAutocomplete/AddressSuggestionsPaper.js +2 -1
  73. package/dist/_internal/components/form/AddressAutocomplete/AddressTextField.js +2 -1
  74. package/dist/_internal/components/form/Autocomplete/Autocomplete.js +3 -2
  75. package/dist/_internal/components/form/Autocomplete/Autocomplete.parts.js +2 -1
  76. package/dist/_internal/components/form/Button/Button.js +2 -2
  77. package/dist/_internal/components/form/Button/Button.styles.js +1 -1
  78. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +6 -6
  79. package/dist/_internal/components/form/CategorySelect/CategoryPanelFoot.js +2 -2
  80. package/dist/_internal/components/form/CategorySelect/CategoryPanelHead.js +2 -2
  81. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +3 -3
  82. package/dist/_internal/components/form/CategorySelect/CategoryPanelSurface.js +2 -1
  83. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +2 -2
  84. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +10 -10
  85. package/dist/_internal/components/form/CategorySelect/CategorySelect.styles.js +1 -1
  86. package/dist/_internal/components/form/CategorySelect/CategoryTrigger.js +2 -2
  87. package/dist/_internal/components/form/CepField/CepField.js +4 -4
  88. package/dist/_internal/components/form/Checkbox/Checkbox.js +1 -1
  89. package/dist/_internal/components/form/CodeEditor/CodeEditor.helpers.js +1 -1
  90. package/dist/_internal/components/form/CodeEditor/CodeEditor.js +2 -2
  91. package/dist/_internal/components/form/Command/Command.hooks.js +1 -1
  92. package/dist/_internal/components/form/Command/Command.js +4 -4
  93. package/dist/_internal/components/form/Command/Command.parts.js +2 -1
  94. package/dist/_internal/components/form/Command/Command.styles.js +1 -1
  95. package/dist/_internal/components/form/CreatableSelect/CreatableSelect.js +2 -2
  96. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +2 -2
  97. package/dist/_internal/components/form/DateRangePicker/DateRangePickerQuickList.js +1 -1
  98. package/dist/_internal/components/form/Form/Form.js +1 -1
  99. package/dist/_internal/components/form/HeaderActions/HeaderActions.js +1 -1
  100. package/dist/_internal/components/form/Input/Input.js +3 -2
  101. package/dist/_internal/components/form/Input/Input.styles.js +2 -1
  102. package/dist/_internal/components/form/InputOTP/InputOTP.js +2 -2
  103. package/dist/_internal/components/form/InputOTP/InputOTP.styles.js +1 -1
  104. package/dist/_internal/components/form/Label/Label.js +2 -2
  105. package/dist/_internal/components/form/Label/Label.styles.js +1 -1
  106. package/dist/_internal/components/form/Menubar/Menubar.item.js +2 -2
  107. package/dist/_internal/components/form/Menubar/Menubar.js +4 -4
  108. package/dist/_internal/components/form/Menubar/Menubar.styles.js +1 -1
  109. package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +3 -3
  110. package/dist/_internal/components/form/PasswordStrength/PasswordStrength.js +1 -1
  111. package/dist/_internal/components/form/PhoneInput/PhoneInput.js +1 -1
  112. package/dist/_internal/components/form/RadioGroup/RadioGroup.animations.js +2 -1
  113. package/dist/_internal/components/form/RadioGroup/RadioGroup.js +4 -4
  114. package/dist/_internal/components/form/RadioGroup/RadioGroup.styles.js +2 -2
  115. package/dist/_internal/components/form/RadioGroup/RadioGroup.variants.js +3 -3
  116. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +2 -2
  117. package/dist/_internal/components/form/RichTextEditor/RichTextEditorToolbar.js +2 -1
  118. package/dist/_internal/components/form/SearchPalette/SearchPalette.js +2 -2
  119. package/dist/_internal/components/form/SearchPalette/SearchPalette.parts.js +1 -1
  120. package/dist/_internal/components/form/Select/Select.js +2 -1
  121. package/dist/_internal/components/form/Slider/Slider.animations.js +2 -1
  122. package/dist/_internal/components/form/Slider/Slider.js +3 -3
  123. package/dist/_internal/components/form/Slider/Slider.styles.js +2 -2
  124. package/dist/_internal/components/form/Switch/Switch.animations.js +2 -1
  125. package/dist/_internal/components/form/Switch/Switch.js +4 -4
  126. package/dist/_internal/components/form/Switch/Switch.parts.js +3 -3
  127. package/dist/_internal/components/form/Switch/Switch.styles.js +2 -2
  128. package/dist/_internal/components/form/Textarea/Textarea.js +2 -2
  129. package/dist/_internal/components/form/Textarea/Textarea.styles.js +2 -1
  130. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +12 -11
  131. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js.map +1 -1
  132. package/dist/_internal/components/form/Toggle/Toggle.js +2 -2
  133. package/dist/_internal/components/form/Toggle/Toggle.styles.js +1 -1
  134. package/dist/_internal/components/form/ToggleGroup/ToggleGroup.js +1 -1
  135. package/dist/_internal/components/form/UploadButton/UploadButton.js +2 -2
  136. package/dist/_internal/components/form/UploadButton/UploadButton.parts.js +1 -1
  137. package/dist/_internal/components/form/index.js +56 -56
  138. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +11 -11
  139. package/dist/_internal/components/form/total-form/Fields/CepField.js +5 -5
  140. package/dist/_internal/components/form/total-form/Fields/SelectField.js +3 -3
  141. package/dist/_internal/components/form/total-form/Fields/TextField.js +4 -4
  142. package/dist/_internal/components/form/total-form/Fields/ToggleField.js +3 -3
  143. package/dist/_internal/components/form/total-form/Fields/index.js +21 -21
  144. package/dist/_internal/components/form/total-form/FormContainer.js +2 -2
  145. package/dist/_internal/components/form/total-form/FormErrorSnackbar.js +3 -2
  146. package/dist/_internal/components/form/total-form/SubmitButton.js +3 -3
  147. package/dist/_internal/components/index.js +142 -143
  148. package/dist/_internal/components/layout/Accordion/Accordion.js +3 -2
  149. package/dist/_internal/components/layout/Accordion/Accordion.styles.js +2 -1
  150. package/dist/_internal/components/layout/Box/Box.js +1 -1
  151. package/dist/_internal/components/layout/Card/Card.js +3 -3
  152. package/dist/_internal/components/layout/Card/Card.styles.js +2 -2
  153. package/dist/_internal/components/layout/Collapsible/Collapsible.helpers.js +2 -1
  154. package/dist/_internal/components/layout/Collapsible/Collapsible.js +3 -2
  155. package/dist/_internal/components/layout/ContentToolbar/ColumnsMenu.js +1 -1
  156. package/dist/_internal/components/layout/ContentToolbar/ContentToolbar.js +1 -1
  157. package/dist/_internal/components/layout/ContentToolbar/FilterTrigger.js +1 -1
  158. package/dist/_internal/components/layout/ContentToolbar/MultiSelectDropdown.js +1 -1
  159. package/dist/_internal/components/layout/ContentToolbar/SavedViewsMenu.js +1 -1
  160. package/dist/_internal/components/layout/ContentToolbar/SortByDropdown.js +1 -1
  161. package/dist/_internal/components/layout/ContentToolbar/ViewSelector.js +1 -1
  162. package/dist/_internal/components/layout/Dashboard/Dashboard.js +3 -3
  163. package/dist/_internal/components/layout/Dashboard/DashboardParts.js +2 -2
  164. package/dist/_internal/components/layout/Drawer/Drawer.js +2 -1
  165. package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +5 -4
  166. package/dist/_internal/components/layout/ScrollArea/ScrollArea.styles.js +6 -3
  167. package/dist/_internal/components/layout/ScrollArea/ScrollAreaContent.js +2 -1
  168. package/dist/_internal/components/layout/ScrollArea/ScrollViewport.js +3 -2
  169. package/dist/_internal/components/layout/Separator/Separator.js +4 -2
  170. package/dist/_internal/components/layout/Separator/Separator.styles.js +3 -1
  171. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.items.js +3 -3
  172. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +8 -8
  173. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.rail.js +4 -4
  174. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.styles.js +6 -5
  175. package/dist/_internal/components/layout/SettingsLayout/SettingsPanel.js +5 -5
  176. package/dist/_internal/components/layout/SettingsLayout/SettingsSectionChips.js +3 -3
  177. package/dist/_internal/components/layout/SettingsLayout/SettingsSectionHeader.js +2 -2
  178. package/dist/_internal/components/layout/SettingsLayout/SettingsStatusMarker.js +2 -2
  179. package/dist/_internal/components/layout/Sidebar/Sidebar.js +2 -1
  180. package/dist/_internal/components/layout/Skeleton/Skeleton.js +3 -2
  181. package/dist/_internal/components/layout/Skeleton/Skeleton.styles.js +6 -3
  182. package/dist/_internal/components/layout/Spacer/Spacer.js +2 -1
  183. package/dist/_internal/components/layout/Stack/Stack.js +2 -2
  184. package/dist/_internal/components/layout/TableFilter/TableFilter.js +1 -1
  185. package/dist/_internal/components/layout/index.js +28 -29
  186. package/dist/_internal/components/navigation/AppHeader/AppHeader.brand.js +1 -1
  187. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +5 -6
  188. package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +2 -2
  189. package/dist/_internal/components/navigation/AppHeader/AppHeader.js +1 -1
  190. package/dist/_internal/components/navigation/Breadcrumbs/BreadcrumbEntry.js +2 -2
  191. package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.js +3 -3
  192. package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.styles.js +1 -1
  193. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +3 -3
  194. package/dist/_internal/components/navigation/CommandPalette/CommandPaletteResults.js +2 -2
  195. package/dist/_internal/components/navigation/CommandPalette/ShortcutChip.js +1 -1
  196. package/dist/_internal/components/navigation/ContextMenu/ContextMenu.js +1 -1
  197. package/dist/_internal/components/navigation/DropdownMenu/DropdownMenu.js +1 -1
  198. package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +4 -4
  199. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +6 -6
  200. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.shell.js +2 -2
  201. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.styles.js +1 -1
  202. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +2 -2
  203. package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +4 -4
  204. package/dist/_internal/components/navigation/Pagination/Pagination.js +3 -3
  205. package/dist/_internal/components/navigation/Pagination/Pagination.styles.js +1 -1
  206. package/dist/_internal/components/navigation/Pagination/PaginationParts.js +2 -1
  207. package/dist/_internal/components/navigation/Tabs/Tabs.js +10 -3
  208. package/dist/_internal/components/navigation/Tabs/Tabs.styles.js +8 -1
  209. package/dist/_internal/components/navigation/Tabs/TabsPanel.js +2 -1
  210. package/dist/_internal/components/navigation/index.js +28 -29
  211. package/dist/_internal/components/typography/Blockquote/Blockquote.js +1 -1
  212. package/dist/_internal/components/typography/Code/Code.js +1 -1
  213. package/dist/_internal/components/typography/Text/Text.js +1 -1
  214. package/dist/_internal/components/typography/index.js +3 -3
  215. package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.animations.js +2 -1
  216. package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.js +3 -3
  217. package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.styles.js +2 -2
  218. package/dist/_internal/components/utility/AspectRatio/AspectRatio.js +2 -1
  219. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +3 -3
  220. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +1 -1
  221. package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +2 -2
  222. package/dist/_internal/components/utility/index.js +7 -7
  223. package/dist/_internal/social-login-button/social-login-button.js +8 -9
  224. package/dist/_internal/tokens/shadow.js +19 -8
  225. package/dist/_internal/tokens/shadow.js.map +1 -1
  226. package/dist/_internal/user-avatar/user-avatar.js +6 -7
  227. package/dist/{chunk-BLJDCMFU.js → chunk-2ARVNCVU.js} +7 -7
  228. package/dist/chunk-2ARVNCVU.js.map +1 -0
  229. package/dist/{chunk-KH25WUSX.js → chunk-2EAAWOZ2.js} +4 -4
  230. package/dist/chunk-2EAAWOZ2.js.map +1 -0
  231. package/dist/{chunk-PNLM35GU.js → chunk-2JNHWKQK.js} +5 -5
  232. package/dist/{chunk-PWF32ILG.js → chunk-2OYFTSG4.js} +4 -4
  233. package/dist/{chunk-CRZXSZ5O.js → chunk-2S752BIJ.js} +2 -2
  234. package/dist/{chunk-IYTBTK2M.js → chunk-2WU52FLP.js} +19 -30
  235. package/dist/chunk-2WU52FLP.js.map +1 -0
  236. package/dist/{chunk-IWOVENC3.js → chunk-2XX45PC5.js} +2 -2
  237. package/dist/{chunk-RSQMPCCR.js → chunk-34643ATX.js} +10 -4
  238. package/dist/chunk-34643ATX.js.map +1 -0
  239. package/dist/{chunk-ZW5K4XCQ.js → chunk-34BZXJGT.js} +6 -6
  240. package/dist/{chunk-6GRZ77IS.js → chunk-3AIRFAI3.js} +13 -12
  241. package/dist/chunk-3AIRFAI3.js.map +1 -0
  242. package/dist/{chunk-KCAW6HRO.js → chunk-3AOQBR7N.js} +2 -2
  243. package/dist/{chunk-I62ALI7F.js → chunk-3FNXOCBD.js} +25 -13
  244. package/dist/chunk-3FNXOCBD.js.map +1 -0
  245. package/dist/{chunk-JFBEZXNL.js → chunk-3KREF4ZF.js} +3 -3
  246. package/dist/{chunk-EL7CMURV.js → chunk-3LSIFHQK.js} +3 -3
  247. package/dist/chunk-3LSIFHQK.js.map +1 -0
  248. package/dist/{chunk-MP4VSWHK.js → chunk-3NJMNMWB.js} +12 -2
  249. package/dist/chunk-3NJMNMWB.js.map +1 -0
  250. package/dist/{chunk-N52O2OKZ.js → chunk-3NNO6YIH.js} +8 -3
  251. package/dist/chunk-3NNO6YIH.js.map +1 -0
  252. package/dist/{chunk-SQYC57ZN.js → chunk-3RMDIO4G.js} +4 -4
  253. package/dist/{chunk-MJ3BVWPZ.js → chunk-43G3WMYN.js} +12 -7
  254. package/dist/chunk-43G3WMYN.js.map +1 -0
  255. package/dist/{chunk-E7MSDXED.js → chunk-43H66TVT.js} +12 -5
  256. package/dist/chunk-43H66TVT.js.map +1 -0
  257. package/dist/{chunk-IL7JZKXY.js → chunk-442FSG7G.js} +3 -3
  258. package/dist/{chunk-GVLZZCSX.js → chunk-4B5XUQQS.js} +3 -3
  259. package/dist/{chunk-DYVAOEW4.js → chunk-4D4LLSQC.js} +6 -5
  260. package/dist/chunk-4D4LLSQC.js.map +1 -0
  261. package/dist/{chunk-NEGCJNGJ.js → chunk-4G47KBTP.js} +9 -9
  262. package/dist/chunk-4G47KBTP.js.map +1 -0
  263. package/dist/{chunk-MVXFMIVZ.js → chunk-4GB46HLK.js} +8 -4
  264. package/dist/chunk-4GB46HLK.js.map +1 -0
  265. package/dist/{chunk-SN2YMCTL.js → chunk-4GWHYLEB.js} +3 -3
  266. package/dist/{chunk-J4NXTSJY.js → chunk-4JFL62K3.js} +4 -4
  267. package/dist/chunk-4JFL62K3.js.map +1 -0
  268. package/dist/{chunk-XLYFOBBT.js → chunk-4PRZLII7.js} +19 -16
  269. package/dist/chunk-4PRZLII7.js.map +1 -0
  270. package/dist/{chunk-AMTFP7QA.js → chunk-4RDJMIWL.js} +16 -13
  271. package/dist/chunk-4RDJMIWL.js.map +1 -0
  272. package/dist/{chunk-PYIASGI7.js → chunk-4RWPGWJW.js} +39 -39
  273. package/dist/chunk-4RWPGWJW.js.map +1 -0
  274. package/dist/chunk-4T6UIYJB.js +77 -0
  275. package/dist/chunk-4T6UIYJB.js.map +1 -0
  276. package/dist/{chunk-4OEKIFBC.js → chunk-4VMFS3VJ.js} +6 -3
  277. package/dist/chunk-4VMFS3VJ.js.map +1 -0
  278. package/dist/{chunk-HBICO6AX.js → chunk-4WNFOBTH.js} +26 -24
  279. package/dist/chunk-4WNFOBTH.js.map +1 -0
  280. package/dist/{chunk-6CTPDNNX.js → chunk-52G2KRL4.js} +14 -14
  281. package/dist/chunk-52G2KRL4.js.map +1 -0
  282. package/dist/{chunk-ZZM3DOEK.js → chunk-5HDYTTE7.js} +2 -2
  283. package/dist/{chunk-E7T3A4IR.js → chunk-5JCGBCFJ.js} +2 -2
  284. package/dist/{chunk-GEXM6DNR.js → chunk-5KGABAQB.js} +2 -2
  285. package/dist/{chunk-FC7NQ6XM.js → chunk-5MW7OYBM.js} +2 -2
  286. package/dist/{chunk-5TJRJSJY.js → chunk-5OBXEMQO.js} +3 -3
  287. package/dist/{chunk-MK4CH4VT.js → chunk-5OUEKIWQ.js} +14 -12
  288. package/dist/chunk-5OUEKIWQ.js.map +1 -0
  289. package/dist/{chunk-GW64UQXI.js → chunk-5QAJ3Y5F.js} +3 -3
  290. package/dist/{chunk-GW64UQXI.js.map → chunk-5QAJ3Y5F.js.map} +1 -1
  291. package/dist/{chunk-3A22SBIU.js → chunk-67O4GPJJ.js} +8 -4
  292. package/dist/chunk-67O4GPJJ.js.map +1 -0
  293. package/dist/{chunk-D5X4FRYX.js → chunk-6JNQLW5L.js} +2 -2
  294. package/dist/{chunk-CPTY6UZ6.js → chunk-6KEXHOIF.js} +5 -4
  295. package/dist/chunk-6KEXHOIF.js.map +1 -0
  296. package/dist/{chunk-NSJVQ5YJ.js → chunk-6KKQHJE7.js} +9 -4
  297. package/dist/chunk-6KKQHJE7.js.map +1 -0
  298. package/dist/{chunk-D2HKCPEH.js → chunk-6LOGBWLG.js} +9 -5
  299. package/dist/chunk-6LOGBWLG.js.map +1 -0
  300. package/dist/{chunk-RKI3MRKX.js → chunk-6N4AA2Y7.js} +3 -3
  301. package/dist/{chunk-EFHIMCJN.js → chunk-6P2OFMBX.js} +11 -9
  302. package/dist/chunk-6P2OFMBX.js.map +1 -0
  303. package/dist/{chunk-TOXTJ7MU.js → chunk-6RLCBNDV.js} +8 -5
  304. package/dist/chunk-6RLCBNDV.js.map +1 -0
  305. package/dist/{chunk-GUW5BUK7.js → chunk-6WBKOM5K.js} +15 -7
  306. package/dist/chunk-6WBKOM5K.js.map +1 -0
  307. package/dist/{chunk-K7WSPGI7.js → chunk-6WLHEZXI.js} +7 -7
  308. package/dist/chunk-6WLHEZXI.js.map +1 -0
  309. package/dist/{chunk-7EIOXZWL.js → chunk-74P3YX7R.js} +4 -4
  310. package/dist/{chunk-VYSFKR32.js → chunk-75CGLX6Q.js} +3 -3
  311. package/dist/{chunk-VYSFKR32.js.map → chunk-75CGLX6Q.js.map} +1 -1
  312. package/dist/{chunk-LVEG6XQL.js → chunk-76X6JRVI.js} +19 -33
  313. package/dist/chunk-76X6JRVI.js.map +1 -0
  314. package/dist/{chunk-2NLYGZP3.js → chunk-77JL5XVD.js} +13 -9
  315. package/dist/chunk-77JL5XVD.js.map +1 -0
  316. package/dist/{chunk-A6AKFPIQ.js → chunk-7EH4D6FU.js} +2 -2
  317. package/dist/{chunk-6SKXV236.js → chunk-7EM4THID.js} +9 -8
  318. package/dist/chunk-7EM4THID.js.map +1 -0
  319. package/dist/{chunk-7ZG7T2YN.js → chunk-7GHYCQCJ.js} +3 -3
  320. package/dist/{chunk-U4H6MGVE.js → chunk-A5UYPUS2.js} +7 -5
  321. package/dist/chunk-A5UYPUS2.js.map +1 -0
  322. package/dist/{chunk-2PBT2HQH.js → chunk-AUSUCZYR.js} +25 -24
  323. package/dist/chunk-AUSUCZYR.js.map +1 -0
  324. package/dist/{chunk-T3WHW7ZC.js → chunk-BAZXVFLR.js} +10 -6
  325. package/dist/chunk-BAZXVFLR.js.map +1 -0
  326. package/dist/{chunk-7F7TTOYN.js → chunk-BEGTLELZ.js} +7 -6
  327. package/dist/chunk-BEGTLELZ.js.map +1 -0
  328. package/dist/{chunk-4WQ3YXQL.js → chunk-BFMDA6UO.js} +4 -4
  329. package/dist/{chunk-RQ5HZDBV.js → chunk-BN742L2M.js} +14 -8
  330. package/dist/chunk-BN742L2M.js.map +1 -0
  331. package/dist/{chunk-R75DZ3AK.js → chunk-BVLMKSHX.js} +2 -2
  332. package/dist/{chunk-PMP6WJJS.js → chunk-BWMHGENX.js} +20 -19
  333. package/dist/chunk-BWMHGENX.js.map +1 -0
  334. package/dist/{chunk-7EQCZO56.js → chunk-C3LZ3OGJ.js} +11 -11
  335. package/dist/chunk-C3LZ3OGJ.js.map +1 -0
  336. package/dist/{chunk-ST4YYVUK.js → chunk-C5RQBTRZ.js} +7 -3
  337. package/dist/chunk-C5RQBTRZ.js.map +1 -0
  338. package/dist/{chunk-QAP3FW33.js → chunk-C66RGVAS.js} +30 -20
  339. package/dist/chunk-C66RGVAS.js.map +1 -0
  340. package/dist/{chunk-B7BNNSM2.js → chunk-CNQUCNEA.js} +7 -7
  341. package/dist/{chunk-GGWICBJD.js → chunk-CPAJYJUD.js} +2 -2
  342. package/dist/{chunk-DMWSXWCZ.js → chunk-CZIX4BW2.js} +4 -4
  343. package/dist/{chunk-CAHWCSRE.js → chunk-D46SLMCX.js} +22 -8
  344. package/dist/chunk-D46SLMCX.js.map +1 -0
  345. package/dist/{chunk-2HVNPWFV.js → chunk-D6KL74KI.js} +4 -10
  346. package/dist/chunk-D6KL74KI.js.map +1 -0
  347. package/dist/{chunk-2OIP3T5O.js → chunk-DBFRCTI5.js} +4 -4
  348. package/dist/{chunk-2OIP3T5O.js.map → chunk-DBFRCTI5.js.map} +1 -1
  349. package/dist/{chunk-TTAP5XFX.js → chunk-DJYL2LC6.js} +8 -3
  350. package/dist/chunk-DJYL2LC6.js.map +1 -0
  351. package/dist/{chunk-SYVNWXVW.js → chunk-DUBTI4DI.js} +4 -4
  352. package/dist/{chunk-TQ2557I5.js → chunk-DUNG7D4B.js} +23 -25
  353. package/dist/chunk-DUNG7D4B.js.map +1 -0
  354. package/dist/{chunk-RMCNEKBZ.js → chunk-DW6F7354.js} +2 -2
  355. package/dist/{chunk-Q4BQYYPU.js → chunk-E2QIKJX2.js} +11 -5
  356. package/dist/chunk-E2QIKJX2.js.map +1 -0
  357. package/dist/{chunk-LWRI6HGT.js → chunk-ECNJGROX.js} +21 -19
  358. package/dist/chunk-ECNJGROX.js.map +1 -0
  359. package/dist/{chunk-XJUEHG72.js → chunk-EERUSI52.js} +2 -2
  360. package/dist/{chunk-NPP44TQG.js → chunk-EYZ6QBTV.js} +2 -2
  361. package/dist/{chunk-NPP44TQG.js.map → chunk-EYZ6QBTV.js.map} +1 -1
  362. package/dist/{chunk-FXNYV5Z6.js → chunk-F6D6HXZU.js} +3 -3
  363. package/dist/{chunk-7DN4UXJ3.js → chunk-FERUQ7OB.js} +14 -14
  364. package/dist/chunk-FERUQ7OB.js.map +1 -0
  365. package/dist/{chunk-UL7L6MFT.js → chunk-FFCJ7NR2.js} +4 -4
  366. package/dist/{chunk-GXCOXJS3.js → chunk-FNG33MKA.js} +3 -3
  367. package/dist/{chunk-YH37X6JT.js → chunk-FNRPQE2D.js} +26 -25
  368. package/dist/chunk-FNRPQE2D.js.map +1 -0
  369. package/dist/{chunk-U342T7ZR.js → chunk-FOCU4QT5.js} +13 -10
  370. package/dist/chunk-FOCU4QT5.js.map +1 -0
  371. package/dist/{chunk-FYTLKHEN.js → chunk-FYKFQPVT.js} +19 -18
  372. package/dist/chunk-FYKFQPVT.js.map +1 -0
  373. package/dist/{chunk-5SJWDABY.js → chunk-G3XLFQ2Z.js} +44 -43
  374. package/dist/chunk-G3XLFQ2Z.js.map +1 -0
  375. package/dist/{chunk-TVL5V2JK.js → chunk-GGMB6LJH.js} +7 -3
  376. package/dist/chunk-GGMB6LJH.js.map +1 -0
  377. package/dist/{chunk-4CTLEUK3.js → chunk-GLFTIGOF.js} +4 -4
  378. package/dist/{chunk-7UZ2TFIK.js → chunk-GNCSDUGY.js} +12 -4
  379. package/dist/chunk-GNCSDUGY.js.map +1 -0
  380. package/dist/{chunk-6SS5C74Q.js → chunk-GS3RP2QE.js} +2 -2
  381. package/dist/{chunk-L4UP5VYS.js → chunk-GVH7C2PT.js} +2 -2
  382. package/dist/{chunk-MBSYD3ZU.js → chunk-GWFAINQ7.js} +3 -3
  383. package/dist/chunk-GWFAINQ7.js.map +1 -0
  384. package/dist/{chunk-B2VXP2B2.js → chunk-GZT7MLLO.js} +2 -2
  385. package/dist/{chunk-AK2HOD6B.js → chunk-H5BEWPEY.js} +2 -2
  386. package/dist/{chunk-QIKPGMMO.js → chunk-H67EL3CG.js} +6 -6
  387. package/dist/{chunk-3D6HXKZM.js → chunk-HDJQDMHB.js} +18 -13
  388. package/dist/chunk-HDJQDMHB.js.map +1 -0
  389. package/dist/{chunk-WNUZK7NS.js → chunk-HVXIOIM5.js} +10 -8
  390. package/dist/chunk-HVXIOIM5.js.map +1 -0
  391. package/dist/{chunk-JJSZP3TW.js → chunk-I4QA2F4L.js} +6 -6
  392. package/dist/{chunk-L7SFH3ED.js → chunk-I7GSRTGQ.js} +37 -28
  393. package/dist/chunk-I7GSRTGQ.js.map +1 -0
  394. package/dist/{chunk-Q4CAZ2TP.js → chunk-IG23YZZR.js} +6 -5
  395. package/dist/chunk-IG23YZZR.js.map +1 -0
  396. package/dist/{chunk-5W4BLTDI.js → chunk-IWFENXST.js} +7 -6
  397. package/dist/chunk-IWFENXST.js.map +1 -0
  398. package/dist/{chunk-HXEBKOSM.js → chunk-J5UZB6Y6.js} +2 -2
  399. package/dist/chunk-J5UZB6Y6.js.map +1 -0
  400. package/dist/{chunk-BXAL7OIS.js → chunk-JC22FNFA.js} +89 -88
  401. package/dist/chunk-JC22FNFA.js.map +1 -0
  402. package/dist/{chunk-AJ5SDHX5.js → chunk-JCL7WK4G.js} +2 -2
  403. package/dist/{chunk-ZMC3N23A.js → chunk-JSD5TFDK.js} +6 -6
  404. package/dist/{chunk-NE6XUN5Z.js → chunk-JU4MSYYH.js} +2 -2
  405. package/dist/{chunk-5CKDRLRN.js → chunk-JXECOCNA.js} +35 -19
  406. package/dist/chunk-JXECOCNA.js.map +1 -0
  407. package/dist/{chunk-WUTHROII.js → chunk-JYWF76Z5.js} +11 -5
  408. package/dist/chunk-JYWF76Z5.js.map +1 -0
  409. package/dist/{chunk-B76QCDCE.js → chunk-K4L42FF6.js} +6 -3
  410. package/dist/chunk-K4L42FF6.js.map +1 -0
  411. package/dist/{chunk-X2AKLDPW.js → chunk-KE473LK6.js} +3 -3
  412. package/dist/{chunk-TBF2CPJW.js → chunk-KIHGTL2D.js} +21 -11
  413. package/dist/chunk-KIHGTL2D.js.map +1 -0
  414. package/dist/{chunk-3T5Z5HXF.js → chunk-KM3Y5TCG.js} +40 -36
  415. package/dist/chunk-KM3Y5TCG.js.map +1 -0
  416. package/dist/{chunk-OWA7GPWR.js → chunk-KN5J3NEZ.js} +6 -5
  417. package/dist/chunk-KN5J3NEZ.js.map +1 -0
  418. package/dist/{chunk-RWTFZ7J5.js → chunk-L4G5BZFF.js} +22 -13
  419. package/dist/chunk-L4G5BZFF.js.map +1 -0
  420. package/dist/{chunk-HB7ISSLK.js → chunk-L5RQIQIP.js} +26 -22
  421. package/dist/chunk-L5RQIQIP.js.map +1 -0
  422. package/dist/{chunk-5UTAEHSB.js → chunk-L7NQCLFU.js} +3 -3
  423. package/dist/{chunk-4GYEIWQP.js → chunk-LNHYBA4B.js} +11 -10
  424. package/dist/chunk-LNHYBA4B.js.map +1 -0
  425. package/dist/{chunk-QY4XNTNG.js → chunk-LP3JCXER.js} +4 -4
  426. package/dist/chunk-LP3JCXER.js.map +1 -0
  427. package/dist/{chunk-WVC3BG6J.js → chunk-LXT3X33C.js} +11 -6
  428. package/dist/chunk-LXT3X33C.js.map +1 -0
  429. package/dist/{chunk-RZ2C5CAW.js → chunk-M2JTIH5M.js} +4 -4
  430. package/dist/{chunk-OATHOXIU.js → chunk-MC4KYGSX.js} +8 -8
  431. package/dist/chunk-MC4KYGSX.js.map +1 -0
  432. package/dist/{chunk-6KL2CJBO.js → chunk-MNHIK2OR.js} +2 -2
  433. package/dist/{chunk-343OLRFT.js → chunk-MR2HKBHS.js} +7 -7
  434. package/dist/{chunk-YVUD3MY4.js → chunk-N23GCN5U.js} +7 -4
  435. package/dist/chunk-N23GCN5U.js.map +1 -0
  436. package/dist/{chunk-CWDV64TD.js → chunk-N5GVW6RO.js} +5 -4
  437. package/dist/chunk-N5GVW6RO.js.map +1 -0
  438. package/dist/{chunk-JFEEV3XI.js → chunk-NB3FGWU4.js} +2 -2
  439. package/dist/{chunk-2TJOCI54.js → chunk-NCEQWEXT.js} +3 -3
  440. package/dist/{chunk-2TJOCI54.js.map → chunk-NCEQWEXT.js.map} +1 -1
  441. package/dist/{chunk-IVIHRZEY.js → chunk-NDMPXMW2.js} +12 -8
  442. package/dist/chunk-NDMPXMW2.js.map +1 -0
  443. package/dist/{chunk-5IXHJXJX.js → chunk-NIF4IXQU.js} +5 -2
  444. package/dist/chunk-NIF4IXQU.js.map +1 -0
  445. package/dist/{chunk-UUUMNJPP.js → chunk-NLYNRE7L.js} +10 -10
  446. package/dist/chunk-NLYNRE7L.js.map +1 -0
  447. package/dist/{chunk-KLWW67WP.js → chunk-NOKN4HRK.js} +12 -11
  448. package/dist/chunk-NOKN4HRK.js.map +1 -0
  449. package/dist/{chunk-LIG7TKIB.js → chunk-NYFNF7I5.js} +11 -6
  450. package/dist/chunk-NYFNF7I5.js.map +1 -0
  451. package/dist/{chunk-KK57AHWS.js → chunk-OAEYCKBN.js} +2 -2
  452. package/dist/{chunk-JGRE56GQ.js → chunk-OB56SZGL.js} +2 -2
  453. package/dist/{chunk-VRDNUY4H.js → chunk-OHC3F7GJ.js} +4 -4
  454. package/dist/chunk-OHC3F7GJ.js.map +1 -0
  455. package/dist/{chunk-E4TNDTWV.js → chunk-OL2BEJZR.js} +2 -2
  456. package/dist/{chunk-EFV5QJNM.js → chunk-ORRI6FMN.js} +17 -14
  457. package/dist/chunk-ORRI6FMN.js.map +1 -0
  458. package/dist/{chunk-DZNMS2SH.js → chunk-OS6KPL4D.js} +6 -6
  459. package/dist/{chunk-ZTYUKEN3.js → chunk-OVXSQQDK.js} +12 -7
  460. package/dist/chunk-OVXSQQDK.js.map +1 -0
  461. package/dist/{chunk-ZQL5RXVE.js → chunk-PA3AA55Q.js} +2 -2
  462. package/dist/{chunk-ZQL5RXVE.js.map → chunk-PA3AA55Q.js.map} +1 -1
  463. package/dist/{chunk-UFLTL2RJ.js → chunk-PH36XEB3.js} +2 -2
  464. package/dist/{chunk-4LQZH4PU.js → chunk-PMOEG36E.js} +2 -2
  465. package/dist/{chunk-KJK2Q35C.js → chunk-PPRV4LTM.js} +3 -3
  466. package/dist/{chunk-EXZSHZRS.js → chunk-PWZHCBG3.js} +3 -3
  467. package/dist/{chunk-EFVOT3G5.js → chunk-PZ7PU4AP.js} +2 -2
  468. package/dist/{chunk-YBTC4XNO.js → chunk-QA2ZGCRL.js} +5 -5
  469. package/dist/{chunk-2E2WOBID.js → chunk-QGFBIUOK.js} +5 -5
  470. package/dist/chunk-QGFBIUOK.js.map +1 -0
  471. package/dist/{chunk-7LIXQZBG.js → chunk-QI5CRSOW.js} +3 -3
  472. package/dist/{chunk-HAQMKV5P.js → chunk-QXSW3CNN.js} +15 -9
  473. package/dist/chunk-QXSW3CNN.js.map +1 -0
  474. package/dist/{chunk-LMXWI3DD.js → chunk-QYY37ECA.js} +5 -2
  475. package/dist/chunk-QYY37ECA.js.map +1 -0
  476. package/dist/{chunk-ROT57BP4.js → chunk-R2XVTUVR.js} +2 -2
  477. package/dist/{chunk-V74PXUQN.js → chunk-R6SN73RX.js} +12 -12
  478. package/dist/{chunk-VECWMANF.js → chunk-RDCHT2WN.js} +7 -4
  479. package/dist/chunk-RDCHT2WN.js.map +1 -0
  480. package/dist/{chunk-35ETD7ML.js → chunk-RIEV4VXF.js} +9 -5
  481. package/dist/chunk-RIEV4VXF.js.map +1 -0
  482. package/dist/{chunk-MVKYNDT2.js → chunk-RKROWJVF.js} +11 -9
  483. package/dist/chunk-RKROWJVF.js.map +1 -0
  484. package/dist/{chunk-NYZO3JNB.js → chunk-RXJQA3FQ.js} +2 -3
  485. package/dist/chunk-RXJQA3FQ.js.map +1 -0
  486. package/dist/{chunk-WPA26LXA.js → chunk-RZYSKQTS.js} +3 -3
  487. package/dist/{chunk-2UCLUDEB.js → chunk-SKT2V2OX.js} +4 -4
  488. package/dist/{chunk-EOW2ECB3.js → chunk-SNURSSTN.js} +2 -2
  489. package/dist/{chunk-TU3EGIKB.js → chunk-SSS64KYB.js} +3 -3
  490. package/dist/{chunk-L3B36HA5.js → chunk-SV6JGFHG.js} +10 -6
  491. package/dist/chunk-SV6JGFHG.js.map +1 -0
  492. package/dist/{chunk-CZBND7AY.js → chunk-T7DE44SP.js} +2 -2
  493. package/dist/{chunk-DHBYO7AO.js → chunk-TCV3N44E.js} +2 -2
  494. package/dist/{chunk-E6RYO4QZ.js → chunk-THMT3G3L.js} +21 -15
  495. package/dist/chunk-THMT3G3L.js.map +1 -0
  496. package/dist/{chunk-DB2ZFZVW.js → chunk-TKC6WHGB.js} +2 -2
  497. package/dist/{chunk-3CVTQZQJ.js → chunk-TNYKM4UU.js} +13 -9
  498. package/dist/chunk-TNYKM4UU.js.map +1 -0
  499. package/dist/{chunk-JCBIPBGZ.js → chunk-TU5A2CV7.js} +19 -12
  500. package/dist/chunk-TU5A2CV7.js.map +1 -0
  501. package/dist/{chunk-YESTO24O.js → chunk-TXEN3QJ4.js} +8 -3
  502. package/dist/chunk-TXEN3QJ4.js.map +1 -0
  503. package/dist/{chunk-3VMGE7CU.js → chunk-TZFBJ47T.js} +3 -3
  504. package/dist/chunk-TZFBJ47T.js.map +1 -0
  505. package/dist/{chunk-VFHGILXI.js → chunk-U3DBQXPI.js} +20 -17
  506. package/dist/chunk-U3DBQXPI.js.map +1 -0
  507. package/dist/{chunk-DVGBFT6O.js → chunk-UAVSBSV5.js} +2 -2
  508. package/dist/{chunk-ZAFFKQQU.js → chunk-UEVHI62V.js} +3 -3
  509. package/dist/{chunk-ADHMNIWS.js → chunk-UFJYJHQI.js} +3 -3
  510. package/dist/{chunk-V3LOHY4N.js → chunk-UFNIS7KC.js} +3 -3
  511. package/dist/chunk-UFNIS7KC.js.map +1 -0
  512. package/dist/{chunk-BNEWMFVB.js → chunk-UGGJ3KDT.js} +2 -2
  513. package/dist/{chunk-L4QCIUTJ.js → chunk-UMNXSQ7I.js} +3 -3
  514. package/dist/{chunk-L4QCIUTJ.js.map → chunk-UMNXSQ7I.js.map} +1 -1
  515. package/dist/{chunk-2CTTASUD.js → chunk-V5EWCJBT.js} +7 -4
  516. package/dist/chunk-V5EWCJBT.js.map +1 -0
  517. package/dist/{chunk-236V2GRH.js → chunk-VCBV5JM7.js} +49 -41
  518. package/dist/chunk-VCBV5JM7.js.map +1 -0
  519. package/dist/{chunk-KREWQAEV.js → chunk-VIRYHNEM.js} +2 -2
  520. package/dist/{chunk-PT2XADGH.js → chunk-VPRNKJHP.js} +9 -6
  521. package/dist/chunk-VPRNKJHP.js.map +1 -0
  522. package/dist/{chunk-JXUWWPZR.js → chunk-VQYR64QB.js} +14 -8
  523. package/dist/chunk-VQYR64QB.js.map +1 -0
  524. package/dist/{chunk-72DKEBJM.js → chunk-VRPREI27.js} +3 -3
  525. package/dist/chunk-VRPREI27.js.map +1 -0
  526. package/dist/{chunk-IBGX6H4J.js → chunk-VURQZBFH.js} +8 -4
  527. package/dist/chunk-VURQZBFH.js.map +1 -0
  528. package/dist/{chunk-7BZTZ2WG.js → chunk-VY2BMSHN.js} +8 -7
  529. package/dist/chunk-VY2BMSHN.js.map +1 -0
  530. package/dist/{chunk-SX3MEC3Q.js → chunk-VZIB5W5L.js} +2 -2
  531. package/dist/{chunk-HC5ZSCRG.js → chunk-W5TI46QN.js} +18 -14
  532. package/dist/chunk-W5TI46QN.js.map +1 -0
  533. package/dist/{chunk-N6CSXHFJ.js → chunk-WN5PNP6F.js} +2 -2
  534. package/dist/{chunk-SE6ERQY5.js → chunk-WVZBYTIK.js} +6 -2
  535. package/dist/chunk-WVZBYTIK.js.map +1 -0
  536. package/dist/{chunk-CSSCGM27.js → chunk-X3OWMTLO.js} +1 -2
  537. package/dist/chunk-X3OWMTLO.js.map +1 -0
  538. package/dist/{chunk-6QLPSMTA.js → chunk-XEWMY4ZM.js} +52 -47
  539. package/dist/chunk-XEWMY4ZM.js.map +1 -0
  540. package/dist/{chunk-FZ4YTEP2.js → chunk-XIG3DXXX.js} +3 -3
  541. package/dist/{chunk-CHFHILTM.js → chunk-XJJXBUPN.js} +2 -2
  542. package/dist/{chunk-CMK4DJDR.js → chunk-XLTHZI5W.js} +28 -20
  543. package/dist/chunk-XLTHZI5W.js.map +1 -0
  544. package/dist/{chunk-GHTBUJ6E.js → chunk-XRUW7DMH.js} +2 -2
  545. package/dist/{chunk-CSTAQX2B.js → chunk-XWZJLXJT.js} +7 -6
  546. package/dist/chunk-XWZJLXJT.js.map +1 -0
  547. package/dist/{chunk-MBC55H6M.js → chunk-Y5UTYBZW.js} +12 -6
  548. package/dist/chunk-Y5UTYBZW.js.map +1 -0
  549. package/dist/{chunk-DY4BP5WA.js → chunk-Y7F5JBAT.js} +5 -5
  550. package/dist/{chunk-CJHP6E34.js → chunk-YAFBUYVW.js} +9 -6
  551. package/dist/chunk-YAFBUYVW.js.map +1 -0
  552. package/dist/{chunk-WTOYEWW6.js → chunk-YBH4SPMM.js} +4 -3
  553. package/dist/chunk-YBH4SPMM.js.map +1 -0
  554. package/dist/{chunk-5QWQR7XT.js → chunk-YHGOPZXW.js} +11 -8
  555. package/dist/chunk-YHGOPZXW.js.map +1 -0
  556. package/dist/{chunk-6DN4ZULV.js → chunk-YOKUDQIJ.js} +1 -2
  557. package/dist/chunk-YOKUDQIJ.js.map +1 -0
  558. package/dist/{chunk-6BDYC4RA.js → chunk-YRSR5LVZ.js} +3 -3
  559. package/dist/{chunk-57JY4OI2.js → chunk-YUXDVW62.js} +3 -3
  560. package/dist/chunk-YUXDVW62.js.map +1 -0
  561. package/dist/{chunk-GE2EKMDT.js → chunk-YZ2DMP23.js} +4 -4
  562. package/dist/{chunk-GE2EKMDT.js.map → chunk-YZ2DMP23.js.map} +1 -1
  563. package/dist/{chunk-RNEYZTE4.js → chunk-Z6MCTGIK.js} +2 -2
  564. package/dist/{chunk-RNEYZTE4.js.map → chunk-Z6MCTGIK.js.map} +1 -1
  565. package/dist/{chunk-65CEXQ4L.js → chunk-Z6WSW6B4.js} +11 -7
  566. package/dist/chunk-Z6WSW6B4.js.map +1 -0
  567. package/dist/{chunk-TQBRWZA4.js → chunk-ZAY6OA6F.js} +2 -2
  568. package/dist/{chunk-XWWFBH2G.js → chunk-ZXSWXE6U.js} +8 -5
  569. package/dist/chunk-ZXSWXE6U.js.map +1 -0
  570. package/dist/data-display/AsyncStateContainer.js +4 -4
  571. package/dist/data-display/CardKit.js +5 -5
  572. package/dist/data-display/DataViews.js +82 -83
  573. package/dist/data-display/DescriptionItem.js +2 -2
  574. package/dist/data-display/FleetMap.js +6 -6
  575. package/dist/data-display/LazyImage.js +3 -3
  576. package/dist/data-display/LoadingState.js +3 -3
  577. package/dist/data-display/StatCard.js +3 -3
  578. package/dist/feedback/ConfirmAction.js +3 -3
  579. package/dist/feedback/Dialog.js +3 -3
  580. package/dist/feedback/Modal.js +3 -2
  581. package/dist/feedback/NotificationStatusNotice.js +3 -3
  582. package/dist/feedback/Sonner.js +2 -2
  583. package/dist/feedback/StackedModal.js +4 -3
  584. package/dist/feedback/Toast.js +2 -1
  585. package/dist/feedback/TutorialOverlay.js +5 -4
  586. package/dist/form/AddressAutocomplete.js +6 -6
  587. package/dist/form/Autocomplete.js +3 -2
  588. package/dist/form/Button.js +2 -2
  589. package/dist/form/CategorySelect.js +10 -10
  590. package/dist/form/CepField.js +4 -4
  591. package/dist/form/Checkbox.js +1 -1
  592. package/dist/form/CodeEditor.js +2 -2
  593. package/dist/form/Command.js +4 -4
  594. package/dist/form/CreatableSelect.js +2 -2
  595. package/dist/form/DateRangePicker.js +2 -2
  596. package/dist/form/Form.js +1 -1
  597. package/dist/form/HeaderActions.js +1 -1
  598. package/dist/form/Input.js +3 -2
  599. package/dist/form/InputOTP.js +2 -2
  600. package/dist/form/Label.js +2 -2
  601. package/dist/form/Menubar.js +4 -4
  602. package/dist/form/PasswordStrength.js +1 -1
  603. package/dist/form/PhoneInput.js +1 -1
  604. package/dist/form/RadioGroup.js +4 -4
  605. package/dist/form/RichTextEditor.js +2 -2
  606. package/dist/form/SearchPalette.js +2 -2
  607. package/dist/form/Select.js +2 -1
  608. package/dist/form/Slider.js +3 -3
  609. package/dist/form/Switch.js +4 -4
  610. package/dist/form/Textarea.js +2 -2
  611. package/dist/form/Toggle.js +2 -2
  612. package/dist/form/ToggleGroup.js +1 -1
  613. package/dist/form/UploadButton.js +2 -2
  614. package/dist/form/total-form.js +27 -27
  615. package/dist/layout/Accordion.js +3 -2
  616. package/dist/layout/Box.js +1 -1
  617. package/dist/layout/Card.js +3 -3
  618. package/dist/layout/Collapsible.js +3 -2
  619. package/dist/layout/ContentToolbar.js +7 -7
  620. package/dist/layout/Dashboard.js +3 -3
  621. package/dist/layout/Drawer.js +2 -1
  622. package/dist/layout/ScrollArea.js +5 -4
  623. package/dist/layout/Separator.js +4 -2
  624. package/dist/layout/SettingsLayout.js +8 -8
  625. package/dist/layout/Sidebar.js +2 -1
  626. package/dist/layout/Skeleton.js +3 -2
  627. package/dist/layout/Spacer.js +2 -1
  628. package/dist/layout/Stack.js +2 -2
  629. package/dist/layout/TableFilter.js +1 -1
  630. package/dist/navigation/AppHeader.js +8 -9
  631. package/dist/navigation/Breadcrumbs.js +3 -3
  632. package/dist/navigation/CommandPalette.js +3 -3
  633. package/dist/navigation/ContextMenu.js +1 -1
  634. package/dist/navigation/DropdownMenu.js +1 -1
  635. package/dist/navigation/NavigationMenu.js +6 -6
  636. package/dist/navigation/Pagination.js +3 -3
  637. package/dist/navigation/Tabs.js +10 -3
  638. package/dist/social-login-button.js +8 -9
  639. package/dist/types/components/feedback/Dialog/Dialog.styles.d.ts.map +1 -1
  640. package/dist/types/components/feedback/Modal/Modal.d.ts.map +1 -1
  641. package/dist/types/components/feedback/Modal/Modal.styles.d.ts.map +1 -1
  642. package/dist/types/components/feedback/StackedModal/StackedModal.parts.d.ts.map +1 -1
  643. package/dist/types/components/feedback/StackedModal/StackedModal.styles.d.ts.map +1 -1
  644. package/dist/types/components/feedback/Toast/Toast.d.ts.map +1 -1
  645. package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.d.ts.map +1 -1
  646. package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.geometry.d.ts +3 -1
  647. package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.geometry.d.ts.map +1 -1
  648. package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.hooks.d.ts.map +1 -1
  649. package/dist/types/components/feedback/TutorialOverlay/TutorialStepBody.d.ts.map +1 -1
  650. package/dist/types/components/form/AddressAutocomplete/AddressFallbackField.d.ts.map +1 -1
  651. package/dist/types/components/form/AddressAutocomplete/AddressInputField.d.ts.map +1 -1
  652. package/dist/types/components/form/AddressAutocomplete/AddressSuggestionsPaper.d.ts.map +1 -1
  653. package/dist/types/components/form/AddressAutocomplete/AddressTextField.d.ts.map +1 -1
  654. package/dist/types/components/form/Autocomplete/Autocomplete.parts.d.ts.map +1 -1
  655. package/dist/types/components/form/Button/Button.styles.d.ts +1 -1
  656. package/dist/types/components/form/Button/Button.styles.d.ts.map +1 -1
  657. package/dist/types/components/form/CategorySelect/CategoryPanelFoot.d.ts.map +1 -1
  658. package/dist/types/components/form/CategorySelect/CategoryPanelHead.d.ts.map +1 -1
  659. package/dist/types/components/form/CategorySelect/CategoryPanelList.d.ts.map +1 -1
  660. package/dist/types/components/form/CategorySelect/CategoryPanelSurface.d.ts.map +1 -1
  661. package/dist/types/components/form/CategorySelect/CategoryRows.d.ts.map +1 -1
  662. package/dist/types/components/form/CategorySelect/CategorySelect.styles.d.ts +26 -24
  663. package/dist/types/components/form/CategorySelect/CategorySelect.styles.d.ts.map +1 -1
  664. package/dist/types/components/form/CategorySelect/CategoryTrigger.d.ts.map +1 -1
  665. package/dist/types/components/form/Checkbox/Checkbox.d.ts.map +1 -1
  666. package/dist/types/components/form/CodeEditor/CodeEditor.helpers.d.ts +1 -1
  667. package/dist/types/components/form/CodeEditor/CodeEditor.helpers.d.ts.map +1 -1
  668. package/dist/types/components/form/CodeEditor/CodeEditor.types.d.ts +1 -1
  669. package/dist/types/components/form/CodeEditor/CodeEditor.types.d.ts.map +1 -1
  670. package/dist/types/components/form/Command/Command.d.ts.map +1 -1
  671. package/dist/types/components/form/Command/Command.hooks.d.ts +1 -1
  672. package/dist/types/components/form/Command/Command.hooks.d.ts.map +1 -1
  673. package/dist/types/components/form/Command/Command.parts.d.ts.map +1 -1
  674. package/dist/types/components/form/CreatableSelect/CreatableSelect.d.ts.map +1 -1
  675. package/dist/types/components/form/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  676. package/dist/types/components/form/DateRangePicker/DateRangePickerQuickList.d.ts.map +1 -1
  677. package/dist/types/components/form/Form/Form.d.ts.map +1 -1
  678. package/dist/types/components/form/HeaderActions/HeaderActions.d.ts.map +1 -1
  679. package/dist/types/components/form/Input/Input.d.ts.map +1 -1
  680. package/dist/types/components/form/Input/Input.styles.d.ts.map +1 -1
  681. package/dist/types/components/form/Label/Label.styles.d.ts +2 -2
  682. package/dist/types/components/form/Label/Label.styles.d.ts.map +1 -1
  683. package/dist/types/components/form/Menubar/Menubar.toolbar.d.ts +1 -1
  684. package/dist/types/components/form/Menubar/Menubar.toolbar.d.ts.map +1 -1
  685. package/dist/types/components/form/PasswordStrength/PasswordStrength.d.ts.map +1 -1
  686. package/dist/types/components/form/RadioGroup/RadioGroup.animations.d.ts +3 -2
  687. package/dist/types/components/form/RadioGroup/RadioGroup.animations.d.ts.map +1 -1
  688. package/dist/types/components/form/RadioGroup/RadioGroup.styles.d.ts.map +1 -1
  689. package/dist/types/components/form/RichTextEditor/RichTextEditor.d.ts.map +1 -1
  690. package/dist/types/components/form/RichTextEditor/RichTextEditorToolbar.d.ts.map +1 -1
  691. package/dist/types/components/form/SearchPalette/SearchPalette.parts.d.ts +1 -1
  692. package/dist/types/components/form/SearchPalette/SearchPalette.parts.d.ts.map +1 -1
  693. package/dist/types/components/form/Select/Select.d.ts.map +1 -1
  694. package/dist/types/components/form/Slider/Slider.animations.d.ts +2 -1
  695. package/dist/types/components/form/Slider/Slider.animations.d.ts.map +1 -1
  696. package/dist/types/components/form/Slider/Slider.styles.d.ts.map +1 -1
  697. package/dist/types/components/form/Switch/Switch.animations.d.ts +2 -1
  698. package/dist/types/components/form/Switch/Switch.animations.d.ts.map +1 -1
  699. package/dist/types/components/form/Switch/Switch.styles.d.ts.map +1 -1
  700. package/dist/types/components/form/Textarea/Textarea.d.ts.map +1 -1
  701. package/dist/types/components/form/Textarea/Textarea.styles.d.ts +1 -1
  702. package/dist/types/components/form/Textarea/Textarea.styles.d.ts.map +1 -1
  703. package/dist/types/components/form/Toggle/Toggle.d.ts.map +1 -1
  704. package/dist/types/components/form/Toggle/Toggle.styles.d.ts.map +1 -1
  705. package/dist/types/components/form/ToggleGroup/ToggleGroup.d.ts.map +1 -1
  706. package/dist/types/components/form/UploadButton/UploadButton.parts.d.ts.map +1 -1
  707. package/dist/types/components/layout/Accordion/Accordion.d.ts.map +1 -1
  708. package/dist/types/components/layout/Accordion/Accordion.styles.d.ts.map +1 -1
  709. package/dist/types/components/layout/Box/Box.d.ts +2 -1
  710. package/dist/types/components/layout/Box/Box.d.ts.map +1 -1
  711. package/dist/types/components/layout/Card/Card.styles.d.ts.map +1 -1
  712. package/dist/types/components/layout/Collapsible/Collapsible.d.ts.map +1 -1
  713. package/dist/types/components/layout/Collapsible/Collapsible.helpers.d.ts +1 -1
  714. package/dist/types/components/layout/Collapsible/Collapsible.helpers.d.ts.map +1 -1
  715. package/dist/types/components/layout/Drawer/Drawer.d.ts.map +1 -1
  716. package/dist/types/components/layout/ScrollArea/ScrollArea.d.ts.map +1 -1
  717. package/dist/types/components/layout/ScrollArea/ScrollArea.styles.d.ts +6 -0
  718. package/dist/types/components/layout/ScrollArea/ScrollArea.styles.d.ts.map +1 -1
  719. package/dist/types/components/layout/ScrollArea/ScrollViewport.d.ts.map +1 -1
  720. package/dist/types/components/layout/Separator/Separator.d.ts.map +1 -1
  721. package/dist/types/components/layout/Separator/Separator.styles.d.ts +7 -4
  722. package/dist/types/components/layout/Separator/Separator.styles.d.ts.map +1 -1
  723. package/dist/types/components/layout/SettingsLayout/SettingsLayout.items.d.ts.map +1 -1
  724. package/dist/types/components/layout/SettingsLayout/SettingsLayout.rail.d.ts.map +1 -1
  725. package/dist/types/components/layout/SettingsLayout/SettingsLayout.styles.d.ts +4 -4
  726. package/dist/types/components/layout/SettingsLayout/SettingsLayout.styles.d.ts.map +1 -1
  727. package/dist/types/components/layout/Sidebar/Sidebar.d.ts.map +1 -1
  728. package/dist/types/components/layout/Skeleton/Skeleton.d.ts.map +1 -1
  729. package/dist/types/components/layout/Skeleton/Skeleton.styles.d.ts +8 -1
  730. package/dist/types/components/layout/Skeleton/Skeleton.styles.d.ts.map +1 -1
  731. package/dist/types/components/layout/Spacer/Spacer.d.ts.map +1 -1
  732. package/dist/types/components/layout/TableFilter/TableFilter.d.ts.map +1 -1
  733. package/dist/types/components/navigation/AppHeader/AppHeader.d.ts.map +1 -1
  734. package/dist/types/components/navigation/AppHeader/AppHeader.details.d.ts.map +1 -1
  735. package/dist/types/components/navigation/AppHeader/AppHeader.identity.d.ts.map +1 -1
  736. package/dist/types/components/navigation/Breadcrumbs/Breadcrumbs.styles.d.ts +2 -2
  737. package/dist/types/components/navigation/Breadcrumbs/Breadcrumbs.styles.d.ts.map +1 -1
  738. package/dist/types/components/navigation/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  739. package/dist/types/components/navigation/NavigationMenu/NavigationMegaSection.d.ts.map +1 -1
  740. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.d.ts.map +1 -1
  741. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.shell.d.ts.map +1 -1
  742. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.styles.d.ts +2 -2
  743. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.styles.d.ts.map +1 -1
  744. package/dist/types/components/navigation/NavigationMenu/NavigationStandardBody.d.ts.map +1 -1
  745. package/dist/types/components/navigation/Pagination/Pagination.d.ts.map +1 -1
  746. package/dist/types/components/navigation/Pagination/PaginationParts.d.ts.map +1 -1
  747. package/dist/types/components/navigation/Tabs/Tabs.d.ts.map +1 -1
  748. package/dist/types/components/navigation/Tabs/Tabs.styles.d.ts.map +1 -1
  749. package/dist/types/components/navigation/Tabs/TabsPanel.d.ts.map +1 -1
  750. package/dist/types/components/utility/AnimatedIcon/AnimatedIcon.animations.d.ts +9 -8
  751. package/dist/types/components/utility/AnimatedIcon/AnimatedIcon.animations.d.ts.map +1 -1
  752. package/dist/types/components/utility/AnimatedIcon/AnimatedIcon.styles.d.ts +1 -1
  753. package/dist/types/components/utility/AnimatedIcon/AnimatedIcon.styles.d.ts.map +1 -1
  754. package/dist/types/components/utility/AspectRatio/AspectRatio.d.ts.map +1 -1
  755. package/dist/types/social-login-button/social-login-button.d.ts.map +1 -1
  756. package/dist/typography/Blockquote.js +1 -1
  757. package/dist/typography/Code.js +1 -1
  758. package/dist/typography/Text.js +1 -1
  759. package/dist/user-avatar.js +6 -7
  760. package/dist/utility/AnimatedIcon.js +3 -3
  761. package/dist/utility/AspectRatio.js +2 -1
  762. package/dist/utility/WorkflowStep.js +3 -3
  763. package/package.json +1 -1
  764. package/src/components/feedback/Dialog/Dialog.styles.ts +16 -28
  765. package/src/components/feedback/Modal/Modal.styles.ts +9 -8
  766. package/src/components/feedback/Modal/Modal.tsx +3 -2
  767. package/src/components/feedback/Sonner/Sonner.tsx +4 -4
  768. package/src/components/feedback/Sonner/SonnerToast.tsx +9 -9
  769. package/src/components/feedback/StackedModal/StackedModal.parts.tsx +26 -19
  770. package/src/components/feedback/StackedModal/StackedModal.styles.ts +11 -9
  771. package/src/components/feedback/Toast/Toast.tsx +11 -7
  772. package/src/components/feedback/TutorialOverlay/TutorialOverlay.geometry.ts +2 -3
  773. package/src/components/feedback/TutorialOverlay/TutorialOverlay.hooks.ts +6 -1
  774. package/src/components/feedback/TutorialOverlay/TutorialOverlay.tsx +43 -37
  775. package/src/components/feedback/TutorialOverlay/TutorialStepBody.tsx +3 -2
  776. package/src/components/form/AddressAutocomplete/AddressFallbackField.tsx +5 -1
  777. package/src/components/form/AddressAutocomplete/AddressInputField.tsx +36 -29
  778. package/src/components/form/AddressAutocomplete/AddressSuggestionsPaper.tsx +4 -2
  779. package/src/components/form/AddressAutocomplete/AddressTextField.tsx +4 -3
  780. package/src/components/form/Autocomplete/Autocomplete.parts.tsx +10 -7
  781. package/src/components/form/Button/Button.styles.ts +28 -25
  782. package/src/components/form/Button/Button.tsx +2 -2
  783. package/src/components/form/CategorySelect/CategoryPanelFoot.tsx +5 -4
  784. package/src/components/form/CategorySelect/CategoryPanelHead.tsx +13 -12
  785. package/src/components/form/CategorySelect/CategoryPanelList.tsx +3 -2
  786. package/src/components/form/CategorySelect/CategoryPanelSurface.tsx +2 -1
  787. package/src/components/form/CategorySelect/CategoryRows.tsx +4 -3
  788. package/src/components/form/CategorySelect/CategorySelect.styles.ts +98 -96
  789. package/src/components/form/CategorySelect/CategoryTrigger.tsx +5 -2
  790. package/src/components/form/Checkbox/Checkbox.tsx +21 -15
  791. package/src/components/form/CodeEditor/CodeEditor.helpers.ts +0 -2
  792. package/src/components/form/CodeEditor/CodeEditor.md +1 -1
  793. package/src/components/form/CodeEditor/CodeEditor.tsx +5 -5
  794. package/src/components/form/CodeEditor/CodeEditor.types.ts +1 -1
  795. package/src/components/form/Command/Command.hooks.ts +0 -2
  796. package/src/components/form/Command/Command.parts.tsx +7 -2
  797. package/src/components/form/Command/Command.styles.ts +11 -11
  798. package/src/components/form/Command/Command.tsx +14 -5
  799. package/src/components/form/CreatableSelect/CreatableSelect.tsx +12 -8
  800. package/src/components/form/DateRangePicker/DateRangePicker.tsx +10 -8
  801. package/src/components/form/DateRangePicker/DateRangePickerQuickList.tsx +8 -4
  802. package/src/components/form/Form/Form.tsx +6 -10
  803. package/src/components/form/HeaderActions/HeaderActions.tsx +2 -1
  804. package/src/components/form/Input/Input.styles.ts +17 -16
  805. package/src/components/form/Input/Input.tsx +4 -2
  806. package/src/components/form/InputOTP/InputOTP.styles.ts +3 -3
  807. package/src/components/form/Label/Label.styles.ts +8 -8
  808. package/src/components/form/Menubar/Menubar.item.tsx +2 -2
  809. package/src/components/form/Menubar/Menubar.styles.ts +13 -13
  810. package/src/components/form/Menubar/Menubar.toolbar.tsx +4 -2
  811. package/src/components/form/PasswordStrength/PasswordStrength.tsx +19 -18
  812. package/src/components/form/PhoneInput/PhoneInput.tsx +9 -9
  813. package/src/components/form/RadioGroup/RadioGroup.animations.ts +9 -6
  814. package/src/components/form/RadioGroup/RadioGroup.styles.ts +45 -43
  815. package/src/components/form/RichTextEditor/RichTextEditor.tsx +7 -6
  816. package/src/components/form/RichTextEditor/RichTextEditorToolbar.tsx +3 -1
  817. package/src/components/form/SearchPalette/SearchPalette.parts.tsx +8 -6
  818. package/src/components/form/Select/Select.tsx +14 -12
  819. package/src/components/form/Slider/Slider.animations.ts +7 -4
  820. package/src/components/form/Slider/Slider.styles.ts +43 -42
  821. package/src/components/form/Switch/Switch.animations.ts +7 -4
  822. package/src/components/form/Switch/Switch.parts.tsx +2 -2
  823. package/src/components/form/Switch/Switch.styles.ts +26 -22
  824. package/src/components/form/Textarea/Textarea.styles.ts +13 -12
  825. package/src/components/form/Textarea/Textarea.tsx +28 -22
  826. package/src/components/form/Textarea/TextareaRichEditor.tsx +10 -10
  827. package/src/components/form/Toggle/Toggle.styles.ts +29 -26
  828. package/src/components/form/Toggle/Toggle.tsx +5 -2
  829. package/src/components/form/ToggleGroup/ToggleGroup.tsx +18 -15
  830. package/src/components/form/UploadButton/UploadButton.parts.tsx +6 -5
  831. package/src/components/layout/Accordion/Accordion.styles.ts +8 -6
  832. package/src/components/layout/Accordion/Accordion.tsx +10 -8
  833. package/src/components/layout/Box/Box.tsx +18 -5
  834. package/src/components/layout/Card/Card.styles.ts +22 -30
  835. package/src/components/layout/Collapsible/Collapsible.helpers.ts +4 -2
  836. package/src/components/layout/Collapsible/Collapsible.tsx +8 -4
  837. package/src/components/layout/ContentToolbar/ColumnsMenu.tsx +1 -1
  838. package/src/components/layout/ContentToolbar/ContentToolbar.tsx +2 -2
  839. package/src/components/layout/ContentToolbar/FilterTrigger.tsx +2 -2
  840. package/src/components/layout/ContentToolbar/MultiSelectDropdown.tsx +1 -1
  841. package/src/components/layout/ContentToolbar/SavedViewsMenu.tsx +2 -2
  842. package/src/components/layout/ContentToolbar/SortByDropdown.tsx +2 -2
  843. package/src/components/layout/ContentToolbar/ViewSelector.tsx +2 -2
  844. package/src/components/layout/Dashboard/Dashboard.tsx +1 -1
  845. package/src/components/layout/Dashboard/DashboardParts.tsx +1 -1
  846. package/src/components/layout/Drawer/Drawer.tsx +23 -10
  847. package/src/components/layout/ScrollArea/ScrollArea.styles.ts +45 -32
  848. package/src/components/layout/ScrollArea/ScrollArea.tsx +31 -16
  849. package/src/components/layout/ScrollArea/ScrollAreaContent.tsx +2 -2
  850. package/src/components/layout/ScrollArea/ScrollViewport.tsx +6 -4
  851. package/src/components/layout/Separator/Separator.styles.ts +30 -9
  852. package/src/components/layout/Separator/Separator.tsx +4 -3
  853. package/src/components/layout/SettingsLayout/SettingsLayout.items.tsx +4 -2
  854. package/src/components/layout/SettingsLayout/SettingsLayout.rail.tsx +6 -5
  855. package/src/components/layout/SettingsLayout/SettingsLayout.styles.ts +9 -7
  856. package/src/components/layout/SettingsLayout/SettingsLayout.tsx +2 -2
  857. package/src/components/layout/SettingsLayout/SettingsPanel.tsx +1 -1
  858. package/src/components/layout/SettingsLayout/SettingsSectionChips.tsx +3 -3
  859. package/src/components/layout/SettingsLayout/SettingsSectionHeader.tsx +3 -3
  860. package/src/components/layout/SettingsLayout/SettingsStatusMarker.tsx +2 -2
  861. package/src/components/layout/Sidebar/Sidebar.tsx +16 -6
  862. package/src/components/layout/Skeleton/Skeleton.styles.ts +13 -3
  863. package/src/components/layout/Skeleton/Skeleton.tsx +6 -4
  864. package/src/components/layout/Spacer/Spacer.tsx +16 -1
  865. package/src/components/layout/TableFilter/TableFilter.tsx +2 -1
  866. package/src/components/navigation/AppHeader/AppHeader.brand.tsx +2 -2
  867. package/src/components/navigation/AppHeader/AppHeader.details.tsx +9 -7
  868. package/src/components/navigation/AppHeader/AppHeader.identity.tsx +28 -15
  869. package/src/components/navigation/AppHeader/AppHeader.tsx +18 -6
  870. package/src/components/navigation/Breadcrumbs/BreadcrumbEntry.tsx +4 -4
  871. package/src/components/navigation/Breadcrumbs/Breadcrumbs.styles.tsx +15 -15
  872. package/src/components/navigation/CommandPalette/CommandPalette.tsx +7 -7
  873. package/src/components/navigation/CommandPalette/CommandPaletteResults.tsx +5 -5
  874. package/src/components/navigation/CommandPalette/ShortcutChip.tsx +1 -1
  875. package/src/components/navigation/ContextMenu/ContextMenu.tsx +8 -8
  876. package/src/components/navigation/DropdownMenu/DropdownMenu.tsx +25 -16
  877. package/src/components/navigation/NavigationMenu/NavigationMegaSection.tsx +5 -4
  878. package/src/components/navigation/NavigationMenu/NavigationMenu.shell.tsx +22 -20
  879. package/src/components/navigation/NavigationMenu/NavigationMenu.styles.ts +11 -11
  880. package/src/components/navigation/NavigationMenu/NavigationMenu.tsx +7 -2
  881. package/src/components/navigation/NavigationMenu/NavigationMenuItem.tsx +12 -12
  882. package/src/components/navigation/NavigationMenu/NavigationStandardBody.tsx +3 -2
  883. package/src/components/navigation/Pagination/Pagination.styles.ts +18 -18
  884. package/src/components/navigation/Pagination/Pagination.tsx +2 -1
  885. package/src/components/navigation/Pagination/PaginationParts.tsx +4 -3
  886. package/src/components/navigation/Tabs/Tabs.styles.ts +14 -12
  887. package/src/components/navigation/Tabs/Tabs.tsx +11 -9
  888. package/src/components/navigation/Tabs/TabsPanel.tsx +10 -3
  889. package/src/components/typography/Blockquote/Blockquote.tsx +8 -8
  890. package/src/components/typography/Code/Code.tsx +17 -17
  891. package/src/components/typography/Text/Text.tsx +2 -2
  892. package/src/components/utility/AnimatedIcon/AnimatedIcon.animations.ts +38 -35
  893. package/src/components/utility/AnimatedIcon/AnimatedIcon.styles.ts +51 -46
  894. package/src/components/utility/AnimatedIcon/AnimatedIcon.tsx +1 -1
  895. package/src/components/utility/AspectRatio/AspectRatio.tsx +13 -2
  896. package/src/components/utility/WorkflowStep/WorkflowStep.parts.tsx +7 -7
  897. package/src/social-login-button/social-login-button.tsx +25 -8
  898. package/dist/chunk-236V2GRH.js.map +0 -1
  899. package/dist/chunk-2CTTASUD.js.map +0 -1
  900. package/dist/chunk-2E2WOBID.js.map +0 -1
  901. package/dist/chunk-2HVNPWFV.js.map +0 -1
  902. package/dist/chunk-2NLYGZP3.js.map +0 -1
  903. package/dist/chunk-2PBT2HQH.js.map +0 -1
  904. package/dist/chunk-35ETD7ML.js.map +0 -1
  905. package/dist/chunk-3A22SBIU.js.map +0 -1
  906. package/dist/chunk-3CVTQZQJ.js.map +0 -1
  907. package/dist/chunk-3D6HXKZM.js.map +0 -1
  908. package/dist/chunk-3T5Z5HXF.js.map +0 -1
  909. package/dist/chunk-3VMGE7CU.js.map +0 -1
  910. package/dist/chunk-4GYEIWQP.js.map +0 -1
  911. package/dist/chunk-4OEKIFBC.js.map +0 -1
  912. package/dist/chunk-57JY4OI2.js.map +0 -1
  913. package/dist/chunk-5CKDRLRN.js.map +0 -1
  914. package/dist/chunk-5IXHJXJX.js.map +0 -1
  915. package/dist/chunk-5QWQR7XT.js.map +0 -1
  916. package/dist/chunk-5SJWDABY.js.map +0 -1
  917. package/dist/chunk-5W4BLTDI.js.map +0 -1
  918. package/dist/chunk-65CEXQ4L.js.map +0 -1
  919. package/dist/chunk-6CTPDNNX.js.map +0 -1
  920. package/dist/chunk-6DN4ZULV.js.map +0 -1
  921. package/dist/chunk-6GRZ77IS.js.map +0 -1
  922. package/dist/chunk-6M33XQLZ.js +0 -70
  923. package/dist/chunk-6M33XQLZ.js.map +0 -1
  924. package/dist/chunk-6QLPSMTA.js.map +0 -1
  925. package/dist/chunk-6SKXV236.js.map +0 -1
  926. package/dist/chunk-72DKEBJM.js.map +0 -1
  927. package/dist/chunk-73BEVJCS.js +0 -28
  928. package/dist/chunk-73BEVJCS.js.map +0 -1
  929. package/dist/chunk-7BZTZ2WG.js.map +0 -1
  930. package/dist/chunk-7DN4UXJ3.js.map +0 -1
  931. package/dist/chunk-7EQCZO56.js.map +0 -1
  932. package/dist/chunk-7F7TTOYN.js.map +0 -1
  933. package/dist/chunk-7UZ2TFIK.js.map +0 -1
  934. package/dist/chunk-AMTFP7QA.js.map +0 -1
  935. package/dist/chunk-B76QCDCE.js.map +0 -1
  936. package/dist/chunk-BLJDCMFU.js.map +0 -1
  937. package/dist/chunk-BXAL7OIS.js.map +0 -1
  938. package/dist/chunk-CAHWCSRE.js.map +0 -1
  939. package/dist/chunk-CJHP6E34.js.map +0 -1
  940. package/dist/chunk-CMK4DJDR.js.map +0 -1
  941. package/dist/chunk-CPTY6UZ6.js.map +0 -1
  942. package/dist/chunk-CSSCGM27.js.map +0 -1
  943. package/dist/chunk-CSTAQX2B.js.map +0 -1
  944. package/dist/chunk-CWDV64TD.js.map +0 -1
  945. package/dist/chunk-D2HKCPEH.js.map +0 -1
  946. package/dist/chunk-DYVAOEW4.js.map +0 -1
  947. package/dist/chunk-E6RYO4QZ.js.map +0 -1
  948. package/dist/chunk-E7MSDXED.js.map +0 -1
  949. package/dist/chunk-EFHIMCJN.js.map +0 -1
  950. package/dist/chunk-EFV5QJNM.js.map +0 -1
  951. package/dist/chunk-EL7CMURV.js.map +0 -1
  952. package/dist/chunk-FYTLKHEN.js.map +0 -1
  953. package/dist/chunk-GUW5BUK7.js.map +0 -1
  954. package/dist/chunk-HAQMKV5P.js.map +0 -1
  955. package/dist/chunk-HB7ISSLK.js.map +0 -1
  956. package/dist/chunk-HBICO6AX.js.map +0 -1
  957. package/dist/chunk-HC5ZSCRG.js.map +0 -1
  958. package/dist/chunk-HXEBKOSM.js.map +0 -1
  959. package/dist/chunk-I62ALI7F.js.map +0 -1
  960. package/dist/chunk-IBGX6H4J.js.map +0 -1
  961. package/dist/chunk-IVIHRZEY.js.map +0 -1
  962. package/dist/chunk-IYTBTK2M.js.map +0 -1
  963. package/dist/chunk-J4NXTSJY.js.map +0 -1
  964. package/dist/chunk-JCBIPBGZ.js.map +0 -1
  965. package/dist/chunk-JXUWWPZR.js.map +0 -1
  966. package/dist/chunk-K7WSPGI7.js.map +0 -1
  967. package/dist/chunk-KH25WUSX.js.map +0 -1
  968. package/dist/chunk-KLWW67WP.js.map +0 -1
  969. package/dist/chunk-L3B36HA5.js.map +0 -1
  970. package/dist/chunk-L7SFH3ED.js.map +0 -1
  971. package/dist/chunk-LIG7TKIB.js.map +0 -1
  972. package/dist/chunk-LMXWI3DD.js.map +0 -1
  973. package/dist/chunk-LVEG6XQL.js.map +0 -1
  974. package/dist/chunk-LWRI6HGT.js.map +0 -1
  975. package/dist/chunk-MBC55H6M.js.map +0 -1
  976. package/dist/chunk-MBSYD3ZU.js.map +0 -1
  977. package/dist/chunk-MJ3BVWPZ.js.map +0 -1
  978. package/dist/chunk-MK4CH4VT.js.map +0 -1
  979. package/dist/chunk-MP4VSWHK.js.map +0 -1
  980. package/dist/chunk-MVKYNDT2.js.map +0 -1
  981. package/dist/chunk-MVXFMIVZ.js.map +0 -1
  982. package/dist/chunk-N52O2OKZ.js.map +0 -1
  983. package/dist/chunk-NEGCJNGJ.js.map +0 -1
  984. package/dist/chunk-NSJVQ5YJ.js.map +0 -1
  985. package/dist/chunk-NYZO3JNB.js.map +0 -1
  986. package/dist/chunk-OATHOXIU.js.map +0 -1
  987. package/dist/chunk-OWA7GPWR.js.map +0 -1
  988. package/dist/chunk-PMP6WJJS.js.map +0 -1
  989. package/dist/chunk-PT2XADGH.js.map +0 -1
  990. package/dist/chunk-PYIASGI7.js.map +0 -1
  991. package/dist/chunk-Q4BQYYPU.js.map +0 -1
  992. package/dist/chunk-Q4CAZ2TP.js.map +0 -1
  993. package/dist/chunk-QAP3FW33.js.map +0 -1
  994. package/dist/chunk-QY4XNTNG.js.map +0 -1
  995. package/dist/chunk-RQ5HZDBV.js.map +0 -1
  996. package/dist/chunk-RSQMPCCR.js.map +0 -1
  997. package/dist/chunk-RWTFZ7J5.js.map +0 -1
  998. package/dist/chunk-SE6ERQY5.js.map +0 -1
  999. package/dist/chunk-ST4YYVUK.js.map +0 -1
  1000. package/dist/chunk-T3WHW7ZC.js.map +0 -1
  1001. package/dist/chunk-TBF2CPJW.js.map +0 -1
  1002. package/dist/chunk-TOXTJ7MU.js.map +0 -1
  1003. package/dist/chunk-TQ2557I5.js.map +0 -1
  1004. package/dist/chunk-TTAP5XFX.js.map +0 -1
  1005. package/dist/chunk-TVL5V2JK.js.map +0 -1
  1006. package/dist/chunk-U342T7ZR.js.map +0 -1
  1007. package/dist/chunk-U4H6MGVE.js.map +0 -1
  1008. package/dist/chunk-UUUMNJPP.js.map +0 -1
  1009. package/dist/chunk-V3LOHY4N.js.map +0 -1
  1010. package/dist/chunk-VECWMANF.js.map +0 -1
  1011. package/dist/chunk-VFHGILXI.js.map +0 -1
  1012. package/dist/chunk-VRDNUY4H.js.map +0 -1
  1013. package/dist/chunk-WNUZK7NS.js.map +0 -1
  1014. package/dist/chunk-WTOYEWW6.js.map +0 -1
  1015. package/dist/chunk-WUTHROII.js.map +0 -1
  1016. package/dist/chunk-WVC3BG6J.js.map +0 -1
  1017. package/dist/chunk-XLYFOBBT.js.map +0 -1
  1018. package/dist/chunk-XWWFBH2G.js.map +0 -1
  1019. package/dist/chunk-YESTO24O.js.map +0 -1
  1020. package/dist/chunk-YH37X6JT.js.map +0 -1
  1021. package/dist/chunk-YVUD3MY4.js.map +0 -1
  1022. package/dist/chunk-ZTYUKEN3.js.map +0 -1
  1023. /package/dist/{chunk-PNLM35GU.js.map → chunk-2JNHWKQK.js.map} +0 -0
  1024. /package/dist/{chunk-PWF32ILG.js.map → chunk-2OYFTSG4.js.map} +0 -0
  1025. /package/dist/{chunk-CRZXSZ5O.js.map → chunk-2S752BIJ.js.map} +0 -0
  1026. /package/dist/{chunk-IWOVENC3.js.map → chunk-2XX45PC5.js.map} +0 -0
  1027. /package/dist/{chunk-ZW5K4XCQ.js.map → chunk-34BZXJGT.js.map} +0 -0
  1028. /package/dist/{chunk-KCAW6HRO.js.map → chunk-3AOQBR7N.js.map} +0 -0
  1029. /package/dist/{chunk-JFBEZXNL.js.map → chunk-3KREF4ZF.js.map} +0 -0
  1030. /package/dist/{chunk-SQYC57ZN.js.map → chunk-3RMDIO4G.js.map} +0 -0
  1031. /package/dist/{chunk-IL7JZKXY.js.map → chunk-442FSG7G.js.map} +0 -0
  1032. /package/dist/{chunk-GVLZZCSX.js.map → chunk-4B5XUQQS.js.map} +0 -0
  1033. /package/dist/{chunk-SN2YMCTL.js.map → chunk-4GWHYLEB.js.map} +0 -0
  1034. /package/dist/{chunk-ZZM3DOEK.js.map → chunk-5HDYTTE7.js.map} +0 -0
  1035. /package/dist/{chunk-E7T3A4IR.js.map → chunk-5JCGBCFJ.js.map} +0 -0
  1036. /package/dist/{chunk-GEXM6DNR.js.map → chunk-5KGABAQB.js.map} +0 -0
  1037. /package/dist/{chunk-FC7NQ6XM.js.map → chunk-5MW7OYBM.js.map} +0 -0
  1038. /package/dist/{chunk-5TJRJSJY.js.map → chunk-5OBXEMQO.js.map} +0 -0
  1039. /package/dist/{chunk-D5X4FRYX.js.map → chunk-6JNQLW5L.js.map} +0 -0
  1040. /package/dist/{chunk-RKI3MRKX.js.map → chunk-6N4AA2Y7.js.map} +0 -0
  1041. /package/dist/{chunk-7EIOXZWL.js.map → chunk-74P3YX7R.js.map} +0 -0
  1042. /package/dist/{chunk-A6AKFPIQ.js.map → chunk-7EH4D6FU.js.map} +0 -0
  1043. /package/dist/{chunk-7ZG7T2YN.js.map → chunk-7GHYCQCJ.js.map} +0 -0
  1044. /package/dist/{chunk-4WQ3YXQL.js.map → chunk-BFMDA6UO.js.map} +0 -0
  1045. /package/dist/{chunk-R75DZ3AK.js.map → chunk-BVLMKSHX.js.map} +0 -0
  1046. /package/dist/{chunk-B7BNNSM2.js.map → chunk-CNQUCNEA.js.map} +0 -0
  1047. /package/dist/{chunk-GGWICBJD.js.map → chunk-CPAJYJUD.js.map} +0 -0
  1048. /package/dist/{chunk-DMWSXWCZ.js.map → chunk-CZIX4BW2.js.map} +0 -0
  1049. /package/dist/{chunk-SYVNWXVW.js.map → chunk-DUBTI4DI.js.map} +0 -0
  1050. /package/dist/{chunk-RMCNEKBZ.js.map → chunk-DW6F7354.js.map} +0 -0
  1051. /package/dist/{chunk-XJUEHG72.js.map → chunk-EERUSI52.js.map} +0 -0
  1052. /package/dist/{chunk-FXNYV5Z6.js.map → chunk-F6D6HXZU.js.map} +0 -0
  1053. /package/dist/{chunk-UL7L6MFT.js.map → chunk-FFCJ7NR2.js.map} +0 -0
  1054. /package/dist/{chunk-GXCOXJS3.js.map → chunk-FNG33MKA.js.map} +0 -0
  1055. /package/dist/{chunk-4CTLEUK3.js.map → chunk-GLFTIGOF.js.map} +0 -0
  1056. /package/dist/{chunk-6SS5C74Q.js.map → chunk-GS3RP2QE.js.map} +0 -0
  1057. /package/dist/{chunk-L4UP5VYS.js.map → chunk-GVH7C2PT.js.map} +0 -0
  1058. /package/dist/{chunk-B2VXP2B2.js.map → chunk-GZT7MLLO.js.map} +0 -0
  1059. /package/dist/{chunk-AK2HOD6B.js.map → chunk-H5BEWPEY.js.map} +0 -0
  1060. /package/dist/{chunk-QIKPGMMO.js.map → chunk-H67EL3CG.js.map} +0 -0
  1061. /package/dist/{chunk-JJSZP3TW.js.map → chunk-I4QA2F4L.js.map} +0 -0
  1062. /package/dist/{chunk-AJ5SDHX5.js.map → chunk-JCL7WK4G.js.map} +0 -0
  1063. /package/dist/{chunk-ZMC3N23A.js.map → chunk-JSD5TFDK.js.map} +0 -0
  1064. /package/dist/{chunk-NE6XUN5Z.js.map → chunk-JU4MSYYH.js.map} +0 -0
  1065. /package/dist/{chunk-X2AKLDPW.js.map → chunk-KE473LK6.js.map} +0 -0
  1066. /package/dist/{chunk-5UTAEHSB.js.map → chunk-L7NQCLFU.js.map} +0 -0
  1067. /package/dist/{chunk-RZ2C5CAW.js.map → chunk-M2JTIH5M.js.map} +0 -0
  1068. /package/dist/{chunk-6KL2CJBO.js.map → chunk-MNHIK2OR.js.map} +0 -0
  1069. /package/dist/{chunk-343OLRFT.js.map → chunk-MR2HKBHS.js.map} +0 -0
  1070. /package/dist/{chunk-JFEEV3XI.js.map → chunk-NB3FGWU4.js.map} +0 -0
  1071. /package/dist/{chunk-KK57AHWS.js.map → chunk-OAEYCKBN.js.map} +0 -0
  1072. /package/dist/{chunk-JGRE56GQ.js.map → chunk-OB56SZGL.js.map} +0 -0
  1073. /package/dist/{chunk-E4TNDTWV.js.map → chunk-OL2BEJZR.js.map} +0 -0
  1074. /package/dist/{chunk-DZNMS2SH.js.map → chunk-OS6KPL4D.js.map} +0 -0
  1075. /package/dist/{chunk-UFLTL2RJ.js.map → chunk-PH36XEB3.js.map} +0 -0
  1076. /package/dist/{chunk-4LQZH4PU.js.map → chunk-PMOEG36E.js.map} +0 -0
  1077. /package/dist/{chunk-KJK2Q35C.js.map → chunk-PPRV4LTM.js.map} +0 -0
  1078. /package/dist/{chunk-EXZSHZRS.js.map → chunk-PWZHCBG3.js.map} +0 -0
  1079. /package/dist/{chunk-EFVOT3G5.js.map → chunk-PZ7PU4AP.js.map} +0 -0
  1080. /package/dist/{chunk-YBTC4XNO.js.map → chunk-QA2ZGCRL.js.map} +0 -0
  1081. /package/dist/{chunk-7LIXQZBG.js.map → chunk-QI5CRSOW.js.map} +0 -0
  1082. /package/dist/{chunk-ROT57BP4.js.map → chunk-R2XVTUVR.js.map} +0 -0
  1083. /package/dist/{chunk-V74PXUQN.js.map → chunk-R6SN73RX.js.map} +0 -0
  1084. /package/dist/{chunk-WPA26LXA.js.map → chunk-RZYSKQTS.js.map} +0 -0
  1085. /package/dist/{chunk-2UCLUDEB.js.map → chunk-SKT2V2OX.js.map} +0 -0
  1086. /package/dist/{chunk-EOW2ECB3.js.map → chunk-SNURSSTN.js.map} +0 -0
  1087. /package/dist/{chunk-TU3EGIKB.js.map → chunk-SSS64KYB.js.map} +0 -0
  1088. /package/dist/{chunk-CZBND7AY.js.map → chunk-T7DE44SP.js.map} +0 -0
  1089. /package/dist/{chunk-DHBYO7AO.js.map → chunk-TCV3N44E.js.map} +0 -0
  1090. /package/dist/{chunk-DB2ZFZVW.js.map → chunk-TKC6WHGB.js.map} +0 -0
  1091. /package/dist/{chunk-DVGBFT6O.js.map → chunk-UAVSBSV5.js.map} +0 -0
  1092. /package/dist/{chunk-ZAFFKQQU.js.map → chunk-UEVHI62V.js.map} +0 -0
  1093. /package/dist/{chunk-ADHMNIWS.js.map → chunk-UFJYJHQI.js.map} +0 -0
  1094. /package/dist/{chunk-BNEWMFVB.js.map → chunk-UGGJ3KDT.js.map} +0 -0
  1095. /package/dist/{chunk-KREWQAEV.js.map → chunk-VIRYHNEM.js.map} +0 -0
  1096. /package/dist/{chunk-SX3MEC3Q.js.map → chunk-VZIB5W5L.js.map} +0 -0
  1097. /package/dist/{chunk-N6CSXHFJ.js.map → chunk-WN5PNP6F.js.map} +0 -0
  1098. /package/dist/{chunk-FZ4YTEP2.js.map → chunk-XIG3DXXX.js.map} +0 -0
  1099. /package/dist/{chunk-CHFHILTM.js.map → chunk-XJJXBUPN.js.map} +0 -0
  1100. /package/dist/{chunk-GHTBUJ6E.js.map → chunk-XRUW7DMH.js.map} +0 -0
  1101. /package/dist/{chunk-DY4BP5WA.js.map → chunk-Y7F5JBAT.js.map} +0 -0
  1102. /package/dist/{chunk-6BDYC4RA.js.map → chunk-YRSR5LVZ.js.map} +0 -0
  1103. /package/dist/{chunk-TQBRWZA4.js.map → chunk-ZAY6OA6F.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/navigation/AppHeader/AppHeader.identity.tsx"],"sourcesContent":["'use client';\n\nimport KeyboardArrowDown from '@mui/icons-material/KeyboardArrowDown';\nimport Box from '@mui/material/Box/index.js';\nimport Skeleton from '@mui/material/Skeleton/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { useTheme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { sxRem } from '../../../tokens/relative';\nimport { accentFor, type SizeValue } from '../../../tokens/scales';\n\nimport { AppHeaderBrand } from './AppHeader.brand';\nimport type { AppHeaderIdentityProps, AppHeaderStatusProps } from './AppHeader.types';\n\n/** Title type scale, per house size step. */\nconst TITLE_PX: Record<SizeValue, number> = { xs: 14, sm: 15, md: 17, lg: 20, xl: 24 };\n\n/** One line, ellipsised — a long store name must not push the actions off-screen. */\nconst ONE_LINE = {\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n} as const;\n\n/**\n * The dotted state line: \"● Aberto agora · Retirada no balcão\".\n *\n * Segments are joined here rather than by the caller because the separator is a\n * presentational choice — a caller that pre-joins its own string can never be\n * restyled, and each segment loses the chance to carry its own markup.\n */\nexport const AppHeaderStatus: React.FC<AppHeaderStatusProps> = ({\n tone,\n items,\n separator = '·',\n className,\n dataTestId = 'app-header-status',\n}) => {\n const theme = useTheme();\n const visible = items.filter((item) => item !== null && item !== undefined && item !== '');\n if (visible.length === 0) return null;\n\n return (\n <Box\n className={className}\n data-testid={dataTestId}\n sx={{ display: 'flex', alignItems: 'center', gap: 0.75, ...ONE_LINE }}\n >\n {tone && (\n <Box\n aria-hidden\n data-testid={`${dataTestId}-dot`}\n sx={{\n width: 8,\n height: 8,\n flex: '0 0 auto',\n borderRadius: '50%',\n backgroundColor: accentFor(theme, tone).main,\n }}\n />\n )}\n <Typography variant=\"body2\" color=\"text.secondary\" component=\"span\" sx={ONE_LINE}>\n {visible.map((item, index) => (\n // Index keys: the segments are positional presentation, and nothing\n // here reorders or is keyed on identity elsewhere.\n <React.Fragment key={index}>\n {index > 0 && (\n <>\n {/* Real spaces, not margin. A screen reader reads `textContent`,\n and a CSS-only gap runs \"Aberto agora\" straight into\n \"Retirada no balcão\" as one word. The glyph itself is\n hidden — it is punctuation, not something to announce. */}\n {' '}\n <Box component=\"span\" aria-hidden>\n {separator}\n </Box>{' '}\n </>\n )}\n {item}\n </React.Fragment>\n ))}\n </Typography>\n </Box>\n );\n};\n\nAppHeaderStatus.displayName = 'AppHeaderStatus';\n\n/** The name and, when the block opens onto something, the chevron beside it. */\nconst IdentityTitle: React.FC<\n Pick<AppHeaderIdentityProps, 'title' | 'size'> & {\n interactive: boolean;\n disclosed: boolean;\n dataTestId: string;\n }\n> = ({ title, size = 'md', interactive, disclosed, dataTestId }) => (\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.25, minWidth: 0, width: '100%' }}>\n <Typography\n component=\"span\"\n data-testid={`${dataTestId}-title`}\n sx={{ fontSize: sxRem(TITLE_PX[size]), fontWeight: 700, lineHeight: 1.2, ...ONE_LINE }}\n >\n {title}\n </Typography>\n {interactive && (\n <KeyboardArrowDown\n aria-hidden\n data-testid={`${dataTestId}-chevron`}\n sx={{\n flex: '0 0 auto',\n fontSize: sxRem(20),\n opacity: 0.7,\n transition: 'transform 150ms ease',\n transform: disclosed ? 'rotate(180deg)' : 'none',\n }}\n />\n )}\n </Box>\n);\n\n/**\n * The disclosure, wrapping the NAME ROW and nothing else (12-63).\n *\n * The padding is cancelled by an equal negative margin, so the hover and the\n * focus ring bleed outward while the title still starts on the same pixel as\n * the lines under it. A padded button with no offset moves one of the two.\n */\nconst discloseSx = {\n display: 'flex',\n alignItems: 'center',\n gap: 0.25,\n width: '100%',\n minWidth: 0,\n appearance: 'none',\n px: 0.5,\n mx: -0.5,\n py: 0.25,\n my: -0.25,\n border: 'none',\n borderRadius: 1.5,\n background: 'none',\n color: 'inherit',\n font: 'inherit',\n textAlign: 'left',\n cursor: 'pointer',\n // Guarded: on a touch screen an unguarded `:hover` sticks after the tap that\n // opened the panel, so the row stays highlighted behind it.\n '@media (hover: hover)': { '&:hover': { backgroundColor: 'action.hover' } },\n '&:focus-visible': { outline: '2px solid', outlineColor: 'primary.main', outlineOffset: 2 },\n} as const;\n\n/**\n * The text column: the name row, then the quieter lines under it.\n *\n * ## `subtitle` and `status` are OUTSIDE the disclosure, on purpose (12-63)\n *\n * Both are `ReactNode`, and `AppHeaderStatus.items` is a `ReactNode[]` — so a\n * segment of the state line is free to be a control, and consumers put controls\n * there: a mesa chip, a service-mode picker. While the whole block was one\n * `<button>` those were `<button>`s inside a `<button>`, which is invalid HTML\n * (the content model of `button` excludes interactive content) and, more\n * visibly, means one tap fires two handlers. An adopting storefront opened two\n * popups on every tap of either control because of it, and had already\n * hand-rolled this component at one tier to dodge the nesting — a consumer\n * working around the component is the report.\n *\n * The target stays large. The button is the full-width NAME ROW, which is the\n * thing a reader aims at — what it gives up is the mark beside it, and a mark\n * that opens the panel is not worth a state line that cannot hold a control.\n */\nconst IdentityText: React.FC<\n Pick<\n AppHeaderIdentityProps,\n 'title' | 'subtitle' | 'status' | 'size' | 'discloseLabel' | 'className'\n > & {\n onDisclose: (() => void) | undefined;\n disclosed: boolean;\n dataTestId: string;\n }\n> = ({\n title,\n subtitle,\n status,\n size = 'md',\n onDisclose,\n disclosed,\n discloseLabel,\n className,\n dataTestId,\n}) => {\n const name = (\n <IdentityTitle\n title={title}\n size={size}\n interactive={Boolean(onDisclose)}\n disclosed={disclosed}\n dataTestId={dataTestId}\n />\n );\n return (\n <Box sx={{ minWidth: 0, flex: 1, display: 'flex', flexDirection: 'column', gap: 0.25 }}>\n {onDisclose ? (\n <Box\n component=\"button\"\n type=\"button\"\n className={className}\n data-testid={dataTestId}\n onClick={onDisclose}\n aria-haspopup=\"dialog\"\n aria-expanded={disclosed}\n aria-label={discloseLabel ?? `Detalhes de ${title}`}\n sx={discloseSx}\n >\n {name}\n </Box>\n ) : (\n name\n )}\n {subtitle && (\n <Typography variant=\"body2\" color=\"text.secondary\" component=\"span\" sx={ONE_LINE}>\n {subtitle}\n </Typography>\n )}\n {status}\n </Box>\n );\n};\n\n/** The placeholder held while the identity is still resolving. */\nconst IdentitySkeleton: React.FC<{ size: SizeValue; dataTestId: string }> = ({\n size,\n dataTestId,\n}) => (\n <Box\n data-testid={`${dataTestId}-loading`}\n sx={{ display: 'flex', alignItems: 'center', gap: 1.25, minWidth: 0 }}\n >\n <Skeleton variant=\"rounded\" width={40} height={40} sx={{ flex: '0 0 auto' }} />\n <Box sx={{ minWidth: 0, flex: 1 }}>\n <Skeleton variant=\"text\" width={140} height={TITLE_PX[size] * 1.4} />\n <Skeleton variant=\"text\" width={180} height={16} />\n </Box>\n </Box>\n);\n\n/**\n * The BLOCK's row: the mark, then the text column beside it.\n *\n * Always a `Box` div now — since 12-63 the disclosure is the name row inside\n * the text column ({@link discloseSx}), not this element. `width: '100%'` and\n * `minWidth: 0` stay because the column below still has to ellipsise against\n * something; the argument about a `<button>` sizing to max-content moved to\n * `discloseSx`, which is where the button now is.\n */\nconst rowSx = {\n display: 'flex',\n alignItems: 'center',\n gap: 1.25,\n width: '100%',\n minWidth: 0,\n textAlign: 'left',\n} as const;\n\n/**\n * Mark + title + state line, and — when it can be opened — a name row that is\n * the button.\n *\n * The disclosure used to wrap EVERYTHING, on the argument that the chevron\n * alone is a 20px target next to a 40px mark that does nothing. The target is\n * still not the chevron: the button is the full-width NAME ROW, which is what a\n * reader aims at. What it no longer swallows is the mark beside it and the\n * quieter lines below — because those lines take `ReactNode`s, consumers put\n * CONTROLS in them, and a control inside a button is invalid HTML whose every\n * tap fires two handlers. See {@link IdentityText} (12-63).\n *\n * `className` and `dataTestId` stay on the same elements they always named: the\n * block when it is static, the disclosure when there is one.\n */\nexport const AppHeaderIdentity: React.FC<AppHeaderIdentityProps> = ({\n title,\n subtitle,\n status,\n mark,\n logoUrl,\n seedColor,\n onDisclose,\n disclosed = false,\n discloseLabel,\n loading = false,\n size = 'md',\n className,\n dataTestId = 'app-header-identity',\n}) => {\n if (loading) return <IdentitySkeleton size={size} dataTestId={dataTestId} />;\n\n return (\n <Box\n className={onDisclose ? undefined : className}\n data-testid={onDisclose ? undefined : dataTestId}\n sx={rowSx}\n >\n {mark ?? (\n <AppHeaderBrand\n name={title}\n logoUrl={logoUrl}\n seedColor={seedColor}\n size={size}\n dataTestId={`${dataTestId}-brand`}\n />\n )}\n <IdentityText\n title={title}\n subtitle={subtitle}\n status={status}\n size={size}\n onDisclose={onDisclose}\n disclosed={disclosed}\n discloseLabel={discloseLabel}\n className={className}\n dataTestId={dataTestId}\n />\n </Box>\n );\n};\n\nAppHeaderIdentity.displayName = 'AppHeaderIdentity';\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/HeaderActions/HeaderActions.tsx"],"sourcesContent":["'use client';\n\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport MoreHorizIcon from '@mui/icons-material/MoreHoriz';\nimport Box from '@mui/material/Box/index.js';\nimport ListItemIcon from '@mui/material/ListItemIcon/index.js';\nimport ListItemText from '@mui/material/ListItemText/index.js';\nimport Menu from '@mui/material/Menu/index.js';\nimport MenuItem from '@mui/material/MenuItem/index.js';\nimport React, { useState } from 'react';\n\nimport { HeaderButton } from '../HeaderButton';\nimport type { HeaderActionItem, HeaderActionsProps } from './HeaderActions.types';\n\n/** Drop the gated-away entries, so everything below can count what is left. */\nfunction present(\n actions: HeaderActionsProps['actions'],\n): HeaderActionItem[] {\n return actions.filter(\n (action): action is HeaderActionItem => Boolean(action) && (action as HeaderActionItem).visible !== false,\n );\n}\n\n/**\n * The page header's actions, as ONE control that scales with how many there\n * are: nothing, a button, or a button plus an overflow menu.\n *\n * | actions | renders |\n * |---|---|\n * | 0 | nothing at all — not an empty box, and not a menu with no items |\n * | 1 | that action, as an ordinary `HeaderButton` |\n * | n | the FIRST as a button; the other n−1 inside one dropdown |\n *\n * ## Why the first one stays a button\n *\n * A header whose every action lives behind a menu costs two clicks for the\n * thing the page is FOR — \"Novo produto\" on a catalog, \"Nova categoria\" on the\n * categories list. Folding it in with the exports and the reorder screens\n * would treat a merchant's daily action as equal to the one they use monthly.\n * So the array is in PRIORITY order and index 0 keeps its button; everything\n * after it is secondary by the caller's own declaration.\n *\n * ## Why this takes a list and not children\n *\n * The 0/1/n decision is only decidable over data. A component handed JSX can\n * count `React.Children`, but it cannot tell a gated-away action from an\n * absent one, cannot read a label to put in a menu row, and cannot re-render\n * a `<Button>` as a `<MenuItem>` without reaching into its props. Every\n * caller in the estate had therefore hand-written the row, which is how four\n * equally-weighted buttons ended up wrapping the line on a catalog page.\n *\n * ## One element, so the spacing is the component's and not the mount's\n *\n * It renders an `inline-flex` box rather than a fragment. A fragment inherits\n * whatever gap its parent happens to set, and the two mounts here set\n * different ones — a `Dashboard.Header` spaces its children, a\n * `Dashboard.Action` slot does not, which is why the pair of buttons in that\n * slot sat flush against each other. The gap belongs to the control.\n *\n * ## The ids survive the move\n *\n * An action that overflows keeps its `dataTestId` on its `MenuItem`. It is a\n * different element in a different place, and it must still answer to the same\n * selector: otherwise adding a fifth action to a header silently breaks the\n * suite of the action that got pushed out, which is the last place anyone\n * would look.\n */\nexport function HeaderActions({\n actions,\n moreLabel,\n collapseBelow = 'md',\n testIdPrefix = 'header-actions',\n}: HeaderActionsProps): React.JSX.Element | null {\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n const items = present(actions);\n const open = Boolean(anchorEl);\n\n // Before the early return would be a conditional hook; after it is the only\n // legal place. Nothing below runs for an empty list anyway.\n const [primary, ...overflow] = items;\n if (!primary) return null;\n\n return (\n <Box sx={{ display: 'inline-flex', alignItems: 'center', gap: 1 }}>\n <HeaderButton\n text={primary.text}\n icon={primary.icon}\n onClick={primary.onClick}\n disabled={primary.disabled}\n variant={primary.variant}\n color={primary.color}\n collapseBelow={collapseBelow}\n dataTestId={primary.dataTestId ?? primary.id}\n />\n {overflow.length > 0 && (\n <>\n <HeaderButton\n text={moreLabel}\n icon={<MoreHorizIcon fontSize=\"small\" />}\n endIcon={<ExpandMoreIcon fontSize=\"small\" />}\n onClick={(event) => setAnchorEl(event.currentTarget)}\n collapseBelow={collapseBelow}\n aria-haspopup=\"menu\"\n aria-expanded={open}\n dataTestId={`${testIdPrefix}-more-trigger`}\n />\n <Menu\n anchorEl={anchorEl}\n open={open}\n onClose={() => setAnchorEl(null)}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\n data-testid={`${testIdPrefix}-more-menu`}\n >\n {overflow.map((action) => (\n <MenuItem\n key={action.id}\n disabled={action.disabled}\n onClick={() => {\n setAnchorEl(null);\n action.onClick?.();\n }}\n data-testid={action.dataTestId ?? action.id}\n >\n <ListItemIcon sx={{ minWidth: 32 }}>{action.icon}</ListItemIcon>\n <ListItemText>{action.text}</ListItemText>\n </MenuItem>\n ))}\n </Menu>\n </>\n )}\n </Box>\n );\n}\n"],"mappings":";;;;;AAEA,OAAO,oBAAoB;AAC3B,OAAO,mBAAmB;AAC1B,OAAO,SAAS;AAChB,OAAO,kBAAkB;AACzB,OAAO,kBAAkB;AACzB,OAAO,UAAU;AACjB,OAAO,cAAc;AACrB,SAAgB,gBAAgB;AA2E1B,SAWE,UAXF,KA+BQ,YA/BR;AArEN,SAAS,QACP,SACoB;AACpB,SAAO,QAAQ;AAAA,IACb,CAAC,WAAuC,QAAQ,MAAM,KAAM,OAA4B,YAAY;AAAA,EACtG;AACF;AA8CO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,gBAAgB;AAAA,EAChB,eAAe;AACjB,GAAiD;AAC/C,QAAM,CAAC,UAAU,WAAW,IAAI,SAA6B,IAAI;AACjE,QAAM,QAAQ,QAAQ,OAAO;AAC7B,QAAM,OAAO,QAAQ,QAAQ;AAI7B,QAAM,CAAC,SAAS,GAAG,QAAQ,IAAI;AAC/B,MAAI,CAAC,QAAS,QAAO;AAErB,SACE,qBAAC,OAAI,IAAI,EAAE,SAAS,eAAe,YAAY,UAAU,KAAK,EAAE,GAC9D;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,QAAQ;AAAA,QACd,MAAM,QAAQ;AAAA,QACd,SAAS,QAAQ;AAAA,QACjB,UAAU,QAAQ;AAAA,QAClB,SAAS,QAAQ;AAAA,QACjB,OAAO,QAAQ;AAAA,QACf;AAAA,QACA,YAAY,QAAQ,cAAc,QAAQ;AAAA;AAAA,IAC5C;AAAA,IACC,SAAS,SAAS,KACjB,iCACE;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,MAAM;AAAA,UACN,MAAM,oBAAC,iBAAc,UAAS,SAAQ;AAAA,UACtC,SAAS,oBAAC,kBAAe,UAAS,SAAQ;AAAA,UAC1C,SAAS,CAAC,UAAU,YAAY,MAAM,aAAa;AAAA,UACnD;AAAA,UACA,iBAAc;AAAA,UACd,iBAAe;AAAA,UACf,YAAY,GAAG,YAAY;AAAA;AAAA,MAC7B;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA,SAAS,MAAM,YAAY,IAAI;AAAA,UAC/B,cAAc,EAAE,UAAU,UAAU,YAAY,QAAQ;AAAA,UACxD,iBAAiB,EAAE,UAAU,OAAO,YAAY,QAAQ;AAAA,UACxD,eAAa,GAAG,YAAY;AAAA,UAE3B,mBAAS,IAAI,CAAC,WACb;AAAA,YAAC;AAAA;AAAA,cAEC,UAAU,OAAO;AAAA,cACjB,SAAS,MAAM;AACb,4BAAY,IAAI;AAChB,uBAAO,UAAU;AAAA,cACnB;AAAA,cACA,eAAa,OAAO,cAAc,OAAO;AAAA,cAEzC;AAAA,oCAAC,gBAAa,IAAI,EAAE,UAAU,GAAG,GAAI,iBAAO,MAAK;AAAA,gBACjD,oBAAC,gBAAc,iBAAO,MAAK;AAAA;AAAA;AAAA,YATtB,OAAO;AAAA,UAUd,CACD;AAAA;AAAA,MACH;AAAA,OACF;AAAA,KAEJ;AAEJ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/navigation/NavigationMenu/NavigationMegaSection.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport List from '@mui/material/List/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport type { FC } from 'react';\nimport React from 'react';\n\nimport { MegaSection } from './NavigationMenu.shell';\nimport { slideIn } from './NavigationMenu.styles';\nimport type { NavigationMenuItem } from './NavigationMenu.types';\nimport { renderMenuItem } from './NavigationMenuItem';\n\nconst SECTION_TITLE_SX = {\n mb: 2.5,\n color: 'primary.main',\n fontWeight: 600,\n position: 'relative',\n paddingBottom: 1,\n // The short rule under each section heading.\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n bottom: 0,\n left: 0,\n width: '40px',\n height: '3px',\n background: (theme: { palette: { primary: { main: string } } }) =>\n `linear-gradient(90deg, ${theme.palette.primary.main} 0%, transparent 100%)`,\n borderRadius: '2px',\n },\n} as const;\n\nexport interface NavigationMegaSectionProps {\n section: NavigationMenuItem;\n sectionIndex: number;\n variant?: string;\n size?: string;\n minimal?: boolean;\n}\n\n// One column of the mega menu: a heading and its children, each staggered so the\n// grid fills in rather than appearing all at once.\nexport const NavigationMegaSection: FC<NavigationMegaSectionProps> = ({\n section,\n sectionIndex,\n variant,\n size,\n minimal,\n}) => (\n <MegaSection>\n <Typography variant=\"h6\" sx={SECTION_TITLE_SX}>\n {section.label}\n </Typography>\n <List sx={{ p: 0 }}>\n {section.children?.map((item, itemIndex) => (\n <Box\n key={item.id}\n sx={{\n animation: `${slideIn} 0.4s ease-out`,\n animationDelay: `${sectionIndex * 0.1 + itemIndex * 0.05}s`,\n animationFillMode: 'both',\n }}\n >\n {renderMenuItem(item, variant, size, false, minimal, 0)}\n </Box>\n ))}\n </List>\n </MegaSection>\n);\n"],"mappings":";;;;;;;;;;;AAAA,OAAO,SAAS;AAChB,OAAO,UAAU;AACjB,OAAO,gBAAgB;AA8CrB,SACE,KADF;AArCF,IAAM,mBAAmB;AAAA,EACvB,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,eAAe;AAAA;AAAA,EAEf,YAAY;AAAA,IACV,SAAS;AAAA,IACT,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,YAAY,CAAC,UACX,0BAA0B,MAAM,QAAQ,QAAQ,IAAI;AAAA,IACtD,cAAc;AAAA,EAChB;AACF;AAYO,IAAM,wBAAwD,CAAC;AAAA,EACpE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACE,qBAAC,eACC;AAAA,sBAAC,cAAW,SAAQ,MAAK,IAAI,kBAC1B,kBAAQ,OACX;AAAA,EACA,oBAAC,QAAK,IAAI,EAAE,GAAG,EAAE,GACd,kBAAQ,UAAU,IAAI,CAAC,MAAM,cAC5B;AAAA,IAAC;AAAA;AAAA,MAEC,IAAI;AAAA,QACF,WAAW,GAAG,OAAO;AAAA,QACrB,gBAAgB,GAAG,eAAe,MAAM,YAAY,IAAI;AAAA,QACxD,mBAAmB;AAAA,MACrB;AAAA,MAEC,yBAAe,MAAM,SAAS,MAAM,OAAO,SAAS,CAAC;AAAA;AAAA,IAPjD,KAAK;AAAA,EAQZ,CACD,GACH;AAAA,GACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/RadioGroup/RadioGroup.styles.ts"],"sourcesContent":["import { alpha } from '@mui/material/styles/index.js';\nimport type { CSSObject, Theme } from '@mui/material/styles/index.js';\n\nimport { glowAnimation, rippleAnimation, scaleAnimation, slideAnimation } from './RadioGroup.animations';\n\nimport { fieldEdge } from '../../../tokens/field-edge';\nimport { fieldRadius } from '../../../tokens/field-radius';\nimport { asFieldSize, FIELD_BORDER_WIDTH, fieldHeight } from '../../../tokens/field-height';\nimport { absoluteInk, controlNeutral } from '../../../tokens/ink';\nimport { rem } from '../../../tokens/relative';\n\n/** The segment track's padding and border: its corner is the segments' plus these. */\nconst SEGMENT_TRACK_PADDING = 4;\nconst SEGMENT_TRACK_BORDER = 1;\n\ninterface ColorPalette {\n main: string;\n dark?: string;\n light?: string;\n contrastText?: string;\n}\n\n/** `neutral` is not a MUI palette entry, so it is the controls' neutral tone. */\nconst neutralPalette = (theme: Theme): ColorPalette => controlNeutral(theme);\n\n/** `danger` is this component's name for the error palette; the rest map straight through. */\nconst namedPalette = (theme: Theme, color: string): ColorPalette => {\n const colorMap: Record<string, ColorPalette> = {\n primary: theme.palette.primary,\n secondary: theme.palette.secondary,\n success: theme.palette.success,\n warning: theme.palette.warning,\n info: theme.palette.info,\n danger: theme.palette.error,\n };\n\n return colorMap[color] || theme.palette.primary;\n};\n\n/**\n * Resolves a colour name to a full palette, filling any step the theme leaves\n * out from `main` and then from the primary palette. Split into three so the\n * fallback chains do not all count against one function.\n */\nconst getColorFromTheme = (theme: Theme, color: string): ColorPalette => {\n if (color === 'neutral') {\n return neutralPalette(theme);\n }\n\n const palette = namedPalette(theme, color);\n const { primary } = theme.palette;\n\n // namedPalette always yields a palette, so these need no optional chaining;\n // each step still falls back to `main` and then to primary when the theme\n // leaves it out.\n return {\n main: palette.main || primary.main,\n dark: palette.dark || palette.main || primary.dark,\n light: palette.light || palette.main || primary.light,\n contrastText: palette.contrastText || absoluteInk(theme).white,\n };\n};\n\ntype SizeKey = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\nconst pickSize = <T,>(map: Record<SizeKey, T>, size: string): T => map[size as SizeKey] ?? map.md;\n\nconst CARD_SIZES: Record<SizeKey, CSSObject> = {\n xs: { padding: '8px', minHeight: '60px' },\n sm: { padding: '12px', minHeight: '70px' },\n md: { padding: '16px', minHeight: '80px' },\n lg: { padding: '20px', minHeight: '90px' },\n xl: { padding: '24px', minHeight: '100px' },\n};\n\nconst BUTTON_SIZES: Record<SizeKey, (theme: Theme) => CSSObject> = {\n xs: (theme) => ({ padding: '6px 12px', fontSize: rem(theme, 12), minHeight: '32px' }),\n sm: (theme) => ({ padding: '8px 16px', fontSize: rem(theme, 14), minHeight: '36px' }),\n md: (theme) => ({ padding: '10px 20px', fontSize: rem(theme, 16), minHeight: '40px' }),\n lg: (theme) => ({ padding: '12px 24px', fontSize: rem(theme, 18), minHeight: '44px' }),\n xl: (theme) => ({ padding: '14px 28px', fontSize: rem(theme, 20), minHeight: '48px' }),\n};\n\nconst SEGMENT_SIZES: Record<SizeKey, (theme: Theme) => CSSObject> = {\n xs: (theme) => ({ padding: '4px 8px', fontSize: rem(theme, 12) }),\n sm: (theme) => ({ padding: '6px 12px', fontSize: rem(theme, 14) }),\n md: (theme) => ({ padding: '8px 16px', fontSize: rem(theme, 16) }),\n lg: (theme) => ({ padding: '10px 20px', fontSize: rem(theme, 18) }),\n xl: (theme) => ({ padding: '12px 24px', fontSize: rem(theme, 20) }),\n};\n\nexport interface SurfaceFlags {\n selected?: boolean;\n customColor?: string;\n glass?: boolean;\n gradient?: boolean;\n glow?: boolean;\n customSize?: string;\n animated?: boolean;\n}\n\nexport const formLabelSx = (theme: Theme, glass?: boolean, error?: boolean): CSSObject => ({\n marginBottom: theme.spacing(2),\n fontWeight: 600,\n color: error ? theme.palette.error.main : theme.palette.text.primary,\n ...(glass && {\n backgroundColor: alpha(theme.palette.background.paper, 0.1),\n backdropFilter: 'blur(10px)',\n padding: '8px 12px',\n borderRadius: '8px',\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n display: 'inline-block',\n }),\n});\n\n/** The card's resting surface, before glass/gradient/glow override parts of it. */\nconst cardBase = (theme: Theme, flags: SurfaceFlags, palette: ColorPalette): CSSObject => {\n const { selected, animated, customSize = 'md' } = flags;\n\n return {\n cursor: 'pointer',\n transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)',\n border: `2px solid ${selected ? palette.main : fieldEdge(theme)}`,\n backgroundColor: selected ? alpha(palette.main, 0.05) : theme.palette.background.paper,\n position: 'relative' as const,\n overflow: 'hidden' as const,\n ...(animated && { animation: `${slideAnimation} 0.4s ease-out` }),\n // A radial wash that grows from the centre as the card is selected or hovered.\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: '50%',\n left: '50%',\n width: selected ? '100%' : '0',\n height: selected ? '100%' : '0',\n background: `radial-gradient(circle, ${alpha(palette.main, 0.1)} 0%, transparent 70%)`,\n transform: 'translate(-50%, -50%)',\n transition: 'all 0.5s ease',\n borderRadius: '50%',\n },\n '&:hover': {\n borderColor: palette.main,\n backgroundColor: alpha(palette.main, 0.02),\n transform: 'translateY(-2px) scale(1.02)',\n boxShadow: `${theme.shadows[4]}, 0 10px 30px -5px ${alpha(palette.main, 0.2)}`,\n '&::before': { width: '120%', height: '120%' },\n },\n '&:active': { transform: 'scale(0.98)' },\n ...pickSize(CARD_SIZES, customSize),\n };\n};\n\nexport const radioCardSx = (theme: Theme, flags: SurfaceFlags): CSSObject => {\n const { selected, customColor = 'primary', glass, gradient, glow } = flags;\n const palette = getColorFromTheme(theme, customColor);\n\n return {\n ...cardBase(theme, flags, palette),\n ...(glass && {\n backgroundColor: selected\n ? alpha(palette.main, 0.1)\n : alpha(theme.palette.background.paper, 0.1),\n backdropFilter: 'blur(20px)',\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n }),\n ...(gradient &&\n selected && {\n background: `linear-gradient(135deg, ${alpha(palette.main, 0.1)}, ${alpha(palette.light || palette.main, 0.05)})`,\n borderColor: palette.main,\n }),\n ...(glow &&\n selected && {\n animation: `${glowAnimation} 2s ease-in-out infinite`,\n boxShadow: `0 0 15px ${alpha(palette.main, 0.4)}`,\n }),\n };\n};\n\n/** The pill button's resting surface, before glass/gradient override parts of it. */\nconst buttonBase = (theme: Theme, flags: SurfaceFlags, palette: ColorPalette): CSSObject => {\n const { selected, animated, customSize = 'md' } = flags;\n\n return {\n borderRadius: fieldRadius(theme),\n transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)',\n fontWeight: 500,\n border: `${FIELD_BORDER_WIDTH}px solid ${selected ? palette.main : fieldEdge(theme)}`,\n backgroundColor: selected ? palette.main : 'transparent',\n color: selected ? palette.contrastText || absoluteInk(theme).white : theme.palette.text.primary,\n position: 'relative' as const,\n overflow: 'hidden' as const,\n ...(animated && selected && { animation: `${scaleAnimation} 0.3s ease-out` }),\n // Sized to zero until pressed, when the ripple keyframes expand it.\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: '50%',\n left: '50%',\n width: 0,\n height: 0,\n borderRadius: '50%',\n backgroundColor: alpha(palette.contrastText || absoluteInk(theme).white, 0.3),\n transform: 'translate(-50%, -50%)',\n pointerEvents: 'none' as const,\n },\n '&:active::after': {\n animation: `${rippleAnimation} 0.6s ease-out`,\n width: '100%',\n height: '100%',\n },\n '&:hover': {\n borderColor: palette.main,\n backgroundColor: selected ? palette.dark : alpha(palette.main, 0.1),\n transform: 'translateY(-1px) scale(1.02)',\n boxShadow: `0 4px 12px ${alpha(palette.main, 0.2)}`,\n },\n '&:active': { transform: 'scale(0.98)' },\n ...pickSize(BUTTON_SIZES, customSize)(theme),\n // The theme's field height for the size, in place of the table's own.\n minHeight: fieldHeight(theme, asFieldSize(customSize)),\n paddingTop: 0,\n paddingBottom: 0,\n };\n};\n\nexport const buttonRadioSx = (theme: Theme, flags: SurfaceFlags): CSSObject => {\n const { selected, customColor = 'primary', glass, gradient } = flags;\n const palette = getColorFromTheme(theme, customColor);\n\n return {\n ...buttonBase(theme, flags, palette),\n ...(glass && {\n backgroundColor: selected\n ? alpha(palette.main, 0.8)\n : alpha(theme.palette.background.paper, 0.1),\n backdropFilter: 'blur(20px)',\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n }),\n ...(gradient &&\n selected && {\n background: `linear-gradient(135deg, ${palette.main}, ${palette.dark})`,\n border: 'none',\n }),\n };\n};\n\nexport const segmentContainerSx = (\n theme: Theme,\n glass?: boolean,\n customColor = 'primary',\n): CSSObject => {\n const palette = getColorFromTheme(theme, customColor);\n\n return {\n padding: `${SEGMENT_TRACK_PADDING}px`,\n // Concentric with the segments inside it, which take the field radius.\n borderRadius: fieldRadius(theme) + SEGMENT_TRACK_PADDING + SEGMENT_TRACK_BORDER,\n backgroundColor: glass\n ? alpha(theme.palette.background.paper, 0.1)\n : alpha(palette.main, 0.05),\n backdropFilter: glass ? 'blur(20px)' : 'none',\n border: `${SEGMENT_TRACK_BORDER}px solid ${alpha(theme.palette.divider, 0.2)}`,\n display: 'flex',\n gap: '2px',\n };\n};\n\n/**\n * An underline that grows from the centre outwards, and is already full width\n * when the segment is the selected one.\n */\nconst segmentUnderline = (color: string, selected: boolean): CSSObject => ({\n content: '\"\"',\n position: 'absolute',\n bottom: 0,\n left: selected ? 0 : '50%',\n width: selected ? '100%' : 0,\n height: '2px',\n backgroundColor: color,\n transition: 'all 0.3s ease',\n transform: selected ? 'translateX(0)' : 'translateX(-50%)',\n});\n\nexport const segmentButtonSx = (theme: Theme, flags: SurfaceFlags): CSSObject => {\n const { selected, customColor = 'primary', customSize = 'md', animated } = flags;\n const palette = getColorFromTheme(theme, customColor);\n\n return {\n flex: 1,\n borderRadius: fieldRadius(theme),\n transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)',\n fontWeight: 500,\n backgroundColor: selected ? theme.palette.background.paper : 'transparent',\n color: selected ? palette.main : theme.palette.text.secondary,\n boxShadow: selected\n ? `${theme.shadows[2]}, inset 0 1px 3px ${alpha(palette.main, 0.1)}`\n : 'none',\n position: 'relative' as const,\n overflow: 'hidden' as const,\n ...(animated && selected && { animation: `${scaleAnimation} 0.3s ease-out` }),\n '&::before': segmentUnderline(palette.main, Boolean(selected)),\n '&:hover': {\n backgroundColor: selected\n ? theme.palette.background.paper\n : alpha(theme.palette.action.hover, 0.08),\n color: palette.main,\n '&::before': { width: '100%', left: 0, transform: 'translateX(0)' },\n },\n '&:active': { transform: 'scale(0.98)' },\n ...pickSize(SEGMENT_SIZES, customSize)(theme),\n // Each segment is a field; the track around it adds its own inset.\n minHeight: fieldHeight(theme, asFieldSize(customSize)),\n paddingTop: 0,\n paddingBottom: 0,\n };\n};\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/navigation/Breadcrumbs/BreadcrumbEntry.tsx"],"sourcesContent":["import Home from '@mui/icons-material/Home';\nimport MoreHoriz from '@mui/icons-material/MoreHoriz';\nimport Box from '@mui/material/Box/index.js';\nimport Fade from '@mui/material/Fade/index.js';\nimport Link from '@mui/material/Link/index.js';\nimport Tooltip from '@mui/material/Tooltip/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { alpha, styled } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { breadcrumbLinkStyles } from './Breadcrumbs.styles';\nimport type { BreadcrumbItem } from './Breadcrumbs.types';\nimport type { BreadcrumbCopy } from '../../../copy';\nimport { sheen, uiInk } from '../../../tokens/ink';\nimport { rem } from '../../../tokens/relative';\n\nconst BreadcrumbLink = styled(Link, {\n shouldForwardProp: (prop) => prop !== 'size' && prop !== 'active' && prop !== 'visualStyle' })<{ size?: string; active?: boolean; visualStyle?: string }>(\n ({ theme, size, active, visualStyle }) => ({\n ...breadcrumbLinkStyles({ theme, size, active, visualStyle }) }),\n);\n\nconst BreadcrumbText = styled(Typography, {\n shouldForwardProp: (prop) => prop !== 'size' && prop !== 'visualStyle' })<{ size?: string; visualStyle?: string }>(({ theme, size, visualStyle }) => ({\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(0.5),\n fontSize: rem(theme, size === 'sm' ? 14 : size === 'lg' ? 18 : 16),\n fontWeight: 600,\n color: theme.palette.primary.main,\n padding: theme.spacing(0.5, 0.75),\n borderRadius: theme.spacing(0.75),\n position: 'relative',\n\n ...(visualStyle === 'glass' && {\n background: `linear-gradient(135deg, ${alpha(theme.palette.primary.main, 0.1)} 0%, ${alpha(theme.palette.primary.main, 0.05)} 100%)`,\n backdropFilter: 'blur(4px)',\n border: `1px solid ${alpha(theme.palette.primary.main, 0.2)}` }),\n\n '& .breadcrumb-icon': {\n color: theme.palette.primary.main },\n\n // Mobile responsiveness\n [theme.breakpoints.down('sm')]: {\n fontSize: rem(theme, size === 'lg' ? 16 : size === 'sm' ? 12 : 14),\n padding: theme.spacing(0.375, 0.5) } }));\n\n// Animated separator wrapper\n\n// Mobile collapsed menu component\n// The list that drops down from the \"...\" trigger.\nconst CollapsedItemsPopover: React.FC<{\n open: boolean;\n items: BreadcrumbItem[];\n size: string;\n visualStyle?: string;\n dataTestId?: string;\n onSelect: () => void;\n}> = ({ open, items, dataTestId, onSelect }) => (\n<Fade in={open}>\n <Box\n sx={{\n background: (theme) =>\n theme.palette.mode === 'dark'\n ? alpha(uiInk(theme).glassSlate, 0.95)\n : sheen(theme, 0.95),\n backdropFilter: 'blur(10px)',\n borderRadius: 1,\n boxShadow: 3,\n p: 1,\n minWidth: 150 }}\n >\n {items.map((item, index) => (\n <Box\n key={index}\n component=\"a\"\n href={item.href || '#'}\n onClick={(e) => {\n onSelect();\n item.onClick?.(e);\n }}\n sx={{\n display: 'block',\n px: 2,\n py: 1,\n color: 'text.secondary',\n textDecoration: 'none',\n borderRadius: 0.5,\n transition: 'all 0.2s',\n '&:hover': {\n backgroundColor: 'action.hover',\n color: 'primary.main' } }}\n data-testid={dataTestId ? `${dataTestId}-collapsed-item-${index}` : `breadcrumbs-collapsed-item-${index}`}\n >\n {item.label}\n </Box>\n ))}\n </Box>\n </Fade>\n);\n\nconst CollapsedMenu = ({\n items,\n size,\n visualStyle,\n copy,\n dataTestId }: {\n items: BreadcrumbItem[];\n size: string;\n visualStyle?: string;\n copy: BreadcrumbCopy;\n dataTestId?: string;\n}) => {\n const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);\n const open = Boolean(anchorEl);\n\n const handleClick = (event: React.MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n return (\n <>\n <Tooltip title={copy.showMore} arrow>\n <BreadcrumbLink\n onClick={handleClick}\n size={size}\n visualStyle={visualStyle}\n sx={{ cursor: 'pointer' }}\n data-testid={dataTestId ? `${dataTestId}-collapsed-menu` : 'breadcrumbs-collapsed-menu'}\n >\n <MoreHoriz className=\"breadcrumb-icon\" />\n </BreadcrumbLink>\n </Tooltip>\n <Box\n sx={{\n position: 'absolute',\n top: '100%',\n left: 0,\n mt: 1,\n display: open ? 'block' : 'none',\n zIndex: 1000 }}\n data-testid={dataTestId ? `${dataTestId}-collapsed-menu-items` : 'breadcrumbs-collapsed-menu-items'}\n >\n <CollapsedItemsPopover\n open={open}\n items={items}\n size={size}\n visualStyle={visualStyle}\n dataTestId={dataTestId}\n onSelect={handleClose}\n />\n </Box>\n </>\n );\n};\n\n// The leading crumb gets a house unless it brings its own icon; everything else\n// shows only what it supplies.\nconst crumbIcon = ({\n item,\n isFirst,\n showHomeIcon,\n iconSize }: {\n item: BreadcrumbItem;\n isFirst: boolean;\n showHomeIcon: boolean;\n iconSize: 'small' | 'medium';\n}) => {\n if (isFirst && showHomeIcon && !item.icon) {\n return <Home className=\"breadcrumb-icon\" fontSize={iconSize} />;\n }\n\n if (!item.icon) return null;\n\n return (\n <Box component=\"span\" className=\"breadcrumb-icon\" sx={{ display: 'flex', alignItems: 'center' }}>\n {item.icon}\n </Box>\n );\n};\n\nconst EllipsisCrumb: React.FC<{ label: string; copy: BreadcrumbCopy; dataTestId?: string }> = ({\n label,\n copy,\n dataTestId }) => (\n <Tooltip title={copy.moreItems} arrow>\n <Box\n sx={{\n px: 1,\n color: 'text.disabled',\n cursor: 'default',\n userSelect: 'none' }}\n data-testid={dataTestId ? `${dataTestId}-ellipsis` : 'breadcrumbs-ellipsis'}\n >\n {label}\n </Box>\n </Tooltip>\n);\n\n// The same conditional test id was written at each crumb variant. An item that\n// names its OWN id wins: see `BreadcrumbItem.dataTestId`.\nconst makeTestId =\n (dataTestId?: string) =>\n (suffix: string, own?: string): string =>\n own ?? (dataTestId ? `${dataTestId}-${suffix}` : `breadcrumbs-${suffix}`);\n\nconst ClickableCrumb: React.FC<{\n item: BreadcrumbItem;\n index: number;\n icon: React.ReactNode;\n size: string;\n variant: string;\n isActive: boolean;\n testId: (suffix: string, own?: string) => string;\n}> = ({ item, index, icon, size, variant, isActive, testId }) => (\n <Tooltip title={item.tooltip || item.label} arrow disableHoverListener={!item.tooltip}>\n <BreadcrumbLink\n href={item.href || '#'}\n onClick={item.onClick}\n size={size}\n visualStyle={variant}\n active={isActive}\n underline=\"none\"\n aria-label={item.ariaLabel || item.label}\n data-testid={testId(`link-${index}`, item.dataTestId)}\n >\n {icon}\n <span>{item.label}</span>\n </BreadcrumbLink>\n </Tooltip>\n);\n\n// One crumb: the collapsed-menu stand-in, the ellipsis, the active tail item or\n// a plain link.\nexport const BreadcrumbEntry: React.FC<{\n item: BreadcrumbItem & { isEllipsis?: boolean };\n index: number;\n itemCount: number;\n collapsedItems: BreadcrumbItem[];\n collapseBehavior: string;\n separator: React.ReactNode;\n showHomeIcon: boolean;\n iconSize: 'small' | 'medium';\n size: string;\n variant: string;\n copy: BreadcrumbCopy;\n dataTestId?: string;\n}> = ({\n item,\n index,\n itemCount,\n collapsedItems,\n collapseBehavior,\n separator,\n showHomeIcon,\n iconSize,\n size,\n variant,\n copy,\n dataTestId }) => {\n const testId = makeTestId(dataTestId);\n const isLast = index === itemCount - 1;\n // The tail crumb is the current page unless it is the ellipsis placeholder.\n const isActive = item.active || (isLast && !item.isEllipsis);\n\n const isCollapsePoint =\n index === 1 && collapsedItems.length > 0 && collapseBehavior === 'menu';\n\n if (isCollapsePoint) {\n return (\n <>\n <CollapsedMenu\n copy={copy}\n items={collapsedItems}\n size={size}\n visualStyle={variant}\n dataTestId={dataTestId}\n />\n {separator}\n </>\n );\n }\n\n if (item.isEllipsis) {\n return <EllipsisCrumb copy={copy} label={item.label} dataTestId={dataTestId} />;\n }\n\n const icon = crumbIcon({ item, isFirst: index === 0, showHomeIcon, iconSize });\n\n if (isActive) {\n return (\n <BreadcrumbText\n size={size}\n visualStyle={variant}\n aria-current=\"page\"\n data-testid={testId(`item-${index}`, item.dataTestId)}\n >\n {icon}\n <span>{item.label}</span>\n </BreadcrumbText>\n );\n }\n\n return (\n <ClickableCrumb\n item={item}\n index={index}\n icon={icon}\n size={size}\n variant={variant}\n isActive={isActive}\n testId={testId}\n />\n );\n};\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/RadioGroup/RadioGroup.animations.ts"],"sourcesContent":["import { keyframes } from '@mui/material/styles/index.js';\n\nexport const glowAnimation = keyframes`\n 0% {\n box-shadow: 0 0 5px currentColor;\n }\n 50% {\n box-shadow: 0 0 15px currentColor, 0 0 25px currentColor;\n }\n 100% {\n box-shadow: 0 0 5px currentColor;\n }\n`;\n\nexport const slideAnimation = keyframes`\n from {\n opacity: 0;\n transform: translateX(-20px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n`;\n\nexport const scaleAnimation = keyframes`\n 0% {\n transform: scale(0.95);\n }\n 50% {\n transform: scale(1.05);\n }\n 100% {\n transform: scale(1);\n }\n`;\n\nexport const rippleAnimation = keyframes`\n 0% {\n transform: scale(0);\n opacity: 1;\n }\n 100% {\n transform: scale(4);\n opacity: 0;\n }\n`;\n\n"],"mappings":";AAAA,SAAS,iBAAiB;AAEnB,IAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYtB,IAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWvB,IAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYvB,IAAM,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/navigation/Breadcrumbs/Breadcrumbs.styles.tsx"],"sourcesContent":["import { alpha, keyframes } from '@mui/material/styles/index.js';\nimport type { CSSObject, Theme } from '@mui/material/styles/index.js';\n\nimport { modeInk, shadowInk, sheen, uiInk } from '../../../tokens/ink';\nimport { EFFECT_GLOW } from '../../../tokens/ink.core';\nimport { rem } from '../../../tokens/relative';\n\nexport const slideIn = keyframes`\n from {\n opacity: 0;\n transform: translateX(-10px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n`;\n\nexport const pulse = keyframes`\n 0% {\n box-shadow: 0 0 0 0 ${alpha(EFFECT_GLOW.brandIndigo, 0.4)};\n }\n 70% {\n box-shadow: 0 0 0 10px ${alpha(EFFECT_GLOW.brandIndigo, 0)};\n }\n 100% {\n box-shadow: 0 0 0 0 ${alpha(EFFECT_GLOW.brandIndigo, 0)};\n }\n`;\n\nconst BAR_VARIANTS: Record<string, (theme: Theme, elevation: number) => CSSObject> = {\n glass: (theme, elevation) => ({\n background:\n theme.palette.mode === 'dark' ? alpha(uiInk(theme).glassSlate, 0.7) : sheen(theme, 0.7),\n backdropFilter: 'blur(10px)',\n WebkitBackdropFilter: 'blur(10px)',\n border: `1px solid ${alpha(modeInk(theme), 0.1)}`,\n boxShadow:\n theme.palette.mode === 'dark'\n ? `0 ${elevation * 4}px ${elevation * 8}px ${shadowInk(theme, 0.3)}, inset 0 1px 0 ${sheen(theme, 0.1)}`\n : `0 ${elevation * 4}px ${elevation * 8}px ${shadowInk(theme, 0.08)}, inset 0 1px 0 ${sheen(theme, 0.8)}` }),\n elevated: (theme, elevation) => ({\n background: theme.palette.background.paper,\n boxShadow: theme.shadows[elevation] || theme.shadows[1],\n borderRadius: theme.spacing(1.5) }),\n outlined: (theme, _elevation) => ({\n border: `1px solid ${theme.palette.divider}`,\n borderRadius: theme.spacing(1) }) };\n\n// Spacing and colour for the separator glyphs between crumbs.\nconst separatorStyles = (\n theme: Theme,\n size: string | undefined,\n color: string | undefined,\n _visualStyle: string | undefined,\n): CSSObject => ({\n '& .MuiBreadcrumbs-separator': {\n marginLeft: theme.spacing(size === 'sm' ? 0.5 : size === 'lg' ? 1.5 : 1),\n marginRight: theme.spacing(size === 'sm' ? 0.5 : size === 'lg' ? 1.5 : 1),\n opacity: 0.6,\n transition: 'all 0.2s ease',\n ...(color === 'primary' && {\n color: theme.palette.primary.main }),\n ...(color === 'secondary' && {\n color: theme.palette.secondary.main }) } });\n\n// Only one visual style applies at a time, so a lookup replaces three mutually\n// exclusive spreads.\nconst barVariantStyles = (theme: Theme, visualStyle: string | undefined, elevation: number): CSSObject =>\n visualStyle ? (BAR_VARIANTS[visualStyle]?.(theme, elevation) ?? {}) : {};\n\n// The bar's own styling, lifted out so the styled() callback is a single spread\n// rather than seventy lines of conditionals.\nexport const breadcrumbsBarStyles = ({\n theme,\n size,\n color,\n visualStyle,\n elevation = 0 }: {\n theme: Theme;\n size?: string;\n color?: string;\n visualStyle?: string;\n elevation?: number;\n}): CSSObject => ({\n padding: theme.spacing(size === 'sm' ? 0.75 : size === 'lg' ? 1.5 : 1, 2),\n borderRadius: theme.spacing(visualStyle === 'glass' ? 2 : 1),\n ...barVariantStyles(theme, visualStyle, elevation),\n animation: `${slideIn} 0.3s ease-out`,\n transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)',\n position: 'relative',\n\n // Glass morphism effect\n\n\n // Elevated variant\n\n\n // Outlined variant\n\n\n '& .MuiBreadcrumbs-ol': {\n alignItems: 'center',\n flexWrap: 'nowrap',\n [theme.breakpoints.down('sm')]: {\n flexWrap: 'wrap',\n gap: theme.spacing(0.5) } },\n\n ...separatorStyles(theme, size, color, visualStyle),\n\n\n '&:hover': {\n ...(visualStyle === 'glass' && {\n background:\n theme.palette.mode === 'dark' ? alpha(uiInk(theme).glassSlate, 0.85) : sheen(theme, 0.85),\n boxShadow:\n theme.palette.mode === 'dark'\n ? `0 ${elevation * 6}px ${elevation * 12}px ${shadowInk(theme, 0.4)}`\n : `0 ${elevation * 6}px ${elevation * 12}px ${shadowInk(theme, 0.12)}` }) } });\n\n// The idle glass treatment and the active-crumb treatment are mutually\n// exclusive; keeping them as named pieces takes both branches out of the main\n// style function.\nconst linkGlassIdleStyles = (theme: Theme): CSSObject => ({\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: `linear-gradient(135deg, ${alpha(theme.palette.primary.main, 0)} 0%, ${alpha(theme.palette.primary.main, 0.05)} 100%)`,\n opacity: 0,\n transition: 'opacity 0.3s ease',\n borderRadius: 'inherit' } });\n\nconst linkActiveStyles = (theme: Theme, visualStyle?: string): CSSObject => ({\n pointerEvents: 'none',\n cursor: 'default',\n color: theme.palette.primary.main,\n fontWeight: 600,\n\n ...(visualStyle === 'glass' && {\n background: `linear-gradient(135deg, ${alpha(theme.palette.primary.main, 0.1)} 0%, ${alpha(theme.palette.primary.main, 0.05)} 100%)`,\n animation: `${pulse} 2s infinite` }) });\n\n// Hover treatment. The tint is a touch stronger on the glass variant so it still\n// reads against the translucent bar.\nconst linkHoverStyles = (theme: Theme, visualStyle?: string): CSSObject => ({\n '&:hover, &[data-hover=\"true\"]': {\n color: theme.palette.primary.main,\n backgroundColor: alpha(theme.palette.primary.main, visualStyle === 'glass' ? 0.1 : 0.08),\n transform: 'translateY(-1px)',\n\n '&::before': {\n opacity: 1 },\n\n '& .breadcrumb-icon': {\n transform: 'scale(1.1)' } } });\n\nexport const breadcrumbLinkStyles = ({\n theme,\n size,\n active,\n visualStyle }: {\n theme: Theme;\n size?: string;\n active?: boolean;\n visualStyle?: string;\n}): CSSObject => ({\n ...(visualStyle === 'glass' && !active ? linkGlassIdleStyles(theme) : {}),\n ...(active ? linkActiveStyles(theme, visualStyle) : {}),\n display: 'flex',\n alignItems: 'center',\n gap: theme.spacing(0.5),\n textDecoration: 'none',\n fontSize: rem(theme, size === 'sm' ? 14 : size === 'lg' ? 18 : 16),\n fontWeight: active ? 600 : 400,\n color: active ? theme.palette.text.primary : theme.palette.text.secondary,\n padding: theme.spacing(0.5, 0.75),\n borderRadius: theme.spacing(0.75),\n position: 'relative',\n overflow: 'hidden',\n transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)',\n\n // Add subtle background for glass variant\n\n\n ...linkHoverStyles(theme, visualStyle),\n\n\n '&:active': {\n transform: 'translateY(0)',\n backgroundColor: alpha(theme.palette.primary.main, 0.12) },\n\n '&:focus-visible': {\n outline: `2px solid ${theme.palette.primary.main}`,\n outlineOffset: 2,\n backgroundColor: alpha(theme.palette.primary.main, 0.04) },\n\n\n\n '& .breadcrumb-icon': {\n transition: 'transform 0.2s ease' },\n\n // Mobile responsiveness\n [theme.breakpoints.down('sm')]: {\n fontSize: rem(theme, size === 'lg' ? 16 : size === 'sm' ? 12 : 14),\n padding: theme.spacing(0.375, 0.5) } });\n\nexport const sizeIconMap = {\n xs: 'small',\n sm: 'small',\n md: 'small',\n lg: 'medium',\n xl: 'medium',\n} as const;\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/Command/Command.hooks.ts"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport type { CommandItem, CommandProps } from './Command.types';\n\ntype CommandDefaultedKeys =\n | 'open'\n | 'items'\n | 'placeholder'\n | 'value'\n | 'variant'\n | 'size'\n | 'color'\n | 'glow'\n | 'pulse'\n | 'loading'\n | 'disabled'\n | 'maxHeight'\n | 'emptyMessage'\n | 'showCategories'\n | 'showShortcuts'\n | 'showDescriptions'\n | 'autoFocus'\n | 'closeOnSelect';\n\ntype ResolvedCommandProps = CommandProps &\n Required<Pick<CommandProps, CommandDefaultedKeys>>;\n\nconst COMMAND_DEFAULTS: Pick<CommandProps, CommandDefaultedKeys> = {\n open: false,\n items: [],\n placeholder: 'Type a command or search...',\n value: '',\n variant: 'default',\n size: 'md',\n color: 'primary',\n glow: false,\n pulse: false,\n loading: false,\n disabled: false,\n maxHeight: 400,\n emptyMessage: 'No results found',\n showCategories: true,\n showShortcuts: true,\n showDescriptions: true,\n autoFocus: true,\n closeOnSelect: true,\n};\n\n// Strips explicitly-undefined props before the merge, so `size={undefined}` still\n// falls back to the default exactly as a destructuring default would.\nconst definedProps = (props: CommandProps): Partial<CommandProps> =>\n Object.fromEntries(\n Object.entries(props).filter(([, value]) => value !== undefined),\n ) as Partial<CommandProps>;\n\nexport const resolveCommandProps = (props: CommandProps): ResolvedCommandProps =>\n ({ ...COMMAND_DEFAULTS, ...definedProps(props) }) as ResolvedCommandProps;\n\n/** An item matches on its label, its description, or any of its keywords. */\nconst matches = (item: CommandItem, search: string): boolean => {\n const searchTargets = [\n item.label.toLowerCase(),\n item.description?.toLowerCase(),\n ...(item.keywords || []).map((k) => k.toLowerCase()),\n ];\n return searchTargets.some((target) => target?.includes(search));\n};\n\nconst useFilteredItems = (\n items: CommandItem[],\n search: string,\n customFilter: CommandProps['customFilter'],\n) =>\n useMemo(() => {\n if (!search) return items;\n\n if (customFilter) {\n return items.filter((item) => customFilter(item, search));\n }\n\n const searchLower = search.toLowerCase();\n return items.filter((item) => matches(item, searchLower));\n }, [items, search, customFilter]);\n\n/**\n * Kept as it was: the ref is never attached to an element, so this focus call has\n * always been a no-op. The input does get focus — CommandInput passes `autoFocus`\n * straight to its TextField — so removing it is a behaviour question, not a\n * cleanup, and is left alone here.\n */\nconst useAutoFocus = (open: boolean, autoFocus: boolean) => {\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (open && autoFocus) {\n window.setTimeout(() => inputRef.current?.focus(), 100);\n }\n }, [open, autoFocus]);\n};\n\ninterface NavigationArgs {\n items: CommandItem[];\n selectedIndex: number;\n setSelectedIndex: React.Dispatch<React.SetStateAction<number>>;\n onSelect: (item: CommandItem) => void;\n onClose: () => void;\n}\n\n/** Arrows wrap around the list; Enter takes the highlighted item, Escape closes. */\nconst useKeyboardNavigation = ({\n items,\n selectedIndex,\n setSelectedIndex,\n onSelect,\n onClose,\n}: NavigationArgs) =>\n useCallback(\n (e: React.KeyboardEvent) => {\n const step = (delta: number) => {\n e.preventDefault();\n setSelectedIndex((prev) => (prev + delta + items.length) % items.length);\n };\n\n switch (e.key) {\n case 'ArrowDown':\n return step(1);\n case 'ArrowUp':\n return step(-1);\n case 'Enter':\n e.preventDefault();\n if (items[selectedIndex]) {\n onSelect(items[selectedIndex]);\n }\n return;\n case 'Escape':\n e.preventDefault();\n onClose();\n return;\n default:\n return;\n }\n },\n [items, selectedIndex, setSelectedIndex, onSelect, onClose],\n );\n\nexport const useCommandPalette = (props: ResolvedCommandProps) => {\n const { open, items, value, autoFocus, customFilter } = props;\n const { onValueChange, onSelect, onOpenChange, closeOnSelect } = props;\n\n const [internalValue, setInternalValue] = useState(value);\n const [selectedIndex, setSelectedIndex] = useState(0);\n useAutoFocus(open, autoFocus);\n\n useEffect(() => {\n setInternalValue(value);\n }, [value]);\n\n const handleValueChange = useCallback(\n (newValue: string) => {\n setInternalValue(newValue);\n onValueChange?.(newValue);\n setSelectedIndex(0);\n },\n [onValueChange],\n );\n\n const filteredItems = useFilteredItems(items, internalValue, customFilter);\n\n // Arrow keys and Enter address the enabled items only, so a disabled row never\n // becomes the highlighted one.\n const selectableItems = useMemo(\n () => filteredItems.filter((item) => !item.disabled),\n [filteredItems],\n );\n\n const handleSelect = useCallback(\n (item: CommandItem) => {\n if (item.disabled) return;\n\n item.action?.();\n onSelect?.(item);\n\n if (closeOnSelect) {\n onOpenChange?.(false);\n setInternalValue('');\n }\n },\n [onSelect, onOpenChange, closeOnSelect],\n );\n\n const handleKeyDown = useKeyboardNavigation({\n items: selectableItems,\n selectedIndex,\n setSelectedIndex,\n onSelect: handleSelect,\n onClose: () => onOpenChange?.(false),\n });\n\n return {\n internalValue,\n filteredItems,\n highlightedId: selectableItems[selectedIndex]?.id,\n handleValueChange,\n handleSelect,\n handleKeyDown,\n };\n};\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/navigation/NavigationMenu/NavigationMenu.styles.ts"],"sourcesContent":["import { alpha, keyframes } from '@mui/material/styles/index.js';\nimport type { CSSObject, Theme } from '@mui/material/styles/index.js';\nimport { rem } from '../../../tokens/relative';\n\nimport { EFFECT_GLOW } from '../../../tokens/ink.core';\n\nexport const slideIn = keyframes`\n from {\n opacity: 0;\n transform: translateX(-20px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n`;\n\nexport const pulseGlow = keyframes`\n 0% {\n box-shadow: 0 0 0 0 ${alpha(EFFECT_GLOW.muiBlue, 0.4)};\n }\n 70% {\n box-shadow: 0 0 0 10px ${alpha(EFFECT_GLOW.muiBlue, 0)};\n }\n 100% {\n box-shadow: 0 0 0 0 ${alpha(EFFECT_GLOW.muiBlue, 0)};\n }\n`;\n\nconst SIZE_STYLES: Record<string, (theme: Theme) => CSSObject> = {\n sm: (theme) => ({\n padding: theme.spacing(1, 1.5),\n fontSize: rem(theme, 14),\n '& .MuiListItemIcon-root': { transform: 'scale(0.85)' },\n }),\n lg: (theme) => ({\n padding: theme.spacing(2, 2.5),\n fontSize: rem(theme, 18),\n '& .MuiListItemIcon-root': { transform: 'scale(1.15)' },\n }),\n};\n\n// Each of these applies independently of the others, so they layer rather than\n// forming a lookup.\nconst horizontalStyles = (theme: Theme): CSSObject => ({\n borderRadius: theme.spacing(1.5),\n margin: theme.spacing(0, 0.5),\n background: alpha(theme.palette.background.paper, 0.6),\n backdropFilter: 'blur(8px)',\n border: `none`,\n // border: `1px solid ${alpha(theme.palette.divider, 0.1)}`,\n });\n\nconst collapsedStyles = (): CSSObject => ({\n justifyContent: 'center',\n minHeight: 56,\n '& .MuiListItemIcon-root': {\n margin: 0,\n },\n });\n\nconst activeStyles = (theme: Theme, _variant?: string): CSSObject => ({\n color: theme.palette.primary.main,\n cursor: 'default',\n\n '& .MuiListItemIcon-root': {\n color: theme.palette.primary.main,\n },\n\n '&::before': {\n opacity: 1,\n background: `linear-gradient(135deg, ${alpha(theme.palette.primary.main, 0.2)} 0%, ${alpha(theme.palette.primary.main, 0.05)} 100%)`,\n },\n\n '&:hover': {\n background: 'none',\n transform: 'none',\n boxShadow: 'none',\n\n '&::before': {\n opacity: 1,\n },\n\n '& .MuiListItemIcon-root': {\n transform: 'none',\n },\n\n '& .MuiListItemText-primary': {\n transform: 'none',\n },\n },\n });\n\n// Decorative sweep and glow layers behind the row.\nconst navDecorationStyles = (theme: Theme): CSSObject => ({\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: `linear-gradient(135deg, ${alpha(theme.palette.primary.main, 0)} 0%, ${alpha(theme.palette.primary.main, 0.08)} 100%)`,\n opacity: 0,\n transition: 'opacity 0.3s ease',\n },\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: '50%',\n left: '50%',\n width: '100%',\n height: '100%',\n background: `radial-gradient(circle, ${alpha(theme.palette.primary.main, 0.3)} 0%, transparent 70%)`,\n transform: 'translate(-50%, -50%) scale(0)',\n transition: 'transform 0.6s ease',\n borderRadius: '50%',\n },\n});\n\n// The minimal variant deliberately skips the lift-and-glow treatment.\nconst navInteractionStyles = (\n theme: Theme,\n minimal?: boolean,\n collapsed?: boolean,\n size?: string,\n): CSSObject => ({\n '&:hover': minimal\n ? {\n // Simple hover for minimal variant\n backgroundColor: alpha(theme.palette.action.hover, 0.08),\n color: theme.palette.primary.main,\n\n '& .MuiListItemIcon-root': {\n color: theme.palette.primary.main,\n },\n }\n : {\n // Fancy hover for non-minimal variant\n background: `linear-gradient(135deg, ${alpha(theme.palette.primary.main, 0.15)} 0%, ${alpha(theme.palette.primary.main, 0.08)} 100%)`,\n color: theme.palette.primary.main,\n boxShadow: `0 8px 24px ${alpha(theme.palette.primary.main, 0.15)}`,\n backgroundColor: alpha(theme.palette.primary.main, 0.04),\n\n '&::before': {\n opacity: 1,\n },\n\n '& .MuiListItemIcon-root': {\n color: theme.palette.primary.main,\n transform: collapsed\n ? 'scale(1.1)'\n : size === 'sm'\n ? 'scale(0.95) rotate(-5deg)'\n : size === 'lg'\n ? 'scale(1.25) rotate(-5deg)'\n : 'scale(1.1) rotate(-5deg)',\n transition: 'all 0.3s ease',\n },\n\n '& .MuiListItemText-primary': {\n transform: 'translateX(4px)',\n transition: 'transform 0.3s ease',\n },\n },\n '&:active': minimal\n ? {\n // Simple active state for minimal variant\n opacity: 0.7,\n }\n : {\n // Fancy active state for non-minimal variant\n transform: 'scale(0.98)',\n '&::after': {\n transform: 'translate(-50%, -50%) scale(2)',\n },\n },\n});\n\n// The nav row's own styling: base layout plus the variant, size, collapsed and\n// minimal treatments. Lifted out so the styled() callback is a single spread.\nexport const navItemButtonStyles = ({\n theme,\n variant,\n active,\n size,\n collapsed,\n minimal,\n}: {\n theme: Theme;\n variant?: string;\n active?: boolean;\n size?: string;\n collapsed?: boolean;\n minimal?: boolean;\n}): CSSObject => ({\n ...(size ? (SIZE_STYLES[size]?.(theme) ?? {}) : {}),\n ...(variant === 'horizontal' ? horizontalStyles(theme) : {}),\n ...(collapsed ? collapsedStyles() : {}),\n ...(active ? activeStyles(theme, variant) : {}),\n ...navDecorationStyles(theme),\n ...navInteractionStyles(theme, minimal, collapsed, size),\n borderRadius: theme.spacing(1.5),\n margin: theme.spacing(0.5),\n position: 'relative',\n overflow: 'hidden',\n transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)',\n transformStyle: 'preserve-3d',\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n });\n"],"mappings":"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","names":[]}
@@ -1,70 +0,0 @@
1
- import {
2
- AddressTextField
3
- } from "./chunk-VECWMANF.js";
4
-
5
- // src/components/form/AddressAutocomplete/AddressInputField.tsx
6
- import CurrentLocationIcon from "@mui/icons-material/MyLocation";
7
- import CircularProgress from "@mui/material/CircularProgress/index.js";
8
- import IconButton from "@mui/material/IconButton/index.js";
9
- import InputAdornment from "@mui/material/InputAdornment/index.js";
10
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
11
- var CurrentLocationButton = ({ disabled, onClick, currentLocationLabel }) => /* @__PURE__ */ jsx(InputAdornment, { position: "end", children: /* @__PURE__ */ jsx(
12
- IconButton,
13
- {
14
- edge: "end",
15
- onClick,
16
- size: "small",
17
- title: currentLocationLabel,
18
- disabled,
19
- "data-testid": "address-current-location-button",
20
- children: /* @__PURE__ */ jsx(CurrentLocationIcon, {})
21
- }
22
- ) });
23
- var AddressInputField = ({
24
- copy,
25
- params,
26
- addressVariant,
27
- label,
28
- placeholder,
29
- icon,
30
- error,
31
- helperText,
32
- required,
33
- disabled,
34
- loading,
35
- showCurrentLocation,
36
- onGetCurrentLocation
37
- }) => /* @__PURE__ */ jsx(
38
- AddressTextField,
39
- {
40
- ...params,
41
- addressVariant,
42
- label,
43
- placeholder,
44
- error,
45
- helperText,
46
- required,
47
- InputProps: {
48
- ...params.InputProps,
49
- startAdornment: icon && /* @__PURE__ */ jsx(InputAdornment, { position: "start", children: icon }),
50
- endAdornment: /* @__PURE__ */ jsxs(Fragment, { children: [
51
- loading && /* @__PURE__ */ jsx(CircularProgress, { color: "inherit", size: 20, "data-testid": "address-loading" }),
52
- showCurrentLocation && /* @__PURE__ */ jsx(
53
- CurrentLocationButton,
54
- {
55
- disabled,
56
- onClick: onGetCurrentLocation,
57
- currentLocationLabel: copy.useCurrentLocation
58
- }
59
- ),
60
- params.InputProps.endAdornment
61
- ] })
62
- },
63
- inputProps: { ...params.inputProps, "data-testid": "address-input" }
64
- }
65
- );
66
-
67
- export {
68
- AddressInputField
69
- };
70
- //# sourceMappingURL=chunk-6M33XQLZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/AddressAutocomplete/AddressInputField.tsx"],"sourcesContent":["import CurrentLocationIcon from '@mui/icons-material/MyLocation';\nimport type { AutocompleteRenderInputParams } from '@mui/material/Autocomplete/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport InputAdornment from '@mui/material/InputAdornment/index.js';\nimport type { FC, ReactNode } from 'react';\nimport React from 'react';\n\nimport type { AddressAutocompleteProps } from './AddressAutocomplete.types';\nimport { AddressTextField } from './AddressTextField';\n\nconst CurrentLocationButton: FC<{\n disabled: boolean;\n onClick: () => void;\n currentLocationLabel: string;\n}> = ({ disabled, onClick, currentLocationLabel }) => (\n <InputAdornment position=\"end\">\n <IconButton\n edge=\"end\"\n onClick={onClick}\n size=\"small\"\n title={currentLocationLabel}\n disabled={disabled}\n data-testid=\"address-current-location-button\"\n >\n <CurrentLocationIcon />\n </IconButton>\n </InputAdornment>\n);\n\nexport interface AddressInputFieldProps {\n copy: AddressAutocompleteProps['copy'];\n params: AutocompleteRenderInputParams;\n addressVariant: AddressAutocompleteProps['variant'];\n label?: string;\n placeholder?: string;\n icon?: ReactNode;\n error: boolean;\n helperText?: string;\n required: boolean;\n disabled: boolean;\n loading: boolean;\n showCurrentLocation: boolean;\n onGetCurrentLocation: () => void;\n}\n\nexport const AddressInputField: FC<AddressInputFieldProps> = ({\n copy,\n params,\n addressVariant,\n label,\n placeholder,\n icon,\n error,\n helperText,\n required,\n disabled,\n loading,\n showCurrentLocation,\n onGetCurrentLocation,\n}) => (\n <AddressTextField\n {...params}\n addressVariant={addressVariant}\n label={label}\n placeholder={placeholder}\n error={error}\n helperText={helperText}\n required={required}\n InputProps={{\n ...params.InputProps,\n startAdornment: icon && <InputAdornment position=\"start\">{icon}</InputAdornment>,\n endAdornment: (\n <>\n {loading && <CircularProgress color=\"inherit\" size={20} data-testid=\"address-loading\" />}\n {showCurrentLocation && (\n <CurrentLocationButton\n disabled={disabled}\n onClick={onGetCurrentLocation}\n currentLocationLabel={copy.useCurrentLocation}\n />\n )}\n {params.InputProps.endAdornment}\n </>\n ),\n }}\n inputProps={{ ...params.inputProps, 'data-testid': 'address-input' }}\n />\n);\n"],"mappings":";;;;;AAAA,OAAO,yBAAyB;AAEhC,OAAO,sBAAsB;AAC7B,OAAO,gBAAgB;AACvB,OAAO,oBAAoB;AAqBrB,SAgDE,UAhDF,KAgDE,YAhDF;AAdN,IAAM,wBAID,CAAC,EAAE,UAAU,SAAS,qBAAqB,MAC9C,oBAAC,kBAAe,UAAS,OACvB;AAAA,EAAC;AAAA;AAAA,IACC,MAAK;AAAA,IACL;AAAA,IACA,MAAK;AAAA,IACL,OAAO;AAAA,IACP;AAAA,IACA,eAAY;AAAA,IAEZ,8BAAC,uBAAoB;AAAA;AACvB,GACF;AAmBK,IAAM,oBAAgD,CAAC;AAAA,EAC5D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MACE;AAAA,EAAC;AAAA;AAAA,IACE,GAAG;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,MACV,GAAG,OAAO;AAAA,MACV,gBAAgB,QAAQ,oBAAC,kBAAe,UAAS,SAAS,gBAAK;AAAA,MAC/D,cACE,iCACG;AAAA,mBAAW,oBAAC,oBAAiB,OAAM,WAAU,MAAM,IAAI,eAAY,mBAAkB;AAAA,QACrF,uBACC;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,SAAS;AAAA,YACT,sBAAsB,KAAK;AAAA;AAAA,QAC7B;AAAA,QAED,OAAO,WAAW;AAAA,SACrB;AAAA,IAEJ;AAAA,IACA,YAAY,EAAE,GAAG,OAAO,YAAY,eAAe,gBAAgB;AAAA;AACrE;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/utility/AnimatedIcon/AnimatedIcon.styles.ts"],"sourcesContent":["import { alpha } from '@mui/material/styles/index.js';\nimport type { CSSObject, Theme } from '@mui/material/styles/index.js';\n\nimport {\n bounceAnimation,\n breatheAnimation,\n fadeInOutAnimation,\n flipAnimation,\n floatAnimation,\n glowPulseAnimation,\n heartbeatAnimation,\n jelloAnimation,\n morphAnimation,\n neonFlickerAnimation,\n pulseAnimation,\n rippleAnimation,\n rotateAnimation,\n shakeAnimation,\n spinAnimation,\n swingAnimation,\n translateAnimation,\n wobbleAnimation,\n} from './AnimatedIcon.animations';\nimport type { AnimationSize, AnimationVariant } from './AnimatedIcon.types';\nimport { neutralTones, shadowInk, sheen } from '../../../tokens/ink';\nimport { rem } from '../../../tokens/relative';\n\n/** Per size: the ring's edge and the glyph's edge (its font size, width and height), in design px. */\nexport const sizeConfigs: Record<AnimationSize, { size: number; glyph: number }> = {\n xs: { size: 12, glyph: 10 },\n sm: { size: 24, glyph: 20 },\n md: { size: 32, glyph: 28 },\n lg: { size: 48, glyph: 44 },\n xl: { size: 64, glyph: 60 },\n};\n\n/**\n * Every variant produces the same shorthand — keyframes, duration, easing,\n * iteration count, delay — so only the three things that actually differ are\n * tabulated. `scale` multiplies the caller's duration for the variants that\n * read as slower than the rest.\n */\nconst ANIMATIONS: Record<string, { keyframes: string; easing: string; scale: number }> = {\n rotate: { keyframes: `${rotateAnimation}`, easing: 'linear', scale: 1 },\n pulse: { keyframes: `${pulseAnimation}`, easing: 'ease-in-out', scale: 1 },\n translate: { keyframes: `${translateAnimation}`, easing: 'ease-in-out', scale: 1 },\n bounce: { keyframes: `${bounceAnimation}`, easing: 'ease-in-out', scale: 1 },\n shake: { keyframes: `${shakeAnimation}`, easing: 'ease-in-out', scale: 1 },\n flip: { keyframes: `${flipAnimation}`, easing: 'ease-in-out', scale: 1 },\n spin: { keyframes: `${spinAnimation}`, easing: 'ease-in-out', scale: 1 },\n fadeInOut: { keyframes: `${fadeInOutAnimation}`, easing: 'ease-in-out', scale: 1 },\n heartbeat: { keyframes: `${heartbeatAnimation}`, easing: 'ease-in-out', scale: 1 },\n wobble: { keyframes: `${wobbleAnimation}`, easing: 'ease-in-out', scale: 1 },\n morph: { keyframes: `${morphAnimation}`, easing: 'ease-in-out', scale: 1 },\n swing: { keyframes: `${swingAnimation}`, easing: 'ease-in-out', scale: 1 },\n jello: { keyframes: `${jelloAnimation}`, easing: 'ease-in-out', scale: 1 },\n float: { keyframes: `${floatAnimation}`, easing: 'ease-in-out', scale: 2 },\n neonFlicker: { keyframes: `${neonFlickerAnimation}`, easing: 'ease-in-out', scale: 2 },\n breathe: { keyframes: `${breatheAnimation}`, easing: 'ease-in-out', scale: 1.5 },\n};\n\nconst animationFor = (\n variant: AnimationVariant,\n duration: number,\n delay: number,\n loop: boolean,\n) => {\n const spec = ANIMATIONS[variant];\n if (!spec) return 'none';\n\n const iterationCount = loop ? 'infinite' : '1';\n return `${spec.keyframes} ${duration * spec.scale}s ${spec.easing} ${iterationCount} ${delay > 0 ? `${delay}s` : '0s'}`;\n};\n\nconst SHADOWS: Record<string, (theme: Theme) => string> = {\n soft: (theme) => `0 4px 20px ${shadowInk(theme, 0.15)}`,\n hard: (theme) => `4px 4px 0px ${shadowInk(theme, 0.25)}`,\n elevated: (theme) =>\n `0 10px 40px ${shadowInk(theme, 0.2)}, 0 2px 10px ${shadowInk(theme, 0.1)}`,\n};\n\nexport interface IconStyleFlags {\n $size: number;\n $fontSize: number;\n $animationVariant: AnimationVariant;\n $duration: number;\n $delay: number;\n $loop: boolean;\n $glow: boolean;\n $glass: boolean;\n $glowColor?: string;\n $customColor?: string;\n $metallic?: boolean;\n $gradient?: boolean;\n $shadow?: 'soft' | 'hard' | 'elevated' | 'none';\n $ripple?: boolean;\n $neon?: boolean;\n $holographic?: boolean;\n}\n\n/**\n * The four surface treatments that paint the icon themselves — metallic,\n * gradient, neon and holographic — each run a second animation alongside the\n * chosen one, so they all need the base animation string.\n */\nconst effectStyles = (\n theme: Theme,\n flags: IconStyleFlags,\n animation: string,\n color: string,\n): CSSObject => {\n const { $glass, $metallic, $gradient, $neon, $holographic } = flags;\n\n return {\n ...($glass && {\n background: `linear-gradient(135deg, ${alpha(theme.palette.background.paper, 0.2)}, ${alpha(theme.palette.background.paper, 0.1)})`,\n backdropFilter: 'blur(10px)',\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n boxShadow: `inset 0 1px 1px ${sheen(theme, 0.3)}, 0 8px 32px ${shadowInk(theme, 0.1)}`,\n }),\n ...($metallic && {\n background: `linear-gradient(145deg,\n ${neutralTones(theme).track} 0%,\n ${neutralTones(theme).muted} 25%,\n ${neutralTones(theme).subtle} 50%,\n ${neutralTones(theme).emphasis} 75%,\n ${neutralTones(theme).subtle} 100%)`,\n backgroundSize: '200% 200%',\n animation: `${animation}, ${breatheAnimation} 4s ease-in-out infinite`,\n boxShadow: `inset 0 2px 4px ${sheen(theme, 0.5)},\n inset 0 -2px 4px ${shadowInk(theme, 0.3)},\n 0 4px 8px ${shadowInk(theme, 0.2)}`,\n }),\n ...($gradient && {\n background: `linear-gradient(135deg,\n ${theme.palette.primary.main} 0%,\n ${theme.palette.secondary.main} 100%)`,\n backgroundSize: '200% 200%',\n animation: `${animation}, ${breatheAnimation} 3s ease-in-out infinite`,\n }),\n ...($neon && {\n color,\n textShadow: `0 0 10px ${color}, 0 0 20px ${color}, 0 0 30px ${color}`,\n filter: `brightness(1.2) contrast(1.2)`,\n animation: `${animation}, ${neonFlickerAnimation} 3s ease-in-out infinite`,\n }),\n ...($holographic && {\n background: `linear-gradient(45deg,\n ${theme.palette.primary.main} 0%,\n ${theme.palette.secondary.main} 25%,\n ${theme.palette.error.main} 50%,\n ${theme.palette.warning.main} 75%,\n ${theme.palette.primary.main} 100%)`,\n backgroundSize: '400% 400%',\n animation: `${animation}, ${floatAnimation} 6s ease-in-out infinite`,\n backgroundClip: 'text',\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n filter: `hue-rotate(0deg)`,\n '@keyframes hueRotate': {\n '0%': { filter: 'hue-rotate(0deg)' },\n '100%': { filter: 'hue-rotate(360deg)' },\n },\n '&::before': {\n content: '\"\"',\n position: 'absolute' as const,\n inset: -2,\n borderRadius: '50%',\n background: 'inherit',\n filter: 'blur(10px)',\n opacity: 0.5,\n zIndex: -1,\n },\n }),\n };\n};\n\nexport const iconSx = (theme: Theme, flags: IconStyleFlags): CSSObject => {\n const {\n $size, $fontSize, $animationVariant, $duration, $delay, $loop,\n $glow, $glowColor, $customColor, $shadow, $ripple, $neon,\n } = flags;\n\n const color = $customColor || theme.palette.primary.main;\n const glowColor = $glowColor || color;\n const animation = animationFor($animationVariant, $duration, $delay, $loop);\n\n // Both selectors size the same glyph — MUI icons render an MuiSvgIcon-root,\n // a bare child renders an svg.\n const glyphSize = { fontSize: rem(theme, $fontSize), width: $fontSize, height: $fontSize };\n\n return {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: $size,\n height: $size,\n color,\n animation,\n position: 'relative' as const,\n cursor: 'default',\n borderRadius: '50%',\n transition: 'all 0.3s ease',\n boxShadow: SHADOWS[$shadow ?? 'none']?.(theme) ?? 'none',\n ...($glow && {\n '&::before': {\n content: '\"\"',\n position: 'absolute' as const,\n inset: -8,\n borderRadius: '50%',\n background: `radial-gradient(circle, ${alpha(glowColor, 0.3)} 0%, transparent 70%)`,\n animation: `${glowPulseAnimation} ${$duration * 1.2}s ease-in-out infinite`,\n zIndex: -1,\n },\n filter: `drop-shadow(0 0 8px ${alpha(glowColor, 0.5)})`,\n }),\n ...effectStyles(theme, flags, animation, color),\n ...($ripple && {\n '&::after': {\n content: '\"\"',\n position: 'absolute' as const,\n inset: 0,\n borderRadius: '50%',\n border: `2px solid ${color}`,\n animation: `${rippleAnimation} ${$duration * 1.5}s ease-out infinite`,\n },\n }),\n '& .MuiSvgIcon-root': glyphSize,\n '& svg': glyphSize,\n '&:hover': {\n transform: 'scale(1.05)',\n filter: $neon ? `brightness(1.4) contrast(1.3)` : undefined,\n },\n };\n};\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/RichTextEditor/RichTextEditor.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport Paper from '@mui/material/Paper/index.js';\nimport { alpha, useTheme } from '@mui/material/styles/index.js';\nimport React, { forwardRef } from 'react';\n\nimport type { Theme } from '@mui/material/styles/index.js';\nimport { useRichTextEditor } from './RichTextEditor.hooks';\nimport type { RichTextEditorProps, ToolbarConfig } from './RichTextEditor.types';\nimport { RichTextEditorToolbar } from './RichTextEditorToolbar';\n\nimport { fieldEdge } from '../../../tokens/field-edge';\nimport { fieldRadiusPx } from '../../../tokens/field-radius';\nimport { rem } from '../../../tokens/relative';\n\nconst DEFAULT_TOOLBAR: Required<Omit<ToolbarConfig, 'customItems'>> & Pick<ToolbarConfig, 'customItems'> = {\n bold: true,\n italic: true,\n underline: true,\n strikethrough: false,\n orderedList: true,\n unorderedList: true,\n link: true,\n image: false,\n codeBlock: false,\n quote: false,\n customItems: [] };\n\nconst RICH_TEXT_DEFAULTS: Partial<RichTextEditorProps> = {\n value: '',\n placeholder: 'Start typing...',\n disabled: false,\n readOnly: false,\n toolbar: {},\n height: 300 };\n\n// Strips explicitly-undefined props before the merge, so `prop={undefined}`\n// still falls back to the default as a destructuring default would.\nconst definedProps = (props: RichTextEditorProps): Partial<RichTextEditorProps> =>\n Object.fromEntries(\n Object.entries(props).filter(([, v]) => v !== undefined),\n ) as Partial<RichTextEditorProps>;\n\n// Simple inline formats are a tag swap; lists and the value-carrying formats\n// need their own handling. This was one nine-case switch.\nconst editorContentSx = (theme: Theme, disabled: boolean, placeholder?: string, height?: string | number) => ({\n minHeight: typeof height === 'number' ? `${height}px` : height,\n p: 2,\n outline: 'none',\n cursor: disabled ? 'not-allowed' : 'text',\n '&:empty::before': {\n content: `\"${placeholder}\"`,\n color: theme.palette.text.disabled,\n pointerEvents: 'none' },\n '& p': {\n margin: '8px 0',\n '&:first-of-type': { marginTop: 0 },\n '&:last-of-type': { marginBottom: 0 } },\n '& ul, & ol': { marginLeft: theme.spacing(2) },\n '& blockquote': {\n borderLeft: `4px solid ${theme.palette.primary.main}`,\n paddingLeft: theme.spacing(2),\n margin: `${theme.spacing(1)} 0`,\n fontStyle: 'italic',\n backgroundColor: alpha(theme.palette.primary.main, 0.05) },\n '& pre': {\n backgroundColor: alpha(theme.palette.text.primary, 0.08),\n padding: theme.spacing(1),\n borderRadius: 1,\n fontFamily: 'Monaco, Menlo, \"Ubuntu Mono\", monospace',\n fontSize: rem(theme, 14),\n overflow: 'auto' },\n '& a': { color: theme.palette.primary.main, textDecoration: 'underline' } });\n\nconst shellSx = (theme: Theme, isFocused: boolean, disabled: boolean) => ({\n border: `1px solid ${fieldEdge(theme)}`,\n borderRadius: fieldRadiusPx(theme),\n overflow: 'hidden',\n transition: 'border-color 0.2s ease-in-out',\n ...(isFocused && {\n borderColor: theme.palette.primary.main,\n boxShadow: `0 0 0 2px ${alpha(theme.palette.primary.main, 0.2)}` }),\n ...(disabled && {\n backgroundColor: theme.palette.action.disabledBackground,\n color: theme.palette.text.disabled }) });\n\nexport const RichTextEditor = forwardRef<HTMLDivElement, RichTextEditorProps>(\n (editorProps, ref) => {\n const {\n value,\n onChange,\n placeholder,\n disabled,\n readOnly,\n toolbar,\n height,\n maxLength,\n onFocus,\n onBlur,\n className,\n 'data-testid': testId,\n 'aria-label': ariaLabel,\n 'aria-describedby': ariaDescribedBy,\n ...props\n } = { ...RICH_TEXT_DEFAULTS, ...definedProps(editorProps) } as RichTextEditorProps;\n\n const theme = useTheme();\n const toolbarConfig = { ...DEFAULT_TOOLBAR, ...toolbar };\n const editor = useRichTextEditor({\n value,\n onChange,\n onFocus,\n onBlur,\n disabled,\n readOnly,\n maxLength });\n\n return (\n <Paper\n ref={ref}\n className={className}\n data-testid={testId || 'rich-text-editor'}\n elevation={1}\n sx={shellSx(theme, editor.isFocused, Boolean(disabled))}\n {...props}\n >\n <RichTextEditorToolbar\n config={toolbarConfig}\n disabled={Boolean(disabled)}\n readOnly={Boolean(readOnly)}\n maxLength={maxLength}\n characterCount={editor.characterCount}\n editorRef={editor.editorRef}\n onFormat={editor.applyFormat}\n />\n\n <Box\n ref={editor.editorRef}\n contentEditable={!disabled && !readOnly}\n onInput={editor.handleContentChange}\n onFocus={editor.handleFocus}\n onBlur={editor.handleBlur}\n role=\"textbox\"\n aria-label={ariaLabel || 'Rich text editor'}\n aria-describedby={ariaDescribedBy}\n aria-multiline=\"true\"\n tabIndex={disabled ? -1 : 0}\n data-testid=\"editor-content\"\n suppressContentEditableWarning\n sx={editorContentSx(theme, Boolean(disabled), placeholder, height)}\n />\n </Paper>\n );\n },\n);\n\nRichTextEditor.displayName = 'RichTextEditor';\n\nexport default RichTextEditor;"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/layout/ContentToolbar/ViewSelector.tsx"],"sourcesContent":["'use client';\n\nimport CheckIcon from '@mui/icons-material/Check';\nimport ChevronDownIcon from '@mui/icons-material/KeyboardArrowDown';\nimport GridIcon from '@mui/icons-material/GridViewOutlined';\nimport ListIcon from '@mui/icons-material/FormatListBulletedRounded';\nimport Box from '@mui/material/Box/index.js';\nimport Button from '@mui/material/Button/index.js';\nimport ListItemIcon from '@mui/material/ListItemIcon/index.js';\nimport ListItemText from '@mui/material/ListItemText/index.js';\nimport Menu from '@mui/material/Menu/index.js';\nimport MenuItem from '@mui/material/MenuItem/index.js';\nimport Slider from '@mui/material/Slider/index.js';\n// `SvgIconComponent` is declared inline in @mui/icons-material's barrel and has\n// no module of its own, so the deep-import equivalent is its own definition:\n// `type SvgIconComponent = typeof SvgIcon`.\nimport type SvgIcon from '@mui/material/SvgIcon/index.js';\nimport React, { useState } from 'react';\n\nimport type { ViewMode, ViewSelectorProps } from './ContentToolbar.types';\nimport { fieldRadiusPx } from '../../../tokens/field-radius';\nimport { fieldHeight } from '../../../tokens/field-height';\nimport { sxRem } from '../../../tokens/relative';\n\nconst VIEW_OPTIONS: { value: ViewMode; label: string; icon: typeof SvgIcon }[] = [\n { value: 'grid', label: 'Grid View', icon: GridIcon },\n { value: 'list', label: 'List View', icon: ListIcon },\n];\n\n/**\n * View selector: a grid/list dropdown plus a card-size zoom slider (grid mode\n * only). Faithful MUI port of the reference toolbar's view control.\n */\nexport function ViewSelector({\n viewMode,\n onViewModeChange,\n zoom,\n onZoomChange,\n cardSizeLabel,\n}: ViewSelectorProps): React.JSX.Element {\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n const open = Boolean(anchorEl);\n const activeOption = VIEW_OPTIONS.find((option) => option.value === viewMode) ?? VIEW_OPTIONS[0]!;\n const ActiveIcon = activeOption.icon;\n\n return (\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1.5 }}>\n {viewMode === 'grid' && (\n <Box sx={{ width: 96, display: 'flex', alignItems: 'center' }}>\n <Slider\n data-testid=\"resize-card-slider\"\n aria-label={cardSizeLabel}\n value={zoom[0] ?? 0}\n onChange={(_, value) => onZoomChange([value as number])}\n min={0}\n max={100}\n step={1}\n size=\"small\"\n />\n </Box>\n )}\n\n <Button\n data-testid=\"view-mode-btn\"\n variant=\"text\"\n size=\"small\"\n color=\"inherit\"\n aria-label={activeOption.label}\n aria-haspopup=\"menu\"\n aria-expanded={open}\n onClick={(event) => setAnchorEl(event.currentTarget)}\n sx={{ minWidth: 0, height: fieldHeight, px: 1, gap: 1, borderRadius: fieldRadiusPx, color: 'text.secondary' }}\n >\n <ActiveIcon sx={{ fontSize: sxRem(16) }} />\n <ChevronDownIcon sx={{ fontSize: sxRem(14) }} />\n </Button>\n <Menu\n anchorEl={anchorEl}\n open={open}\n onClose={() => setAnchorEl(null)}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\n slotProps={{ paper: { sx: { minWidth: 180 } } }}\n >\n {VIEW_OPTIONS.map((option) => {\n const OptionIcon = option.icon;\n const selected = viewMode === option.value;\n return (\n <MenuItem\n key={option.value}\n data-testid={`view-mode-${option.value}`}\n onClick={() => {\n onViewModeChange(option.value);\n setAnchorEl(null);\n }}\n sx={{ gap: 1.5 }}\n >\n <ListItemText>{option.label}</ListItemText>\n <OptionIcon sx={{ fontSize: sxRem(16), color: 'text.secondary' }} />\n <ListItemIcon sx={{ minWidth: 'auto !important' }}>\n <CheckIcon sx={{ fontSize: sxRem(16), color: selected ? 'text.primary' : 'transparent' }} />\n </ListItemIcon>\n </MenuItem>\n );\n })}\n </Menu>\n </Box>\n );\n}\n"],"mappings":"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","names":[]}
@@ -1,28 +0,0 @@
1
- // src/tokens/shadow.ts
2
- var len = (value) => value === 0 ? "0" : `${value}px`;
3
- var shadowCss = (shadow) => [
4
- len(shadow.offsetX),
5
- len(shadow.offsetY),
6
- len(shadow.blurRadius),
7
- ...shadow.spreadDistance === 0 ? [] : [len(shadow.spreadDistance)],
8
- shadow.color
9
- ].join(" ");
10
- var shadowListCss = (shadows) => shadows.map(shadowCss).join(", ");
11
- var BLACK = "#000";
12
- var WHITE = "#fff";
13
- var halo = (blurRadius, color) => [
14
- { offsetX: 0, offsetY: 0, blurRadius, spreadDistance: 0, color }
15
- ];
16
- var drop = (offsetY, blurRadius, color) => [
17
- { offsetX: 0, offsetY, blurRadius, spreadDistance: 0, color }
18
- ];
19
-
20
- export {
21
- shadowCss,
22
- shadowListCss,
23
- BLACK,
24
- WHITE,
25
- halo,
26
- drop
27
- };
28
- //# sourceMappingURL=chunk-73BEVJCS.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/tokens/shadow.ts"],"sourcesContent":["/**\n * ONE SHADOW, IN THE SHAPE BOTH RENDERERS READ.\n *\n * A drop shadow is one of the few decorations the two sides express in the same\n * numbers and different syntax: CSS wants `0 8px 32px rgba(…)`, React Native\n * wants `{ offsetX, offsetY, blurRadius, spreadDistance, color }` (its\n * `BoxShadowValue`, which `boxShadow` takes an array of). So the numbers live in\n * a component's `*.metrics.ts` as this object, native passes it straight\n * through, and the web renders it with {@link shadowCss}.\n *\n * {@link shadowCss} reproduces the text the web components already wrote by\n * hand: a bare `0` for a zero length, and no spread at all when the spread is\n * zero. That is what makes moving a shadow into a metrics table a refactor\n * rather than a restyle.\n */\nexport interface UiShadow {\n offsetX: number;\n offsetY: number;\n blurRadius: number;\n spreadDistance: number;\n color: string;\n}\n\n/** A length the way the web writes it: a bare `0`, otherwise px. */\nconst len = (value: number): string => (value === 0 ? '0' : `${value}px`);\n\n/** One shadow as CSS. A zero spread is omitted, as the web has always written it. */\nexport const shadowCss = (shadow: UiShadow): string =>\n [\n len(shadow.offsetX),\n len(shadow.offsetY),\n len(shadow.blurRadius),\n ...(shadow.spreadDistance === 0 ? [] : [len(shadow.spreadDistance)]),\n shadow.color,\n ].join(' ');\n\n/** Several shadows as one CSS declaration. */\nexport const shadowListCss = (shadows: readonly UiShadow[]): string =>\n shadows.map(shadowCss).join(', ');\n\n/**\n * MUI's `palette.common`, which `UiTheme` has no slot for.\n *\n * Here rather than beside each caller because the neumorphic, glass and scrim\n * arithmetic in more than one component mixes from exactly these two, and a\n * per-component copy is a per-component chance to write `#000000`.\n */\nexport const BLACK = '#000';\nexport const WHITE = '#fff';\n\n/** A shadow with no offset — a halo all round, which is how `glow` reads. */\nexport const halo = (blurRadius: number, color: string): UiShadow[] => [\n { offsetX: 0, offsetY: 0, blurRadius, spreadDistance: 0, color },\n];\n\n/** A dropped shadow straight down, which is how a lifted surface sits. */\nexport const drop = (offsetY: number, blurRadius: number, color: string): UiShadow[] => [\n { offsetX: 0, offsetY, blurRadius, spreadDistance: 0, color },\n];\n"],"mappings":";AAwBA,IAAM,MAAM,CAAC,UAA2B,UAAU,IAAI,MAAM,GAAG,KAAK;AAG7D,IAAM,YAAY,CAAC,WACxB;AAAA,EACE,IAAI,OAAO,OAAO;AAAA,EAClB,IAAI,OAAO,OAAO;AAAA,EAClB,IAAI,OAAO,UAAU;AAAA,EACrB,GAAI,OAAO,mBAAmB,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,cAAc,CAAC;AAAA,EAClE,OAAO;AACT,EAAE,KAAK,GAAG;AAGL,IAAM,gBAAgB,CAAC,YAC5B,QAAQ,IAAI,SAAS,EAAE,KAAK,IAAI;AAS3B,IAAM,QAAQ;AACd,IAAM,QAAQ;AAGd,IAAM,OAAO,CAAC,YAAoB,UAA8B;AAAA,EACrE,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY,gBAAgB,GAAG,MAAM;AACjE;AAGO,IAAM,OAAO,CAAC,SAAiB,YAAoB,UAA8B;AAAA,EACtF,EAAE,SAAS,GAAG,SAAS,YAAY,gBAAgB,GAAG,MAAM;AAC9D;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/Label/Label.styles.ts"],"sourcesContent":["import { alpha } from '@mui/material/styles/index.js';\nimport type { CSSObject, Theme } from '@mui/material/styles/index.js';\n\nimport type { LabelProps } from './Label.types';\nimport { accentFor, rem } from '../../../tokens/scales';\n\ntype Size = NonNullable<LabelProps['size']>;\ntype Variant = NonNullable<LabelProps['variant']>;\ntype Weight = NonNullable<LabelProps['weight']>;\n\nconst SIZES: Record<Size, (theme: Theme) => CSSObject> = {\n xs: (theme) => ({ fontSize: rem(theme, 12), lineHeight: 1.2, padding: theme.spacing(0.25, 0.5) }),\n sm: (theme) => ({ fontSize: rem(theme, 14), lineHeight: 1.3, padding: theme.spacing(0.5, 0.75) }),\n md: (theme) => ({ fontSize: rem(theme, 16), lineHeight: 1.5, padding: theme.spacing(0.75, 1) }),\n lg: (theme) => ({ fontSize: rem(theme, 18), lineHeight: 1.6, padding: theme.spacing(1, 1.25) }),\n xl: (theme) => ({ fontSize: rem(theme, 20), lineHeight: 1.7, padding: theme.spacing(1.25, 1.5) }),\n};\n\nexport const sizeStyles = (theme: Theme, size: Size): CSSObject => (SIZES[size] ?? SIZES.md)(theme);\n\nconst WEIGHTS: Record<Weight, number> = {\n light: 300,\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n};\n\nconst fontWeight = (weight: Weight) => WEIGHTS[weight] ?? WEIGHTS.regular;\n\nexport interface LabelStyleFlags {\n variant: Variant;\n size: Size;\n color: NonNullable<LabelProps['color']>;\n weight: Weight;\n transform: NonNullable<LabelProps['transform']>;\n align: NonNullable<LabelProps['align']>;\n error: boolean;\n disabled: boolean;\n glow: boolean;\n pulse: boolean;\n ripple: boolean;\n srOnly: boolean;\n nowrap: boolean;\n truncate: boolean;\n clickable: boolean;\n}\n\n/**\n * The text colour, which error and disabled override before the palette is\n * consulted at all. Resolved once and threaded through — the variant styles\n * read it up to four times each.\n */\nexport const textColor = (theme: Theme, flags: LabelStyleFlags): string => {\n if (flags.error) return theme.palette.error.main;\n if (flags.disabled) return theme.palette.text.disabled;\n if (flags.color === 'neutral') return theme.palette.text.primary;\n return accentFor(theme, flags.color).main;\n};\n\n/** The ripple that expands from the centre on press, for clickable labels. */\nconst rippleStyles = (theme: Theme): CSSObject => ({\n overflow: 'hidden',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: '50%',\n left: '50%',\n width: 0,\n height: 0,\n borderRadius: '50%',\n backgroundColor: alpha(theme.palette.primary.main, 0.3),\n transform: 'translate(-50%, -50%)',\n transition: 'width 0.6s, height 0.6s',\n },\n '&:active::after': { width: '300%', height: '300%' },\n});\n\ninterface SurfaceInput {\n theme: Theme;\n flags: LabelStyleFlags;\n /** The resolved text colour, or the primary accent when it resolves to none. */\n accent: string;\n}\n\n/**\n * Each variant's own additions. Every arm previously re-spread the same base,\n * glow, pulse and ripple objects and re-derived the colour for each use; the\n * shared prefix is applied once by `labelStyles`.\n *\n * The hover rules are only attached when the label is clickable, which is what\n * the `onClick ? {…} : {}` in every arm was saying.\n */\nconst SURFACES: Record<Variant, (input: SurfaceInput) => CSSObject> = {\n filled: ({ theme, flags, accent }) => ({\n backgroundColor: alpha(accent, 0.1),\n borderRadius: theme.spacing(0.5),\n '&:hover': flags.clickable ? { backgroundColor: alpha(accent, 0.15) } : {},\n }),\n\n outlined: ({ theme, flags, accent }) => ({\n border: `1px solid ${alpha(accent, 0.5)}`,\n borderRadius: theme.spacing(0.5),\n '&:hover': flags.clickable\n ? { borderColor: accent, backgroundColor: alpha(accent, 0.05) }\n : {},\n }),\n\n glass: ({ theme, flags }) => ({\n backgroundColor: alpha(theme.palette.background.paper, 0.1),\n backdropFilter: 'blur(10px)',\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n borderRadius: theme.spacing(0.5),\n '&:hover': flags.clickable\n ? {\n backgroundColor: alpha(theme.palette.background.paper, 0.15),\n borderColor: alpha(theme.palette.primary.main, 0.3),\n }\n : {},\n }),\n\n gradient: ({ theme, flags }) => {\n // `neutral` has no accent of its own in the gradient; it borrows primary,\n // which is what this branch already did before the vocabulary was named.\n const accent = accentFor(theme, flags.color === 'neutral' ? 'primary' : flags.color);\n // The gradient paints the glyphs themselves rather than the box behind them.\n const clip = {\n WebkitBackgroundClip: 'text',\n WebkitTextFillColor: 'transparent',\n backgroundClip: 'text',\n };\n\n return {\n background: `linear-gradient(135deg, ${accent.light}, ${accent.main})`,\n ...clip,\n '&:hover': flags.clickable\n ? {\n background: `linear-gradient(135deg, ${accent.main}, ${accent.dark})`,\n ...clip,\n }\n : {},\n };\n },\n\n minimal: ({ theme, flags }) => ({\n padding: 0,\n '&:hover': flags.clickable ? { color: theme.palette.primary.main } : {},\n }),\n\n default: () => ({}),\n};\n\n/** How the text sits: its alignment, weight, casing and overflow behaviour. */\nconst textLayout = (theme: Theme, flags: LabelStyleFlags): CSSObject => {\n const { srOnly, clickable, align, weight, transform, nowrap, truncate } = flags;\n\n return {\n display: srOnly ? 'none' : 'inline-flex',\n alignItems: 'center',\n gap: theme.spacing(0.5),\n transition: theme.transitions.create(['all'], {\n duration: theme.transitions.duration.standard,\n }),\n cursor: clickable ? 'pointer' : 'default',\n textAlign: align,\n fontWeight: fontWeight(weight),\n textTransform: transform,\n whiteSpace: nowrap ? 'nowrap' : 'normal',\n overflow: truncate ? 'hidden' : 'visible',\n textOverflow: truncate ? 'ellipsis' : 'clip',\n position: 'relative' as const,\n };\n};\n\nexport const labelStyles = (theme: Theme, flags: LabelStyleFlags): CSSObject => {\n const { variant, size, clickable } = flags;\n const color = textColor(theme, flags);\n const accent = color || theme.palette.primary.main;\n\n return {\n ...textLayout(theme, flags),\n ...sizeStyles(theme, size),\n color,\n ...(flags.glow && { textShadow: `0 0 10px ${alpha(accent, 0.5)}` }),\n ...(flags.pulse && {\n animation: 'pulse 2s infinite',\n '@keyframes pulse': {\n '0%': { opacity: 1 },\n '50%': { opacity: 0.6 },\n '100%': { opacity: 1 },\n },\n }),\n ...(flags.ripple && clickable && rippleStyles(theme)),\n ...(SURFACES[variant] ?? SURFACES.default)({ theme, flags, accent }),\n };\n};\n\n/** Visually hidden but still read aloud, for the `srOnly` label. */\nexport const SR_ONLY_SX: CSSObject = {\n position: 'absolute',\n width: '1px',\n height: '1px',\n padding: 0,\n margin: '-1px',\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n border: 0,\n};\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/Menubar/Menubar.styles.ts"],"sourcesContent":["import { alpha } from '@mui/material/styles/index.js';\nimport type { CSSObject, Theme } from '@mui/material/styles/index.js';\n\nimport type { MenubarProps } from './Menubar.types';\nimport { accentFor, rem } from '../../../tokens/scales';\n\ntype Size = NonNullable<MenubarProps['size']>;\ntype Variant = NonNullable<MenubarProps['variant']>;\ntype Color = NonNullable<MenubarProps['color']>;\n\nconst SIZES: Record<Size, (theme: Theme) => CSSObject> = {\n xs: (theme) => ({ minHeight: 40, fontSize: rem(theme, 12), padding: theme.spacing(0.5, 1) }),\n sm: (theme) => ({ minHeight: 48, fontSize: rem(theme, 14), padding: theme.spacing(0.75, 1.5) }),\n md: (theme) => ({ minHeight: 56, fontSize: rem(theme, 16), padding: theme.spacing(1, 2) }),\n lg: (theme) => ({ minHeight: 64, fontSize: rem(theme, 18), padding: theme.spacing(1.25, 2.5) }),\n xl: (theme) => ({ minHeight: 72, fontSize: rem(theme, 20), padding: theme.spacing(1.5, 3) }),\n};\n\nexport const sizeStyles = (theme: Theme, size: Size): CSSObject =>\n (SIZES[size] ?? SIZES.md)(theme);\n\n/** `default` is not a palette entry — it means the paper surface and its text. */\nconst accentOf = (theme: Theme, color: Color) =>\n color === 'neutral' ? theme.palette.primary.main : accentFor(theme, color).main;\n\nconst colorStyles = (theme: Theme, color: Color, transparent: boolean): CSSObject => {\n const surface =\n color === 'neutral'\n ? { backgroundColor: theme.palette.background.paper, color: theme.palette.text.primary }\n : { backgroundColor: accentFor(theme, color).main, color: accentFor(theme, color).contrastText };\n\n return transparent ? { ...surface, backgroundColor: 'transparent' } : surface;\n};\n\ninterface MenubarStyleFlags {\n variant: Variant;\n size: Size;\n color: Color;\n glow: boolean;\n pulse: boolean;\n glass: boolean;\n gradient: boolean;\n blur: boolean;\n transparent: boolean;\n elevation: number;\n}\n\n/**\n * Each variant's own additions to the shared bar. The `glass` and `gradient`\n * arms deliberately do not take the blur spread: glass sets its own\n * backdropFilter, and a blurred gradient loses the gradient.\n */\nconst SURFACES: Record<Variant, (theme: Theme, flags: MenubarStyleFlags) => CSSObject> = {\n glass: (theme, { glass }) => ({\n backgroundColor: alpha(theme.palette.background.paper, glass ? 0.1 : 0.8),\n backdropFilter: 'blur(20px)',\n borderBottom: `1px solid ${alpha(theme.palette.divider, 0.1)}`,\n }),\n\n gradient: (theme, { color, gradient }) => {\n // `neutral` borrows primary for the gradient, as this branch always did.\n const accent = accentFor(theme, color === 'neutral' ? 'primary' : color);\n return {\n background: gradient\n ? `linear-gradient(135deg, ${accent.light}, ${accent.dark})`\n : accent.main,\n color: accent.contrastText,\n };\n },\n\n elevated: (theme, { blur, elevation }) => ({\n ...(blur && { backdropFilter: 'blur(10px)' }),\n boxShadow: theme.shadows[elevation],\n }),\n\n minimal: (_theme, { blur }) => ({\n ...(blur && { backdropFilter: 'blur(10px)' }),\n boxShadow: 'none',\n borderBottom: 'none',\n }),\n\n bordered: (theme, { blur, color }) => ({\n ...(blur && { backdropFilter: 'blur(10px)' }),\n borderBottom: `2px solid ${\n color === 'neutral' ? theme.palette.divider : accentFor(theme, color).main\n }`,\n }),\n\n default: (_theme, { blur }) => ({ ...(blur && { backdropFilter: 'blur(10px)' }) }),\n};\n\nexport const barStyles = (theme: Theme, flags: MenubarStyleFlags): CSSObject => {\n const { variant, size, color, glow, pulse, transparent } = flags;\n\n return {\n transition: theme.transitions.create(['all'], {\n duration: theme.transitions.duration.standard,\n }),\n ...sizeStyles(theme, size),\n ...colorStyles(theme, color, transparent),\n ...(glow && { boxShadow: `0 0 20px ${alpha(accentOf(theme, color), 0.4)}` }),\n ...(pulse && {\n animation: 'pulse 2s infinite',\n '@keyframes pulse': {\n '0%': { opacity: 1 },\n '50%': { opacity: 0.8 },\n '100%': { opacity: 1 },\n },\n }),\n ...(SURFACES[variant] ?? SURFACES.default)(theme, flags),\n };\n};\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/Command/Command.styles.ts"],"sourcesContent":["import { alpha } from '@mui/material/styles/index.js';\nimport type { CSSObject, Theme } from '@mui/material/styles/index.js';\n\nimport type { CommandProps } from './Command.types';\nimport { accentFor, rem } from '../../../tokens/scales';\n\ntype CommandVariant = NonNullable<CommandProps['variant']>;\ntype CommandColor = NonNullable<CommandProps['color']>;\ntype CommandSize = NonNullable<CommandProps['size']>;\n\nconst SIZE_MAP: Record<CommandSize, { width: number; fontPx: number }> = {\n xs: { width: 400, fontPx: 12 },\n sm: { width: 450, fontPx: 14 },\n md: { width: 500, fontPx: 16 },\n lg: { width: 550, fontPx: 18 },\n xl: { width: 600, fontPx: 20 },\n};\n\n/** The paper's width and type for a size, both design px read through the type scale. */\nexport const commandSizeStyles = (theme: Theme, size: CommandSize) => {\n const { width, fontPx } = SIZE_MAP[size] || SIZE_MAP.md;\n return { width: rem(theme, width), fontSize: rem(theme, fontPx) };\n};\n\nconst emphasisStyles = (\n theme: Theme,\n color: CommandColor,\n glow: boolean,\n pulse: boolean,\n): CSSObject => ({\n ...(glow && {\n boxShadow: `0 0 20px ${alpha(accentFor(theme, color).main, 0.4)}`,\n }),\n ...(pulse && {\n animation: 'pulse 2s infinite',\n '@keyframes pulse': {\n '0%': { boxShadow: `0 0 0 0 ${alpha(accentFor(theme, color).main, 0.4)}` },\n '70%': { boxShadow: `0 0 0 10px ${alpha(accentFor(theme, color).main, 0)}` },\n '100%': { boxShadow: `0 0 0 0 ${alpha(accentFor(theme, color).main, 0)}` },\n },\n }),\n});\n\nconst surfaceStyles = (\n theme: Theme,\n variant: CommandVariant,\n color: CommandColor,\n): CSSObject => {\n switch (variant) {\n case 'glass':\n return {\n backgroundColor: alpha(theme.palette.background.paper, 0.1),\n backdropFilter: 'blur(20px)',\n border: `1px solid ${alpha(accentFor(theme, color).main, 0.2)}`,\n };\n case 'gradient':\n return {\n background: `linear-gradient(135deg, ${accentFor(theme, color).main}, ${accentFor(theme, color).dark})`,\n color: accentFor(theme, color).contrastText,\n };\n case 'elevated':\n return { boxShadow: theme.shadows[8] };\n case 'minimal':\n return { border: 'none', boxShadow: 'none' };\n default:\n return {};\n }\n};\n\n/**\n * Every variant shares the same transition and the same optional glow/pulse; only\n * the surface — background, border, shadow — differs.\n */\nexport const commandPaperStyles = (\n theme: Theme,\n { variant, color, glow, pulse }: {\n variant: CommandVariant;\n color: CommandColor;\n glow: boolean;\n pulse: boolean;\n },\n): CSSObject => ({\n transition: theme.transitions.create(['all'], {\n duration: theme.transitions.duration.standard,\n }),\n ...emphasisStyles(theme, color, glow, pulse),\n ...surfaceStyles(theme, variant, color),\n});\n"],"mappings":";;;;;;;;AAAA,SAAS,aAAa;AAUtB,IAAM,WAAmE;AAAA,EACvE,IAAI,EAAE,OAAO,KAAK,QAAQ,GAAG;AAAA,EAC7B,IAAI,EAAE,OAAO,KAAK,QAAQ,GAAG;AAAA,EAC7B,IAAI,EAAE,OAAO,KAAK,QAAQ,GAAG;AAAA,EAC7B,IAAI,EAAE,OAAO,KAAK,QAAQ,GAAG;AAAA,EAC7B,IAAI,EAAE,OAAO,KAAK,QAAQ,GAAG;AAC/B;AAGO,IAAM,oBAAoB,CAAC,OAAc,SAAsB;AACpE,QAAM,EAAE,OAAO,OAAO,IAAI,SAAS,IAAI,KAAK,SAAS;AACrD,SAAO,EAAE,OAAO,IAAI,OAAO,KAAK,GAAG,UAAU,IAAI,OAAO,MAAM,EAAE;AAClE;AAEA,IAAM,iBAAiB,CACrB,OACA,OACA,MACA,WACe;AAAA,EACf,GAAI,QAAQ;AAAA,IACV,WAAW,YAAY,MAAM,UAAU,OAAO,KAAK,EAAE,MAAM,GAAG,CAAC;AAAA,EACjE;AAAA,EACA,GAAI,SAAS;AAAA,IACX,WAAW;AAAA,IACX,oBAAoB;AAAA,MAClB,MAAM,EAAE,WAAW,WAAW,MAAM,UAAU,OAAO,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG;AAAA,MACzE,OAAO,EAAE,WAAW,cAAc,MAAM,UAAU,OAAO,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG;AAAA,MAC3E,QAAQ,EAAE,WAAW,WAAW,MAAM,UAAU,OAAO,KAAK,EAAE,MAAM,CAAC,CAAC,GAAG;AAAA,IAC3E;AAAA,EACF;AACF;AAEA,IAAM,gBAAgB,CACpB,OACA,SACA,UACc;AACd,UAAQ,SAAS;AAAA,IACf,KAAK;AACH,aAAO;AAAA,QACL,iBAAiB,MAAM,MAAM,QAAQ,WAAW,OAAO,GAAG;AAAA,QAC1D,gBAAgB;AAAA,QAChB,QAAQ,aAAa,MAAM,UAAU,OAAO,KAAK,EAAE,MAAM,GAAG,CAAC;AAAA,MAC/D;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,YAAY,2BAA2B,UAAU,OAAO,KAAK,EAAE,IAAI,KAAK,UAAU,OAAO,KAAK,EAAE,IAAI;AAAA,QACpG,OAAO,UAAU,OAAO,KAAK,EAAE;AAAA,MACjC;AAAA,IACF,KAAK;AACH,aAAO,EAAE,WAAW,MAAM,QAAQ,CAAC,EAAE;AAAA,IACvC,KAAK;AACH,aAAO,EAAE,QAAQ,QAAQ,WAAW,OAAO;AAAA,IAC7C;AACE,aAAO,CAAC;AAAA,EACZ;AACF;AAMO,IAAM,qBAAqB,CAChC,OACA,EAAE,SAAS,OAAO,MAAM,MAAM,OAMf;AAAA,EACf,YAAY,MAAM,YAAY,OAAO,CAAC,KAAK,GAAG;AAAA,IAC5C,UAAU,MAAM,YAAY,SAAS;AAAA,EACvC,CAAC;AAAA,EACD,GAAG,eAAe,OAAO,OAAO,MAAM,KAAK;AAAA,EAC3C,GAAG,cAAc,OAAO,SAAS,KAAK;AACxC;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/layout/Skeleton/Skeleton.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport MuiSkeleton from '@mui/material/Skeleton/index.js';\nimport Stack from '@mui/material/Stack/index.js';\nimport { useTheme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { resolveSkeletonProps, skeletonInstanceTestId } from './Skeleton.helpers';\nimport {\n defaultDimensions,\n muiAnimationFor,\n muiVariantFor,\n skeletonStyles,\n} from './Skeleton.styles';\nimport type { SkeletonProps } from './Skeleton.types';\nimport { resolveTestId, withoutTestIdProps } from '../../../platform/test-id';\n\nexport const Skeleton: React.FC<SkeletonProps> = React.memo((rawProps) => {\n const {\n variant,\n animation,\n width,\n height,\n count,\n spacing,\n borderRadius,\n className,\n intensity,\n glassmorphism,\n shimmer,\n style,\n ...others\n } = resolveSkeletonProps(rawProps);\n // `testID` and `dataTestId` are the shared contract's spellings; the DOM\n // wants `data-testid`, and must not see the other two as attributes.\n const dataTestId = resolveTestId(others);\n const props = withoutTestIdProps(others);\n const theme = useTheme();\n\n const defaults = defaultDimensions(variant);\n const finalWidth = width ?? defaults.width;\n const finalHeight = height ?? defaults.height;\n\n // Handle edge case: count of 0 should render nothing\n if (count === 0) {\n return null;\n }\n\n const singleSkeleton = (\n <MuiSkeleton\n variant={muiVariantFor(variant)}\n animation={muiAnimationFor(variant, animation)}\n width={finalWidth}\n height={finalHeight}\n sx={skeletonStyles(theme, {\n intensity,\n borderRadius,\n glassmorphism,\n shimmer,\n style,\n })}\n className={className}\n data-testid={dataTestId}\n aria-hidden=\"true\"\n {...props}\n />\n );\n\n if (count === 1) {\n return singleSkeleton;\n }\n\n return (\n <Stack spacing={spacing}>\n {Array.from({ length: count }).map((_, index) => (\n <Box key={`skeleton-${index}`}>\n {React.cloneElement(singleSkeleton, {\n 'data-testid': skeletonInstanceTestId(dataTestId, index),\n })}\n </Box>\n ))}\n </Stack>\n );\n});\n\nSkeleton.displayName = 'Skeleton';\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,SAAS;AAChB,OAAO,iBAAiB;AACxB,OAAO,WAAW;AAClB,SAAS,gBAAgB;AACzB,OAAO,WAAW;AA4Cd;AAhCG,IAAM,WAAoC,MAAM,KAAK,CAAC,aAAa;AACxE,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI,qBAAqB,QAAQ;AAGjC,QAAM,aAAa,cAAc,MAAM;AACvC,QAAM,QAAQ,mBAAmB,MAAM;AACvC,QAAM,QAAQ,SAAS;AAEvB,QAAM,WAAW,kBAAkB,OAAO;AAC1C,QAAM,aAAa,SAAS,SAAS;AACrC,QAAM,cAAc,UAAU,SAAS;AAGvC,MAAI,UAAU,GAAG;AACf,WAAO;AAAA,EACT;AAEA,QAAM,iBACJ;AAAA,IAAC;AAAA;AAAA,MACC,SAAS,cAAc,OAAO;AAAA,MAC9B,WAAW,gBAAgB,SAAS,SAAS;AAAA,MAC7C,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,IAAI,eAAe,OAAO;AAAA,QACxB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD;AAAA,MACA,eAAa;AAAA,MACb,eAAY;AAAA,MACX,GAAG;AAAA;AAAA,EACN;AAGF,MAAI,UAAU,GAAG;AACf,WAAO;AAAA,EACT;AAEA,SACE,oBAAC,SAAM,SACJ,gBAAM,KAAK,EAAE,QAAQ,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,UACrC,oBAAC,OACE,gBAAM,aAAa,gBAAgB;AAAA,IAClC,eAAe,uBAAuB,YAAY,KAAK;AAAA,EACzD,CAAC,KAHO,YAAY,KAAK,EAI3B,CACD,GACH;AAEJ,CAAC;AAED,SAAS,cAAc;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/navigation/Tabs/TabsPanel.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport CircularProgress from '@mui/material/CircularProgress/index.js';\nimport Fade from '@mui/material/Fade/index.js';\nimport { styled } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport type { TabPanelProps } from './Tabs.types';\n\nconst TabPanel = styled(Box, {\n shouldForwardProp: (prop) => !['animate', 'persist'].includes(prop as string),\n})<{ animate?: boolean; persist?: boolean }>(({ animate, persist }) => ({\n width: '100%',\n\n ...(animate && {\n transition: 'all 0.3s ease-in-out',\n }),\n\n ...(persist && {\n '&[hidden]': {\n display: 'none !important',\n },\n }),\n}));\n\nconst LoadingContainer = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n minHeight: 200,\n color: theme.palette.text.secondary,\n}));\n\n// A loading panel shows the caller's placeholder, or a spinner if there isn't one.\nconst panelContent = (\n loading: boolean,\n loadingComponent: React.ReactNode,\n children: React.ReactNode,\n): React.ReactNode => {\n if (!loading) return children;\n\n return (\n loadingComponent || (\n <LoadingContainer>\n <CircularProgress size={32} />\n </LoadingContainer>\n )\n );\n};\n\nconst panelTestId = (dataTestId: string | undefined, index: number): string =>\n dataTestId ? `${dataTestId}-panel-${index}` : `tabs-panel-${index}`;\n\nexport const CustomTabPanel: React.FC<TabPanelProps & { dataTestId?: string; index: number }> = ({\n children,\n id,\n value,\n animate = false,\n animationDuration = 300,\n persist = false,\n loading = false,\n loadingComponent,\n className,\n dataTestId,\n index,\n ...props\n}) => {\n const isActive = value === id;\n const shouldRender = isActive || persist;\n\n if (!shouldRender) {\n return null;\n }\n\n const content = panelContent(loading, loadingComponent, children);\n const testId = panelTestId(dataTestId, index);\n\n const panel = (\n <TabPanel\n role=\"tabpanel\"\n hidden={!isActive}\n id={`tabpanel-${id}`}\n aria-labelledby={`tab-${id}`}\n animate={animate}\n persist={persist}\n className={className}\n data-testid={testId}\n {...props}\n >\n {content}\n </TabPanel>\n );\n\n // The animated and plain panels are the same element; only the Fade wrapper\n // differs.\n if (!animate) return panel;\n\n return (\n <Fade in={isActive} timeout={animationDuration}>\n {panel}\n </Fade>\n );\n};\n"],"mappings":";AAAA,OAAO,SAAS;AAChB,OAAO,sBAAsB;AAC7B,OAAO,UAAU;AACjB,SAAS,cAAc;AAwCf;AAnCR,IAAM,WAAW,OAAO,KAAK;AAAA,EAC3B,mBAAmB,CAAC,SAAS,CAAC,CAAC,WAAW,SAAS,EAAE,SAAS,IAAc;AAC9E,CAAC,EAA4C,CAAC,EAAE,SAAS,QAAQ,OAAO;AAAA,EACtE,OAAO;AAAA,EAEP,GAAI,WAAW;AAAA,IACb,YAAY;AAAA,EACd;AAAA,EAEA,GAAI,WAAW;AAAA,IACb,aAAa;AAAA,MACX,SAAS;AAAA,IACX;AAAA,EACF;AACF,EAAE;AAEF,IAAM,mBAAmB,OAAO,GAAG,EAAE,CAAC,EAAE,MAAM,OAAO;AAAA,EACnD,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,OAAO,MAAM,QAAQ,KAAK;AAC5B,EAAE;AAGF,IAAM,eAAe,CACnB,SACA,kBACA,aACoB;AACpB,MAAI,CAAC,QAAS,QAAO;AAErB,SACE,oBACE,oBAAC,oBACC,8BAAC,oBAAiB,MAAM,IAAI,GAC9B;AAGN;AAEA,IAAM,cAAc,CAAC,YAAgC,UACnD,aAAa,GAAG,UAAU,UAAU,KAAK,KAAK,cAAc,KAAK;AAE5D,IAAM,iBAAmF,CAAC;AAAA,EAC/F;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,oBAAoB;AAAA,EACpB,UAAU;AAAA,EACV,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,WAAW,UAAU;AAC3B,QAAM,eAAe,YAAY;AAEjC,MAAI,CAAC,cAAc;AACjB,WAAO;AAAA,EACT;AAEA,QAAM,UAAU,aAAa,SAAS,kBAAkB,QAAQ;AAChE,QAAM,SAAS,YAAY,YAAY,KAAK;AAE5C,QAAM,QACJ;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,QAAQ,CAAC;AAAA,MACT,IAAI,YAAY,EAAE;AAAA,MAClB,mBAAiB,OAAO,EAAE;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA,eAAa;AAAA,MACZ,GAAG;AAAA,MAEH;AAAA;AAAA,EACH;AAKF,MAAI,CAAC,QAAS,QAAO;AAErB,SACE,oBAAC,QAAK,IAAI,UAAU,SAAS,mBAC1B,iBACH;AAEJ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/Textarea/Textarea.styles.ts"],"sourcesContent":["import { alpha, keyframes } from '@mui/material/styles/index.js';\nimport type { CSSObject, Theme } from '@mui/material/styles/index.js';\n\nimport { fieldEdge } from '../../../tokens/field-edge';\nimport { absoluteInk, controlNeutral } from '../../../tokens/ink';\n\nconst glowAnimation = keyframes`\n 0% {\n box-shadow: 0 0 5px currentColor;\n }\n 50% {\n box-shadow: 0 0 20px currentColor, 0 0 30px currentColor;\n }\n 100% {\n box-shadow: 0 0 5px currentColor;\n }\n`;\n\n// Ripple animation for buttons (commented out - not currently used)\n// const rippleAnimation = keyframes`\n// 0% {\n// transform: scale(0);\n// opacity: 1;\n// }\n// 100% {\n// transform: scale(4);\n// opacity: 0;\n// }\n// `;\n\n// Float animation for rich text toolbar\nexport const floatAnimation = keyframes`\n 0% {\n transform: translateY(0px);\n }\n 50% {\n transform: translateY(-3px);\n }\n 100% {\n transform: translateY(0px);\n }\n`;\n\ntype ResolvedPalette = {\n main: string;\n dark: string;\n light: string;\n contrastText: string;\n};\n\ntype PartialPalette = { main: string; dark?: string; light?: string; contrastText?: string };\n\n// `neutral` is not a MUI palette entry, so it is the controls' neutral tone.\nconst neutralPalette = (theme: Theme): ResolvedPalette => controlNeutral(theme);\n\n// Each slot falls back to the palette's own main, then to primary — a custom\n// theme can define main without dark or light.\nconst pick = (...candidates: Array<string | undefined>): string =>\n candidates.find(Boolean) ?? '';\n\nconst withFallbacks = (theme: Theme, palette: PartialPalette): ResolvedPalette => ({\n main: pick(palette?.main, theme.palette.primary.main),\n dark: pick(palette?.dark, palette?.main, theme.palette.primary.dark),\n light: pick(palette?.light, palette?.main, theme.palette.primary.light),\n contrastText: pick(palette?.contrastText, absoluteInk(theme).white),\n});\n\nexport const getColorFromTheme = (theme: Theme, color: string): ResolvedPalette => {\n if (color === 'neutral') return neutralPalette(theme);\n\n const colorMap: Record<string, PartialPalette> = {\n primary: theme.palette.primary,\n secondary: theme.palette.secondary,\n success: theme.palette.success,\n warning: theme.palette.warning,\n info: theme.palette.info,\n danger: theme.palette.error,\n };\n\n return withFallbacks(theme, colorMap[color] || theme.palette.primary);\n};\n\n// glass, gradient and glow are independent flags that each layer styles onto the\n// base. Spelled out here rather than inline so the styled() callback keeps one\n// branch instead of three.\nexport const textareaEmphasisStyles = ({\n theme,\n colorPalette,\n glass,\n gradient,\n glow,\n}: {\n theme: Theme;\n colorPalette: { main: string; light?: string; dark?: string };\n glass?: boolean;\n gradient?: boolean;\n glow?: boolean;\n}): CSSObject => {\nconst glassStyles = glass\n ? {\n backgroundColor: alpha(theme.palette.background.paper, 0.1),\n backdropFilter: 'blur(20px)',\n border: `1px solid ${fieldEdge(theme)}`,\n '&:hover': {\n backgroundColor: alpha(theme.palette.background.paper, 0.15),\n backdropFilter: 'blur(25px)',\n },\n '&:focus': {\n backgroundColor: alpha(theme.palette.background.paper, 0.2),\n backdropFilter: 'blur(30px)',\n },\n }\n : {};\n\n// Gradient border effect\nconst gradientStyles = gradient\n ? {\n background: `linear-gradient(${theme.palette.background.paper}, ${theme.palette.background.paper}) padding-box,\n linear-gradient(135deg, ${colorPalette.main}, ${colorPalette.light}) border-box`,\n border: '2px solid transparent',\n '&:focus': {\n background: `linear-gradient(${theme.palette.background.paper}, ${theme.palette.background.paper}) padding-box,\n linear-gradient(135deg, ${colorPalette.main}, ${colorPalette.dark}) border-box`,\n },\n }\n : {};\n\n// Glow effect\nconst glowStyles = glow\n ? {\n animation: `${glowAnimation} 2s ease-in-out infinite`,\n boxShadow: `0 0 10px ${alpha(colorPalette.main, 0.3)}`,\n }\n : {};\n\n return { ...glassStyles, ...gradientStyles, ...glowStyles };\n};\n"],"mappings":";;;;;;;;;AAAA,SAAS,OAAO,iBAAiB;AAMjC,IAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBf,IAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsB9B,IAAM,iBAAiB,CAAC,UAAkC,eAAe,KAAK;AAI9E,IAAM,OAAO,IAAI,eACf,WAAW,KAAK,OAAO,KAAK;AAE9B,IAAM,gBAAgB,CAAC,OAAc,aAA8C;AAAA,EACjF,MAAM,KAAK,SAAS,MAAM,MAAM,QAAQ,QAAQ,IAAI;AAAA,EACpD,MAAM,KAAK,SAAS,MAAM,SAAS,MAAM,MAAM,QAAQ,QAAQ,IAAI;AAAA,EACnE,OAAO,KAAK,SAAS,OAAO,SAAS,MAAM,MAAM,QAAQ,QAAQ,KAAK;AAAA,EACtE,cAAc,KAAK,SAAS,cAAc,YAAY,KAAK,EAAE,KAAK;AACpE;AAEO,IAAM,oBAAoB,CAAC,OAAc,UAAmC;AACjF,MAAI,UAAU,UAAW,QAAO,eAAe,KAAK;AAEpD,QAAM,WAA2C;AAAA,IAC/C,SAAS,MAAM,QAAQ;AAAA,IACvB,WAAW,MAAM,QAAQ;AAAA,IACzB,SAAS,MAAM,QAAQ;AAAA,IACvB,SAAS,MAAM,QAAQ;AAAA,IACvB,MAAM,MAAM,QAAQ;AAAA,IACpB,QAAQ,MAAM,QAAQ;AAAA,EACxB;AAEA,SAAO,cAAc,OAAO,SAAS,KAAK,KAAK,MAAM,QAAQ,OAAO;AACtE;AAKO,IAAM,yBAAyB,CAAC;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAMiB;AACjB,QAAM,cAAc,QAChB;AAAA,IACE,iBAAiB,MAAM,MAAM,QAAQ,WAAW,OAAO,GAAG;AAAA,IAC1D,gBAAgB;AAAA,IAChB,QAAQ,aAAa,UAAU,KAAK,CAAC;AAAA,IACrC,WAAW;AAAA,MACT,iBAAiB,MAAM,MAAM,QAAQ,WAAW,OAAO,IAAI;AAAA,MAC3D,gBAAgB;AAAA,IAClB;AAAA,IACA,WAAW;AAAA,MACT,iBAAiB,MAAM,MAAM,QAAQ,WAAW,OAAO,GAAG;AAAA,MAC1D,gBAAgB;AAAA,IAClB;AAAA,EACF,IACA,CAAC;AAGL,QAAM,iBAAiB,WACnB;AAAA,IACE,YAAY,mBAAmB,MAAM,QAAQ,WAAW,KAAK,KAAK,MAAM,QAAQ,WAAW,KAAK;AAAA,yCAC7D,aAAa,IAAI,KAAK,aAAa,KAAK;AAAA,IAC3E,QAAQ;AAAA,IACR,WAAW;AAAA,MACT,YAAY,mBAAmB,MAAM,QAAQ,WAAW,KAAK,KAAK,MAAM,QAAQ,WAAW,KAAK;AAAA,2CAC7D,aAAa,IAAI,KAAK,aAAa,IAAI;AAAA,IAC5E;AAAA,EACF,IACA,CAAC;AAGL,QAAM,aAAa,OACf;AAAA,IACE,WAAW,GAAG,aAAa;AAAA,IAC3B,WAAW,YAAY,MAAM,aAAa,MAAM,GAAG,CAAC;AAAA,EACtD,IACA,CAAC;AAEH,SAAO,EAAE,GAAG,aAAa,GAAG,gBAAgB,GAAG,WAAW;AAC5D;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/feedback/TutorialOverlay/TutorialStepBody.tsx"],"sourcesContent":["import CompleteIcon from '@mui/icons-material/CheckCircle';\nimport CloseIcon from '@mui/icons-material/Close';\nimport PrevIcon from '@mui/icons-material/NavigateBefore';\nimport NextIcon from '@mui/icons-material/NavigateNext';\nimport RestartIcon from '@mui/icons-material/Refresh';\nimport Box from '@mui/material/Box/index.js';\nimport Button from '@mui/material/Button/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport Stack from '@mui/material/Stack/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { alpha, styled } from '@mui/material/styles/index.js';\nimport React, { } from 'react';\n\nimport { onMedia, uiInk } from '../../../tokens/ink';\n\nimport type { TutorialOverlayProps } from './TutorialOverlay.types';\nimport type { TutorialCopy } from '../../../copy';\n\n// Animation keyframes\n\nconst StepIndicator = styled(Box)(({ theme }) => ({\n display: 'flex',\n gap: theme.spacing(1),\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2) }));\n\n\nconst StepDot = styled(Box, {\n shouldForwardProp: (prop) => prop !== 'active' && prop !== 'completed' })<{ active?: boolean; completed?: boolean }>(({ theme, active, completed }) => ({\n width: 8,\n height: 8,\n borderRadius: '50%',\n background: completed\n ? theme.palette.success.main\n : active\n ? theme.palette.primary.main\n : alpha(theme.palette.text.primary, 0.3),\n transition: 'all 0.3s ease',\n ...(active && {\n transform: 'scale(1.5)' }) }));\n\n// Title, body copy, the step dots and the navigation row.\n\n// The step's controls: skip/restart on the left, previous/next on the right.\nconst TutorialStepNav: React.FC<{\n copy: TutorialCopy;\n currentStep: number;\n stepCount: number;\n isLastStep: boolean;\n allowSkip: boolean;\n requiresActionBeforeNext?: boolean;\n onNext: () => void;\n onPrev: () => void;\n onSkip: () => void;\n onRestart: () => void;\n}> = ({\n copy,\n currentStep,\n stepCount,\n isLastStep,\n allowSkip,\n requiresActionBeforeNext,\n onNext,\n onPrev,\n onSkip,\n onRestart }) => (\n <Stack\n direction=\"row\"\n spacing={1}\n justifyContent=\"space-between\"\n data-testid=\"tutorial-navigation\"\n >\n <Stack direction=\"row\" spacing={1}>\n {allowSkip && (\n <Button size=\"small\" onClick={onSkip} variant=\"text\">\n {copy.skip}\n </Button>\n )}\n {stepCount > 1 && (\n <IconButton\n size=\"small\"\n onClick={onRestart}\n disabled={currentStep === 0}\n title={copy.restart}\n >\n <RestartIcon fontSize=\"small\" />\n </IconButton>\n )}\n </Stack>\n\n <Stack direction=\"row\" spacing={1}>\n {stepCount > 1 && currentStep > 0 && (\n <Button\n size=\"small\"\n startIcon={<PrevIcon />}\n onClick={onPrev}\n disabled={currentStep === 0}\n data-testid=\"tutorial-prev-button\"\n >\n {copy.previous}\n </Button>\n )}\n\n {!isLastStep ? (\n <Button\n variant=\"contained\"\n size=\"small\"\n endIcon={<NextIcon />}\n onClick={onNext}\n disabled={requiresActionBeforeNext}\n title={requiresActionBeforeNext ? 'Complete the required action first' : ''}\n data-testid=\"tutorial-next-button\"\n >\n {copy.next}\n </Button>\n ) : (\n <Button\n variant=\"contained\"\n size=\"small\"\n endIcon={<CompleteIcon />}\n onClick={onNext}\n sx={(theme) => {\n const [from, to] = uiInk(theme).celebration.mint;\n return { background: `linear-gradient(135deg, ${from} 0%, ${to} 100%)` };\n }}\n data-testid=\"tutorial-finish-button\"\n >\n {stepCount === 1 ? 'Complete' : 'Finish'}\n </Button>\n )}\n </Stack>\n </Stack>\n);\n\nconst StepDots: React.FC<{ currentStep: number; stepCount: number }> = ({\n currentStep,\n stepCount }) => (\n <StepIndicator data-testid=\"tutorial-step-indicators\">\n {Array.from({ length: stepCount }).map((_, index) => (\n <StepDot\n key={index}\n active={index === currentStep}\n completed={index < currentStep}\n data-testid={`tutorial-indicator-${index}`}\n />\n ))}\n </StepIndicator>\n);\n\n// Title, and the close button when skipping is allowed.\nconst TutorialStepHeader: React.FC<{\n title: React.ReactNode;\n currentStep: number;\n allowSkip: boolean;\n onSkip: () => void;\n}> = ({ title, currentStep, allowSkip, onSkip }) => (\n <Box\n sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'flex-start' }}\n >\n <Typography\n id={`tutorial-title-${currentStep}`}\n variant=\"h6\"\n fontWeight=\"bold\"\n sx={{ flex: 1 }}\n data-testid=\"tutorial-step-title\"\n >\n {title}\n </Typography>\n {allowSkip && (\n <IconButton\n size=\"small\"\n onClick={onSkip}\n sx={{ ml: 1, mt: -1, mr: -1 }}\n data-testid=\"tutorial-close-button\"\n >\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n )}\n </Box>\n);\n\nexport const TutorialStepBody: React.FC<{\n copy: TutorialCopy;\n step: TutorialOverlayProps['steps'][number];\n currentStep: number;\n stepCount: number;\n progress: number;\n isLastStep: boolean;\n allowSkip: boolean;\n showProgress: boolean;\n requiresActionBeforeNext?: boolean;\n onNext: () => void;\n onPrev: () => void;\n onSkip: () => void;\n onRestart: () => void;\n}> = ({\n copy,\n step,\n currentStep,\n stepCount,\n progress: _progress,\n isLastStep,\n allowSkip,\n showProgress,\n requiresActionBeforeNext,\n onNext,\n onPrev,\n onSkip,\n onRestart }) => (\n <Stack spacing={2}>\n <TutorialStepHeader\n title={step.title}\n currentStep={currentStep}\n allowSkip={allowSkip}\n onSkip={onSkip}\n />\n\n <Typography\n id={`tutorial-content-${currentStep}`}\n variant=\"body2\"\n color=\"text.secondary\"\n data-testid=\"tutorial-step-content\"\n >\n {step.content}\n </Typography>\n\n {showProgress && (\n <Typography variant=\"caption\" color=\"text.secondary\" align=\"center\">\n {currentStep + 1} of {stepCount}\n </Typography>\n )}\n\n {step.action && (\n <Button\n variant=\"contained\"\n size=\"small\"\n onClick={step.action.onClick}\n sx={(theme) => {\n const [from, to] = uiInk(theme).celebration.violet;\n return { background: `linear-gradient(135deg, ${from} 0%, ${to} 100%)`, color: onMedia(theme) };\n }}\n >\n {step.action.label}\n </Button>\n )}\n\n <StepDots currentStep={currentStep} stepCount={stepCount} />\n\n <TutorialStepNav\n copy={copy}\n currentStep={currentStep}\n stepCount={stepCount}\n isLastStep={isLastStep}\n allowSkip={allowSkip}\n requiresActionBeforeNext={requiresActionBeforeNext}\n onNext={onNext}\n onPrev={onPrev}\n onSkip={onSkip}\n onRestart={onRestart}\n />\n </Stack>\n);\n\n// Main component\n"],"mappings":";;;;;;AAAA,OAAO,kBAAkB;AACzB,OAAO,eAAe;AACtB,OAAO,cAAc;AACrB,OAAO,cAAc;AACrB,OAAO,iBAAiB;AACxB,OAAO,SAAS;AAChB,OAAO,YAAY;AACnB,OAAO,gBAAgB;AACvB,OAAO,WAAW;AAClB,OAAO,gBAAgB;AACvB,SAAS,OAAO,cAAc;AA8DpB,SAEI,KAFJ;AApDV,IAAM,gBAAgB,OAAO,GAAG,EAAE,CAAC,EAAE,MAAM,OAAO;AAAA,EAChD,SAAS;AAAA,EACT,KAAK,MAAM,QAAQ,CAAC;AAAA,EACpB,WAAW,MAAM,QAAQ,CAAC;AAAA,EAC1B,cAAc,MAAM,QAAQ,CAAC;AAAE,EAAE;AAGnC,IAAM,UAAU,OAAO,KAAK;AAAA,EAC1B,mBAAmB,CAAC,SAAS,SAAS,YAAY,SAAS;AAAY,CAAC,EAA6C,CAAC,EAAE,OAAO,QAAQ,UAAU,OAAO;AAAA,EACxJ,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,YAAY,YACR,MAAM,QAAQ,QAAQ,OACtB,SACE,MAAM,QAAQ,QAAQ,OACtB,MAAM,MAAM,QAAQ,KAAK,SAAS,GAAG;AAAA,EAC3C,YAAY;AAAA,EACZ,GAAI,UAAU;AAAA,IACZ,WAAW;AAAA,EAAa;AAAG,EAAE;AAKjC,IAAM,kBAWD,CAAC;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAU,MACJ;AAAA,EAAC;AAAA;AAAA,IACC,WAAU;AAAA,IACV,SAAS;AAAA,IACT,gBAAe;AAAA,IACf,eAAY;AAAA,IAEZ;AAAA,2BAAC,SAAM,WAAU,OAAM,SAAS,GAC7B;AAAA,qBACC,oBAAC,UAAO,MAAK,SAAQ,SAAS,QAAQ,SAAQ,QAC3C,eAAK,MACR;AAAA,QAED,YAAY,KACX;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,UAAU,gBAAgB;AAAA,YAC1B,OAAO,KAAK;AAAA,YAEZ,8BAAC,eAAY,UAAS,SAAQ;AAAA;AAAA,QAChC;AAAA,SAEJ;AAAA,MAEA,qBAAC,SAAM,WAAU,OAAM,SAAS,GAC7B;AAAA,oBAAY,KAAK,cAAc,KAC9B;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,WAAW,oBAAC,YAAS;AAAA,YACrB,SAAS;AAAA,YACT,UAAU,gBAAgB;AAAA,YAC1B,eAAY;AAAA,YAEX,eAAK;AAAA;AAAA,QACR;AAAA,QAGD,CAAC,aACA;AAAA,UAAC;AAAA;AAAA,YACC,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAAS,oBAAC,YAAS;AAAA,YACnB,SAAS;AAAA,YACT,UAAU;AAAA,YACV,OAAO,2BAA2B,uCAAuC;AAAA,YACzE,eAAY;AAAA,YAEX,eAAK;AAAA;AAAA,QACR,IAEA;AAAA,UAAC;AAAA;AAAA,YACC,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,SAAS,oBAAC,gBAAa;AAAA,YACvB,SAAS;AAAA,YACT,IAAI,CAAC,UAAU;AACb,oBAAM,CAAC,MAAM,EAAE,IAAI,MAAM,KAAK,EAAE,YAAY;AAC5C,qBAAO,EAAE,YAAY,2BAA2B,IAAI,QAAQ,EAAE,SAAS;AAAA,YACzE;AAAA,YACA,eAAY;AAAA,YAEX,wBAAc,IAAI,aAAa;AAAA;AAAA,QAClC;AAAA,SAEJ;AAAA;AAAA;AACF;AAGR,IAAM,WAAiE,CAAC;AAAA,EACtE;AAAA,EACA;AAAU,MACV,oBAAC,iBAAc,eAAY,4BACxB,gBAAM,KAAK,EAAE,QAAQ,UAAU,CAAC,EAAE,IAAI,CAAC,GAAG,UACzC;AAAA,EAAC;AAAA;AAAA,IAEC,QAAQ,UAAU;AAAA,IAClB,WAAW,QAAQ;AAAA,IACnB,eAAa,sBAAsB,KAAK;AAAA;AAAA,EAHnC;AAIP,CACD,GACH;AAIF,IAAM,qBAKD,CAAC,EAAE,OAAO,aAAa,WAAW,OAAO,MACtC;AAAA,EAAC;AAAA;AAAA,IACC,IAAI,EAAE,SAAS,QAAQ,gBAAgB,iBAAiB,YAAY,aAAa;AAAA,IAEjF;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,IAAI,kBAAkB,WAAW;AAAA,UACjC,SAAQ;AAAA,UACR,YAAW;AAAA,UACX,IAAI,EAAE,MAAM,EAAE;AAAA,UACd,eAAY;AAAA,UAEX;AAAA;AAAA,MACH;AAAA,MACC,aACC;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAS;AAAA,UACT,IAAI,EAAE,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG;AAAA,UAC5B,eAAY;AAAA,UAEZ,8BAAC,aAAU,UAAS,SAAQ;AAAA;AAAA,MAC9B;AAAA;AAAA;AAEJ;AAGD,IAAM,mBAcR,CAAC;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAU,MACN,qBAAC,SAAM,SAAS,GACd;AAAA;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,KAAK;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EACF;AAAA,EAEA;AAAA,IAAC;AAAA;AAAA,MACC,IAAI,oBAAoB,WAAW;AAAA,MACnC,SAAQ;AAAA,MACR,OAAM;AAAA,MACN,eAAY;AAAA,MAEX,eAAK;AAAA;AAAA,EACR;AAAA,EAEC,gBACC,qBAAC,cAAW,SAAQ,WAAU,OAAM,kBAAiB,OAAM,UACxD;AAAA,kBAAc;AAAA,IAAE;AAAA,IAAK;AAAA,KACxB;AAAA,EAGD,KAAK,UACJ;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,MAAK;AAAA,MACL,SAAS,KAAK,OAAO;AAAA,MACrB,IAAI,CAAC,UAAU;AACb,cAAM,CAAC,MAAM,EAAE,IAAI,MAAM,KAAK,EAAE,YAAY;AAC5C,eAAO,EAAE,YAAY,2BAA2B,IAAI,QAAQ,EAAE,UAAU,OAAO,QAAQ,KAAK,EAAE;AAAA,MAChG;AAAA,MAEC,eAAK,OAAO;AAAA;AAAA,EACf;AAAA,EAGF,oBAAC,YAAS,aAA0B,WAAsB;AAAA,EAE1D;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EACF;AAAA,GACF;","names":[]}