@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,9 +1,15 @@
1
+ import {
2
+ rem,
3
+ remPx
4
+ } from "./chunk-YKCAJ2TN.js";
5
+
1
6
  // src/components/utility/VirtualList/VirtualList.hooks.ts
2
- import { useCallback, useEffect, useMemo, useRef, useState } from "react";
7
+ import { useTheme } from "@mui/material/styles/index.js";
8
+ import { useCallback, useEffect, useMemo, useState } from "react";
3
9
  var scrollOffsets = (event) => {
4
10
  const target = event.currentTarget || event.target;
5
11
  const element = target;
6
- return { top: element.scrollTop, left: element.scrollLeft };
12
+ return { scrollTop: element.scrollTop, scrollLeft: element.scrollLeft };
7
13
  };
8
14
  var useExternalScrollListener = (scrollContainerRef, handleScroll) => {
9
15
  useEffect(() => {
@@ -18,7 +24,7 @@ var useScrollTop = (scrollContainerRef, report) => {
18
24
  const [scrollTop, setScrollTop] = useState(0);
19
25
  const handleScroll = useCallback(
20
26
  (event) => {
21
- const { top, left } = scrollOffsets(event);
27
+ const { scrollTop: top, scrollLeft: left } = scrollOffsets(event);
22
28
  setScrollTop(top);
23
29
  report(top, left);
24
30
  },
@@ -27,33 +33,21 @@ var useScrollTop = (scrollContainerRef, report) => {
27
33
  useExternalScrollListener(scrollContainerRef, handleScroll);
28
34
  return { scrollTop, handleScroll };
29
35
  };
30
- var useItemHeight = ({
31
- items,
32
- variant,
33
- itemHeight,
34
- estimatedItemHeight
35
- }) => {
36
- const measured = useRef(/* @__PURE__ */ new Map());
37
- return useCallback(
38
- (index) => {
39
- if (variant !== "variable") {
40
- return itemHeight;
41
- }
42
- return items[index]?.height || measured.current.get(index) || estimatedItemHeight;
43
- },
44
- [variant, itemHeight, estimatedItemHeight, items]
45
- );
36
+ var widthCss = (theme, width) => {
37
+ if (typeof width !== "number") return width;
38
+ return width <= 1 && width !== 0 ? `${width * 100}%` : rem(theme, width);
46
39
  };
47
- var useTotalHeight = (items, variant, itemHeight, getItemHeight) => useMemo(() => {
48
- if (variant === "fixed") {
49
- return items.length * itemHeight;
40
+ var useDesignHeights = (items, variant, fixed, estimated) => useMemo(() => {
41
+ if (variant !== "variable") {
42
+ return { size: () => fixed, offset: (index) => index * fixed, total: items.length * fixed };
50
43
  }
51
- let sum = 0;
44
+ const size = (index) => items[index]?.height || estimated;
45
+ const starts = [0];
52
46
  for (let i = 0; i < items.length; i++) {
53
- sum += getItemHeight(i);
47
+ starts.push((starts[i] ?? 0) + size(i));
54
48
  }
55
- return sum;
56
- }, [items.length, variant, itemHeight, getItemHeight]);
49
+ return { size, offset: (index) => starts[index] ?? 0, total: starts[items.length] ?? 0 };
50
+ }, [items, variant, fixed, estimated]);
57
51
  var variableRange = ({ count, scrollTop, height, overscan, getItemHeight }) => {
58
52
  let accumulated = 0;
59
53
  let startIndex = 0;
@@ -82,36 +76,29 @@ var fixedRange = ({ count, scrollTop, height, overscan, itemHeight }) => ({
82
76
  startIndex: Math.max(0, Math.floor(scrollTop / itemHeight) - overscan),
83
77
  endIndex: Math.min(count - 1, Math.ceil((scrollTop + height) / itemHeight) + overscan)
84
78
  });
85
- var useItemOffset = (variant, itemHeight, getItemHeight) => useCallback(
86
- (index) => {
87
- if (variant === "fixed") {
88
- return index * itemHeight;
89
- }
90
- let offset = 0;
91
- for (let i = 0; i < index; i++) {
92
- offset += getItemHeight(i);
93
- }
94
- return offset;
95
- },
96
- [variant, itemHeight, getItemHeight]
97
- );
98
79
  var useVirtualList = ({
99
80
  items,
100
- variant,
81
+ variant = "fixed",
101
82
  height,
102
83
  itemHeight,
103
84
  estimatedItemHeight,
104
- overscan,
85
+ overscan = 5,
105
86
  onScroll,
106
87
  scrollContainerRef
107
88
  }) => {
108
- const getItemHeight = useItemHeight({ items, variant, itemHeight, estimatedItemHeight });
109
- const getItemOffset = useItemOffset(variant, itemHeight, getItemHeight);
110
- const totalHeight = useTotalHeight(items, variant, itemHeight, getItemHeight);
89
+ const theme = useTheme();
90
+ const design = useDesignHeights(items, variant, itemHeight ?? 40, estimatedItemHeight ?? 40);
111
91
  const report = useCallback((top) => onScroll?.(top), [onScroll]);
112
92
  const { scrollTop, handleScroll } = useScrollTop(scrollContainerRef, report);
113
93
  const visibleItems = useMemo(() => {
114
- const args = { count: items.length, scrollTop, height, overscan, itemHeight, getItemHeight };
94
+ const args = {
95
+ count: items.length,
96
+ scrollTop,
97
+ height: remPx(theme, height),
98
+ overscan,
99
+ itemHeight: remPx(theme, design.size(0)),
100
+ getItemHeight: (index) => remPx(theme, design.size(index))
101
+ };
115
102
  const { startIndex, endIndex } = variant === "fixed" ? fixedRange(args) : variableRange(args);
116
103
  const result = [];
117
104
  for (let i = startIndex; i <= endIndex; i++) {
@@ -122,16 +109,21 @@ var useVirtualList = ({
122
109
  index: i,
123
110
  style: {
124
111
  position: "absolute",
125
- top: getItemOffset(i),
112
+ top: remPx(theme, design.offset(i)),
126
113
  left: 0,
127
114
  width: "100%",
128
- height: getItemHeight(i)
115
+ height: remPx(theme, design.size(i))
129
116
  }
130
117
  });
131
118
  }
132
119
  return result;
133
- }, [items, scrollTop, height, overscan, variant, itemHeight, getItemOffset, getItemHeight]);
134
- return { totalHeight, visibleItems, handleScroll };
120
+ }, [items, scrollTop, height, overscan, variant, design, theme]);
121
+ return {
122
+ totalHeight: rem(theme, design.total),
123
+ viewportHeight: rem(theme, height),
124
+ visibleItems,
125
+ handleScroll
126
+ };
135
127
  };
136
128
  var useColumnWidth = (columnWidth, width, columnCount, gap) => useMemo(() => {
137
129
  if (columnWidth) return columnWidth;
@@ -141,27 +133,31 @@ var useColumnWidth = (columnWidth, width, columnCount, gap) => useMemo(() => {
141
133
  var useVirtualGrid = ({
142
134
  items,
143
135
  height,
144
- width,
136
+ width = "100%",
145
137
  columnCount,
146
138
  rowHeight,
147
139
  columnWidth,
148
- gap,
149
- overscan,
140
+ gap = 0,
141
+ overscan = 5,
150
142
  onScroll,
151
143
  scrollContainerRef
152
144
  }) => {
145
+ const theme = useTheme();
153
146
  const rowCount = Math.ceil(items.length / columnCount);
154
- const totalHeight = rowCount * (rowHeight + gap) - gap;
155
- const computedColumnWidth = useColumnWidth(columnWidth, width, columnCount, gap);
147
+ const designColumn = useColumnWidth(columnWidth, width, columnCount, gap);
156
148
  const report = useCallback(
157
149
  (top, left) => onScroll?.(top, left),
158
150
  [onScroll]
159
151
  );
160
152
  const { scrollTop, handleScroll } = useScrollTop(scrollContainerRef, report);
161
153
  const visibleItems = useMemo(() => {
162
- const pitch = rowHeight + gap;
154
+ const pitch = remPx(theme, rowHeight + gap);
155
+ const stride = remPx(theme, designColumn + gap);
163
156
  const startRow = Math.max(0, Math.floor(scrollTop / pitch) - overscan);
164
- const endRow = Math.min(rowCount - 1, Math.ceil((scrollTop + height) / pitch) + overscan);
157
+ const endRow = Math.min(
158
+ rowCount - 1,
159
+ Math.ceil((scrollTop + remPx(theme, height)) / pitch) + overscan
160
+ );
165
161
  const firstIndex = startRow * columnCount;
166
162
  const lastIndex = Math.min((endRow + 1) * columnCount - 1, items.length - 1);
167
163
  const result = [];
@@ -178,19 +174,25 @@ var useVirtualGrid = ({
178
174
  style: {
179
175
  position: "absolute",
180
176
  top: rowIndex * pitch,
181
- left: columnIndex * (computedColumnWidth + gap),
182
- width: computedColumnWidth,
183
- height: rowHeight
177
+ left: columnIndex * stride,
178
+ width: remPx(theme, designColumn),
179
+ height: remPx(theme, rowHeight)
184
180
  }
185
181
  });
186
182
  }
187
183
  return result;
188
- }, [items, scrollTop, height, overscan, rowCount, columnCount, rowHeight, gap, computedColumnWidth]);
189
- return { totalHeight, visibleItems, handleScroll };
184
+ }, [items, scrollTop, height, overscan, rowCount, columnCount, rowHeight, gap, designColumn, theme]);
185
+ return {
186
+ totalHeight: rem(theme, rowCount * (rowHeight + gap) - gap),
187
+ viewportHeight: rem(theme, height),
188
+ visibleItems,
189
+ handleScroll
190
+ };
190
191
  };
191
192
 
192
193
  export {
194
+ widthCss,
193
195
  useVirtualList,
194
196
  useVirtualGrid
195
197
  };
196
- //# sourceMappingURL=chunk-F42MJOHM.js.map
198
+ //# sourceMappingURL=chunk-PVM7XTLZ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/utility/VirtualList/VirtualList.hooks.ts"],"sourcesContent":["import { useTheme, type Theme } from '@mui/material/styles/index.js';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { rem, remPx } from '../../../tokens/relative';\n\nimport type { VirtualGridProps, VirtualListProps } from './VirtualList.types';\n\ntype ScrollEvent = React.UIEvent<HTMLDivElement> | Event;\ntype ListItems = VirtualListProps['items'];\ntype ListVariant = NonNullable<VirtualListProps['variant']>;\ntype ItemSize = (index: number) => number;\n\n// Handles both React synthetic events and native DOM events, since the same\n// handler serves an internal onScroll and an external container's listener.\nconst scrollOffsets = (event: ScrollEvent) => {\n const target = (event as React.UIEvent<HTMLDivElement>).currentTarget || (event as Event).target;\n const element = target as HTMLElement;\n return { scrollTop: element.scrollTop, scrollLeft: element.scrollLeft };\n};\n\n/**\n * When the caller owns the scroll container, the component cannot attach\n * `onScroll` through JSX and has to subscribe to that element directly.\n */\nconst useExternalScrollListener = (\n scrollContainerRef: VirtualListProps['scrollContainerRef'],\n handleScroll: (event: Event) => void,\n) => {\n useEffect(() => {\n if (!scrollContainerRef?.current) return;\n\n const element = scrollContainerRef.current;\n const scrollHandler = (e: Event) => handleScroll(e);\n\n element.addEventListener('scroll', scrollHandler);\n return () => element.removeEventListener('scroll', scrollHandler);\n }, [scrollContainerRef, handleScroll]);\n};\n\n/**\n * Tracks the scroll offset whether it arrives through our own `onScroll` or\n * through a container the caller owns, and hands both offsets to `report` so a\n * grid can pass on the horizontal one too.\n */\nconst useScrollTop = (\n scrollContainerRef: VirtualListProps['scrollContainerRef'],\n report: (top: number, left: number) => void,\n) => {\n const [scrollTop, setScrollTop] = useState(0);\n\n const handleScroll = useCallback(\n (event: ScrollEvent) => {\n const { scrollTop: top, scrollLeft: left } = scrollOffsets(event);\n setScrollTop(top);\n report(top, left);\n },\n [report],\n );\n\n useExternalScrollListener(scrollContainerRef, handleScroll);\n\n return { scrollTop, handleScroll };\n};\n\n\n/**\n * A `width` prop as CSS. `sx` reads a number of 1 or less as a fraction of the\n * parent, and that stays so; a larger number is design px, through the type\n * scale; a string is as given.\n */\nexport const widthCss = (theme: Theme, width: number | string): string => {\n if (typeof width !== 'number') return width;\n return width <= 1 && width !== 0 ? `${width * 100}%` : rem(theme, width);\n};\n\n/** Every item's height, its offset from the top, and their sum — all in DESIGN px. */\ninterface DesignHeights {\n size: ItemSize;\n offset: ItemSize;\n total: number;\n}\n\n/**\n * Fixed lists know every height up front; variable ones take the item's own\n * declared height and otherwise the estimate.\n *\n * Kept in the caller's DESIGN px on purpose: the CSS draws a height with `rem`\n * and the range maths reads it through `remPx`, so the two are one number at\n * any type scale — never a row drawn at one pitch and positioned at another.\n */\nconst useDesignHeights = (\n items: ListItems,\n variant: ListVariant,\n fixed: number,\n estimated: number,\n): DesignHeights =>\n useMemo(() => {\n if (variant !== 'variable') {\n return { size: () => fixed, offset: (index) => index * fixed, total: items.length * fixed };\n }\n\n const size = (index: number): number => items[index]?.height || estimated;\n // Running sums, so an offset is a lookup rather than a walk from the top.\n const starts = [0];\n for (let i = 0; i < items.length; i++) {\n starts.push((starts[i] ?? 0) + size(i));\n }\n return { size, offset: (index) => starts[index] ?? 0, total: starts[items.length] ?? 0 };\n }, [items, variant, fixed, estimated]);\n\n/** The range maths' inputs, in the px the scroll offset is measured in. */\ninterface RangeArgs {\n count: number;\n scrollTop: number;\n height: number;\n overscan: number;\n itemHeight: number;\n getItemHeight: ItemSize;\n}\n\n// Walks forward accumulating heights until it passes the viewport's top edge, then\n// its bottom edge. Linear in the number of items, which is why fixed lists take\n// the arithmetic shortcut instead.\nconst variableRange = ({ count, scrollTop, height, overscan, getItemHeight }: RangeArgs) => {\n let accumulated = 0;\n let startIndex = 0;\n let endIndex = count - 1;\n\n for (let i = 0; i < count; i++) {\n if (accumulated + getItemHeight(i) > scrollTop) {\n startIndex = Math.max(0, i - overscan);\n break;\n }\n accumulated += getItemHeight(i);\n }\n\n accumulated = 0;\n for (let i = 0; i <= startIndex; i++) {\n accumulated += getItemHeight(i);\n }\n\n for (let i = startIndex; i < count; i++) {\n if (accumulated > scrollTop + height) {\n endIndex = Math.min(count - 1, i + overscan);\n break;\n }\n accumulated += getItemHeight(i);\n }\n\n return { startIndex, endIndex };\n};\n\nconst fixedRange = ({ count, scrollTop, height, overscan, itemHeight }: RangeArgs) => ({\n startIndex: Math.max(0, Math.floor(scrollTop / itemHeight) - overscan),\n endIndex: Math.min(count - 1, Math.ceil((scrollTop + height) / itemHeight) + overscan),\n});\n\n/**\n * `height`, `itemHeight`, `estimatedItemHeight` and an item's own `height` are\n * design px. The range is computed in the px `scrollTop` is measured in\n * (`remPx`), the viewport and the scroll content are drawn in `rem`, and each\n * item's `top`/`height` is the `remPx` of its design offset and height.\n */\nexport const useVirtualList = ({\n items,\n variant = 'fixed',\n height,\n itemHeight,\n estimatedItemHeight,\n overscan = 5,\n onScroll,\n scrollContainerRef,\n}: VirtualListProps) => {\n const theme = useTheme();\n // 40 design px when the caller does not size a row.\n const design = useDesignHeights(items, variant, itemHeight ?? 40, estimatedItemHeight ?? 40);\n\n const report = useCallback((top: number) => onScroll?.(top), [onScroll]);\n const { scrollTop, handleScroll } = useScrollTop(scrollContainerRef, report);\n\n const visibleItems = useMemo(() => {\n const args = {\n count: items.length,\n scrollTop,\n height: remPx(theme, height),\n overscan,\n itemHeight: remPx(theme, design.size(0)),\n getItemHeight: (index: number) => remPx(theme, design.size(index)),\n };\n const { startIndex, endIndex } = variant === 'fixed' ? fixedRange(args) : variableRange(args);\n const result = [];\n\n for (let i = startIndex; i <= endIndex; i++) {\n const item = items[i];\n if (!item) continue;\n\n result.push({\n item,\n index: i,\n style: {\n position: 'absolute' as const,\n top: remPx(theme, design.offset(i)),\n left: 0,\n width: '100%',\n height: remPx(theme, design.size(i)),\n },\n });\n }\n\n return result;\n }, [items, scrollTop, height, overscan, variant, design, theme]);\n\n return {\n totalHeight: rem(theme, design.total),\n viewportHeight: rem(theme, height),\n visibleItems,\n handleScroll,\n };\n};\n\n/** The column width in DESIGN px: the caller's, or an even share of a numeric width. */\nconst useColumnWidth = (\n columnWidth: number | undefined,\n width: number | string,\n columnCount: number,\n gap: number,\n) =>\n useMemo(() => {\n if (columnWidth) return columnWidth;\n\n const containerWidth = typeof width === 'number' ? width : 300; // fallback\n return (containerWidth - (columnCount - 1) * gap) / columnCount;\n }, [columnWidth, width, columnCount, gap]);\n\n/**\n * `height`, `rowHeight`, `columnWidth` and `gap` are design px: the range and\n * every cell's box are computed through `remPx`, the viewport and the content\n * are drawn through `rem`.\n */\nexport const useVirtualGrid = ({\n items,\n height,\n width = '100%',\n columnCount,\n rowHeight,\n columnWidth,\n gap = 0,\n overscan = 5,\n onScroll,\n scrollContainerRef,\n}: VirtualGridProps) => {\n const theme = useTheme();\n const rowCount = Math.ceil(items.length / columnCount);\n const designColumn = useColumnWidth(columnWidth, width, columnCount, gap);\n\n const report = useCallback(\n (top: number, left: number) => onScroll?.(top, left),\n [onScroll],\n );\n const { scrollTop, handleScroll } = useScrollTop(scrollContainerRef, report);\n\n const visibleItems = useMemo(() => {\n const pitch = remPx(theme, rowHeight + gap);\n const stride = remPx(theme, designColumn + gap);\n const startRow = Math.max(0, Math.floor(scrollTop / pitch) - overscan);\n const endRow = Math.min(\n rowCount - 1,\n Math.ceil((scrollTop + remPx(theme, height)) / pitch) + overscan,\n );\n\n // Rows are contiguous in `items`, so the visible block is one index range\n // rather than a row loop wrapping a column loop.\n const firstIndex = startRow * columnCount;\n const lastIndex = Math.min((endRow + 1) * columnCount - 1, items.length - 1);\n const result = [];\n\n for (let index = firstIndex; index <= lastIndex; index++) {\n const item = items[index];\n if (!item) continue;\n\n const rowIndex = Math.floor(index / columnCount);\n const columnIndex = index % columnCount;\n\n result.push({\n item,\n index,\n columnIndex,\n rowIndex,\n style: {\n position: 'absolute' as const,\n top: rowIndex * pitch,\n left: columnIndex * stride,\n width: remPx(theme, designColumn),\n height: remPx(theme, rowHeight),\n },\n });\n }\n\n return result;\n }, [items, scrollTop, height, overscan, rowCount, columnCount, rowHeight, gap, designColumn, theme]);\n\n return {\n totalHeight: rem(theme, rowCount * (rowHeight + gap) - gap),\n viewportHeight: rem(theme, height),\n visibleItems,\n handleScroll,\n };\n};\n"],"mappings":"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","names":[]}
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  Dialog,
9
9
  DialogContent
10
- } from "./chunk-L4UP5VYS.js";
10
+ } from "./chunk-GVH7C2PT.js";
11
11
  import {
12
12
  default as default2
13
13
  } from "./chunk-6DPAWXZ3.js";
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-2EAAWOZ2.js";
20
20
  import {
21
21
  Text
22
- } from "./chunk-WTOYEWW6.js";
22
+ } from "./chunk-YBH4SPMM.js";
23
23
 
24
24
  // src/components/data-display/DataViews/ManageViewsDialog.tsx
25
25
  import { useMemo } from "react";
@@ -128,4 +128,4 @@ function ManageViewsDialog({
128
128
  export {
129
129
  ManageViewsDialog
130
130
  };
131
- //# sourceMappingURL=chunk-LT4NEKXB.js.map
131
+ //# sourceMappingURL=chunk-QA2ZGCRL.js.map
@@ -1,3 +1,8 @@
1
+ import {
2
+ rem,
3
+ remPx
4
+ } from "./chunk-YKCAJ2TN.js";
5
+
1
6
  // src/components/layout/Resizable/Resizable.helpers.ts
2
7
  var defaultHandles = (variant) => {
3
8
  switch (variant) {
@@ -43,16 +48,30 @@ var handleStyle = (theme, handle, active) => {
43
48
  };
44
49
  switch (handle) {
45
50
  case "right":
46
- return { ...baseStyle, top: 0, right: -2, width: 4, height: "100%", cursor: "ew-resize" };
51
+ return {
52
+ ...baseStyle,
53
+ top: 0,
54
+ right: rem(theme, -2),
55
+ width: rem(theme, 4),
56
+ height: "100%",
57
+ cursor: "ew-resize"
58
+ };
47
59
  case "bottom":
48
- return { ...baseStyle, bottom: -2, left: 0, width: "100%", height: 4, cursor: "ns-resize" };
60
+ return {
61
+ ...baseStyle,
62
+ bottom: rem(theme, -2),
63
+ left: 0,
64
+ width: "100%",
65
+ height: rem(theme, 4),
66
+ cursor: "ns-resize"
67
+ };
49
68
  case "bottomRight":
50
69
  return {
51
70
  ...baseStyle,
52
- bottom: -2,
53
- right: -2,
54
- width: 8,
55
- height: 8,
71
+ bottom: rem(theme, -2),
72
+ right: rem(theme, -2),
73
+ width: rem(theme, 8),
74
+ height: rem(theme, 8),
56
75
  cursor: "nw-resize",
57
76
  borderRadius: "50%"
58
77
  };
@@ -62,14 +81,17 @@ var handleStyle = (theme, handle, active) => {
62
81
  };
63
82
  var RESIZABLE_DEFAULTS = {
64
83
  variant: "both",
65
- width: 200,
66
- height: 200,
67
- minWidth: 50,
68
- maxWidth: 1e3,
69
- minHeight: 50,
70
- maxHeight: 1e3,
71
84
  disabled: false
72
85
  };
86
+ var DEFAULT_BOX_PX = { start: 200, min: 50, max: 1e3 };
87
+ var startSizePx = (theme, width, height) => ({
88
+ width: remPx(theme, width ?? DEFAULT_BOX_PX.start),
89
+ height: remPx(theme, height ?? DEFAULT_BOX_PX.start)
90
+ });
91
+ var axisPx = (theme, min, max) => ({
92
+ min: remPx(theme, min ?? DEFAULT_BOX_PX.min),
93
+ max: remPx(theme, max ?? DEFAULT_BOX_PX.max)
94
+ });
73
95
  var definedProps = (props) => Object.fromEntries(
74
96
  Object.entries(props).filter(([, value]) => value !== void 0)
75
97
  );
@@ -79,6 +101,8 @@ export {
79
101
  defaultHandles,
80
102
  resizedTo,
81
103
  handleStyle,
104
+ startSizePx,
105
+ axisPx,
82
106
  resolveResizableProps
83
107
  };
84
- //# sourceMappingURL=chunk-3TDVGZZN.js.map
108
+ //# sourceMappingURL=chunk-QBTBRJ2Q.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/layout/Resizable/Resizable.helpers.ts"],"sourcesContent":["import type { Theme } from '@mui/material/styles/index.js';\n\nimport { rem, remPx } from '../../../tokens/relative';\n\nimport type { ResizableProps, ResizableVariant, ResizeHandle } from './Resizable.types';\n\n/** One axis's clamp, in the px a drag runs in. */\nexport interface Axis {\n min: number;\n max: number;\n}\n\nexport interface Bounds {\n width: Axis;\n height: Axis;\n}\n\nexport const defaultHandles = (variant: ResizableVariant): ResizeHandle[] => {\n switch (variant) {\n case 'horizontal':\n return ['right'];\n case 'vertical':\n return ['bottom'];\n default:\n return ['right', 'bottom', 'bottomRight'];\n }\n};\n\nconst HORIZONTAL_GROW: readonly ResizeHandle[] = ['right', 'topRight', 'bottomRight'];\nconst HORIZONTAL_SHRINK: readonly ResizeHandle[] = ['left', 'topLeft', 'bottomLeft'];\nconst VERTICAL_GROW: readonly ResizeHandle[] = ['bottom', 'bottomLeft', 'bottomRight'];\nconst VERTICAL_SHRINK: readonly ResizeHandle[] = ['top', 'topLeft', 'topRight'];\n\nconst clamp = (value: number, { min, max }: Axis): number =>\n Math.max(min, Math.min(max, value));\n\n/**\n * A handle on the right or bottom edge grows the box by the drag distance; one on\n * the left or top shrinks it by the same amount, because the opposite edge is\n * what stays put. A handle on neither edge of this axis leaves it alone.\n */\nconst alongAxis = (\n handle: ResizeHandle,\n grow: readonly ResizeHandle[],\n shrink: readonly ResizeHandle[],\n start: number,\n delta: number,\n bounds: Axis,\n): number => {\n if (grow.includes(handle)) return clamp(start + delta, bounds);\n if (shrink.includes(handle)) return clamp(start - delta, bounds);\n return start;\n};\n\nexport const resizedTo = (\n handle: ResizeHandle,\n delta: { x: number; y: number },\n start: { width: number; height: number },\n bounds: Bounds,\n) => ({\n width: alongAxis(handle, HORIZONTAL_GROW, HORIZONTAL_SHRINK, start.width, delta.x, bounds.width),\n height: alongAxis(\n handle,\n VERTICAL_GROW,\n VERTICAL_SHRINK,\n start.height,\n delta.y,\n bounds.height,\n ),\n});\n\nexport const handleStyle = (theme: Theme, handle: ResizeHandle, active: boolean) => {\n const baseStyle = {\n position: 'absolute' as const,\n backgroundColor: theme.palette.primary.main,\n opacity: 0,\n transition: theme.transitions.create('opacity'),\n '&:hover': {\n opacity: 0.3,\n },\n ...(active ? { opacity: 0.5 } : {}),\n };\n\n switch (handle) {\n case 'right':\n return {\n ...baseStyle,\n top: 0,\n right: rem(theme, -2),\n width: rem(theme, 4),\n height: '100%',\n cursor: 'ew-resize',\n };\n case 'bottom':\n return {\n ...baseStyle,\n bottom: rem(theme, -2),\n left: 0,\n width: '100%',\n height: rem(theme, 4),\n cursor: 'ns-resize',\n };\n case 'bottomRight':\n return {\n ...baseStyle,\n bottom: rem(theme, -2),\n right: rem(theme, -2),\n width: rem(theme, 8),\n height: rem(theme, 8),\n cursor: 'nw-resize',\n borderRadius: '50%',\n };\n default:\n return baseStyle;\n }\n};\n\ntype ResizableDefaultedKeys = 'variant' | 'disabled';\n\ntype ResolvedResizableProps = ResizableProps &\n Required<Pick<ResizableProps, ResizableDefaultedKeys>>;\n\nconst RESIZABLE_DEFAULTS: Pick<ResizableProps, ResizableDefaultedKeys> = {\n variant: 'both',\n disabled: false,\n};\n\n/** The box's own defaults, in design px: where it starts, and its clamp. */\nconst DEFAULT_BOX_PX = { start: 200, min: 50, max: 1000 } as const;\n\n/**\n * Where the box starts, in the px a drag runs in. The consumer's sizes are\n * design px, like every other size in the package; a drag is pointer pixels,\n * so the live size is px from here on.\n */\nexport const startSizePx = (theme: Theme, width?: number, height?: number) => ({\n width: remPx(theme, width ?? DEFAULT_BOX_PX.start),\n height: remPx(theme, height ?? DEFAULT_BOX_PX.start),\n});\n\n/** One axis's clamp, from the consumer's design px to the px a drag runs in. */\nexport const axisPx = (theme: Theme, min?: number, max?: number): Axis => ({\n min: remPx(theme, min ?? DEFAULT_BOX_PX.min),\n max: remPx(theme, max ?? DEFAULT_BOX_PX.max),\n});\n\n// Strips explicitly-undefined props before the merge, so `minWidth={undefined}`\n// still falls back to the default exactly as a destructuring default would.\nconst definedProps = (props: ResizableProps): Partial<ResizableProps> =>\n Object.fromEntries(\n Object.entries(props).filter(([, value]) => value !== undefined),\n ) as Partial<ResizableProps>;\n\nexport const resolveResizableProps = (props: ResizableProps): ResolvedResizableProps =>\n ({ ...RESIZABLE_DEFAULTS, ...definedProps(props) }) as ResolvedResizableProps;\n"],"mappings":"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","names":[]}
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  SettingsSectionChips
3
- } from "./chunk-CSTAQX2B.js";
3
+ } from "./chunk-XWZJLXJT.js";
4
4
  import {
5
5
  SettingsSectionHeader
6
- } from "./chunk-CPTY6UZ6.js";
6
+ } from "./chunk-6KEXHOIF.js";
7
7
  import {
8
8
  TOUCH_TARGET,
9
9
  atLeastRail,
10
10
  displayAcrossRail
11
- } from "./chunk-LIG7TKIB.js";
11
+ } from "./chunk-NYFNF7I5.js";
12
12
  import {
13
13
  rem
14
14
  } from "./chunk-YKCAJ2TN.js";
@@ -35,7 +35,7 @@ function BackLink({
35
35
  ...displayAcrossRail(theme, breakpoint, "inline-flex", "none"),
36
36
  alignItems: "center",
37
37
  gap: 0.5,
38
- minHeight: TOUCH_TARGET,
38
+ minHeight: rem(theme, TOUCH_TARGET),
39
39
  pr: 1,
40
40
  textDecoration: "none",
41
41
  color: "text.secondary",
@@ -167,4 +167,4 @@ function SettingsPanel({
167
167
  export {
168
168
  SettingsPanel
169
169
  };
170
- //# sourceMappingURL=chunk-2E2WOBID.js.map
170
+ //# sourceMappingURL=chunk-QGFBIUOK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/layout/SettingsLayout/SettingsPanel.tsx"],"sourcesContent":["\"use client\";\n\nimport ChevronLeftIcon from \"@mui/icons-material/ChevronLeft\";\nimport type { CSSObject, Theme } from \"@mui/material/styles/index.js\";\nimport Box from \"@mui/material/Box/index.js\";\nimport React from \"react\";\n\nimport {\n atLeastRail,\n displayAcrossRail,\n TOUCH_TARGET,\n} from \"./SettingsLayout.styles\";\nimport { SettingsSectionChips } from \"./SettingsSectionChips\";\nimport { SettingsSectionHeader } from \"./SettingsSectionHeader\";\nimport type {\n SettingsLayoutProps,\n SettingsNavItem,\n SettingsRailBreakpoint,\n} from \"./SettingsLayout.types\";\nimport { rem } from \"../../../tokens/relative\";\n\nexport interface SettingsPanelProps {\n /** True in `drilldown`, inside a section rather than at the index. */\n inSection: boolean;\n /** True in `drilldown`, at the area's index. */\n hideOnNarrow: boolean;\n breakpoint: SettingsRailBreakpoint;\n indexHref?: string;\n backLabel: string;\n /** The open section's own name — turns the back link into a compact header. */\n sectionTitle?: string;\n /** One line under that name. */\n sectionDescription?: string;\n ariaLabel: string;\n sectionChips?: SettingsNavItem[];\n activeItemId?: string;\n linkComponent?: SettingsLayoutProps[\"linkComponent\"];\n onSelectItem?: (id: string) => void;\n testIdPrefix: string;\n children: React.ReactNode;\n /** Scroll inside the panel rather than with the page. See `fillHeight`. */\n fillHeight?: boolean;\n}\n\n/** The way back to the area's index — narrow widths only. */\nfunction BackLink({\n href,\n label,\n breakpoint,\n linkComponent,\n testIdPrefix,\n}: {\n href: string;\n label: string;\n breakpoint: SettingsRailBreakpoint;\n linkComponent: NonNullable<SettingsLayoutProps[\"linkComponent\"]>;\n testIdPrefix: string;\n}): React.JSX.Element {\n return (\n <Box\n component={linkComponent}\n href={href}\n aria-label={label}\n data-testid={`${testIdPrefix}-back`}\n sx={(theme) => ({\n ...displayAcrossRail(theme, breakpoint, \"inline-flex\", \"none\"),\n alignItems: \"center\",\n gap: 0.5,\n minHeight: rem(theme, TOUCH_TARGET),\n pr: 1,\n textDecoration: \"none\",\n color: \"text.secondary\",\n font: \"inherit\",\n fontSize: rem(theme, 14),\n })}\n >\n <ChevronLeftIcon fontSize=\"small\" />\n {label}\n </Box>\n );\n}\n\n/**\n * Two shapes of the same control, chosen by whether the host named the section.\n *\n * With a `sectionTitle` the back folds into a compact header that also says\n * where you are; without one the original text link is kept, so no existing\n * consumer's header grows a title and pushes their first field down the page on\n * upgrade. Its own component so `SettingsPanel` keeps one branch rather than\n * three.\n */\nfunction PanelBack({\n href,\n backLabel,\n sectionTitle,\n sectionDescription,\n breakpoint,\n linkComponent,\n testIdPrefix,\n}: {\n href: string;\n backLabel: string;\n sectionTitle?: string;\n sectionDescription?: string;\n breakpoint: SettingsRailBreakpoint;\n linkComponent: NonNullable<SettingsLayoutProps['linkComponent']>;\n testIdPrefix: string;\n}): React.JSX.Element {\n if (sectionTitle === undefined) {\n return (\n <BackLink\n href={href}\n label={backLabel}\n breakpoint={breakpoint}\n linkComponent={linkComponent}\n testIdPrefix={testIdPrefix}\n />\n );\n }\n return (\n <SettingsSectionHeader\n href={href}\n backLabel={backLabel}\n title={sectionTitle}\n description={sectionDescription}\n breakpoint={breakpoint}\n linkComponent={linkComponent}\n testIdPrefix={testIdPrefix}\n />\n );\n}\n\n/**\n * The panel's own box, as ONE object per media query rather than two.\n *\n * Both the `display` rule and `fillHeight`'s belong at the same wide-shape\n * query, and spreading them as separate `{ [query]: … }` objects makes the\n * second REPLACE the first — so turning `fillHeight` on silently dropped the\n * `display: block` that `hideOnNarrow` puts there and left the panel\n * `display: none` at every width. That only shows at a drilldown INDEX, where\n * `hideOnNarrow` is true, which is why a section route looked fine.\n *\n * `overflowY` here is also what lets a `position: sticky` toolbar inside\n * `children` pin to the TOP OF THE PANEL — under the host's header — instead\n * of to a document that is not the scroller.\n */\nfunction panelSx(\n breakpoint: SettingsRailBreakpoint,\n hideOnNarrow: boolean,\n fillHeight: boolean,\n): (theme: Theme) => CSSObject {\n return (theme) => ({\n display: hideOnNarrow ? \"none\" : \"block\",\n flex: \"1 1 auto\",\n minWidth: 0,\n width: \"100%\",\n [atLeastRail(theme, breakpoint)]: {\n ...(hideOnNarrow ? { display: \"block\" } : {}),\n ...(fillHeight\n ? {\n height: \"100%\",\n minHeight: 0,\n overflowY: \"auto\",\n overscrollBehavior: \"contain\",\n }\n : {}),\n },\n });\n}\n\n/**\n * The central column: the open screen, and — in `drilldown`, inside a section —\n * the back link and sibling-section strip above it.\n *\n * At the index in `drilldown` this whole column is `display: none` below the\n * breakpoint and the rail becomes the page. Mounted either way: the panel and\n * the list are one tree with `display` between them, not two branches of a\n * render.\n */\nexport function SettingsPanel({\n inSection,\n hideOnNarrow,\n breakpoint,\n indexHref,\n backLabel,\n sectionTitle,\n sectionDescription,\n ariaLabel,\n sectionChips,\n activeItemId,\n linkComponent,\n onSelectItem,\n testIdPrefix,\n fillHeight = false,\n children,\n}: SettingsPanelProps): React.JSX.Element {\n const showBack =\n inSection && indexHref !== undefined && linkComponent !== undefined;\n const showChips =\n inSection && sectionChips !== undefined && sectionChips.length > 0;\n\n return (\n <Box\n data-testid={`${testIdPrefix}-panel`}\n sx={panelSx(breakpoint, hideOnNarrow, fillHeight)}\n >\n {showBack ? (\n <PanelBack\n href={indexHref}\n backLabel={backLabel}\n sectionTitle={sectionTitle}\n sectionDescription={sectionDescription}\n breakpoint={breakpoint}\n linkComponent={linkComponent}\n testIdPrefix={testIdPrefix}\n />\n ) : null}\n\n {showChips ? (\n <Box\n sx={(theme) => ({\n ...displayAcrossRail(theme, breakpoint, \"block\", \"none\"),\n mb: 1,\n minWidth: 0,\n })}\n >\n <SettingsSectionChips\n items={sectionChips}\n activeItemId={activeItemId}\n ariaLabel={ariaLabel}\n linkComponent={linkComponent}\n onSelectItem={onSelectItem}\n testIdPrefix={testIdPrefix}\n />\n </Box>\n ) : null}\n\n {children}\n </Box>\n );\n}\n"],"mappings":"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","names":[]}
@@ -1,19 +1,33 @@
1
1
  import {
2
2
  cn
3
3
  } from "./chunk-NHL5ERBM.js";
4
+ import {
5
+ rem
6
+ } from "./chunk-YKCAJ2TN.js";
4
7
 
5
8
  // src/components/layout/CardGrid/CardGrid.tsx
9
+ import { useTheme } from "@mui/material/styles/index.js";
6
10
  import { Children } from "react";
7
11
  import { jsx } from "react/jsx-runtime";
8
- var GRID_GAP = 16;
12
+ var GRID = {
13
+ /** Between cards: the grid's `gap`, and what the scroll math reserves per gap. */
14
+ gapPx: 16,
15
+ /**
16
+ * `scroll`: the next card left visible past the last whole one — the
17
+ * "there's more, swipe" hint. Wide enough to read as a clipped card (rounded
18
+ * edge + a slice of its photo) rather than as a rendering glitch.
19
+ */
20
+ peekPx: 28,
21
+ /** Under the row — the tabwoah original's Tailwind `pb-0.5`. */
22
+ paddingBottomPx: 2
23
+ };
9
24
  var SCROLL_VISIBLE_CARDS = 2;
10
- var SCROLL_PEEK_WIDTH = 28;
11
- function scrollTrackWidth(count, max) {
25
+ function scrollTrackWidth(theme, count, max) {
12
26
  const tracks = Math.max(1, Math.min(count, SCROLL_VISIBLE_CARDS));
13
27
  const overflows = count > tracks;
14
28
  const gaps = overflows ? tracks : tracks - 1;
15
- const reserved = gaps * GRID_GAP + (overflows ? SCROLL_PEEK_WIDTH : 0);
16
- return `min(${max}px, calc((100% - ${reserved}px) / ${tracks}))`;
29
+ const reserved = gaps * GRID.gapPx + (overflows ? GRID.peekPx : 0);
30
+ return `min(${rem(theme, max)}, calc((100% - ${rem(theme, reserved)}) / ${tracks}))`;
17
31
  }
18
32
  function CardGrid({
19
33
  cardWidth,
@@ -24,22 +38,23 @@ function CardGrid({
24
38
  containerRef,
25
39
  children
26
40
  }) {
41
+ const theme = useTheme();
27
42
  const style = {
28
43
  display: "grid",
29
- gap: "1rem",
30
- paddingBottom: "2px"
44
+ gap: rem(theme, GRID.gapPx),
45
+ paddingBottom: rem(theme, GRID.paddingBottomPx)
31
46
  };
32
47
  if (variant === "scroll") {
33
48
  const max = maxCardWidth ?? Math.round(cardWidth * 1.6);
34
49
  style.gridAutoFlow = "column";
35
- style.gridAutoColumns = scrollTrackWidth(Children.count(children), max);
50
+ style.gridAutoColumns = scrollTrackWidth(theme, Children.count(children), max);
36
51
  style.overflowX = "auto";
37
52
  style.overflowY = "hidden";
38
53
  style.scrollSnapType = "x mandatory";
39
54
  } else if (variant === "fluid") {
40
- style.gridTemplateColumns = `repeat(auto-fill, minmax(${cardWidth}px, 1fr))`;
55
+ style.gridTemplateColumns = `repeat(auto-fill, minmax(${rem(theme, cardWidth)}, 1fr))`;
41
56
  } else {
42
- style.gridTemplateColumns = `repeat(auto-fill, ${cardWidth}px)`;
57
+ style.gridTemplateColumns = `repeat(auto-fill, ${rem(theme, cardWidth)})`;
43
58
  style.justifyContent = "space-around";
44
59
  }
45
60
  const content = variant === "scroll" ? Children.map(children, (child) => /* @__PURE__ */ jsx("div", { style: { scrollSnapAlign: "start" }, children: child })) : children;
@@ -49,4 +64,4 @@ function CardGrid({
49
64
  export {
50
65
  CardGrid
51
66
  };
52
- //# sourceMappingURL=chunk-2WFDHFK4.js.map
67
+ //# sourceMappingURL=chunk-QNCWSDXE.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/layout/CardGrid/CardGrid.tsx"],"sourcesContent":["import { useTheme, type Theme } from \"@mui/material/styles/index.js\";\nimport { Children, type CSSProperties, type ReactNode, type Ref } from \"react\";\n\nimport { rem } from \"../../../tokens/relative\";\nimport { cn } from \"../../../utils/cn\";\n\n/**\n * How the grid turns surplus row space into layout:\n *\n * - `\"fixed\"` — every column is exactly `cardWidth` design px; leftover row space is\n * spread as even gutters (`justify-content: space-around`). Cards never resize;\n * the column count changes with the viewport. This is the original tabwoah\n * card-grid behavior.\n * - `\"fluid\"` — every column is *at least* `cardWidth` px and stretches (`1fr`)\n * to fill the row, so cards grow to use the whole width. A lone card stays\n * left-aligned at a single track's width rather than stretching edge to edge.\n * - `\"scroll\"` — a single row that scrolls horizontally, with fluid-width cards\n * sized from the container so that exactly {@link SCROLL_VISIBLE_CARDS} cards\n * plus a `GRID.peekPx` sliver of the next one fit on screen (up\n * to `maxCardWidth`, past which more cards simply fit). The sliver is the\n * point: it makes the rail visibly continue past the fold, so the row reads as\n * swipeable instead of as a finished pair of cards. Wrapping is off; the row\n * overflows on the x and scroll-snaps to each card's start so a swipe lands on\n * a clean card boundary.\n */\nexport type CardGridVariant = \"fixed\" | \"fluid\" | \"scroll\";\n\n/**\n * The grid's own lengths, in design px — every one drawn through `rem`, so the\n * `gap` the grid lays out with and the gap the scroll track math reserves are\n * the same length at any type scale.\n */\nconst GRID = {\n /** Between cards: the grid's `gap`, and what the scroll math reserves per gap. */\n gapPx: 16,\n /**\n * `scroll`: the next card left visible past the last whole one — the\n * \"there's more, swipe\" hint. Wide enough to read as a clipped card (rounded\n * edge + a slice of its photo) rather than as a rendering glitch.\n */\n peekPx: 28,\n /** Under the row — the tabwoah original's Tailwind `pb-0.5`. */\n paddingBottomPx: 2,\n} as const;\n\n/** `scroll`: how many WHOLE cards the rail commits to showing at once. */\nconst SCROLL_VISIBLE_CARDS = 2;\n\n/**\n * The `scroll` track width: the widest a card can be while the container still\n * shows `SCROLL_VISIBLE_CARDS` of them plus the peek — or, when there is nothing\n * to scroll to, while the cards still divide the row evenly. Capped at `max` so\n * a desktop-width rail packs in more cards instead of inflating them.\n *\n * The container (`100%`) has to cover, in the overflow case: N cards, the N gaps\n * that follow them (one between each pair, one before the peeked card), and the\n * peek. With no overflow there are only N-1 gaps and no peek.\n */\nfunction scrollTrackWidth(theme: Theme, count: number, max: number): string {\n const tracks = Math.max(1, Math.min(count, SCROLL_VISIBLE_CARDS));\n const overflows = count > tracks;\n const gaps = overflows ? tracks : tracks - 1;\n const reserved = gaps * GRID.gapPx + (overflows ? GRID.peekPx : 0);\n return `min(${rem(theme, max)}, calc((100% - ${rem(theme, reserved)}) / ${tracks}))`;\n}\n\ninterface CardGridProps {\n /**\n * `\"fixed\"`: the exact column width. `\"fluid\"`: the minimum column width\n * (columns grow from here). `\"scroll\"`: only seeds the default `maxCardWidth`\n * — a scroll track has no minimum, because a minimum is exactly what would\n * break the \"two cards plus a peek\" promise on a narrow phone.\n *\n * Design px, scaled with the theme's type scale.\n */\n cardWidth: number;\n /**\n * `\"scroll\"` only: the maximum fluid card width. Defaults to\n * `1.6 × cardWidth`. Design px, scaled with the theme's type scale.\n */\n maxCardWidth?: number;\n /** Layout behavior — see {@link CardGridVariant}. Defaults to `\"fixed\"`. */\n variant?: CardGridVariant;\n /** Additional classes appended to the default grid container */\n className?: string;\n /** `data-testid` for the grid container */\n gridTestId?: string;\n /** Ref forwarded to the grid container (used by `useMaxRowsHeight` clipping). */\n containerRef?: Ref<HTMLDivElement>;\n children: ReactNode;\n}\n\n/**\n * Shared grid container for card layouts. Renders responsive columns via CSS\n * grid, in one of three variants (see {@link CardGridVariant}).\n *\n * Ported from the tabwoah card grid (the `\"fixed\"` variant is verbatim). The one\n * adaptation: that app is Tailwind (`className=\"grid gap-4 pb-0.5\"`); this one\n * has no Tailwind, so those three utilities (display:grid, gap 16 design px,\n * padding-bottom 2 design px) live in `style`, drawn through `rem`.\n */\nexport function CardGrid({\n cardWidth,\n maxCardWidth,\n variant = \"fixed\",\n className,\n gridTestId,\n containerRef,\n children,\n}: CardGridProps) {\n const theme = useTheme();\n const style: CSSProperties = {\n display: \"grid\",\n gap: rem(theme, GRID.gapPx),\n paddingBottom: rem(theme, GRID.paddingBottomPx),\n };\n\n if (variant === \"scroll\") {\n const max = maxCardWidth ?? Math.round(cardWidth * 1.6);\n // One row, laid out as implicit columns, that scrolls sideways. Each column\n // is derived from the container so two whole cards plus a peek of the third\n // always fit (see `scrollTrackWidth`). Scroll-snap makes a swipe settle on a\n // card boundary instead of drifting mid-card.\n style.gridAutoFlow = \"column\";\n style.gridAutoColumns = scrollTrackWidth(theme, Children.count(children), max);\n style.overflowX = \"auto\";\n style.overflowY = \"hidden\";\n style.scrollSnapType = \"x mandatory\";\n } else if (variant === \"fluid\") {\n style.gridTemplateColumns = `repeat(auto-fill, minmax(${rem(theme, cardWidth)}, 1fr))`;\n } else {\n style.gridTemplateColumns = `repeat(auto-fill, ${rem(theme, cardWidth)})`;\n // `space-around` only distributes leftover width in the fixed variant; the\n // fluid variant consumes it via `1fr` and scroll overflows instead.\n style.justifyContent = \"space-around\";\n }\n\n // In the scroll variant each card is a snap target, so a swipe aligns to its\n // start. The snap-align sits on a wrapper (the grid item) so callers' children\n // stay untouched; the other variants render children directly.\n const content =\n variant === \"scroll\"\n ? Children.map(children, (child) => (\n <div style={{ scrollSnapAlign: \"start\" }}>{child}</div>\n ))\n : children;\n\n return (\n <div ref={containerRef} className={cn(className)} style={style} data-testid={gridTestId}>\n {content}\n </div>\n );\n}\n"],"mappings":";;;;;;;;AAAA,SAAS,gBAA4B;AACrC,SAAS,gBAA8D;AA8I7D;AA/GV,IAAM,OAAO;AAAA;AAAA,EAEX,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMP,QAAQ;AAAA;AAAA,EAER,iBAAiB;AACnB;AAGA,IAAM,uBAAuB;AAY7B,SAAS,iBAAiB,OAAc,OAAe,KAAqB;AAC1E,QAAM,SAAS,KAAK,IAAI,GAAG,KAAK,IAAI,OAAO,oBAAoB,CAAC;AAChE,QAAM,YAAY,QAAQ;AAC1B,QAAM,OAAO,YAAY,SAAS,SAAS;AAC3C,QAAM,WAAW,OAAO,KAAK,SAAS,YAAY,KAAK,SAAS;AAChE,SAAO,OAAO,IAAI,OAAO,GAAG,CAAC,kBAAkB,IAAI,OAAO,QAAQ,CAAC,OAAO,MAAM;AAClF;AAqCO,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAkB;AAChB,QAAM,QAAQ,SAAS;AACvB,QAAM,QAAuB;AAAA,IAC3B,SAAS;AAAA,IACT,KAAK,IAAI,OAAO,KAAK,KAAK;AAAA,IAC1B,eAAe,IAAI,OAAO,KAAK,eAAe;AAAA,EAChD;AAEA,MAAI,YAAY,UAAU;AACxB,UAAM,MAAM,gBAAgB,KAAK,MAAM,YAAY,GAAG;AAKtD,UAAM,eAAe;AACrB,UAAM,kBAAkB,iBAAiB,OAAO,SAAS,MAAM,QAAQ,GAAG,GAAG;AAC7E,UAAM,YAAY;AAClB,UAAM,YAAY;AAClB,UAAM,iBAAiB;AAAA,EACzB,WAAW,YAAY,SAAS;AAC9B,UAAM,sBAAsB,4BAA4B,IAAI,OAAO,SAAS,CAAC;AAAA,EAC/E,OAAO;AACL,UAAM,sBAAsB,qBAAqB,IAAI,OAAO,SAAS,CAAC;AAGtE,UAAM,iBAAiB;AAAA,EACzB;AAKA,QAAM,UACJ,YAAY,WACR,SAAS,IAAI,UAAU,CAAC,UACtB,oBAAC,SAAI,OAAO,EAAE,iBAAiB,QAAQ,GAAI,iBAAM,CAClD,IACD;AAEN,SACE,oBAAC,SAAI,KAAK,cAAc,WAAW,GAAG,SAAS,GAAG,OAAc,eAAa,YAC1E,mBACH;AAEJ;","names":[]}
@@ -4,7 +4,7 @@ import {
4
4
  useMapPointer,
5
5
  useMapSearch,
6
6
  useMapView
7
- } from "./chunk-46UPILLK.js";
7
+ } from "./chunk-5NT2M2JI.js";
8
8
 
9
9
  // src/components/data-display/MapPreview/useMapPreview.ts
10
10
  import { useMemo, useRef } from "react";
@@ -53,4 +53,4 @@ var useMapPreview = (props) => {
53
53
  export {
54
54
  useMapPreview
55
55
  };
56
- //# sourceMappingURL=chunk-PQECNGDE.js.map
56
+ //# sourceMappingURL=chunk-QSRZOXQI.js.map
@@ -9,7 +9,6 @@ var SCROLL_AREA_DEFAULTS = {
9
9
  smoothScroll: true,
10
10
  variant: "default",
11
11
  scrollToTopButton: false,
12
- scrollToTopThreshold: 100,
13
12
  contentPadding: 0,
14
13
  alwaysShowScrollbar: false,
15
14
  disabled: false,
@@ -26,4 +25,4 @@ var resolveScrollAreaProps = (props) => ({
26
25
  export {
27
26
  resolveScrollAreaProps
28
27
  };
29
- //# sourceMappingURL=chunk-RHIDWUK7.js.map
28
+ //# sourceMappingURL=chunk-QUWK7SYN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/layout/ScrollArea/ScrollArea.helpers.ts"],"sourcesContent":["import type { ScrollAreaProps } from './ScrollArea.types';\n\ntype ScrollAreaDefaultedKeys =\n | 'width'\n | 'height'\n | 'orientation'\n | 'scrollbarSize'\n | 'autoHide'\n | 'autoHideDelay'\n | 'smoothScroll'\n | 'variant'\n | 'scrollToTopButton'\n | 'contentPadding'\n | 'alwaysShowScrollbar'\n | 'disabled'\n | 'loading'\n | 'testId';\n\nexport type ResolvedScrollAreaProps = ScrollAreaProps &\n Required<Pick<ScrollAreaProps, ScrollAreaDefaultedKeys>>;\n\nconst SCROLL_AREA_DEFAULTS: Pick<ScrollAreaProps, ScrollAreaDefaultedKeys> = {\n width: '100%',\n height: '100%',\n orientation: 'vertical',\n scrollbarSize: 'medium',\n autoHide: true,\n autoHideDelay: 1000,\n smoothScroll: true,\n variant: 'default',\n scrollToTopButton: false,\n contentPadding: 0,\n alwaysShowScrollbar: false,\n disabled: false,\n loading: false,\n testId: 'scroll-area',\n};\n\n// Strips explicitly-undefined props before the merge, so `prop={undefined}` still\n// falls back to the default exactly as a destructuring default would. Applied as\n// a merge rather than destructuring defaults, which would otherwise put fifteen\n// branches into the component's own complexity budget.\nexport const resolveScrollAreaProps = (props: ScrollAreaProps): ResolvedScrollAreaProps =>\n ({\n ...SCROLL_AREA_DEFAULTS,\n ...(Object.fromEntries(\n Object.entries(props).filter(([, value]) => value !== undefined),\n ) as Partial<ScrollAreaProps>),\n }) as ResolvedScrollAreaProps;\n"],"mappings":";AAqBA,IAAM,uBAAuE;AAAA,EAC3E,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,eAAe;AAAA,EACf,UAAU;AAAA,EACV,eAAe;AAAA,EACf,cAAc;AAAA,EACd,SAAS;AAAA,EACT,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,UAAU;AAAA,EACV,SAAS;AAAA,EACT,QAAQ;AACV;AAMO,IAAM,yBAAyB,CAAC,WACpC;AAAA,EACC,GAAG;AAAA,EACH,GAAI,OAAO;AAAA,IACT,OAAO,QAAQ,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,MAAM,UAAU,MAAS;AAAA,EACjE;AACF;","names":[]}
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-6DPAWXZ3.js";
7
7
  import {
8
8
  Text
9
- } from "./chunk-WTOYEWW6.js";
9
+ } from "./chunk-YBH4SPMM.js";
10
10
  import {
11
11
  sxRem
12
12
  } from "./chunk-YKCAJ2TN.js";
@@ -184,4 +184,4 @@ function MoveButton({
184
184
  export {
185
185
  ColumnsTab
186
186
  };
187
- //# sourceMappingURL=chunk-ROT57BP4.js.map
187
+ //# sourceMappingURL=chunk-R2XVTUVR.js.map
@@ -6,7 +6,11 @@ import {
6
6
  } from "./chunk-SUALMVL7.js";
7
7
  import {
8
8
  CalendarMonth
9
- } from "./chunk-PUBPZOQJ.js";
9
+ } from "./chunk-AG3DY5TH.js";
10
+ import {
11
+ rem,
12
+ sxRem
13
+ } from "./chunk-YKCAJ2TN.js";
10
14
 
11
15
  // src/components/form/Calendar/Calendar.tsx
12
16
  import Box from "@mui/material/Box/index.js";
@@ -20,9 +24,9 @@ var containerSx = (monthsToShow) => ({
20
24
  gap: 3,
21
25
  outline: "none",
22
26
  "&:focus-within": {
23
- outline: "2px solid",
27
+ outline: (theme) => `${rem(theme, 2)} solid`,
24
28
  outlineColor: "primary.main",
25
- outlineOffset: 2
29
+ outlineOffset: sxRem(2)
26
30
  }
27
31
  });
28
32
  var Calendar = React.forwardRef((componentProps, ref) => {
@@ -83,4 +87,4 @@ export {
83
87
  Calendar,
84
88
  Calendar_default
85
89
  };
86
- //# sourceMappingURL=chunk-UN5INW6K.js.map
90
+ //# sourceMappingURL=chunk-R53ZOW4B.js.map
@@ -0,0 +1 @@
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 { rem, sxRem } from '../../../tokens/relative';\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: (theme: Theme) => `${rem(theme, 2)} solid`,\n outlineColor: 'primary.main',\n outlineOffset: sxRem(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;AA8Cd,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,CAAC,UAAiB,GAAG,IAAI,OAAO,CAAC,CAAC;AAAA,IAC3C,cAAc;AAAA,IACd,eAAe,MAAM,CAAC;AAAA,EACxB;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":[]}