@12-apps/ui 6.35.0 → 6.36.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 (916) hide show
  1. package/dist/_internal/components/data-display/Alert/Alert.js +3 -3
  2. package/dist/_internal/components/data-display/Alert/Alert.styles.js +2 -2
  3. package/dist/_internal/components/data-display/AlertDialog/AlertDialog.js +2 -2
  4. package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +5 -5
  5. package/dist/_internal/components/data-display/Avatar/Avatar.animations.js +2 -1
  6. package/dist/_internal/components/data-display/Avatar/Avatar.js +4 -4
  7. package/dist/_internal/components/data-display/Avatar/Avatar.view.js +3 -3
  8. package/dist/_internal/components/data-display/Badge/Badge.animations.js +2 -1
  9. package/dist/_internal/components/data-display/Badge/Badge.js +6 -6
  10. package/dist/_internal/components/data-display/Badge/Badge.styles.js +4 -4
  11. package/dist/_internal/components/data-display/Badge/Badge.variants.js +2 -2
  12. package/dist/_internal/components/data-display/Badge/BadgeContent.js +5 -5
  13. package/dist/_internal/components/data-display/Banner/Banner.js +3 -3
  14. package/dist/_internal/components/data-display/Banner/Banner.styles.js +2 -2
  15. package/dist/_internal/components/data-display/CardKit/CardKebab.js +1 -1
  16. package/dist/_internal/components/data-display/CardKit/card-actions-context.js +4 -4
  17. package/dist/_internal/components/data-display/CardKit/list-card-parts.js +1 -1
  18. package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +10 -10
  19. package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +7 -7
  20. package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +3 -3
  21. package/dist/_internal/components/data-display/Carousel/Carousel.js +6 -6
  22. package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +2 -2
  23. package/dist/_internal/components/data-display/Carousel/Carousel.slide.js +2 -1
  24. package/dist/_internal/components/data-display/Carousel/Carousel.styles.js +6 -4
  25. package/dist/_internal/components/data-display/Chart/Chart.js +7 -7
  26. package/dist/_internal/components/data-display/Chart/ChartComposables.js +2 -1
  27. package/dist/_internal/components/data-display/Chart/SpecChart.js +8 -8
  28. package/dist/_internal/components/data-display/Chart/chart-axis.js +2 -1
  29. package/dist/_internal/components/data-display/Chart/chart-context.js +4 -4
  30. package/dist/_internal/components/data-display/Chart/chart-internals.js +4 -2
  31. package/dist/_internal/components/data-display/Chart/chart-renderers.js +6 -6
  32. package/dist/_internal/components/data-display/Chip/Chip.js +3 -2
  33. package/dist/_internal/components/data-display/Chip/Chip.styles.js +2 -1
  34. package/dist/_internal/components/data-display/DataGrid/DataGrid.js +3 -2
  35. package/dist/_internal/components/data-display/DataGrid/DataGrid.states.js +2 -1
  36. package/dist/_internal/components/data-display/DataViews/DataViewsBoard.js +2 -2
  37. package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +28 -28
  38. package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +40 -40
  39. package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +1 -1
  40. package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +7 -7
  41. package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +3 -3
  42. package/dist/_internal/components/data-display/DataViews/base-card.js +5 -5
  43. package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +7 -7
  44. package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +3 -3
  45. package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +3 -3
  46. package/dist/_internal/components/data-display/DataViews/base-list-card.js +9 -9
  47. package/dist/_internal/components/data-display/DataViews/card-surface.js +3 -2
  48. package/dist/_internal/components/data-display/DataViews/data-views-bar-controls.js +1 -1
  49. package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +1 -1
  50. package/dist/_internal/components/data-display/DataViews/data-views-columns-tab.js +1 -1
  51. package/dist/_internal/components/data-display/DataViews/data-views-columns.js +3 -3
  52. package/dist/_internal/components/data-display/DataViews/data-views-day-input.js +2 -1
  53. package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +5 -5
  54. package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +3 -3
  55. package/dist/_internal/components/data-display/DataViews/data-views-drag.js +2 -1
  56. package/dist/_internal/components/data-display/DataViews/data-views-empty.js +2 -2
  57. package/dist/_internal/components/data-display/DataViews/data-views-export.js +2 -2
  58. package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +5 -5
  59. package/dist/_internal/components/data-display/DataViews/data-views-glyphs.js +2 -1
  60. package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +6 -6
  61. package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +2 -2
  62. package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +25 -25
  63. package/dist/_internal/components/data-display/DataViews/data-views-header-row.js +1 -1
  64. package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +8 -8
  65. package/dist/_internal/components/data-display/DataViews/data-views-layout-context.js +1 -1
  66. package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +5 -5
  67. package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +6 -6
  68. package/dist/_internal/components/data-display/DataViews/data-views-number-input.js +2 -1
  69. package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +1 -1
  70. package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +4 -4
  71. package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +3 -3
  72. package/dist/_internal/components/data-display/DataViews/data-views-scopes.js +1 -1
  73. package/dist/_internal/components/data-display/DataViews/data-views-search.js +2 -2
  74. package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +1 -1
  75. package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +9 -9
  76. package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +12 -12
  77. package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +8 -8
  78. package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +2 -2
  79. package/dist/_internal/components/data-display/DataViews/list-card-rails.js +1 -1
  80. package/dist/_internal/components/data-display/DataViews/save-view-preview.js +2 -2
  81. package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +5 -5
  82. package/dist/_internal/components/data-display/DateTimeDisplay/DateTimeDisplay.js +2 -1
  83. package/dist/_internal/components/data-display/DateTimeDisplay/index.js +2 -1
  84. package/dist/_internal/components/data-display/DescriptionItem/DescriptionItem.js +2 -2
  85. package/dist/_internal/components/data-display/EmptyState/EmptyState.js +2 -1
  86. package/dist/_internal/components/data-display/ErrorState/ErrorState.js +1 -1
  87. package/dist/_internal/components/data-display/FleetMap/FleetBody.js +15 -15
  88. package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +13 -13
  89. package/dist/_internal/components/data-display/FleetMap/FleetMap.js +17 -17
  90. package/dist/_internal/components/data-display/FleetMap/FleetRoster.js +2 -1
  91. package/dist/_internal/components/data-display/HoverCard/HoverCard.animations.js +2 -1
  92. package/dist/_internal/components/data-display/HoverCard/HoverCard.content.js +2 -1
  93. package/dist/_internal/components/data-display/HoverCard/HoverCard.js +5 -4
  94. package/dist/_internal/components/data-display/HoverCard/HoverCard.styles.js +3 -2
  95. package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.hooks.js +1 -1
  96. package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.js +4 -4
  97. package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.styles.js +4 -2
  98. package/dist/_internal/components/data-display/LazyImage/LazyImage.hooks.js +2 -1
  99. package/dist/_internal/components/data-display/LazyImage/LazyImage.js +3 -2
  100. package/dist/_internal/components/data-display/Lightbox/Lightbox.constants.js +4 -4
  101. package/dist/_internal/components/data-display/Lightbox/Lightbox.hooks.js +3 -3
  102. package/dist/_internal/components/data-display/Lightbox/Lightbox.js +9 -9
  103. package/dist/_internal/components/data-display/Lightbox/LightboxControls.js +3 -3
  104. package/dist/_internal/components/data-display/Lightbox/LightboxOverlay.js +4 -4
  105. package/dist/_internal/components/data-display/Lightbox/LightboxStage.js +3 -3
  106. package/dist/_internal/components/data-display/Lightbox/LightboxThumbnails.js +3 -3
  107. package/dist/_internal/components/data-display/Lightbox/useLightbox.js +4 -4
  108. package/dist/_internal/components/data-display/LoadingState/LoadingState.js +2 -1
  109. package/dist/_internal/components/data-display/MapPreview/MapControlBar.js +2 -1
  110. package/dist/_internal/components/data-display/MapPreview/MapDecorations.js +3 -3
  111. package/dist/_internal/components/data-display/MapPreview/MapLayers.js +5 -4
  112. package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +3 -3
  113. package/dist/_internal/components/data-display/MapPreview/MapOverlays.js +1 -1
  114. package/dist/_internal/components/data-display/MapPreview/MapPreview.helpers.js +2 -1
  115. package/dist/_internal/components/data-display/MapPreview/MapPreview.js +12 -12
  116. package/dist/_internal/components/data-display/MapPreview/MapSearchBar.js +2 -1
  117. package/dist/_internal/components/data-display/MapPreview/MapTiles.js +3 -2
  118. package/dist/_internal/components/data-display/MapPreview/StaticMapView.js +5 -5
  119. package/dist/_internal/components/data-display/MapPreview/mapSurface.js +4 -3
  120. package/dist/_internal/components/data-display/Popover/Popover.js +2 -1
  121. package/dist/_internal/components/data-display/Progress/Progress.js +3 -3
  122. package/dist/_internal/components/data-display/Progress/Progress.styles.js +2 -2
  123. package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +4 -4
  124. package/dist/_internal/components/data-display/Sheet/Sheet.animations.js +2 -1
  125. package/dist/_internal/components/data-display/Sheet/Sheet.body.js +4 -4
  126. package/dist/_internal/components/data-display/Sheet/Sheet.hooks.js +3 -2
  127. package/dist/_internal/components/data-display/Sheet/Sheet.js +7 -7
  128. package/dist/_internal/components/data-display/Sheet/Sheet.parts.js +3 -2
  129. package/dist/_internal/components/data-display/Sheet/Sheet.styles.js +3 -3
  130. package/dist/_internal/components/data-display/StatCard/StatCard.js +2 -2
  131. package/dist/_internal/components/data-display/Stepper/Stepper.js +2 -2
  132. package/dist/_internal/components/data-display/Table/Table.js +2 -2
  133. package/dist/_internal/components/data-display/Table/Table.styles.js +1 -1
  134. package/dist/_internal/components/data-display/Timeline/Timeline.js +3 -3
  135. package/dist/_internal/components/data-display/Timeline/TimelineRow.js +2 -2
  136. package/dist/_internal/components/data-display/TimingDiagram/TimingDiagram.js +3 -3
  137. package/dist/_internal/components/data-display/TimingDiagram/TimingDiagram.views.js +2 -2
  138. package/dist/_internal/components/data-display/Tooltip/Tooltip.js +2 -2
  139. package/dist/_internal/components/data-display/index.js +87 -87
  140. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.js +4 -4
  141. package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.parts.js +3 -3
  142. package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +5 -5
  143. package/dist/_internal/components/feedback/ConfirmAction/with-confirmation.js +4 -4
  144. package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +4 -4
  145. package/dist/_internal/components/feedback/Sonner/Sonner.js +1 -1
  146. package/dist/_internal/components/feedback/Sonner/SonnerToast.js +1 -1
  147. package/dist/_internal/components/feedback/index.js +9 -9
  148. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +1 -1
  149. package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +1 -1
  150. package/dist/_internal/components/form/Button/Button.js +1 -1
  151. package/dist/_internal/components/form/Button/Button.styles.js +1 -1
  152. package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +1 -1
  153. package/dist/_internal/components/form/CategorySelect/CategoryPanelFoot.js +1 -1
  154. package/dist/_internal/components/form/CategorySelect/CategoryPanelHead.js +1 -1
  155. package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +1 -1
  156. package/dist/_internal/components/form/CategorySelect/CategoryRows.js +1 -1
  157. package/dist/_internal/components/form/CategorySelect/CategorySelect.js +1 -1
  158. package/dist/_internal/components/form/CategorySelect/CategorySelect.styles.js +1 -1
  159. package/dist/_internal/components/form/CategorySelect/CategoryTrigger.js +1 -1
  160. package/dist/_internal/components/form/CepField/CepField.js +1 -1
  161. package/dist/_internal/components/form/Checkbox/Checkbox.js +1 -1
  162. package/dist/_internal/components/form/CodeEditor/CodeEditor.js +1 -1
  163. package/dist/_internal/components/form/Command/Command.js +1 -1
  164. package/dist/_internal/components/form/Command/Command.styles.js +1 -1
  165. package/dist/_internal/components/form/CreatableSelect/CreatableSelect.js +1 -1
  166. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.hooks.js +4 -3
  167. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +6 -6
  168. package/dist/_internal/components/form/DateRangePicker/DateRangePicker.range.js +3 -2
  169. package/dist/_internal/components/form/DateRangePicker/DateRangePickerFields.js +4 -3
  170. package/dist/_internal/components/form/InputOTP/InputOTP.js +1 -1
  171. package/dist/_internal/components/form/InputOTP/InputOTP.styles.js +1 -1
  172. package/dist/_internal/components/form/Label/Label.js +1 -1
  173. package/dist/_internal/components/form/Label/Label.styles.js +1 -1
  174. package/dist/_internal/components/form/Menubar/Menubar.item.js +1 -1
  175. package/dist/_internal/components/form/Menubar/Menubar.js +1 -1
  176. package/dist/_internal/components/form/Menubar/Menubar.styles.js +1 -1
  177. package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +1 -1
  178. package/dist/_internal/components/form/PhoneInput/PhoneInput.js +1 -1
  179. package/dist/_internal/components/form/RadioGroup/RadioGroup.js +1 -1
  180. package/dist/_internal/components/form/RadioGroup/RadioGroup.styles.js +1 -1
  181. package/dist/_internal/components/form/RadioGroup/RadioGroup.variants.js +1 -1
  182. package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +1 -1
  183. package/dist/_internal/components/form/Slider/Slider.js +1 -1
  184. package/dist/_internal/components/form/Slider/Slider.styles.js +1 -1
  185. package/dist/_internal/components/form/Switch/Switch.js +1 -1
  186. package/dist/_internal/components/form/Switch/Switch.parts.js +1 -1
  187. package/dist/_internal/components/form/Switch/Switch.styles.js +1 -1
  188. package/dist/_internal/components/form/Textarea/Textarea.js +2 -2
  189. package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +2 -2
  190. package/dist/_internal/components/form/Toggle/Toggle.js +1 -1
  191. package/dist/_internal/components/form/Toggle/Toggle.styles.js +1 -1
  192. package/dist/_internal/components/form/ToggleGroup/ToggleGroup.js +1 -1
  193. package/dist/_internal/components/form/index.js +7 -7
  194. package/dist/_internal/components/form/total-form/Fields/CategoryField.js +1 -1
  195. package/dist/_internal/components/form/total-form/Fields/CepField.js +1 -1
  196. package/dist/_internal/components/form/total-form/Fields/SelectField.js +1 -1
  197. package/dist/_internal/components/form/total-form/Fields/TextField.js +1 -1
  198. package/dist/_internal/components/form/total-form/Fields/ToggleField.js +1 -1
  199. package/dist/_internal/components/form/total-form/Fields/index.js +1 -1
  200. package/dist/_internal/components/form/total-form/SubmitButton.js +1 -1
  201. package/dist/_internal/components/index.js +108 -108
  202. package/dist/_internal/components/layout/Box/Box.js +1 -1
  203. package/dist/_internal/components/layout/ContentToolbar/ColumnsMenu.js +1 -1
  204. package/dist/_internal/components/layout/ContentToolbar/FilterTrigger.js +1 -1
  205. package/dist/_internal/components/layout/ContentToolbar/MultiSelectDropdown.js +1 -1
  206. package/dist/_internal/components/layout/ContentToolbar/MultiSelectTriggers.js +1 -1
  207. package/dist/_internal/components/layout/ContentToolbar/SavedViewsMenu.js +1 -1
  208. package/dist/_internal/components/layout/ContentToolbar/SortByDropdown.js +1 -1
  209. package/dist/_internal/components/layout/ContentToolbar/ViewSelector.js +1 -1
  210. package/dist/_internal/components/layout/Stack/Stack.js +1 -1
  211. package/dist/_internal/components/layout/TableFilter/TableFilter.js +1 -1
  212. package/dist/_internal/components/layout/index.js +1 -1
  213. package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +8 -8
  214. package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +1 -1
  215. package/dist/_internal/components/navigation/Breadcrumbs/BreadcrumbEntry.js +3 -3
  216. package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.js +4 -4
  217. package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.styles.js +2 -2
  218. package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +1 -1
  219. package/dist/_internal/components/navigation/ContextMenu/ContextMenu.js +1 -1
  220. package/dist/_internal/components/navigation/DropdownMenu/DropdownMenu.js +1 -1
  221. package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +5 -5
  222. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +7 -7
  223. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.shell.js +3 -3
  224. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.styles.js +2 -2
  225. package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +3 -3
  226. package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +5 -5
  227. package/dist/_internal/components/navigation/Pagination/Pagination.js +1 -1
  228. package/dist/_internal/components/navigation/index.js +17 -17
  229. package/dist/_internal/components/typography/Blockquote/Blockquote.js +1 -1
  230. package/dist/_internal/components/typography/Code/Code.js +1 -1
  231. package/dist/_internal/components/typography/Text/Text.js +1 -1
  232. package/dist/_internal/components/typography/index.js +1 -1
  233. package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.js +1 -1
  234. package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.styles.js +1 -1
  235. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +1 -1
  236. package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +1 -1
  237. package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +1 -1
  238. package/dist/_internal/components/utility/index.js +1 -1
  239. package/dist/_internal/icons/Icon.js +1 -1
  240. package/dist/_internal/provider/UiProvider.js +1 -1
  241. package/dist/_internal/provider/mui-bridge.js +1 -1
  242. package/dist/_internal/provider/use-ui-theme.js +1 -1
  243. package/dist/_internal/social-login-button/social-login-button.js +1 -1
  244. package/dist/_internal/user-avatar/user-avatar.js +5 -5
  245. package/dist/charts.js +8 -8
  246. package/dist/{chunk-BNU4RLEC.js → chunk-2FM5SUQV.js} +8 -4
  247. package/dist/chunk-2FM5SUQV.js.map +1 -0
  248. package/dist/{chunk-APT5L7V5.js → chunk-2LIRGFEK.js} +2 -2
  249. package/dist/{chunk-LDDN254Q.js → chunk-2UCLUDEB.js} +2 -2
  250. package/dist/{chunk-6SYFPRTT.js → chunk-343OLRFT.js} +2 -2
  251. package/dist/{chunk-VDGJV7MP.js → chunk-3AQD2EA6.js} +9 -9
  252. package/dist/chunk-3AQD2EA6.js.map +1 -0
  253. package/dist/{chunk-3GQ6PNEM.js → chunk-3GTMGPNQ.js} +20 -5
  254. package/dist/chunk-3GTMGPNQ.js.map +1 -0
  255. package/dist/{chunk-TFZI36UD.js → chunk-3KA6MYIR.js} +4 -3
  256. package/dist/chunk-3KA6MYIR.js.map +1 -0
  257. package/dist/{chunk-5VWYCVXF.js → chunk-3U3H3BZM.js} +6 -3
  258. package/dist/chunk-3U3H3BZM.js.map +1 -0
  259. package/dist/{chunk-H2YBVBPW.js → chunk-3UIDKLML.js} +15 -11
  260. package/dist/chunk-3UIDKLML.js.map +1 -0
  261. package/dist/{chunk-M5BTIIL7.js → chunk-4CHROSWR.js} +15 -14
  262. package/dist/chunk-4CHROSWR.js.map +1 -0
  263. package/dist/{chunk-VR3U4QA5.js → chunk-4CTLEUK3.js} +6 -5
  264. package/dist/chunk-4CTLEUK3.js.map +1 -0
  265. package/dist/{chunk-ACZH2NUW.js → chunk-4NQXHPQR.js} +6 -4
  266. package/dist/chunk-4NQXHPQR.js.map +1 -0
  267. package/dist/{chunk-QTWXVOPT.js → chunk-4OW4O4A2.js} +17 -11
  268. package/dist/chunk-4OW4O4A2.js.map +1 -0
  269. package/dist/{chunk-U2IRCTAR.js → chunk-4WCDMCIS.js} +2 -2
  270. package/dist/{chunk-2F4YEGYG.js → chunk-57FZM6GH.js} +5 -2
  271. package/dist/chunk-57FZM6GH.js.map +1 -0
  272. package/dist/{chunk-E6YBXAZN.js → chunk-5IAVC4BT.js} +6 -6
  273. package/dist/chunk-5IAVC4BT.js.map +1 -0
  274. package/dist/{chunk-OGTTJKHI.js → chunk-5QWQR7XT.js} +4 -4
  275. package/dist/{chunk-DRE6DSJ7.js → chunk-5TJRJSJY.js} +3 -3
  276. package/dist/{chunk-5ZQUJ7LT.js → chunk-5UTAEHSB.js} +5 -2
  277. package/dist/chunk-5UTAEHSB.js.map +1 -0
  278. package/dist/{chunk-XZBCPL4N.js → chunk-5W4BLTDI.js} +2 -2
  279. package/dist/{chunk-Z35J5B6D.js → chunk-62UAI62O.js} +9 -8
  280. package/dist/chunk-62UAI62O.js.map +1 -0
  281. package/dist/{chunk-YG2VQUZO.js → chunk-6BDYC4RA.js} +3 -3
  282. package/dist/{chunk-QHUTSAFG.js → chunk-6CTPDNNX.js} +4 -4
  283. package/dist/{chunk-CU4TF7C7.js → chunk-6GRZ77IS.js} +4 -4
  284. package/dist/{chunk-YLBRXDYH.js → chunk-7EIOXZWL.js} +2 -2
  285. package/dist/{chunk-BD2GGIGS.js → chunk-ADHMNIWS.js} +9 -5
  286. package/dist/chunk-ADHMNIWS.js.map +1 -0
  287. package/dist/{chunk-Y2E73IG2.js → chunk-AJ5SDHX5.js} +4 -4
  288. package/dist/chunk-AJ5SDHX5.js.map +1 -0
  289. package/dist/{chunk-ZHEZISMI.js → chunk-AK2HOD6B.js} +2 -2
  290. package/dist/{chunk-2PWVPTS3.js → chunk-AUHYR7ID.js} +11 -9
  291. package/dist/chunk-AUHYR7ID.js.map +1 -0
  292. package/dist/{chunk-QWHURFJ3.js → chunk-B2VXP2B2.js} +6 -3
  293. package/dist/chunk-B2VXP2B2.js.map +1 -0
  294. package/dist/{chunk-YSKGLU2V.js → chunk-B7BNNSM2.js} +8 -5
  295. package/dist/chunk-B7BNNSM2.js.map +1 -0
  296. package/dist/{chunk-7ZWC5CKA.js → chunk-BAFDSAWY.js} +10 -9
  297. package/dist/chunk-BAFDSAWY.js.map +1 -0
  298. package/dist/{chunk-VZAGBDZ2.js → chunk-BJZOBG24.js} +2 -2
  299. package/dist/{chunk-YDPUBGJ7.js → chunk-BNEWMFVB.js} +10 -6
  300. package/dist/chunk-BNEWMFVB.js.map +1 -0
  301. package/dist/{chunk-ZUQIOWLN.js → chunk-BSYPPO2I.js} +42 -38
  302. package/dist/chunk-BSYPPO2I.js.map +1 -0
  303. package/dist/{chunk-NXX3ZQKO.js → chunk-BYH5GPLT.js} +25 -20
  304. package/dist/chunk-BYH5GPLT.js.map +1 -0
  305. package/dist/{chunk-CS3RKXT5.js → chunk-CHFHILTM.js} +2 -2
  306. package/dist/{chunk-DMYBTD5Y.js → chunk-CPWWMGYR.js} +2 -2
  307. package/dist/{chunk-L4V2LRKH.js → chunk-CSN3F36H.js} +13 -8
  308. package/dist/chunk-CSN3F36H.js.map +1 -0
  309. package/dist/{chunk-XSMMFCMQ.js → chunk-CWDV64TD.js} +3 -3
  310. package/dist/{chunk-IUCTYNIR.js → chunk-CX66M55F.js} +18 -17
  311. package/dist/chunk-CX66M55F.js.map +1 -0
  312. package/dist/{chunk-PGNJCUDA.js → chunk-CZBND7AY.js} +38 -21
  313. package/dist/chunk-CZBND7AY.js.map +1 -0
  314. package/dist/{chunk-73HBIIRB.js → chunk-D2UDM2SU.js} +12 -8
  315. package/dist/chunk-D2UDM2SU.js.map +1 -0
  316. package/dist/{chunk-YU647YW4.js → chunk-DB2ZFZVW.js} +7 -4
  317. package/dist/chunk-DB2ZFZVW.js.map +1 -0
  318. package/dist/{chunk-GUVBR62X.js → chunk-DCJSHYE5.js} +4 -4
  319. package/dist/{chunk-VV7MGILP.js → chunk-DMWSXWCZ.js} +3 -3
  320. package/dist/{chunk-JYRQBZEV.js → chunk-DVAAUWTC.js} +2 -2
  321. package/dist/{chunk-C6NI3FAV.js → chunk-DVGBFT6O.js} +2 -2
  322. package/dist/{chunk-5RP3KXC7.js → chunk-DY4BP5WA.js} +7 -6
  323. package/dist/chunk-DY4BP5WA.js.map +1 -0
  324. package/dist/{chunk-W5ENK5CM.js → chunk-DZNMS2SH.js} +5 -5
  325. package/dist/{chunk-QO6QWBDI.js → chunk-E4TNDTWV.js} +7 -4
  326. package/dist/chunk-E4TNDTWV.js.map +1 -0
  327. package/dist/{chunk-IFSUKWE7.js → chunk-E7T3A4IR.js} +10 -6
  328. package/dist/chunk-E7T3A4IR.js.map +1 -0
  329. package/dist/{chunk-I6EVBLFX.js → chunk-EA2UNEL6.js} +20 -11
  330. package/dist/chunk-EA2UNEL6.js.map +1 -0
  331. package/dist/{chunk-5E3XZAED.js → chunk-EARWC6PD.js} +6 -2
  332. package/dist/chunk-EARWC6PD.js.map +1 -0
  333. package/dist/{chunk-NVNZFT5X.js → chunk-EIYTS5VZ.js} +23 -22
  334. package/dist/chunk-EIYTS5VZ.js.map +1 -0
  335. package/dist/{chunk-GN5EZPSL.js → chunk-EJYJLVPK.js} +37 -29
  336. package/dist/chunk-EJYJLVPK.js.map +1 -0
  337. package/dist/{chunk-F5KEWLZK.js → chunk-FC7NQ6XM.js} +4 -4
  338. package/dist/{chunk-MISZGWO7.js → chunk-FPVYD7BO.js} +13 -9
  339. package/dist/chunk-FPVYD7BO.js.map +1 -0
  340. package/dist/{chunk-NIS523UM.js → chunk-FWPFCK4D.js} +2 -2
  341. package/dist/{chunk-7VJH4FYU.js → chunk-FZ4YTEP2.js} +5 -5
  342. package/dist/chunk-FZ4YTEP2.js.map +1 -0
  343. package/dist/{chunk-UCTJJYVC.js → chunk-G4HBNILE.js} +2 -2
  344. package/dist/{chunk-2B76FIMN.js → chunk-GHTBUJ6E.js} +5 -3
  345. package/dist/chunk-GHTBUJ6E.js.map +1 -0
  346. package/dist/{chunk-5NFPO3YY.js → chunk-GJRKWDRR.js} +9 -4
  347. package/dist/chunk-GJRKWDRR.js.map +1 -0
  348. package/dist/{chunk-VDZQJBAV.js → chunk-GY4NBSCN.js} +5 -2
  349. package/dist/chunk-GY4NBSCN.js.map +1 -0
  350. package/dist/{chunk-57IB5NTM.js → chunk-HB7ISSLK.js} +2 -2
  351. package/dist/{chunk-WR7ELCIL.js → chunk-HCT5ELST.js} +9 -3
  352. package/dist/chunk-HCT5ELST.js.map +1 -0
  353. package/dist/{chunk-6Q5GZUQ5.js → chunk-HGMBY5LP.js} +2 -2
  354. package/dist/{chunk-2AKQPXSJ.js → chunk-HJPPNVCF.js} +2 -2
  355. package/dist/{chunk-MZMGQKT3.js → chunk-HN3PZTUK.js} +10 -6
  356. package/dist/chunk-HN3PZTUK.js.map +1 -0
  357. package/dist/{chunk-JOR6E23V.js → chunk-IGGXKT5B.js} +3 -3
  358. package/dist/{chunk-F52N6ACD.js → chunk-IM4DMKH4.js} +14 -9
  359. package/dist/chunk-IM4DMKH4.js.map +1 -0
  360. package/dist/{chunk-KLMP2BYC.js → chunk-IVJKILIX.js} +2 -2
  361. package/dist/{chunk-X7PVFAYJ.js → chunk-JGRE56GQ.js} +6 -3
  362. package/dist/chunk-JGRE56GQ.js.map +1 -0
  363. package/dist/{chunk-MRB6GROF.js → chunk-JJJM75XF.js} +12 -12
  364. package/dist/chunk-JJJM75XF.js.map +1 -0
  365. package/dist/{chunk-HJWOB62A.js → chunk-JJSZP3TW.js} +4 -4
  366. package/dist/{chunk-AI7NVWIG.js → chunk-JOKWTRWL.js} +2 -2
  367. package/dist/{chunk-AI7NVWIG.js.map → chunk-JOKWTRWL.js.map} +1 -1
  368. package/dist/{chunk-JCJGJX7V.js → chunk-K4EKTMTC.js} +10 -6
  369. package/dist/chunk-K4EKTMTC.js.map +1 -0
  370. package/dist/{chunk-UCA47HM7.js → chunk-KCAW6HRO.js} +2 -2
  371. package/dist/{chunk-7HFGVT3G.js → chunk-KJDBY2KN.js} +31 -27
  372. package/dist/chunk-KJDBY2KN.js.map +1 -0
  373. package/dist/{chunk-LOJK733T.js → chunk-KJK2Q35C.js} +9 -5
  374. package/dist/chunk-KJK2Q35C.js.map +1 -0
  375. package/dist/{chunk-VAGHW3K2.js → chunk-KREWQAEV.js} +9 -4
  376. package/dist/chunk-KREWQAEV.js.map +1 -0
  377. package/dist/{chunk-KE5MX4PI.js → chunk-L3B36HA5.js} +2 -2
  378. package/dist/{chunk-OLZTGVBT.js → chunk-LYVTJLCF.js} +2 -2
  379. package/dist/{chunk-4M34ALEP.js → chunk-M3MHYE2M.js} +7 -8
  380. package/dist/chunk-M3MHYE2M.js.map +1 -0
  381. package/dist/{chunk-2WGMMFGV.js → chunk-M5ZXL52T.js} +15 -14
  382. package/dist/chunk-M5ZXL52T.js.map +1 -0
  383. package/dist/{chunk-C6FRVGMC.js → chunk-M6PWPEAV.js} +10 -7
  384. package/dist/chunk-M6PWPEAV.js.map +1 -0
  385. package/dist/{chunk-WW4N2LRM.js → chunk-MBC55H6M.js} +4 -4
  386. package/dist/{chunk-AATIHNPI.js → chunk-MK4CH4VT.js} +2 -2
  387. package/dist/{chunk-RV4Y4O67.js → chunk-MLQYIJTO.js} +6 -5
  388. package/dist/chunk-MLQYIJTO.js.map +1 -0
  389. package/dist/{chunk-A2CTAEIS.js → chunk-MO47Y26B.js} +24 -23
  390. package/dist/chunk-MO47Y26B.js.map +1 -0
  391. package/dist/{chunk-XRMZMBE3.js → chunk-MTEQEPNY.js} +7 -3
  392. package/dist/chunk-MTEQEPNY.js.map +1 -0
  393. package/dist/{chunk-JWK4GI2I.js → chunk-N2GEKC4J.js} +32 -20
  394. package/dist/chunk-N2GEKC4J.js.map +1 -0
  395. package/dist/{chunk-AJSPLHG4.js → chunk-NNQCWXGY.js} +8 -5
  396. package/dist/chunk-NNQCWXGY.js.map +1 -0
  397. package/dist/{chunk-IDO4EV7T.js → chunk-NR5TW4AH.js} +3 -3
  398. package/dist/{chunk-O26MKGIC.js → chunk-NRIV2CQ2.js} +12 -6
  399. package/dist/chunk-NRIV2CQ2.js.map +1 -0
  400. package/dist/{chunk-6DC5SVHM.js → chunk-NSKQANRY.js} +2 -2
  401. package/dist/{chunk-24NXQG5F.js → chunk-ODFJTEIL.js} +11 -10
  402. package/dist/chunk-ODFJTEIL.js.map +1 -0
  403. package/dist/{chunk-MLBKACV6.js → chunk-OG6LYQ7C.js} +13 -11
  404. package/dist/chunk-OG6LYQ7C.js.map +1 -0
  405. package/dist/{chunk-H6YVO55T.js → chunk-OHZU4IT3.js} +17 -13
  406. package/dist/chunk-OHZU4IT3.js.map +1 -0
  407. package/dist/{chunk-EAE5Z5HL.js → chunk-OJ2XR3WH.js} +2 -2
  408. package/dist/{chunk-BR7RM3WR.js → chunk-OZPLAOI4.js} +2 -2
  409. package/dist/{chunk-DZHN5FFX.js → chunk-PBMCRDZI.js} +7 -6
  410. package/dist/chunk-PBMCRDZI.js.map +1 -0
  411. package/dist/{chunk-ZXSUWFQX.js → chunk-PGPPN63I.js} +8 -5
  412. package/dist/chunk-PGPPN63I.js.map +1 -0
  413. package/dist/{chunk-ZWSS3K4F.js → chunk-PL2AB5HJ.js} +11 -6
  414. package/dist/chunk-PL2AB5HJ.js.map +1 -0
  415. package/dist/{chunk-ZTKLKOOO.js → chunk-POV2KL2P.js} +21 -20
  416. package/dist/chunk-POV2KL2P.js.map +1 -0
  417. package/dist/{chunk-GIRRCEVH.js → chunk-PT2XADGH.js} +4 -4
  418. package/dist/{chunk-5ZTQTJAJ.js → chunk-PWF32ILG.js} +4 -4
  419. package/dist/{chunk-65YAR3OZ.js → chunk-Q2YNXJEL.js} +11 -7
  420. package/dist/chunk-Q2YNXJEL.js.map +1 -0
  421. package/dist/{chunk-DBCITC4P.js → chunk-QB3TVUPD.js} +6 -6
  422. package/dist/{chunk-I2CRLUS7.js → chunk-QIKPGMMO.js} +2 -2
  423. package/dist/{chunk-MXZ43UCQ.js → chunk-QOLIBVGS.js} +3 -3
  424. package/dist/{chunk-TPQVLBTY.js → chunk-R2WMSXQR.js} +3 -3
  425. package/dist/{chunk-ULIM42PE.js → chunk-RIF6L54B.js} +10 -8
  426. package/dist/chunk-RIF6L54B.js.map +1 -0
  427. package/dist/{chunk-M5T3COS2.js → chunk-RIRTW5EU.js} +17 -5
  428. package/dist/chunk-RIRTW5EU.js.map +1 -0
  429. package/dist/{chunk-JHEGDDZQ.js → chunk-RKI3MRKX.js} +6 -3
  430. package/dist/chunk-RKI3MRKX.js.map +1 -0
  431. package/dist/{chunk-SYNMQWT4.js → chunk-RL2UIC4E.js} +7 -4
  432. package/dist/chunk-RL2UIC4E.js.map +1 -0
  433. package/dist/{chunk-RORP6DWR.js → chunk-RZ2C5CAW.js} +13 -12
  434. package/dist/chunk-RZ2C5CAW.js.map +1 -0
  435. package/dist/{chunk-UO7ERXYX.js → chunk-S3D5VBHW.js} +16 -6
  436. package/dist/chunk-S3D5VBHW.js.map +1 -0
  437. package/dist/{chunk-SCRN2RE4.js → chunk-S5UY5U73.js} +1 -2
  438. package/dist/chunk-S5UY5U73.js.map +1 -0
  439. package/dist/{chunk-4V532JF6.js → chunk-SOHQPPYJ.js} +8 -6
  440. package/dist/chunk-SOHQPPYJ.js.map +1 -0
  441. package/dist/{chunk-XREYLKUX.js → chunk-SQYC57ZN.js} +12 -11
  442. package/dist/chunk-SQYC57ZN.js.map +1 -0
  443. package/dist/{chunk-F7HQVKIR.js → chunk-SYVNWXVW.js} +4 -4
  444. package/dist/{chunk-CMTR3WEA.js → chunk-TNQDSTIA.js} +30 -33
  445. package/dist/chunk-TNQDSTIA.js.map +1 -0
  446. package/dist/{chunk-MGC4QOMP.js → chunk-TQ2557I5.js} +1 -1
  447. package/dist/{chunk-C7TCBAVX.js → chunk-TQBRWZA4.js} +2 -2
  448. package/dist/{chunk-56QVP2MU.js → chunk-TQCQCW2P.js} +18 -11
  449. package/dist/chunk-TQCQCW2P.js.map +1 -0
  450. package/dist/{chunk-CZT3AV7I.js → chunk-TRHWA74K.js} +6 -3
  451. package/dist/chunk-TRHWA74K.js.map +1 -0
  452. package/dist/{chunk-EDO2WS5B.js → chunk-TXGB2WSW.js} +7 -4
  453. package/dist/chunk-TXGB2WSW.js.map +1 -0
  454. package/dist/{chunk-NNQLDFKG.js → chunk-TYBZ4XZZ.js} +15 -9
  455. package/dist/chunk-TYBZ4XZZ.js.map +1 -0
  456. package/dist/{chunk-TEUX42YW.js → chunk-TZASFX6G.js} +10 -7
  457. package/dist/chunk-TZASFX6G.js.map +1 -0
  458. package/dist/{chunk-BO2SDMNQ.js → chunk-U4QUDFPJ.js} +2 -2
  459. package/dist/{chunk-AQSX3YH2.js → chunk-UL7L6MFT.js} +18 -10
  460. package/dist/chunk-UL7L6MFT.js.map +1 -0
  461. package/dist/{chunk-SKX4NA6E.js → chunk-V74PXUQN.js} +8 -8
  462. package/dist/{chunk-A2DYU5WN.js → chunk-VIUDWOV6.js} +5 -6
  463. package/dist/chunk-VIUDWOV6.js.map +1 -0
  464. package/dist/{chunk-5ZT4ZIZB.js → chunk-VNOFFVRQ.js} +6 -3
  465. package/dist/chunk-VNOFFVRQ.js.map +1 -0
  466. package/dist/{chunk-UMP5MQ7X.js → chunk-WFAJTO2B.js} +27 -26
  467. package/dist/chunk-WFAJTO2B.js.map +1 -0
  468. package/dist/{chunk-OYP27CYE.js → chunk-WOAXKWAB.js} +2 -2
  469. package/dist/{chunk-W3CLJ7JE.js → chunk-WPA26LXA.js} +4 -4
  470. package/dist/{chunk-2X5OQDPH.js → chunk-WRCLYSTX.js} +7 -4
  471. package/dist/chunk-WRCLYSTX.js.map +1 -0
  472. package/dist/{chunk-X4PS3E3V.js → chunk-X6AIKCAV.js} +8 -5
  473. package/dist/chunk-X6AIKCAV.js.map +1 -0
  474. package/dist/{chunk-KTYZRAB7.js → chunk-XJPJ6ESI.js} +9 -6
  475. package/dist/chunk-XJPJ6ESI.js.map +1 -0
  476. package/dist/{chunk-GVLMG5WQ.js → chunk-XZW2U6KR.js} +9 -9
  477. package/dist/chunk-XZW2U6KR.js.map +1 -0
  478. package/dist/{chunk-LI6OLYUB.js → chunk-YBTC4XNO.js} +2 -2
  479. package/dist/chunk-YLGY3D52.js +62 -0
  480. package/dist/chunk-YLGY3D52.js.map +1 -0
  481. package/dist/{chunk-H3B5PIM3.js → chunk-YYVB7IWQ.js} +19 -11
  482. package/dist/chunk-YYVB7IWQ.js.map +1 -0
  483. package/dist/{chunk-OOSD7363.js → chunk-ZAFFKQQU.js} +6 -6
  484. package/dist/chunk-ZAFFKQQU.js.map +1 -0
  485. package/dist/{chunk-IT7ATXU7.js → chunk-ZHV7TCAC.js} +15 -11
  486. package/dist/chunk-ZHV7TCAC.js.map +1 -0
  487. package/dist/{chunk-KUVOMH5I.js → chunk-ZZ4MMUBY.js} +5 -4
  488. package/dist/chunk-ZZ4MMUBY.js.map +1 -0
  489. package/dist/data-display/Alert.js +3 -3
  490. package/dist/data-display/AlertDialog.js +2 -2
  491. package/dist/data-display/AsyncStateContainer.js +5 -5
  492. package/dist/data-display/Avatar.js +4 -4
  493. package/dist/data-display/Badge.js +6 -6
  494. package/dist/data-display/Banner.js +3 -3
  495. package/dist/data-display/CardKit.js +12 -12
  496. package/dist/data-display/Carousel.js +6 -6
  497. package/dist/data-display/Chart.js +8 -8
  498. package/dist/data-display/Chip.js +3 -2
  499. package/dist/data-display/DataGrid.js +3 -2
  500. package/dist/data-display/DataViews.js +49 -49
  501. package/dist/data-display/DescriptionItem.js +2 -2
  502. package/dist/data-display/EmptyState.js +2 -1
  503. package/dist/data-display/ErrorState.js +1 -1
  504. package/dist/data-display/FleetMap.js +17 -17
  505. package/dist/data-display/HoverCard.js +5 -4
  506. package/dist/data-display/InteractiveTooltip.js +4 -4
  507. package/dist/data-display/LazyImage.js +3 -2
  508. package/dist/data-display/Lightbox.js +9 -9
  509. package/dist/data-display/LoadingState.js +2 -1
  510. package/dist/data-display/MapPreview.js +12 -12
  511. package/dist/data-display/Popover.js +2 -1
  512. package/dist/data-display/Progress.js +3 -3
  513. package/dist/data-display/SectionOnboarding.js +4 -4
  514. package/dist/data-display/Sheet.js +7 -7
  515. package/dist/data-display/StatCard.js +2 -2
  516. package/dist/data-display/Stepper.js +2 -2
  517. package/dist/data-display/Table.js +2 -2
  518. package/dist/data-display/Timeline.js +3 -3
  519. package/dist/data-display/TimingDiagram.js +3 -3
  520. package/dist/data-display/Tooltip.js +2 -2
  521. package/dist/feedback/ConfirmAction.js +6 -6
  522. package/dist/feedback/NotificationStatusNotice.js +4 -4
  523. package/dist/feedback/Sonner.js +1 -1
  524. package/dist/form/AddressAutocomplete.js +1 -1
  525. package/dist/form/Button.js +1 -1
  526. package/dist/form/CategorySelect.js +1 -1
  527. package/dist/form/CepField.js +1 -1
  528. package/dist/form/Checkbox.js +1 -1
  529. package/dist/form/CodeEditor.js +1 -1
  530. package/dist/form/Command.js +1 -1
  531. package/dist/form/CreatableSelect.js +1 -1
  532. package/dist/form/DateRangePicker.js +6 -6
  533. package/dist/form/InputOTP.js +1 -1
  534. package/dist/form/Label.js +1 -1
  535. package/dist/form/Menubar.js +1 -1
  536. package/dist/form/PhoneInput.js +1 -1
  537. package/dist/form/RadioGroup.js +1 -1
  538. package/dist/form/RichTextEditor.js +1 -1
  539. package/dist/form/Slider.js +1 -1
  540. package/dist/form/Switch.js +1 -1
  541. package/dist/form/Textarea.js +2 -2
  542. package/dist/form/Toggle.js +1 -1
  543. package/dist/form/ToggleGroup.js +1 -1
  544. package/dist/form/total-form.js +1 -1
  545. package/dist/icons.js +1 -1
  546. package/dist/layout/Box.js +1 -1
  547. package/dist/layout/ContentToolbar.js +1 -1
  548. package/dist/layout/Stack.js +1 -1
  549. package/dist/layout/TableFilter.js +1 -1
  550. package/dist/navigation/AppHeader.js +8 -8
  551. package/dist/navigation/Breadcrumbs.js +4 -4
  552. package/dist/navigation/CommandPalette.js +1 -1
  553. package/dist/navigation/ContextMenu.js +1 -1
  554. package/dist/navigation/DropdownMenu.js +1 -1
  555. package/dist/navigation/NavigationMenu.js +7 -7
  556. package/dist/navigation/Pagination.js +1 -1
  557. package/dist/provider.js +1 -1
  558. package/dist/social-login-button.js +1 -1
  559. package/dist/tokens.js +7 -7
  560. package/dist/types/components/data-display/Alert/Alert.styles.d.ts +4 -4
  561. package/dist/types/components/data-display/Alert/Alert.styles.d.ts.map +1 -1
  562. package/dist/types/components/data-display/AlertDialog/AlertDialog.d.ts.map +1 -1
  563. package/dist/types/components/data-display/Avatar/Avatar.animations.d.ts +2 -1
  564. package/dist/types/components/data-display/Avatar/Avatar.animations.d.ts.map +1 -1
  565. package/dist/types/components/data-display/Avatar/Avatar.d.ts.map +1 -1
  566. package/dist/types/components/data-display/Avatar/Avatar.view.d.ts.map +1 -1
  567. package/dist/types/components/data-display/Badge/Badge.animations.d.ts +4 -3
  568. package/dist/types/components/data-display/Badge/Badge.animations.d.ts.map +1 -1
  569. package/dist/types/components/data-display/Badge/Badge.styles.d.ts +6 -5
  570. package/dist/types/components/data-display/Badge/Badge.styles.d.ts.map +1 -1
  571. package/dist/types/components/data-display/Badge/BadgeContent.d.ts.map +1 -1
  572. package/dist/types/components/data-display/Banner/Banner.styles.d.ts +1 -1
  573. package/dist/types/components/data-display/Banner/Banner.styles.d.ts.map +1 -1
  574. package/dist/types/components/data-display/Carousel/Carousel.d.ts.map +1 -1
  575. package/dist/types/components/data-display/Carousel/Carousel.parts.d.ts.map +1 -1
  576. package/dist/types/components/data-display/Carousel/Carousel.slide.d.ts.map +1 -1
  577. package/dist/types/components/data-display/Carousel/Carousel.styles.d.ts +14 -2
  578. package/dist/types/components/data-display/Carousel/Carousel.styles.d.ts.map +1 -1
  579. package/dist/types/components/data-display/Chart/ChartComposables.d.ts +3 -1
  580. package/dist/types/components/data-display/Chart/ChartComposables.d.ts.map +1 -1
  581. package/dist/types/components/data-display/Chart/chart-axis.d.ts +9 -3
  582. package/dist/types/components/data-display/Chart/chart-axis.d.ts.map +1 -1
  583. package/dist/types/components/data-display/Chart/chart-context.d.ts.map +1 -1
  584. package/dist/types/components/data-display/Chart/chart-internals.d.ts +5 -1
  585. package/dist/types/components/data-display/Chart/chart-internals.d.ts.map +1 -1
  586. package/dist/types/components/data-display/Chart/chart-renderers.d.ts.map +1 -1
  587. package/dist/types/components/data-display/Chip/Chip.styles.d.ts.map +1 -1
  588. package/dist/types/components/data-display/DataGrid/DataGrid.states.d.ts.map +1 -1
  589. package/dist/types/components/data-display/DataViews/DataViewsBoard.d.ts.map +1 -1
  590. package/dist/types/components/data-display/DataViews/base-card.d.ts.map +1 -1
  591. package/dist/types/components/data-display/DataViews/base-list-card-geometry.d.ts +21 -17
  592. package/dist/types/components/data-display/DataViews/base-list-card-geometry.d.ts.map +1 -1
  593. package/dist/types/components/data-display/DataViews/base-list-card-gutters.d.ts.map +1 -1
  594. package/dist/types/components/data-display/DataViews/base-list-card-slots.d.ts.map +1 -1
  595. package/dist/types/components/data-display/DataViews/card-surface.d.ts +1 -1
  596. package/dist/types/components/data-display/DataViews/card-surface.d.ts.map +1 -1
  597. package/dist/types/components/data-display/DataViews/data-views-day-input.d.ts.map +1 -1
  598. package/dist/types/components/data-display/DataViews/data-views-display-panel.d.ts.map +1 -1
  599. package/dist/types/components/data-display/DataViews/data-views-drag.d.ts.map +1 -1
  600. package/dist/types/components/data-display/DataViews/data-views-empty.d.ts.map +1 -1
  601. package/dist/types/components/data-display/DataViews/data-views-export.d.ts.map +1 -1
  602. package/dist/types/components/data-display/DataViews/data-views-glyphs.d.ts +3 -2
  603. package/dist/types/components/data-display/DataViews/data-views-glyphs.d.ts.map +1 -1
  604. package/dist/types/components/data-display/DataViews/data-views-grid-helpers.d.ts +2 -1
  605. package/dist/types/components/data-display/DataViews/data-views-grid-helpers.d.ts.map +1 -1
  606. package/dist/types/components/data-display/DataViews/data-views-more-filters.d.ts.map +1 -1
  607. package/dist/types/components/data-display/DataViews/data-views-number-input.d.ts.map +1 -1
  608. package/dist/types/components/data-display/DataViews/data-views-scopes.d.ts.map +1 -1
  609. package/dist/types/components/data-display/DataViews/data-views-search.d.ts.map +1 -1
  610. package/dist/types/components/data-display/DataViews/data-views-toolbar.d.ts.map +1 -1
  611. package/dist/types/components/data-display/DataViews/save-view-preview.d.ts.map +1 -1
  612. package/dist/types/components/data-display/DateTimeDisplay/DateTimeDisplay.d.ts.map +1 -1
  613. package/dist/types/components/data-display/DescriptionItem/DescriptionItem.d.ts.map +1 -1
  614. package/dist/types/components/data-display/EmptyState/EmptyState.d.ts.map +1 -1
  615. package/dist/types/components/data-display/FleetMap/FleetBody.d.ts.map +1 -1
  616. package/dist/types/components/data-display/FleetMap/FleetMap.d.ts.map +1 -1
  617. package/dist/types/components/data-display/FleetMap/FleetRoster.d.ts.map +1 -1
  618. package/dist/types/components/data-display/HoverCard/HoverCard.animations.d.ts +6 -5
  619. package/dist/types/components/data-display/HoverCard/HoverCard.animations.d.ts.map +1 -1
  620. package/dist/types/components/data-display/HoverCard/HoverCard.content.d.ts.map +1 -1
  621. package/dist/types/components/data-display/HoverCard/HoverCard.d.ts.map +1 -1
  622. package/dist/types/components/data-display/HoverCard/HoverCard.styles.d.ts.map +1 -1
  623. package/dist/types/components/data-display/InteractiveTooltip/InteractiveTooltip.d.ts.map +1 -1
  624. package/dist/types/components/data-display/InteractiveTooltip/InteractiveTooltip.hooks.d.ts +1 -1
  625. package/dist/types/components/data-display/InteractiveTooltip/InteractiveTooltip.hooks.d.ts.map +1 -1
  626. package/dist/types/components/data-display/InteractiveTooltip/InteractiveTooltip.styles.d.ts +6 -1
  627. package/dist/types/components/data-display/InteractiveTooltip/InteractiveTooltip.styles.d.ts.map +1 -1
  628. package/dist/types/components/data-display/LazyImage/LazyImage.d.ts.map +1 -1
  629. package/dist/types/components/data-display/LazyImage/LazyImage.hooks.d.ts +1 -1
  630. package/dist/types/components/data-display/LazyImage/LazyImage.hooks.d.ts.map +1 -1
  631. package/dist/types/components/data-display/Lightbox/Lightbox.constants.d.ts +5 -1
  632. package/dist/types/components/data-display/Lightbox/Lightbox.constants.d.ts.map +1 -1
  633. package/dist/types/components/data-display/Lightbox/Lightbox.d.ts.map +1 -1
  634. package/dist/types/components/data-display/Lightbox/Lightbox.hooks.d.ts.map +1 -1
  635. package/dist/types/components/data-display/Lightbox/LightboxControls.d.ts.map +1 -1
  636. package/dist/types/components/data-display/Lightbox/LightboxStage.d.ts.map +1 -1
  637. package/dist/types/components/data-display/Lightbox/LightboxThumbnails.d.ts.map +1 -1
  638. package/dist/types/components/data-display/LoadingState/LoadingState.d.ts.map +1 -1
  639. package/dist/types/components/data-display/MapPreview/MapControlBar.d.ts.map +1 -1
  640. package/dist/types/components/data-display/MapPreview/MapLayers.d.ts.map +1 -1
  641. package/dist/types/components/data-display/MapPreview/MapOverlays.d.ts +5 -2
  642. package/dist/types/components/data-display/MapPreview/MapOverlays.d.ts.map +1 -1
  643. package/dist/types/components/data-display/MapPreview/MapPreview.d.ts.map +1 -1
  644. package/dist/types/components/data-display/MapPreview/MapPreview.helpers.d.ts +1 -1
  645. package/dist/types/components/data-display/MapPreview/MapPreview.helpers.d.ts.map +1 -1
  646. package/dist/types/components/data-display/MapPreview/MapSearchBar.d.ts.map +1 -1
  647. package/dist/types/components/data-display/MapPreview/mapSurface.d.ts +2 -2
  648. package/dist/types/components/data-display/MapPreview/mapSurface.d.ts.map +1 -1
  649. package/dist/types/components/data-display/Popover/Popover.d.ts.map +1 -1
  650. package/dist/types/components/data-display/Progress/Progress.d.ts.map +1 -1
  651. package/dist/types/components/data-display/Progress/Progress.styles.d.ts +9 -7
  652. package/dist/types/components/data-display/Progress/Progress.styles.d.ts.map +1 -1
  653. package/dist/types/components/data-display/Sheet/Sheet.animations.d.ts +4 -3
  654. package/dist/types/components/data-display/Sheet/Sheet.animations.d.ts.map +1 -1
  655. package/dist/types/components/data-display/Sheet/Sheet.body.d.ts.map +1 -1
  656. package/dist/types/components/data-display/Sheet/Sheet.parts.d.ts.map +1 -1
  657. package/dist/types/components/data-display/Sheet/Sheet.styles.d.ts.map +1 -1
  658. package/dist/types/components/data-display/StatCard/StatCard.d.ts.map +1 -1
  659. package/dist/types/components/data-display/Table/Table.d.ts.map +1 -1
  660. package/dist/types/components/data-display/Table/Table.styles.d.ts.map +1 -1
  661. package/dist/types/components/data-display/Timeline/Timeline.d.ts.map +1 -1
  662. package/dist/types/components/data-display/Timeline/TimelineRow.d.ts.map +1 -1
  663. package/dist/types/components/data-display/TimingDiagram/TimingDiagram.d.ts.map +1 -1
  664. package/dist/types/components/data-display/TimingDiagram/TimingDiagram.views.d.ts +2 -1
  665. package/dist/types/components/data-display/TimingDiagram/TimingDiagram.views.d.ts.map +1 -1
  666. package/dist/types/components/data-display/Tooltip/Tooltip.d.ts.map +1 -1
  667. package/dist/typography/Blockquote.js +1 -1
  668. package/dist/typography/Code.js +1 -1
  669. package/dist/typography/Text.js +1 -1
  670. package/dist/user-avatar.js +5 -5
  671. package/dist/utility/AnimatedIcon.js +1 -1
  672. package/dist/utility/WorkflowStep.js +1 -1
  673. package/package.json +1 -1
  674. package/src/components/data-display/Alert/Alert.styles.tsx +22 -21
  675. package/src/components/data-display/Alert/Alert.tsx +8 -8
  676. package/src/components/data-display/AlertDialog/AlertDialog.tsx +12 -10
  677. package/src/components/data-display/Avatar/Avatar.animations.ts +5 -2
  678. package/src/components/data-display/Avatar/Avatar.tsx +4 -3
  679. package/src/components/data-display/Avatar/Avatar.view.tsx +31 -37
  680. package/src/components/data-display/Badge/Badge.animations.ts +13 -10
  681. package/src/components/data-display/Badge/Badge.styles.ts +30 -40
  682. package/src/components/data-display/Badge/Badge.variants.ts +13 -13
  683. package/src/components/data-display/Badge/BadgeContent.tsx +10 -4
  684. package/src/components/data-display/Banner/Banner.styles.ts +8 -8
  685. package/src/components/data-display/Banner/Banner.tsx +4 -4
  686. package/src/components/data-display/CardKit/list-card-parts.tsx +1 -1
  687. package/src/components/data-display/Carousel/Carousel.parts.tsx +13 -11
  688. package/src/components/data-display/Carousel/Carousel.slide.tsx +3 -2
  689. package/src/components/data-display/Carousel/Carousel.styles.ts +34 -16
  690. package/src/components/data-display/Carousel/Carousel.tsx +2 -3
  691. package/src/components/data-display/Chart/Chart.tsx +4 -4
  692. package/src/components/data-display/Chart/ChartComposables.tsx +16 -5
  693. package/src/components/data-display/Chart/chart-axis.ts +13 -9
  694. package/src/components/data-display/Chart/chart-context.ts +17 -2
  695. package/src/components/data-display/Chart/chart-internals.ts +30 -13
  696. package/src/components/data-display/Chart/chart-renderers.tsx +2 -1
  697. package/src/components/data-display/Chip/Chip.styles.tsx +4 -3
  698. package/src/components/data-display/DataGrid/DataGrid.states.tsx +3 -1
  699. package/src/components/data-display/DataViews/DataViewsBoard.tsx +16 -8
  700. package/src/components/data-display/DataViews/base-card.tsx +12 -11
  701. package/src/components/data-display/DataViews/base-list-card-geometry.tsx +28 -19
  702. package/src/components/data-display/DataViews/base-list-card-gutters.tsx +2 -1
  703. package/src/components/data-display/DataViews/base-list-card-slots.tsx +13 -11
  704. package/src/components/data-display/DataViews/card-surface.ts +19 -18
  705. package/src/components/data-display/DataViews/data-views-day-input.tsx +2 -1
  706. package/src/components/data-display/DataViews/data-views-display-panel.tsx +5 -4
  707. package/src/components/data-display/DataViews/data-views-display-tabs.tsx +6 -6
  708. package/src/components/data-display/DataViews/data-views-drag.tsx +7 -5
  709. package/src/components/data-display/DataViews/data-views-empty.tsx +2 -1
  710. package/src/components/data-display/DataViews/data-views-export.tsx +5 -3
  711. package/src/components/data-display/DataViews/data-views-glyphs.tsx +17 -14
  712. package/src/components/data-display/DataViews/data-views-grid-helpers.tsx +8 -5
  713. package/src/components/data-display/DataViews/data-views-more-filters.tsx +5 -4
  714. package/src/components/data-display/DataViews/data-views-number-input.tsx +2 -1
  715. package/src/components/data-display/DataViews/data-views-range-pill.tsx +1 -1
  716. package/src/components/data-display/DataViews/data-views-scopes.tsx +12 -6
  717. package/src/components/data-display/DataViews/data-views-search.tsx +9 -8
  718. package/src/components/data-display/DataViews/data-views-toolbar.tsx +2 -1
  719. package/src/components/data-display/DataViews/data-views-view-nav.tsx +4 -4
  720. package/src/components/data-display/DataViews/save-view-preview.tsx +3 -2
  721. package/src/components/data-display/DateTimeDisplay/DateTimeDisplay.tsx +4 -3
  722. package/src/components/data-display/DescriptionItem/DescriptionItem.tsx +6 -3
  723. package/src/components/data-display/EmptyState/EmptyState.tsx +6 -5
  724. package/src/components/data-display/ErrorState/ErrorState.tsx +6 -6
  725. package/src/components/data-display/FleetMap/FleetBody.tsx +4 -1
  726. package/src/components/data-display/FleetMap/FleetMap.tsx +6 -4
  727. package/src/components/data-display/FleetMap/FleetRoster.tsx +7 -5
  728. package/src/components/data-display/HoverCard/HoverCard.animations.ts +13 -11
  729. package/src/components/data-display/HoverCard/HoverCard.content.tsx +8 -5
  730. package/src/components/data-display/HoverCard/HoverCard.styles.ts +40 -38
  731. package/src/components/data-display/HoverCard/HoverCard.tsx +19 -8
  732. package/src/components/data-display/InteractiveTooltip/InteractiveTooltip.hooks.ts +2 -2
  733. package/src/components/data-display/InteractiveTooltip/InteractiveTooltip.styles.ts +25 -12
  734. package/src/components/data-display/InteractiveTooltip/InteractiveTooltip.tsx +3 -2
  735. package/src/components/data-display/LazyImage/LazyImage.hooks.ts +8 -3
  736. package/src/components/data-display/LazyImage/LazyImage.tsx +48 -23
  737. package/src/components/data-display/Lightbox/Lightbox.constants.ts +7 -2
  738. package/src/components/data-display/Lightbox/Lightbox.hooks.ts +7 -4
  739. package/src/components/data-display/Lightbox/Lightbox.tsx +3 -2
  740. package/src/components/data-display/Lightbox/LightboxControls.tsx +6 -5
  741. package/src/components/data-display/Lightbox/LightboxStage.tsx +30 -18
  742. package/src/components/data-display/Lightbox/LightboxThumbnails.tsx +10 -8
  743. package/src/components/data-display/LoadingState/LoadingState.tsx +4 -3
  744. package/src/components/data-display/MapPreview/MapControlBar.tsx +3 -2
  745. package/src/components/data-display/MapPreview/MapDecorations.tsx +12 -12
  746. package/src/components/data-display/MapPreview/MapLayers.tsx +1 -2
  747. package/src/components/data-display/MapPreview/MapMarkers.tsx +8 -8
  748. package/src/components/data-display/MapPreview/MapOverlays.tsx +8 -5
  749. package/src/components/data-display/MapPreview/MapPreview.helpers.ts +3 -4
  750. package/src/components/data-display/MapPreview/MapPreview.tsx +3 -1
  751. package/src/components/data-display/MapPreview/MapSearchBar.tsx +4 -3
  752. package/src/components/data-display/MapPreview/mapSurface.ts +6 -4
  753. package/src/components/data-display/Popover/Popover.tsx +23 -11
  754. package/src/components/data-display/Progress/Progress.styles.ts +20 -11
  755. package/src/components/data-display/Progress/Progress.tsx +12 -9
  756. package/src/components/data-display/Sheet/Sheet.animations.ts +11 -9
  757. package/src/components/data-display/Sheet/Sheet.body.tsx +2 -1
  758. package/src/components/data-display/Sheet/Sheet.parts.tsx +8 -7
  759. package/src/components/data-display/Sheet/Sheet.styles.ts +35 -30
  760. package/src/components/data-display/StatCard/StatCard.tsx +4 -3
  761. package/src/components/data-display/Stepper/Stepper.tsx +17 -17
  762. package/src/components/data-display/Table/Table.styles.ts +21 -20
  763. package/src/components/data-display/Table/Table.tsx +26 -16
  764. package/src/components/data-display/Timeline/Timeline.tsx +4 -3
  765. package/src/components/data-display/Timeline/TimelineRow.tsx +23 -22
  766. package/src/components/data-display/TimingDiagram/TimingDiagram.tsx +8 -7
  767. package/src/components/data-display/TimingDiagram/TimingDiagram.views.tsx +29 -28
  768. package/src/components/data-display/Tooltip/Tooltip.tsx +23 -10
  769. package/dist/chunk-24NXQG5F.js.map +0 -1
  770. package/dist/chunk-2B76FIMN.js.map +0 -1
  771. package/dist/chunk-2F4YEGYG.js.map +0 -1
  772. package/dist/chunk-2PWVPTS3.js.map +0 -1
  773. package/dist/chunk-2WGMMFGV.js.map +0 -1
  774. package/dist/chunk-2X5OQDPH.js.map +0 -1
  775. package/dist/chunk-3GQ6PNEM.js.map +0 -1
  776. package/dist/chunk-4M34ALEP.js.map +0 -1
  777. package/dist/chunk-4V532JF6.js.map +0 -1
  778. package/dist/chunk-56QVP2MU.js.map +0 -1
  779. package/dist/chunk-5E3XZAED.js.map +0 -1
  780. package/dist/chunk-5NFPO3YY.js.map +0 -1
  781. package/dist/chunk-5RP3KXC7.js.map +0 -1
  782. package/dist/chunk-5VWYCVXF.js.map +0 -1
  783. package/dist/chunk-5ZQUJ7LT.js.map +0 -1
  784. package/dist/chunk-5ZT4ZIZB.js.map +0 -1
  785. package/dist/chunk-65YAR3OZ.js.map +0 -1
  786. package/dist/chunk-73HBIIRB.js.map +0 -1
  787. package/dist/chunk-7HFGVT3G.js.map +0 -1
  788. package/dist/chunk-7VJH4FYU.js.map +0 -1
  789. package/dist/chunk-7ZWC5CKA.js.map +0 -1
  790. package/dist/chunk-A2CTAEIS.js.map +0 -1
  791. package/dist/chunk-A2DYU5WN.js.map +0 -1
  792. package/dist/chunk-ACZH2NUW.js.map +0 -1
  793. package/dist/chunk-AJSPLHG4.js.map +0 -1
  794. package/dist/chunk-AQSX3YH2.js.map +0 -1
  795. package/dist/chunk-BD2GGIGS.js.map +0 -1
  796. package/dist/chunk-BNU4RLEC.js.map +0 -1
  797. package/dist/chunk-C6FRVGMC.js.map +0 -1
  798. package/dist/chunk-CMTR3WEA.js.map +0 -1
  799. package/dist/chunk-CZT3AV7I.js.map +0 -1
  800. package/dist/chunk-DZHN5FFX.js.map +0 -1
  801. package/dist/chunk-E6YBXAZN.js.map +0 -1
  802. package/dist/chunk-EDO2WS5B.js.map +0 -1
  803. package/dist/chunk-F52N6ACD.js.map +0 -1
  804. package/dist/chunk-GN5EZPSL.js.map +0 -1
  805. package/dist/chunk-GVLMG5WQ.js.map +0 -1
  806. package/dist/chunk-H2YBVBPW.js.map +0 -1
  807. package/dist/chunk-H3B5PIM3.js.map +0 -1
  808. package/dist/chunk-H6YVO55T.js.map +0 -1
  809. package/dist/chunk-I6EVBLFX.js.map +0 -1
  810. package/dist/chunk-IFSUKWE7.js.map +0 -1
  811. package/dist/chunk-IT7ATXU7.js.map +0 -1
  812. package/dist/chunk-IUCTYNIR.js.map +0 -1
  813. package/dist/chunk-JCJGJX7V.js.map +0 -1
  814. package/dist/chunk-JHEGDDZQ.js.map +0 -1
  815. package/dist/chunk-JWK4GI2I.js.map +0 -1
  816. package/dist/chunk-KTYZRAB7.js.map +0 -1
  817. package/dist/chunk-KUVOMH5I.js.map +0 -1
  818. package/dist/chunk-L4V2LRKH.js.map +0 -1
  819. package/dist/chunk-LOJK733T.js.map +0 -1
  820. package/dist/chunk-M5BTIIL7.js.map +0 -1
  821. package/dist/chunk-M5T3COS2.js.map +0 -1
  822. package/dist/chunk-MISZGWO7.js.map +0 -1
  823. package/dist/chunk-MLBKACV6.js.map +0 -1
  824. package/dist/chunk-MRB6GROF.js.map +0 -1
  825. package/dist/chunk-MZMGQKT3.js.map +0 -1
  826. package/dist/chunk-NNQLDFKG.js.map +0 -1
  827. package/dist/chunk-NVNZFT5X.js.map +0 -1
  828. package/dist/chunk-NXX3ZQKO.js.map +0 -1
  829. package/dist/chunk-O26MKGIC.js.map +0 -1
  830. package/dist/chunk-OOSD7363.js.map +0 -1
  831. package/dist/chunk-PGNJCUDA.js.map +0 -1
  832. package/dist/chunk-QO6QWBDI.js.map +0 -1
  833. package/dist/chunk-QTWXVOPT.js.map +0 -1
  834. package/dist/chunk-QWHURFJ3.js.map +0 -1
  835. package/dist/chunk-RORP6DWR.js.map +0 -1
  836. package/dist/chunk-RV4Y4O67.js.map +0 -1
  837. package/dist/chunk-SCRN2RE4.js.map +0 -1
  838. package/dist/chunk-SNR537TI.js +0 -59
  839. package/dist/chunk-SNR537TI.js.map +0 -1
  840. package/dist/chunk-SYNMQWT4.js.map +0 -1
  841. package/dist/chunk-TEUX42YW.js.map +0 -1
  842. package/dist/chunk-TFZI36UD.js.map +0 -1
  843. package/dist/chunk-ULIM42PE.js.map +0 -1
  844. package/dist/chunk-UMP5MQ7X.js.map +0 -1
  845. package/dist/chunk-UO7ERXYX.js.map +0 -1
  846. package/dist/chunk-VAGHW3K2.js.map +0 -1
  847. package/dist/chunk-VDGJV7MP.js.map +0 -1
  848. package/dist/chunk-VDZQJBAV.js.map +0 -1
  849. package/dist/chunk-VR3U4QA5.js.map +0 -1
  850. package/dist/chunk-WR7ELCIL.js.map +0 -1
  851. package/dist/chunk-X4PS3E3V.js.map +0 -1
  852. package/dist/chunk-X7PVFAYJ.js.map +0 -1
  853. package/dist/chunk-XREYLKUX.js.map +0 -1
  854. package/dist/chunk-XRMZMBE3.js.map +0 -1
  855. package/dist/chunk-Y2E73IG2.js.map +0 -1
  856. package/dist/chunk-YDPUBGJ7.js.map +0 -1
  857. package/dist/chunk-YSKGLU2V.js.map +0 -1
  858. package/dist/chunk-YU647YW4.js.map +0 -1
  859. package/dist/chunk-Z35J5B6D.js.map +0 -1
  860. package/dist/chunk-ZTKLKOOO.js.map +0 -1
  861. package/dist/chunk-ZUQIOWLN.js.map +0 -1
  862. package/dist/chunk-ZWSS3K4F.js.map +0 -1
  863. package/dist/chunk-ZXSUWFQX.js.map +0 -1
  864. /package/dist/{chunk-APT5L7V5.js.map → chunk-2LIRGFEK.js.map} +0 -0
  865. /package/dist/{chunk-LDDN254Q.js.map → chunk-2UCLUDEB.js.map} +0 -0
  866. /package/dist/{chunk-6SYFPRTT.js.map → chunk-343OLRFT.js.map} +0 -0
  867. /package/dist/{chunk-U2IRCTAR.js.map → chunk-4WCDMCIS.js.map} +0 -0
  868. /package/dist/{chunk-OGTTJKHI.js.map → chunk-5QWQR7XT.js.map} +0 -0
  869. /package/dist/{chunk-DRE6DSJ7.js.map → chunk-5TJRJSJY.js.map} +0 -0
  870. /package/dist/{chunk-XZBCPL4N.js.map → chunk-5W4BLTDI.js.map} +0 -0
  871. /package/dist/{chunk-YG2VQUZO.js.map → chunk-6BDYC4RA.js.map} +0 -0
  872. /package/dist/{chunk-QHUTSAFG.js.map → chunk-6CTPDNNX.js.map} +0 -0
  873. /package/dist/{chunk-CU4TF7C7.js.map → chunk-6GRZ77IS.js.map} +0 -0
  874. /package/dist/{chunk-YLBRXDYH.js.map → chunk-7EIOXZWL.js.map} +0 -0
  875. /package/dist/{chunk-ZHEZISMI.js.map → chunk-AK2HOD6B.js.map} +0 -0
  876. /package/dist/{chunk-VZAGBDZ2.js.map → chunk-BJZOBG24.js.map} +0 -0
  877. /package/dist/{chunk-CS3RKXT5.js.map → chunk-CHFHILTM.js.map} +0 -0
  878. /package/dist/{chunk-DMYBTD5Y.js.map → chunk-CPWWMGYR.js.map} +0 -0
  879. /package/dist/{chunk-XSMMFCMQ.js.map → chunk-CWDV64TD.js.map} +0 -0
  880. /package/dist/{chunk-GUVBR62X.js.map → chunk-DCJSHYE5.js.map} +0 -0
  881. /package/dist/{chunk-VV7MGILP.js.map → chunk-DMWSXWCZ.js.map} +0 -0
  882. /package/dist/{chunk-JYRQBZEV.js.map → chunk-DVAAUWTC.js.map} +0 -0
  883. /package/dist/{chunk-C6NI3FAV.js.map → chunk-DVGBFT6O.js.map} +0 -0
  884. /package/dist/{chunk-W5ENK5CM.js.map → chunk-DZNMS2SH.js.map} +0 -0
  885. /package/dist/{chunk-F5KEWLZK.js.map → chunk-FC7NQ6XM.js.map} +0 -0
  886. /package/dist/{chunk-NIS523UM.js.map → chunk-FWPFCK4D.js.map} +0 -0
  887. /package/dist/{chunk-UCTJJYVC.js.map → chunk-G4HBNILE.js.map} +0 -0
  888. /package/dist/{chunk-57IB5NTM.js.map → chunk-HB7ISSLK.js.map} +0 -0
  889. /package/dist/{chunk-6Q5GZUQ5.js.map → chunk-HGMBY5LP.js.map} +0 -0
  890. /package/dist/{chunk-2AKQPXSJ.js.map → chunk-HJPPNVCF.js.map} +0 -0
  891. /package/dist/{chunk-JOR6E23V.js.map → chunk-IGGXKT5B.js.map} +0 -0
  892. /package/dist/{chunk-KLMP2BYC.js.map → chunk-IVJKILIX.js.map} +0 -0
  893. /package/dist/{chunk-HJWOB62A.js.map → chunk-JJSZP3TW.js.map} +0 -0
  894. /package/dist/{chunk-UCA47HM7.js.map → chunk-KCAW6HRO.js.map} +0 -0
  895. /package/dist/{chunk-KE5MX4PI.js.map → chunk-L3B36HA5.js.map} +0 -0
  896. /package/dist/{chunk-OLZTGVBT.js.map → chunk-LYVTJLCF.js.map} +0 -0
  897. /package/dist/{chunk-WW4N2LRM.js.map → chunk-MBC55H6M.js.map} +0 -0
  898. /package/dist/{chunk-AATIHNPI.js.map → chunk-MK4CH4VT.js.map} +0 -0
  899. /package/dist/{chunk-IDO4EV7T.js.map → chunk-NR5TW4AH.js.map} +0 -0
  900. /package/dist/{chunk-6DC5SVHM.js.map → chunk-NSKQANRY.js.map} +0 -0
  901. /package/dist/{chunk-EAE5Z5HL.js.map → chunk-OJ2XR3WH.js.map} +0 -0
  902. /package/dist/{chunk-BR7RM3WR.js.map → chunk-OZPLAOI4.js.map} +0 -0
  903. /package/dist/{chunk-GIRRCEVH.js.map → chunk-PT2XADGH.js.map} +0 -0
  904. /package/dist/{chunk-5ZTQTJAJ.js.map → chunk-PWF32ILG.js.map} +0 -0
  905. /package/dist/{chunk-DBCITC4P.js.map → chunk-QB3TVUPD.js.map} +0 -0
  906. /package/dist/{chunk-I2CRLUS7.js.map → chunk-QIKPGMMO.js.map} +0 -0
  907. /package/dist/{chunk-MXZ43UCQ.js.map → chunk-QOLIBVGS.js.map} +0 -0
  908. /package/dist/{chunk-TPQVLBTY.js.map → chunk-R2WMSXQR.js.map} +0 -0
  909. /package/dist/{chunk-F7HQVKIR.js.map → chunk-SYVNWXVW.js.map} +0 -0
  910. /package/dist/{chunk-MGC4QOMP.js.map → chunk-TQ2557I5.js.map} +0 -0
  911. /package/dist/{chunk-C7TCBAVX.js.map → chunk-TQBRWZA4.js.map} +0 -0
  912. /package/dist/{chunk-BO2SDMNQ.js.map → chunk-U4QUDFPJ.js.map} +0 -0
  913. /package/dist/{chunk-SKX4NA6E.js.map → chunk-V74PXUQN.js.map} +0 -0
  914. /package/dist/{chunk-OYP27CYE.js.map → chunk-WOAXKWAB.js.map} +0 -0
  915. /package/dist/{chunk-W3CLJ7JE.js.map → chunk-WPA26LXA.js.map} +0 -0
  916. /package/dist/{chunk-LI6OLYUB.js.map → chunk-YBTC4XNO.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/DataViews/DataViewsBoard.tsx"],"sourcesContent":["\"use client\";\n\nimport { useDataViewsCopy } from \"./data-views-copy-context\";\nimport { Box } from \"../../../mui/Box\";\nimport { Text } from \"../../typography/Text\";\n\nimport type { DataViewCardSelection } from \"./data-views-types\";\n\n/**\n * One column of the board — a single value of the grouping field, with the label\n * to print above it.\n *\n * `tone` is an opaque palette hint (e.g. `\"success\"`, `\"error\"`) the host picks\n * from its own state machine; the board only uses it to colour the column's\n * header accent, so an unknown tone degrades to the default rather than throwing.\n */\nexport interface BoardGroup {\n value: string;\n label: string;\n tone?: string;\n}\n\n/**\n * The BOARD layout's configuration: the same page the table rendered, laid out\n * as columns of the entity's own card.\n *\n * The board earns its place when a page's buckets are STATES IN A STATE MACHINE\n * rather than arbitrary groupings — payments are exactly that shape. Derive\n * `groups` and the table's `scopes` from ONE state-machine definition: two\n * hand-maintained lists of the same states will drift, and the drift shows up as\n * a column the tabs do not have.\n */\nexport interface BoardConfig<T extends Record<string, unknown>> {\n /** The row field whose value places a card in a column. */\n groupBy: keyof T & string;\n /** The columns, in DELIBERATE reading order — the board renders this order. */\n groups: BoardGroup[];\n /** Optional numeric row field summed per column (e.g. the amount in cents). */\n sumBy?: keyof T & string;\n /**\n * Formats a column's total. The PAGE's own formatter, so the board prints\n * money in the store's currency instead of inventing a second convention.\n * Omitted ⇒ the raw sum.\n */\n formatSum?: (total: number) => string;\n /** Header for the column collecting rows in states the front end does not declare. */\n extraLabel?: string;\n}\n\n/** The default header for the catch-all column (see {@link groupRows}). */\nconst DEFAULT_EXTRA_LABEL = \"Sem etapa\";\n\n/** One resolved column: a declared group (or the catch-all) plus its loaded rows. */\ninterface ResolvedColumn<T> {\n key: string;\n label: string;\n tone?: string;\n rows: T[];\n}\n\n/** Read the grouping value off a row as a string (`null`/`undefined` ⇒ \"\"). */\nfunction groupValueOf<T extends Record<string, unknown>>(row: T, groupBy: string): string {\n const value = row[groupBy];\n return value === null || value === undefined ? \"\" : String(value);\n}\n\n/**\n * Place every loaded row into a column, in the DECLARED order, and collect the\n * leftovers into one extra column at the end.\n *\n * Nothing is ever dropped, and that is the point: a state added to the back end\n * before the front end knows about it must not make rows disappear. On a\n * payments board, a silently dropped row is money nobody can see. The extra\n * column only exists when something landed in it — once every row is placed it\n * is gone, so the common case shows exactly the declared columns.\n *\n * A declared group with no rows KEEPS its position: the order is a reading\n * order chosen by the host, not a ranking derived from the data.\n */\nexport function groupRows<T extends Record<string, unknown>>(\n rows: T[],\n board: BoardConfig<T>,\n): ResolvedColumn<T>[] {\n const declared = new Map<string, T[]>(board.groups.map((group) => [group.value, []]));\n const extra: T[] = [];\n for (const row of rows) {\n const bucket = declared.get(groupValueOf(row, board.groupBy));\n if (bucket) bucket.push(row);\n else extra.push(row);\n }\n const columns: ResolvedColumn<T>[] = board.groups.map((group) => ({\n key: group.value,\n label: group.label,\n tone: group.tone,\n rows: declared.get(group.value) ?? [],\n }));\n if (extra.length > 0) {\n columns.push({ key: \"__extra__\", label: board.extraLabel ?? DEFAULT_EXTRA_LABEL, rows: extra });\n }\n return columns;\n}\n\n/** A column's total over the rows ON THIS PAGE, or null when nothing is summed. */\nfunction sumOf<T extends Record<string, unknown>>(rows: T[], sumBy: string | undefined): number | null {\n if (!sumBy) return null;\n return rows.reduce((total, row) => {\n const value = row[sumBy];\n return typeof value === \"number\" && Number.isFinite(value) ? total + value : total;\n }, 0);\n}\n\n/** Map a `tone` hint onto a theme colour, defaulting for anything unrecognised. */\nfunction toneColor(tone: string | undefined): string {\n const known = [\"primary\", \"secondary\", \"success\", \"warning\", \"error\", \"info\"];\n return tone && known.includes(tone) ? `${tone}.main` : \"divider\";\n}\n\n/**\n * A column's heading: the label, the page count and the optional sum.\n *\n * The count is labelled \"nesta página\" EVERYWHERE it appears, including in its\n * accessible name. The scope tabs above the board show whole-query totals from\n * the server; an unlabelled column count would contradict them the moment there\n * is a second page, and the reader has no way to tell which number to believe.\n */\nfunction BoardColumnHeader({\n label,\n count,\n sum,\n testId,\n}: {\n label: string;\n count: number;\n /** The formatted total, or null when the board sums nothing. */\n sum: string | null;\n testId: string;\n}): React.JSX.Element {\n const copy = useDataViewsCopy();\n return (\n <Box sx={{ display: \"flex\", flexDirection: \"column\", gap: 0.25 }}>\n <Box sx={{ display: \"flex\", alignItems: \"baseline\", justifyContent: \"space-between\", gap: 1 }}>\n <Text variant=\"caption\" as=\"span\">\n <Box component=\"span\" sx={{ fontWeight: 600 }}>\n {label}\n </Box>\n </Text>\n <Text variant=\"caption\" as=\"span\">\n <Box\n component=\"span\"\n data-testid={`${testId}-count`}\n aria-label={copy.board.countOnPage(label, count)}\n sx={{ color: \"text.secondary\", whiteSpace: \"nowrap\" }}\n >\n {copy.board.onThisPage(count)}\n </Box>\n </Text>\n </Box>\n {sum !== null && (\n <Text variant=\"caption\" as=\"span\">\n <Box\n component=\"span\"\n data-testid={`${testId}-sum`}\n aria-label={copy.board.pageSum(sum)}\n sx={{ color: \"text.secondary\" }}\n >\n {sum}\n </Box>\n </Text>\n )}\n </Box>\n );\n}\n\ninterface BoardColumnProps<T extends Record<string, unknown>> {\n column: ResolvedColumn<T>;\n board: BoardConfig<T>;\n getRowId: (row: T) => string | number;\n renderCard: (row: T, selection: DataViewCardSelection) => React.ReactNode;\n selectedIds: Set<string | number>;\n onToggleId: (id: string | number) => void;\n cardScale: number;\n width: number;\n testId: string;\n}\n\n/** One column: its header over a vertical stack of the entity's own cards. */\nfunction BoardColumn<T extends Record<string, unknown>>({\n column,\n board,\n getRowId,\n renderCard,\n selectedIds,\n onToggleId,\n cardScale,\n width,\n testId,\n}: BoardColumnProps<T>): React.JSX.Element {\n const copy = useDataViewsCopy();\n const total = sumOf(column.rows, board.sumBy);\n return (\n <Box\n data-testid={testId}\n sx={{\n flex: `0 0 ${width}px`,\n minWidth: width,\n display: \"flex\",\n flexDirection: \"column\",\n gap: 1,\n borderTop: 3,\n borderStyle: \"solid\",\n borderColor: toneColor(column.tone),\n borderRadius: 1,\n bgcolor: \"action.hover\",\n p: 1,\n }}\n >\n <BoardColumnHeader\n label={column.label}\n count={column.rows.length}\n sum={total === null ? null : String(board.formatSum ? board.formatSum(total) : total)}\n testId={testId}\n />\n {column.rows.length === 0 ? (\n <Text variant=\"caption\" as=\"p\">\n <Box component=\"span\" data-testid={`${testId}-empty`} sx={{ color: \"text.disabled\" }}>\n {copy.board.emptyColumn}\n </Box>\n </Text>\n ) : (\n column.rows.map((row) => {\n const id = getRowId(row);\n return (\n <Box key={id}>\n {renderCard(row, {\n selected: selectedIds.has(id),\n onToggleSelect: () => onToggleId(id),\n scale: cardScale,\n })}\n </Box>\n );\n })\n )}\n </Box>\n );\n}\n\ninterface DataViewsBoardProps<T extends Record<string, unknown>> {\n /** The LOADED page, verbatim. The board never filters, sorts or paginates. */\n rows: T[];\n board: BoardConfig<T>;\n getRowId: (row: T) => string | number;\n renderCard: (row: T, selection: DataViewCardSelection) => React.ReactNode;\n selectedIds: Set<string | number>;\n onToggleId: (id: string | number) => void;\n /** Card size multiplier from the toolbar zoom slider — the same knob as cards. */\n cardScale: number;\n dataTestId?: string;\n}\n\n/** The board's column width at scale 1; the zoom slider multiplies it. */\nconst BASE_COLUMN_WIDTH = 240;\n/** Never narrower than this, however far the zoom is wound down (touch targets). */\nconst MIN_COLUMN_WIDTH = 220;\n\n/**\n * The BOARD layout: the loaded page distributed into columns of the entity's own\n * card. A rendering, not a second source of truth — switching to it emits no\n * query, and it shows exactly the rows the table showed.\n *\n * The board scrolls HORIZONTALLY inside its own box rather than letting the page\n * scroll sideways, and its columns keep a usable width at every zoom, so a phone\n * gets a real board instead of six unreadable slivers.\n *\n * Cards are not draggable between columns. Dragging a payment from Recusado to\n * Pago is a domain transition with side effects, not a re-render: it needs the\n * allowed-transition set from the state machine plus a confirmation, and\n * `RowAction.isVisible` is the existing per-row guard to reuse when that lands.\n */\nexport function DataViewsBoard<T extends Record<string, unknown>>({\n rows,\n board,\n getRowId,\n renderCard,\n selectedIds,\n onToggleId,\n cardScale,\n dataTestId,\n}: DataViewsBoardProps<T>): React.JSX.Element {\n const copy = useDataViewsCopy();\n const columns = groupRows(rows, board);\n const width = Math.max(MIN_COLUMN_WIDTH, Math.round(BASE_COLUMN_WIDTH * cardScale));\n const testId = dataTestId ? `${dataTestId}-board` : \"data-views-board\";\n return (\n <Box sx={{ mt: 1.5 }}>\n <Text variant=\"caption\" as=\"p\">\n <Box component=\"span\" data-testid={`${testId}-scale-note`} sx={{ color: \"text.secondary\" }}>\n {copy.board.pageScopeNote}\n </Box>\n </Text>\n <Box\n data-testid={testId}\n sx={{\n mt: 1,\n display: \"flex\",\n alignItems: \"flex-start\",\n gap: 1.5,\n // The BOARD scrolls, not the page: without `maxWidth` the flex row\n // widens its parent and the whole document scrolls sideways.\n maxWidth: \"100%\",\n overflowX: \"auto\",\n pb: 1,\n }}\n >\n {columns.map((column) => (\n <BoardColumn\n key={column.key}\n column={column}\n board={board}\n getRowId={getRowId}\n renderCard={renderCard}\n selectedIds={selectedIds}\n onToggleId={onToggleId}\n cardScale={cardScale}\n width={width}\n testId={`${testId}-column-${column.key}`}\n />\n ))}\n </Box>\n </Box>\n );\n}\n"],"mappings":"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","names":["default"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/DataViews/data-views-toolbar.tsx"],"sourcesContent":["\"use client\";\n\nimport Divider from \"@mui/material/Divider/index.js\";\n\nimport {\n ContentToolbar,\n FilterTrigger,\n type ColumnVisibilityOption,\n type SortFieldDefinition,\n} from \"../../layout/ContentToolbar\";\nimport { Box } from \"../../../mui/Box\";\nimport { Text } from \"../../typography/Text\";\n\nimport { useDataViewsCopy } from \"./data-views-copy-context\";\nimport { DataViewsDisplayPanel, type DisplayPanelView } from \"./data-views-display-panel\";\nimport { DataViewsExportMenu, type DataViewExport } from \"./data-views-export\";\nimport { renderBulkActions } from \"./data-views-grid-helpers\";\nimport type { RowAction } from \"./data-views-types\";\nimport type { DataViewsController } from \"./use-data-views-state\";\n\nexport interface GridToolbarProps<T extends Record<string, unknown>> {\n testIdPrefix: string;\n selectedRows: T[];\n selectAll: () => void;\n clearSelection: () => void;\n rowActions?: RowAction<T>[];\n bulkActions?: (selectedRows: T[], clearSelection: () => void) => React.ReactNode;\n /** A control between the count and the actions menu — see `selectionExtra`. */\n selectionExtra?: React.ReactNode;\n sortFields: SortFieldDefinition[];\n activeSortField: string;\n activeSortOrder: \"asc\" | \"desc\";\n onChangeSort: (field: string, order: \"asc\" | \"desc\") => void;\n matchedCount: number;\n totalCount: number;\n toolbarRightSlot?: React.ReactNode;\n columnOptions: ColumnVisibilityOption[];\n onToggleColumn: (id: string, visible: boolean) => void;\n filterOpen: boolean;\n setFilterOpen: (open: boolean) => void;\n activeFilterCount: number;\n /** Hide the \"Filtros\" slide-in trigger (compact layout shows filters inline). */\n showFilterTrigger?: boolean;\n /**\n * Search + filter controls, rendered ON the toolbar line rather than on a row\n * beneath it. Absent ⇒ the toolbar keeps its plain two-cluster shape.\n */\n filterControls?: React.ReactNode;\n /** Measures the toolbar ROW for the filter overflow — see `useFilterOverflow`. */\n barRef?: React.Ref<HTMLDivElement>;\n /** The controller, so \"Exibir\" can drive sort, columns, order and format. */\n c: DataViewsController<T>;\n /** Per-sort-field value kind, so directions read in the column's own terms. */\n sortKinds?: Record<string, string>;\n /** The saved-view chrome bracketing the Exibir panel, when the host has views. */\n displayView?: DisplayPanelView;\n /** Injected export. Absent ⇒ no Exportar control. */\n exportConfig?: DataViewExport;\n /**\n * Step 2 of the degradation ladder: Exibir/Exportar as icons only.\n * MEASURED upstream (see `useFilterOverflow`) rather than switched at a\n * breakpoint, so a two-filter page keeps its labels where a five-filter one\n * has already given them up.\n */\n compactControls?: boolean;\n /**\n * Step 5 of the ladder, and its floor: on a screen too narrow for even the\n * fully-collapsed row, the counter is dropped so the controls still fit one\n * line instead of spilling outside the toolbar.\n */\n counterHidden?: boolean;\n}\n\n/** The right-aligned toolbar controls: Sort By, the counter, zoom/layout/columns, filters. */\nfunction ToolbarRightControls<T extends Record<string, unknown>>(props: GridToolbarProps<T>): React.JSX.Element {\n const { testIdPrefix, matchedCount, totalCount, filterOpen, setFilterOpen } = props;\n return (\n <>\n {/* MEASURED, never breakpointed: `RESERVED.counter` prices it into the\n ladder, so hiding it at `md` was the ladder and a breakpoint\n disagreeing about the same pixels — which broke the row at exactly\n 900px. It is dropped only as the ladder's last rung. */}\n {!props.counterHidden && (\n <>\n <Text variant=\"caption\" as=\"span\">\n <Box\n component=\"span\"\n data-testid={`${testIdPrefix}-counter`}\n sx={{ whiteSpace: \"nowrap\" }}\n >\n {matchedCount} de {totalCount}\n </Box>\n </Text>\n {/* Divides the READING of the list from the controls that change it —\n the counter states what is on screen, everything right of here\n acts on it. */}\n <Divider\n orientation=\"vertical\"\n flexItem\n sx={{ height: 20, alignSelf: \"center\", mx: 0.5 }}\n />\n </>\n )}\n {props.toolbarRightSlot}\n {/* Sort + columns + format, in ONE control — see DataViewsDisplayPanel. */}\n <DataViewsDisplayPanel\n c={props.c}\n testIdPrefix={testIdPrefix}\n sortKinds={props.sortKinds}\n view={props.displayView}\n compact={props.compactControls}\n />\n {props.exportConfig && (\n <DataViewsExportMenu\n config={props.exportConfig}\n query={props.c.currentQuery}\n totalCount={props.totalCount}\n selectedIds={[...props.c.selectedIds]}\n columns={props.columnOptions.filter((col) => col.visible).map((col) => ({ id: col.id, label: col.label }))}\n testIdPrefix={testIdPrefix}\n compact={props.compactControls}\n />\n )}\n {props.showFilterTrigger !== false && (\n <FilterTrigger\n open={filterOpen}\n onOpenChange={setFilterOpen}\n activeCount={props.activeFilterCount}\n data-testid={`${testIdPrefix}-filters-toggle`}\n />\n )}\n </>\n );\n}\n\n/**\n * The bordered toolbar band: selection chrome + Sort By, the result counter, the\n * saved-views slot, and the filter funnel. The negative margin lets the top/bottom\n * separators reach the sidebar's vertical line and the window edge.\n */\nexport function GridToolbar<T extends Record<string, unknown>>(props: GridToolbarProps<T>): React.JSX.Element {\n const copy = useDataViewsCopy();\n const { testIdPrefix, selectedRows } = props;\n return (\n <Box\n ref={props.barRef}\n sx={{\n borderTop: 1,\n borderBottom: 1,\n borderColor: \"divider\",\n py: 1.25,\n mx: { xs: -2, md: -3 },\n px: { xs: 2, md: 3 },\n }}\n >\n <ContentToolbar\n selectAllLabel={copy.selection.selectAll}\n selectAllText={copy.selection.selectAllOnPage}\n clearAllText={copy.filters.clearAll}\n hasSelection={selectedRows.length > 0}\n selectedCount={selectedRows.length}\n selectAll={props.selectAll}\n clearSelection={props.clearSelection}\n selectAllTestId={`${testIdPrefix}-select-all`}\n clearAllTestId={`${testIdPrefix}-clear-all`}\n selectionExtra={props.selectionExtra}\n actions={renderBulkActions({\n rowActions: props.rowActions,\n bulkActions: props.bulkActions,\n selectedRows,\n clearSelection: props.clearSelection,\n testIdPrefix,\n })}\n leadingControls={props.filterControls}\n // Selection takes the whole line: no Select All while browsing, and no\n // search/filters/Exibir/Exportar once a row is ticked.\n exclusiveSelection\n rightControls={<ToolbarRightControls {...props} />}\n />\n </Box>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,aAAa;AAiFZ,mBACE,KACE,YAFJ;AATR,SAAS,qBAAwD,OAA+C;AAC9G,QAAM,EAAE,cAAc,cAAc,YAAY,YAAY,cAAc,IAAI;AAC9E,SACE,iCAKG;AAAA,KAAC,MAAM,iBACN,iCACE;AAAA,0BAAC,QAAK,SAAQ,WAAU,IAAG,QACzB;AAAA,QAACA;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,eAAa,GAAG,YAAY;AAAA,UAC5B,IAAI,EAAE,YAAY,SAAS;AAAA,UAE1B;AAAA;AAAA,YAAa;AAAA,YAAK;AAAA;AAAA;AAAA,MACrB,GACF;AAAA,MAIA;AAAA,QAAC;AAAA;AAAA,UACC,aAAY;AAAA,UACZ,UAAQ;AAAA,UACR,IAAI,EAAE,QAAQ,IAAI,WAAW,UAAU,IAAI,IAAI;AAAA;AAAA,MACjD;AAAA,OACF;AAAA,IAED,MAAM;AAAA,IAEP;AAAA,MAAC;AAAA;AAAA,QACC,GAAG,MAAM;AAAA,QACT;AAAA,QACA,WAAW,MAAM;AAAA,QACjB,MAAM,MAAM;AAAA,QACZ,SAAS,MAAM;AAAA;AAAA,IACjB;AAAA,IACC,MAAM,gBACL;AAAA,MAAC;AAAA;AAAA,QACC,QAAQ,MAAM;AAAA,QACd,OAAO,MAAM,EAAE;AAAA,QACf,YAAY,MAAM;AAAA,QAClB,aAAa,CAAC,GAAG,MAAM,EAAE,WAAW;AAAA,QACpC,SAAS,MAAM,cAAc,OAAO,CAAC,QAAQ,IAAI,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,IAAI,OAAO,IAAI,MAAM,EAAE;AAAA,QACzG;AAAA,QACA,SAAS,MAAM;AAAA;AAAA,IACjB;AAAA,IAED,MAAM,sBAAsB,SAC3B;AAAA,MAAC;AAAA;AAAA,QACC,MAAM;AAAA,QACN,cAAc;AAAA,QACd,aAAa,MAAM;AAAA,QACnB,eAAa,GAAG,YAAY;AAAA;AAAA,IAC9B;AAAA,KAEJ;AAEJ;AAOO,SAAS,YAA+C,OAA+C;AAC5G,QAAM,OAAO,iBAAiB;AAC9B,QAAM,EAAE,cAAc,aAAa,IAAI;AACvC,SACE;AAAA,IAACA;AAAA,IAAA;AAAA,MACC,KAAK,MAAM;AAAA,MACX,IAAI;AAAA,QACF,WAAW;AAAA,QACX,cAAc;AAAA,QACd,aAAa;AAAA,QACb,IAAI;AAAA,QACJ,IAAI,EAAE,IAAI,IAAI,IAAI,GAAG;AAAA,QACrB,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE;AAAA,MACrB;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC,gBAAgB,KAAK,UAAU;AAAA,UAC/B,eAAe,KAAK,UAAU;AAAA,UAC9B,cAAc,KAAK,QAAQ;AAAA,UAC3B,cAAc,aAAa,SAAS;AAAA,UACpC,eAAe,aAAa;AAAA,UAC5B,WAAW,MAAM;AAAA,UACjB,gBAAgB,MAAM;AAAA,UACtB,iBAAiB,GAAG,YAAY;AAAA,UAChC,gBAAgB,GAAG,YAAY;AAAA,UAC/B,gBAAgB,MAAM;AAAA,UACtB,SAAS,kBAAkB;AAAA,YACzB,YAAY,MAAM;AAAA,YAClB,aAAa,MAAM;AAAA,YACnB;AAAA,YACA,gBAAgB,MAAM;AAAA,YACtB;AAAA,UACF,CAAC;AAAA,UACD,iBAAiB,MAAM;AAAA,UAGvB,oBAAkB;AAAA,UAClB,eAAe,oBAAC,wBAAsB,GAAG,OAAO;AAAA;AAAA,MAClD;AAAA;AAAA,EACF;AAEJ;","names":["default"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/FleetMap/FleetBody.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport Stack from '@mui/material/Stack/index.js';\nimport React from 'react';\n\nimport { FleetCanvas } from './FleetCanvas';\nimport type { FleetMapState } from './FleetMap.hooks';\nimport type { FleetMapCopy } from './FleetMap.types';\nimport { FleetRoster } from './FleetRoster';\n\nexport interface FleetBodyProps\n extends Pick<FleetMapState, 'ordered' | 'centre' | 'markers' | 'select' | 'onKeyDown'> {\n copy: FleetMapCopy;\n selectedId: string | null | undefined;\n laggingAfterSeconds: number;\n staleAfterSeconds: number;\n height: string;\n loading: boolean;\n testId: string;\n}\n\n/**\n * The two halves side by side: the roster that reads the fleet, and the map.\n *\n * A component rather than JSX inside {@link import('./FleetMap').FleetMap}\n * because the layout is where every responsive decision lives, and keeping it\n * here is what leaves the exported component short enough to read in one\n * screen — which the complexity ledger enforces rather than merely suggests.\n */\nexport function FleetBody({\n ordered,\n centre,\n markers,\n select,\n onKeyDown,\n copy,\n selectedId,\n laggingAfterSeconds,\n staleAfterSeconds,\n height,\n loading,\n testId,\n}: FleetBodyProps): React.JSX.Element {\n return (\n <Stack\n direction={{ xs: 'column', md: 'row' }}\n spacing={2}\n // `aria-busy` belongs on the halves that are actually reloading, NOT on\n // the panel root — the live region announcing the reload is a sibling up\n // there, and a live region inside a busy subtree is exactly what\n // `aria-busy` tells assistive tech to hold back. Marking the root busy\n // would have silenced the announcement for the whole of the only window\n // in which it has anything to say. `CepField` splits them the same way.\n aria-busy={loading || undefined}\n data-testid={`${testId}-body`}\n sx={{ alignItems: 'stretch', minWidth: 0 }}\n >\n {/* The roster reads first on a phone and sits beside the map from md up.\n It keeps a ceiling so thirty units scroll rather than push the map off\n the screen.\n\n It also WIDENS with the viewport rather than staying at its md width.\n Held at 280px, a desktop gave the map 1600px for three pins while the\n roster stayed too narrow for its own meta line — `Lagging · 2 min ago ·\n ±180 m` wrapped, at 1920px of all widths. The rungs below are the ones\n the six-width pass was taken at. */}\n <Box\n sx={{\n flexBasis: { md: '280px', lg: '320px', xl: '380px' },\n flexShrink: 0,\n minWidth: 0,\n maxHeight: height,\n display: 'flex',\n }}\n >\n <FleetRoster\n units={ordered}\n copy={copy}\n selectedId={selectedId}\n onSelect={select}\n laggingAfterSeconds={laggingAfterSeconds}\n staleAfterSeconds={staleAfterSeconds}\n loading={loading}\n testId={testId}\n onKeyDown={onKeyDown}\n />\n </Box>\n <FleetCanvas\n copy={copy}\n centre={centre}\n markers={markers}\n height={height}\n testId={testId}\n />\n </Stack>\n );\n}\n"],"mappings":";;;;;;;;AAAA,OAAO,SAAS;AAChB,OAAO,WAAW;AA0Cd,SA+BI,KA/BJ;AAfG,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAsC;AACpC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,EAAE,IAAI,UAAU,IAAI,MAAM;AAAA,MACrC,SAAS;AAAA,MAOT,aAAW,WAAW;AAAA,MACtB,eAAa,GAAG,MAAM;AAAA,MACtB,IAAI,EAAE,YAAY,WAAW,UAAU,EAAE;AAAA,MAWzC;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,IAAI;AAAA,cACF,WAAW,EAAE,IAAI,SAAS,IAAI,SAAS,IAAI,QAAQ;AAAA,cACnD,YAAY;AAAA,cACZ,UAAU;AAAA,cACV,WAAW;AAAA,cACX,SAAS;AAAA,YACX;AAAA,YAEA;AAAA,cAAC;AAAA;AAAA,gBACC,OAAO;AAAA,gBACP;AAAA,gBACA;AAAA,gBACA,UAAU;AAAA,gBACV;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA;AAAA,YACF;AAAA;AAAA,QACF;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACF;AAAA;AAAA;AAAA,EACF;AAEJ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/DataViews/data-views-search.tsx"],"sourcesContent":["\"use client\";\n\n/**\n * THE INLINE BAR'S SEARCH — the one control on the toolbar that cannot be\n * guessed from an icon's position, which is why it is the LAST thing the\n * degradation ladder takes away. See `data-views-overflow.ts`.\n */\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport SearchIcon from \"@mui/icons-material/Search\";\nimport IconButton from \"@mui/material/IconButton/index.js\";\nimport InputAdornment from \"@mui/material/InputAdornment/index.js\";\nimport TextField from \"@mui/material/TextField/index.js\";\nimport { useCallback, useEffect, useRef, useState } from \"react\";\n\nimport { Box } from \"../../../mui/Box\";\nimport { fieldRadiusPx } from \"../../../tokens/field-radius\";\nimport { useDataViewsCopy } from \"./data-views-copy-context\";\nimport { fieldHeight, fieldTextFieldStyles } from \"../../../tokens/field-height\";\nimport { fieldEdge } from \"../../../tokens/field-edge\";\nimport { sxRem } from \"../../../tokens/relative\";\n\n/** How long the box waits after the last keystroke before it queries. */\nconst SEARCH_DEBOUNCE_MS = 350;\n\n/**\n * How wide the keyword box is allowed to be.\n *\n * The 200px floor is right while the box shares the row: a search you cannot\n * read six characters in is not a search. It is WRONG once the box has been\n * expanded out of its collapsed state on a narrow screen, where the cluster was\n * sized for a magnifier — the floor cannot be met there, so the row scrolled\n * sideways instead (154px of overhang at 320px). In that mode the box shrinks,\n * and if what is left would still be unreadable the bar hands it the whole\n * cluster instead (`searchTakeover`).\n */\nfunction boxWidth(fill: boolean): { flex: number; minWidth: number; maxWidth: number | \"none\" } {\n return { flex: 1, minWidth: fill ? 0 : 200, maxWidth: fill ? \"none\" : 384 };\n}\n\n/**\n * The box's own draft, and the two ways it reaches `onChange`.\n *\n * Extracted from {@link InlineKeyword} so the commit policy reads in one place\n * rather than split across a render body — and because it is where both halves\n * of a defect that lost searches outright had to be fixed.\n *\n * ## The debounce must not be keyed on the handler's identity\n *\n * Every caller builds `onChange` inline — the grid's own bar passes\n * `(value) => c.patch({ search: value })`, rebuilt on each render. Keying the\n * effect on it re-armed the timer on every render, and a busy admin page\n * re-renders more often than every 350ms as its queries land, so the timer\n * never survived to fire and the term was NEVER committed: measured in one\n * adopter as a dead `?q=` on a server-mode grid, where a 15-second loop pressed\n * Enter over and over and the URL never moved. So the handler is read through a\n * ref and the effect depends on `[draft, value]` alone.\n *\n * ## An immediate commit must read the BOX, not the draft\n *\n * A keystroke can land before React has processed the edit before it — a fast\n * typist, and every Playwright `fill()` followed by `press('Enter')`. `draft` is\n * then still the value from before the edit, and comparing THAT to `value` said\n * \"nothing changed\" and dropped the keystroke, leaving the term on screen with\n * an unfiltered list behind it. `commitNow` takes what the caller read off the\n * element and syncs the draft to it, which also keeps the box from being reset\n * to a stale draft by the next render when a host ignores the commit.\n */\nfunction useKeywordDraft(\n value: string,\n onChange: (next: string) => void,\n): { draft: string; setDraft: (next: string) => void; commitNow: (typed: string) => void } {\n const [draft, setDraft] = useState(value);\n const prev = useRef(value);\n // An external change (a saved view, the URL, \"Limpar\") wins over the draft.\n if (prev.current !== value) {\n prev.current = value;\n if (draft !== value) setDraft(value);\n }\n const commit = useRef(onChange);\n useEffect(() => {\n commit.current = onChange;\n });\n useEffect(() => {\n if (draft === value) return undefined;\n const timer = setTimeout(() => commit.current(draft), SEARCH_DEBOUNCE_MS);\n return () => clearTimeout(timer);\n }, [draft, value]);\n const commitNow = useCallback(\n (typed: string) => {\n setDraft(typed);\n if (typed !== value) commit.current(typed);\n },\n [value],\n );\n return { draft, setDraft, commitNow };\n}\n\n/**\n * The bar's keyword box.\n *\n * DEBOUNCED rather than committed on Enter/blur. In server mode every commit is\n * a round trip, and a box that only fires on blur makes the operator press a\n * key they were not told about to see any result at all — they type, nothing\n * happens, and the list looks broken. 350ms is long enough that a word costs\n * one query, short enough to feel like live search.\n *\n * `Escape` clears; the X clears without leaving the box. Both exist because\n * clearing by selecting-and-deleting is three gestures for the most common\n * thing anyone does to a search box.\n */\nexport function InlineKeyword({\n value,\n onChange,\n testId,\n autoFocus,\n onEscape,\n fill = false,\n}: {\n value: string;\n onChange: (value: string) => void;\n testId?: string;\n autoFocus?: boolean;\n /** Called on Escape with the box already empty — the collapsed bar closes it. */\n onEscape?: () => void;\n /** Take whatever width there is, with no minimum — see {@link boxWidth}. */\n fill?: boolean;\n}): React.JSX.Element {\n const copy = useDataViewsCopy();\n const { draft, setDraft, commitNow } = useKeywordDraft(value, onChange);\n\n return (\n <TextField\n size=\"small\"\n value={draft}\n autoFocus={autoFocus}\n onChange={(event) => setDraft(event.target.value)}\n onKeyDown={(event) => {\n if (event.key === \"Escape\") {\n event.preventDefault();\n if (draft === \"\") onEscape?.();\n setDraft(\"\");\n return;\n }\n // Enter still commits IMMEDIATELY, ahead of the debounce — someone who\n // presses it has decided, and waiting out the timer reads as a stall.\n if (event.key !== \"Enter\") return;\n event.preventDefault();\n // The BOX, not `draft` — see {@link useKeywordDraft}.\n commitNow(event.target instanceof HTMLInputElement ? event.target.value : draft);\n }}\n placeholder={copy.search.placeholder}\n inputProps={{ \"aria-label\": copy.search.allColumnsLabel, \"data-testid\": testId }}\n InputProps={{\n startAdornment: (\n <InputAdornment position=\"start\">\n <SearchIcon sx={{ fontSize: sxRem(16), color: \"text.secondary\" }} />\n </InputAdornment>\n ),\n endAdornment: draft ? (\n <InputAdornment position=\"end\">\n <IconButton\n size=\"small\"\n aria-label={copy.search.clear}\n data-testid={testId ? `${testId}-clear` : undefined}\n onClick={() => setDraft(\"\")}\n sx={{ p: 0.25 }}\n >\n <CloseIcon sx={{ fontSize: sxRem(14) }} />\n </IconButton>\n </InputAdornment>\n ) : undefined,\n }}\n // Takes the free space and gives it up first — step 3 of the ladder,\n // which needs no flag because flex does it (see `computeSplit`). The\n // corner is the theme's field radius, so the box matches the pills beside it.\n sx={(theme) => ({ ...boxWidth(fill), ...fieldTextFieldStyles(theme) })}\n />\n );\n}\n\n/**\n * Step 4 of the ladder: the search as a magnifier.\n *\n * Carries a dot when a search is APPLIED. Collapsing a control that is\n * currently filtering the list, with nothing saying so, is how an operator ends\n * up staring at 3 rows of 214 and reading it as missing data.\n */\nexport function CollapsedSearch({\n active,\n onOpen,\n testId,\n}: {\n active: boolean;\n onOpen: () => void;\n testId?: string;\n}): React.JSX.Element {\n const copy = useDataViewsCopy();\n return (\n <IconButton\n size=\"small\"\n onClick={onOpen}\n aria-label={copy.search.open}\n aria-expanded={false}\n data-testid={testId ? `${testId}-collapsed` : undefined}\n sx={{\n position: \"relative\",\n width: fieldHeight,\n height: fieldHeight,\n border: 1,\n borderRadius: fieldRadiusPx,\n borderColor: (theme) => (active ? theme.palette.primary.main : fieldEdge(theme)),\n color: active ? \"primary.main\" : \"text.secondary\",\n bgcolor: active ? \"action.selected\" : \"background.paper\",\n }}\n >\n <SearchIcon sx={{ fontSize: sxRem(18) }} />\n {active && (\n <Box\n component=\"span\"\n sx={{\n position: \"absolute\",\n top: 2,\n right: 2,\n width: 6,\n height: 6,\n borderRadius: \"50%\",\n bgcolor: \"primary.main\",\n }}\n />\n )}\n </IconButton>\n );\n}\n\n"],"mappings":"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","names":["default"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/Table/Table.styles.ts"],"sourcesContent":["import { alpha, keyframes } from '@mui/material/styles/index.js';\nimport type { CSSObject, Theme } from '@mui/material/styles/index.js';\n\nimport type { TableDensity, TableStripeColor } from './Table.types';\nimport { rem } from '../../../tokens/relative';\n\nconst pulseAnimation = keyframes`\n 0% {\n box-shadow: 0 0 0 0 currentColor;\n opacity: 1;\n }\n 70% {\n box-shadow: 0 0 0 10px currentColor;\n opacity: 0;\n }\n 100% {\n box-shadow: 0 0 0 0 currentColor;\n opacity: 0;\n }\n`;\n\n// Density configurations\nconst getDensityConfig = (theme: Theme, density: TableDensity = 'normal') => {\n const configs = {\n compact: {\n rowHeight: 36,\n cellPadding: '6px 12px',\n fontSize: rem(theme, 13),\n headerPadding: '8px 12px' },\n normal: {\n rowHeight: 52,\n cellPadding: '12px 16px',\n fontSize: rem(theme, 14),\n headerPadding: '16px 16px' },\n comfortable: {\n rowHeight: 68,\n cellPadding: '18px 24px',\n fontSize: rem(theme, 14),\n headerPadding: '20px 24px' } };\n return configs[density];\n};\n\nconst getStripeColorFromTheme = (theme: { palette: { primary: { main: string }; secondary: { main: string }; info: { main: string }; success: { main: string }; warning: { main: string }; error: { main: string }; action: { hover: string } } }, stripeColor: TableStripeColor = 'neutral') => {\n const colorMap: Record<TableStripeColor, string> = {\n primary: theme.palette.primary.main,\n secondary: theme.palette.secondary.main,\n info: theme.palette.info.main,\n success: theme.palette.success.main,\n warning: theme.palette.warning.main,\n danger: theme.palette.error.main,\n neutral: theme.palette.action.hover };\n return colorMap[stripeColor];\n};\n\n/**\n * The zebra stripe for one body row.\n *\n * `neutral` — the default — resolves to `palette.action.hover`, which ALREADY\n * carries its subtlety in its own alpha (`rgba(0,0,0,0.04)` in the light\n * theme). MUI's `alpha()` REPLACES that channel rather than multiplying it, so\n * re-alpha-ing it at 0.5 amplified the tint 12.5× into `rgba(0,0,0,0.5)` —\n * solid #808080 on a white card, which reads as a selected or errored row\n * rather than as a stripe (FUT-755). It is used as-is instead.\n *\n * The named colours are opaque `*.main` values with no alpha of their own, so\n * they still need one.\n */\nconst stripeRowColor = (\n theme: Parameters<typeof getStripeColorFromTheme>[0],\n stripeColor: TableStripeColor = 'neutral',\n): string => {\n const color = getStripeColorFromTheme(theme, stripeColor);\n return stripeColor === 'neutral' ? color : alpha(color, 0.15);\n};\n\n// One variant applies at a time, so a lookup replaces the mutually exclusive\n// spreads.\nconst TABLE_VARIANTS: Record<string, (args: VariantArgs) => CSSObject> = {\n default: ({ theme }) => ({\n backgroundColor: theme.palette.background.paper,\n '& .MuiTableHead-root': {\n backgroundColor: alpha(theme.palette.primary.main, 0.1) } }),\n striped: ({ theme, stripeColor }) => ({\n backgroundColor: theme.palette.background.paper,\n '& .MuiTableBody-root .MuiTableRow-root:nth-of-type(even)': {\n backgroundColor: stripeRowColor(theme, stripeColor) } }),\n glass: ({ theme }) => ({\n backgroundColor: alpha(theme.palette.background.paper, 0.1),\n backdropFilter: 'blur(20px)',\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}` }),\n minimal: ({ theme }) => ({\n backgroundColor: 'transparent',\n '& .MuiTableCell-root': {\n borderBottom: `1px solid ${alpha(theme.palette.divider, 0.1)}` } }),\n gradient: ({ theme }) => ({\n background: `linear-gradient(135deg, ${alpha(theme.palette.primary.main, 0.05)}, ${alpha(theme.palette.secondary.main, 0.05)})`,\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n '& .MuiTableHead-root': {\n background: `linear-gradient(135deg, ${alpha(theme.palette.primary.main, 0.15)}, ${alpha(theme.palette.secondary.main, 0.15)})` },\n '& .MuiTableCell-root': {\n borderBottom: `1px solid ${alpha(theme.palette.divider, 0.15)}` } }) };\n\ntype VariantArgs = {\n theme: Theme;\n densityConfig: ReturnType<typeof getDensityConfig>;\n stripeColor?: TableStripeColor;\n};\n\nconst tableVariantStyles = (args: VariantArgs, customVariant?: string): CSSObject =>\n customVariant ? (TABLE_VARIANTS[customVariant]?.(args) ?? {}) : {};\n\n// Sticky headers and row hover are independent of the variant.\nconst stickyHeaderStyles = (\n theme: Theme,\n densityConfig: ReturnType<typeof getDensityConfig>,\n): CSSObject => ({\n '& .MuiTableHead-root': {\n position: 'sticky',\n top: 0,\n zIndex: 100,\n backgroundColor: theme.palette.background.paper,\n '& .MuiTableCell-root': {\n borderBottom: `2px solid ${theme.palette.divider}`,\n fontWeight: 600,\n padding: densityConfig.headerPadding } } });\n\nconst hoverableRowStyles = (theme: Theme): CSSObject => ({\n '& .MuiTableBody-root .MuiTableRow-root:hover': {\n backgroundColor: alpha(theme.palette.primary.main, 0.08),\n cursor: 'pointer',\n transition: 'background-color 0.15s ease-in-out' } });\n\n// glow and pulse combine into three distinct looks, spelled out rather than\n// layered — the glow-only shadow differs from the one used when both are on.\nconst emphasisStyles = (theme: Theme, glow?: boolean, pulse?: boolean): CSSObject => {\n if (glow && pulse) return ({\n position: 'relative',\n boxShadow: `0 0 20px 5px ${alpha(theme.palette.primary.main, 0.3)} !important`,\n filter: 'brightness(1.05)',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n borderRadius: 'inherit',\n backgroundColor: theme.palette.primary.main,\n opacity: 0.1,\n animation: `${pulseAnimation} 2s infinite`,\n pointerEvents: 'none',\n zIndex: -1 } });\n if (glow) return ({\n boxShadow: `0 0 20px 5px ${alpha(theme.palette.primary.main, 0.3)} !important`,\n filter: 'brightness(1.05)' });\n if (pulse) return ({\n position: 'relative',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n borderRadius: 'inherit',\n backgroundColor: theme.palette.primary.main,\n opacity: 0.1,\n animation: `${pulseAnimation} 2s infinite`,\n pointerEvents: 'none',\n zIndex: -1 } });\n\n return {};\n};\n\n// The table's own styling, lifted out so the styled() callback just forwards\n// its props.\nexport const tableStyles = ({\n theme,\n customVariant,\n glow,\n pulse,\n hoverable,\n density,\n stickyHeader,\n stripeColor = 'neutral' }: {\n theme: Theme;\n customVariant?: string;\n glow?: boolean;\n pulse?: boolean;\n hoverable?: boolean;\n density?: TableDensity;\n stickyHeader?: boolean;\n stripeColor?: TableStripeColor;\n}): CSSObject => {\n const densityConfig = getDensityConfig(theme, density);\n \n return {\n borderRadius: theme.spacing(1),\n overflow: 'hidden',\n transition: 'all 0.3s ease',\n position: 'relative',\n\n // Density styles\n '& .MuiTableCell-root': {\n padding: densityConfig.cellPadding,\n fontSize: densityConfig.fontSize,\n height: densityConfig.rowHeight },\n\n // Sticky header\n ...tableVariantStyles({ theme, densityConfig, stripeColor }, customVariant),\n ...(stickyHeader ? stickyHeaderStyles(theme, densityConfig) : {}),\n ...(hoverable ? hoverableRowStyles(theme) : {}),\n ...emphasisStyles(theme, glow, pulse),\n\n\n // Variant styles\n\n\n\n\n\n\n\n\n\n\n // Hoverable rows\n\n\n // Selection styles\n '& .MuiTableRow-root.selected': {\n backgroundColor: alpha(theme.palette.primary.main, 0.12),\n '&:hover': {\n backgroundColor: alpha(theme.palette.primary.main, 0.16) } },\n\n // Glow effect\n\n\n // Pulse animation\n\n\n // Both glow and pulse\n\n };\n}\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/HoverCard/HoverCard.styles.ts"],"sourcesContent":["import { alpha } from '@mui/material/styles/index.js';\nimport type { CSSObject, Theme } from '@mui/material/styles/index.js';\n\nimport {\n pulseAnimation,\n scaleIn,\n slideInDown,\n slideInLeft,\n slideInRight,\n slideInUp,\n} from './HoverCard.animations';\nimport type { HoverCardAnimation, HoverCardPlacement } from './HoverCard.types';\nimport { shadowInk } from '../../../tokens/ink';\n\n/** The edge the card sits on, ignoring the `-start`/`-end` alignment suffix. */\ntype Side = 'top' | 'bottom' | 'left' | 'right';\n\nexport const sideOf = (placement: HoverCardPlacement): Side => {\n if (placement.startsWith('top')) return 'top';\n if (placement.startsWith('left')) return 'left';\n if (placement.startsWith('right')) return 'right';\n return 'bottom';\n};\n\nconst ARROW_SIZE = 8;\n\n/**\n * The arrow is a CSS triangle: two transparent borders on the cross axis and one\n * filled border pointing back at the anchor. Every placement is that same shape,\n * so the table holds only which edge is filled and where the triangle sits.\n */\nconst ARROWS: Record<Side, (color: string) => CSSObject> = {\n top: (color) => ({\n bottom: -ARROW_SIZE,\n left: '50%',\n transform: 'translateX(-50%)',\n borderLeft: `${ARROW_SIZE}px solid transparent`,\n borderRight: `${ARROW_SIZE}px solid transparent`,\n borderTop: `${ARROW_SIZE}px solid ${color}`,\n }),\n bottom: (color) => ({\n top: -ARROW_SIZE,\n left: '50%',\n transform: 'translateX(-50%)',\n borderLeft: `${ARROW_SIZE}px solid transparent`,\n borderRight: `${ARROW_SIZE}px solid transparent`,\n borderBottom: `${ARROW_SIZE}px solid ${color}`,\n }),\n left: (color) => ({\n right: -ARROW_SIZE,\n top: '50%',\n transform: 'translateY(-50%)',\n borderTop: `${ARROW_SIZE}px solid transparent`,\n borderBottom: `${ARROW_SIZE}px solid transparent`,\n borderLeft: `${ARROW_SIZE}px solid ${color}`,\n }),\n right: (color) => ({\n left: -ARROW_SIZE,\n top: '50%',\n transform: 'translateY(-50%)',\n borderTop: `${ARROW_SIZE}px solid transparent`,\n borderBottom: `${ARROW_SIZE}px solid transparent`,\n borderRight: `${ARROW_SIZE}px solid ${color}`,\n }),\n};\n\nexport const arrowSx = (theme: Theme, placement: HoverCardPlacement): CSSObject => ({\n position: 'absolute',\n width: 0,\n height: 0,\n zIndex: 1,\n ...ARROWS[sideOf(placement)](theme.palette.background.paper),\n});\n\ntype Origin = { vertical: 'top' | 'center' | 'bottom'; horizontal: 'left' | 'center' | 'right' };\n\n/** Where the popover attaches to the anchor, per side. */\nconst ANCHOR_ORIGINS: Record<Side, Origin> = {\n top: { vertical: 'top', horizontal: 'center' },\n bottom: { vertical: 'bottom', horizontal: 'center' },\n left: { vertical: 'center', horizontal: 'left' },\n right: { vertical: 'center', horizontal: 'right' },\n};\n\n/** The card's own corner meets the anchor's, so its origin is the opposite one. */\nconst flip = (origin: Origin): Origin => ({\n vertical: origin.vertical === 'top' ? 'bottom' : origin.vertical === 'bottom' ? 'top' : 'center',\n horizontal:\n origin.horizontal === 'left' ? 'right' : origin.horizontal === 'right' ? 'left' : 'center',\n});\n\nexport const getAnchorOrigin = (placement: HoverCardPlacement): Origin =>\n ANCHOR_ORIGINS[sideOf(placement)];\n\nexport const getTransformOrigin = (placement: HoverCardPlacement): Origin =>\n flip(ANCHOR_ORIGINS[sideOf(placement)]);\n\nconst ANIMATIONS: Record<string, CSSObject> = {\n // `fade` shares slideInUp deliberately: the keyframes fade in while rising.\n fade: { animation: `${slideInUp} 0.2s ease-out` },\n scale: { transformOrigin: 'center', animation: `${scaleIn} 0.2s cubic-bezier(0.4, 0, 0.2, 1)` },\n 'slide-up': { animation: `${slideInUp} 0.3s cubic-bezier(0.4, 0, 0.2, 1)` },\n 'slide-down': { animation: `${slideInDown} 0.3s cubic-bezier(0.4, 0, 0.2, 1)` },\n 'slide-left': { animation: `${slideInLeft} 0.3s cubic-bezier(0.4, 0, 0.2, 1)` },\n 'slide-right': { animation: `${slideInRight} 0.3s cubic-bezier(0.4, 0, 0.2, 1)` },\n};\n\nconst VARIANTS: Record<string, (theme: Theme) => CSSObject> = {\n default: (theme) => ({\n backgroundColor: theme.palette.background.paper,\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n boxShadow: theme.shadows[8],\n }),\n glass: (theme) => ({\n backgroundColor: alpha(theme.palette.background.paper, 0.85),\n backdropFilter: 'blur(20px)',\n WebkitBackdropFilter: 'blur(20px)',\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n boxShadow: `0 8px 32px ${shadowInk(theme, 0.12)}`,\n }),\n detailed: (theme) => ({\n backgroundColor: theme.palette.background.paper,\n border: `1px solid ${alpha(theme.palette.divider, 0.2)}`,\n boxShadow: theme.shadows[12],\n }),\n minimal: (theme) => ({\n backgroundColor: theme.palette.background.paper,\n border: `1px solid ${alpha(theme.palette.divider, 0.1)}`,\n boxShadow: theme.shadows[4],\n }),\n};\n\nconst glowStyles = (theme: Theme): CSSObject => ({\n boxShadow: `0 0 20px 5px ${alpha(theme.palette.primary.main, 0.3)} !important`,\n filter: 'brightness(1.05)',\n});\n\nconst pulseStyles = (theme: Theme): CSSObject => ({\n position: 'relative',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n borderRadius: 'inherit',\n backgroundColor: theme.palette.primary.main,\n opacity: 0.1,\n animation: `${pulseAnimation} 2s infinite`,\n pointerEvents: 'none',\n zIndex: -1,\n },\n});\n\nexport interface CardStyleFlags {\n customVariant?: string;\n glow?: boolean;\n pulse?: boolean;\n animation?: HoverCardAnimation;\n}\n\nexport const cardSx = (theme: Theme, flags: CardStyleFlags): CSSObject => {\n const { customVariant, glow, pulse, animation } = flags;\n\n return {\n borderRadius: theme.spacing(1.5),\n transition: 'all 0.3s cubic-bezier(0.4, 0, 0.2, 1)',\n position: 'relative',\n overflow: 'visible',\n minWidth: 200,\n maxWidth: 400,\n ...(animation ? (ANIMATIONS[animation] ?? {}) : {}),\n ...(customVariant ? (VARIANTS[customVariant]?.(theme) ?? {}) : {}),\n // The old \"both\" arm was exactly these two spread together.\n ...(glow && glowStyles(theme)),\n ...(pulse && pulseStyles(theme)),\n };\n};\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/DataViews/data-views-scopes.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useMemo, useRef } from \"react\";\n\nimport { useDataViewsCopy } from \"./data-views-copy-context\";\nimport { Box } from \"../../../mui/Box\";\nimport { sxRem } from \"../../../tokens/relative\";\n\n/**\n * SCOPES — a page-level partition rendered as a strip of tabs under the toolbar.\n *\n * A scope is not a filter. Filters NARROW within the current partition and are\n * multi-select by design; a scope PARTITIONS and is exclusive. The distinction\n * is load-bearing for three reasons, and each is why `FilterFieldConfig` could\n * not express these tabs:\n *\n * 1. They are mutually exclusive, and a pill is not.\n * 2. They carry counts of the WHOLE query, which no client can compute under\n * pagination — the count has to come off the response\n * ({@link DataViewServer.scopeCounts}).\n * 3. They compose with the filters instead of competing with them: the scope\n * picks the bucket, the pills narrow inside it.\n *\n * The `predicate` is deliberately opaque to this package. Only the host knows\n * what \"recusados\" selects; the component's whole job is to say WHICH scope is\n * active and let the server answer.\n */\nexport interface ScopeConfig {\n /** Stable id — travels in `DataViewQuery.scope` and in a saved view's state. */\n id: string;\n label: string;\n /**\n * Opaque payload the SERVER interprets. Omitted on the \"all\" scope. Never read\n * by this package: a scope is applied at the backend, never in the browser.\n */\n predicate?: unknown;\n}\n\n/**\n * The active scope id, resolved against what the table currently declares.\n *\n * Resolution happens at READ time, on purpose. A saved view is written once and\n * read many times, and the declared scopes change underneath it — a scope\n * removed after a view was saved must fall back at render rather than break the\n * view or, worse, emit a scope the backend rejects. Resolving on write would\n * bake the mistake in.\n *\n * Returns `undefined` when the table declares no scopes, which is what keeps\n * `scope` out of the emitted query entirely for every table that never opted in.\n */\nexport function resolveScope(scopes: ScopeConfig[], stored: string | undefined): string | undefined {\n if (scopes.length === 0) return undefined;\n const declared = stored !== undefined && scopes.some((scope) => scope.id === stored);\n return declared ? stored : scopes[0]?.id;\n}\n\n/** Are we running outside production? Config mistakes fail loudly only here. */\nfunction isDevelopment(): boolean {\n return typeof process !== \"undefined\" && process.env?.NODE_ENV !== \"production\";\n}\n\n/**\n * Reject a table that partitions by a field AND declares a filter pill over the\n * same field. Two controls over one field is how a tab and a pill end up\n * contradicting each other — the pill says \"estado ∈ {pago, recusado}\" while the\n * tab says \"estado = recusado\", and nothing in either control can show the user\n * which one the server honoured.\n *\n * Throws in DEVELOPMENT ONLY. A thrown config error in production is strictly\n * worse than a duplicated control: the duplicate is confusing, the throw is a\n * blank page. Fail where it is seen and fixed.\n *\n * `scopeFieldId` is the field the scopes partition by, when the host knows it.\n * Absent, the scope IDS are checked against the field ids — which catches the\n * common shape where the scope ids ARE the field's values (`pago`, `recusado`)\n * declared a second time as a pill.\n */\nexport function assertNoScopePillOverlap(\n scopes: ScopeConfig[],\n fieldIds: string[],\n scopeFieldId?: string,\n): void {\n if (scopes.length === 0 || !isDevelopment()) return;\n const clash = scopeFieldId !== undefined && fieldIds.includes(scopeFieldId) ? scopeFieldId : undefined;\n if (clash === undefined) return;\n throw new Error(\n `DataViews: the field \"${clash}\" is both the scope partition (scopes: ` +\n `${scopes.map((scope) => scope.id).join(\", \")}) and a filter field (fields: ` +\n `${fieldIds.join(\", \")}). A field may drive the scope tabs or a filter pill, not both — ` +\n `drop one of the two declarations.`,\n );\n}\n\n/**\n * A development-only warning that scopes need server wiring. Scopes are resolved\n * and emitted, never applied in the browser: filtering locally would make the\n * counts, the \"N de N\" counter and the rendered rows disagree the moment a\n * second page exists.\n */\nexport function warnScopesNeedServer(scopes: ScopeConfig[], hasServer: boolean): void {\n if (scopes.length === 0 || hasServer || !isDevelopment()) return;\n // eslint-disable-next-line no-console -- a config warning has no other channel.\n console.warn(\n \"DataViews: `scopes` require server mode. The scope is tracked and would be emitted, \" +\n \"but with no `server` there is nothing to emit it to and rows are NOT filtered in the browser. \" +\n \"Supply `server` (see DataViewServer) or drop the scopes.\",\n );\n}\n\n/**\n * The scope configuration's setup-time checks, run once per configuration rather\n * than per render: reject a field that is both a scope partition and a filter\n * pill (development only — see `assertNoScopePillOverlap`), and warn about\n * scopes declared with no server to apply them.\n *\n * In a `useMemo` so a mistake surfaces during the FIRST render, where the stack\n * still points at the table that made it.\n */\nexport function useScopeConfigChecks(\n scopes: ScopeConfig[],\n fieldIds: string[],\n scopeFieldId: string | undefined,\n hasServer: boolean,\n): void {\n useMemo(() => {\n assertNoScopePillOverlap(scopes, fieldIds, scopeFieldId);\n warnScopesNeedServer(scopes, hasServer);\n // Keyed on the ids rather than the arrays: hosts pass inline literals, so the\n // array identity changes every render while the configuration does not.\n }, [scopes, fieldIds.join(\",\"), scopeFieldId, hasServer]);\n}\n\n/** Everything the tab strip needs; `counts` is absent when the server omits it. */\ninterface DataViewsScopeTabsProps {\n scopes: ScopeConfig[];\n /** The RESOLVED active scope id (see {@link resolveScope}). */\n value: string | undefined;\n onChange: (id: string) => void;\n /** Server-supplied per-scope totals. Absent ⇒ tabs render WITHOUT numbers. */\n counts?: Record<string, number>;\n testIdPrefix: string;\n}\n\n/** The accessible name of one tab: its label, plus its count when there is one. */\nfunction tabLabel(label: string, count: number | undefined): string {\n return count === undefined ? label : `${label}, ${count}`;\n}\n\n/**\n * Move focus + selection between tabs with the arrow keys, wrapping at both\n * ends. Selection FOLLOWS focus here (an \"automatic activation\" tab list): each\n * arrow press is one scope change, which is one query — the same cost as a\n * click, and it keeps the strip's behaviour identical whichever input the\n * operator uses.\n */\nfunction arrowTarget(key: string, index: number, total: number): number | null {\n if (key === \"ArrowRight\") return (index + 1) % total;\n if (key === \"ArrowLeft\") return (index - 1 + total) % total;\n if (key === \"Home\") return 0;\n if (key === \"End\") return total - 1;\n return null;\n}\n\n/** The active tab's own scroll-into-view, so a deep link to a late scope lands visible. */\nfunction useScrollActiveIntoView(value: string | undefined): React.RefObject<HTMLDivElement | null> {\n const stripRef = useRef<HTMLDivElement | null>(null);\n useEffect(() => {\n const strip = stripRef.current;\n if (!strip || value === undefined) return;\n const active = strip.querySelector<HTMLElement>('[role=\"tab\"][aria-selected=\"true\"]');\n // jsdom implements neither, so guard rather than assume the DOM is a browser's.\n active?.scrollIntoView?.({ block: \"nearest\", inline: \"nearest\" });\n }, [value]);\n return stripRef;\n}\n\n/** One tab's visual + a11y state, kept out of the strip's map for readability. */\nfunction scopeTabSx(active: boolean): Record<string, unknown> {\n return {\n // A 44px min target: the strip is the first thing a thumb reaches on a phone.\n minHeight: 44,\n px: 1.5,\n py: 1,\n border: 0,\n borderBottom: 2,\n borderStyle: \"solid\",\n borderColor: active ? \"primary.main\" : \"transparent\",\n background: \"none\",\n cursor: \"pointer\",\n whiteSpace: \"nowrap\",\n font: \"inherit\",\n fontSize: sxRem(13),\n fontWeight: active ? 600 : 400,\n color: active ? \"primary.main\" : \"text.secondary\",\n \"&:hover\": { color: active ? \"primary.main\" : \"text.primary\" },\n \"&:focus-visible\": { outline: \"2px solid\", outlineColor: \"primary.main\", outlineOffset: -2 },\n };\n}\n\n/** The count badge. Rendered only when the server actually supplied a number. */\nfunction ScopeCount({\n count,\n active,\n testId,\n}: {\n count: number;\n active: boolean;\n testId: string;\n}): React.JSX.Element {\n return (\n <Box\n component=\"span\"\n // The number is already in the tab's `aria-label`; announcing it twice\n // would read \"Recusados 2, 2\".\n aria-hidden=\"true\"\n data-testid={testId}\n sx={{\n ml: 0.75,\n px: 0.75,\n borderRadius: 5,\n fontSize: sxRem(11),\n fontWeight: 600,\n bgcolor: active ? \"primary.main\" : \"action.selected\",\n color: active ? \"primary.contrastText\" : \"text.secondary\",\n }}\n >\n {count}\n </Box>\n );\n}\n\ninterface ScopeTabProps {\n scope: ScopeConfig;\n index: number;\n total: number;\n active: boolean;\n count: number | undefined;\n onChange: (id: string) => void;\n /**\n * Move to the tab at `index`: focus it AND select it. Only the strip knows\n * the other scopes and owns the DOM, so the move belongs to it.\n */\n moveTo: (index: number) => void;\n testIdPrefix: string;\n}\n\n/** One tab: a real `<button role=\"tab\">` with a roving tabindex and arrow keys. */\nfunction ScopeTab({\n scope,\n index,\n total,\n active,\n count,\n onChange,\n moveTo,\n testIdPrefix,\n}: ScopeTabProps): React.JSX.Element {\n return (\n <Box\n component=\"button\"\n type=\"button\"\n role=\"tab\"\n id={`${testIdPrefix}-scope-tab-${scope.id}`}\n aria-selected={active}\n // Roving tabindex: one tab stop for the whole strip, arrows move within it.\n tabIndex={active ? 0 : -1}\n aria-label={tabLabel(scope.label, count)}\n data-testid={`${testIdPrefix}-scope-${scope.id}`}\n onClick={() => onChange(scope.id)}\n onKeyDown={(event: React.KeyboardEvent<HTMLButtonElement>) => {\n const target = arrowTarget(event.key, index, total);\n if (target === null) return;\n event.preventDefault();\n moveTo(target);\n }}\n sx={scopeTabSx(active)}\n >\n {scope.label}\n {count !== undefined && (\n <ScopeCount\n count={count}\n active={active}\n testId={`${testIdPrefix}-scope-count-${scope.id}`}\n />\n )}\n </Box>\n );\n}\n\n/** The strip's own layout: one non-wrapping row that scrolls horizontally. */\nconst STRIP_SX = {\n display: \"flex\",\n alignItems: \"stretch\",\n gap: 0.5,\n // One row that scrolls — never wraps, never collapses into a select.\n flexWrap: \"nowrap\",\n overflowX: \"auto\",\n overflowY: \"hidden\",\n scrollbarWidth: \"thin\",\n borderBottom: 1,\n borderColor: \"divider\",\n mx: { xs: -2, md: -3 },\n px: { xs: 2, md: 3 },\n} as const;\n\n/**\n * The scope strip: a horizontally scrolling tab list under the toolbar.\n *\n * It SCROLLS rather than collapsing into a select on a narrow screen, which is\n * the opposite of what the filter pills do — and deliberately. The counts are\n * the reason the tabs exist at all; burying them behind a menu costs a tap per\n * glance, exactly on the device where glancing is the point.\n *\n * Counts render verbatim from `counts` — never derived from the loaded page, and\n * never invented when the key is missing. A missing count means \"the server did\n * not say\", which reads honestly as no badge at all.\n */\nexport function DataViewsScopeTabs({\n scopes,\n value,\n onChange,\n counts,\n testIdPrefix,\n}: DataViewsScopeTabsProps): React.JSX.Element | null {\n const copy = useDataViewsCopy();\n const stripRef = useScrollActiveIntoView(value);\n const moveTo = (index: number): void => {\n // Focus FIRST, then select: the roving tabindex follows the selection, so\n // focusing afterwards would land on a tab that has given up its tab stop.\n stripRef.current?.querySelectorAll<HTMLElement>('[role=\"tab\"]')?.[index]?.focus();\n const next = scopes[index];\n if (next) onChange(next.id);\n };\n // Reserve NO vertical space when there is nothing to show: a page that\n // declares no scopes must not gain an empty row.\n if (scopes.length === 0) return null;\n const activeIndex = Math.max(\n 0,\n scopes.findIndex((scope) => scope.id === value),\n );\n\n return (\n <Box ref={stripRef} role=\"tablist\" aria-label={copy.filters.scopesLabel} data-testid={`${testIdPrefix}-scopes`} sx={STRIP_SX}>\n {scopes.map((scope, index) => (\n <ScopeTab\n key={scope.id}\n scope={scope}\n index={index}\n total={scopes.length}\n active={index === activeIndex}\n count={counts?.[scope.id]}\n onChange={onChange}\n moveTo={moveTo}\n testIdPrefix={testIdPrefix}\n />\n ))}\n </Box>\n );\n}\n"],"mappings":"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","names":["default"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/data-display/Avatar/Avatar.tsx"],"sourcesContent":["import BrokenImage from '@mui/icons-material/BrokenImage';\nimport Person from '@mui/icons-material/Person';\nimport { styled } from '@mui/material/styles/index.js';\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport {\n AVATAR_DEFAULTS,\n contentTypeOf,\n pickAvatarContent,\n type AvatarContentPick,\n} from './Avatar.helpers';\nimport { GROUP_MAX, GROUP_OVERLAP, GROUP_HOVER, BORDER_WIDTH } from './Avatar.metrics';\nimport type { AvatarProps, ContentType } from './Avatar.types';\nimport { AvatarView, type AvatarViewProps } from './Avatar.view';\n\n/** The node behind the winning content slot; the pick itself is shared. */\nfunction resolveContent(args: {\n children?: React.ReactNode;\n fallback?: React.ReactNode;\n icon?: React.ReactNode;\n imageError: boolean;\n showFallbackOnError: boolean;\n}): { content: React.ReactNode; contentType: ContentType } {\n const { children, fallback, icon, imageError, showFallbackOnError } = args;\n const pick = pickAvatarContent({\n hasChildren: Boolean(children),\n hasFallback: Boolean(fallback),\n hasIcon: Boolean(icon),\n imageError,\n showFallbackOnError,\n });\n const NODES: Record<AvatarContentPick, React.ReactNode> = {\n children,\n fallback,\n icon,\n broken: <BrokenImage />,\n default: <Person />,\n };\n return { content: NODES[pick], contentType: contentTypeOf(pick) };\n}\n\n/** Fades the avatar in after `animationDelay`ms. */\nfunction useMountedFade(animationDelay: number): boolean {\n const [mounted, setMounted] = useState(false);\n useEffect(() => {\n const timer = window.setTimeout(() => setMounted(true), animationDelay);\n return () => window.clearTimeout(timer);\n }, [animationDelay]);\n return mounted;\n}\n\ninterface ImageState {\n imageError: boolean;\n imageLoading: boolean;\n handleImageError: React.ReactEventHandler;\n handleImageLoad: () => void;\n}\n\n/**\n * Tracks the `<img>` load lifecycle. `imageLoading` starts true whenever there is\n * a `src` and clears on load/error — the handlers must be wired to the actual img\n * (via `slotProps.img` in the view), since load/error don't bubble to the root.\n */\nfunction useImageState(src: string | undefined, onError?: React.ReactEventHandler): ImageState {\n const [imageError, setImageError] = useState(false);\n const [imageLoading, setImageLoading] = useState(!!src);\n\n useEffect(() => {\n setImageError(false);\n setImageLoading(!!src);\n }, [src]);\n\n const handleImageError = useCallback<React.ReactEventHandler>(\n (event) => {\n setImageError(true);\n setImageLoading(false);\n onError?.(event);\n },\n [onError],\n );\n\n const handleImageLoad = useCallback(() => setImageLoading(false), []);\n\n return { imageError, imageLoading, handleImageError, handleImageLoad };\n}\n\n/** Normalizes props (defaults + rest passthrough) and derives everything the view needs. */\nfunction useAvatarModel(raw: AvatarProps, ref: React.Ref<HTMLDivElement>): AvatarViewProps {\n const {\n variant,\n size,\n glow,\n pulse,\n status,\n fallback,\n icon,\n bordered,\n color,\n src,\n alt,\n children,\n loading,\n onError,\n onClick,\n interactive,\n showFallbackOnError,\n animationDelay,\n className,\n dataTestId,\n // React Native's spelling of the same id; it names the component on both\n // sides and must not reach the DOM as an attribute.\n testID,\n ...rest\n } = { ...AVATAR_DEFAULTS, ...raw };\n\n const mounted = useMountedFade(animationDelay);\n const { imageError, imageLoading, handleImageError, handleImageLoad } = useImageState(src, onError);\n const handleClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => onClick?.(event),\n [onClick],\n );\n const { content, contentType } = resolveContent({\n children,\n fallback,\n icon,\n imageError,\n showFallbackOnError,\n });\n\n return {\n mounted,\n variant,\n size,\n color,\n glow,\n pulse,\n bordered,\n showSpinner: loading || imageLoading,\n imageError,\n clickable: interactive || !!onClick,\n imgSrc: imageError ? undefined : src,\n alt,\n ariaLabel: (rest['aria-label'] as string) || alt || 'Avatar',\n content,\n contentType,\n className,\n dataTestId: testID ?? dataTestId,\n status,\n forwardedRef: ref,\n onClick: handleClick,\n handleImageError,\n handleImageLoad,\n rest,\n };\n}\n\nexport const Avatar = React.forwardRef<HTMLDivElement, AvatarProps>((props, ref) => (\n <AvatarView {...useAvatarModel(props, ref)} />\n));\n\nAvatar.displayName = 'Avatar';\n\nconst AvatarGroupContainer = styled('div')<{ overlap?: number }>(({ theme, overlap = GROUP_OVERLAP }) => ({\n display: 'flex',\n alignItems: 'center',\n '& > *': {\n marginLeft: -overlap,\n transition: 'all 0.3s ease',\n position: 'relative',\n border: `${BORDER_WIDTH}px solid ${theme.palette.background.paper}`,\n '&:hover': {\n zIndex: 100,\n transform: `scale(${GROUP_HOVER.scale}) translateY(-${GROUP_HOVER.lift}px)`,\n },\n '&:first-of-type': {\n marginLeft: 0,\n },\n },\n}));\n\n// Export AvatarGroup for grouped avatars\nexport const AvatarGroup: React.FC<{\n children: React.ReactNode;\n max?: number;\n overlap?: number;\n className?: string;\n dataTestId?: string;\n}> = ({ children, max = GROUP_MAX, overlap = GROUP_OVERLAP, className, dataTestId }) => {\n const childrenArray = React.Children.toArray(children);\n const visibleChildren = max ? childrenArray.slice(0, max) : childrenArray;\n const remainingCount = childrenArray.length - visibleChildren.length;\n\n return (\n <AvatarGroupContainer overlap={overlap} className={className} data-testid={dataTestId}>\n {visibleChildren}\n {remainingCount > 0 && (\n <Avatar\n size={(visibleChildren[0] as React.ReactElement<AvatarProps>)?.props?.size || 'md'}\n color=\"neutral\"\n fallback={`+${remainingCount}`}\n bordered\n dataTestId={dataTestId ? `${dataTestId}-overflow` : undefined}\n />\n )}\n </AvatarGroupContainer>\n );\n};\n\nAvatarGroup.displayName = 'AvatarGroup';\n"],"mappings":"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","names":[]}