@12-apps/ui 6.37.0 → 6.39.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 (917) hide show
  1. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +4 -4
  2. package/dist/_internal/components/data-display/CardKit/CardKebab.js +2 -2
  3. package/dist/_internal/components/data-display/DataGrid/DataGrid.body.js +3 -2
  4. package/dist/_internal/components/data-display/DataGrid/DataGrid.cells.js +2 -1
  5. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +4 -4
  6. package/dist/_internal/components/data-display/DataGrid/DataGrid.model.js +2 -1
  7. package/dist/_internal/components/data-display/DataViews/DataViewsBoard.js +2 -2
  8. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +49 -49
  9. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +61 -62
  10. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +4 -5
  11. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +4 -5
  12. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +9 -10
  13. package/dist/_internal/components/data-display/DataViews/base-card.js +4 -5
  14. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +6 -6
  15. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +5 -5
  16. package/dist/_internal/components/data-display/DataViews/base-list-card.js +9 -10
  17. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +8 -8
  18. package/dist/_internal/components/data-display/DataViews/data-views-columns-tab.js +2 -2
  19. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +3 -3
  20. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +6 -6
  21. package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +3 -3
  22. package/dist/_internal/components/data-display/DataViews/data-views-empty.js +2 -2
  23. package/dist/_internal/components/data-display/DataViews/data-views-export.js +2 -2
  24. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +14 -14
  25. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +12 -12
  26. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +2 -2
  27. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +46 -46
  28. package/dist/_internal/components/data-display/DataViews/data-views-header-row.js +2 -2
  29. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +14 -14
  30. package/dist/_internal/components/data-display/DataViews/data-views-layout-context.js +1 -1
  31. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +11 -11
  32. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +12 -12
  33. package/dist/_internal/components/data-display/DataViews/data-views-overflow-costs.js +4 -3
  34. package/dist/_internal/components/data-display/DataViews/data-views-overflow.js +3 -2
  35. package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +4 -4
  36. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +2 -2
  37. package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +2 -2
  38. package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +2 -2
  39. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +18 -18
  40. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +18 -19
  41. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +17 -17
  42. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +2 -2
  43. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +2 -2
  44. package/dist/_internal/components/data-display/DataViews/save-view-preview.js +2 -2
  45. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +4 -4
  46. package/dist/_internal/components/data-display/DescriptionItem/DescriptionItem.js +2 -2
  47. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +12 -12
  48. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +8 -8
  49. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +13 -13
  50. package/dist/_internal/components/data-display/FleetMap/FleetRoster.js +3 -3
  51. package/dist/_internal/components/data-display/LazyImage/LazyImage.js +3 -3
  52. package/dist/_internal/components/data-display/LoadingState/LoadingState.js +3 -3
  53. package/dist/_internal/components/data-display/MapPreview/MapDecorations.js +2 -2
  54. package/dist/_internal/components/data-display/MapPreview/MapPreview.hooks.js +2 -2
  55. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +7 -7
  56. package/dist/_internal/components/data-display/MapPreview/MapTiles.js +2 -2
  57. package/dist/_internal/components/data-display/MapPreview/StaticMapView.js +4 -4
  58. package/dist/_internal/components/data-display/MapPreview/mapProjection.js +3 -3
  59. package/dist/_internal/components/data-display/MapPreview/useMapPreview.js +3 -3
  60. package/dist/_internal/components/data-display/StatCard/StatCard.js +3 -3
  61. package/dist/_internal/components/data-display/Table/Table.helpers.js +5 -3
  62. package/dist/_internal/components/data-display/Table/Table.hooks.js +2 -1
  63. package/dist/_internal/components/data-display/Table/Table.js +4 -4
  64. package/dist/_internal/components/data-display/Table/TableParts.hooks.js +4 -2
  65. package/dist/_internal/components/data-display/Table/TableParts.js +4 -2
  66. package/dist/_internal/components/data-display/index.js +27 -27
  67. package/dist/_internal/components/feedback/Dialog/Dialog.js +3 -3
  68. package/dist/_internal/components/feedback/Dialog/Dialog.styles.js +2 -2
  69. package/dist/_internal/components/feedback/Modal/Modal.js +3 -2
  70. package/dist/_internal/components/feedback/Modal/Modal.styles.js +2 -1
  71. package/dist/_internal/components/feedback/Sonner/Sonner.js +2 -2
  72. package/dist/_internal/components/feedback/Sonner/SonnerToast.js +1 -1
  73. package/dist/_internal/components/feedback/StackedModal/StackedModal.js +4 -3
  74. package/dist/_internal/components/feedback/StackedModal/StackedModal.parts.js +3 -2
  75. package/dist/_internal/components/feedback/StackedModal/StackedModal.styles.js +2 -1
  76. package/dist/_internal/components/feedback/Toast/Toast.js +2 -1
  77. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.geometry.js +1 -1
  78. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.hooks.js +3 -2
  79. package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +5 -4
  80. package/dist/_internal/components/feedback/TutorialOverlay/TutorialStepBody.js +2 -1
  81. package/dist/_internal/components/feedback/index.js +14 -15
  82. package/dist/_internal/components/form/Calendar/Calendar.js +5 -4
  83. package/dist/_internal/components/form/Calendar/CalendarDay.js +2 -1
  84. package/dist/_internal/components/form/Calendar/CalendarDayCell.js +3 -2
  85. package/dist/_internal/components/form/Calendar/CalendarMonth.js +4 -3
  86. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +5 -5
  87. package/dist/_internal/components/form/Switch/Switch.js +4 -4
  88. package/dist/_internal/components/form/Switch/Switch.metrics.js +5 -1
  89. package/dist/_internal/components/form/Switch/Switch.parts.js +3 -3
  90. package/dist/_internal/components/form/Switch/Switch.styles.js +2 -2
  91. package/dist/_internal/components/form/index.js +9 -9
  92. package/dist/_internal/components/form/total-form/FormErrorSnackbar.js +3 -2
  93. package/dist/_internal/components/index.js +117 -118
  94. package/dist/_internal/components/layout/Accordion/Accordion.js +3 -2
  95. package/dist/_internal/components/layout/Accordion/Accordion.styles.js +2 -1
  96. package/dist/_internal/components/layout/Box/Box.js +1 -1
  97. package/dist/_internal/components/layout/Card/Card.js +3 -3
  98. package/dist/_internal/components/layout/Card/Card.styles.js +2 -2
  99. package/dist/_internal/components/layout/CardGrid/CardGrid.js +2 -1
  100. package/dist/_internal/components/layout/Collapsible/Collapsible.helpers.js +2 -1
  101. package/dist/_internal/components/layout/Collapsible/Collapsible.js +3 -2
  102. package/dist/_internal/components/layout/ContentToolbar/ColumnsMenu.js +1 -1
  103. package/dist/_internal/components/layout/ContentToolbar/ContentToolbar.js +1 -1
  104. package/dist/_internal/components/layout/ContentToolbar/FilterTrigger.js +1 -1
  105. package/dist/_internal/components/layout/ContentToolbar/MultiSelectDropdown.js +1 -1
  106. package/dist/_internal/components/layout/ContentToolbar/SavedViewsMenu.js +1 -1
  107. package/dist/_internal/components/layout/ContentToolbar/SortByDropdown.js +1 -1
  108. package/dist/_internal/components/layout/ContentToolbar/ViewSelector.js +1 -1
  109. package/dist/_internal/components/layout/Dashboard/Dashboard.js +2 -2
  110. package/dist/_internal/components/layout/Dashboard/DashboardParts.js +1 -1
  111. package/dist/_internal/components/layout/Drawer/Drawer.js +2 -1
  112. package/dist/_internal/components/layout/Resizable/Resizable.helpers.js +8 -3
  113. package/dist/_internal/components/layout/Resizable/Resizable.hooks.js +3 -2
  114. package/dist/_internal/components/layout/Resizable/Resizable.js +4 -3
  115. package/dist/_internal/components/layout/ScrollArea/ScrollArea.helpers.js +1 -1
  116. package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +6 -5
  117. package/dist/_internal/components/layout/ScrollArea/ScrollArea.styles.js +6 -3
  118. package/dist/_internal/components/layout/ScrollArea/ScrollAreaContent.js +2 -1
  119. package/dist/_internal/components/layout/ScrollArea/ScrollViewport.js +3 -2
  120. package/dist/_internal/components/layout/Separator/Separator.js +4 -2
  121. package/dist/_internal/components/layout/Separator/Separator.styles.js +3 -1
  122. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.items.js +3 -3
  123. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +8 -8
  124. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.rail.js +4 -4
  125. package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.styles.js +6 -5
  126. package/dist/_internal/components/layout/SettingsLayout/SettingsPanel.js +5 -5
  127. package/dist/_internal/components/layout/SettingsLayout/SettingsSectionChips.js +3 -3
  128. package/dist/_internal/components/layout/SettingsLayout/SettingsSectionHeader.js +2 -2
  129. package/dist/_internal/components/layout/SettingsLayout/SettingsStatusMarker.js +2 -2
  130. package/dist/_internal/components/layout/Sidebar/Sidebar.js +2 -1
  131. package/dist/_internal/components/layout/Skeleton/Skeleton.js +3 -2
  132. package/dist/_internal/components/layout/Skeleton/Skeleton.styles.js +6 -3
  133. package/dist/_internal/components/layout/Spacer/Spacer.js +2 -1
  134. package/dist/_internal/components/layout/Stack/Stack.js +2 -2
  135. package/dist/_internal/components/layout/TableFilter/TableFilter.js +1 -1
  136. package/dist/_internal/components/layout/index.js +31 -32
  137. package/dist/_internal/components/navigation/AppHeader/AppHeader.brand.js +1 -1
  138. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +3 -4
  139. package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +2 -2
  140. package/dist/_internal/components/navigation/AppHeader/AppHeader.js +1 -1
  141. package/dist/_internal/components/navigation/Breadcrumbs/BreadcrumbEntry.js +2 -2
  142. package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.js +3 -3
  143. package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.styles.js +1 -1
  144. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +3 -3
  145. package/dist/_internal/components/navigation/CommandPalette/CommandPaletteResults.js +2 -2
  146. package/dist/_internal/components/navigation/CommandPalette/ShortcutChip.js +1 -1
  147. package/dist/_internal/components/navigation/ContextMenu/ContextMenu.js +1 -1
  148. package/dist/_internal/components/navigation/DropdownMenu/DropdownMenu.js +1 -1
  149. package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +4 -4
  150. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +6 -6
  151. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.shell.js +2 -2
  152. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.styles.js +1 -1
  153. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +2 -2
  154. package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +4 -4
  155. package/dist/_internal/components/navigation/Pagination/Pagination.js +3 -3
  156. package/dist/_internal/components/navigation/Pagination/Pagination.styles.js +1 -1
  157. package/dist/_internal/components/navigation/Pagination/PaginationParts.js +2 -1
  158. package/dist/_internal/components/navigation/Tabs/Tabs.js +10 -3
  159. package/dist/_internal/components/navigation/Tabs/Tabs.styles.js +8 -1
  160. package/dist/_internal/components/navigation/Tabs/TabsPanel.js +2 -1
  161. package/dist/_internal/components/navigation/index.js +26 -27
  162. package/dist/_internal/components/typography/Blockquote/Blockquote.js +1 -1
  163. package/dist/_internal/components/typography/Code/Code.js +1 -1
  164. package/dist/_internal/components/typography/Text/Text.js +1 -1
  165. package/dist/_internal/components/typography/index.js +3 -3
  166. package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.animations.js +2 -1
  167. package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.js +3 -3
  168. package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.styles.js +2 -2
  169. package/dist/_internal/components/utility/AspectRatio/AspectRatio.js +2 -1
  170. package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.hooks.js +1 -1
  171. package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.js +4 -3
  172. package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.parts.js +2 -1
  173. package/dist/_internal/components/utility/VirtualList/VirtualList.hooks.js +6 -3
  174. package/dist/_internal/components/utility/VirtualList/VirtualList.js +3 -2
  175. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +3 -3
  176. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +1 -1
  177. package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +2 -2
  178. package/dist/_internal/components/utility/index.js +12 -12
  179. package/dist/_internal/social-login-button/social-login-button.js +6 -7
  180. package/dist/_internal/tokens/shadow.js +19 -8
  181. package/dist/_internal/tokens/shadow.js.map +1 -1
  182. package/dist/_internal/user-avatar/user-avatar.js +4 -5
  183. package/dist/{chunk-J2DAQQQH.js → chunk-222HN7GK.js} +33 -64
  184. package/dist/chunk-222HN7GK.js.map +1 -0
  185. package/dist/{chunk-2BIVCYTO.js → chunk-27LOJVR3.js} +5 -5
  186. package/dist/{chunk-BLJDCMFU.js → chunk-2ARVNCVU.js} +7 -7
  187. package/dist/chunk-2ARVNCVU.js.map +1 -0
  188. package/dist/{chunk-CRZXSZ5O.js → chunk-2S752BIJ.js} +2 -2
  189. package/dist/{chunk-IYTBTK2M.js → chunk-2WU52FLP.js} +19 -30
  190. package/dist/chunk-2WU52FLP.js.map +1 -0
  191. package/dist/{chunk-RSQMPCCR.js → chunk-34643ATX.js} +10 -4
  192. package/dist/chunk-34643ATX.js.map +1 -0
  193. package/dist/{chunk-6GRZ77IS.js → chunk-3AIRFAI3.js} +13 -12
  194. package/dist/chunk-3AIRFAI3.js.map +1 -0
  195. package/dist/{chunk-Q73PTVNO.js → chunk-3FNXOCBD.js} +24 -12
  196. package/dist/chunk-3FNXOCBD.js.map +1 -0
  197. package/dist/{chunk-BAQBUKDU.js → chunk-3KREF4ZF.js} +2 -2
  198. package/dist/{chunk-EL7CMURV.js → chunk-3LSIFHQK.js} +3 -3
  199. package/dist/chunk-3LSIFHQK.js.map +1 -0
  200. package/dist/{chunk-MP4VSWHK.js → chunk-3NJMNMWB.js} +12 -2
  201. package/dist/chunk-3NJMNMWB.js.map +1 -0
  202. package/dist/{chunk-N52O2OKZ.js → chunk-3NNO6YIH.js} +8 -3
  203. package/dist/chunk-3NNO6YIH.js.map +1 -0
  204. package/dist/{chunk-SYN46YL6.js → chunk-3RMDIO4G.js} +3 -3
  205. package/dist/{chunk-S3D5VBHW.js → chunk-3YOXVNO4.js} +7 -7
  206. package/dist/{chunk-MJ3BVWPZ.js → chunk-43G3WMYN.js} +12 -7
  207. package/dist/chunk-43G3WMYN.js.map +1 -0
  208. package/dist/{chunk-E7MSDXED.js → chunk-43H66TVT.js} +12 -5
  209. package/dist/chunk-43H66TVT.js.map +1 -0
  210. package/dist/{chunk-IL7JZKXY.js → chunk-442FSG7G.js} +3 -3
  211. package/dist/{chunk-JL75FJRG.js → chunk-4ALF5PB5.js} +4 -4
  212. package/dist/{chunk-DYVAOEW4.js → chunk-4D4LLSQC.js} +6 -5
  213. package/dist/chunk-4D4LLSQC.js.map +1 -0
  214. package/dist/{chunk-NEGCJNGJ.js → chunk-4G47KBTP.js} +9 -9
  215. package/dist/chunk-4G47KBTP.js.map +1 -0
  216. package/dist/{chunk-MVXFMIVZ.js → chunk-4GB46HLK.js} +8 -4
  217. package/dist/chunk-4GB46HLK.js.map +1 -0
  218. package/dist/{chunk-CS3KOKL3.js → chunk-4GWHYLEB.js} +2 -2
  219. package/dist/{chunk-XJPJ6ESI.js → chunk-4OAKGKK5.js} +3 -3
  220. package/dist/{chunk-4OEKIFBC.js → chunk-4VMFS3VJ.js} +6 -3
  221. package/dist/chunk-4VMFS3VJ.js.map +1 -0
  222. package/dist/{chunk-6CTPDNNX.js → chunk-52G2KRL4.js} +14 -14
  223. package/dist/chunk-52G2KRL4.js.map +1 -0
  224. package/dist/{chunk-4CHROSWR.js → chunk-5ETBB2DG.js} +2 -2
  225. package/dist/{chunk-E7T3A4IR.js → chunk-5JCGBCFJ.js} +2 -2
  226. package/dist/{chunk-ATSHKSSD.js → chunk-5KNDAC24.js} +20 -7
  227. package/dist/chunk-5KNDAC24.js.map +1 -0
  228. package/dist/{chunk-ULTOQ6ZV.js → chunk-5LWB4BYX.js} +80 -89
  229. package/dist/chunk-5LWB4BYX.js.map +1 -0
  230. package/dist/{chunk-FC7NQ6XM.js → chunk-5MW7OYBM.js} +2 -2
  231. package/dist/{chunk-46UPILLK.js → chunk-5NT2M2JI.js} +2 -2
  232. package/dist/{chunk-MK4CH4VT.js → chunk-5OUEKIWQ.js} +14 -12
  233. package/dist/chunk-5OUEKIWQ.js.map +1 -0
  234. package/dist/{chunk-GHXFCMFP.js → chunk-5QAJ3Y5F.js} +3 -3
  235. package/dist/{chunk-GHXFCMFP.js.map → chunk-5QAJ3Y5F.js.map} +1 -1
  236. package/dist/{chunk-CPTY6UZ6.js → chunk-6KEXHOIF.js} +5 -4
  237. package/dist/chunk-6KEXHOIF.js.map +1 -0
  238. package/dist/{chunk-H5BEWPEY.js → chunk-6N2EDWMG.js} +2 -2
  239. package/dist/{chunk-BW62QQAG.js → chunk-6N4AA2Y7.js} +2 -2
  240. package/dist/{chunk-EFHIMCJN.js → chunk-6P2OFMBX.js} +11 -9
  241. package/dist/chunk-6P2OFMBX.js.map +1 -0
  242. package/dist/{chunk-GJQYM3PM.js → chunk-6PU3JYVY.js} +2 -2
  243. package/dist/{chunk-GUW5BUK7.js → chunk-6WBKOM5K.js} +15 -7
  244. package/dist/chunk-6WBKOM5K.js.map +1 -0
  245. package/dist/{chunk-7EIOXZWL.js → chunk-74P3YX7R.js} +4 -4
  246. package/dist/{chunk-VYSFKR32.js → chunk-75CGLX6Q.js} +3 -3
  247. package/dist/{chunk-VYSFKR32.js.map → chunk-75CGLX6Q.js.map} +1 -1
  248. package/dist/{chunk-LVEG6XQL.js → chunk-76X6JRVI.js} +19 -33
  249. package/dist/chunk-76X6JRVI.js.map +1 -0
  250. package/dist/{chunk-2NLYGZP3.js → chunk-77JL5XVD.js} +13 -9
  251. package/dist/chunk-77JL5XVD.js.map +1 -0
  252. package/dist/{chunk-PUBPZOQJ.js → chunk-AG3DY5TH.js} +8 -5
  253. package/dist/chunk-AG3DY5TH.js.map +1 -0
  254. package/dist/{chunk-T3WHW7ZC.js → chunk-BAZXVFLR.js} +10 -6
  255. package/dist/chunk-BAZXVFLR.js.map +1 -0
  256. package/dist/{chunk-7F7TTOYN.js → chunk-BEGTLELZ.js} +7 -6
  257. package/dist/chunk-BEGTLELZ.js.map +1 -0
  258. package/dist/{chunk-VT5HQ2AD.js → chunk-BFMDA6UO.js} +3 -3
  259. package/dist/{chunk-R75DZ3AK.js → chunk-BVLMKSHX.js} +2 -2
  260. package/dist/{chunk-75LOTMSN.js → chunk-BWHOCNGW.js} +5 -5
  261. package/dist/chunk-BWHOCNGW.js.map +1 -0
  262. package/dist/{chunk-PMP6WJJS.js → chunk-BWMHGENX.js} +20 -19
  263. package/dist/chunk-BWMHGENX.js.map +1 -0
  264. package/dist/{chunk-TUBCN4DJ.js → chunk-CB6DTWD5.js} +7 -7
  265. package/dist/chunk-CB6DTWD5.js.map +1 -0
  266. package/dist/{chunk-CAHWCSRE.js → chunk-D46SLMCX.js} +22 -8
  267. package/dist/chunk-D46SLMCX.js.map +1 -0
  268. package/dist/{chunk-FFOQZRFC.js → chunk-D4FZ3ANG.js} +15 -5
  269. package/dist/chunk-D4FZ3ANG.js.map +1 -0
  270. package/dist/{chunk-2OIP3T5O.js → chunk-DBFRCTI5.js} +4 -4
  271. package/dist/{chunk-2OIP3T5O.js.map → chunk-DBFRCTI5.js.map} +1 -1
  272. package/dist/{chunk-HNPWZ3W2.js → chunk-DDRKYNPB.js} +4 -4
  273. package/dist/{chunk-DLJGBJZW.js → chunk-DGMDQHMI.js} +16 -9
  274. package/dist/chunk-DGMDQHMI.js.map +1 -0
  275. package/dist/{chunk-IAGOUTI6.js → chunk-DNT5PZLF.js} +21 -12
  276. package/dist/chunk-DNT5PZLF.js.map +1 -0
  277. package/dist/{chunk-HU7TX7RB.js → chunk-DUBTI4DI.js} +4 -4
  278. package/dist/{chunk-DZA7RSLX.js → chunk-DVSO3EG6.js} +19 -11
  279. package/dist/chunk-DVSO3EG6.js.map +1 -0
  280. package/dist/{chunk-RMCNEKBZ.js → chunk-DW6F7354.js} +2 -2
  281. package/dist/{chunk-Q4BQYYPU.js → chunk-E2QIKJX2.js} +11 -5
  282. package/dist/chunk-E2QIKJX2.js.map +1 -0
  283. package/dist/{chunk-XJUEHG72.js → chunk-EERUSI52.js} +2 -2
  284. package/dist/{chunk-NDNYD4FG.js → chunk-EHYI2WCJ.js} +5 -5
  285. package/dist/{chunk-NB3FGWU4.js → chunk-EQXIW5MQ.js} +2 -2
  286. package/dist/{chunk-QAP3FW33.js → chunk-ERY6D2OV.js} +35 -23
  287. package/dist/chunk-ERY6D2OV.js.map +1 -0
  288. package/dist/{chunk-NPP44TQG.js → chunk-EYZ6QBTV.js} +2 -2
  289. package/dist/{chunk-NPP44TQG.js.map → chunk-EYZ6QBTV.js.map} +1 -1
  290. package/dist/{chunk-2ZIHZLF5.js → chunk-F44R7US6.js} +4 -4
  291. package/dist/{chunk-AROBXRC5.js → chunk-F7JTIHV5.js} +18 -7
  292. package/dist/chunk-F7JTIHV5.js.map +1 -0
  293. package/dist/{chunk-U342T7ZR.js → chunk-FOCU4QT5.js} +13 -10
  294. package/dist/chunk-FOCU4QT5.js.map +1 -0
  295. package/dist/{chunk-35S6QI5G.js → chunk-FX26DAFF.js} +2 -2
  296. package/dist/{chunk-FYTLKHEN.js → chunk-FYKFQPVT.js} +19 -18
  297. package/dist/chunk-FYKFQPVT.js.map +1 -0
  298. package/dist/{chunk-TVL5V2JK.js → chunk-GGMB6LJH.js} +7 -3
  299. package/dist/chunk-GGMB6LJH.js.map +1 -0
  300. package/dist/{chunk-AYLEZM6T.js → chunk-GLFTIGOF.js} +3 -3
  301. package/dist/{chunk-QEG3P5D4.js → chunk-GLHNMTP6.js} +13 -13
  302. package/dist/{chunk-7UZ2TFIK.js → chunk-GNCSDUGY.js} +12 -4
  303. package/dist/chunk-GNCSDUGY.js.map +1 -0
  304. package/dist/{chunk-L4UP5VYS.js → chunk-GVH7C2PT.js} +2 -2
  305. package/dist/{chunk-MBSYD3ZU.js → chunk-GWFAINQ7.js} +3 -3
  306. package/dist/chunk-GWFAINQ7.js.map +1 -0
  307. package/dist/{chunk-YU26GBNX.js → chunk-H3AQQOTI.js} +9 -4
  308. package/dist/chunk-H3AQQOTI.js.map +1 -0
  309. package/dist/{chunk-HTZNB6IV.js → chunk-H5ZTIELC.js} +23 -8
  310. package/dist/chunk-H5ZTIELC.js.map +1 -0
  311. package/dist/{chunk-AER4245J.js → chunk-H67EL3CG.js} +6 -6
  312. package/dist/{chunk-GSFNH4C5.js → chunk-HBP2OU4Q.js} +15 -8
  313. package/dist/chunk-HBP2OU4Q.js.map +1 -0
  314. package/dist/{chunk-57JLS55D.js → chunk-HBRQPG7H.js} +7 -7
  315. package/dist/{chunk-3D6HXKZM.js → chunk-HDJQDMHB.js} +18 -13
  316. package/dist/chunk-HDJQDMHB.js.map +1 -0
  317. package/dist/{chunk-HGMBY5LP.js → chunk-HQWJUHR4.js} +18 -11
  318. package/dist/chunk-HQWJUHR4.js.map +1 -0
  319. package/dist/{chunk-UZ6AUTE6.js → chunk-I3F4C5SS.js} +7 -7
  320. package/dist/{chunk-L7SFH3ED.js → chunk-I7GSRTGQ.js} +37 -28
  321. package/dist/chunk-I7GSRTGQ.js.map +1 -0
  322. package/dist/{chunk-Q4CAZ2TP.js → chunk-IG23YZZR.js} +6 -5
  323. package/dist/chunk-IG23YZZR.js.map +1 -0
  324. package/dist/{chunk-5W4BLTDI.js → chunk-IWFENXST.js} +7 -6
  325. package/dist/chunk-IWFENXST.js.map +1 -0
  326. package/dist/{chunk-HXEBKOSM.js → chunk-J5UZB6Y6.js} +2 -2
  327. package/dist/chunk-J5UZB6Y6.js.map +1 -0
  328. package/dist/{chunk-4CXEWFKO.js → chunk-J5VWGQSR.js} +2 -2
  329. package/dist/{chunk-AJ5SDHX5.js → chunk-JCL7WK4G.js} +2 -2
  330. package/dist/{chunk-MTFCPPZ5.js → chunk-JWZJSXI5.js} +3 -2
  331. package/dist/chunk-JWZJSXI5.js.map +1 -0
  332. package/dist/{chunk-5CKDRLRN.js → chunk-JXECOCNA.js} +35 -19
  333. package/dist/chunk-JXECOCNA.js.map +1 -0
  334. package/dist/{chunk-WUTHROII.js → chunk-JYWF76Z5.js} +11 -5
  335. package/dist/chunk-JYWF76Z5.js.map +1 -0
  336. package/dist/{chunk-B76QCDCE.js → chunk-K4L42FF6.js} +6 -3
  337. package/dist/chunk-K4L42FF6.js.map +1 -0
  338. package/dist/{chunk-4JFL62K3.js → chunk-K7FSTB2K.js} +3 -3
  339. package/dist/{chunk-WE3LJPRN.js → chunk-KE473LK6.js} +2 -2
  340. package/dist/{chunk-TBF2CPJW.js → chunk-KIHGTL2D.js} +21 -11
  341. package/dist/chunk-KIHGTL2D.js.map +1 -0
  342. package/dist/{chunk-3T5Z5HXF.js → chunk-KM3Y5TCG.js} +40 -36
  343. package/dist/chunk-KM3Y5TCG.js.map +1 -0
  344. package/dist/{chunk-C55AWF3U.js → chunk-KRQUPE4K.js} +4 -4
  345. package/dist/{chunk-SJO3K7SB.js → chunk-KXLUMEDX.js} +4 -4
  346. package/dist/{chunk-RWTFZ7J5.js → chunk-L4G5BZFF.js} +22 -13
  347. package/dist/chunk-L4G5BZFF.js.map +1 -0
  348. package/dist/{chunk-HB7ISSLK.js → chunk-L5RQIQIP.js} +26 -22
  349. package/dist/chunk-L5RQIQIP.js.map +1 -0
  350. package/dist/{chunk-CQPFSEJB.js → chunk-L7NQCLFU.js} +2 -2
  351. package/dist/{chunk-DVAAUWTC.js → chunk-LCHCE2G5.js} +2 -2
  352. package/dist/{chunk-G4HBNILE.js → chunk-LEHMWJNZ.js} +3 -3
  353. package/dist/{chunk-OATHOXIU.js → chunk-MC4KYGSX.js} +8 -8
  354. package/dist/chunk-MC4KYGSX.js.map +1 -0
  355. package/dist/{chunk-P6TNXBDA.js → chunk-MYKWJCR7.js} +9 -9
  356. package/dist/chunk-MYKWJCR7.js.map +1 -0
  357. package/dist/{chunk-YVUD3MY4.js → chunk-N23GCN5U.js} +7 -4
  358. package/dist/chunk-N23GCN5U.js.map +1 -0
  359. package/dist/{chunk-2TJOCI54.js → chunk-NCEQWEXT.js} +3 -3
  360. package/dist/{chunk-2TJOCI54.js.map → chunk-NCEQWEXT.js.map} +1 -1
  361. package/dist/{chunk-IVIHRZEY.js → chunk-NDMPXMW2.js} +12 -8
  362. package/dist/chunk-NDMPXMW2.js.map +1 -0
  363. package/dist/{chunk-UUUMNJPP.js → chunk-NLYNRE7L.js} +10 -10
  364. package/dist/chunk-NLYNRE7L.js.map +1 -0
  365. package/dist/{chunk-KLWW67WP.js → chunk-NOKN4HRK.js} +12 -11
  366. package/dist/chunk-NOKN4HRK.js.map +1 -0
  367. package/dist/{chunk-LIG7TKIB.js → chunk-NYFNF7I5.js} +11 -6
  368. package/dist/chunk-NYFNF7I5.js.map +1 -0
  369. package/dist/{chunk-KK57AHWS.js → chunk-OAEYCKBN.js} +2 -2
  370. package/dist/{chunk-JGRE56GQ.js → chunk-OB56SZGL.js} +2 -2
  371. package/dist/{chunk-TQ6FPOPD.js → chunk-ODW2D5PN.js} +39 -30
  372. package/dist/chunk-ODW2D5PN.js.map +1 -0
  373. package/dist/{chunk-VRDNUY4H.js → chunk-OHC3F7GJ.js} +4 -4
  374. package/dist/chunk-OHC3F7GJ.js.map +1 -0
  375. package/dist/{chunk-E4TNDTWV.js → chunk-OL2BEJZR.js} +2 -2
  376. package/dist/{chunk-ZTYUKEN3.js → chunk-OVXSQQDK.js} +12 -7
  377. package/dist/chunk-OVXSQQDK.js.map +1 -0
  378. package/dist/{chunk-ZQL5RXVE.js → chunk-PA3AA55Q.js} +2 -2
  379. package/dist/{chunk-ZQL5RXVE.js.map → chunk-PA3AA55Q.js.map} +1 -1
  380. package/dist/{chunk-IKLOIONQ.js → chunk-PCBZYORN.js} +3 -3
  381. package/dist/{chunk-CQLPDY2J.js → chunk-PRIBOWX4.js} +3 -3
  382. package/dist/{chunk-F42MJOHM.js → chunk-PVM7XTLZ.js} +64 -62
  383. package/dist/chunk-PVM7XTLZ.js.map +1 -0
  384. package/dist/{chunk-LT4NEKXB.js → chunk-QA2ZGCRL.js} +3 -3
  385. package/dist/{chunk-3TDVGZZN.js → chunk-QBTBRJ2Q.js} +37 -13
  386. package/dist/chunk-QBTBRJ2Q.js.map +1 -0
  387. package/dist/{chunk-2E2WOBID.js → chunk-QGFBIUOK.js} +5 -5
  388. package/dist/chunk-QGFBIUOK.js.map +1 -0
  389. package/dist/{chunk-2WFDHFK4.js → chunk-QNCWSDXE.js} +26 -11
  390. package/dist/chunk-QNCWSDXE.js.map +1 -0
  391. package/dist/{chunk-PQECNGDE.js → chunk-QSRZOXQI.js} +2 -2
  392. package/dist/{chunk-RHIDWUK7.js → chunk-QUWK7SYN.js} +1 -2
  393. package/dist/chunk-QUWK7SYN.js.map +1 -0
  394. package/dist/{chunk-ROT57BP4.js → chunk-R2XVTUVR.js} +2 -2
  395. package/dist/{chunk-UN5INW6K.js → chunk-R53ZOW4B.js} +8 -4
  396. package/dist/chunk-R53ZOW4B.js.map +1 -0
  397. package/dist/{chunk-MVKYNDT2.js → chunk-RKROWJVF.js} +11 -9
  398. package/dist/chunk-RKROWJVF.js.map +1 -0
  399. package/dist/{chunk-DCJSHYE5.js → chunk-RSDYS5B3.js} +4 -4
  400. package/dist/{chunk-NYZO3JNB.js → chunk-RXJQA3FQ.js} +2 -3
  401. package/dist/chunk-RXJQA3FQ.js.map +1 -0
  402. package/dist/{chunk-N5GVW6RO.js → chunk-S6IWKDWT.js} +2 -2
  403. package/dist/{chunk-DB2ZFZVW.js → chunk-SBIZXZPP.js} +3 -3
  404. package/dist/{chunk-NCPWLHZT.js → chunk-SKT2V2OX.js} +3 -3
  405. package/dist/{chunk-EOW2ECB3.js → chunk-SNURSSTN.js} +2 -2
  406. package/dist/{chunk-GRDPGHQJ.js → chunk-SV6JGFHG.js} +9 -5
  407. package/dist/chunk-SV6JGFHG.js.map +1 -0
  408. package/dist/{chunk-CZBND7AY.js → chunk-T7DE44SP.js} +2 -2
  409. package/dist/{chunk-D5SZXH7Q.js → chunk-TNBJ4DK4.js} +7 -3
  410. package/dist/chunk-TNBJ4DK4.js.map +1 -0
  411. package/dist/{chunk-3CVTQZQJ.js → chunk-TNYKM4UU.js} +13 -9
  412. package/dist/chunk-TNYKM4UU.js.map +1 -0
  413. package/dist/{chunk-3VMGE7CU.js → chunk-TZFBJ47T.js} +3 -3
  414. package/dist/chunk-TZFBJ47T.js.map +1 -0
  415. package/dist/{chunk-VFHGILXI.js → chunk-U3DBQXPI.js} +20 -17
  416. package/dist/chunk-U3DBQXPI.js.map +1 -0
  417. package/dist/{chunk-QKPD322X.js → chunk-UFNIS7KC.js} +2 -2
  418. package/dist/chunk-UFNIS7KC.js.map +1 -0
  419. package/dist/{chunk-BNEWMFVB.js → chunk-UGGJ3KDT.js} +2 -2
  420. package/dist/{chunk-L4QCIUTJ.js → chunk-UMNXSQ7I.js} +3 -3
  421. package/dist/{chunk-L4QCIUTJ.js.map → chunk-UMNXSQ7I.js.map} +1 -1
  422. package/dist/{chunk-2CTTASUD.js → chunk-V5EWCJBT.js} +7 -4
  423. package/dist/chunk-V5EWCJBT.js.map +1 -0
  424. package/dist/{chunk-236V2GRH.js → chunk-VCBV5JM7.js} +49 -41
  425. package/dist/chunk-VCBV5JM7.js.map +1 -0
  426. package/dist/{chunk-KREWQAEV.js → chunk-VIRYHNEM.js} +2 -2
  427. package/dist/{chunk-PT2XADGH.js → chunk-VPRNKJHP.js} +9 -6
  428. package/dist/chunk-VPRNKJHP.js.map +1 -0
  429. package/dist/{chunk-JXUWWPZR.js → chunk-VQYR64QB.js} +14 -8
  430. package/dist/chunk-VQYR64QB.js.map +1 -0
  431. package/dist/{chunk-72DKEBJM.js → chunk-VRPREI27.js} +3 -3
  432. package/dist/chunk-VRPREI27.js.map +1 -0
  433. package/dist/{chunk-N6CSXHFJ.js → chunk-WN5PNP6F.js} +2 -2
  434. package/dist/{chunk-6QLPSMTA.js → chunk-XEWMY4ZM.js} +52 -47
  435. package/dist/chunk-XEWMY4ZM.js.map +1 -0
  436. package/dist/{chunk-XR46FSOH.js → chunk-XIG3DXXX.js} +2 -2
  437. package/dist/{chunk-GHTBUJ6E.js → chunk-XRUW7DMH.js} +2 -2
  438. package/dist/{chunk-CSTAQX2B.js → chunk-XWZJLXJT.js} +7 -6
  439. package/dist/chunk-XWZJLXJT.js.map +1 -0
  440. package/dist/{chunk-PMOEG36E.js → chunk-XZJM6EPC.js} +8 -6
  441. package/dist/chunk-XZJM6EPC.js.map +1 -0
  442. package/dist/{chunk-QF6LTUCE.js → chunk-Y2X7LYIN.js} +4 -4
  443. package/dist/chunk-Y2X7LYIN.js.map +1 -0
  444. package/dist/{chunk-MBC55H6M.js → chunk-Y5UTYBZW.js} +12 -6
  445. package/dist/chunk-Y5UTYBZW.js.map +1 -0
  446. package/dist/{chunk-WTOYEWW6.js → chunk-YBH4SPMM.js} +4 -3
  447. package/dist/chunk-YBH4SPMM.js.map +1 -0
  448. package/dist/{chunk-JLQGRZMN.js → chunk-YCCY77W5.js} +3 -3
  449. package/dist/{chunk-5QWQR7XT.js → chunk-YHGOPZXW.js} +11 -8
  450. package/dist/chunk-YHGOPZXW.js.map +1 -0
  451. package/dist/{chunk-6BDYC4RA.js → chunk-YRSR5LVZ.js} +3 -3
  452. package/dist/{chunk-57JY4OI2.js → chunk-YUXDVW62.js} +3 -3
  453. package/dist/chunk-YUXDVW62.js.map +1 -0
  454. package/dist/{chunk-DF4K5XVW.js → chunk-YZVR5ROE.js} +14 -6
  455. package/dist/chunk-YZVR5ROE.js.map +1 -0
  456. package/dist/{chunk-RNEYZTE4.js → chunk-Z6MCTGIK.js} +2 -2
  457. package/dist/{chunk-RNEYZTE4.js.map → chunk-Z6MCTGIK.js.map} +1 -1
  458. package/dist/{chunk-AUSUCZYR.js → chunk-ZBVU2YWV.js} +5 -5
  459. package/dist/chunk-ZBVU2YWV.js.map +1 -0
  460. package/dist/{chunk-VZIB5W5L.js → chunk-ZGCPDA3F.js} +2 -2
  461. package/dist/data-display/AsyncStateContainer.js +4 -4
  462. package/dist/data-display/CardKit.js +2 -2
  463. package/dist/data-display/DataGrid.js +4 -4
  464. package/dist/data-display/DataViews.js +68 -69
  465. package/dist/data-display/DescriptionItem.js +2 -2
  466. package/dist/data-display/FleetMap.js +13 -13
  467. package/dist/data-display/LazyImage.js +3 -3
  468. package/dist/data-display/LoadingState.js +3 -3
  469. package/dist/data-display/MapPreview.js +7 -7
  470. package/dist/data-display/StatCard.js +3 -3
  471. package/dist/data-display/Table.js +4 -4
  472. package/dist/feedback/Dialog.js +3 -3
  473. package/dist/feedback/Modal.js +3 -2
  474. package/dist/feedback/Sonner.js +2 -2
  475. package/dist/feedback/StackedModal.js +4 -3
  476. package/dist/feedback/Toast.js +2 -1
  477. package/dist/feedback/TutorialOverlay.js +5 -4
  478. package/dist/form/Calendar.js +5 -4
  479. package/dist/form/DateRangePicker.js +5 -5
  480. package/dist/form/Switch.js +4 -4
  481. package/dist/form/total-form.js +2 -2
  482. package/dist/layout/Accordion.js +3 -2
  483. package/dist/layout/Box.js +1 -1
  484. package/dist/layout/Card.js +3 -3
  485. package/dist/layout/CardGrid.js +2 -1
  486. package/dist/layout/Collapsible.js +3 -2
  487. package/dist/layout/ContentToolbar.js +7 -7
  488. package/dist/layout/Dashboard.js +2 -2
  489. package/dist/layout/Drawer.js +2 -1
  490. package/dist/layout/Resizable.js +4 -3
  491. package/dist/layout/ScrollArea.js +6 -5
  492. package/dist/layout/Separator.js +4 -2
  493. package/dist/layout/SettingsLayout.js +8 -8
  494. package/dist/layout/Sidebar.js +2 -1
  495. package/dist/layout/Skeleton.js +3 -2
  496. package/dist/layout/Spacer.js +2 -1
  497. package/dist/layout/Stack.js +2 -2
  498. package/dist/layout/TableFilter.js +1 -1
  499. package/dist/native/form/Switch.js +3 -1
  500. package/dist/native/form/Switch.js.map +1 -1
  501. package/dist/navigation/AppHeader.js +6 -7
  502. package/dist/navigation/Breadcrumbs.js +3 -3
  503. package/dist/navigation/CommandPalette.js +3 -3
  504. package/dist/navigation/ContextMenu.js +1 -1
  505. package/dist/navigation/DropdownMenu.js +1 -1
  506. package/dist/navigation/NavigationMenu.js +6 -6
  507. package/dist/navigation/Pagination.js +3 -3
  508. package/dist/navigation/Tabs.js +10 -3
  509. package/dist/social-login-button.js +6 -7
  510. package/dist/types/components/data-display/DataGrid/DataGrid.body.d.ts.map +1 -1
  511. package/dist/types/components/data-display/DataGrid/DataGrid.cells.d.ts +4 -2
  512. package/dist/types/components/data-display/DataGrid/DataGrid.cells.d.ts.map +1 -1
  513. package/dist/types/components/data-display/DataGrid/DataGrid.model.d.ts +7 -1
  514. package/dist/types/components/data-display/DataGrid/DataGrid.model.d.ts.map +1 -1
  515. package/dist/types/components/data-display/DataGrid/DataGrid.types.d.ts +10 -4
  516. package/dist/types/components/data-display/DataGrid/DataGrid.types.d.ts.map +1 -1
  517. package/dist/types/components/data-display/DataViews/data-views-columns.d.ts.map +1 -1
  518. package/dist/types/components/data-display/DataViews/data-views-grid-helpers.d.ts +2 -0
  519. package/dist/types/components/data-display/DataViews/data-views-grid-helpers.d.ts.map +1 -1
  520. package/dist/types/components/data-display/DataViews/data-views-layout-context.d.ts +7 -3
  521. package/dist/types/components/data-display/DataViews/data-views-layout-context.d.ts.map +1 -1
  522. package/dist/types/components/data-display/DataViews/data-views-overflow-costs.d.ts +19 -9
  523. package/dist/types/components/data-display/DataViews/data-views-overflow-costs.d.ts.map +1 -1
  524. package/dist/types/components/data-display/DataViews/data-views-overflow.d.ts.map +1 -1
  525. package/dist/types/components/data-display/MapPreview/MapTiles.d.ts.map +1 -1
  526. package/dist/types/components/data-display/MapPreview/mapProjection.d.ts +6 -1
  527. package/dist/types/components/data-display/MapPreview/mapProjection.d.ts.map +1 -1
  528. package/dist/types/components/data-display/Table/Table.helpers.d.ts +6 -0
  529. package/dist/types/components/data-display/Table/Table.helpers.d.ts.map +1 -1
  530. package/dist/types/components/data-display/Table/Table.hooks.d.ts +9 -1
  531. package/dist/types/components/data-display/Table/Table.hooks.d.ts.map +1 -1
  532. package/dist/types/components/data-display/Table/Table.types.d.ts +6 -2
  533. package/dist/types/components/data-display/Table/Table.types.d.ts.map +1 -1
  534. package/dist/types/components/data-display/Table/TableParts.d.ts +2 -0
  535. package/dist/types/components/data-display/Table/TableParts.d.ts.map +1 -1
  536. package/dist/types/components/feedback/Dialog/Dialog.styles.d.ts.map +1 -1
  537. package/dist/types/components/feedback/Modal/Modal.d.ts.map +1 -1
  538. package/dist/types/components/feedback/Modal/Modal.styles.d.ts.map +1 -1
  539. package/dist/types/components/feedback/StackedModal/StackedModal.parts.d.ts.map +1 -1
  540. package/dist/types/components/feedback/StackedModal/StackedModal.styles.d.ts.map +1 -1
  541. package/dist/types/components/feedback/Toast/Toast.d.ts.map +1 -1
  542. package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.d.ts.map +1 -1
  543. package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.geometry.d.ts +3 -1
  544. package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.geometry.d.ts.map +1 -1
  545. package/dist/types/components/feedback/TutorialOverlay/TutorialOverlay.hooks.d.ts.map +1 -1
  546. package/dist/types/components/feedback/TutorialOverlay/TutorialStepBody.d.ts.map +1 -1
  547. package/dist/types/components/form/Calendar/Calendar.d.ts.map +1 -1
  548. package/dist/types/components/form/Calendar/CalendarDay.d.ts.map +1 -1
  549. package/dist/types/components/form/Calendar/CalendarMonth.d.ts.map +1 -1
  550. package/dist/types/components/form/Switch/Switch.metrics.d.ts +13 -3
  551. package/dist/types/components/form/Switch/Switch.metrics.d.ts.map +1 -1
  552. package/dist/types/components/form/Switch/Switch.styles.d.ts.map +1 -1
  553. package/dist/types/components/layout/Accordion/Accordion.d.ts.map +1 -1
  554. package/dist/types/components/layout/Accordion/Accordion.styles.d.ts.map +1 -1
  555. package/dist/types/components/layout/Box/Box.d.ts +2 -1
  556. package/dist/types/components/layout/Box/Box.d.ts.map +1 -1
  557. package/dist/types/components/layout/Card/Card.styles.d.ts.map +1 -1
  558. package/dist/types/components/layout/CardGrid/CardGrid.d.ts +9 -7
  559. package/dist/types/components/layout/CardGrid/CardGrid.d.ts.map +1 -1
  560. package/dist/types/components/layout/Collapsible/Collapsible.d.ts.map +1 -1
  561. package/dist/types/components/layout/Collapsible/Collapsible.helpers.d.ts +1 -1
  562. package/dist/types/components/layout/Collapsible/Collapsible.helpers.d.ts.map +1 -1
  563. package/dist/types/components/layout/Drawer/Drawer.d.ts.map +1 -1
  564. package/dist/types/components/layout/Resizable/Resizable.d.ts.map +1 -1
  565. package/dist/types/components/layout/Resizable/Resizable.helpers.d.ts +21 -9
  566. package/dist/types/components/layout/Resizable/Resizable.helpers.d.ts.map +1 -1
  567. package/dist/types/components/layout/Resizable/Resizable.hooks.d.ts +13 -3
  568. package/dist/types/components/layout/Resizable/Resizable.hooks.d.ts.map +1 -1
  569. package/dist/types/components/layout/Resizable/Resizable.types.d.ts +10 -0
  570. package/dist/types/components/layout/Resizable/Resizable.types.d.ts.map +1 -1
  571. package/dist/types/components/layout/ScrollArea/ScrollArea.d.ts.map +1 -1
  572. package/dist/types/components/layout/ScrollArea/ScrollArea.helpers.d.ts +1 -1
  573. package/dist/types/components/layout/ScrollArea/ScrollArea.helpers.d.ts.map +1 -1
  574. package/dist/types/components/layout/ScrollArea/ScrollArea.styles.d.ts +6 -0
  575. package/dist/types/components/layout/ScrollArea/ScrollArea.styles.d.ts.map +1 -1
  576. package/dist/types/components/layout/ScrollArea/ScrollArea.types.d.ts +4 -1
  577. package/dist/types/components/layout/ScrollArea/ScrollArea.types.d.ts.map +1 -1
  578. package/dist/types/components/layout/ScrollArea/ScrollViewport.d.ts.map +1 -1
  579. package/dist/types/components/layout/Separator/Separator.d.ts.map +1 -1
  580. package/dist/types/components/layout/Separator/Separator.styles.d.ts +7 -4
  581. package/dist/types/components/layout/Separator/Separator.styles.d.ts.map +1 -1
  582. package/dist/types/components/layout/SettingsLayout/SettingsLayout.items.d.ts.map +1 -1
  583. package/dist/types/components/layout/SettingsLayout/SettingsLayout.rail.d.ts.map +1 -1
  584. package/dist/types/components/layout/SettingsLayout/SettingsLayout.styles.d.ts +4 -4
  585. package/dist/types/components/layout/SettingsLayout/SettingsLayout.styles.d.ts.map +1 -1
  586. package/dist/types/components/layout/Sidebar/Sidebar.d.ts.map +1 -1
  587. package/dist/types/components/layout/Skeleton/Skeleton.d.ts.map +1 -1
  588. package/dist/types/components/layout/Skeleton/Skeleton.styles.d.ts +8 -1
  589. package/dist/types/components/layout/Skeleton/Skeleton.styles.d.ts.map +1 -1
  590. package/dist/types/components/layout/Spacer/Spacer.d.ts.map +1 -1
  591. package/dist/types/components/layout/TableFilter/TableFilter.d.ts.map +1 -1
  592. package/dist/types/components/navigation/AppHeader/AppHeader.d.ts.map +1 -1
  593. package/dist/types/components/navigation/AppHeader/AppHeader.details.d.ts.map +1 -1
  594. package/dist/types/components/navigation/AppHeader/AppHeader.identity.d.ts.map +1 -1
  595. package/dist/types/components/navigation/Breadcrumbs/Breadcrumbs.styles.d.ts +2 -2
  596. package/dist/types/components/navigation/Breadcrumbs/Breadcrumbs.styles.d.ts.map +1 -1
  597. package/dist/types/components/navigation/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  598. package/dist/types/components/navigation/NavigationMenu/NavigationMegaSection.d.ts.map +1 -1
  599. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.d.ts.map +1 -1
  600. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.shell.d.ts.map +1 -1
  601. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.styles.d.ts +2 -2
  602. package/dist/types/components/navigation/NavigationMenu/NavigationMenu.styles.d.ts.map +1 -1
  603. package/dist/types/components/navigation/NavigationMenu/NavigationStandardBody.d.ts.map +1 -1
  604. package/dist/types/components/navigation/Pagination/Pagination.d.ts.map +1 -1
  605. package/dist/types/components/navigation/Pagination/PaginationParts.d.ts.map +1 -1
  606. package/dist/types/components/navigation/Tabs/Tabs.d.ts.map +1 -1
  607. package/dist/types/components/navigation/Tabs/Tabs.styles.d.ts.map +1 -1
  608. package/dist/types/components/navigation/Tabs/TabsPanel.d.ts.map +1 -1
  609. package/dist/types/components/utility/AnimatedIcon/AnimatedIcon.animations.d.ts +9 -8
  610. package/dist/types/components/utility/AnimatedIcon/AnimatedIcon.animations.d.ts.map +1 -1
  611. package/dist/types/components/utility/AnimatedIcon/AnimatedIcon.styles.d.ts +1 -1
  612. package/dist/types/components/utility/AnimatedIcon/AnimatedIcon.styles.d.ts.map +1 -1
  613. package/dist/types/components/utility/AspectRatio/AspectRatio.d.ts.map +1 -1
  614. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.d.ts.map +1 -1
  615. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.hooks.d.ts +3 -2
  616. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.hooks.d.ts.map +1 -1
  617. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.parts.d.ts +3 -2
  618. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.parts.d.ts.map +1 -1
  619. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.types.d.ts +9 -0
  620. package/dist/types/components/utility/InfiniteScroll/InfiniteScroll.types.d.ts.map +1 -1
  621. package/dist/types/components/utility/VirtualList/VirtualList.d.ts.map +1 -1
  622. package/dist/types/components/utility/VirtualList/VirtualList.hooks.d.ts +24 -28
  623. package/dist/types/components/utility/VirtualList/VirtualList.hooks.d.ts.map +1 -1
  624. package/dist/types/components/utility/VirtualList/VirtualList.types.d.ts +17 -0
  625. package/dist/types/components/utility/VirtualList/VirtualList.types.d.ts.map +1 -1
  626. package/dist/types/social-login-button/social-login-button.d.ts.map +1 -1
  627. package/dist/types-native/components/form/Switch/Switch.metrics.d.ts +13 -3
  628. package/dist/types-native/components/form/Switch/Switch.metrics.d.ts.map +1 -1
  629. package/dist/typography/Blockquote.js +1 -1
  630. package/dist/typography/Code.js +1 -1
  631. package/dist/typography/Text.js +1 -1
  632. package/dist/user-avatar.js +4 -5
  633. package/dist/utility/AnimatedIcon.js +3 -3
  634. package/dist/utility/AspectRatio.js +2 -1
  635. package/dist/utility/InfiniteScroll.js +4 -3
  636. package/dist/utility/VirtualList.js +3 -2
  637. package/dist/utility/WorkflowStep.js +3 -3
  638. package/package.json +1 -1
  639. package/src/components/data-display/DataGrid/DataGrid.body.tsx +27 -7
  640. package/src/components/data-display/DataGrid/DataGrid.cells.tsx +33 -9
  641. package/src/components/data-display/DataGrid/DataGrid.model.ts +24 -11
  642. package/src/components/data-display/DataGrid/DataGrid.types.ts +12 -6
  643. package/src/components/data-display/DataViews/data-views-columns.ts +14 -3
  644. package/src/components/data-display/DataViews/data-views-grid-helpers.tsx +5 -3
  645. package/src/components/data-display/DataViews/data-views-layout-context.tsx +12 -9
  646. package/src/components/data-display/DataViews/data-views-overflow-costs.ts +32 -14
  647. package/src/components/data-display/DataViews/data-views-overflow.ts +40 -26
  648. package/src/components/data-display/MapPreview/MapTiles.tsx +16 -9
  649. package/src/components/data-display/MapPreview/mapProjection.ts +10 -5
  650. package/src/components/data-display/Table/Table.helpers.ts +7 -1
  651. package/src/components/data-display/Table/Table.hooks.ts +16 -5
  652. package/src/components/data-display/Table/Table.types.ts +6 -2
  653. package/src/components/data-display/Table/TableParts.tsx +38 -42
  654. package/src/components/feedback/Dialog/Dialog.styles.ts +16 -28
  655. package/src/components/feedback/Modal/Modal.styles.ts +9 -8
  656. package/src/components/feedback/Modal/Modal.tsx +3 -2
  657. package/src/components/feedback/Sonner/Sonner.tsx +4 -4
  658. package/src/components/feedback/Sonner/SonnerToast.tsx +9 -9
  659. package/src/components/feedback/StackedModal/StackedModal.parts.tsx +26 -19
  660. package/src/components/feedback/StackedModal/StackedModal.styles.ts +11 -9
  661. package/src/components/feedback/Toast/Toast.tsx +11 -7
  662. package/src/components/feedback/TutorialOverlay/TutorialOverlay.geometry.ts +2 -3
  663. package/src/components/feedback/TutorialOverlay/TutorialOverlay.hooks.ts +6 -1
  664. package/src/components/feedback/TutorialOverlay/TutorialOverlay.tsx +43 -37
  665. package/src/components/feedback/TutorialOverlay/TutorialStepBody.tsx +3 -2
  666. package/src/components/form/Calendar/Calendar.tsx +4 -2
  667. package/src/components/form/Calendar/CalendarDay.tsx +6 -3
  668. package/src/components/form/Calendar/CalendarMonth.tsx +6 -3
  669. package/src/components/form/Switch/Switch.metrics.ts +19 -5
  670. package/src/components/form/Switch/Switch.styles.ts +5 -3
  671. package/src/components/layout/Accordion/Accordion.styles.ts +8 -6
  672. package/src/components/layout/Accordion/Accordion.tsx +10 -8
  673. package/src/components/layout/Box/Box.tsx +18 -5
  674. package/src/components/layout/Card/Card.styles.ts +22 -30
  675. package/src/components/layout/CardGrid/CardGrid.tsx +37 -24
  676. package/src/components/layout/Collapsible/Collapsible.helpers.ts +4 -2
  677. package/src/components/layout/Collapsible/Collapsible.tsx +8 -4
  678. package/src/components/layout/ContentToolbar/ColumnsMenu.tsx +1 -1
  679. package/src/components/layout/ContentToolbar/ContentToolbar.tsx +2 -2
  680. package/src/components/layout/ContentToolbar/FilterTrigger.tsx +2 -2
  681. package/src/components/layout/ContentToolbar/MultiSelectDropdown.tsx +1 -1
  682. package/src/components/layout/ContentToolbar/SavedViewsMenu.tsx +2 -2
  683. package/src/components/layout/ContentToolbar/SortByDropdown.tsx +2 -2
  684. package/src/components/layout/ContentToolbar/ViewSelector.tsx +2 -2
  685. package/src/components/layout/Dashboard/Dashboard.tsx +1 -1
  686. package/src/components/layout/Dashboard/DashboardParts.tsx +1 -1
  687. package/src/components/layout/Drawer/Drawer.tsx +23 -10
  688. package/src/components/layout/Resizable/Resizable.helpers.ts +43 -21
  689. package/src/components/layout/Resizable/Resizable.hooks.ts +17 -9
  690. package/src/components/layout/Resizable/Resizable.md +9 -5
  691. package/src/components/layout/Resizable/Resizable.tsx +20 -8
  692. package/src/components/layout/Resizable/Resizable.types.ts +10 -0
  693. package/src/components/layout/ScrollArea/ScrollArea.helpers.ts +0 -2
  694. package/src/components/layout/ScrollArea/ScrollArea.styles.ts +45 -32
  695. package/src/components/layout/ScrollArea/ScrollArea.tsx +35 -18
  696. package/src/components/layout/ScrollArea/ScrollArea.types.ts +4 -1
  697. package/src/components/layout/ScrollArea/ScrollAreaContent.tsx +2 -2
  698. package/src/components/layout/ScrollArea/ScrollViewport.tsx +6 -4
  699. package/src/components/layout/Separator/Separator.styles.ts +30 -9
  700. package/src/components/layout/Separator/Separator.tsx +4 -3
  701. package/src/components/layout/SettingsLayout/SettingsLayout.items.tsx +4 -2
  702. package/src/components/layout/SettingsLayout/SettingsLayout.rail.tsx +6 -5
  703. package/src/components/layout/SettingsLayout/SettingsLayout.styles.ts +9 -7
  704. package/src/components/layout/SettingsLayout/SettingsLayout.tsx +2 -2
  705. package/src/components/layout/SettingsLayout/SettingsPanel.tsx +1 -1
  706. package/src/components/layout/SettingsLayout/SettingsSectionChips.tsx +3 -3
  707. package/src/components/layout/SettingsLayout/SettingsSectionHeader.tsx +3 -3
  708. package/src/components/layout/SettingsLayout/SettingsStatusMarker.tsx +2 -2
  709. package/src/components/layout/Sidebar/Sidebar.tsx +16 -6
  710. package/src/components/layout/Skeleton/Skeleton.styles.ts +13 -3
  711. package/src/components/layout/Skeleton/Skeleton.tsx +6 -4
  712. package/src/components/layout/Spacer/Spacer.tsx +16 -1
  713. package/src/components/layout/TableFilter/TableFilter.tsx +2 -1
  714. package/src/components/navigation/AppHeader/AppHeader.brand.tsx +2 -2
  715. package/src/components/navigation/AppHeader/AppHeader.details.tsx +9 -7
  716. package/src/components/navigation/AppHeader/AppHeader.identity.tsx +28 -15
  717. package/src/components/navigation/AppHeader/AppHeader.tsx +18 -6
  718. package/src/components/navigation/Breadcrumbs/BreadcrumbEntry.tsx +4 -4
  719. package/src/components/navigation/Breadcrumbs/Breadcrumbs.styles.tsx +15 -15
  720. package/src/components/navigation/CommandPalette/CommandPalette.tsx +7 -7
  721. package/src/components/navigation/CommandPalette/CommandPaletteResults.tsx +5 -5
  722. package/src/components/navigation/CommandPalette/ShortcutChip.tsx +1 -1
  723. package/src/components/navigation/ContextMenu/ContextMenu.tsx +8 -8
  724. package/src/components/navigation/DropdownMenu/DropdownMenu.tsx +25 -16
  725. package/src/components/navigation/NavigationMenu/NavigationMegaSection.tsx +5 -4
  726. package/src/components/navigation/NavigationMenu/NavigationMenu.shell.tsx +22 -20
  727. package/src/components/navigation/NavigationMenu/NavigationMenu.styles.ts +11 -11
  728. package/src/components/navigation/NavigationMenu/NavigationMenu.tsx +7 -2
  729. package/src/components/navigation/NavigationMenu/NavigationMenuItem.tsx +12 -12
  730. package/src/components/navigation/NavigationMenu/NavigationStandardBody.tsx +3 -2
  731. package/src/components/navigation/Pagination/Pagination.styles.ts +18 -18
  732. package/src/components/navigation/Pagination/Pagination.tsx +2 -1
  733. package/src/components/navigation/Pagination/PaginationParts.tsx +4 -3
  734. package/src/components/navigation/Tabs/Tabs.styles.ts +14 -12
  735. package/src/components/navigation/Tabs/Tabs.tsx +11 -9
  736. package/src/components/navigation/Tabs/TabsPanel.tsx +10 -3
  737. package/src/components/typography/Blockquote/Blockquote.tsx +8 -8
  738. package/src/components/typography/Code/Code.tsx +17 -17
  739. package/src/components/typography/Text/Text.tsx +2 -2
  740. package/src/components/utility/AnimatedIcon/AnimatedIcon.animations.ts +38 -35
  741. package/src/components/utility/AnimatedIcon/AnimatedIcon.styles.ts +51 -46
  742. package/src/components/utility/AnimatedIcon/AnimatedIcon.tsx +1 -1
  743. package/src/components/utility/AspectRatio/AspectRatio.tsx +13 -2
  744. package/src/components/utility/InfiniteScroll/InfiniteScroll.hooks.ts +5 -4
  745. package/src/components/utility/InfiniteScroll/InfiniteScroll.parts.tsx +29 -12
  746. package/src/components/utility/InfiniteScroll/InfiniteScroll.tsx +11 -5
  747. package/src/components/utility/InfiniteScroll/InfiniteScroll.types.ts +10 -2
  748. package/src/components/utility/VirtualList/VirtualList.hooks.ts +101 -112
  749. package/src/components/utility/VirtualList/VirtualList.tsx +36 -65
  750. package/src/components/utility/VirtualList/VirtualList.types.ts +20 -3
  751. package/src/components/utility/WorkflowStep/WorkflowStep.parts.tsx +7 -7
  752. package/src/social-login-button/social-login-button.tsx +25 -8
  753. package/dist/chunk-236V2GRH.js.map +0 -1
  754. package/dist/chunk-2CTTASUD.js.map +0 -1
  755. package/dist/chunk-2E2WOBID.js.map +0 -1
  756. package/dist/chunk-2NLYGZP3.js.map +0 -1
  757. package/dist/chunk-2WFDHFK4.js.map +0 -1
  758. package/dist/chunk-3CVTQZQJ.js.map +0 -1
  759. package/dist/chunk-3D6HXKZM.js.map +0 -1
  760. package/dist/chunk-3T5Z5HXF.js.map +0 -1
  761. package/dist/chunk-3TDVGZZN.js.map +0 -1
  762. package/dist/chunk-3VMGE7CU.js.map +0 -1
  763. package/dist/chunk-4OEKIFBC.js.map +0 -1
  764. package/dist/chunk-57JY4OI2.js.map +0 -1
  765. package/dist/chunk-5CKDRLRN.js.map +0 -1
  766. package/dist/chunk-5QWQR7XT.js.map +0 -1
  767. package/dist/chunk-5W4BLTDI.js.map +0 -1
  768. package/dist/chunk-6CTPDNNX.js.map +0 -1
  769. package/dist/chunk-6GRZ77IS.js.map +0 -1
  770. package/dist/chunk-6QLPSMTA.js.map +0 -1
  771. package/dist/chunk-72DKEBJM.js.map +0 -1
  772. package/dist/chunk-73BEVJCS.js +0 -28
  773. package/dist/chunk-73BEVJCS.js.map +0 -1
  774. package/dist/chunk-75LOTMSN.js.map +0 -1
  775. package/dist/chunk-7F7TTOYN.js.map +0 -1
  776. package/dist/chunk-7UZ2TFIK.js.map +0 -1
  777. package/dist/chunk-AROBXRC5.js.map +0 -1
  778. package/dist/chunk-ATSHKSSD.js.map +0 -1
  779. package/dist/chunk-AUSUCZYR.js.map +0 -1
  780. package/dist/chunk-B76QCDCE.js.map +0 -1
  781. package/dist/chunk-BLJDCMFU.js.map +0 -1
  782. package/dist/chunk-CAHWCSRE.js.map +0 -1
  783. package/dist/chunk-CPTY6UZ6.js.map +0 -1
  784. package/dist/chunk-CSTAQX2B.js.map +0 -1
  785. package/dist/chunk-D5SZXH7Q.js.map +0 -1
  786. package/dist/chunk-DF4K5XVW.js.map +0 -1
  787. package/dist/chunk-DLJGBJZW.js.map +0 -1
  788. package/dist/chunk-DYVAOEW4.js.map +0 -1
  789. package/dist/chunk-DZA7RSLX.js.map +0 -1
  790. package/dist/chunk-E7MSDXED.js.map +0 -1
  791. package/dist/chunk-EFHIMCJN.js.map +0 -1
  792. package/dist/chunk-EL7CMURV.js.map +0 -1
  793. package/dist/chunk-F42MJOHM.js.map +0 -1
  794. package/dist/chunk-FFOQZRFC.js.map +0 -1
  795. package/dist/chunk-FYTLKHEN.js.map +0 -1
  796. package/dist/chunk-GRDPGHQJ.js.map +0 -1
  797. package/dist/chunk-GSFNH4C5.js.map +0 -1
  798. package/dist/chunk-GUW5BUK7.js.map +0 -1
  799. package/dist/chunk-HB7ISSLK.js.map +0 -1
  800. package/dist/chunk-HGMBY5LP.js.map +0 -1
  801. package/dist/chunk-HTZNB6IV.js.map +0 -1
  802. package/dist/chunk-HXEBKOSM.js.map +0 -1
  803. package/dist/chunk-IAGOUTI6.js.map +0 -1
  804. package/dist/chunk-IVIHRZEY.js.map +0 -1
  805. package/dist/chunk-IYTBTK2M.js.map +0 -1
  806. package/dist/chunk-J2DAQQQH.js.map +0 -1
  807. package/dist/chunk-JXUWWPZR.js.map +0 -1
  808. package/dist/chunk-KLWW67WP.js.map +0 -1
  809. package/dist/chunk-L7SFH3ED.js.map +0 -1
  810. package/dist/chunk-LIG7TKIB.js.map +0 -1
  811. package/dist/chunk-LVEG6XQL.js.map +0 -1
  812. package/dist/chunk-MBC55H6M.js.map +0 -1
  813. package/dist/chunk-MBSYD3ZU.js.map +0 -1
  814. package/dist/chunk-MJ3BVWPZ.js.map +0 -1
  815. package/dist/chunk-MK4CH4VT.js.map +0 -1
  816. package/dist/chunk-MP4VSWHK.js.map +0 -1
  817. package/dist/chunk-MTFCPPZ5.js.map +0 -1
  818. package/dist/chunk-MVKYNDT2.js.map +0 -1
  819. package/dist/chunk-MVXFMIVZ.js.map +0 -1
  820. package/dist/chunk-N52O2OKZ.js.map +0 -1
  821. package/dist/chunk-NEGCJNGJ.js.map +0 -1
  822. package/dist/chunk-NYZO3JNB.js.map +0 -1
  823. package/dist/chunk-OATHOXIU.js.map +0 -1
  824. package/dist/chunk-P6TNXBDA.js.map +0 -1
  825. package/dist/chunk-PMOEG36E.js.map +0 -1
  826. package/dist/chunk-PMP6WJJS.js.map +0 -1
  827. package/dist/chunk-PT2XADGH.js.map +0 -1
  828. package/dist/chunk-PUBPZOQJ.js.map +0 -1
  829. package/dist/chunk-Q4BQYYPU.js.map +0 -1
  830. package/dist/chunk-Q4CAZ2TP.js.map +0 -1
  831. package/dist/chunk-Q73PTVNO.js.map +0 -1
  832. package/dist/chunk-QAP3FW33.js.map +0 -1
  833. package/dist/chunk-QF6LTUCE.js.map +0 -1
  834. package/dist/chunk-QKPD322X.js.map +0 -1
  835. package/dist/chunk-RHIDWUK7.js.map +0 -1
  836. package/dist/chunk-RSQMPCCR.js.map +0 -1
  837. package/dist/chunk-RWTFZ7J5.js.map +0 -1
  838. package/dist/chunk-T3WHW7ZC.js.map +0 -1
  839. package/dist/chunk-TBF2CPJW.js.map +0 -1
  840. package/dist/chunk-TQ6FPOPD.js.map +0 -1
  841. package/dist/chunk-TUBCN4DJ.js.map +0 -1
  842. package/dist/chunk-TVL5V2JK.js.map +0 -1
  843. package/dist/chunk-U342T7ZR.js.map +0 -1
  844. package/dist/chunk-ULTOQ6ZV.js.map +0 -1
  845. package/dist/chunk-UN5INW6K.js.map +0 -1
  846. package/dist/chunk-UUUMNJPP.js.map +0 -1
  847. package/dist/chunk-VFHGILXI.js.map +0 -1
  848. package/dist/chunk-VRDNUY4H.js.map +0 -1
  849. package/dist/chunk-WTOYEWW6.js.map +0 -1
  850. package/dist/chunk-WUTHROII.js.map +0 -1
  851. package/dist/chunk-YU26GBNX.js.map +0 -1
  852. package/dist/chunk-YVUD3MY4.js.map +0 -1
  853. package/dist/chunk-ZTYUKEN3.js.map +0 -1
  854. /package/dist/{chunk-2BIVCYTO.js.map → chunk-27LOJVR3.js.map} +0 -0
  855. /package/dist/{chunk-CRZXSZ5O.js.map → chunk-2S752BIJ.js.map} +0 -0
  856. /package/dist/{chunk-BAQBUKDU.js.map → chunk-3KREF4ZF.js.map} +0 -0
  857. /package/dist/{chunk-SYN46YL6.js.map → chunk-3RMDIO4G.js.map} +0 -0
  858. /package/dist/{chunk-S3D5VBHW.js.map → chunk-3YOXVNO4.js.map} +0 -0
  859. /package/dist/{chunk-IL7JZKXY.js.map → chunk-442FSG7G.js.map} +0 -0
  860. /package/dist/{chunk-JL75FJRG.js.map → chunk-4ALF5PB5.js.map} +0 -0
  861. /package/dist/{chunk-CS3KOKL3.js.map → chunk-4GWHYLEB.js.map} +0 -0
  862. /package/dist/{chunk-XJPJ6ESI.js.map → chunk-4OAKGKK5.js.map} +0 -0
  863. /package/dist/{chunk-4CHROSWR.js.map → chunk-5ETBB2DG.js.map} +0 -0
  864. /package/dist/{chunk-E7T3A4IR.js.map → chunk-5JCGBCFJ.js.map} +0 -0
  865. /package/dist/{chunk-FC7NQ6XM.js.map → chunk-5MW7OYBM.js.map} +0 -0
  866. /package/dist/{chunk-46UPILLK.js.map → chunk-5NT2M2JI.js.map} +0 -0
  867. /package/dist/{chunk-H5BEWPEY.js.map → chunk-6N2EDWMG.js.map} +0 -0
  868. /package/dist/{chunk-BW62QQAG.js.map → chunk-6N4AA2Y7.js.map} +0 -0
  869. /package/dist/{chunk-GJQYM3PM.js.map → chunk-6PU3JYVY.js.map} +0 -0
  870. /package/dist/{chunk-7EIOXZWL.js.map → chunk-74P3YX7R.js.map} +0 -0
  871. /package/dist/{chunk-VT5HQ2AD.js.map → chunk-BFMDA6UO.js.map} +0 -0
  872. /package/dist/{chunk-R75DZ3AK.js.map → chunk-BVLMKSHX.js.map} +0 -0
  873. /package/dist/{chunk-HNPWZ3W2.js.map → chunk-DDRKYNPB.js.map} +0 -0
  874. /package/dist/{chunk-HU7TX7RB.js.map → chunk-DUBTI4DI.js.map} +0 -0
  875. /package/dist/{chunk-RMCNEKBZ.js.map → chunk-DW6F7354.js.map} +0 -0
  876. /package/dist/{chunk-XJUEHG72.js.map → chunk-EERUSI52.js.map} +0 -0
  877. /package/dist/{chunk-NDNYD4FG.js.map → chunk-EHYI2WCJ.js.map} +0 -0
  878. /package/dist/{chunk-NB3FGWU4.js.map → chunk-EQXIW5MQ.js.map} +0 -0
  879. /package/dist/{chunk-2ZIHZLF5.js.map → chunk-F44R7US6.js.map} +0 -0
  880. /package/dist/{chunk-35S6QI5G.js.map → chunk-FX26DAFF.js.map} +0 -0
  881. /package/dist/{chunk-AYLEZM6T.js.map → chunk-GLFTIGOF.js.map} +0 -0
  882. /package/dist/{chunk-QEG3P5D4.js.map → chunk-GLHNMTP6.js.map} +0 -0
  883. /package/dist/{chunk-L4UP5VYS.js.map → chunk-GVH7C2PT.js.map} +0 -0
  884. /package/dist/{chunk-AER4245J.js.map → chunk-H67EL3CG.js.map} +0 -0
  885. /package/dist/{chunk-57JLS55D.js.map → chunk-HBRQPG7H.js.map} +0 -0
  886. /package/dist/{chunk-UZ6AUTE6.js.map → chunk-I3F4C5SS.js.map} +0 -0
  887. /package/dist/{chunk-4CXEWFKO.js.map → chunk-J5VWGQSR.js.map} +0 -0
  888. /package/dist/{chunk-AJ5SDHX5.js.map → chunk-JCL7WK4G.js.map} +0 -0
  889. /package/dist/{chunk-4JFL62K3.js.map → chunk-K7FSTB2K.js.map} +0 -0
  890. /package/dist/{chunk-WE3LJPRN.js.map → chunk-KE473LK6.js.map} +0 -0
  891. /package/dist/{chunk-C55AWF3U.js.map → chunk-KRQUPE4K.js.map} +0 -0
  892. /package/dist/{chunk-SJO3K7SB.js.map → chunk-KXLUMEDX.js.map} +0 -0
  893. /package/dist/{chunk-CQPFSEJB.js.map → chunk-L7NQCLFU.js.map} +0 -0
  894. /package/dist/{chunk-DVAAUWTC.js.map → chunk-LCHCE2G5.js.map} +0 -0
  895. /package/dist/{chunk-G4HBNILE.js.map → chunk-LEHMWJNZ.js.map} +0 -0
  896. /package/dist/{chunk-KK57AHWS.js.map → chunk-OAEYCKBN.js.map} +0 -0
  897. /package/dist/{chunk-JGRE56GQ.js.map → chunk-OB56SZGL.js.map} +0 -0
  898. /package/dist/{chunk-E4TNDTWV.js.map → chunk-OL2BEJZR.js.map} +0 -0
  899. /package/dist/{chunk-IKLOIONQ.js.map → chunk-PCBZYORN.js.map} +0 -0
  900. /package/dist/{chunk-CQLPDY2J.js.map → chunk-PRIBOWX4.js.map} +0 -0
  901. /package/dist/{chunk-LT4NEKXB.js.map → chunk-QA2ZGCRL.js.map} +0 -0
  902. /package/dist/{chunk-PQECNGDE.js.map → chunk-QSRZOXQI.js.map} +0 -0
  903. /package/dist/{chunk-ROT57BP4.js.map → chunk-R2XVTUVR.js.map} +0 -0
  904. /package/dist/{chunk-DCJSHYE5.js.map → chunk-RSDYS5B3.js.map} +0 -0
  905. /package/dist/{chunk-N5GVW6RO.js.map → chunk-S6IWKDWT.js.map} +0 -0
  906. /package/dist/{chunk-DB2ZFZVW.js.map → chunk-SBIZXZPP.js.map} +0 -0
  907. /package/dist/{chunk-NCPWLHZT.js.map → chunk-SKT2V2OX.js.map} +0 -0
  908. /package/dist/{chunk-EOW2ECB3.js.map → chunk-SNURSSTN.js.map} +0 -0
  909. /package/dist/{chunk-CZBND7AY.js.map → chunk-T7DE44SP.js.map} +0 -0
  910. /package/dist/{chunk-BNEWMFVB.js.map → chunk-UGGJ3KDT.js.map} +0 -0
  911. /package/dist/{chunk-KREWQAEV.js.map → chunk-VIRYHNEM.js.map} +0 -0
  912. /package/dist/{chunk-N6CSXHFJ.js.map → chunk-WN5PNP6F.js.map} +0 -0
  913. /package/dist/{chunk-XR46FSOH.js.map → chunk-XIG3DXXX.js.map} +0 -0
  914. /package/dist/{chunk-GHTBUJ6E.js.map → chunk-XRUW7DMH.js.map} +0 -0
  915. /package/dist/{chunk-JLQGRZMN.js.map → chunk-YCCY77W5.js.map} +0 -0
  916. /package/dist/{chunk-6BDYC4RA.js.map → chunk-YRSR5LVZ.js.map} +0 -0
  917. /package/dist/{chunk-VZIB5W5L.js.map → chunk-ZGCPDA3F.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/layout/Collapsible/Collapsible.helpers.ts"],"sourcesContent":["import type { Theme } from '@mui/material/styles/index.js';\n\nimport type { CollapsibleVariant } from './Collapsible.types';\n\n/**\n * `smooth` and `default` share their timing; only `spring` differs, stretching\n * the duration and overshooting past the target before settling.\n */\nexport const transitionSettings = (\n theme: Theme,\n variant: CollapsibleVariant,\n duration: number,\n easing?: string,\n): { duration: number; easing: string } => {\n if (variant === 'spring') {\n return {\n duration: duration * 1.2,\n easing: easing || 'cubic-bezier(0.34, 1.56, 0.64, 1)',\n };\n }\n\n return { duration, easing: easing || theme.transitions.easing.easeInOut };\n};\n\ninterface RegionState {\n open: boolean;\n disabled: boolean;\n dataTestId?: string;\n}\n\n/**\n * Shared by both implementations: a disabled collapsible reads as collapsed to\n * assistive technology whatever its `open` prop says, because it cannot be\n * operated to see the rest.\n */\nexport const regionAttrs = ({ open, disabled, dataTestId }: RegionState) => ({\n 'data-disabled': disabled,\n 'data-testid': dataTestId,\n role: 'region',\n 'aria-expanded': open && !disabled,\n 'aria-hidden': disabled || !open,\n});\n\nexport const dimmedStyles = (disabled: boolean) => ({\n opacity: disabled ? 0.6 : 1,\n pointerEvents: (disabled ? 'none' : 'auto') as 'none' | 'auto',\n});\n\nexport const triggerStyles = (\n theme: Theme,\n { disabled, expanded }: { disabled: boolean; expanded: boolean },\n) => {\n const restingBackground = expanded ? theme.palette.action.selected : 'transparent';\n\n return {\n width: '100%',\n padding: theme.spacing(1, 2),\n border: 'none',\n backgroundColor: restingBackground,\n cursor: disabled ? 'not-allowed' : 'pointer',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n transition: theme.transitions.create(['background-color', 'opacity'], {\n duration: theme.transitions.duration.short,\n }),\n opacity: disabled ? 0.6 : 1,\n '&:hover': {\n backgroundColor: disabled\n ? 'transparent'\n : expanded\n ? theme.palette.action.selected\n : theme.palette.action.hover,\n },\n '&:focus': {\n outline: `2px solid ${theme.palette.primary.main}`,\n outlineOffset: 2,\n },\n '&:active': {\n backgroundColor: disabled ? 'transparent' : theme.palette.action.focus,\n },\n };\n};\n"],"mappings":";AAQO,IAAM,qBAAqB,CAChC,OACA,SACA,UACA,WACyC;AACzC,MAAI,YAAY,UAAU;AACxB,WAAO;AAAA,MACL,UAAU,WAAW;AAAA,MACrB,QAAQ,UAAU;AAAA,IACpB;AAAA,EACF;AAEA,SAAO,EAAE,UAAU,QAAQ,UAAU,MAAM,YAAY,OAAO,UAAU;AAC1E;AAaO,IAAM,cAAc,CAAC,EAAE,MAAM,UAAU,WAAW,OAAoB;AAAA,EAC3E,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,MAAM;AAAA,EACN,iBAAiB,QAAQ,CAAC;AAAA,EAC1B,eAAe,YAAY,CAAC;AAC9B;AAEO,IAAM,eAAe,CAAC,cAAuB;AAAA,EAClD,SAAS,WAAW,MAAM;AAAA,EAC1B,eAAgB,WAAW,SAAS;AACtC;AAEO,IAAM,gBAAgB,CAC3B,OACA,EAAE,UAAU,SAAS,MAClB;AACH,QAAM,oBAAoB,WAAW,MAAM,QAAQ,OAAO,WAAW;AAErE,SAAO;AAAA,IACL,OAAO;AAAA,IACP,SAAS,MAAM,QAAQ,GAAG,CAAC;AAAA,IAC3B,QAAQ;AAAA,IACR,iBAAiB;AAAA,IACjB,QAAQ,WAAW,gBAAgB;AAAA,IACnC,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,YAAY,MAAM,YAAY,OAAO,CAAC,oBAAoB,SAAS,GAAG;AAAA,MACpE,UAAU,MAAM,YAAY,SAAS;AAAA,IACvC,CAAC;AAAA,IACD,SAAS,WAAW,MAAM;AAAA,IAC1B,WAAW;AAAA,MACT,iBAAiB,WACb,gBACA,WACE,MAAM,QAAQ,OAAO,WACrB,MAAM,QAAQ,OAAO;AAAA,IAC7B;AAAA,IACA,WAAW;AAAA,MACT,SAAS,aAAa,MAAM,QAAQ,QAAQ,IAAI;AAAA,MAChD,eAAe;AAAA,IACjB;AAAA,IACA,YAAY;AAAA,MACV,iBAAiB,WAAW,gBAAgB,MAAM,QAAQ,OAAO;AAAA,IACnE;AAAA,EACF;AACF;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/layout/Accordion/Accordion.tsx"],"sourcesContent":["import ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport MuiAccordion from '@mui/material/Accordion/index.js';\nimport MuiAccordionActions from '@mui/material/AccordionActions/index.js';\nimport MuiAccordionDetails from '@mui/material/AccordionDetails/index.js';\nimport MuiAccordionSummary from '@mui/material/AccordionSummary/index.js';\nimport { alpha, useTheme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport { accordionVariantStyles } from './Accordion.styles';\nimport type { \n AccordionActionsProps, \n AccordionDetailsProps, \n AccordionProps, \n AccordionSummaryProps} from './Accordion.types';\n\nexport const Accordion: React.FC<AccordionProps> = ({\n children,\n variant = 'default',\n disabled = false,\n defaultExpanded = false,\n expanded,\n onChange,\n sx,\n 'data-testid': testId = 'accordion',\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <MuiAccordion\n disabled={disabled}\n defaultExpanded={defaultExpanded}\n expanded={expanded}\n onChange={onChange}\n data-testid={testId}\n sx={{\n ...accordionVariantStyles(theme, variant),\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiAccordion>\n );\n};\n\nexport const AccordionSummary: React.FC<AccordionSummaryProps> = ({\n children,\n expandIcon = <ExpandMoreIcon />,\n disabled = false,\n 'data-testid': testId = 'accordion-summary',\n ...props\n}) => {\n const theme = useTheme();\n\n // Clone expandIcon to add data-testid if it's a valid React element\n const iconWithTestId = React.isValidElement(expandIcon)\n ? React.cloneElement(expandIcon as React.ReactElement<{ 'data-testid'?: string }>, {\n 'data-testid': 'accordion-icon',\n })\n : expandIcon;\n\n return (\n <MuiAccordionSummary\n expandIcon={iconWithTestId}\n disabled={disabled}\n data-testid={testId}\n sx={{\n minHeight: 56,\n '& .MuiAccordionSummary-expandIconWrapper': {\n transition: 'transform 0.3s cubic-bezier(0.4, 0, 0.2, 1)',\n color: theme.palette.text.secondary,\n },\n '& .MuiAccordionSummary-expandIconWrapper.Mui-expanded': {\n transform: 'rotate(180deg)',\n color: theme.palette.primary.main,\n },\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.hover, 0.04),\n '& .MuiAccordionSummary-expandIconWrapper': {\n color: theme.palette.primary.main,\n },\n },\n '&.Mui-focusVisible': {\n outline: `2px solid ${theme.palette.primary.main}`,\n outlineOffset: 2,\n },\n // Enhanced keyboard navigation styles\n '&:focus-visible': {\n outline: `2px solid ${theme.palette.primary.main}`,\n outlineOffset: -2,\n },\n }}\n {...props}\n >\n {children}\n </MuiAccordionSummary>\n );\n};\n\nexport const AccordionDetails: React.FC<AccordionDetailsProps> = ({\n children,\n 'data-testid': testId = 'accordion-details',\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <MuiAccordionDetails \n data-testid={testId}\n sx={{\n paddingTop: theme.spacing(1),\n paddingBottom: theme.spacing(2),\n borderTop: `1px solid ${alpha(theme.palette.divider, 0.08)}`,\n // Smooth content reveal animation\n '& > *': {\n animation: 'fadeInUp 0.4s ease-out',\n },\n '@keyframes fadeInUp': {\n '0%': {\n opacity: 0,\n transform: 'translateY(8px)',\n },\n '100%': {\n opacity: 1,\n transform: 'translateY(0)',\n },\n },\n }}\n {...props}\n >\n {children}\n </MuiAccordionDetails>\n );\n};\n\nexport const AccordionActions: React.FC<AccordionActionsProps> = ({\n children,\n disableSpacing = false,\n 'data-testid': testId = 'accordion-actions',\n ...props\n}) => {\n const theme = useTheme();\n\n return (\n <MuiAccordionActions \n disableSpacing={disableSpacing}\n data-testid={testId}\n sx={{\n padding: theme.spacing(1, 2),\n borderTop: `1px solid ${alpha(theme.palette.divider, 0.08)}`,\n backgroundColor: alpha(theme.palette.background.paper, 0.5),\n backdropFilter: 'blur(8px)',\n // Animate button entries\n '& > *': {\n transition: 'all 0.2s ease-in-out',\n '&:hover': {\n transform: 'translateY(-1px)',\n },\n },\n }}\n {...props}\n >\n {children}\n </MuiAccordionActions>\n );\n};"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/Table/TableParts.hooks.tsx","../src/components/data-display/Table/TableParts.tsx"],"sourcesContent":["import type React from 'react';\nimport { useCallback } from 'react';\n\nimport { TableDataRow } from './TableParts';\nimport type { TableBodyProps } from './Table.types';\n\n// Row identity, selection and the row element itself. Split out of\n// EnhancedTableBody so that component is just the virtualised/plain choice.\n// A row's identity: the caller's extractor, else its id, else its position.\nconst useRowKey = (rowKeyExtractor: TableBodyProps['rowKeyExtractor']) =>\n useCallback(\n (rowData: Record<string, unknown>, index: number): string | number =>\n rowKeyExtractor ? rowKeyExtractor(rowData, index) : (rowData.id as string | number) || index,\n [rowKeyExtractor],\n );\n\nconst useRowSelection = ({\n selectedRows,\n onSelectionChange,\n}: {\n selectedRows: Array<string | number>;\n onSelectionChange: TableBodyProps['onSelectionChange'];\n}) =>\n useCallback(\n (event: React.MouseEvent | React.ChangeEvent, rowKey: string | number) => {\n // Stop propagation so selecting does not also fire the row click.\n event.stopPropagation();\n if (!onSelectionChange) return;\n onSelectionChange(rowKey, !selectedRows.includes(rowKey));\n },\n [onSelectionChange, selectedRows],\n );\n\nexport const useTableRowRenderer = ({\n columns,\n selectedRows,\n onRowClick,\n onRowFocus,\n onRowBlur,\n onSelectionChange,\n rowKeyExtractor,\n selectable,\n renderRow,\n renderCell,\n virtualScrolling,\n rowHeight,\n}: Pick<\n TableBodyProps,\n | 'columns'\n | 'onRowClick'\n | 'onRowFocus'\n | 'onRowBlur'\n | 'onSelectionChange'\n | 'rowKeyExtractor'\n | 'selectable'\n | 'renderRow'\n | 'renderCell'\n | 'virtualScrolling'\n | 'rowHeight'\n> & { selectedRows: Array<string | number> }) => {\n const getRowKey = useRowKey(rowKeyExtractor);\n const isRowSelected = useCallback(\n (rowKey: string | number) => selectedRows.includes(rowKey),\n [selectedRows],\n );\n const handleRowSelection = useRowSelection({ selectedRows, onSelectionChange });\n\n const renderTableRow = useCallback(\n (rowData: Record<string, unknown>, index: number, offsetY: number = 0) => {\n const rowKey = getRowKey(rowData, index);\n const selected = isRowSelected(rowKey);\n\n if (renderRow) return renderRow(rowData, index, selected);\n\n return (\n <TableDataRow\n key={rowKey}\n rowData={rowData}\n rowKey={rowKey}\n index={index}\n offsetY={offsetY}\n columns={columns}\n selected={selected}\n selectable={selectable}\n rowHeight={rowHeight}\n onRowClick={onRowClick}\n onRowFocus={onRowFocus}\n onRowBlur={onRowBlur}\n onSelect={handleRowSelection}\n virtualScrolling={virtualScrolling}\n renderCell={renderCell}\n />\n );\n },\n [\n columns,\n getRowKey,\n isRowSelected,\n handleRowSelection,\n onRowClick,\n onRowFocus,\n onRowBlur,\n renderRow,\n renderCell,\n rowHeight,\n selectable,\n virtualScrolling,\n ],\n );\n\n return renderTableRow;\n};\n","import Box from '@mui/material/Box/index.js';\nimport Checkbox from '@mui/material/Checkbox/index.js';\nimport TableBody from '@mui/material/TableBody/index.js';\nimport TableCell from '@mui/material/TableCell/index.js';\nimport TableHead from '@mui/material/TableHead/index.js';\nimport TableRow from '@mui/material/TableRow/index.js';\nimport TableSortLabel from '@mui/material/TableSortLabel/index.js';\nimport React, { useCallback } from 'react';\n\nimport { useVirtualScrolling } from './Table.hooks';\nimport { useTableRowRenderer } from './TableParts.hooks';\nimport type { ColumnConfig, TableBodyProps, TableHeaderProps } from './Table.types';\n\n// Mirrors the visible sort indicator for assistive technology; undefined when\n// the column is not sorted, which is what removes the attribute entirely.\nconst ariaSortFor = (\n canSort: boolean,\n isSorted: boolean,\n direction?: 'asc' | 'desc',\n): 'ascending' | 'descending' | undefined => {\n if (!canSort || !isSorted) return undefined;\n\n return direction === 'asc' ? 'ascending' : 'descending';\n};\n\n// One header cell. Sorting is offered when the table is sortable and the column\n// has not opted out; aria-sort mirrors the visible indicator.\nconst HeaderCell: React.FC<{\n column: ColumnConfig;\n sortable?: boolean;\n sortConfig?: { key: string; direction: 'asc' | 'desc' };\n onSort: (columnKey: string) => void;\n}> = ({ column, sortable, sortConfig, onSort }) => {\n const canSort = Boolean(sortable) && column.sortable !== false;\n const isSorted = sortConfig?.key === column.key;\n\n return (\n <TableCell\n align={column.align || 'left'}\n style={{ minWidth: column.minWidth, width: column.width }}\n aria-sort={ariaSortFor(canSort, isSorted, sortConfig?.direction)}\n >\n {canSort ? (\n <TableSortLabel\n active={isSorted}\n direction={isSorted ? sortConfig?.direction : 'asc'}\n onClick={() => onSort(column.key)}\n data-testid=\"sort-indicator\"\n aria-label={`Sort by ${column.label}`}\n >\n {column.label}\n </TableSortLabel>\n ) : (\n column.label\n )}\n </TableCell>\n );\n};\n\nexport const EnhancedTableHeader: React.FC<TableHeaderProps> = React.memo(({\n columns,\n data,\n sortable,\n sortConfig,\n onSortChange,\n selectable,\n selectedRows = [],\n onSelectAll }) => {\n const handleSort = useCallback(\n (columnKey: string) => {\n if (!sortable || !onSortChange) return;\n \n const direction = \n sortConfig?.key === columnKey && sortConfig.direction === 'asc' ? 'desc' : 'asc';\n onSortChange(columnKey, direction);\n },\n [sortable, onSortChange, sortConfig]\n );\n\n const handleSelectAll = useCallback(\n (event: React.ChangeEvent<globalThis.HTMLInputElement>) => {\n if (!onSelectAll) return;\n onSelectAll(event.target.checked);\n },\n [onSelectAll]\n );\n\n return (\n <TableHead>\n <TableRow>\n {selectable && (\n <TableCell padding=\"checkbox\">\n <Checkbox\n indeterminate={selectedRows.length > 0 && selectedRows.length < data.length}\n checked={selectedRows.length === data.length && data.length > 0}\n onChange={handleSelectAll}\n inputProps={{ 'aria-label': 'select all' }}\n />\n </TableCell>\n )}\n {columns.map((column) => (\n <HeaderCell\n key={column.key}\n column={column}\n sortable={sortable}\n sortConfig={sortConfig}\n onSort={handleSort}\n />\n ))}\n </TableRow>\n </TableHead>\n );\n});\n\nEnhancedTableHeader.displayName = 'EnhancedTableHeader';\n\n// One data row. Split out of the memoised renderTableRow callback so the\n// callback stays a short dispatch and the row markup is readable on its own.\nexport const TableDataRow: React.FC<{\n rowData: Record<string, unknown>;\n rowKey: string | number;\n index: number;\n offsetY: number;\n columns: ColumnConfig[];\n selected: boolean;\n selectable?: boolean;\n rowHeight?: number;\n onRowClick?: TableBodyProps['onRowClick'];\n onRowFocus?: TableBodyProps['onRowFocus'];\n onRowBlur?: TableBodyProps['onRowBlur'];\n onSelect: (event: React.MouseEvent | React.ChangeEvent, rowKey: string | number) => void;\n virtualScrolling?: boolean;\n renderCell?: TableBodyProps['renderCell'];\n}> = ({\n rowData,\n rowKey,\n index,\n offsetY,\n columns,\n selected,\n selectable,\n rowHeight,\n onRowClick,\n onRowFocus,\n onRowBlur,\n onSelect,\n virtualScrolling,\n renderCell }) => (\n\n <TableRow\n key={String(rowKey)}\n selected={selected}\n className={selected ? 'selected' : ''}\n onClick={(event: React.MouseEvent<globalThis.HTMLTableRowElement>) => onRowClick?.(event, rowData)}\n onFocus={(event: React.FocusEvent<globalThis.HTMLTableRowElement>) => onRowFocus?.(event, rowData)}\n onBlur={(event: React.FocusEvent<globalThis.HTMLTableRowElement>) => onRowBlur?.(event, rowData)}\n style={virtualScrolling ? { \n transform: `translateY(${offsetY}px)`,\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n height: rowHeight } : undefined}\n >\n {selectable && (\n <TableCell padding=\"checkbox\">\n <Checkbox\n checked={selected}\n onChange={(event) => onSelect(event, rowKey)}\n onClick={(event) => event.stopPropagation()}\n inputProps={{ 'aria-label': `select row ${index + 1}` }}\n />\n </TableCell>\n )}\n {columns.map((column) => {\n const value = rowData[column.key];\n return (\n <TableCell key={column.key} align={column.align || 'left'}>\n {renderCell \n ? renderCell(value, column, rowData, index)\n : column.render \n ? column.render(value, rowData) \n : (value as React.ReactNode)\n }\n </TableCell>\n );\n })}\n </TableRow>\n);\n\n// Only the rows in view are rendered, positioned by absolute offset inside a\n// spacer sized to the full data set.\nconst VirtualisedBody: React.FC<{\n visibleItems: {\n items: Record<string, unknown>[];\n startIndex: number;\n offsetY: number;\n totalHeight: number;\n };\n rowHeight: number;\n containerHeight: number;\n onScroll: (event: React.UIEvent<HTMLDivElement>) => void;\n renderTableRow: (\n rowData: Record<string, unknown>,\n index: number,\n offsetY?: number,\n ) => React.ReactNode;\n}> = ({ visibleItems, rowHeight, containerHeight, onScroll, renderTableRow }) => (\n\n <Box\n onScroll={onScroll}\n style={{\n height: containerHeight,\n overflow: 'auto',\n position: 'relative' }}\n >\n <TableBody\n style={{\n height: visibleItems.totalHeight,\n position: 'relative' }}\n >\n {visibleItems.items.map((rowData, index) => \n renderTableRow(rowData, visibleItems.startIndex + index, visibleItems.offsetY + index * rowHeight)\n )}\n </TableBody>\n </Box>\n \n);\n\nconst PlainBody: React.FC<{\n data: TableBodyProps['data'];\n renderTableRow: (rowData: Record<string, unknown>, index: number) => React.ReactNode;\n}> = ({ data, renderTableRow }) => (\n\n <TableBody>\n {data.map((rowData, index) => renderTableRow(rowData, index))}\n </TableBody>\n);\n\n// Enhanced Table Body Component \nexport const EnhancedTableBody: React.FC<TableBodyProps> = React.memo(({\n data,\n columns,\n selectedRows = [],\n onRowClick,\n onRowFocus,\n onRowBlur,\n onSelectionChange,\n rowKeyExtractor,\n selectable,\n renderRow,\n renderCell,\n virtualScrolling,\n containerHeight,\n rowHeight,\n overscan = 5 }) => {\n const renderTableRow = useTableRowRenderer({\n columns,\n selectedRows,\n onRowClick,\n onRowFocus,\n onRowBlur,\n onSelectionChange,\n rowKeyExtractor,\n selectable,\n renderRow,\n renderCell,\n virtualScrolling,\n rowHeight });\n\n const { visibleItems, handleScroll } = useVirtualScrolling(\n data, \n rowHeight || 40, \n typeof containerHeight === 'number' ? containerHeight : 400, \n overscan\n );\n\n if (virtualScrolling && containerHeight && rowHeight) {\n return (\n <VirtualisedBody\n visibleItems={visibleItems}\n rowHeight={rowHeight}\n containerHeight={containerHeight}\n onScroll={handleScroll}\n renderTableRow={renderTableRow}\n />\n );\n }\n\n return (\n <PlainBody data={data} renderTableRow={renderTableRow} />\n );\n});\n\nEnhancedTableBody.displayName = 'EnhancedTableBody';\n\n// Main Table Component\n"],"mappings":"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","names":["useCallback","jsx","useCallback"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/Calendar/Calendar.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material/styles/index.js';\nimport Box from '@mui/material/Box/index.js';\nimport Paper from '@mui/material/Paper/index.js';\nimport React from 'react';\n\nimport { resolveCalendarProps } from './Calendar.helpers';\nimport { useCalendar } from './Calendar.hooks';\nimport type { CalendarProps } from './Calendar.types';\nimport type { DayCellContext } from './CalendarDayCell';\nimport { CalendarMonth } from './CalendarMonth';\n\nconst containerSx = (monthsToShow: number): SxProps<Theme> => ({\n p: 3,\n display: 'flex',\n flexDirection: monthsToShow > 1 ? 'row' : 'column',\n gap: 3,\n outline: 'none',\n '&:focus-within': {\n outline: '2px solid',\n outlineColor: 'primary.main',\n outlineOffset: 2,\n },\n});\n\nexport const Calendar = React.forwardRef<HTMLDivElement, CalendarProps>((componentProps, ref) => {\n const props = resolveCalendarProps(componentProps);\n const { monthsToShow, locale, renderHeader, renderFooter, className, ariaLabel } = props;\n\n const calendar = useCalendar(props);\n\n const dayContext: DayCellContext = {\n selectionMode: props.selectionMode,\n value: props.value,\n range: props.range,\n showOutsideDays: props.showOutsideDays,\n renderDay: props.renderDay,\n dayClassName: props.dayClassName,\n hoveredDate: calendar.hoveredDate,\n focusedDate: calendar.focusedDate,\n today: calendar.today,\n isDisabled: calendar.isDisabled,\n onSelect: calendar.handleDateClick,\n onHover: calendar.handleDateMouseEnter,\n onHoverEnd: calendar.handleDateMouseLeave,\n };\n\n return (\n <Paper\n ref={ref}\n className={className}\n role=\"application\"\n aria-label={ariaLabel}\n tabIndex={0}\n onKeyDown={calendar.handleKeyDown}\n data-testid=\"calendar-container\"\n sx={containerSx(monthsToShow)}\n >\n <Box ref={calendar.gridRef} sx={{ display: 'flex', gap: 3, flexWrap: 'wrap' }}>\n {calendar.monthMatrices.map((matrix, index) => (\n <CalendarMonth\n key={`month-${matrix.year}-${matrix.month}`}\n matrix={matrix}\n monthIndex={index}\n monthsToShow={monthsToShow}\n locale={locale}\n weekdayNames={calendar.weekdayNames}\n renderHeader={renderHeader}\n onPreviousMonth={calendar.goToPreviousMonth}\n onNextMonth={calendar.goToNextMonth}\n dayContext={dayContext}\n />\n ))}\n </Box>\n\n {renderFooter && (\n <Box sx={{ mt: 2, pt: 2, borderTop: 1, borderColor: 'divider' }}>{renderFooter}</Box>\n )}\n </Paper>\n );\n});\n\nCalendar.displayName = 'Calendar';\n\nexport default Calendar;\n"],"mappings":";;;;;;;;;;;AACA,OAAO,SAAS;AAChB,OAAO,WAAW;AAClB,OAAO,WAAW;AA4Cd,SAYM,KAZN;AApCJ,IAAM,cAAc,CAAC,kBAA0C;AAAA,EAC7D,GAAG;AAAA,EACH,SAAS;AAAA,EACT,eAAe,eAAe,IAAI,QAAQ;AAAA,EAC1C,KAAK;AAAA,EACL,SAAS;AAAA,EACT,kBAAkB;AAAA,IAChB,SAAS;AAAA,IACT,cAAc;AAAA,IACd,eAAe;AAAA,EACjB;AACF;AAEO,IAAM,WAAW,MAAM,WAA0C,CAAC,gBAAgB,QAAQ;AAC/F,QAAM,QAAQ,qBAAqB,cAAc;AACjD,QAAM,EAAE,cAAc,QAAQ,cAAc,cAAc,WAAW,UAAU,IAAI;AAEnF,QAAM,WAAW,YAAY,KAAK;AAElC,QAAM,aAA6B;AAAA,IACjC,eAAe,MAAM;AAAA,IACrB,OAAO,MAAM;AAAA,IACb,OAAO,MAAM;AAAA,IACb,iBAAiB,MAAM;AAAA,IACvB,WAAW,MAAM;AAAA,IACjB,cAAc,MAAM;AAAA,IACpB,aAAa,SAAS;AAAA,IACtB,aAAa,SAAS;AAAA,IACtB,OAAO,SAAS;AAAA,IAChB,YAAY,SAAS;AAAA,IACrB,UAAU,SAAS;AAAA,IACnB,SAAS,SAAS;AAAA,IAClB,YAAY,SAAS;AAAA,EACvB;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,MAAK;AAAA,MACL,cAAY;AAAA,MACZ,UAAU;AAAA,MACV,WAAW,SAAS;AAAA,MACpB,eAAY;AAAA,MACZ,IAAI,YAAY,YAAY;AAAA,MAE5B;AAAA,4BAAC,OAAI,KAAK,SAAS,SAAS,IAAI,EAAE,SAAS,QAAQ,KAAK,GAAG,UAAU,OAAO,GACzE,mBAAS,cAAc,IAAI,CAAC,QAAQ,UACnC;AAAA,UAAC;AAAA;AAAA,YAEC;AAAA,YACA,YAAY;AAAA,YACZ;AAAA,YACA;AAAA,YACA,cAAc,SAAS;AAAA,YACvB;AAAA,YACA,iBAAiB,SAAS;AAAA,YAC1B,aAAa,SAAS;AAAA,YACtB;AAAA;AAAA,UATK,SAAS,OAAO,IAAI,IAAI,OAAO,KAAK;AAAA,QAU3C,CACD,GACH;AAAA,QAEC,gBACC,oBAAC,OAAI,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,WAAW,GAAG,aAAa,UAAU,GAAI,wBAAa;AAAA;AAAA;AAAA,EAEnF;AAEJ,CAAC;AAED,SAAS,cAAc;AAEvB,IAAO,mBAAQ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/navigation/CommandPalette/CommandPalette.tsx"],"sourcesContent":["import CloseIcon from '@mui/icons-material/Close';\nimport EnterIcon from '@mui/icons-material/KeyboardReturn';\nimport SearchIcon from '@mui/icons-material/Search';\nimport Box from '@mui/material/Box/index.js';\nimport Dialog from '@mui/material/Dialog/index.js';\nimport DialogContent from '@mui/material/DialogContent/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport InputBase from '@mui/material/InputBase/index.js';\nimport Paper from '@mui/material/Paper/index.js';\nimport Slide from '@mui/material/Slide/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { alpha, styled, useTheme } from '@mui/material/styles/index.js';\nimport type { TransitionProps } from '@mui/material/transitions/index.js';\nimport type { FC} from 'react';\nimport React, { } from 'react';\n\nimport { useCommandPalette } from './CommandPalette.hooks';\nimport { PaletteResults } from './CommandPaletteResults';\nimport { ShortcutChip } from './ShortcutChip';\nimport type { CommandPaletteProps } from './CommandPalette.types';\nimport type { CommandPaletteCopy } from '../../../copy';\nimport { scrim } from '../../../tokens/ink';\nimport { rem, sxRem } from '../../../tokens/relative';\n\n// Styled components\nconst StyledDialog = styled(Dialog)(({ theme }) => ({\n '& .MuiBackdrop-root': {\n backgroundColor: scrim(theme, 0.6),\n backdropFilter: 'blur(4px)' },\n '& .MuiDialog-paper': {\n position: 'fixed',\n top: '20%',\n margin: 0,\n maxHeight: 'none',\n background: 'transparent',\n boxShadow: 'none',\n overflow: 'visible' } }));\n\nconst PaletteContainer = styled(Paper)(({ theme }) => ({\n width: '100%',\n maxWidth: 640,\n background: `linear-gradient(135deg, ${alpha(theme.palette.background.paper, 0.98)} 0%, ${alpha(theme.palette.background.paper, 0.95)} 100%)`,\n backdropFilter: 'blur(20px)',\n WebkitBackdropFilter: 'blur(20px)',\n border: `1px solid ${alpha(theme.palette.divider, 0.18)}`,\n borderRadius: theme.shape.borderRadius * 2,\n overflow: 'hidden',\n boxShadow: theme.shadows[24] }));\n\nconst SearchContainer = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n padding: theme.spacing(2),\n borderBottom: `1px solid ${alpha(theme.palette.divider, 0.12)}`,\n background: alpha(theme.palette.background.default, 0.4) }));\n\nconst SearchInput = styled(InputBase)(({ theme }) => ({\n flex: 1,\n fontSize: rem(theme, 18),\n fontWeight: 400,\n '& input': {\n padding: theme.spacing(0, 1),\n '&::placeholder': {\n color: theme.palette.text.secondary,\n opacity: 0.8 } } }));\n\nconst Transition = React.forwardRef<unknown, TransitionProps & { children: React.ReactElement }>(\n function Transition(props, ref) {\n return <Slide direction=\"down\" ref={ref} {...props} />;\n },\n);\n\n// Main component\nconst PaletteSearch: React.FC<{\n inputRef: React.Ref<HTMLInputElement>;\n placeholder?: string;\n value: string;\n dataTestId?: string;\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n onClose: () => void;\n}> = ({ inputRef, placeholder, value, dataTestId, onChange, onClose }) => (\n <SearchContainer>\n <SearchIcon sx={{ color: 'text.secondary', mr: 1 }} />\n <SearchInput\n ref={inputRef}\n placeholder={placeholder}\n value={value}\n onChange={onChange}\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck=\"false\"\n inputProps={{ 'data-testid': `${dataTestId}-input` }}\n />\n <IconButton size=\"small\" onClick={onClose} sx={{ ml: 1 }}>\n <CloseIcon fontSize=\"small\" />\n </IconButton>\n </SearchContainer>\n);\n\nconst PaletteFooter: React.FC<{ commandCount: number; copy: CommandPaletteCopy }> = ({\n commandCount,\n copy,\n}) => {\n const theme = useTheme();\n\n return (\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: 1,\n borderTop: `1px solid ${alpha(theme.palette.divider, 0.12)}`,\n background: alpha(theme.palette.background.default, 0.4) }}\n >\n <Box sx={{ display: 'flex', gap: 1 }}>\n <ShortcutChip\n icon={<EnterIcon sx={{ fontSize: sxRem(12) }} />}\n label={copy.execute}\n size=\"small\"\n />\n <ShortcutChip label={copy.navigate} size=\"small\" />\n <ShortcutChip label={copy.close} size=\"small\" />\n </Box>\n <Typography variant=\"caption\" color=\"text.secondary\">\n {commandCount} commands\n </Typography>\n </Box>\n );\n};\n\nexport const CommandPalette: FC<CommandPaletteProps> = ({\n copy,\n open,\n onClose,\n commands,\n placeholder = 'Type a command or search...',\n width = '640px',\n maxHeight = '400px',\n showRecent = true,\n recentCommands = [],\n onCommandExecute,\n dataTestId = 'command-palette' }) => {\n const {\n searchQuery,\n setSearchQuery,\n selectedIndex,\n setSelectedIndex,\n searchInputRef,\n listRef,\n filteredCommands,\n groupedCommands,\n executeCommand,\n recentCommandIds } = useCommandPalette({\n open,\n commands,\n showRecent,\n recentCommands,\n onCommandExecute,\n onClose });\n\n const handleSearchChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setSearchQuery(event.target.value);\n };\n\n return (\n <StyledDialog\n open={open}\n onClose={onClose}\n TransitionComponent={Transition}\n maxWidth={false}\n fullWidth\n data-testid={dataTestId}\n >\n <DialogContent sx={{ overflow: 'visible', p: 0 }}>\n <PaletteContainer elevation={24} sx={{ width, maxHeight }}>\n <PaletteSearch\n inputRef={searchInputRef}\n placeholder={placeholder}\n value={searchQuery}\n dataTestId={dataTestId}\n onChange={handleSearchChange}\n onClose={onClose}\n />\n\n <PaletteResults\n copy={copy}\n listRef={listRef}\n dataTestId={dataTestId}\n searchQuery={searchQuery}\n showRecent={showRecent}\n commands={commands}\n recentCommandIds={recentCommandIds}\n filteredCommands={filteredCommands}\n groupedCommands={groupedCommands}\n selectedIndex={selectedIndex}\n onSelect={setSelectedIndex}\n onExecute={executeCommand}\n />\n\n <PaletteFooter copy={copy} commandCount={filteredCommands.length} />\n </PaletteContainer>\n </DialogContent>\n </StyledDialog>\n );\n};\n\n// Export default\nexport default CommandPalette;\n"],"mappings":"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","names":["Transition"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/navigation/DropdownMenu/DropdownMenu.tsx"],"sourcesContent":["import ChevronRight from '@mui/icons-material/ChevronRight';\nimport MoreVert from '@mui/icons-material/MoreVert';\nimport Box from '@mui/material/Box/index.js';\nimport Divider from '@mui/material/Divider/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 Typography from '@mui/material/Typography/index.js';\nimport { alpha, styled } from '@mui/material/styles/index.js';\nimport type { CSSObject, Theme } from '@mui/material/styles/index.js';\nimport React, { cloneElement, isValidElement,useRef, useState } from 'react';\n\nimport type { DropdownMenuItem,DropdownMenuProps } from './DropdownMenu.types';\nimport { modeInk, shadowInk, sheen } from '../../../tokens/ink';\nimport { rem } from '../../../tokens/relative';\n\n// Resolves every light/dark decision once. The inline version repeated\n// `theme.palette.mode === 'dark' ? … : …` nine times, and two of those had the\n// SAME expression on both branches (background.paper, and common.white for the\n// inset highlight) — so they read as mode-dependent while never varying.\nconst glassTokens = (theme: Theme) => {\n const isDark = theme.palette.mode === 'dark';\n\n return {\n edge: modeInk(theme),\n dropShadowAlpha: isDark ? 0.4 : 0.12,\n insetHighlightAlpha: isDark ? 0.2 : 0.8,\n sheenAlpha: isDark ? 0.1 : 0.8,\n };\n};\n\nconst glassMenuStyles = (theme: Theme): CSSObject => {\n const { edge, dropShadowAlpha, insetHighlightAlpha, sheenAlpha } = glassTokens(theme);\n\n return {\n backgroundColor: alpha(theme.palette.background.paper, 0.75),\n backdropFilter: 'blur(24px) saturate(1.8)',\n WebkitBackdropFilter: 'blur(24px) saturate(1.8)', // Safari support\n border: `1px solid ${alpha(edge, 0.12)}`,\n boxShadow: [\n `0 8px 32px ${shadowInk(theme, dropShadowAlpha)}`,\n `0 0 0 1px ${alpha(edge, 0.05)}`,\n `inset 0 1px 0 ${sheen(theme, insetHighlightAlpha)}`,\n ].join(', '),\n // Enhanced glass morphism with subtle gradient overlay\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n background: `linear-gradient(135deg, ${sheen(theme, sheenAlpha)} 0%, transparent 50%)`,\n borderRadius: 'inherit',\n pointerEvents: 'none',\n zIndex: 1,\n },\n // Ensure content appears above the overlay\n '& .MuiList-root': {\n position: 'relative',\n zIndex: 2,\n },\n };\n};\n\nconst StyledMenu = styled(Menu, {\n shouldForwardProp: (prop) => prop !== 'customVariant' && prop !== 'size',\n})<{ customVariant?: string; size?: string }>(({ theme, customVariant, size }) => ({\n '& .MuiPaper-root': {\n minWidth: 180,\n borderRadius: theme.spacing(1),\n\n ...(customVariant === 'glass' && glassMenuStyles(theme)),\n\n ...(customVariant === 'minimal' && {\n boxShadow: `0 2px 8px ${shadowInk(theme, 0.08)}`,\n border: `1px solid ${theme.palette.divider}`,\n }),\n\n ...(size === 'sm' && {\n '& .MuiMenuItem-root': {\n fontSize: rem(theme, 14),\n minHeight: 32,\n padding: theme.spacing(0.75, 2),\n },\n }),\n\n ...(size === 'lg' && {\n '& .MuiMenuItem-root': {\n fontSize: rem(theme, 18),\n minHeight: 48,\n padding: theme.spacing(1.5, 3),\n },\n }),\n },\n}));\n\nconst StyledMenuItem = styled(MenuItem, {\n shouldForwardProp: (prop) => !['color', 'showIconSpace'].includes(prop as string),\n})<{ color?: string; showIconSpace?: boolean }>(({ theme, color, showIconSpace }) => ({\n borderRadius: theme.spacing(0.5),\n margin: theme.spacing(0.5, 1),\n transition: 'all 0.2s ease',\n\n ...(showIconSpace && {\n paddingLeft: theme.spacing(5),\n }),\n\n '&:hover': {\n backgroundColor: alpha(theme.palette.primary.main, 0.08),\n },\n\n ...(color &&\n color !== 'default' && {\n color:\n theme.palette[color as 'primary' | 'secondary' | 'error' | 'warning' | 'info' | 'success']\n ?.main || theme.palette.text.primary,\n '& .MuiListItemIcon-root': {\n color:\n theme.palette[color as 'primary' | 'secondary' | 'error' | 'warning' | 'info' | 'success']\n ?.main || theme.palette.text.primary,\n },\n '&:hover': {\n backgroundColor: alpha(\n theme.palette[color as 'primary' | 'secondary' | 'error' | 'warning' | 'info' | 'success']\n ?.main || theme.palette.primary.main,\n 0.08,\n ),\n },\n }),\n}));\n\nconst MenuHeader = styled(Typography)(({ theme }) => ({\n padding: theme.spacing(1, 2),\n fontSize: rem(theme, 12),\n fontWeight: 600,\n textTransform: 'uppercase',\n color: theme.palette.text.secondary,\n letterSpacing: 0.5,\n}));\n\nconst ShortcutText = styled(Typography)(({ theme }) => ({\n fontSize: rem(theme, 12),\n color: theme.palette.text.secondary,\n marginLeft: 'auto',\n paddingLeft: theme.spacing(2),\n}));\n\nconst renderMenuItem = (\n item: DropdownMenuItem,\n handleItemClick: (item: DropdownMenuItem) => void,\n showIconSpace?: boolean,\n size?: string,\n) => {\n if (item.type === 'divider') {\n return <Divider key={item.id} sx={{ my: 0.5 }} />;\n }\n\n if (item.type === 'header') {\n return <MenuHeader key={item.id}>{item.label}</MenuHeader>;\n }\n\n if (item.component) {\n return (\n <Box key={item.id} sx={{ px: 2, py: 1 }}>\n {item.component}\n </Box>\n );\n }\n\n return renderLeafMenuItem(item, handleItemClick, showIconSpace, size);\n};\n\nconst renderLeafMenuItem = (\n item: DropdownMenuItem,\n handleItemClick: (item: DropdownMenuItem) => void,\n showIconSpace?: boolean,\n size?: string,\n) => {\n const hasIcon = !!item.icon;\n const hasChildren = item.children && item.children.length > 0;\n\n return (\n <StyledMenuItem\n key={item.id}\n disabled={item.disabled}\n onClick={!item.disabled ? () => handleItemClick(item) : undefined} // ← change\n color={item.color}\n showIconSpace={showIconSpace && !hasIcon}\n data-testid={item.dataTestId}\n >\n {hasIcon && (\n <ListItemIcon sx={{ minWidth: size === 'sm' ? 32 : 40 }}>{item.icon}</ListItemIcon>\n )}\n <ListItemText primary={item.label} />\n {item.shortcut && <ShortcutText variant=\"caption\">{item.shortcut}</ShortcutText>}\n {hasChildren && item.showChevron !== false && (\n <ChevronRight fontSize=\"small\" sx={{ ml: 1, opacity: 0.5 }} />\n )}\n </StyledMenuItem>\n );\n};\n\n// Open state and anchor are each either caller-supplied or ours. Resolving both\n// here keeps those four branches out of the render body.\nconst resolveMenuState = (\n controlledOpen: boolean | undefined,\n internalOpen: boolean,\n providedAnchorEl: DropdownMenuProps['anchorEl'],\n anchorRef: React.RefObject<HTMLElement | null>,\n) => {\n const isControlled = controlledOpen !== undefined;\n const open = isControlled ? controlledOpen : internalOpen;\n const anchorEl = providedAnchorEl || anchorRef.current;\n\n return { isControlled, open, anchorEl, isOpen: Boolean(anchorEl) && open };\n};\n\n// Open/close state is either ours or the caller's; every handler has to respect\n// that, so they are grouped here rather than repeating the isControlled check\n// inline four times in the render.\nconst useDropdownHandlers = ({\n isControlled,\n open,\n setInternalOpen,\n onOpen,\n onClose,\n closeOnItemClick,\n anchorRef,\n}: {\n isControlled: boolean;\n open: boolean;\n setInternalOpen: (value: boolean) => void;\n onOpen?: () => void;\n onClose?: () => void;\n closeOnItemClick?: boolean;\n anchorRef: React.RefObject<HTMLElement | null>;\n}) => {\n const handleOpen = () => {\n if (!isControlled) {\n setInternalOpen(true);\n }\n onOpen?.();\n };\n\n const handleClose = () => {\n if (!isControlled) {\n setInternalOpen(false);\n }\n onClose?.();\n };\n\n const handleItemClick = (item: DropdownMenuItem) => {\n item.onClick?.();\n if (closeOnItemClick && !item.children?.length) {\n handleClose();\n }\n };\n\n const handleTriggerClick = (event: React.MouseEvent<HTMLElement>) => {\n if (isControlled) return;\n\n if (open) {\n handleClose();\n return;\n }\n\n (anchorRef as React.MutableRefObject<HTMLElement>).current = event.currentTarget;\n handleOpen();\n };\n\n return { handleClose, handleItemClick, handleTriggerClick };\n};\n\n// The trigger is either a caller-supplied element we clone to attach our click\n// handler and ref, arbitrary children we wrap, or the default kebab icon.\nconst DropdownTrigger: React.FC<{\n trigger: DropdownMenuProps['trigger'];\n anchorRef: React.RefObject<HTMLElement | null>;\n onTriggerClick: (event: React.MouseEvent<HTMLElement>) => void;\n}> = ({ trigger, anchorRef, onTriggerClick }) => {\n if (isValidElement(trigger)) {\n return cloneElement(\n trigger as React.ReactElement<{\n onClick?: (event: React.MouseEvent<HTMLElement>) => void;\n ref?: React.Ref<HTMLElement>;\n }>,\n { onClick: onTriggerClick, ref: anchorRef },\n );\n }\n\n if (trigger) {\n return (\n <Box ref={anchorRef} onClick={onTriggerClick}>\n {trigger}\n </Box>\n );\n }\n\n return (\n <Box\n ref={anchorRef}\n onClick={onTriggerClick}\n sx={{ cursor: 'pointer', display: 'inline-flex' }}\n >\n <MoreVert />\n </Box>\n );\n};\n\nexport const DropdownMenu = React.forwardRef<HTMLDivElement, DropdownMenuProps>(\n (\n {\n variant = 'default',\n items,\n trigger,\n open: controlledOpen,\n onOpen,\n onClose,\n size = 'md',\n maxHeight = 400,\n minWidth = 180,\n closeOnItemClick = true,\n showIconSpace = false,\n anchorEl: providedAnchorEl,\n ...menuProps\n },\n ref,\n ) => {\n const [internalOpen, setInternalOpen] = useState(false);\n const anchorRef = useRef<HTMLElement>(null);\n\n const { isControlled, open, anchorEl, isOpen } = resolveMenuState(\n controlledOpen,\n internalOpen,\n providedAnchorEl,\n anchorRef,\n );\n\n const { handleClose, handleItemClick, handleTriggerClick } = useDropdownHandlers({\n isControlled,\n open,\n setInternalOpen,\n onOpen,\n onClose,\n closeOnItemClick,\n anchorRef,\n });\n\n const triggerElement = (\n <DropdownTrigger trigger={trigger} anchorRef={anchorRef} onTriggerClick={handleTriggerClick} />\n );\n\n return (\n <>\n {trigger !== undefined && triggerElement}\n <StyledMenu\n ref={ref}\n anchorEl={anchorEl}\n open={isOpen}\n onClose={handleClose}\n customVariant={variant}\n size={size}\n PaperProps={{\n sx: {\n maxHeight,\n minWidth,\n overflow: 'auto',\n },\n }}\n transformOrigin={{ horizontal: 'left', vertical: 'top' }}\n anchorOrigin={{ horizontal: 'left', vertical: 'bottom' }}\n {...menuProps}\n >\n {items.map((item) => renderMenuItem(item, handleItemClick, showIconSpace, size))}\n </StyledMenu>\n </>\n );\n },\n);\n\nDropdownMenu.displayName = 'DropdownMenu';\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/layout/SettingsLayout/SettingsLayout.tsx"],"sourcesContent":["'use client';\n\nimport Box from '@mui/material/Box/index.js';\nimport type { Theme } from '@mui/material/styles/index.js';\nimport React, { useMemo, useState } from 'react';\n\nimport { withDefaults } from '../../../utils/withDefaults';\nimport { activeItemLabel, filterGroups } from './SettingsLayout.filters';\nimport { SettingsRail } from './SettingsLayout.rail';\nimport { atLeastRail } from './SettingsLayout.styles';\nimport { SettingsPanel } from './SettingsPanel';\nimport type { SettingsLayoutProps } from './SettingsLayout.types';\n\n/**\n * The props with every default already applied.\n *\n * A table through `withDefaults` rather than a `= default` per destructured\n * prop: each of those is a branch, and seven of them put the component over the\n * complexity bar before it renders anything. The single cast is what buys the\n * body non-optional values — without it every use site would restate the\n * default as a `??`, which is the same default written twice and free to drift.\n */\ntype ResolvedProps = SettingsLayoutProps &\n Required<\n Pick<\n SettingsLayoutProps,\n | 'searchPlaceholder'\n | 'defaultQuery'\n | 'emptySearchLabel'\n | 'testIdPrefix'\n | 'railBreakpoint'\n | 'navVariant'\n | 'atIndex'\n | 'backLabel'\n >\n >;\n\nconst DEFAULTS = {\n searchPlaceholder: 'Search settings',\n defaultQuery: '',\n emptySearchLabel: 'No settings match your search.',\n testIdPrefix: 'settings',\n railBreakpoint: 'md',\n navVariant: 'switcher',\n atIndex: false,\n backLabel: 'Back',\n} satisfies Partial<SettingsLayoutProps>;\n\n/** Stacked below the rail's breakpoint, two columns at and above it. */\nfunction shellSx(breakpoint: SettingsLayoutProps['railBreakpoint'], fillHeight: boolean) {\n return (theme: Theme) => ({\n display: 'flex',\n flexDirection: 'column' as const,\n alignItems: 'stretch',\n gap: 1.5,\n width: '100%',\n minWidth: 0,\n // Only ever at the wide shape. Narrow, the rail is a disclosure or the page\n // itself, and two independent scrollbars on a phone is a trap rather than a\n // convenience.\n [atLeastRail(theme, breakpoint ?? 'md')]: {\n flexDirection: 'row',\n gap: 3,\n ...(fillHeight ? { height: '100%', minHeight: 0 } : {}),\n },\n });\n}\n\n/**\n * A reusable, agnostic Facebook-style settings shell: a searchable left rail of\n * grouped categories/subcategories and a central panel that renders the selected\n * configuration screen (`children`). Navigation is data-driven via `groups`; the\n * host owns routing (pass `linkComponent` + item `href`, or handle `onSelectItem`).\n *\n * ## Two narrow-width shapes\n *\n * `navVariant=\"switcher\"` (the default) folds the rail into a disclosure above\n * the panel. `navVariant=\"drilldown\"` gives the phone shape instead: at the\n * area's index the LIST is the page, and inside a section the panel is the page\n * with a back link and a scrollable strip of sibling sections above it.\n *\n * ## Why the width decision is CSS and not JavaScript\n *\n * Every part that changes between the two shapes does it through a `display`\n * pair keyed on `railBreakpoint`. Nothing here asks a media query in JS and\n * renders one branch.\n *\n * That is not a performance preference. A layout that RENDERS one navigation and\n * not the other can offer the narrow width less than the wide one, and no test\n * or review catches it — the missing control simply is not in the tree to be\n * asserted about. With both forms always mounted, \"the narrow width reaches\n * everything the wide one does\" holds by construction, and an audit that counts\n * controls per width gets the same answer at both.\n */\nexport const SettingsLayout: React.FC<SettingsLayoutProps> = (props) => {\n const {\n title,\n groups,\n activeItemId,\n onSelectItem,\n searchPlaceholder,\n defaultQuery,\n emptySearchLabel,\n emptySearchAction,\n linkComponent,\n children,\n testIdPrefix,\n railBreakpoint,\n fillHeight = false,\n navVariant,\n atIndex,\n indexHref,\n backLabel,\n sectionChips,\n } = withDefaults(props, DEFAULTS) as ResolvedProps;\n const [query, setQuery] = useState(defaultQuery);\n const [navOpen, setNavOpen] = useState(false);\n const filteredGroups = useMemo(() => filterGroups(groups, query), [groups, query]);\n const activeLabel = useMemo(() => activeItemLabel(groups, activeItemId), [groups, activeItemId]);\n\n const drilldown = navVariant === 'drilldown';\n const ariaLabel = typeof title === 'string' ? title : 'Settings';\n\n return (\n <Box\n data-testid={testIdPrefix}\n data-nav-variant={navVariant}\n data-at-index={atIndex ? 'true' : 'false'}\n sx={shellSx(railBreakpoint, fillHeight)}\n >\n <SettingsRail\n title={title}\n activeLabel={activeLabel}\n navOpen={navOpen}\n onToggleNav={() => setNavOpen((open) => !open)}\n query={query}\n onQueryChange={setQuery}\n searchPlaceholder={searchPlaceholder}\n emptySearchLabel={emptySearchLabel}\n emptySearchAction={emptySearchAction}\n filteredGroups={filteredGroups}\n activeItemId={activeItemId}\n linkComponent={linkComponent}\n onSelectItem={onSelectItem}\n onNavigate={() => setNavOpen(false)}\n testIdPrefix={testIdPrefix}\n variant={navVariant}\n breakpoint={railBreakpoint}\n atIndex={atIndex}\n fillHeight={fillHeight}\n />\n\n <SettingsPanel\n inSection={drilldown && !atIndex}\n hideOnNarrow={drilldown && atIndex}\n breakpoint={railBreakpoint}\n indexHref={indexHref}\n sectionTitle={props.sectionTitle}\n sectionDescription={props.sectionDescription}\n backLabel={backLabel}\n ariaLabel={ariaLabel}\n sectionChips={sectionChips}\n activeItemId={activeItemId}\n linkComponent={linkComponent}\n onSelectItem={onSelectItem}\n testIdPrefix={testIdPrefix}\n fillHeight={fillHeight}\n >\n {children}\n </SettingsPanel>\n </Box>\n );\n};\n\nSettingsLayout.displayName = 'SettingsLayout';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAEA,OAAO,SAAS;AAEhB,SAAgB,SAAS,gBAAgB;AAwHrC,SAME,KANF;AAvFJ,IAAM,WAAW;AAAA,EACf,mBAAmB;AAAA,EACnB,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,WAAW;AACb;AAGA,SAAS,QAAQ,YAAmD,YAAqB;AACvF,SAAO,CAAC,WAAkB;AAAA,IACxB,SAAS;AAAA,IACT,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,KAAK;AAAA,IACL,OAAO;AAAA,IACP,UAAU;AAAA;AAAA;AAAA;AAAA,IAIV,CAAC,YAAY,OAAO,cAAc,IAAI,CAAC,GAAG;AAAA,MACxC,eAAe;AAAA,MACf,KAAK;AAAA,MACL,GAAI,aAAa,EAAE,QAAQ,QAAQ,WAAW,EAAE,IAAI,CAAC;AAAA,IACvD;AAAA,EACF;AACF;AA4BO,IAAM,iBAAgD,CAAC,UAAU;AACtE,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,aAAa;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,aAAa,OAAO,QAAQ;AAChC,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAS,YAAY;AAC/C,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAC5C,QAAM,iBAAiB,QAAQ,MAAM,aAAa,QAAQ,KAAK,GAAG,CAAC,QAAQ,KAAK,CAAC;AACjF,QAAM,cAAc,QAAQ,MAAM,gBAAgB,QAAQ,YAAY,GAAG,CAAC,QAAQ,YAAY,CAAC;AAE/F,QAAM,YAAY,eAAe;AACjC,QAAM,YAAY,OAAO,UAAU,WAAW,QAAQ;AAEtD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAa;AAAA,MACb,oBAAkB;AAAA,MAClB,iBAAe,UAAU,SAAS;AAAA,MAClC,IAAI,QAAQ,gBAAgB,UAAU;AAAA,MAEtC;AAAA;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA,aAAa,MAAM,WAAW,CAAC,SAAS,CAAC,IAAI;AAAA,YAC7C;AAAA,YACA,eAAe;AAAA,YACf;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,YAAY,MAAM,WAAW,KAAK;AAAA,YAClC;AAAA,YACA,SAAS;AAAA,YACT,YAAY;AAAA,YACZ;AAAA,YACA;AAAA;AAAA,QACF;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACC,WAAW,aAAa,CAAC;AAAA,YACzB,cAAc,aAAa;AAAA,YAC3B,YAAY;AAAA,YACZ;AAAA,YACA,cAAc,MAAM;AAAA,YACpB,oBAAoB,MAAM;AAAA,YAC1B;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YAEC;AAAA;AAAA,QACH;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,eAAe,cAAc;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/typography/Text/Text.tsx"],"sourcesContent":["'use client';\n\nimport type { CSSObject, Theme } from '@mui/material/styles/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 {\n CAPTION_FONT_SIZE,\n CAPTION_LETTER_SPACING_EM,\n CAPTION_OPACITY,\n CODE_BACKGROUND_ALPHA,\n CODE_BORDER_ALPHA,\n CODE_FONT_SIZE,\n CODE_PADDING,\n CODE_RADIUS_FACTOR,\n HEADING_DEFAULT_WEIGHT,\n HEADING_LETTER_SPACING_EM,\n TEXT_SIZES,\n TEXT_WEIGHTS,\n} from './Text.metrics';\nimport type { TextProps } from './Text.types';\nimport { resolveTestId, withoutTestIdProps } from '../../../platform/test-id';\nimport type { ColorValue } from '../../../tokens/scales';\nimport { rem } from '../../../tokens/relative';\nimport type { UiTypeStep } from '../../../tokens/theme';\n\nconst getColorFromTheme = (theme: Theme, color: ColorValue): string => {\n if (color === 'neutral') {\n return theme.palette.text.primary;\n }\n\n if (color === 'secondary') {\n return theme.palette.text.secondary;\n }\n\n // Exhaustive over ColorValue on purpose. It was a partial `Record<string, …>`\n // with a silent `|| text.primary` fallback, so `info` — accepted by the type\n // — rendered as ordinary body text. Typing the key means a colour added to\n // the vocabulary cannot reach here without a home.\n const colorMap: Record<Exclude<ColorValue, 'neutral' | 'secondary'>, string> = {\n primary: theme.palette.primary.main,\n success: theme.palette.success.main,\n warning: theme.palette.warning.main,\n info: theme.palette.info.main,\n danger: theme.palette.error.main,\n };\n\n return colorMap[color];\n};\n\n// Derived from the shared metrics, not restated: the native `Text` reads the\n// same table, so the two renderers cannot disagree on a size.\n// The table keeps the design px; the size is converted where it is read.\nconst SIZE_MAP: Readonly<Record<string, UiTypeStep | undefined>> = TEXT_SIZES;\n\nconst fontSizeFor = (theme: Theme, customSize: string | undefined): string | undefined => {\n const drawnAt = SIZE_MAP[customSize ?? 'md']?.fontSize;\n return drawnAt === undefined ? undefined : rem(theme, drawnAt);\n};\n\nconst WEIGHT_MAP: Record<string, number> = TEXT_WEIGHTS;\n\ninterface TextStyleArgs {\n theme: Theme;\n customVariant?: string;\n customColor?: ColorValue;\n customSize?: string;\n customWeight?: string;\n italic?: boolean;\n underline?: boolean;\n strikethrough?: boolean;\n}\n\n// underline and strikethrough combine into one declaration rather than one\n// winning over the other.\nconst decorationFor = (underline?: boolean, strikethrough?: boolean): string =>\n [underline && 'underline', strikethrough && 'line-through'].filter(Boolean).join(' ') || 'none';\n\nconst baseTextStyles = (theme: Theme, a: TextStyleArgs): CSSObject => ({\n color: getColorFromTheme(theme, a.customColor ?? 'neutral'),\n fontSize: fontSizeFor(theme, a.customSize),\n lineHeight: SIZE_MAP[a.customSize ?? 'md']?.lineHeight,\n fontWeight: WEIGHT_MAP[a.customWeight ?? 'normal'],\n fontStyle: a.italic ? 'italic' : 'normal',\n textDecoration: decorationFor(a.underline, a.strikethrough),\n transition: 'all 0.2s ease',\n});\n\n// Captions and code shrink relative to the body scale, but only at the default\n// size — an explicit size wins.\nconst sizeOverride = (\n theme: Theme,\n customSize: string | undefined,\n atDefault: number,\n): string | undefined =>\n (customSize ?? 'md') === 'md' ? rem(theme, atDefault) : fontSizeFor(theme, customSize);\n\nconst textVariantStyles = (theme: Theme, a: TextStyleArgs, base: CSSObject): CSSObject => {\n const weight = a.customWeight ?? 'normal';\n\n switch (a.customVariant) {\n case 'heading':\n return {\n ...base,\n fontFamily: theme.typography.h4.fontFamily,\n fontWeight: weight === 'normal' ? HEADING_DEFAULT_WEIGHT : WEIGHT_MAP[weight],\n letterSpacing: `${HEADING_LETTER_SPACING_EM}em`,\n };\n case 'caption':\n return {\n ...base,\n fontSize: sizeOverride(theme, a.customSize, CAPTION_FONT_SIZE),\n opacity: CAPTION_OPACITY,\n letterSpacing: `${CAPTION_LETTER_SPACING_EM}em`,\n };\n case 'code':\n return {\n ...base,\n fontFamily: 'Monaco, Menlo, \"Ubuntu Mono\", \"Courier New\", monospace',\n fontSize: sizeOverride(theme, a.customSize, CODE_FONT_SIZE),\n backgroundColor: alpha(theme.palette.primary.main, CODE_BACKGROUND_ALPHA),\n padding: `${CODE_PADDING.vertical}px ${CODE_PADDING.horizontal}px`,\n borderRadius: theme.shape.borderRadius * CODE_RADIUS_FACTOR,\n border: `1px solid ${alpha(theme.palette.primary.main, CODE_BORDER_ALPHA)}`,\n };\n default:\n return { ...base, fontFamily: theme.typography.body1.fontFamily };\n }\n};\n\nconst StyledText = styled(Typography, {\n shouldForwardProp: (prop) =>\n ![\n 'customVariant',\n 'customColor',\n 'customSize',\n 'customWeight',\n 'italic',\n 'underline',\n 'strikethrough',\n ].includes(prop as string),\n})<{\n customVariant?: string;\n customColor?: ColorValue;\n customSize?: string;\n customWeight?: string;\n italic?: boolean;\n underline?: boolean;\n strikethrough?: boolean;\n}>((args) => {\n const { theme } = args;\n return textVariantStyles(theme, args, baseTextStyles(theme, args));\n});\n\nexport const Text = React.forwardRef<HTMLElement, TextProps>(\n (\n {\n variant = 'body',\n color = 'neutral',\n size = 'md',\n weight = 'normal',\n as = 'span',\n italic = false,\n underline = false,\n strikethrough = false,\n children,\n ...others\n },\n ref,\n ) => {\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 testId = resolveTestId(others);\n const props = withoutTestIdProps(others);\n return (\n <StyledText\n ref={ref}\n data-testid={testId}\n customVariant={variant}\n customColor={color}\n customSize={size}\n customWeight={weight}\n italic={italic}\n underline={underline}\n strikethrough={strikethrough}\n {...(as && { as })}\n {...props}\n >\n {children}\n </StyledText>\n );\n },\n);\n\nText.displayName = 'Text';"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/layout/Collapsible/Collapsible.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport Collapse from '@mui/material/Collapse/index.js';\nimport { useTheme } from '@mui/material/styles/index.js';\nimport React, { useCallback,useEffect, useRef, useState } from 'react';\n\nimport {\n dimmedStyles,\n regionAttrs,\n transitionSettings,\n triggerStyles,\n} from './Collapsible.helpers';\nimport type { CollapsibleContentProps,CollapsibleProps, CollapsibleTriggerProps } from './Collapsible.types';\n\n/**\n * The smooth and spring variants animate an explicit pixel height, so the content\n * has to be measured after every render that could have changed it.\n */\nconst useMeasuredHeight = (\n open: boolean,\n maxHeight: number | undefined,\n children: React.ReactNode,\n) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const [height, setHeight] = useState<number | 'auto'>('auto');\n\n const measureHeight = useCallback(() => {\n if (contentRef.current) {\n const scrollHeight = contentRef.current.scrollHeight;\n // Cap at maxHeight if provided\n setHeight(maxHeight ? Math.min(scrollHeight, maxHeight) : scrollHeight);\n }\n }, [maxHeight]);\n\n useEffect(() => {\n if (!open) {\n setHeight(0);\n } else if (contentRef.current) {\n measureHeight();\n }\n }, [open, measureHeight, children]);\n\n return { contentRef, height };\n};\n\ntype VariantProps = Omit<CollapsibleProps, 'variant' | 'onToggle'> & {\n duration: number;\n disabled: boolean;\n keepMounted: boolean;\n transition: { duration: number; easing: string };\n};\n\n// Use MUI's built-in Collapse for the default variant.\nconst DefaultCollapsible: React.FC<VariantProps> = ({\n children,\n open,\n duration,\n disabled,\n keepMounted,\n maxHeight,\n sx,\n className,\n dataTestId,\n transition: _transition,\n easing: _easing,\n ...otherProps\n}) => (\n <Collapse\n in={open && !disabled}\n timeout={disabled ? 0 : duration}\n sx={{\n ...dimmedStyles(disabled),\n ...(maxHeight && { maxHeight, overflow: 'hidden' }),\n ...sx,\n }}\n className={className}\n unmountOnExit={!keepMounted}\n {...regionAttrs({ open, disabled, dataTestId })}\n {...otherProps}\n >\n <Box>{children}</Box>\n </Collapse>\n);\n\nconst AnimatedCollapsible: React.FC<VariantProps> = ({\n children,\n open,\n disabled,\n keepMounted,\n maxHeight,\n transition,\n sx,\n className,\n dataTestId,\n duration: _duration,\n easing: _easing,\n ...otherProps\n}) => {\n const { contentRef, height } = useMeasuredHeight(open, maxHeight, children);\n\n return (\n <Box\n component=\"div\"\n sx={{\n overflow: 'hidden',\n height: open && !disabled ? height : 0,\n transition: disabled ? 'none' : `height ${transition.duration}ms ${transition.easing}`,\n willChange: disabled ? 'auto' : 'height',\n ...dimmedStyles(disabled),\n ...sx,\n }}\n className={className}\n {...regionAttrs({ open, disabled, dataTestId })}\n {...otherProps}\n >\n <Box ref={contentRef}>{(keepMounted || (open && !disabled)) && children}</Box>\n </Box>\n );\n};\n\nexport const Collapsible: React.FC<CollapsibleProps> = ({\n variant = 'default',\n duration = 300,\n easing,\n onToggle,\n disabled = false,\n keepMounted = false,\n ...rest\n}) => {\n const theme = useTheme();\n const { open } = rest;\n\n // Trigger onToggle callback when open state changes\n useEffect(() => {\n if (onToggle && !disabled) {\n onToggle(open);\n }\n }, [open, onToggle, disabled]);\n\n const variantProps: VariantProps = {\n ...rest,\n duration,\n easing,\n disabled,\n keepMounted,\n transition: transitionSettings(theme, variant, duration, easing),\n };\n\n return variant === 'default' ? (\n <DefaultCollapsible {...variantProps} />\n ) : (\n <AnimatedCollapsible {...variantProps} />\n );\n};\n\nexport const CollapsibleTrigger: React.FC<CollapsibleTriggerProps> = ({\n children,\n onClick,\n disabled = false,\n expanded = false,\n className,\n dataTestId,\n ...otherProps\n}) => {\n const theme = useTheme();\n\n return (\n <Box\n component=\"button\"\n onClick={disabled ? undefined : onClick}\n disabled={disabled}\n className={className}\n data-testid={dataTestId}\n aria-expanded={expanded}\n aria-disabled={disabled}\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n data-state={expanded ? 'open' : 'closed'}\n sx={triggerStyles(theme, { disabled, expanded })}\n {...otherProps}\n >\n {children}\n </Box>\n );\n};\n\nexport const CollapsibleContent: React.FC<CollapsibleContentProps> = ({\n children,\n className,\n ...otherProps\n}) => {\n const theme = useTheme();\n\n return (\n <Box\n className={className}\n sx={{\n padding: theme.spacing(2),\n }}\n {...otherProps}\n >\n {children}\n </Box>\n );\n};\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/form/Calendar/CalendarDay.tsx"],"sourcesContent":["import type { SxProps, Theme } from '@mui/material/styles/index.js';\nimport Box from '@mui/material/Box/index.js';\nimport type { FC } from 'react';\nimport React from 'react';\n\nimport type { DayRenderArgs } from './Calendar.types';\n\nconst CELL_SIZE = 40;\n\ninterface DayState extends DayRenderArgs {\n outside: boolean;\n focused: boolean;\n}\n\n// Order matters: these land on the element in the order listed.\nconst CLASS_FLAGS: Array<[keyof DayState, string]> = [\n ['selected', 'selected'],\n ['inRange', 'in-range'],\n ['rangeStart', 'range-start'],\n ['rangeEnd', 'range-end'],\n ['disabled', 'disabled'],\n ['today', 'today'],\n ['outside', 'outside'],\n ['hovered', 'hovered'],\n ['focused', 'focused'],\n];\n\nconst dayClassNames = (state: DayState, custom?: string): string =>\n [\n 'calendar-day',\n ...CLASS_FLAGS.filter(([flag]) => state[flag]).map(([, name]) => name),\n ...(custom ? [custom] : []),\n ].join(' ');\n\nconst isEndpoint = (day: DayRenderArgs): boolean =>\n day.selected || day.rangeStart || day.rangeEnd;\n\nconst backgroundFor = (day: DayRenderArgs): string => {\n if (isEndpoint(day)) return 'primary.main';\n if (day.inRange || day.hovered) return 'primary.light';\n return 'transparent';\n};\n\nconst colorFor = (day: DayRenderArgs, visible: boolean): string => {\n if (isEndpoint(day)) return 'primary.contrastText';\n if (day.disabled) return 'text.disabled';\n // Outside days that are switched off still occupy the grid, they just have\n // nothing to show.\n if (!visible) return 'transparent';\n return 'text.primary';\n};\n\nconst hoverBackgroundFor = (day: DayRenderArgs): string | undefined => {\n if (day.disabled) return undefined;\n return day.selected ? 'primary.dark' : 'action.hover';\n};\n\nconst dayCellSx = (day: DayRenderArgs, visible: boolean): SxProps<Theme> => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: CELL_SIZE,\n height: CELL_SIZE,\n border: 'none',\n borderRadius: 1,\n cursor: day.disabled ? 'not-allowed' : 'pointer',\n backgroundColor: backgroundFor(day),\n color: colorFor(day, visible),\n opacity: !day.inCurrentMonth && visible ? 0.5 : 1,\n fontWeight: day.today ? 'bold' : 'normal',\n '&:hover': {\n backgroundColor: hoverBackgroundFor(day),\n },\n '&:focus': {\n outline: '2px solid',\n outlineColor: 'primary.main',\n outlineOffset: 1,\n },\n});\n\nexport interface CalendarDayProps {\n day: DayRenderArgs;\n focused: boolean;\n showOutsideDays: boolean;\n dayClassName?: (args: DayRenderArgs) => string;\n onSelect: (date: Date) => void;\n onHover: (date: Date) => void;\n onHoverEnd: () => void;\n}\n\nexport const CalendarDay: FC<CalendarDayProps> = ({\n day,\n focused,\n showOutsideDays,\n dayClassName,\n onSelect,\n onHover,\n onHoverEnd,\n}) => {\n const visible = day.inCurrentMonth || showOutsideDays;\n const state: DayState = { ...day, outside: !day.inCurrentMonth, focused };\n\n return (\n <Box\n component=\"button\"\n role=\"gridcell\"\n tabIndex={focused ? 0 : -1}\n aria-selected={day.selected}\n aria-disabled={day.disabled}\n aria-current={day.today ? 'date' : undefined}\n className={dayClassNames(state, dayClassName?.(day))}\n data-testid={`calendar-date-${day.date.getDate()}`}\n onClick={() => onSelect(day.date)}\n onMouseEnter={() => onHover(day.date)}\n onMouseLeave={onHoverEnd}\n sx={dayCellSx(day, visible)}\n >\n {day.selected && (\n <Box component=\"span\" data-testid=\"calendar-selected-date\" sx={{ display: 'none' }} />\n )}\n {day.today && (\n <Box component=\"span\" data-testid=\"calendar-today\" sx={{ display: 'none' }} />\n )}\n {visible ? day.date.getDate() : ''}\n </Box>\n );\n};\n"],"mappings":";AACA,OAAO,SAAS;AAsGZ,SAeI,KAfJ;AAhGJ,IAAM,YAAY;AAQlB,IAAM,cAA+C;AAAA,EACnD,CAAC,YAAY,UAAU;AAAA,EACvB,CAAC,WAAW,UAAU;AAAA,EACtB,CAAC,cAAc,aAAa;AAAA,EAC5B,CAAC,YAAY,WAAW;AAAA,EACxB,CAAC,YAAY,UAAU;AAAA,EACvB,CAAC,SAAS,OAAO;AAAA,EACjB,CAAC,WAAW,SAAS;AAAA,EACrB,CAAC,WAAW,SAAS;AAAA,EACrB,CAAC,WAAW,SAAS;AACvB;AAEA,IAAM,gBAAgB,CAAC,OAAiB,WACtC;AAAA,EACE;AAAA,EACA,GAAG,YAAY,OAAO,CAAC,CAAC,IAAI,MAAM,MAAM,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,MAAM,IAAI;AAAA,EACrE,GAAI,SAAS,CAAC,MAAM,IAAI,CAAC;AAC3B,EAAE,KAAK,GAAG;AAEZ,IAAM,aAAa,CAAC,QAClB,IAAI,YAAY,IAAI,cAAc,IAAI;AAExC,IAAM,gBAAgB,CAAC,QAA+B;AACpD,MAAI,WAAW,GAAG,EAAG,QAAO;AAC5B,MAAI,IAAI,WAAW,IAAI,QAAS,QAAO;AACvC,SAAO;AACT;AAEA,IAAM,WAAW,CAAC,KAAoB,YAA6B;AACjE,MAAI,WAAW,GAAG,EAAG,QAAO;AAC5B,MAAI,IAAI,SAAU,QAAO;AAGzB,MAAI,CAAC,QAAS,QAAO;AACrB,SAAO;AACT;AAEA,IAAM,qBAAqB,CAAC,QAA2C;AACrE,MAAI,IAAI,SAAU,QAAO;AACzB,SAAO,IAAI,WAAW,iBAAiB;AACzC;AAEA,IAAM,YAAY,CAAC,KAAoB,aAAsC;AAAA,EAC3E,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,QAAQ,IAAI,WAAW,gBAAgB;AAAA,EACvC,iBAAiB,cAAc,GAAG;AAAA,EAClC,OAAO,SAAS,KAAK,OAAO;AAAA,EAC5B,SAAS,CAAC,IAAI,kBAAkB,UAAU,MAAM;AAAA,EAChD,YAAY,IAAI,QAAQ,SAAS;AAAA,EACjC,WAAW;AAAA,IACT,iBAAiB,mBAAmB,GAAG;AAAA,EACzC;AAAA,EACA,WAAW;AAAA,IACT,SAAS;AAAA,IACT,cAAc;AAAA,IACd,eAAe;AAAA,EACjB;AACF;AAYO,IAAM,cAAoC,CAAC;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,UAAU,IAAI,kBAAkB;AACtC,QAAM,QAAkB,EAAE,GAAG,KAAK,SAAS,CAAC,IAAI,gBAAgB,QAAQ;AAExE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,MAAK;AAAA,MACL,UAAU,UAAU,IAAI;AAAA,MACxB,iBAAe,IAAI;AAAA,MACnB,iBAAe,IAAI;AAAA,MACnB,gBAAc,IAAI,QAAQ,SAAS;AAAA,MACnC,WAAW,cAAc,OAAO,eAAe,GAAG,CAAC;AAAA,MACnD,eAAa,iBAAiB,IAAI,KAAK,QAAQ,CAAC;AAAA,MAChD,SAAS,MAAM,SAAS,IAAI,IAAI;AAAA,MAChC,cAAc,MAAM,QAAQ,IAAI,IAAI;AAAA,MACpC,cAAc;AAAA,MACd,IAAI,UAAU,KAAK,OAAO;AAAA,MAEzB;AAAA,YAAI,YACH,oBAAC,OAAI,WAAU,QAAO,eAAY,0BAAyB,IAAI,EAAE,SAAS,OAAO,GAAG;AAAA,QAErF,IAAI,SACH,oBAAC,OAAI,WAAU,QAAO,eAAY,kBAAiB,IAAI,EAAE,SAAS,OAAO,GAAG;AAAA,QAE7E,UAAU,IAAI,KAAK,QAAQ,IAAI;AAAA;AAAA;AAAA,EAClC;AAEJ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/navigation/Pagination/Pagination.tsx"],"sourcesContent":["import FirstPage from '@mui/icons-material/FirstPage';\nimport LastPage from '@mui/icons-material/LastPage';\nimport NavigateBefore from '@mui/icons-material/NavigateBefore';\nimport NavigateNext from '@mui/icons-material/NavigateNext';\nimport type { PaginationRenderItemParams } from '@mui/material/Pagination/index.js';\nimport Box from '@mui/material/Box/index.js';\nimport MuiPagination from '@mui/material/Pagination/index.js';\nimport PaginationItem from '@mui/material/PaginationItem/index.js';\nimport { styled } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport type { ResolvedPaginationProps } from './Pagination.helpers';\nimport { makeTestId, muiSizeFor, resolvePaginationProps } from './Pagination.helpers';\nimport { paginationStyles } from './Pagination.styles';\nimport type { PaginationProps } from './Pagination.types';\nimport { ItemsPerPageSelect, PageInfo } from './PaginationParts';\n\nconst StyledPagination = styled(MuiPagination, {\n shouldForwardProp: (prop) => !['customVariant', 'customSize'].includes(prop as string) })<{ customVariant?: string; customSize?: string }>(({ theme, customVariant, customSize }) => ({\n ...paginationStyles({ theme, customVariant, customSize }) }));\n\nconst PaginationContainer = styled(Box)(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexWrap: 'wrap',\n gap: theme.spacing(1) }));\n\n// Arrow items get a short suffix, pages carry their number. This was two\n// parallel switch statements that differed only in whether the prefix came from\n// dataTestId or the literal 'pagination'.\nconst ITEM_TEST_SUFFIX: Record<string, string> = {\n first: 'first',\n last: 'last',\n previous: 'prev',\n next: 'next' };\n\nconst paginationItemTestId = (\n base: string | undefined,\n item: PaginationRenderItemParams,\n): string | undefined => {\n const prefix = base ?? 'pagination';\n\n if (item.type === 'page') return `${prefix}-page-${item.page}`;\n\n const suffix = ITEM_TEST_SUFFIX[item.type];\n return suffix ? `${prefix}-${suffix}` : undefined;\n};\n\n// A dots-variant page renders as a bare dot; everything else uses MUI's item\n// with our own arrow icons.\nconst renderPaginationItem = ({\n item,\n variant,\n size: _size,\n dataTestId,\n icons }: {\n item: PaginationRenderItemParams;\n variant: string;\n size: string;\n dataTestId?: string;\n icons: {\n firstIcon?: React.ReactNode;\n lastIcon?: React.ReactNode;\n previousIcon?: React.ReactNode;\n nextIcon?: React.ReactNode;\n };\n}) => {\n const { firstIcon, lastIcon, previousIcon, nextIcon } = icons;\n\n const itemTestId = paginationItemTestId(dataTestId, item);\n\n if (variant === 'dots') {\n if (item.type === 'page') {\n return (\n <PaginationItem\n {...item}\n data-testid={itemTestId}\n sx={{\n '&.MuiPaginationItem-page': {\n fontSize: 0,\n overflow: 'hidden',\n textIndent: '-9999px' } }}\n />\n );\n }\n return null; // Hide navigation buttons for dots\n }\n\n // Map custom icons to components\n const iconMap: Record<string, React.ReactElement> = {\n first: firstIcon as React.ReactElement,\n last: lastIcon as React.ReactElement,\n previous: previousIcon as React.ReactElement,\n next: nextIcon as React.ReactElement };\n\n return (\n <PaginationItem\n {...item}\n data-testid={itemTestId}\n components={{\n first: () => iconMap.first || <FirstPage />,\n last: () => iconMap.last || <LastPage />,\n previous: () => iconMap.previous || <NavigateBefore />,\n next: () => iconMap.next || <NavigateNext /> }}\n />\n );\n \n};\n\n// The control itself. Local because StyledPagination cannot cross a module\n// boundary (TS2742).\nconst PaginationControl: React.FC<\n ResolvedPaginationProps & {\n innerRef: React.Ref<HTMLElement>;\n renderItem: (item: PaginationRenderItemParams) => React.ReactNode;\n rest: Record<string, unknown>;\n }\n> = ({ innerRef, renderItem, rest, ...p }) => {\n // The dots variant is a position indicator, not a control: no page numbers\n // around the current one, and no step buttons.\n const isDots = p.variant === 'dots';\n\n return (\n <StyledPagination\n ref={innerRef}\n page={p.page}\n count={p.count}\n onChange={p.onChange}\n customVariant={p.variant}\n customSize={p.size}\n variant=\"outlined\"\n size={muiSizeFor(p.size)}\n boundaryCount={isDots ? 0 : p.boundaryCount}\n siblingCount={isDots ? 0 : p.siblingCount}\n hideNextButton={p.hideNextButton || isDots}\n hidePrevButton={p.hidePrevButton || isDots}\n showFirstButton={p.showFirstButton && !isDots}\n showLastButton={p.showLastButton && !isDots}\n disabled={p.disabled}\n // MUI spells the unaccented pagination colour `standard`; ours is\n // `neutral`, translated here rather than carried as a second name.\n color={p.color === undefined ? undefined : p.color === 'neutral' ? 'standard' : p.color}\n renderItem={renderItem}\n {...rest}\n />\n );\n};\n\nexport const Pagination = React.forwardRef<HTMLElement, PaginationProps>(\n (componentProps, ref) => {\n const resolved = resolvePaginationProps(componentProps);\n const {\n pageSizeLabel,\n variant,\n size,\n page,\n count,\n onChange: _onChange,\n boundaryCount: _boundaryCount,\n siblingCount: _siblingCount,\n hideNextButton: _hideNextButton,\n hidePrevButton: _hidePrevButton,\n showFirstButton: _showFirstButton,\n showLastButton: _showLastButton,\n firstIcon,\n lastIcon,\n previousIcon,\n nextIcon,\n disabled,\n color: _color,\n showPageInfo,\n pageInfoFormat,\n showItemsPerPage,\n itemsPerPageOptions,\n itemsPerPage,\n onItemsPerPageChange,\n className,\n dataTestId,\n ...props\n } = resolved;\n\n const testId = makeTestId(dataTestId);\n\n const renderItem = (item: PaginationRenderItemParams) =>\n renderPaginationItem({\n item,\n variant,\n size,\n dataTestId,\n icons: { firstIcon, lastIcon, previousIcon, nextIcon } });\n\n return (\n <PaginationContainer className={className} data-testid={dataTestId || 'pagination'}>\n {showItemsPerPage && onItemsPerPageChange && (\n <ItemsPerPageSelect\n pageSizeLabel={pageSizeLabel}\n value={itemsPerPage}\n options={itemsPerPageOptions}\n size={size}\n disabled={disabled}\n testId={testId('items-per-page')}\n onChange={onItemsPerPageChange}\n />\n )}\n\n <PaginationControl\n {...resolved}\n innerRef={ref}\n renderItem={renderItem}\n rest={props as unknown as Record<string, unknown>}\n />\n\n {showPageInfo && (\n <PageInfo size={size} testId={testId('info')}>\n {pageInfoFormat(page, count)}\n </PageInfo>\n )}\n </PaginationContainer>\n );\n },\n);\n\nPagination.displayName = 'Pagination';\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/layout/Sidebar/Sidebar.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport { alpha, useTheme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport type {\n SidebarContentProps,\n SidebarFooterProps,\n SidebarHeaderProps,\n SidebarProps,\n} from './Sidebar.types';\nimport { shadowInk } from '../../../tokens/ink';\n\nexport const Sidebar: React.FC<SidebarProps> = ({\n children,\n variant = 'fixed',\n open = true,\n onToggle: _onToggle,\n width = 280,\n collapsedWidth = 64,\n position = 'left',\n className,\n dataTestId = 'sidebar',\n ...rest\n}) => {\n // Prevent unused variable warning for onToggle\n void _onToggle;\n const theme = useTheme();\n\n const isCollapsed = variant === 'collapsible' && !open;\n const currentWidth = isCollapsed ? collapsedWidth : width;\n\n const getVariantStyles = () => {\n switch (variant) {\n case 'floating':\n return {\n position: 'fixed' as const,\n top: theme.spacing(2),\n bottom: theme.spacing(2),\n [position]: theme.spacing(2),\n borderRadius: theme.spacing(2),\n boxShadow: theme.shadows[8],\n zIndex: theme.zIndex.drawer,\n };\n case 'glass':\n return {\n backgroundColor: alpha(theme.palette.background.paper, 0.1),\n backdropFilter: 'blur(20px)',\n border: `1px solid ${alpha(theme.palette.primary.main, 0.2)}`,\n boxShadow: `0 8px 32px ${shadowInk(theme, 0.1)}`,\n };\n case 'collapsible':\n return {\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n };\n default:\n return {\n backgroundColor: theme.palette.background.paper,\n borderRight: `1px solid ${theme.palette.divider}`,\n };\n }\n };\n\n return (\n <Box\n className={className}\n data-testid={dataTestId}\n {...rest}\n sx={{\n width: currentWidth,\n height: '100vh',\n display: 'flex',\n flexDirection: 'column',\n overflow: 'hidden',\n ...getVariantStyles(),\n }}\n >\n {children}\n </Box>\n );\n};\n\nexport const SidebarHeader: React.FC<SidebarHeaderProps> = ({ children, dataTestId = 'sidebar-header', ...rest }) => {\n const theme = useTheme();\n\n return (\n <Box\n data-testid={dataTestId}\n {...rest}\n sx={{\n padding: theme.spacing(2),\n borderBottom: `1px solid ${theme.palette.divider}`,\n flexShrink: 0,\n overflow: 'hidden',\n }}\n >\n {children}\n </Box>\n );\n};\n\nexport const SidebarContent: React.FC<SidebarContentProps> = ({ children, dataTestId = 'sidebar-content', ...rest }) => (\n <Box\n data-testid={dataTestId}\n {...rest}\n sx={{\n flex: 1,\n overflow: 'auto',\n }}\n >\n {children}\n </Box>\n );\n\nexport const SidebarFooter: React.FC<SidebarFooterProps> = ({ children, dataTestId = 'sidebar-footer', ...rest }) => {\n const theme = useTheme();\n\n return (\n <Box\n data-testid={dataTestId}\n {...rest}\n sx={{\n padding: theme.spacing(2),\n borderTop: `1px solid ${theme.palette.divider}`,\n flexShrink: 0,\n }}\n >\n {children}\n </Box>\n );\n};\n"],"mappings":";;;;;AAAA,OAAO,SAAS;AAChB,SAAS,OAAO,gBAAgB;AAiE5B;AAtDG,IAAM,UAAkC,CAAC;AAAA,EAC9C;AAAA,EACA,UAAU;AAAA,EACV,OAAO;AAAA,EACP,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX;AAAA,EACA,aAAa;AAAA,EACb,GAAG;AACL,MAAM;AAEJ,OAAK;AACL,QAAM,QAAQ,SAAS;AAEvB,QAAM,cAAc,YAAY,iBAAiB,CAAC;AAClD,QAAM,eAAe,cAAc,iBAAiB;AAEpD,QAAM,mBAAmB,MAAM;AAC7B,YAAQ,SAAS;AAAA,MACf,KAAK;AACH,eAAO;AAAA,UACL,UAAU;AAAA,UACV,KAAK,MAAM,QAAQ,CAAC;AAAA,UACpB,QAAQ,MAAM,QAAQ,CAAC;AAAA,UACvB,CAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC;AAAA,UAC3B,cAAc,MAAM,QAAQ,CAAC;AAAA,UAC7B,WAAW,MAAM,QAAQ,CAAC;AAAA,UAC1B,QAAQ,MAAM,OAAO;AAAA,QACvB;AAAA,MACF,KAAK;AACH,eAAO;AAAA,UACL,iBAAiB,MAAM,MAAM,QAAQ,WAAW,OAAO,GAAG;AAAA,UAC1D,gBAAgB;AAAA,UAChB,QAAQ,aAAa,MAAM,MAAM,QAAQ,QAAQ,MAAM,GAAG,CAAC;AAAA,UAC3D,WAAW,cAAc,UAAU,OAAO,GAAG,CAAC;AAAA,QAChD;AAAA,MACF,KAAK;AACH,eAAO;AAAA,UACL,YAAY,MAAM,YAAY,OAAO,SAAS;AAAA,YAC5C,QAAQ,MAAM,YAAY,OAAO;AAAA,YACjC,UAAU,MAAM,YAAY,SAAS;AAAA,UACvC,CAAC;AAAA,QACH;AAAA,MACF;AACE,eAAO;AAAA,UACL,iBAAiB,MAAM,QAAQ,WAAW;AAAA,UAC1C,aAAa,aAAa,MAAM,QAAQ,OAAO;AAAA,QACjD;AAAA,IACJ;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAa;AAAA,MACZ,GAAG;AAAA,MACJ,IAAI;AAAA,QACF,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,eAAe;AAAA,QACf,UAAU;AAAA,QACV,GAAG,iBAAiB;AAAA,MACtB;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;AAEO,IAAM,gBAA8C,CAAC,EAAE,UAAU,aAAa,kBAAkB,GAAG,KAAK,MAAM;AACnH,QAAM,QAAQ,SAAS;AAEvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAa;AAAA,MACZ,GAAG;AAAA,MACJ,IAAI;AAAA,QACF,SAAS,MAAM,QAAQ,CAAC;AAAA,QACxB,cAAc,aAAa,MAAM,QAAQ,OAAO;AAAA,QAChD,YAAY;AAAA,QACZ,UAAU;AAAA,MACZ;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;AAEO,IAAM,iBAAgD,CAAC,EAAE,UAAU,aAAa,mBAAmB,GAAG,KAAK,MAC9G;AAAA,EAAC;AAAA;AAAA,IACC,eAAa;AAAA,IACZ,GAAG;AAAA,IACJ,IAAI;AAAA,MACF,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IAEC;AAAA;AACH;AAGG,IAAM,gBAA8C,CAAC,EAAE,UAAU,aAAa,kBAAkB,GAAG,KAAK,MAAM;AACnH,QAAM,QAAQ,SAAS;AAEvB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAa;AAAA,MACZ,GAAG;AAAA,MACJ,IAAI;AAAA,QACF,SAAS,MAAM,QAAQ,CAAC;AAAA,QACxB,WAAW,aAAa,MAAM,QAAQ,OAAO;AAAA,QAC7C,YAAY;AAAA,MACd;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;","names":[]}