@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.
- package/dist/_internal/components/data-display/Alert/Alert.js +3 -3
- package/dist/_internal/components/data-display/Alert/Alert.styles.js +2 -2
- package/dist/_internal/components/data-display/AlertDialog/AlertDialog.js +2 -2
- package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +5 -5
- package/dist/_internal/components/data-display/Avatar/Avatar.animations.js +2 -1
- package/dist/_internal/components/data-display/Avatar/Avatar.js +4 -4
- package/dist/_internal/components/data-display/Avatar/Avatar.view.js +3 -3
- package/dist/_internal/components/data-display/Badge/Badge.animations.js +2 -1
- package/dist/_internal/components/data-display/Badge/Badge.js +6 -6
- package/dist/_internal/components/data-display/Badge/Badge.styles.js +4 -4
- package/dist/_internal/components/data-display/Badge/Badge.variants.js +2 -2
- package/dist/_internal/components/data-display/Badge/BadgeContent.js +5 -5
- package/dist/_internal/components/data-display/Banner/Banner.js +3 -3
- package/dist/_internal/components/data-display/Banner/Banner.styles.js +2 -2
- package/dist/_internal/components/data-display/CardKit/CardKebab.js +1 -1
- package/dist/_internal/components/data-display/CardKit/card-actions-context.js +4 -4
- package/dist/_internal/components/data-display/CardKit/list-card-parts.js +1 -1
- package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +10 -10
- package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +7 -7
- package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +3 -3
- package/dist/_internal/components/data-display/Carousel/Carousel.js +6 -6
- package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +2 -2
- package/dist/_internal/components/data-display/Carousel/Carousel.slide.js +2 -1
- package/dist/_internal/components/data-display/Carousel/Carousel.styles.js +6 -4
- package/dist/_internal/components/data-display/Chart/Chart.js +7 -7
- package/dist/_internal/components/data-display/Chart/ChartComposables.js +2 -1
- package/dist/_internal/components/data-display/Chart/SpecChart.js +8 -8
- package/dist/_internal/components/data-display/Chart/chart-axis.js +2 -1
- package/dist/_internal/components/data-display/Chart/chart-context.js +4 -4
- package/dist/_internal/components/data-display/Chart/chart-internals.js +4 -2
- package/dist/_internal/components/data-display/Chart/chart-renderers.js +6 -6
- package/dist/_internal/components/data-display/Chip/Chip.js +3 -2
- package/dist/_internal/components/data-display/Chip/Chip.styles.js +2 -1
- package/dist/_internal/components/data-display/DataGrid/DataGrid.js +3 -2
- package/dist/_internal/components/data-display/DataGrid/DataGrid.states.js +2 -1
- package/dist/_internal/components/data-display/DataViews/DataViewsBoard.js +2 -2
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +28 -28
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +40 -40
- package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +1 -1
- package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +7 -7
- package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +3 -3
- package/dist/_internal/components/data-display/DataViews/base-card.js +5 -5
- package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +7 -7
- package/dist/_internal/components/data-display/DataViews/base-list-card-gutters.js +3 -3
- package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +3 -3
- package/dist/_internal/components/data-display/DataViews/base-list-card.js +9 -9
- package/dist/_internal/components/data-display/DataViews/card-surface.js +3 -2
- package/dist/_internal/components/data-display/DataViews/data-views-bar-controls.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-columns-tab.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-columns.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-day-input.js +2 -1
- package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +5 -5
- package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-drag.js +2 -1
- package/dist/_internal/components/data-display/DataViews/data-views-empty.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-export.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +5 -5
- package/dist/_internal/components/data-display/DataViews/data-views-glyphs.js +2 -1
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +25 -25
- package/dist/_internal/components/data-display/DataViews/data-views-header-row.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +8 -8
- package/dist/_internal/components/data-display/DataViews/data-views-layout-context.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +5 -5
- package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-number-input.js +2 -1
- package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-scopes.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-search.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +9 -9
- package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +12 -12
- package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +8 -8
- package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +2 -2
- package/dist/_internal/components/data-display/DataViews/list-card-rails.js +1 -1
- package/dist/_internal/components/data-display/DataViews/save-view-preview.js +2 -2
- package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +5 -5
- package/dist/_internal/components/data-display/DateTimeDisplay/DateTimeDisplay.js +2 -1
- package/dist/_internal/components/data-display/DateTimeDisplay/index.js +2 -1
- package/dist/_internal/components/data-display/DescriptionItem/DescriptionItem.js +2 -2
- package/dist/_internal/components/data-display/EmptyState/EmptyState.js +2 -1
- package/dist/_internal/components/data-display/ErrorState/ErrorState.js +1 -1
- package/dist/_internal/components/data-display/FleetMap/FleetBody.js +15 -15
- package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +13 -13
- package/dist/_internal/components/data-display/FleetMap/FleetMap.js +17 -17
- package/dist/_internal/components/data-display/FleetMap/FleetRoster.js +2 -1
- package/dist/_internal/components/data-display/HoverCard/HoverCard.animations.js +2 -1
- package/dist/_internal/components/data-display/HoverCard/HoverCard.content.js +2 -1
- package/dist/_internal/components/data-display/HoverCard/HoverCard.js +5 -4
- package/dist/_internal/components/data-display/HoverCard/HoverCard.styles.js +3 -2
- package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.hooks.js +1 -1
- package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.js +4 -4
- package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.styles.js +4 -2
- package/dist/_internal/components/data-display/LazyImage/LazyImage.hooks.js +2 -1
- package/dist/_internal/components/data-display/LazyImage/LazyImage.js +3 -2
- package/dist/_internal/components/data-display/Lightbox/Lightbox.constants.js +4 -4
- package/dist/_internal/components/data-display/Lightbox/Lightbox.hooks.js +3 -3
- package/dist/_internal/components/data-display/Lightbox/Lightbox.js +9 -9
- package/dist/_internal/components/data-display/Lightbox/LightboxControls.js +3 -3
- package/dist/_internal/components/data-display/Lightbox/LightboxOverlay.js +4 -4
- package/dist/_internal/components/data-display/Lightbox/LightboxStage.js +3 -3
- package/dist/_internal/components/data-display/Lightbox/LightboxThumbnails.js +3 -3
- package/dist/_internal/components/data-display/Lightbox/useLightbox.js +4 -4
- package/dist/_internal/components/data-display/LoadingState/LoadingState.js +2 -1
- package/dist/_internal/components/data-display/MapPreview/MapControlBar.js +2 -1
- package/dist/_internal/components/data-display/MapPreview/MapDecorations.js +3 -3
- package/dist/_internal/components/data-display/MapPreview/MapLayers.js +5 -4
- package/dist/_internal/components/data-display/MapPreview/MapMarkers.js +3 -3
- package/dist/_internal/components/data-display/MapPreview/MapOverlays.js +1 -1
- package/dist/_internal/components/data-display/MapPreview/MapPreview.helpers.js +2 -1
- package/dist/_internal/components/data-display/MapPreview/MapPreview.js +12 -12
- package/dist/_internal/components/data-display/MapPreview/MapSearchBar.js +2 -1
- package/dist/_internal/components/data-display/MapPreview/MapTiles.js +3 -2
- package/dist/_internal/components/data-display/MapPreview/StaticMapView.js +5 -5
- package/dist/_internal/components/data-display/MapPreview/mapSurface.js +4 -3
- package/dist/_internal/components/data-display/Popover/Popover.js +2 -1
- package/dist/_internal/components/data-display/Progress/Progress.js +3 -3
- package/dist/_internal/components/data-display/Progress/Progress.styles.js +2 -2
- package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +4 -4
- package/dist/_internal/components/data-display/Sheet/Sheet.animations.js +2 -1
- package/dist/_internal/components/data-display/Sheet/Sheet.body.js +4 -4
- package/dist/_internal/components/data-display/Sheet/Sheet.hooks.js +3 -2
- package/dist/_internal/components/data-display/Sheet/Sheet.js +7 -7
- package/dist/_internal/components/data-display/Sheet/Sheet.parts.js +3 -2
- package/dist/_internal/components/data-display/Sheet/Sheet.styles.js +3 -3
- package/dist/_internal/components/data-display/StatCard/StatCard.js +2 -2
- package/dist/_internal/components/data-display/Stepper/Stepper.js +2 -2
- package/dist/_internal/components/data-display/Table/Table.js +2 -2
- package/dist/_internal/components/data-display/Table/Table.styles.js +1 -1
- package/dist/_internal/components/data-display/Timeline/Timeline.js +3 -3
- package/dist/_internal/components/data-display/Timeline/TimelineRow.js +2 -2
- package/dist/_internal/components/data-display/TimingDiagram/TimingDiagram.js +3 -3
- package/dist/_internal/components/data-display/TimingDiagram/TimingDiagram.views.js +2 -2
- package/dist/_internal/components/data-display/Tooltip/Tooltip.js +2 -2
- package/dist/_internal/components/data-display/index.js +87 -87
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.js +4 -4
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.parts.js +3 -3
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +5 -5
- package/dist/_internal/components/feedback/ConfirmAction/with-confirmation.js +4 -4
- package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +4 -4
- package/dist/_internal/components/feedback/Sonner/Sonner.js +1 -1
- package/dist/_internal/components/feedback/Sonner/SonnerToast.js +1 -1
- package/dist/_internal/components/feedback/index.js +9 -9
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +1 -1
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +1 -1
- package/dist/_internal/components/form/Button/Button.js +1 -1
- package/dist/_internal/components/form/Button/Button.styles.js +1 -1
- package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +1 -1
- package/dist/_internal/components/form/CategorySelect/CategoryPanelFoot.js +1 -1
- package/dist/_internal/components/form/CategorySelect/CategoryPanelHead.js +1 -1
- package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +1 -1
- package/dist/_internal/components/form/CategorySelect/CategoryRows.js +1 -1
- package/dist/_internal/components/form/CategorySelect/CategorySelect.js +1 -1
- package/dist/_internal/components/form/CategorySelect/CategorySelect.styles.js +1 -1
- package/dist/_internal/components/form/CategorySelect/CategoryTrigger.js +1 -1
- package/dist/_internal/components/form/CepField/CepField.js +1 -1
- package/dist/_internal/components/form/Checkbox/Checkbox.js +1 -1
- package/dist/_internal/components/form/CodeEditor/CodeEditor.js +1 -1
- package/dist/_internal/components/form/Command/Command.js +1 -1
- package/dist/_internal/components/form/Command/Command.styles.js +1 -1
- package/dist/_internal/components/form/CreatableSelect/CreatableSelect.js +1 -1
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.hooks.js +4 -3
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +6 -6
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.range.js +3 -2
- package/dist/_internal/components/form/DateRangePicker/DateRangePickerFields.js +4 -3
- package/dist/_internal/components/form/InputOTP/InputOTP.js +1 -1
- package/dist/_internal/components/form/InputOTP/InputOTP.styles.js +1 -1
- package/dist/_internal/components/form/Label/Label.js +1 -1
- package/dist/_internal/components/form/Label/Label.styles.js +1 -1
- package/dist/_internal/components/form/Menubar/Menubar.item.js +1 -1
- package/dist/_internal/components/form/Menubar/Menubar.js +1 -1
- package/dist/_internal/components/form/Menubar/Menubar.styles.js +1 -1
- package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +1 -1
- package/dist/_internal/components/form/PhoneInput/PhoneInput.js +1 -1
- package/dist/_internal/components/form/RadioGroup/RadioGroup.js +1 -1
- package/dist/_internal/components/form/RadioGroup/RadioGroup.styles.js +1 -1
- package/dist/_internal/components/form/RadioGroup/RadioGroup.variants.js +1 -1
- package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +1 -1
- package/dist/_internal/components/form/Slider/Slider.js +1 -1
- package/dist/_internal/components/form/Slider/Slider.styles.js +1 -1
- package/dist/_internal/components/form/Switch/Switch.js +1 -1
- package/dist/_internal/components/form/Switch/Switch.parts.js +1 -1
- package/dist/_internal/components/form/Switch/Switch.styles.js +1 -1
- package/dist/_internal/components/form/Textarea/Textarea.js +2 -2
- package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +2 -2
- package/dist/_internal/components/form/Toggle/Toggle.js +1 -1
- package/dist/_internal/components/form/Toggle/Toggle.styles.js +1 -1
- package/dist/_internal/components/form/ToggleGroup/ToggleGroup.js +1 -1
- package/dist/_internal/components/form/index.js +7 -7
- package/dist/_internal/components/form/total-form/Fields/CategoryField.js +1 -1
- package/dist/_internal/components/form/total-form/Fields/CepField.js +1 -1
- package/dist/_internal/components/form/total-form/Fields/SelectField.js +1 -1
- package/dist/_internal/components/form/total-form/Fields/TextField.js +1 -1
- package/dist/_internal/components/form/total-form/Fields/ToggleField.js +1 -1
- package/dist/_internal/components/form/total-form/Fields/index.js +1 -1
- package/dist/_internal/components/form/total-form/SubmitButton.js +1 -1
- package/dist/_internal/components/index.js +108 -108
- package/dist/_internal/components/layout/Box/Box.js +1 -1
- package/dist/_internal/components/layout/ContentToolbar/ColumnsMenu.js +1 -1
- package/dist/_internal/components/layout/ContentToolbar/FilterTrigger.js +1 -1
- package/dist/_internal/components/layout/ContentToolbar/MultiSelectDropdown.js +1 -1
- package/dist/_internal/components/layout/ContentToolbar/MultiSelectTriggers.js +1 -1
- package/dist/_internal/components/layout/ContentToolbar/SavedViewsMenu.js +1 -1
- package/dist/_internal/components/layout/ContentToolbar/SortByDropdown.js +1 -1
- package/dist/_internal/components/layout/ContentToolbar/ViewSelector.js +1 -1
- package/dist/_internal/components/layout/Stack/Stack.js +1 -1
- package/dist/_internal/components/layout/TableFilter/TableFilter.js +1 -1
- package/dist/_internal/components/layout/index.js +1 -1
- package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +8 -8
- package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +1 -1
- package/dist/_internal/components/navigation/Breadcrumbs/BreadcrumbEntry.js +3 -3
- package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.js +4 -4
- package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.styles.js +2 -2
- package/dist/_internal/components/navigation/CommandPalette/CommandPalette.js +1 -1
- package/dist/_internal/components/navigation/ContextMenu/ContextMenu.js +1 -1
- package/dist/_internal/components/navigation/DropdownMenu/DropdownMenu.js +1 -1
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +5 -5
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +7 -7
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.shell.js +3 -3
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.styles.js +2 -2
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +3 -3
- package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +5 -5
- package/dist/_internal/components/navigation/Pagination/Pagination.js +1 -1
- package/dist/_internal/components/navigation/index.js +17 -17
- package/dist/_internal/components/typography/Blockquote/Blockquote.js +1 -1
- package/dist/_internal/components/typography/Code/Code.js +1 -1
- package/dist/_internal/components/typography/Text/Text.js +1 -1
- package/dist/_internal/components/typography/index.js +1 -1
- package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.js +1 -1
- package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.styles.js +1 -1
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +1 -1
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +1 -1
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +1 -1
- package/dist/_internal/components/utility/index.js +1 -1
- package/dist/_internal/icons/Icon.js +1 -1
- package/dist/_internal/provider/UiProvider.js +1 -1
- package/dist/_internal/provider/mui-bridge.js +1 -1
- package/dist/_internal/provider/use-ui-theme.js +1 -1
- package/dist/_internal/social-login-button/social-login-button.js +1 -1
- package/dist/_internal/user-avatar/user-avatar.js +5 -5
- package/dist/charts.js +8 -8
- package/dist/{chunk-BNU4RLEC.js → chunk-2FM5SUQV.js} +8 -4
- package/dist/chunk-2FM5SUQV.js.map +1 -0
- package/dist/{chunk-APT5L7V5.js → chunk-2LIRGFEK.js} +2 -2
- package/dist/{chunk-LDDN254Q.js → chunk-2UCLUDEB.js} +2 -2
- package/dist/{chunk-6SYFPRTT.js → chunk-343OLRFT.js} +2 -2
- package/dist/{chunk-VDGJV7MP.js → chunk-3AQD2EA6.js} +9 -9
- package/dist/chunk-3AQD2EA6.js.map +1 -0
- package/dist/{chunk-3GQ6PNEM.js → chunk-3GTMGPNQ.js} +20 -5
- package/dist/chunk-3GTMGPNQ.js.map +1 -0
- package/dist/{chunk-TFZI36UD.js → chunk-3KA6MYIR.js} +4 -3
- package/dist/chunk-3KA6MYIR.js.map +1 -0
- package/dist/{chunk-5VWYCVXF.js → chunk-3U3H3BZM.js} +6 -3
- package/dist/chunk-3U3H3BZM.js.map +1 -0
- package/dist/{chunk-H2YBVBPW.js → chunk-3UIDKLML.js} +15 -11
- package/dist/chunk-3UIDKLML.js.map +1 -0
- package/dist/{chunk-M5BTIIL7.js → chunk-4CHROSWR.js} +15 -14
- package/dist/chunk-4CHROSWR.js.map +1 -0
- package/dist/{chunk-VR3U4QA5.js → chunk-4CTLEUK3.js} +6 -5
- package/dist/chunk-4CTLEUK3.js.map +1 -0
- package/dist/{chunk-ACZH2NUW.js → chunk-4NQXHPQR.js} +6 -4
- package/dist/chunk-4NQXHPQR.js.map +1 -0
- package/dist/{chunk-QTWXVOPT.js → chunk-4OW4O4A2.js} +17 -11
- package/dist/chunk-4OW4O4A2.js.map +1 -0
- package/dist/{chunk-U2IRCTAR.js → chunk-4WCDMCIS.js} +2 -2
- package/dist/{chunk-2F4YEGYG.js → chunk-57FZM6GH.js} +5 -2
- package/dist/chunk-57FZM6GH.js.map +1 -0
- package/dist/{chunk-E6YBXAZN.js → chunk-5IAVC4BT.js} +6 -6
- package/dist/chunk-5IAVC4BT.js.map +1 -0
- package/dist/{chunk-OGTTJKHI.js → chunk-5QWQR7XT.js} +4 -4
- package/dist/{chunk-DRE6DSJ7.js → chunk-5TJRJSJY.js} +3 -3
- package/dist/{chunk-5ZQUJ7LT.js → chunk-5UTAEHSB.js} +5 -2
- package/dist/chunk-5UTAEHSB.js.map +1 -0
- package/dist/{chunk-XZBCPL4N.js → chunk-5W4BLTDI.js} +2 -2
- package/dist/{chunk-Z35J5B6D.js → chunk-62UAI62O.js} +9 -8
- package/dist/chunk-62UAI62O.js.map +1 -0
- package/dist/{chunk-YG2VQUZO.js → chunk-6BDYC4RA.js} +3 -3
- package/dist/{chunk-QHUTSAFG.js → chunk-6CTPDNNX.js} +4 -4
- package/dist/{chunk-CU4TF7C7.js → chunk-6GRZ77IS.js} +4 -4
- package/dist/{chunk-YLBRXDYH.js → chunk-7EIOXZWL.js} +2 -2
- package/dist/{chunk-BD2GGIGS.js → chunk-ADHMNIWS.js} +9 -5
- package/dist/chunk-ADHMNIWS.js.map +1 -0
- package/dist/{chunk-Y2E73IG2.js → chunk-AJ5SDHX5.js} +4 -4
- package/dist/chunk-AJ5SDHX5.js.map +1 -0
- package/dist/{chunk-ZHEZISMI.js → chunk-AK2HOD6B.js} +2 -2
- package/dist/{chunk-2PWVPTS3.js → chunk-AUHYR7ID.js} +11 -9
- package/dist/chunk-AUHYR7ID.js.map +1 -0
- package/dist/{chunk-QWHURFJ3.js → chunk-B2VXP2B2.js} +6 -3
- package/dist/chunk-B2VXP2B2.js.map +1 -0
- package/dist/{chunk-YSKGLU2V.js → chunk-B7BNNSM2.js} +8 -5
- package/dist/chunk-B7BNNSM2.js.map +1 -0
- package/dist/{chunk-7ZWC5CKA.js → chunk-BAFDSAWY.js} +10 -9
- package/dist/chunk-BAFDSAWY.js.map +1 -0
- package/dist/{chunk-VZAGBDZ2.js → chunk-BJZOBG24.js} +2 -2
- package/dist/{chunk-YDPUBGJ7.js → chunk-BNEWMFVB.js} +10 -6
- package/dist/chunk-BNEWMFVB.js.map +1 -0
- package/dist/{chunk-ZUQIOWLN.js → chunk-BSYPPO2I.js} +42 -38
- package/dist/chunk-BSYPPO2I.js.map +1 -0
- package/dist/{chunk-NXX3ZQKO.js → chunk-BYH5GPLT.js} +25 -20
- package/dist/chunk-BYH5GPLT.js.map +1 -0
- package/dist/{chunk-CS3RKXT5.js → chunk-CHFHILTM.js} +2 -2
- package/dist/{chunk-DMYBTD5Y.js → chunk-CPWWMGYR.js} +2 -2
- package/dist/{chunk-L4V2LRKH.js → chunk-CSN3F36H.js} +13 -8
- package/dist/chunk-CSN3F36H.js.map +1 -0
- package/dist/{chunk-XSMMFCMQ.js → chunk-CWDV64TD.js} +3 -3
- package/dist/{chunk-IUCTYNIR.js → chunk-CX66M55F.js} +18 -17
- package/dist/chunk-CX66M55F.js.map +1 -0
- package/dist/{chunk-PGNJCUDA.js → chunk-CZBND7AY.js} +38 -21
- package/dist/chunk-CZBND7AY.js.map +1 -0
- package/dist/{chunk-73HBIIRB.js → chunk-D2UDM2SU.js} +12 -8
- package/dist/chunk-D2UDM2SU.js.map +1 -0
- package/dist/{chunk-YU647YW4.js → chunk-DB2ZFZVW.js} +7 -4
- package/dist/chunk-DB2ZFZVW.js.map +1 -0
- package/dist/{chunk-GUVBR62X.js → chunk-DCJSHYE5.js} +4 -4
- package/dist/{chunk-VV7MGILP.js → chunk-DMWSXWCZ.js} +3 -3
- package/dist/{chunk-JYRQBZEV.js → chunk-DVAAUWTC.js} +2 -2
- package/dist/{chunk-C6NI3FAV.js → chunk-DVGBFT6O.js} +2 -2
- package/dist/{chunk-5RP3KXC7.js → chunk-DY4BP5WA.js} +7 -6
- package/dist/chunk-DY4BP5WA.js.map +1 -0
- package/dist/{chunk-W5ENK5CM.js → chunk-DZNMS2SH.js} +5 -5
- package/dist/{chunk-QO6QWBDI.js → chunk-E4TNDTWV.js} +7 -4
- package/dist/chunk-E4TNDTWV.js.map +1 -0
- package/dist/{chunk-IFSUKWE7.js → chunk-E7T3A4IR.js} +10 -6
- package/dist/chunk-E7T3A4IR.js.map +1 -0
- package/dist/{chunk-I6EVBLFX.js → chunk-EA2UNEL6.js} +20 -11
- package/dist/chunk-EA2UNEL6.js.map +1 -0
- package/dist/{chunk-5E3XZAED.js → chunk-EARWC6PD.js} +6 -2
- package/dist/chunk-EARWC6PD.js.map +1 -0
- package/dist/{chunk-NVNZFT5X.js → chunk-EIYTS5VZ.js} +23 -22
- package/dist/chunk-EIYTS5VZ.js.map +1 -0
- package/dist/{chunk-GN5EZPSL.js → chunk-EJYJLVPK.js} +37 -29
- package/dist/chunk-EJYJLVPK.js.map +1 -0
- package/dist/{chunk-F5KEWLZK.js → chunk-FC7NQ6XM.js} +4 -4
- package/dist/{chunk-MISZGWO7.js → chunk-FPVYD7BO.js} +13 -9
- package/dist/chunk-FPVYD7BO.js.map +1 -0
- package/dist/{chunk-NIS523UM.js → chunk-FWPFCK4D.js} +2 -2
- package/dist/{chunk-7VJH4FYU.js → chunk-FZ4YTEP2.js} +5 -5
- package/dist/chunk-FZ4YTEP2.js.map +1 -0
- package/dist/{chunk-UCTJJYVC.js → chunk-G4HBNILE.js} +2 -2
- package/dist/{chunk-2B76FIMN.js → chunk-GHTBUJ6E.js} +5 -3
- package/dist/chunk-GHTBUJ6E.js.map +1 -0
- package/dist/{chunk-5NFPO3YY.js → chunk-GJRKWDRR.js} +9 -4
- package/dist/chunk-GJRKWDRR.js.map +1 -0
- package/dist/{chunk-VDZQJBAV.js → chunk-GY4NBSCN.js} +5 -2
- package/dist/chunk-GY4NBSCN.js.map +1 -0
- package/dist/{chunk-57IB5NTM.js → chunk-HB7ISSLK.js} +2 -2
- package/dist/{chunk-WR7ELCIL.js → chunk-HCT5ELST.js} +9 -3
- package/dist/chunk-HCT5ELST.js.map +1 -0
- package/dist/{chunk-6Q5GZUQ5.js → chunk-HGMBY5LP.js} +2 -2
- package/dist/{chunk-2AKQPXSJ.js → chunk-HJPPNVCF.js} +2 -2
- package/dist/{chunk-MZMGQKT3.js → chunk-HN3PZTUK.js} +10 -6
- package/dist/chunk-HN3PZTUK.js.map +1 -0
- package/dist/{chunk-JOR6E23V.js → chunk-IGGXKT5B.js} +3 -3
- package/dist/{chunk-F52N6ACD.js → chunk-IM4DMKH4.js} +14 -9
- package/dist/chunk-IM4DMKH4.js.map +1 -0
- package/dist/{chunk-KLMP2BYC.js → chunk-IVJKILIX.js} +2 -2
- package/dist/{chunk-X7PVFAYJ.js → chunk-JGRE56GQ.js} +6 -3
- package/dist/chunk-JGRE56GQ.js.map +1 -0
- package/dist/{chunk-MRB6GROF.js → chunk-JJJM75XF.js} +12 -12
- package/dist/chunk-JJJM75XF.js.map +1 -0
- package/dist/{chunk-HJWOB62A.js → chunk-JJSZP3TW.js} +4 -4
- package/dist/{chunk-AI7NVWIG.js → chunk-JOKWTRWL.js} +2 -2
- package/dist/{chunk-AI7NVWIG.js.map → chunk-JOKWTRWL.js.map} +1 -1
- package/dist/{chunk-JCJGJX7V.js → chunk-K4EKTMTC.js} +10 -6
- package/dist/chunk-K4EKTMTC.js.map +1 -0
- package/dist/{chunk-UCA47HM7.js → chunk-KCAW6HRO.js} +2 -2
- package/dist/{chunk-7HFGVT3G.js → chunk-KJDBY2KN.js} +31 -27
- package/dist/chunk-KJDBY2KN.js.map +1 -0
- package/dist/{chunk-LOJK733T.js → chunk-KJK2Q35C.js} +9 -5
- package/dist/chunk-KJK2Q35C.js.map +1 -0
- package/dist/{chunk-VAGHW3K2.js → chunk-KREWQAEV.js} +9 -4
- package/dist/chunk-KREWQAEV.js.map +1 -0
- package/dist/{chunk-KE5MX4PI.js → chunk-L3B36HA5.js} +2 -2
- package/dist/{chunk-OLZTGVBT.js → chunk-LYVTJLCF.js} +2 -2
- package/dist/{chunk-4M34ALEP.js → chunk-M3MHYE2M.js} +7 -8
- package/dist/chunk-M3MHYE2M.js.map +1 -0
- package/dist/{chunk-2WGMMFGV.js → chunk-M5ZXL52T.js} +15 -14
- package/dist/chunk-M5ZXL52T.js.map +1 -0
- package/dist/{chunk-C6FRVGMC.js → chunk-M6PWPEAV.js} +10 -7
- package/dist/chunk-M6PWPEAV.js.map +1 -0
- package/dist/{chunk-WW4N2LRM.js → chunk-MBC55H6M.js} +4 -4
- package/dist/{chunk-AATIHNPI.js → chunk-MK4CH4VT.js} +2 -2
- package/dist/{chunk-RV4Y4O67.js → chunk-MLQYIJTO.js} +6 -5
- package/dist/chunk-MLQYIJTO.js.map +1 -0
- package/dist/{chunk-A2CTAEIS.js → chunk-MO47Y26B.js} +24 -23
- package/dist/chunk-MO47Y26B.js.map +1 -0
- package/dist/{chunk-XRMZMBE3.js → chunk-MTEQEPNY.js} +7 -3
- package/dist/chunk-MTEQEPNY.js.map +1 -0
- package/dist/{chunk-JWK4GI2I.js → chunk-N2GEKC4J.js} +32 -20
- package/dist/chunk-N2GEKC4J.js.map +1 -0
- package/dist/{chunk-AJSPLHG4.js → chunk-NNQCWXGY.js} +8 -5
- package/dist/chunk-NNQCWXGY.js.map +1 -0
- package/dist/{chunk-IDO4EV7T.js → chunk-NR5TW4AH.js} +3 -3
- package/dist/{chunk-O26MKGIC.js → chunk-NRIV2CQ2.js} +12 -6
- package/dist/chunk-NRIV2CQ2.js.map +1 -0
- package/dist/{chunk-6DC5SVHM.js → chunk-NSKQANRY.js} +2 -2
- package/dist/{chunk-24NXQG5F.js → chunk-ODFJTEIL.js} +11 -10
- package/dist/chunk-ODFJTEIL.js.map +1 -0
- package/dist/{chunk-MLBKACV6.js → chunk-OG6LYQ7C.js} +13 -11
- package/dist/chunk-OG6LYQ7C.js.map +1 -0
- package/dist/{chunk-H6YVO55T.js → chunk-OHZU4IT3.js} +17 -13
- package/dist/chunk-OHZU4IT3.js.map +1 -0
- package/dist/{chunk-EAE5Z5HL.js → chunk-OJ2XR3WH.js} +2 -2
- package/dist/{chunk-BR7RM3WR.js → chunk-OZPLAOI4.js} +2 -2
- package/dist/{chunk-DZHN5FFX.js → chunk-PBMCRDZI.js} +7 -6
- package/dist/chunk-PBMCRDZI.js.map +1 -0
- package/dist/{chunk-ZXSUWFQX.js → chunk-PGPPN63I.js} +8 -5
- package/dist/chunk-PGPPN63I.js.map +1 -0
- package/dist/{chunk-ZWSS3K4F.js → chunk-PL2AB5HJ.js} +11 -6
- package/dist/chunk-PL2AB5HJ.js.map +1 -0
- package/dist/{chunk-ZTKLKOOO.js → chunk-POV2KL2P.js} +21 -20
- package/dist/chunk-POV2KL2P.js.map +1 -0
- package/dist/{chunk-GIRRCEVH.js → chunk-PT2XADGH.js} +4 -4
- package/dist/{chunk-5ZTQTJAJ.js → chunk-PWF32ILG.js} +4 -4
- package/dist/{chunk-65YAR3OZ.js → chunk-Q2YNXJEL.js} +11 -7
- package/dist/chunk-Q2YNXJEL.js.map +1 -0
- package/dist/{chunk-DBCITC4P.js → chunk-QB3TVUPD.js} +6 -6
- package/dist/{chunk-I2CRLUS7.js → chunk-QIKPGMMO.js} +2 -2
- package/dist/{chunk-MXZ43UCQ.js → chunk-QOLIBVGS.js} +3 -3
- package/dist/{chunk-TPQVLBTY.js → chunk-R2WMSXQR.js} +3 -3
- package/dist/{chunk-ULIM42PE.js → chunk-RIF6L54B.js} +10 -8
- package/dist/chunk-RIF6L54B.js.map +1 -0
- package/dist/{chunk-M5T3COS2.js → chunk-RIRTW5EU.js} +17 -5
- package/dist/chunk-RIRTW5EU.js.map +1 -0
- package/dist/{chunk-JHEGDDZQ.js → chunk-RKI3MRKX.js} +6 -3
- package/dist/chunk-RKI3MRKX.js.map +1 -0
- package/dist/{chunk-SYNMQWT4.js → chunk-RL2UIC4E.js} +7 -4
- package/dist/chunk-RL2UIC4E.js.map +1 -0
- package/dist/{chunk-RORP6DWR.js → chunk-RZ2C5CAW.js} +13 -12
- package/dist/chunk-RZ2C5CAW.js.map +1 -0
- package/dist/{chunk-UO7ERXYX.js → chunk-S3D5VBHW.js} +16 -6
- package/dist/chunk-S3D5VBHW.js.map +1 -0
- package/dist/{chunk-SCRN2RE4.js → chunk-S5UY5U73.js} +1 -2
- package/dist/chunk-S5UY5U73.js.map +1 -0
- package/dist/{chunk-4V532JF6.js → chunk-SOHQPPYJ.js} +8 -6
- package/dist/chunk-SOHQPPYJ.js.map +1 -0
- package/dist/{chunk-XREYLKUX.js → chunk-SQYC57ZN.js} +12 -11
- package/dist/chunk-SQYC57ZN.js.map +1 -0
- package/dist/{chunk-F7HQVKIR.js → chunk-SYVNWXVW.js} +4 -4
- package/dist/{chunk-CMTR3WEA.js → chunk-TNQDSTIA.js} +30 -33
- package/dist/chunk-TNQDSTIA.js.map +1 -0
- package/dist/{chunk-MGC4QOMP.js → chunk-TQ2557I5.js} +1 -1
- package/dist/{chunk-C7TCBAVX.js → chunk-TQBRWZA4.js} +2 -2
- package/dist/{chunk-56QVP2MU.js → chunk-TQCQCW2P.js} +18 -11
- package/dist/chunk-TQCQCW2P.js.map +1 -0
- package/dist/{chunk-CZT3AV7I.js → chunk-TRHWA74K.js} +6 -3
- package/dist/chunk-TRHWA74K.js.map +1 -0
- package/dist/{chunk-EDO2WS5B.js → chunk-TXGB2WSW.js} +7 -4
- package/dist/chunk-TXGB2WSW.js.map +1 -0
- package/dist/{chunk-NNQLDFKG.js → chunk-TYBZ4XZZ.js} +15 -9
- package/dist/chunk-TYBZ4XZZ.js.map +1 -0
- package/dist/{chunk-TEUX42YW.js → chunk-TZASFX6G.js} +10 -7
- package/dist/chunk-TZASFX6G.js.map +1 -0
- package/dist/{chunk-BO2SDMNQ.js → chunk-U4QUDFPJ.js} +2 -2
- package/dist/{chunk-AQSX3YH2.js → chunk-UL7L6MFT.js} +18 -10
- package/dist/chunk-UL7L6MFT.js.map +1 -0
- package/dist/{chunk-SKX4NA6E.js → chunk-V74PXUQN.js} +8 -8
- package/dist/{chunk-A2DYU5WN.js → chunk-VIUDWOV6.js} +5 -6
- package/dist/chunk-VIUDWOV6.js.map +1 -0
- package/dist/{chunk-5ZT4ZIZB.js → chunk-VNOFFVRQ.js} +6 -3
- package/dist/chunk-VNOFFVRQ.js.map +1 -0
- package/dist/{chunk-UMP5MQ7X.js → chunk-WFAJTO2B.js} +27 -26
- package/dist/chunk-WFAJTO2B.js.map +1 -0
- package/dist/{chunk-OYP27CYE.js → chunk-WOAXKWAB.js} +2 -2
- package/dist/{chunk-W3CLJ7JE.js → chunk-WPA26LXA.js} +4 -4
- package/dist/{chunk-2X5OQDPH.js → chunk-WRCLYSTX.js} +7 -4
- package/dist/chunk-WRCLYSTX.js.map +1 -0
- package/dist/{chunk-X4PS3E3V.js → chunk-X6AIKCAV.js} +8 -5
- package/dist/chunk-X6AIKCAV.js.map +1 -0
- package/dist/{chunk-KTYZRAB7.js → chunk-XJPJ6ESI.js} +9 -6
- package/dist/chunk-XJPJ6ESI.js.map +1 -0
- package/dist/{chunk-GVLMG5WQ.js → chunk-XZW2U6KR.js} +9 -9
- package/dist/chunk-XZW2U6KR.js.map +1 -0
- package/dist/{chunk-LI6OLYUB.js → chunk-YBTC4XNO.js} +2 -2
- package/dist/chunk-YLGY3D52.js +62 -0
- package/dist/chunk-YLGY3D52.js.map +1 -0
- package/dist/{chunk-H3B5PIM3.js → chunk-YYVB7IWQ.js} +19 -11
- package/dist/chunk-YYVB7IWQ.js.map +1 -0
- package/dist/{chunk-OOSD7363.js → chunk-ZAFFKQQU.js} +6 -6
- package/dist/chunk-ZAFFKQQU.js.map +1 -0
- package/dist/{chunk-IT7ATXU7.js → chunk-ZHV7TCAC.js} +15 -11
- package/dist/chunk-ZHV7TCAC.js.map +1 -0
- package/dist/{chunk-KUVOMH5I.js → chunk-ZZ4MMUBY.js} +5 -4
- package/dist/chunk-ZZ4MMUBY.js.map +1 -0
- package/dist/data-display/Alert.js +3 -3
- package/dist/data-display/AlertDialog.js +2 -2
- package/dist/data-display/AsyncStateContainer.js +5 -5
- package/dist/data-display/Avatar.js +4 -4
- package/dist/data-display/Badge.js +6 -6
- package/dist/data-display/Banner.js +3 -3
- package/dist/data-display/CardKit.js +12 -12
- package/dist/data-display/Carousel.js +6 -6
- package/dist/data-display/Chart.js +8 -8
- package/dist/data-display/Chip.js +3 -2
- package/dist/data-display/DataGrid.js +3 -2
- package/dist/data-display/DataViews.js +49 -49
- package/dist/data-display/DescriptionItem.js +2 -2
- package/dist/data-display/EmptyState.js +2 -1
- package/dist/data-display/ErrorState.js +1 -1
- package/dist/data-display/FleetMap.js +17 -17
- package/dist/data-display/HoverCard.js +5 -4
- package/dist/data-display/InteractiveTooltip.js +4 -4
- package/dist/data-display/LazyImage.js +3 -2
- package/dist/data-display/Lightbox.js +9 -9
- package/dist/data-display/LoadingState.js +2 -1
- package/dist/data-display/MapPreview.js +12 -12
- package/dist/data-display/Popover.js +2 -1
- package/dist/data-display/Progress.js +3 -3
- package/dist/data-display/SectionOnboarding.js +4 -4
- package/dist/data-display/Sheet.js +7 -7
- package/dist/data-display/StatCard.js +2 -2
- package/dist/data-display/Stepper.js +2 -2
- package/dist/data-display/Table.js +2 -2
- package/dist/data-display/Timeline.js +3 -3
- package/dist/data-display/TimingDiagram.js +3 -3
- package/dist/data-display/Tooltip.js +2 -2
- package/dist/feedback/ConfirmAction.js +6 -6
- package/dist/feedback/NotificationStatusNotice.js +4 -4
- package/dist/feedback/Sonner.js +1 -1
- package/dist/form/AddressAutocomplete.js +1 -1
- package/dist/form/Button.js +1 -1
- package/dist/form/CategorySelect.js +1 -1
- package/dist/form/CepField.js +1 -1
- package/dist/form/Checkbox.js +1 -1
- package/dist/form/CodeEditor.js +1 -1
- package/dist/form/Command.js +1 -1
- package/dist/form/CreatableSelect.js +1 -1
- package/dist/form/DateRangePicker.js +6 -6
- package/dist/form/InputOTP.js +1 -1
- package/dist/form/Label.js +1 -1
- package/dist/form/Menubar.js +1 -1
- package/dist/form/PhoneInput.js +1 -1
- package/dist/form/RadioGroup.js +1 -1
- package/dist/form/RichTextEditor.js +1 -1
- package/dist/form/Slider.js +1 -1
- package/dist/form/Switch.js +1 -1
- package/dist/form/Textarea.js +2 -2
- package/dist/form/Toggle.js +1 -1
- package/dist/form/ToggleGroup.js +1 -1
- package/dist/form/total-form.js +1 -1
- package/dist/icons.js +1 -1
- package/dist/layout/Box.js +1 -1
- package/dist/layout/ContentToolbar.js +1 -1
- package/dist/layout/Stack.js +1 -1
- package/dist/layout/TableFilter.js +1 -1
- package/dist/navigation/AppHeader.js +8 -8
- package/dist/navigation/Breadcrumbs.js +4 -4
- package/dist/navigation/CommandPalette.js +1 -1
- package/dist/navigation/ContextMenu.js +1 -1
- package/dist/navigation/DropdownMenu.js +1 -1
- package/dist/navigation/NavigationMenu.js +7 -7
- package/dist/navigation/Pagination.js +1 -1
- package/dist/provider.js +1 -1
- package/dist/social-login-button.js +1 -1
- package/dist/tokens.js +7 -7
- package/dist/types/components/data-display/Alert/Alert.styles.d.ts +4 -4
- package/dist/types/components/data-display/Alert/Alert.styles.d.ts.map +1 -1
- package/dist/types/components/data-display/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/types/components/data-display/Avatar/Avatar.animations.d.ts +2 -1
- package/dist/types/components/data-display/Avatar/Avatar.animations.d.ts.map +1 -1
- package/dist/types/components/data-display/Avatar/Avatar.d.ts.map +1 -1
- package/dist/types/components/data-display/Avatar/Avatar.view.d.ts.map +1 -1
- package/dist/types/components/data-display/Badge/Badge.animations.d.ts +4 -3
- package/dist/types/components/data-display/Badge/Badge.animations.d.ts.map +1 -1
- package/dist/types/components/data-display/Badge/Badge.styles.d.ts +6 -5
- package/dist/types/components/data-display/Badge/Badge.styles.d.ts.map +1 -1
- package/dist/types/components/data-display/Badge/BadgeContent.d.ts.map +1 -1
- package/dist/types/components/data-display/Banner/Banner.styles.d.ts +1 -1
- package/dist/types/components/data-display/Banner/Banner.styles.d.ts.map +1 -1
- package/dist/types/components/data-display/Carousel/Carousel.d.ts.map +1 -1
- package/dist/types/components/data-display/Carousel/Carousel.parts.d.ts.map +1 -1
- package/dist/types/components/data-display/Carousel/Carousel.slide.d.ts.map +1 -1
- package/dist/types/components/data-display/Carousel/Carousel.styles.d.ts +14 -2
- package/dist/types/components/data-display/Carousel/Carousel.styles.d.ts.map +1 -1
- package/dist/types/components/data-display/Chart/ChartComposables.d.ts +3 -1
- package/dist/types/components/data-display/Chart/ChartComposables.d.ts.map +1 -1
- package/dist/types/components/data-display/Chart/chart-axis.d.ts +9 -3
- package/dist/types/components/data-display/Chart/chart-axis.d.ts.map +1 -1
- package/dist/types/components/data-display/Chart/chart-context.d.ts.map +1 -1
- package/dist/types/components/data-display/Chart/chart-internals.d.ts +5 -1
- package/dist/types/components/data-display/Chart/chart-internals.d.ts.map +1 -1
- package/dist/types/components/data-display/Chart/chart-renderers.d.ts.map +1 -1
- package/dist/types/components/data-display/Chip/Chip.styles.d.ts.map +1 -1
- package/dist/types/components/data-display/DataGrid/DataGrid.states.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/DataViewsBoard.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/base-card.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/base-list-card-geometry.d.ts +21 -17
- package/dist/types/components/data-display/DataViews/base-list-card-geometry.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/base-list-card-gutters.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/base-list-card-slots.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/card-surface.d.ts +1 -1
- package/dist/types/components/data-display/DataViews/card-surface.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-day-input.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-display-panel.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-drag.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-empty.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-export.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-glyphs.d.ts +3 -2
- package/dist/types/components/data-display/DataViews/data-views-glyphs.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-grid-helpers.d.ts +2 -1
- package/dist/types/components/data-display/DataViews/data-views-grid-helpers.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-more-filters.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-number-input.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-scopes.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-search.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-toolbar.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/save-view-preview.d.ts.map +1 -1
- package/dist/types/components/data-display/DateTimeDisplay/DateTimeDisplay.d.ts.map +1 -1
- package/dist/types/components/data-display/DescriptionItem/DescriptionItem.d.ts.map +1 -1
- package/dist/types/components/data-display/EmptyState/EmptyState.d.ts.map +1 -1
- package/dist/types/components/data-display/FleetMap/FleetBody.d.ts.map +1 -1
- package/dist/types/components/data-display/FleetMap/FleetMap.d.ts.map +1 -1
- package/dist/types/components/data-display/FleetMap/FleetRoster.d.ts.map +1 -1
- package/dist/types/components/data-display/HoverCard/HoverCard.animations.d.ts +6 -5
- package/dist/types/components/data-display/HoverCard/HoverCard.animations.d.ts.map +1 -1
- package/dist/types/components/data-display/HoverCard/HoverCard.content.d.ts.map +1 -1
- package/dist/types/components/data-display/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/types/components/data-display/HoverCard/HoverCard.styles.d.ts.map +1 -1
- package/dist/types/components/data-display/InteractiveTooltip/InteractiveTooltip.d.ts.map +1 -1
- package/dist/types/components/data-display/InteractiveTooltip/InteractiveTooltip.hooks.d.ts +1 -1
- package/dist/types/components/data-display/InteractiveTooltip/InteractiveTooltip.hooks.d.ts.map +1 -1
- package/dist/types/components/data-display/InteractiveTooltip/InteractiveTooltip.styles.d.ts +6 -1
- package/dist/types/components/data-display/InteractiveTooltip/InteractiveTooltip.styles.d.ts.map +1 -1
- package/dist/types/components/data-display/LazyImage/LazyImage.d.ts.map +1 -1
- package/dist/types/components/data-display/LazyImage/LazyImage.hooks.d.ts +1 -1
- package/dist/types/components/data-display/LazyImage/LazyImage.hooks.d.ts.map +1 -1
- package/dist/types/components/data-display/Lightbox/Lightbox.constants.d.ts +5 -1
- package/dist/types/components/data-display/Lightbox/Lightbox.constants.d.ts.map +1 -1
- package/dist/types/components/data-display/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/types/components/data-display/Lightbox/Lightbox.hooks.d.ts.map +1 -1
- package/dist/types/components/data-display/Lightbox/LightboxControls.d.ts.map +1 -1
- package/dist/types/components/data-display/Lightbox/LightboxStage.d.ts.map +1 -1
- package/dist/types/components/data-display/Lightbox/LightboxThumbnails.d.ts.map +1 -1
- package/dist/types/components/data-display/LoadingState/LoadingState.d.ts.map +1 -1
- package/dist/types/components/data-display/MapPreview/MapControlBar.d.ts.map +1 -1
- package/dist/types/components/data-display/MapPreview/MapLayers.d.ts.map +1 -1
- package/dist/types/components/data-display/MapPreview/MapOverlays.d.ts +5 -2
- package/dist/types/components/data-display/MapPreview/MapOverlays.d.ts.map +1 -1
- package/dist/types/components/data-display/MapPreview/MapPreview.d.ts.map +1 -1
- package/dist/types/components/data-display/MapPreview/MapPreview.helpers.d.ts +1 -1
- package/dist/types/components/data-display/MapPreview/MapPreview.helpers.d.ts.map +1 -1
- package/dist/types/components/data-display/MapPreview/MapSearchBar.d.ts.map +1 -1
- package/dist/types/components/data-display/MapPreview/mapSurface.d.ts +2 -2
- package/dist/types/components/data-display/MapPreview/mapSurface.d.ts.map +1 -1
- package/dist/types/components/data-display/Popover/Popover.d.ts.map +1 -1
- package/dist/types/components/data-display/Progress/Progress.d.ts.map +1 -1
- package/dist/types/components/data-display/Progress/Progress.styles.d.ts +9 -7
- package/dist/types/components/data-display/Progress/Progress.styles.d.ts.map +1 -1
- package/dist/types/components/data-display/Sheet/Sheet.animations.d.ts +4 -3
- package/dist/types/components/data-display/Sheet/Sheet.animations.d.ts.map +1 -1
- package/dist/types/components/data-display/Sheet/Sheet.body.d.ts.map +1 -1
- package/dist/types/components/data-display/Sheet/Sheet.parts.d.ts.map +1 -1
- package/dist/types/components/data-display/Sheet/Sheet.styles.d.ts.map +1 -1
- package/dist/types/components/data-display/StatCard/StatCard.d.ts.map +1 -1
- package/dist/types/components/data-display/Table/Table.d.ts.map +1 -1
- package/dist/types/components/data-display/Table/Table.styles.d.ts.map +1 -1
- package/dist/types/components/data-display/Timeline/Timeline.d.ts.map +1 -1
- package/dist/types/components/data-display/Timeline/TimelineRow.d.ts.map +1 -1
- package/dist/types/components/data-display/TimingDiagram/TimingDiagram.d.ts.map +1 -1
- package/dist/types/components/data-display/TimingDiagram/TimingDiagram.views.d.ts +2 -1
- package/dist/types/components/data-display/TimingDiagram/TimingDiagram.views.d.ts.map +1 -1
- package/dist/types/components/data-display/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/typography/Blockquote.js +1 -1
- package/dist/typography/Code.js +1 -1
- package/dist/typography/Text.js +1 -1
- package/dist/user-avatar.js +5 -5
- package/dist/utility/AnimatedIcon.js +1 -1
- package/dist/utility/WorkflowStep.js +1 -1
- package/package.json +1 -1
- package/src/components/data-display/Alert/Alert.styles.tsx +22 -21
- package/src/components/data-display/Alert/Alert.tsx +8 -8
- package/src/components/data-display/AlertDialog/AlertDialog.tsx +12 -10
- package/src/components/data-display/Avatar/Avatar.animations.ts +5 -2
- package/src/components/data-display/Avatar/Avatar.tsx +4 -3
- package/src/components/data-display/Avatar/Avatar.view.tsx +31 -37
- package/src/components/data-display/Badge/Badge.animations.ts +13 -10
- package/src/components/data-display/Badge/Badge.styles.ts +30 -40
- package/src/components/data-display/Badge/Badge.variants.ts +13 -13
- package/src/components/data-display/Badge/BadgeContent.tsx +10 -4
- package/src/components/data-display/Banner/Banner.styles.ts +8 -8
- package/src/components/data-display/Banner/Banner.tsx +4 -4
- package/src/components/data-display/CardKit/list-card-parts.tsx +1 -1
- package/src/components/data-display/Carousel/Carousel.parts.tsx +13 -11
- package/src/components/data-display/Carousel/Carousel.slide.tsx +3 -2
- package/src/components/data-display/Carousel/Carousel.styles.ts +34 -16
- package/src/components/data-display/Carousel/Carousel.tsx +2 -3
- package/src/components/data-display/Chart/Chart.tsx +4 -4
- package/src/components/data-display/Chart/ChartComposables.tsx +16 -5
- package/src/components/data-display/Chart/chart-axis.ts +13 -9
- package/src/components/data-display/Chart/chart-context.ts +17 -2
- package/src/components/data-display/Chart/chart-internals.ts +30 -13
- package/src/components/data-display/Chart/chart-renderers.tsx +2 -1
- package/src/components/data-display/Chip/Chip.styles.tsx +4 -3
- package/src/components/data-display/DataGrid/DataGrid.states.tsx +3 -1
- package/src/components/data-display/DataViews/DataViewsBoard.tsx +16 -8
- package/src/components/data-display/DataViews/base-card.tsx +12 -11
- package/src/components/data-display/DataViews/base-list-card-geometry.tsx +28 -19
- package/src/components/data-display/DataViews/base-list-card-gutters.tsx +2 -1
- package/src/components/data-display/DataViews/base-list-card-slots.tsx +13 -11
- package/src/components/data-display/DataViews/card-surface.ts +19 -18
- package/src/components/data-display/DataViews/data-views-day-input.tsx +2 -1
- package/src/components/data-display/DataViews/data-views-display-panel.tsx +5 -4
- package/src/components/data-display/DataViews/data-views-display-tabs.tsx +6 -6
- package/src/components/data-display/DataViews/data-views-drag.tsx +7 -5
- package/src/components/data-display/DataViews/data-views-empty.tsx +2 -1
- package/src/components/data-display/DataViews/data-views-export.tsx +5 -3
- package/src/components/data-display/DataViews/data-views-glyphs.tsx +17 -14
- package/src/components/data-display/DataViews/data-views-grid-helpers.tsx +8 -5
- package/src/components/data-display/DataViews/data-views-more-filters.tsx +5 -4
- package/src/components/data-display/DataViews/data-views-number-input.tsx +2 -1
- package/src/components/data-display/DataViews/data-views-range-pill.tsx +1 -1
- package/src/components/data-display/DataViews/data-views-scopes.tsx +12 -6
- package/src/components/data-display/DataViews/data-views-search.tsx +9 -8
- package/src/components/data-display/DataViews/data-views-toolbar.tsx +2 -1
- package/src/components/data-display/DataViews/data-views-view-nav.tsx +4 -4
- package/src/components/data-display/DataViews/save-view-preview.tsx +3 -2
- package/src/components/data-display/DateTimeDisplay/DateTimeDisplay.tsx +4 -3
- package/src/components/data-display/DescriptionItem/DescriptionItem.tsx +6 -3
- package/src/components/data-display/EmptyState/EmptyState.tsx +6 -5
- package/src/components/data-display/ErrorState/ErrorState.tsx +6 -6
- package/src/components/data-display/FleetMap/FleetBody.tsx +4 -1
- package/src/components/data-display/FleetMap/FleetMap.tsx +6 -4
- package/src/components/data-display/FleetMap/FleetRoster.tsx +7 -5
- package/src/components/data-display/HoverCard/HoverCard.animations.ts +13 -11
- package/src/components/data-display/HoverCard/HoverCard.content.tsx +8 -5
- package/src/components/data-display/HoverCard/HoverCard.styles.ts +40 -38
- package/src/components/data-display/HoverCard/HoverCard.tsx +19 -8
- package/src/components/data-display/InteractiveTooltip/InteractiveTooltip.hooks.ts +2 -2
- package/src/components/data-display/InteractiveTooltip/InteractiveTooltip.styles.ts +25 -12
- package/src/components/data-display/InteractiveTooltip/InteractiveTooltip.tsx +3 -2
- package/src/components/data-display/LazyImage/LazyImage.hooks.ts +8 -3
- package/src/components/data-display/LazyImage/LazyImage.tsx +48 -23
- package/src/components/data-display/Lightbox/Lightbox.constants.ts +7 -2
- package/src/components/data-display/Lightbox/Lightbox.hooks.ts +7 -4
- package/src/components/data-display/Lightbox/Lightbox.tsx +3 -2
- package/src/components/data-display/Lightbox/LightboxControls.tsx +6 -5
- package/src/components/data-display/Lightbox/LightboxStage.tsx +30 -18
- package/src/components/data-display/Lightbox/LightboxThumbnails.tsx +10 -8
- package/src/components/data-display/LoadingState/LoadingState.tsx +4 -3
- package/src/components/data-display/MapPreview/MapControlBar.tsx +3 -2
- package/src/components/data-display/MapPreview/MapDecorations.tsx +12 -12
- package/src/components/data-display/MapPreview/MapLayers.tsx +1 -2
- package/src/components/data-display/MapPreview/MapMarkers.tsx +8 -8
- package/src/components/data-display/MapPreview/MapOverlays.tsx +8 -5
- package/src/components/data-display/MapPreview/MapPreview.helpers.ts +3 -4
- package/src/components/data-display/MapPreview/MapPreview.tsx +3 -1
- package/src/components/data-display/MapPreview/MapSearchBar.tsx +4 -3
- package/src/components/data-display/MapPreview/mapSurface.ts +6 -4
- package/src/components/data-display/Popover/Popover.tsx +23 -11
- package/src/components/data-display/Progress/Progress.styles.ts +20 -11
- package/src/components/data-display/Progress/Progress.tsx +12 -9
- package/src/components/data-display/Sheet/Sheet.animations.ts +11 -9
- package/src/components/data-display/Sheet/Sheet.body.tsx +2 -1
- package/src/components/data-display/Sheet/Sheet.parts.tsx +8 -7
- package/src/components/data-display/Sheet/Sheet.styles.ts +35 -30
- package/src/components/data-display/StatCard/StatCard.tsx +4 -3
- package/src/components/data-display/Stepper/Stepper.tsx +17 -17
- package/src/components/data-display/Table/Table.styles.ts +21 -20
- package/src/components/data-display/Table/Table.tsx +26 -16
- package/src/components/data-display/Timeline/Timeline.tsx +4 -3
- package/src/components/data-display/Timeline/TimelineRow.tsx +23 -22
- package/src/components/data-display/TimingDiagram/TimingDiagram.tsx +8 -7
- package/src/components/data-display/TimingDiagram/TimingDiagram.views.tsx +29 -28
- package/src/components/data-display/Tooltip/Tooltip.tsx +23 -10
- package/dist/chunk-24NXQG5F.js.map +0 -1
- package/dist/chunk-2B76FIMN.js.map +0 -1
- package/dist/chunk-2F4YEGYG.js.map +0 -1
- package/dist/chunk-2PWVPTS3.js.map +0 -1
- package/dist/chunk-2WGMMFGV.js.map +0 -1
- package/dist/chunk-2X5OQDPH.js.map +0 -1
- package/dist/chunk-3GQ6PNEM.js.map +0 -1
- package/dist/chunk-4M34ALEP.js.map +0 -1
- package/dist/chunk-4V532JF6.js.map +0 -1
- package/dist/chunk-56QVP2MU.js.map +0 -1
- package/dist/chunk-5E3XZAED.js.map +0 -1
- package/dist/chunk-5NFPO3YY.js.map +0 -1
- package/dist/chunk-5RP3KXC7.js.map +0 -1
- package/dist/chunk-5VWYCVXF.js.map +0 -1
- package/dist/chunk-5ZQUJ7LT.js.map +0 -1
- package/dist/chunk-5ZT4ZIZB.js.map +0 -1
- package/dist/chunk-65YAR3OZ.js.map +0 -1
- package/dist/chunk-73HBIIRB.js.map +0 -1
- package/dist/chunk-7HFGVT3G.js.map +0 -1
- package/dist/chunk-7VJH4FYU.js.map +0 -1
- package/dist/chunk-7ZWC5CKA.js.map +0 -1
- package/dist/chunk-A2CTAEIS.js.map +0 -1
- package/dist/chunk-A2DYU5WN.js.map +0 -1
- package/dist/chunk-ACZH2NUW.js.map +0 -1
- package/dist/chunk-AJSPLHG4.js.map +0 -1
- package/dist/chunk-AQSX3YH2.js.map +0 -1
- package/dist/chunk-BD2GGIGS.js.map +0 -1
- package/dist/chunk-BNU4RLEC.js.map +0 -1
- package/dist/chunk-C6FRVGMC.js.map +0 -1
- package/dist/chunk-CMTR3WEA.js.map +0 -1
- package/dist/chunk-CZT3AV7I.js.map +0 -1
- package/dist/chunk-DZHN5FFX.js.map +0 -1
- package/dist/chunk-E6YBXAZN.js.map +0 -1
- package/dist/chunk-EDO2WS5B.js.map +0 -1
- package/dist/chunk-F52N6ACD.js.map +0 -1
- package/dist/chunk-GN5EZPSL.js.map +0 -1
- package/dist/chunk-GVLMG5WQ.js.map +0 -1
- package/dist/chunk-H2YBVBPW.js.map +0 -1
- package/dist/chunk-H3B5PIM3.js.map +0 -1
- package/dist/chunk-H6YVO55T.js.map +0 -1
- package/dist/chunk-I6EVBLFX.js.map +0 -1
- package/dist/chunk-IFSUKWE7.js.map +0 -1
- package/dist/chunk-IT7ATXU7.js.map +0 -1
- package/dist/chunk-IUCTYNIR.js.map +0 -1
- package/dist/chunk-JCJGJX7V.js.map +0 -1
- package/dist/chunk-JHEGDDZQ.js.map +0 -1
- package/dist/chunk-JWK4GI2I.js.map +0 -1
- package/dist/chunk-KTYZRAB7.js.map +0 -1
- package/dist/chunk-KUVOMH5I.js.map +0 -1
- package/dist/chunk-L4V2LRKH.js.map +0 -1
- package/dist/chunk-LOJK733T.js.map +0 -1
- package/dist/chunk-M5BTIIL7.js.map +0 -1
- package/dist/chunk-M5T3COS2.js.map +0 -1
- package/dist/chunk-MISZGWO7.js.map +0 -1
- package/dist/chunk-MLBKACV6.js.map +0 -1
- package/dist/chunk-MRB6GROF.js.map +0 -1
- package/dist/chunk-MZMGQKT3.js.map +0 -1
- package/dist/chunk-NNQLDFKG.js.map +0 -1
- package/dist/chunk-NVNZFT5X.js.map +0 -1
- package/dist/chunk-NXX3ZQKO.js.map +0 -1
- package/dist/chunk-O26MKGIC.js.map +0 -1
- package/dist/chunk-OOSD7363.js.map +0 -1
- package/dist/chunk-PGNJCUDA.js.map +0 -1
- package/dist/chunk-QO6QWBDI.js.map +0 -1
- package/dist/chunk-QTWXVOPT.js.map +0 -1
- package/dist/chunk-QWHURFJ3.js.map +0 -1
- package/dist/chunk-RORP6DWR.js.map +0 -1
- package/dist/chunk-RV4Y4O67.js.map +0 -1
- package/dist/chunk-SCRN2RE4.js.map +0 -1
- package/dist/chunk-SNR537TI.js +0 -59
- package/dist/chunk-SNR537TI.js.map +0 -1
- package/dist/chunk-SYNMQWT4.js.map +0 -1
- package/dist/chunk-TEUX42YW.js.map +0 -1
- package/dist/chunk-TFZI36UD.js.map +0 -1
- package/dist/chunk-ULIM42PE.js.map +0 -1
- package/dist/chunk-UMP5MQ7X.js.map +0 -1
- package/dist/chunk-UO7ERXYX.js.map +0 -1
- package/dist/chunk-VAGHW3K2.js.map +0 -1
- package/dist/chunk-VDGJV7MP.js.map +0 -1
- package/dist/chunk-VDZQJBAV.js.map +0 -1
- package/dist/chunk-VR3U4QA5.js.map +0 -1
- package/dist/chunk-WR7ELCIL.js.map +0 -1
- package/dist/chunk-X4PS3E3V.js.map +0 -1
- package/dist/chunk-X7PVFAYJ.js.map +0 -1
- package/dist/chunk-XREYLKUX.js.map +0 -1
- package/dist/chunk-XRMZMBE3.js.map +0 -1
- package/dist/chunk-Y2E73IG2.js.map +0 -1
- package/dist/chunk-YDPUBGJ7.js.map +0 -1
- package/dist/chunk-YSKGLU2V.js.map +0 -1
- package/dist/chunk-YU647YW4.js.map +0 -1
- package/dist/chunk-Z35J5B6D.js.map +0 -1
- package/dist/chunk-ZTKLKOOO.js.map +0 -1
- package/dist/chunk-ZUQIOWLN.js.map +0 -1
- package/dist/chunk-ZWSS3K4F.js.map +0 -1
- package/dist/chunk-ZXSUWFQX.js.map +0 -1
- /package/dist/{chunk-APT5L7V5.js.map → chunk-2LIRGFEK.js.map} +0 -0
- /package/dist/{chunk-LDDN254Q.js.map → chunk-2UCLUDEB.js.map} +0 -0
- /package/dist/{chunk-6SYFPRTT.js.map → chunk-343OLRFT.js.map} +0 -0
- /package/dist/{chunk-U2IRCTAR.js.map → chunk-4WCDMCIS.js.map} +0 -0
- /package/dist/{chunk-OGTTJKHI.js.map → chunk-5QWQR7XT.js.map} +0 -0
- /package/dist/{chunk-DRE6DSJ7.js.map → chunk-5TJRJSJY.js.map} +0 -0
- /package/dist/{chunk-XZBCPL4N.js.map → chunk-5W4BLTDI.js.map} +0 -0
- /package/dist/{chunk-YG2VQUZO.js.map → chunk-6BDYC4RA.js.map} +0 -0
- /package/dist/{chunk-QHUTSAFG.js.map → chunk-6CTPDNNX.js.map} +0 -0
- /package/dist/{chunk-CU4TF7C7.js.map → chunk-6GRZ77IS.js.map} +0 -0
- /package/dist/{chunk-YLBRXDYH.js.map → chunk-7EIOXZWL.js.map} +0 -0
- /package/dist/{chunk-ZHEZISMI.js.map → chunk-AK2HOD6B.js.map} +0 -0
- /package/dist/{chunk-VZAGBDZ2.js.map → chunk-BJZOBG24.js.map} +0 -0
- /package/dist/{chunk-CS3RKXT5.js.map → chunk-CHFHILTM.js.map} +0 -0
- /package/dist/{chunk-DMYBTD5Y.js.map → chunk-CPWWMGYR.js.map} +0 -0
- /package/dist/{chunk-XSMMFCMQ.js.map → chunk-CWDV64TD.js.map} +0 -0
- /package/dist/{chunk-GUVBR62X.js.map → chunk-DCJSHYE5.js.map} +0 -0
- /package/dist/{chunk-VV7MGILP.js.map → chunk-DMWSXWCZ.js.map} +0 -0
- /package/dist/{chunk-JYRQBZEV.js.map → chunk-DVAAUWTC.js.map} +0 -0
- /package/dist/{chunk-C6NI3FAV.js.map → chunk-DVGBFT6O.js.map} +0 -0
- /package/dist/{chunk-W5ENK5CM.js.map → chunk-DZNMS2SH.js.map} +0 -0
- /package/dist/{chunk-F5KEWLZK.js.map → chunk-FC7NQ6XM.js.map} +0 -0
- /package/dist/{chunk-NIS523UM.js.map → chunk-FWPFCK4D.js.map} +0 -0
- /package/dist/{chunk-UCTJJYVC.js.map → chunk-G4HBNILE.js.map} +0 -0
- /package/dist/{chunk-57IB5NTM.js.map → chunk-HB7ISSLK.js.map} +0 -0
- /package/dist/{chunk-6Q5GZUQ5.js.map → chunk-HGMBY5LP.js.map} +0 -0
- /package/dist/{chunk-2AKQPXSJ.js.map → chunk-HJPPNVCF.js.map} +0 -0
- /package/dist/{chunk-JOR6E23V.js.map → chunk-IGGXKT5B.js.map} +0 -0
- /package/dist/{chunk-KLMP2BYC.js.map → chunk-IVJKILIX.js.map} +0 -0
- /package/dist/{chunk-HJWOB62A.js.map → chunk-JJSZP3TW.js.map} +0 -0
- /package/dist/{chunk-UCA47HM7.js.map → chunk-KCAW6HRO.js.map} +0 -0
- /package/dist/{chunk-KE5MX4PI.js.map → chunk-L3B36HA5.js.map} +0 -0
- /package/dist/{chunk-OLZTGVBT.js.map → chunk-LYVTJLCF.js.map} +0 -0
- /package/dist/{chunk-WW4N2LRM.js.map → chunk-MBC55H6M.js.map} +0 -0
- /package/dist/{chunk-AATIHNPI.js.map → chunk-MK4CH4VT.js.map} +0 -0
- /package/dist/{chunk-IDO4EV7T.js.map → chunk-NR5TW4AH.js.map} +0 -0
- /package/dist/{chunk-6DC5SVHM.js.map → chunk-NSKQANRY.js.map} +0 -0
- /package/dist/{chunk-EAE5Z5HL.js.map → chunk-OJ2XR3WH.js.map} +0 -0
- /package/dist/{chunk-BR7RM3WR.js.map → chunk-OZPLAOI4.js.map} +0 -0
- /package/dist/{chunk-GIRRCEVH.js.map → chunk-PT2XADGH.js.map} +0 -0
- /package/dist/{chunk-5ZTQTJAJ.js.map → chunk-PWF32ILG.js.map} +0 -0
- /package/dist/{chunk-DBCITC4P.js.map → chunk-QB3TVUPD.js.map} +0 -0
- /package/dist/{chunk-I2CRLUS7.js.map → chunk-QIKPGMMO.js.map} +0 -0
- /package/dist/{chunk-MXZ43UCQ.js.map → chunk-QOLIBVGS.js.map} +0 -0
- /package/dist/{chunk-TPQVLBTY.js.map → chunk-R2WMSXQR.js.map} +0 -0
- /package/dist/{chunk-F7HQVKIR.js.map → chunk-SYVNWXVW.js.map} +0 -0
- /package/dist/{chunk-MGC4QOMP.js.map → chunk-TQ2557I5.js.map} +0 -0
- /package/dist/{chunk-C7TCBAVX.js.map → chunk-TQBRWZA4.js.map} +0 -0
- /package/dist/{chunk-BO2SDMNQ.js.map → chunk-U4QUDFPJ.js.map} +0 -0
- /package/dist/{chunk-SKX4NA6E.js.map → chunk-V74PXUQN.js.map} +0 -0
- /package/dist/{chunk-OYP27CYE.js.map → chunk-WOAXKWAB.js.map} +0 -0
- /package/dist/{chunk-W3CLJ7JE.js.map → chunk-WPA26LXA.js.map} +0 -0
- /package/dist/{chunk-LI6OLYUB.js.map → chunk-YBTC4XNO.js.map} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/Progress/Progress.styles.ts"],"sourcesContent":["import type { PaletteColor, CSSObject, Theme } from '@mui/material/styles/index.js';\nimport { alpha, keyframes } from '@mui/material/styles/index.js';\n\nimport {\n BAR_GLOW,\n CIRCULAR_GLOW,\n GLASS_BAR_ALPHA,\n GLASS_BAR_BORDER_ALPHA,\n GLASS_BLUR_PX,\n GLOW_BRIGHTNESS,\n PROGRESS_SIZES,\n PULSE,\n} from './Progress.metrics';\nimport type { ProgressSize, ProgressVariant } from './Progress.types';\nimport { softNeutral } from '../../../tokens/ink';\nimport { rem, rems, sxRem } from '../../../tokens/relative';\n\n// Define pulse animation. The stops and the two seconds are the shared metrics'\n// (`PULSE`), so the native `Progress` breathes on the same cadence.\nexport const pulseAnimation = keyframes`\n 0% {\n opacity: 1;\n }\n 50% {\n opacity: ${PULSE.dip};\n }\n 100% {\n opacity: 1;\n }\n`;\n\nexport const getColorFromTheme = (theme: Theme, color: string): PaletteColor => {\n // Handle special case for neutral (grey) which is a Color, not PaletteColor\n if (color === 'neutral') {\n return softNeutral(theme);\n }\n\n const colorMap: Record<string, PaletteColor> = {\n primary: theme.palette.primary,\n secondary: theme.palette.secondary,\n success: theme.palette.success,\n warning: theme.palette.warning,\n error: theme.palette.error,\n info: theme.palette.info,\n danger: theme.palette.error, // Add danger alias\n };\n\n // Ensure we always return a valid color object with main and dark properties\n return colorMap[color] || theme.palette.primary;\n};\n\n// Derived from the shared metrics, not restated: the native `Progress` reads\n// the same table, so the two renderers cannot disagree on a size.\n// The lengths stay design px (`…Px`) and go through `rem` where they are drawn.\ninterface SizeStep {\n heightPx: number;\n circularSizePx: number;\n fontSize: (theme: Theme) => string;\n}\n\nconst SIZE_MAP: Record<ProgressSize, SizeStep> = Object.fromEntries(\n Object.entries(PROGRESS_SIZES).map(([size, step]) => [\n size,\n { heightPx: step.height, circularSizePx: step.circularSize, fontSize: sxRem(step.fontSize) },\n ]),\n) as Record<ProgressSize, SizeStep>;\n\nexport const getSizeStyles = (size?: ProgressSize) => SIZE_MAP[size as ProgressSize] || SIZE_MAP.md;\n\nexport const barVariantStyles = (\n theme: Theme,\n variant: ProgressVariant | undefined,\n colorPalette: PaletteColor,\n): CSSObject => {\n switch (variant) {\n case 'linear':\n return { backgroundColor: colorPalette.main };\n case 'gradient':\n return {\n background: `linear-gradient(90deg, ${colorPalette.main} 0%, ${colorPalette.dark || colorPalette.main} 100%)`,\n };\n case 'glass':\n return {\n backgroundColor: alpha(colorPalette.main, GLASS_BAR_ALPHA),\n backdropFilter: `blur(${rem(theme, GLASS_BLUR_PX)})`,\n border: `1px solid ${alpha(colorPalette.main, GLASS_BAR_BORDER_ALPHA)}`,\n };\n default:\n return {};\n }\n};\n\n// glow and pulse are independent flags. The three combinations used to be spelled\n// out one by one, but each is just the union of whichever flags are set.\nexport const barEmphasisStyles = (\n theme: Theme,\n colorPalette: PaletteColor,\n glow?: boolean,\n pulse?: boolean,\n): CSSObject => ({\n ...(glow && {\n boxShadow: `${rems(theme, 0, 0, BAR_GLOW.blur, BAR_GLOW.spread)} ${alpha(colorPalette.main, BAR_GLOW.alpha)}`,\n filter: `brightness(${GLOW_BRIGHTNESS})`,\n }),\n ...(pulse && {\n animation: `${pulseAnimation} ${PULSE.durationMs / 1000}s infinite`,\n }),\n});\n\nexport const circularEmphasisStyles = (\n theme: Theme,\n colorPalette: PaletteColor,\n glow?: boolean,\n pulse?: boolean,\n): CSSObject => ({\n ...(glow && {\n filter: `drop-shadow(${rems(theme, 0, 0, CIRCULAR_GLOW.blur)} ${alpha(colorPalette.main, CIRCULAR_GLOW.alpha)})`,\n }),\n ...(pulse && {\n animation: `${pulseAnimation} ${PULSE.durationMs / 1000}s infinite`,\n }),\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AACA,SAAS,OAAO,iBAAiB;AAkB1B,IAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,eAKf,MAAM,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAOjB,IAAM,oBAAoB,CAAC,OAAc,UAAgC;AAE9E,MAAI,UAAU,WAAW;AACvB,WAAO,YAAY,KAAK;AAAA,EAC1B;AAEA,QAAM,WAAyC;AAAA,IAC7C,SAAS,MAAM,QAAQ;AAAA,IACvB,WAAW,MAAM,QAAQ;AAAA,IACzB,SAAS,MAAM,QAAQ;AAAA,IACvB,SAAS,MAAM,QAAQ;AAAA,IACvB,OAAO,MAAM,QAAQ;AAAA,IACrB,MAAM,MAAM,QAAQ;AAAA,IACpB,QAAQ,MAAM,QAAQ;AAAA;AAAA,EACxB;AAGA,SAAO,SAAS,KAAK,KAAK,MAAM,QAAQ;AAC1C;AAWA,IAAM,WAA2C,OAAO;AAAA,EACtD,OAAO,QAAQ,cAAc,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM;AAAA,IACnD;AAAA,IACA,EAAE,UAAU,KAAK,QAAQ,gBAAgB,KAAK,cAAc,UAAU,MAAM,KAAK,QAAQ,EAAE;AAAA,EAC7F,CAAC;AACH;AAEO,IAAM,gBAAgB,CAAC,SAAwB,SAAS,IAAoB,KAAK,SAAS;AAE1F,IAAM,mBAAmB,CAC9B,OACA,SACA,iBACc;AACd,UAAQ,SAAS;AAAA,IACf,KAAK;AACH,aAAO,EAAE,iBAAiB,aAAa,KAAK;AAAA,IAC9C,KAAK;AACH,aAAO;AAAA,QACL,YAAY,0BAA0B,aAAa,IAAI,QAAQ,aAAa,QAAQ,aAAa,IAAI;AAAA,MACvG;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,iBAAiB,MAAM,aAAa,MAAM,eAAe;AAAA,QACzD,gBAAgB,QAAQ,IAAI,OAAO,aAAa,CAAC;AAAA,QACjD,QAAQ,aAAa,MAAM,aAAa,MAAM,sBAAsB,CAAC;AAAA,MACvE;AAAA,IACF;AACE,aAAO,CAAC;AAAA,EACZ;AACF;AAIO,IAAM,oBAAoB,CAC/B,OACA,cACA,MACA,WACe;AAAA,EACf,GAAI,QAAQ;AAAA,IACV,WAAW,GAAG,KAAK,OAAO,GAAG,GAAG,SAAS,MAAM,SAAS,MAAM,CAAC,IAAI,MAAM,aAAa,MAAM,SAAS,KAAK,CAAC;AAAA,IAC3G,QAAQ,cAAc,eAAe;AAAA,EACvC;AAAA,EACA,GAAI,SAAS;AAAA,IACX,WAAW,GAAG,cAAc,IAAI,MAAM,aAAa,GAAI;AAAA,EACzD;AACF;AAEO,IAAM,yBAAyB,CACpC,OACA,cACA,MACA,WACe;AAAA,EACf,GAAI,QAAQ;AAAA,IACV,QAAQ,eAAe,KAAK,OAAO,GAAG,GAAG,cAAc,IAAI,CAAC,IAAI,MAAM,aAAa,MAAM,cAAc,KAAK,CAAC;AAAA,EAC/G;AAAA,EACA,GAAI,SAAS;AAAA,IACX,WAAW,GAAG,cAAc,IAAI,MAAM,aAAa,GAAI;AAAA,EACzD;AACF;","names":[]}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import {
|
|
2
|
+
rem,
|
|
3
|
+
remPx,
|
|
4
|
+
sxRem
|
|
5
|
+
} from "./chunk-YKCAJ2TN.js";
|
|
6
|
+
|
|
1
7
|
// src/components/data-display/Chart/ChartComposables.tsx
|
|
2
8
|
import Box from "@mui/material/Box/index.js";
|
|
3
9
|
import Paper from "@mui/material/Paper/index.js";
|
|
@@ -14,10 +20,16 @@ var ChartContainer = ({
|
|
|
14
20
|
children,
|
|
15
21
|
"data-testid": dataTestId
|
|
16
22
|
}) => {
|
|
23
|
+
const theme = useTheme();
|
|
17
24
|
if (!responsive) {
|
|
18
|
-
|
|
25
|
+
const box = {
|
|
26
|
+
width: typeof width === "number" ? rem(theme, width) : width,
|
|
27
|
+
height: typeof height === "number" ? rem(theme, height) : height
|
|
28
|
+
};
|
|
29
|
+
return /* @__PURE__ */ jsx(Box, { sx: box, "data-testid": dataTestId, children });
|
|
19
30
|
}
|
|
20
|
-
|
|
31
|
+
const plot = { height: typeof height === "number" ? remPx(theme, height) : height };
|
|
32
|
+
return /* @__PURE__ */ jsx(ResponsiveContainer, { width: "100%", ...plot, "data-testid": dataTestId, children });
|
|
21
33
|
};
|
|
22
34
|
var ChartTooltipContent = ({
|
|
23
35
|
active,
|
|
@@ -38,7 +50,7 @@ var ChartTooltipContent = ({
|
|
|
38
50
|
Box,
|
|
39
51
|
{
|
|
40
52
|
component: "span",
|
|
41
|
-
sx: { width: 10, height: 10, borderRadius:
|
|
53
|
+
sx: { width: sxRem(10), height: sxRem(10), borderRadius: sxRem(2), backgroundColor: entry.color, flexShrink: 0 }
|
|
42
54
|
}
|
|
43
55
|
),
|
|
44
56
|
/* @__PURE__ */ jsx(Typography, { variant: "body2", sx: { color: "text.secondary" }, children: entry.name }),
|
|
@@ -53,7 +65,7 @@ var ChartLegendContent = ({ payload }) => {
|
|
|
53
65
|
Box,
|
|
54
66
|
{
|
|
55
67
|
component: "span",
|
|
56
|
-
sx: { width: 10, height: 10, borderRadius:
|
|
68
|
+
sx: { width: sxRem(10), height: sxRem(10), borderRadius: sxRem(2), backgroundColor: entry.color, flexShrink: 0 }
|
|
57
69
|
}
|
|
58
70
|
),
|
|
59
71
|
/* @__PURE__ */ jsx(Typography, { variant: "caption", sx: { color: "text.secondary" }, children: entry.value })
|
|
@@ -67,4 +79,4 @@ export {
|
|
|
67
79
|
ChartTooltipContent,
|
|
68
80
|
ChartLegendContent
|
|
69
81
|
};
|
|
70
|
-
//# sourceMappingURL=chunk-
|
|
82
|
+
//# sourceMappingURL=chunk-RIRTW5EU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/Chart/ChartComposables.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport Paper from '@mui/material/Paper/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { useTheme } from '@mui/material/styles/index.js';\nimport React from 'react';\nimport { Legend, ResponsiveContainer, Tooltip } from 'recharts';\n\nimport { rem, remPx, sxRem } from '../../../tokens/relative';\n\n/**\n * Raw chart composables (Squire's ChartConfig pattern, MUI-themed): a\n * responsive container plus themed tooltip/legend content renderers. The\n * prop-driven `Chart` uses these internally; consumers building bespoke\n * Recharts compositions can reuse them directly.\n */\n\n/** Recharts' Tooltip/Legend re-exported so bespoke compositions can pair them\n * with the themed content renderers below. */\nexport const ChartTooltip = Tooltip;\nexport const ChartLegend = Legend;\n\nexport interface ChartContainerProps {\n /**\n * A number of pixels (design px, drawn through the theme's type scale), or\n * a PERCENTAGE of the box this container is given.\n *\n * The difference is not cosmetic: Recharts sizes the chart from the number\n * when it is one and only MEASURES its own box when it is a percentage\n * (`calculateChartDimensions`). So a container stretched by its parent's\n * layout goes on drawing a 300px chart inside a 600px box — visibly, as\n * blank space under the plot — until the height is handed over as a percent.\n */\n height: number | `${number}%`;\n /** Design px when a number, through the type scale; a string is as given. */\n width?: number | string;\n responsive?: boolean;\n children: React.ReactElement;\n 'data-testid'?: string;\n}\n\n/** Responsive wrapper for a Recharts chart element. */\nexport const ChartContainer: React.FC<ChartContainerProps> = ({\n height,\n width = '100%',\n responsive = true,\n children,\n 'data-testid': dataTestId,\n}) => {\n const theme = useTheme();\n if (!responsive) {\n const box = {\n width: typeof width === 'number' ? rem(theme, width) : width,\n height: typeof height === 'number' ? rem(theme, height) : height,\n };\n return (\n <Box sx={box} data-testid={dataTestId}>\n {children}\n </Box>\n );\n }\n // Recharts takes a number as px and only measures its box for a percentage.\n const plot = { height: typeof height === 'number' ? remPx(theme, height) : height };\n return (\n <ResponsiveContainer width=\"100%\" {...plot} data-testid={dataTestId}>\n {children}\n </ResponsiveContainer>\n );\n};\n\ninterface TooltipEntry {\n name?: string | number;\n value?: string | number;\n color?: string;\n}\n\nexport interface ChartTooltipContentProps {\n active?: boolean;\n label?: string | number;\n payload?: TooltipEntry[];\n /** Formats numeric values (e.g. centavos → BRL). */\n valueFormatter?: (value: number) => string;\n}\n\n/** Theme-aware tooltip content (light/dark correct, semantic colors only). */\nexport const ChartTooltipContent: React.FC<ChartTooltipContentProps> = ({\n active,\n label,\n payload,\n valueFormatter,\n}) => {\n const theme = useTheme();\n if (!active || !payload || payload.length === 0) return null;\n const formatValue = (value: TooltipEntry['value']): string | number => {\n if (typeof value === 'number' && valueFormatter) return valueFormatter(value);\n return value ?? '';\n };\n return (\n <Paper elevation={4} sx={{ px: 1.5, py: 1, border: `1px solid ${theme.palette.divider}` }}>\n {label !== undefined && label !== '' && (\n <Typography variant=\"caption\" sx={{ color: 'text.secondary', display: 'block', mb: 0.5 }}>\n {label}\n </Typography>\n )}\n {payload.map((entry, index) => (\n <Box key={index} sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>\n <Box\n component=\"span\"\n sx={{ width: sxRem(10), height: sxRem(10), borderRadius: sxRem(2), backgroundColor: entry.color, flexShrink: 0 }}\n />\n <Typography variant=\"body2\" sx={{ color: 'text.secondary' }}>\n {entry.name}\n </Typography>\n <Typography variant=\"body2\" sx={{ ml: 'auto', fontWeight: 600 }}>\n {formatValue(entry.value)}\n </Typography>\n </Box>\n ))}\n </Paper>\n );\n};\n\nexport interface ChartLegendContentProps {\n payload?: Array<{ value?: string | number; color?: string }>;\n}\n\n/** Theme-aware legend content matching the tooltip's swatch styling. */\nexport const ChartLegendContent: React.FC<ChartLegendContentProps> = ({ payload }) => {\n if (!payload || payload.length === 0) return null;\n return (\n <Box sx={{ display: 'flex', flexWrap: 'wrap', justifyContent: 'center', gap: 2, pt: 1 }}>\n {payload.map((entry, index) => (\n <Box key={index} sx={{ display: 'flex', alignItems: 'center', gap: 0.75 }}>\n <Box\n component=\"span\"\n sx={{ width: sxRem(10), height: sxRem(10), borderRadius: sxRem(2), backgroundColor: entry.color, flexShrink: 0 }}\n />\n <Typography variant=\"caption\" sx={{ color: 'text.secondary' }}>\n {entry.value}\n </Typography>\n </Box>\n ))}\n </Box>\n );\n};\n"],"mappings":"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","names":[]}
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
Text
|
|
12
12
|
} from "./chunk-WTOYEWW6.js";
|
|
13
13
|
import {
|
|
14
|
+
rem,
|
|
14
15
|
sxRem
|
|
15
16
|
} from "./chunk-YKCAJ2TN.js";
|
|
16
17
|
|
|
@@ -19,6 +20,7 @@ import DownloadRoundedIcon from "@mui/icons-material/DownloadRounded";
|
|
|
19
20
|
import KeyboardArrowDownRoundedIcon from "@mui/icons-material/KeyboardArrowDownRounded";
|
|
20
21
|
import CircularProgress from "@mui/material/CircularProgress/index.js";
|
|
21
22
|
import Popover from "@mui/material/Popover/index.js";
|
|
23
|
+
import { useTheme } from "@mui/material/styles/index.js";
|
|
22
24
|
import { useState } from "react";
|
|
23
25
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
24
26
|
var ALL_FORMATS = ["xlsx", "csv", "json"];
|
|
@@ -35,6 +37,7 @@ function ExportTrigger({
|
|
|
35
37
|
compact
|
|
36
38
|
}) {
|
|
37
39
|
const copy = useDataViewsCopy();
|
|
40
|
+
const theme = useTheme();
|
|
38
41
|
return /* @__PURE__ */ jsx(
|
|
39
42
|
Button,
|
|
40
43
|
{
|
|
@@ -47,7 +50,7 @@ function ExportTrigger({
|
|
|
47
50
|
"aria-label": copy.export.trigger,
|
|
48
51
|
title: compact ? copy.export.trigger : void 0,
|
|
49
52
|
children: /* @__PURE__ */ jsxs(default2, { component: "span", sx: { display: "inline-flex", alignItems: "center", gap: 0.5 }, children: [
|
|
50
|
-
busy ? /* @__PURE__ */ jsx(CircularProgress, { size: 14 }) : /* @__PURE__ */ jsx(DownloadRoundedIcon, { fontSize: "small" }),
|
|
53
|
+
busy ? /* @__PURE__ */ jsx(CircularProgress, { size: rem(theme, 14) }) : /* @__PURE__ */ jsx(DownloadRoundedIcon, { fontSize: "small" }),
|
|
51
54
|
!compact && /* @__PURE__ */ jsx(default2, { component: "span", sx: { display: { xs: "none", sm: "inline" } }, children: copy.export.triggerLabel }),
|
|
52
55
|
!compact && /* @__PURE__ */ jsx(KeyboardArrowDownRoundedIcon, { fontSize: "small" })
|
|
53
56
|
] })
|
|
@@ -153,7 +156,7 @@ function DataViewsExportMenu({
|
|
|
153
156
|
onClose: () => setAnchor(null),
|
|
154
157
|
anchorOrigin: { vertical: "bottom", horizontal: "right" },
|
|
155
158
|
transformOrigin: { vertical: "top", horizontal: "right" },
|
|
156
|
-
slotProps: { paper: { sx: { width: 260, maxWidth:
|
|
159
|
+
slotProps: { paper: { sx: { width: sxRem(260), maxWidth: (theme) => `calc(100vw - ${rem(theme, 32)})` } } },
|
|
157
160
|
children: /* @__PURE__ */ jsx(
|
|
158
161
|
ExportPanel,
|
|
159
162
|
{
|
|
@@ -173,4 +176,4 @@ function DataViewsExportMenu({
|
|
|
173
176
|
export {
|
|
174
177
|
DataViewsExportMenu
|
|
175
178
|
};
|
|
176
|
-
//# sourceMappingURL=chunk-
|
|
179
|
+
//# sourceMappingURL=chunk-RKI3MRKX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/DataViews/data-views-export.tsx"],"sourcesContent":["\"use client\";\n\nimport DownloadRoundedIcon from \"@mui/icons-material/DownloadRounded\";\nimport KeyboardArrowDownRoundedIcon from \"@mui/icons-material/KeyboardArrowDownRounded\";\nimport CircularProgress from \"@mui/material/CircularProgress/index.js\";\nimport Popover from \"@mui/material/Popover/index.js\";\nimport { useTheme, type Theme } from \"@mui/material/styles/index.js\";\nimport { useState } from \"react\";\n\nimport { useDataViewsCopy } from \"./data-views-copy-context\";\nimport { Button } from \"../../form/Button\";\nimport { Box } from \"../../../mui/Box\";\nimport { Text } from \"../../typography/Text\";\n\nimport type { DataViewQuery } from \"./data-views-types\";\nimport { rem, sxRem } from \"../../../tokens/relative\";\n\n/**\n * EXPORT — the current QUERY, never the rendered page.\n *\n * Exporting what happens to be on screen is the single most common bug in an\n * admin table: the operator filtered 214 records, sees 25, exports, and gets\n * 25 — with nothing anywhere saying so. So this control does not touch the\n * loaded rows at all. It hands the host the same `DataViewQuery` the grid is\n * showing, unpaginated, and the HOST re-queries the backend — the same\n * division as everywhere else here: the component emits, the host fetches.\n *\n * The menu states the number it is about to export before the click, so the\n * two possible answers (the selection, or the whole filtered set) are never a\n * guess.\n */\n\n/** What a host can be asked to produce. */\nexport type DataViewExportFormat = \"xlsx\" | \"csv\" | \"json\";\n\n/** The request handed to the host when the operator picks a format. */\nexport interface DataViewExportRequest {\n format: DataViewExportFormat;\n /**\n * The live query with `page: 1` and `pageSize` set to the whole matched\n * total — i.e. \"everything this filter selects\", not this page.\n */\n query: DataViewQuery;\n /**\n * The selected row ids, when the operator has a selection. The host filters\n * the re-queried rows to these; absent means the whole filtered set.\n */\n selectedIds?: Array<string | number>;\n /** The visible columns, in the operator's current order. */\n columns: { id: string; label: string }[];\n}\n\n/** Injected export. Absent ⇒ no Exportar control, exactly like `renderCard`. */\nexport interface DataViewExport {\n /** Runs the export. Awaited, so the trigger can show it is working. */\n onExport: (request: DataViewExportRequest) => Promise<void> | void;\n /** Formats to offer, in menu order. Defaults to all three. */\n formats?: DataViewExportFormat[];\n}\n\n/** One line per format: what it is, and when to reach for it. */\n\nconst ALL_FORMATS: DataViewExportFormat[] = [\"xlsx\", \"csv\", \"json\"];\n\ninterface ExportMenuProps {\n config: DataViewExport;\n /** The live query — copied and unpaginated before it reaches the host. */\n query: DataViewQuery;\n /** The unpaginated total, so the label can state what \"tudo\" means. */\n totalCount: number;\n selectedIds: Array<string | number>;\n columns: { id: string; label: string }[];\n testIdPrefix: string;\n /** Render icon-only (measured upstream). */\n compact?: boolean;\n}\n\n/** \"Exportando 214 itens filtrados\" / \"3 itens selecionados\" — never a guess. */\nfunction scopeLabel(selected: number, total: number): string {\n if (selected > 0) {\n return `${selected} ${selected === 1 ? \"item selecionado\" : \"itens selecionados\"}`;\n }\n return `${total} ${total === 1 ? \"item filtrado\" : \"itens filtrados\"}`;\n}\n\n/** The trigger. Shows a spinner while the host's export is still running. */\nfunction ExportTrigger({\n busy,\n onOpen,\n testIdPrefix,\n compact,\n}: {\n busy: boolean;\n onOpen: (anchor: HTMLElement) => void;\n testIdPrefix: string;\n /** Icon only — step 2 of the toolbar's degradation ladder. */\n compact?: boolean;\n}): React.JSX.Element {\n const copy = useDataViewsCopy();\n const theme = useTheme();\n return (\n <Button\n variant=\"outline\"\n size=\"sm\"\n color=\"neutral\"\n disabled={busy}\n onClick={(event) => onOpen(event.currentTarget as HTMLElement)}\n dataTestId={`${testIdPrefix}-export-trigger`}\n aria-label={copy.export.trigger}\n // The label is gone, so the tooltip is the only thing naming the control.\n title={compact ? copy.export.trigger : undefined}\n >\n <Box component=\"span\" sx={{ display: \"inline-flex\", alignItems: \"center\", gap: 0.5 }}>\n {busy ? <CircularProgress size={rem(theme, 14)} /> : <DownloadRoundedIcon fontSize=\"small\" />}\n {!compact && (\n <Box component=\"span\" sx={{ display: { xs: \"none\", sm: \"inline\" } }}>\n {copy.export.triggerLabel}\n </Box>\n )}\n {/* Dropped with the label — see the note on the Exibir trigger. */}\n {!compact && <KeyboardArrowDownRoundedIcon fontSize=\"small\" />}\n </Box>\n </Button>\n );\n}\n\n/** One format row: what it produces, and when to reach for it. */\nfunction FormatRow({\n format,\n onPick,\n testIdPrefix,\n}: {\n format: DataViewExportFormat;\n onPick: () => void;\n testIdPrefix: string;\n}): React.JSX.Element {\n const copy = useDataViewsCopy();\n return (\n <Box\n component=\"button\"\n type=\"button\"\n onClick={onPick}\n data-testid={`${testIdPrefix}-export-${format}`}\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n width: \"100%\",\n px: 1.5,\n py: 1,\n border: 0,\n background: \"none\",\n cursor: \"pointer\",\n font: \"inherit\",\n textAlign: \"left\",\n \"&:hover\": { bgcolor: \"action.hover\" },\n }}\n >\n <Box component=\"span\" sx={{ fontSize: sxRem(13) }}>\n {copy.export.formats[format]?.label ?? format}\n </Box>\n <Box component=\"span\" sx={{ fontSize: sxRem(11), color: \"text.disabled\" }}>\n {copy.export.formats[format]?.hint ?? \"\"}\n </Box>\n </Box>\n );\n}\n\n/** The panel: what is about to be exported, then the formats. */\nfunction ExportPanel({\n formats,\n selectedCount,\n totalCount,\n columnCount,\n onPick,\n testIdPrefix,\n}: {\n formats: DataViewExportFormat[];\n selectedCount: number;\n totalCount: number;\n columnCount: number;\n onPick: (format: DataViewExportFormat) => void;\n testIdPrefix: string;\n}): React.JSX.Element {\n const copy = useDataViewsCopy();\n return (\n <Box data-testid={`${testIdPrefix}-export-panel`}>\n <Box sx={{ px: 1.5, pt: 1, pb: 1, borderBottom: 1, borderColor: \"divider\" }}>\n <Text variant=\"caption\" as=\"p\">\n <Box component=\"span\" data-testid={`${testIdPrefix}-export-scope`}>\n Exportando {scopeLabel(selectedCount, totalCount)}\n </Box>\n </Text>\n <Text variant=\"caption\" as=\"p\">\n <Box component=\"span\" sx={{ color: \"text.disabled\" }}>\n {copy.export.visibleColumns(columnCount)}\n </Box>\n </Text>\n </Box>\n {formats.map((format) => (\n <FormatRow\n key={format}\n format={format}\n onPick={() => onPick(format)}\n testIdPrefix={testIdPrefix}\n />\n ))}\n </Box>\n );\n}\n\n/** The toolbar's Exportar control. Renders nothing when no host wired it. */\nexport function DataViewsExportMenu({\n config,\n query,\n totalCount,\n selectedIds,\n columns,\n testIdPrefix,\n compact,\n}: ExportMenuProps): React.JSX.Element {\n const [anchor, setAnchor] = useState<HTMLElement | null>(null);\n const [busy, setBusy] = useState(false);\n\n const run = async (format: DataViewExportFormat): Promise<void> => {\n setAnchor(null);\n setBusy(true);\n try {\n await config.onExport({\n format,\n // UNPAGINATED: page 1 of a page as large as the whole result. The host\n // re-queries with this; nothing here reads the loaded rows.\n query: { ...query, page: 1, pageSize: Math.max(1, totalCount) },\n selectedIds: selectedIds.length > 0 ? [...selectedIds] : undefined,\n columns,\n });\n } finally {\n setBusy(false);\n }\n };\n\n return (\n <>\n <ExportTrigger busy={busy} onOpen={setAnchor} testIdPrefix={testIdPrefix} compact={compact} />\n <Popover\n open={Boolean(anchor)}\n anchorEl={anchor}\n onClose={() => setAnchor(null)}\n anchorOrigin={{ vertical: \"bottom\", horizontal: \"right\" }}\n transformOrigin={{ vertical: \"top\", horizontal: \"right\" }}\n slotProps={{ paper: { sx: { width: sxRem(260), maxWidth: (theme: Theme) => `calc(100vw - ${rem(theme, 32)})` } } }}\n >\n <ExportPanel\n formats={config.formats ?? ALL_FORMATS}\n selectedCount={selectedIds.length}\n totalCount={totalCount}\n columnCount={columns.length}\n onPick={(format) => void run(format)}\n testIdPrefix={testIdPrefix}\n />\n </Popover>\n </>\n );\n}\n"],"mappings":"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","names":["default"]}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
useDateTimeParts
|
|
3
3
|
} from "./chunk-ULJ4C6JW.js";
|
|
4
|
+
import {
|
|
5
|
+
sxRem
|
|
6
|
+
} from "./chunk-YKCAJ2TN.js";
|
|
4
7
|
|
|
5
8
|
// src/components/data-display/DateTimeDisplay/DateTimeDisplay.tsx
|
|
6
9
|
import Box from "@mui/material/Box/index.js";
|
|
@@ -12,13 +15,13 @@ function getFontSizes(size) {
|
|
|
12
15
|
switch (size) {
|
|
13
16
|
case "xs":
|
|
14
17
|
case "sm":
|
|
15
|
-
return { date:
|
|
18
|
+
return { date: sxRem(12), time: sxRem(10.4) };
|
|
16
19
|
case "lg":
|
|
17
20
|
case "xl":
|
|
18
|
-
return { date:
|
|
21
|
+
return { date: sxRem(16), time: sxRem(14) };
|
|
19
22
|
case "md":
|
|
20
23
|
default:
|
|
21
|
-
return { date:
|
|
24
|
+
return { date: sxRem(14), time: sxRem(12) };
|
|
22
25
|
}
|
|
23
26
|
}
|
|
24
27
|
var Stacked = forwardRef(
|
|
@@ -132,4 +135,4 @@ DateTimeDisplay.displayName = "DateTimeDisplay";
|
|
|
132
135
|
export {
|
|
133
136
|
DateTimeDisplay
|
|
134
137
|
};
|
|
135
|
-
//# sourceMappingURL=chunk-
|
|
138
|
+
//# sourceMappingURL=chunk-RL2UIC4E.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/DateTimeDisplay/DateTimeDisplay.tsx"],"sourcesContent":["import Box from '@mui/material/Box/index.js';\nimport Tooltip from '@mui/material/Tooltip/index.js';\nimport Typography from '@mui/material/Typography/index.js';\nimport { forwardRef } from 'react';\n\nimport { useDateTimeParts } from './DateTimeDisplay.hooks';\nimport type { DateTimeDisplayProps } from './DateTimeDisplay.types';\nimport { sxRem } from '../../../tokens/relative';\nimport type { SizeValue } from '../../../tokens/scales';\n\n/**\n * Get font sizes based on size prop\n */\nfunction getFontSizes(size: SizeValue) {\n switch (size) {\n case 'xs':\n case 'sm':\n return { date: sxRem(12), time: sxRem(10.4) };\n case 'lg':\n case 'xl':\n return { date: sxRem(16), time: sxRem(14) };\n case 'md':\n default:\n return { date: sxRem(14), time: sxRem(12) };\n }\n}\n\ninterface StackedProps {\n formattedDate: string | null;\n formattedTime: string | null;\n fontSizes: ReturnType<typeof getFontSizes>;\n showTooltip: boolean;\n sx: DateTimeDisplayProps['sx'];\n dataTestId?: string;\n}\n\nconst Stacked = forwardRef<HTMLSpanElement, StackedProps>(\n ({ formattedDate, formattedTime, fontSizes, showTooltip, sx, dataTestId }, ref) => (\n <Box\n component=\"span\"\n ref={ref}\n data-testid={dataTestId}\n sx={{\n display: 'inline-flex',\n flexDirection: 'column',\n lineHeight: 1.3,\n cursor: showTooltip ? 'help' : 'default',\n ...sx,\n }}\n >\n <Typography\n component=\"span\"\n sx={{\n fontWeight: 500,\n fontSize: fontSizes.date,\n }}\n data-testid={dataTestId ? `${dataTestId}-date` : undefined}\n >\n {formattedDate}\n </Typography>\n {formattedTime && (\n <Typography\n component=\"span\"\n sx={{\n fontSize: fontSizes.time,\n color: 'text.secondary',\n }}\n data-testid={dataTestId ? `${dataTestId}-time` : undefined}\n >\n {formattedTime}\n </Typography>\n )}\n </Box>\n ),\n);\n\nStacked.displayName = 'DateTimeDisplayStacked';\n\n/**\n * DateTimeDisplay component - displays date and time in a stacked format\n * with date on one line and time on another.\n */\nexport const DateTimeDisplay = forwardRef<HTMLSpanElement, DateTimeDisplayProps>(\n (\n {\n date,\n dateFormat = 'short',\n timeFormat = '12h',\n showTimezone = false,\n size = 'md',\n showTooltip = true,\n tooltipContent,\n sx,\n dataTestId,\n },\n ref,\n ) => {\n const { dateObj, formattedDate, formattedTime, fullDateTime } = useDateTimeParts({\n date,\n dateFormat,\n timeFormat,\n showTimezone,\n });\n const fontSizes = getFontSizes(size);\n\n // Handle invalid or missing date\n if (!dateObj) {\n return (\n <Box\n component=\"span\"\n ref={ref}\n data-testid={dataTestId}\n sx={{ color: 'text.disabled', ...sx }}\n >\n <Typography variant=\"caption\">-</Typography>\n </Box>\n );\n }\n\n const content = (\n <Stacked\n ref={ref}\n formattedDate={formattedDate}\n formattedTime={formattedTime}\n fontSizes={fontSizes}\n showTooltip={showTooltip}\n sx={sx}\n dataTestId={dataTestId}\n />\n );\n\n if (!showTooltip) {\n return content;\n }\n\n return (\n <Tooltip\n title={tooltipContent || fullDateTime}\n arrow\n placement=\"top\"\n slotProps={{\n tooltip: {\n sx: { px: 2, py: 1 },\n },\n }}\n >\n {content}\n </Tooltip>\n );\n },\n);\n\nDateTimeDisplay.displayName = 'DateTimeDisplay';\n"],"mappings":";;;;;;;;AAAA,OAAO,SAAS;AAChB,OAAO,aAAa;AACpB,OAAO,gBAAgB;AACvB,SAAS,kBAAkB;AAmCvB,SAYE,KAZF;AAzBJ,SAAS,aAAa,MAAiB;AACrC,UAAQ,MAAM;AAAA,IACZ,KAAK;AAAA,IACL,KAAK;AACH,aAAO,EAAE,MAAM,MAAM,EAAE,GAAG,MAAM,MAAM,IAAI,EAAE;AAAA,IAC9C,KAAK;AAAA,IACL,KAAK;AACH,aAAO,EAAE,MAAM,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,EAAE;AAAA,IAC5C,KAAK;AAAA,IACL;AACE,aAAO,EAAE,MAAM,MAAM,EAAE,GAAG,MAAM,MAAM,EAAE,EAAE;AAAA,EAC9C;AACF;AAWA,IAAM,UAAU;AAAA,EACd,CAAC,EAAE,eAAe,eAAe,WAAW,aAAa,IAAI,WAAW,GAAG,QACzE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV;AAAA,MACA,eAAa;AAAA,MACb,IAAI;AAAA,QACF,SAAS;AAAA,QACT,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,QAAQ,cAAc,SAAS;AAAA,QAC/B,GAAG;AAAA,MACL;AAAA,MAEA;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,IAAI;AAAA,cACF,YAAY;AAAA,cACZ,UAAU,UAAU;AAAA,YACtB;AAAA,YACA,eAAa,aAAa,GAAG,UAAU,UAAU;AAAA,YAEhD;AAAA;AAAA,QACH;AAAA,QACC,iBACC;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,IAAI;AAAA,cACF,UAAU,UAAU;AAAA,cACpB,OAAO;AAAA,YACT;AAAA,YACA,eAAa,aAAa,GAAG,UAAU,UAAU;AAAA,YAEhD;AAAA;AAAA,QACH;AAAA;AAAA;AAAA,EAEJ;AAEJ;AAEA,QAAQ,cAAc;AAMf,IAAM,kBAAkB;AAAA,EAC7B,CACE;AAAA,IACE;AAAA,IACA,aAAa;AAAA,IACb,aAAa;AAAA,IACb,eAAe;AAAA,IACf,OAAO;AAAA,IACP,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,EACF,GACA,QACG;AACH,UAAM,EAAE,SAAS,eAAe,eAAe,aAAa,IAAI,iBAAiB;AAAA,MAC/E;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AACD,UAAM,YAAY,aAAa,IAAI;AAGnC,QAAI,CAAC,SAAS;AACZ,aACE;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV;AAAA,UACA,eAAa;AAAA,UACb,IAAI,EAAE,OAAO,iBAAiB,GAAG,GAAG;AAAA,UAEpC,8BAAC,cAAW,SAAQ,WAAU,eAAC;AAAA;AAAA,MACjC;AAAA,IAEJ;AAEA,UAAM,UACJ;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF;AAGF,QAAI,CAAC,aAAa;AAChB,aAAO;AAAA,IACT;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAO,kBAAkB;AAAA,QACzB,OAAK;AAAA,QACL,WAAU;AAAA,QACV,WAAW;AAAA,UACT,SAAS;AAAA,YACP,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE;AAAA,UACrB;AAAA,QACF;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AAEA,gBAAgB,cAAc;","names":[]}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-JFEEV3XI.js";
|
|
4
4
|
import {
|
|
5
5
|
DescriptionItem
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-KREWQAEV.js";
|
|
7
7
|
import {
|
|
8
8
|
default as default2
|
|
9
9
|
} from "./chunk-6DPAWXZ3.js";
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
Text
|
|
12
12
|
} from "./chunk-WTOYEWW6.js";
|
|
13
13
|
import {
|
|
14
|
+
rem,
|
|
14
15
|
sxRem
|
|
15
16
|
} from "./chunk-YKCAJ2TN.js";
|
|
16
17
|
|
|
@@ -92,7 +93,7 @@ function ListCardMeta({
|
|
|
92
93
|
default2,
|
|
93
94
|
{
|
|
94
95
|
"data-slot": "meta",
|
|
95
|
-
sx: {
|
|
96
|
+
sx: (theme) => ({
|
|
96
97
|
display: "flex",
|
|
97
98
|
alignItems: "center",
|
|
98
99
|
justifyContent: "space-evenly",
|
|
@@ -103,8 +104,8 @@ function ListCardMeta({
|
|
|
103
104
|
whiteSpace: "nowrap",
|
|
104
105
|
...TABULAR,
|
|
105
106
|
// Rung 1 of the ladder.
|
|
106
|
-
[`@container (max-width: ${META_BREAK}
|
|
107
|
-
},
|
|
107
|
+
[`@container (max-width: ${rem(theme, META_BREAK)})`]: { display: "none" }
|
|
108
|
+
}),
|
|
108
109
|
children: [
|
|
109
110
|
items.map((item, index) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
110
111
|
index > 0 && /* @__PURE__ */ jsx(MetaRule, {}),
|
|
@@ -130,10 +131,10 @@ function ListCardMeta({
|
|
|
130
131
|
}
|
|
131
132
|
);
|
|
132
133
|
}
|
|
133
|
-
var
|
|
134
|
-
marginLeft:
|
|
135
|
-
[`@container (max-width: ${META_BREAK}
|
|
136
|
-
};
|
|
134
|
+
var valueFlush = (theme) => ({
|
|
135
|
+
marginLeft: rem(theme, -RAIL_GAP_PX),
|
|
136
|
+
[`@container (max-width: ${rem(theme, META_BREAK)})`]: { marginLeft: 0 }
|
|
137
|
+
});
|
|
137
138
|
function ListCardValue({ value }) {
|
|
138
139
|
return /* @__PURE__ */ jsx(Text, { variant: "body", size: "sm", weight: "medium", as: "span", children: /* @__PURE__ */ jsx(
|
|
139
140
|
default2,
|
|
@@ -197,10 +198,10 @@ function ListCardTail({
|
|
|
197
198
|
default2,
|
|
198
199
|
{
|
|
199
200
|
"data-slot": "value",
|
|
200
|
-
sx: {
|
|
201
|
+
sx: (theme) => ({
|
|
201
202
|
textAlign: "right",
|
|
202
|
-
...separated && value != null ?
|
|
203
|
-
},
|
|
203
|
+
...separated && value != null ? valueFlush(theme) : {}
|
|
204
|
+
}),
|
|
204
205
|
"data-testid": testId("value"),
|
|
205
206
|
children: value != null && /* @__PURE__ */ jsx(ListCardValue, { value })
|
|
206
207
|
}
|
|
@@ -225,4 +226,4 @@ export {
|
|
|
225
226
|
ListCardActions,
|
|
226
227
|
ListCardTail
|
|
227
228
|
};
|
|
228
|
-
//# sourceMappingURL=chunk-
|
|
229
|
+
//# sourceMappingURL=chunk-RZ2C5CAW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/DataViews/base-list-card-slots.tsx"],"sourcesContent":["\"use client\";\n\nimport { Fragment, type ReactNode } from \"react\";\n\nimport { DescriptionItem, type DescriptionItemProps } from \"../DescriptionItem\";\nimport { RAIL_GAP_PX } from \"./list-card-rails\";\nimport { Box } from \"../../../mui/Box\";\nimport { Text } from \"../../typography/Text\";\nimport type { Theme } from \"@mui/material/styles/index.js\";\n\nimport { rem, sxRem } from \"../../../tokens/relative\";\n\n/**\n * WHAT SITS IN EACH RAIL.\n *\n * Split from `base-list-card` at the size gate: that module is the shell, the\n * rails and the states; this is the content of each column.\n */\n\n/** Below this the row drops its middle columns. */\nexport const META_BREAK = 520;\n/** …and below this it leaves the shared rails and goes two-line. */\nexport const STACK_BREAK = 360;\n\n/** Money and dates line up only if their digits are the same width. */\nconst TABULAR = { fontVariantNumeric: \"tabular-nums\" } as const;\n\nconst CLAMP = {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n} as const;\n\n/**\n * Title over subtitle — and, when the row navigates, the anchor that covers it.\n *\n * The link is a real `<a>` stretched by `::after` over the whole card rather\n * than a click handler on a `<div>`. That buys cmd-click, middle-click, \"copy\n * link address\", the status bar preview and correct tab order, and it stops the\n * buttons elsewhere in the row from being interactive elements nested inside a\n * clickable one.\n */\nexport function ListCardCaption({\n title,\n subtitle,\n href,\n target,\n testId,\n}: {\n title?: ReactNode;\n subtitle?: ReactNode;\n href?: string;\n target?: string;\n testId?: string;\n}): React.JSX.Element {\n return (\n <Box data-slot=\"caption\" sx={{ minWidth: 0 }}>\n {title != null && (\n <Text variant=\"heading\" size=\"sm\" weight=\"bold\" as=\"p\">\n <Box\n {...(href ? { component: \"a\", href, target } : { component: \"span\" })}\n data-testid={testId}\n sx={{\n display: \"block\",\n lineHeight: 1.2,\n fontSize: sxRem(14.4),\n color: \"inherit\",\n textDecoration: \"none\",\n ...CLAMP,\n ...(href\n ? {\n \"&::after\": {\n content: '\"\"',\n position: \"absolute\",\n inset: 0,\n // Under the checkbox, drag grip, actions and menu, which\n // all raise themselves to 1.\n zIndex: 0,\n },\n \"&:hover\": { textDecoration: \"underline\" },\n }\n : {}),\n }}\n >\n {title}\n </Box>\n </Text>\n )}\n {subtitle != null && (\n <Text variant=\"caption\" size=\"xs\" color=\"secondary\" as=\"p\">\n <Box component=\"span\" sx={{ display: \"block\", ...CLAMP }}>\n {subtitle}\n </Box>\n </Text>\n )}\n </Box>\n );\n}\n\n/** One rule between two columns. Shared, so every gap gets the same mark. */\nfunction MetaRule(): React.JSX.Element {\n return (\n <Box\n aria-hidden\n sx={{\n flex: \"0 0 auto\",\n color: \"text.disabled\",\n opacity: 0.5,\n userSelect: \"none\",\n fontSize: sxRem(14),\n // A cancelled row strikes the whole meta cluster, and a struck `|` is a\n // dagger. The rule is punctuation, not data — nothing to void.\n textDecoration: \"none\",\n }}\n >\n |\n </Box>\n );\n}\n\n/**\n * The middle columns: stacked label-over-value pairs, separated by a rule.\n *\n * Stacked rather than side by side because `DATA 05/08/2026` inline spends the\n * horizontal room the value rail needs, and the separator is what stops two\n * adjacent pairs reading as one four-word phrase.\n *\n * EVEN GAPS, NOT EVEN BOXES. The rail takes a share of the row's spare width\n * per pair (see `metaRail`), and the obvious way to spend it — give every pair\n * an equal-width box and centre its content — puts the separator on the BOX\n * boundary, which is only the visual midpoint when both pairs are the same\n * width. They never are: `05/08/2026, 13:45` reaches almost to the edge of its\n * box while `PIX` stops well short of its own, so the rule ends up crowded\n * against the date and adrift from the method.\n *\n * So the pairs are sized to their content and the SPARE space is what gets\n * divided evenly. `space-evenly` gives every gap — including the two either\n * side of each separator — the same width, which puts each rule exactly halfway\n * between the two labels it separates, whatever they happen to say.\n */\nexport function ListCardMeta({\n meta,\n metaSlot,\n trailingRule,\n}: {\n meta?: DescriptionItemProps[];\n metaSlot?: ReactNode;\n /** Close the run with a rule, dividing the last pair from the value. */\n trailingRule?: boolean;\n}): React.JSX.Element {\n const items = meta ?? [];\n return (\n <Box\n data-slot=\"meta\"\n sx={(theme) => ({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-evenly\",\n // A FLOOR, not the spacing itself: `space-evenly` supplies the rest, and\n // this is only what keeps a rail with no room to spare from running the\n // date straight into the rule.\n gap: 1,\n whiteSpace: \"nowrap\",\n ...TABULAR,\n // Rung 1 of the ladder.\n [`@container (max-width: ${rem(theme, META_BREAK)})`]: { display: \"none\" },\n })}\n >\n {items.map((item, index) => (\n <Fragment key={`${item.label}-${index}`}>\n {/* ITS OWN ITEM, not the first child of the pair that follows it.\n Nested inside, the rule travelled with that pair's centred content\n and came to rest nearer one label than the other — a separator\n visibly closer to MÉTODO than to DATA reads as belonging to it. */}\n {index > 0 && <MetaRule />}\n {/* Centred: a stacked pair sitting in its own column reads as one\n unit only when the label is over the value rather than flush left\n of a value shorter than it — `MÉTODO` above `PIX` was visibly\n unhinged from it. Overridable per item. */}\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n minWidth: 0,\n // Sized to the pair, so the gaps either side of it are free space\n // that `space-evenly` can equalise.\n flex: \"0 0 auto\",\n }}\n >\n <DescriptionItem orientation=\"vertical\" align=\"center\" {...item} />\n </Box>\n </Fragment>\n ))}\n {metaSlot}\n {trailingRule && items.length > 0 && <MetaRule />}\n </Box>\n );\n}\n\n/**\n * The value sits flush against the meta rail, with no gap of its own.\n *\n * Its divider is now the LAST ITEM OF THE META CLUSTER, placed by the same\n * `space-evenly` that places the rules between the pairs — so it is equidistant\n * from `PIX` and from `R$ 13,90` for free, which a rule centred in the rail gap\n * could never be: the cluster's content stops well short of the rail's right\n * edge, leaving that rule 150px from the method and 12px from the money.\n *\n * Cancelling this one gap is what makes the two distances equal. Below\n * `META_BREAK` the cluster (and its rule) are gone, so the gap comes back —\n * otherwise the value would sit straight against the title.\n */\nconst valueFlush = (theme: Theme) => ({\n marginLeft: rem(theme, -RAIL_GAP_PX),\n [`@container (max-width: ${rem(theme, META_BREAK)})`]: { marginLeft: 0 },\n});\n\n/** The value, on its own rail, never truncated and never shunted by the chip. */\nfunction ListCardValue({ value }: { value: ReactNode }): React.JSX.Element {\n return (\n <Text variant=\"body\" size=\"sm\" weight=\"medium\" as=\"span\">\n <Box\n component=\"span\"\n sx={{ fontSize: sxRem(14), whiteSpace: \"nowrap\", ...TABULAR }}\n >\n {value}\n </Box>\n </Text>\n );\n}\n\n/**\n * The actions and the menu, at the end of the row.\n *\n * Actions are revealed on hover and `:focus-within` — always-visible buttons on\n * every row of fifty is a lot of chrome for something used on one of them.\n * `:focus-within` is what keeps them reachable by keyboard, and `visibility`\n * rather than `display` keeps their space reserved so nothing shifts.\n */\nexport function ListCardActions({\n actions,\n alwaysVisible,\n menu,\n testId,\n}: {\n actions?: ReactNode;\n alwaysVisible?: boolean;\n menu?: ReactNode;\n testId: (slot: string) => string | undefined;\n}): React.JSX.Element | null {\n if (actions == null && menu == null) return null;\n return (\n // z-index 1: above the stretched link, so these stay clickable.\n <Box\n data-slot=\"actions\"\n sx={{ display: \"flex\", alignItems: \"center\", gap: 0.5, position: \"relative\", zIndex: 1 }}\n >\n {actions && (\n <Box\n data-testid={testId(\"actions\")}\n onClick={(event) => event.stopPropagation()}\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 0.5,\n ...(alwaysVisible\n ? {}\n : {\n visibility: \"hidden\",\n \".MuiPaper-root:hover &, .MuiPaper-root:focus-within &\": {\n visibility: \"visible\",\n },\n }),\n }}\n >\n {actions}\n </Box>\n )}\n {menu && (\n <Box data-testid={testId(\"menu\")} onClick={(event) => event.stopPropagation()}>\n {menu}\n </Box>\n )}\n </Box>\n );\n}\n\n/** Value and actions — separate rails, not one flex run. */\nexport function ListCardTail({\n value,\n separated,\n actions,\n actionsAlwaysVisible,\n menu,\n testId,\n}: {\n value?: ReactNode;\n /** Whether a meta cluster precedes the value and wants dividing from it. */\n separated?: boolean;\n actions?: ReactNode;\n actionsAlwaysVisible?: boolean;\n menu?: ReactNode;\n testId: (slot: string) => string | undefined;\n}): React.JSX.Element {\n return (\n <>\n <Box\n data-slot=\"value\"\n sx={(theme) => ({\n textAlign: \"right\",\n ...(separated && value != null ? valueFlush(theme) : {}),\n })}\n data-testid={testId(\"value\")}\n >\n {value != null && <ListCardValue value={value} />}\n </Box>\n <ListCardActions\n actions={actions}\n alwaysVisible={actionsAlwaysVisible}\n menu={menu}\n testId={testId}\n />\n </>\n );\n}\n"],"mappings":"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","names":["Fragment","default"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
tableStyles
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-POV2KL2P.js";
|
|
4
4
|
import {
|
|
5
5
|
TABLE_DEFAULTS,
|
|
6
6
|
definedProps
|
|
@@ -16,6 +16,9 @@ import {
|
|
|
16
16
|
import {
|
|
17
17
|
useTableSelection
|
|
18
18
|
} from "./chunk-DF4K5XVW.js";
|
|
19
|
+
import {
|
|
20
|
+
rem
|
|
21
|
+
} from "./chunk-YKCAJ2TN.js";
|
|
19
22
|
|
|
20
23
|
// src/components/data-display/Table/Table.tsx
|
|
21
24
|
import MoreVertIcon from "@mui/icons-material/MoreVert";
|
|
@@ -31,14 +34,18 @@ import TableBody from "@mui/material/TableBody/index.js";
|
|
|
31
34
|
import TableCell from "@mui/material/TableCell/index.js";
|
|
32
35
|
import TableContainer from "@mui/material/TableContainer/index.js";
|
|
33
36
|
import TableRow from "@mui/material/TableRow/index.js";
|
|
34
|
-
import { styled } from "@mui/material/styles/index.js";
|
|
37
|
+
import { styled, useTheme } from "@mui/material/styles/index.js";
|
|
35
38
|
import React from "react";
|
|
36
39
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
40
|
+
var scrollHeight = (theme, containerHeight) => {
|
|
41
|
+
const box = containerHeight || 400;
|
|
42
|
+
return typeof box === "number" ? rem(theme, box) : box;
|
|
43
|
+
};
|
|
37
44
|
var StyledTableContainer = styled(TableContainer, {
|
|
38
45
|
shouldForwardProp: (prop) => !["virtualScrolling", "containerHeight"].includes(prop)
|
|
39
|
-
})(({ virtualScrolling, containerHeight }) => ({
|
|
46
|
+
})(({ theme, virtualScrolling, containerHeight }) => ({
|
|
40
47
|
...virtualScrolling && {
|
|
41
|
-
height: containerHeight
|
|
48
|
+
height: scrollHeight(theme, containerHeight),
|
|
42
49
|
overflow: "auto"
|
|
43
50
|
}
|
|
44
51
|
}));
|
|
@@ -87,7 +94,10 @@ var TableShell = ({
|
|
|
87
94
|
}
|
|
88
95
|
) });
|
|
89
96
|
var SKELETON_ROW_COUNT = 5;
|
|
90
|
-
var LoadingSkeletonRows = ({ columns }) =>
|
|
97
|
+
var LoadingSkeletonRows = ({ columns }) => {
|
|
98
|
+
const theme = useTheme();
|
|
99
|
+
return /* @__PURE__ */ jsx(Fragment, { children: Array.from({ length: SKELETON_ROW_COUNT }, (_, index) => /* @__PURE__ */ jsx(TableRow, { children: columns?.map((column) => /* @__PURE__ */ jsx(TableCell, { children: /* @__PURE__ */ jsx(Skeleton, { height: rem(theme, 20) }) }, column.key)) }, index)) });
|
|
100
|
+
};
|
|
91
101
|
var ColumnToggleMenu = ({ columns, hiddenColumns, anchor, setAnchor, setHiddenColumns }) => /* @__PURE__ */ jsxs(Box, { position: "absolute", top: 8, right: 8, children: [
|
|
92
102
|
/* @__PURE__ */ jsx(IconButton, { onClick: (event) => setAnchor(event.currentTarget), size: "small", children: /* @__PURE__ */ jsx(MoreVertIcon, {}) }),
|
|
93
103
|
/* @__PURE__ */ jsx(Menu, { anchorEl: anchor, open: Boolean(anchor), onClose: () => setAnchor(null), children: columns.map((column, index) => /* @__PURE__ */ jsx(MenuItem, { children: /* @__PURE__ */ jsx(
|
|
@@ -285,4 +295,4 @@ Table.displayName = "Table";
|
|
|
285
295
|
export {
|
|
286
296
|
Table
|
|
287
297
|
};
|
|
288
|
-
//# sourceMappingURL=chunk-
|
|
298
|
+
//# sourceMappingURL=chunk-S3D5VBHW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/Table/Table.tsx"],"sourcesContent":["import MoreVertIcon from '@mui/icons-material/MoreVert';\nimport Box from '@mui/material/Box/index.js';\nimport FormControlLabel from '@mui/material/FormControlLabel/index.js';\nimport IconButton from '@mui/material/IconButton/index.js';\nimport Menu from '@mui/material/Menu/index.js';\nimport MenuItem from '@mui/material/MenuItem/index.js';\nimport Skeleton from '@mui/material/Skeleton/index.js';\nimport Switch from '@mui/material/Switch/index.js';\nimport MuiTable from '@mui/material/Table/index.js';\nimport TableBody from '@mui/material/TableBody/index.js';\nimport TableCell from '@mui/material/TableCell/index.js';\nimport TableContainer from '@mui/material/TableContainer/index.js';\nimport TableRow from '@mui/material/TableRow/index.js';\nimport { styled, useTheme, type Theme } from '@mui/material/styles/index.js';\nimport React from 'react';\n\nimport type {\n ColumnConfig,\n TableDensity,\n TableProps,\n TableStripeColor} from './Table.types';\nimport { TABLE_DEFAULTS, definedProps } from './Table.helpers';\nimport { useTableSelection } from './Table.hooks';\nimport { EnhancedTableBody, EnhancedTableHeader } from './TableParts';\nimport { EmptyRow, NoDataPlaceholder } from './TableStates';\nimport {\n tableStyles } from './Table.styles';\nimport { rem } from '../../../tokens/relative';\n\n/** The scroll box's height: a number is design px, 400 unless the caller says otherwise. */\nconst scrollHeight = (theme: Theme, containerHeight: number | string | undefined): string => {\n const box = containerHeight || 400;\n return typeof box === 'number' ? rem(theme, box) : box;\n};\n\n// Define pulse animation\nconst StyledTableContainer = styled(TableContainer, {\n shouldForwardProp: (prop) => !['virtualScrolling', 'containerHeight'].includes(prop as string) })<{ \n virtualScrolling?: boolean; \n containerHeight?: number | string;\n}>(({ theme, virtualScrolling, containerHeight }) => ({\n ...(virtualScrolling && {\n height: scrollHeight(theme, containerHeight),\n overflow: 'auto' }) }));\n\n// Helper function to get stripe color from theme\nconst StyledTable = styled(MuiTable, {\n shouldForwardProp: (prop) =>\n !['customVariant', 'glow', 'pulse', 'hoverable', 'density', 'stickyHeader', 'stripeColor'].includes(prop as string) })<{\n customVariant?: string;\n glow?: boolean;\n pulse?: boolean;\n hoverable?: boolean;\n density?: TableDensity;\n stickyHeader?: boolean;\n stripeColor?: TableStripeColor;\n}>(({ theme, customVariant, glow, pulse, hoverable, density, stickyHeader, stripeColor = 'neutral' }) => {\n return tableStyles({\n theme,\n customVariant,\n glow,\n pulse,\n hoverable,\n density,\n stickyHeader,\n stripeColor });\n});\n\n// Virtual Scrolling Hook\nconst TableShell: React.FC<{\n innerRef: React.Ref<globalThis.HTMLTableElement>;\n variant?: string;\n stripeColor?: TableStripeColor;\n glow?: boolean;\n pulse?: boolean;\n hoverable?: boolean;\n density?: TableDensity;\n stickyHeader?: boolean;\n header: React.ReactNode;\n rest: Record<string, unknown>;\n children: React.ReactNode;\n}> = ({\n innerRef,\n variant,\n stripeColor,\n glow,\n pulse,\n hoverable,\n density,\n stickyHeader,\n header,\n rest,\n children }) => (\n <StyledTableContainer>\n <StyledTable\n ref={innerRef}\n customVariant={variant}\n stripeColor={stripeColor}\n glow={glow}\n pulse={pulse}\n hoverable={hoverable}\n density={density}\n stickyHeader={stickyHeader}\n {...rest}\n >\n {header}\n {children}\n </StyledTable>\n </StyledTableContainer>\n);\n\nconst SKELETON_ROW_COUNT = 5;\n\nconst LoadingSkeletonRows: React.FC<{ columns?: ColumnConfig[] }> = ({ columns }) => {\n const theme = useTheme();\n return (\n <>\n {Array.from({ length: SKELETON_ROW_COUNT }, (_, index) => (\n <TableRow key={index}>\n {columns?.map((column) => (\n <TableCell key={column.key}>\n <Skeleton height={rem(theme, 20)} />\n </TableCell>\n ))}\n </TableRow>\n ))}\n </>\n );\n};\n\nexport type TableShellProps = Omit<React.ComponentProps<typeof TableShell>, 'children'>;\n\ntype Selection = ReturnType<typeof useTableSelection>;\n\ninterface RendererProps {\n resolved: TableProps;\n selection: Selection;\n innerRef: React.Ref<globalThis.HTMLTableElement>;\n rest: Record<string, unknown>;\n}\n\n// The column-visibility control, shown only when responsive mode has actually\n// hidden something on a narrow viewport.\nconst ColumnToggleMenu: React.FC<{\n columns: ColumnConfig[];\n hiddenColumns: number[];\n anchor: HTMLElement | null;\n setAnchor: (element: HTMLElement | null) => void;\n setHiddenColumns: (next: number[]) => void;\n}> = ({ columns, hiddenColumns, anchor, setAnchor, setHiddenColumns }) => (\n <Box position=\"absolute\" top={8} right={8}>\n <IconButton onClick={(event) => setAnchor(event.currentTarget)} size=\"small\">\n <MoreVertIcon />\n </IconButton>\n <Menu anchorEl={anchor} open={Boolean(anchor)} onClose={() => setAnchor(null)}>\n {columns.map((column, index) => (\n <MenuItem key={column.key}>\n <FormControlLabel\n control={\n <Switch\n checked={!hiddenColumns.includes(index)}\n onChange={(event) =>\n setHiddenColumns(\n event.target.checked\n ? hiddenColumns.filter((i: number) => i !== index)\n : [...hiddenColumns, index],\n )\n }\n size=\"small\"\n />\n }\n label={column.label}\n />\n </MenuItem>\n ))}\n </Menu>\n </Box>\n);\n\n// The populated table. Local because StyledTableContainer and StyledTable\n// cannot cross a module boundary (TS2742).\nconst columnsFor = (resolved: TableProps, selection: Selection): ColumnConfig[] =>\n (resolved.responsive ? selection.visibleColumns : resolved.columns) ?? [];\n\n// The toggle only earns its place when responsive mode has actually hidden\n// something on a narrow viewport.\nconst showsColumnToggle = (resolved: TableProps, selection: Selection): boolean =>\n Boolean(\n resolved.responsive &&\n selection.isMobile &&\n resolved.showColumnToggle &&\n selection.hiddenColumns.length > 0,\n );\n\nconst AdvancedTable: React.FC<RendererProps> = ({ resolved: p, selection, innerRef, rest }) => {\n const finalColumns = columnsFor(p, selection);\n const showToggle = showsColumnToggle(p, selection);\n\n return (\n <Box position=\"relative\">\n <StyledTableContainer\n virtualScrolling={p.virtualScrolling}\n containerHeight={p.containerHeight}\n >\n <StyledTable\n ref={innerRef}\n customVariant={p.variant}\n stripeColor={p.stripeColor}\n glow={p.glow}\n pulse={p.pulse}\n hoverable={p.hoverable}\n density={p.density}\n stickyHeader={p.stickyHeader}\n {...rest}\n >\n <EnhancedTableHeader\n columns={finalColumns}\n data={p.data ?? []}\n sortable={p.sortable}\n sortConfig={p.sortConfig}\n onSortChange={p.onSortChange}\n selectable={p.selectable}\n selectedRows={p.selectedRows}\n onSelectAll={selection.handleSelectAll}\n density={p.density}\n stickyHeader={p.stickyHeader}\n />\n <EnhancedTableBody\n data={p.data ?? []}\n columns={finalColumns}\n selectedRows={p.selectedRows}\n onRowClick={p.onRowClick}\n onRowFocus={p.onRowFocus}\n onRowBlur={p.onRowBlur}\n onSelectionChange={selection.handleSelectionChange}\n rowKeyExtractor={p.rowKeyExtractor}\n density={p.density}\n selectable={p.selectable}\n hoverable={p.hoverable}\n renderRow={p.renderRow}\n renderCell={p.renderCell}\n virtualScrolling={p.virtualScrolling}\n containerHeight={typeof p.containerHeight === 'number' ? p.containerHeight : undefined}\n rowHeight={p.rowHeight}\n overscan={p.overscan}\n />\n </StyledTable>\n </StyledTableContainer>\n\n {showToggle && (\n <ColumnToggleMenu\n columns={p.columns ?? []}\n hiddenColumns={selection.hiddenColumns}\n anchor={selection.columnMenuAnchor}\n setAnchor={selection.setColumnMenuAnchor}\n setHiddenColumns={selection.setHiddenColumns}\n />\n )}\n </Box>\n );\n};\n\n// The loading and empty states render the same shell as the populated table, so\n// they share TableShell rather than repeating it three times.\nconst buildShell = ({\n resolved,\n selection,\n innerRef,\n rest,\n finalColumns }: RendererProps & { finalColumns?: ColumnConfig[] }) => ({\n innerRef,\n variant: resolved.variant,\n stripeColor: resolved.stripeColor,\n glow: resolved.glow,\n pulse: resolved.pulse,\n hoverable: resolved.hoverable,\n density: resolved.density,\n stickyHeader: resolved.stickyHeader,\n header: resolved.columns ? (\n <EnhancedTableHeader\n columns={finalColumns ?? []}\n data={[]}\n sortable={resolved.sortable}\n sortConfig={resolved.sortConfig}\n onSortChange={resolved.onSortChange}\n selectable={resolved.selectable}\n selectedRows={resolved.selectedRows}\n onSelectAll={selection.handleSelectAll}\n density={resolved.density}\n stickyHeader={resolved.stickyHeader}\n />\n ) : null,\n rest: rest as Record<string, unknown> });\n\nconst TableLoadingState: React.FC<{\n shell: TableShellProps;\n loadingComponent?: React.ReactNode;\n columns?: ColumnConfig[];\n}> = ({ shell, loadingComponent, columns }) => (\n <TableShell {...shell}>\n <TableBody data-testid=\"table-loading\">\n {loadingComponent || <LoadingSkeletonRows columns={columns} />}\n </TableBody>\n </TableShell>\n);\n\nconst TableEmptyState: React.FC<{\n shell: TableShellProps;\n emptyStateComponent?: React.ReactNode;\n emptyText: string;\n colSpan: number;\n}> = ({ shell, emptyStateComponent, emptyText, colSpan }) => (\n <TableShell {...shell}>\n <EmptyRow colSpan={colSpan}>\n {emptyStateComponent || <NoDataPlaceholder emptyText={emptyText} />}\n </EmptyRow>\n </TableShell>\n);\n\nexport const Table = React.forwardRef<globalThis.HTMLTableElement, TableProps>(\n (tableProps, ref) => {\n const resolved = { ...TABLE_DEFAULTS, ...definedProps(tableProps) } as TableProps;\n const {\n columns,\n data,\n responsive,\n loading,\n loadingComponent,\n emptyStateComponent,\n emptyText,\n children,\n ...props\n } = resolved;\n\n const selection = useTableSelection({\n columns,\n data,\n responsive,\n columnPriorities: resolved.columnPriorities,\n selectedRows: resolved.selectedRows ?? [],\n rowKeyExtractor: resolved.rowKeyExtractor,\n onSelectionChange: resolved.onSelectionChange });\n\n const rest = props as unknown as Record<string, unknown>;\n const renderer: RendererProps = { resolved, selection, innerRef: ref, rest };\n const finalColumns = responsive ? selection.visibleColumns : columns;\n const shell = buildShell({ ...renderer, finalColumns });\n\n if (loading) {\n return (\n <TableLoadingState shell={shell} loadingComponent={loadingComponent} columns={columns} />\n );\n }\n\n if (data && data.length === 0) {\n return (\n <TableEmptyState\n shell={shell}\n emptyStateComponent={emptyStateComponent}\n emptyText={emptyText}\n colSpan={finalColumns?.length || 1}\n />\n );\n }\n\n if (columns && data) return <AdvancedTable {...renderer} />;\n\n // Basic table (backward compatibility)\n return (\n <StyledTable\n ref={ref}\n customVariant={resolved.variant}\n stripeColor={resolved.stripeColor}\n glow={resolved.glow}\n pulse={resolved.pulse}\n hoverable={resolved.hoverable}\n density={resolved.density}\n stickyHeader={resolved.stickyHeader}\n {...rest}\n >\n {children}\n </StyledTable>\n );\n },\n);\n\nTable.displayName = 'Table';"],"mappings":"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","names":[]}
|
|
@@ -5,7 +5,6 @@ var TOOLTIP_DEFAULTS = {
|
|
|
5
5
|
size: "md",
|
|
6
6
|
glow: false,
|
|
7
7
|
pulse: false,
|
|
8
|
-
maxWidth: 300,
|
|
9
8
|
clickable: true
|
|
10
9
|
};
|
|
11
10
|
var definedProps = (props) => Object.fromEntries(
|
|
@@ -61,4 +60,4 @@ export {
|
|
|
61
60
|
resolveTooltipProps,
|
|
62
61
|
usePinnedTooltip
|
|
63
62
|
};
|
|
64
|
-
//# sourceMappingURL=chunk-
|
|
63
|
+
//# sourceMappingURL=chunk-S5UY5U73.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/InteractiveTooltip/InteractiveTooltip.hooks.ts"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\n\nimport type { InteractiveTooltipProps } from './InteractiveTooltip.types';\n\n// `maxWidth` defaults where it is read (`tooltipCap`), in design px through the theme.\ntype TooltipDefaultedKeys = 'variant' | 'size' | 'glow' | 'pulse' | 'clickable';\n\ntype ResolvedTooltipProps = InteractiveTooltipProps &\n Required<Pick<InteractiveTooltipProps, TooltipDefaultedKeys>>;\n\nconst TOOLTIP_DEFAULTS: Pick<InteractiveTooltipProps, TooltipDefaultedKeys> = {\n variant: 'default',\n size: 'md',\n glow: false,\n pulse: false,\n clickable: true,\n};\n\n// Strips explicitly-undefined props before the merge, so `size={undefined}` still\n// falls back to the default exactly as a destructuring default would.\nconst definedProps = (props: InteractiveTooltipProps): Partial<InteractiveTooltipProps> =>\n Object.fromEntries(\n Object.entries(props).filter(([, value]) => value !== undefined),\n ) as Partial<InteractiveTooltipProps>;\n\nexport const resolveTooltipProps = (\n props: InteractiveTooltipProps,\n): ResolvedTooltipProps =>\n ({ ...TOOLTIP_DEFAULTS, ...definedProps(props) }) as ResolvedTooltipProps;\n\ninterface PinOptions {\n clickable: boolean;\n onPin?: () => void;\n onUnpin?: () => void;\n}\n\n/**\n * Clicking the trigger pins the tooltip open; clicking anywhere that is neither\n * the tooltip nor the trigger unpins it. The listener only exists while pinned,\n * so an unpinned tooltip costs nothing on every document click.\n */\nexport const usePinnedTooltip = ({ clickable, onPin, onUnpin }: PinOptions) => {\n const [isPinned, setIsPinned] = useState(false);\n const [isControlledOpen, setIsControlledOpen] = useState(false);\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!isPinned || !clickable) {\n return;\n }\n\n const handleClickOutside = (event: MouseEvent) => {\n const targetElement = event.target as Element;\n\n // Check if click was on tooltip or trigger\n const isClickOnTooltip = targetElement.closest('[role=\"tooltip\"]');\n const isClickOnTrigger = wrapperRef.current?.contains(targetElement);\n\n if (isClickOnTooltip || isClickOnTrigger) {\n return;\n }\n\n // Click was outside - unpin\n setIsPinned(false);\n setIsControlledOpen(false);\n onUnpin?.();\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [isPinned, clickable, onUnpin]);\n\n const handleClick = useCallback(\n (e: React.MouseEvent) => {\n if (!clickable) return;\n\n e.preventDefault();\n e.stopPropagation();\n\n setIsPinned((current) => {\n const newPinned = !current;\n setIsControlledOpen(newPinned);\n\n if (newPinned) {\n onPin?.();\n } else {\n onUnpin?.();\n }\n\n return newPinned;\n });\n },\n [clickable, onPin, onUnpin],\n );\n\n return { isPinned, isControlledOpen, wrapperRef, handleClick };\n};\n"],"mappings":";AAAA,SAAgB,aAAa,WAAW,QAAQ,gBAAgB;AAUhE,IAAM,mBAAwE;AAAA,EAC5E,SAAS;AAAA,EACT,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,WAAW;AACb;AAIA,IAAM,eAAe,CAAC,UACpB,OAAO;AAAA,EACL,OAAO,QAAQ,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,MAAM,UAAU,MAAS;AACjE;AAEK,IAAM,sBAAsB,CACjC,WAEC,EAAE,GAAG,kBAAkB,GAAG,aAAa,KAAK,EAAE;AAa1C,IAAM,mBAAmB,CAAC,EAAE,WAAW,OAAO,QAAQ,MAAkB;AAC7E,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAC9C,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,SAAS,KAAK;AAC9D,QAAM,aAAa,OAAuB,IAAI;AAE9C,YAAU,MAAM;AACd,QAAI,CAAC,YAAY,CAAC,WAAW;AAC3B;AAAA,IACF;AAEA,UAAM,qBAAqB,CAAC,UAAsB;AAChD,YAAM,gBAAgB,MAAM;AAG5B,YAAM,mBAAmB,cAAc,QAAQ,kBAAkB;AACjE,YAAM,mBAAmB,WAAW,SAAS,SAAS,aAAa;AAEnE,UAAI,oBAAoB,kBAAkB;AACxC;AAAA,MACF;AAGA,kBAAY,KAAK;AACjB,0BAAoB,KAAK;AACzB,gBAAU;AAAA,IACZ;AAEA,aAAS,iBAAiB,aAAa,kBAAkB;AACzD,WAAO,MAAM;AACX,eAAS,oBAAoB,aAAa,kBAAkB;AAAA,IAC9D;AAAA,EACF,GAAG,CAAC,UAAU,WAAW,OAAO,CAAC;AAEjC,QAAM,cAAc;AAAA,IAClB,CAAC,MAAwB;AACvB,UAAI,CAAC,UAAW;AAEhB,QAAE,eAAe;AACjB,QAAE,gBAAgB;AAElB,kBAAY,CAAC,YAAY;AACvB,cAAM,YAAY,CAAC;AACnB,4BAAoB,SAAS;AAE7B,YAAI,WAAW;AACb,kBAAQ;AAAA,QACV,OAAO;AACL,oBAAU;AAAA,QACZ;AAEA,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,IACA,CAAC,WAAW,OAAO,OAAO;AAAA,EAC5B;AAEA,SAAO,EAAE,UAAU,kBAAkB,YAAY,YAAY;AAC/D;","names":[]}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import {
|
|
2
|
+
remPx
|
|
3
|
+
} from "./chunk-YKCAJ2TN.js";
|
|
4
|
+
|
|
1
5
|
// src/components/data-display/Chart/chart-axis.ts
|
|
2
6
|
var DEFAULT_MAX_CATEGORY_TICKS = 8;
|
|
3
7
|
var DEFAULT_TICK_LABEL_MAX_CHARS = 12;
|
|
4
|
-
var DEFAULT_BAR_RADIUS = 3;
|
|
5
|
-
var DEFAULT_MAX_BAR_WIDTH = 38;
|
|
6
8
|
function selectCategoryTicks(values, maxTicks) {
|
|
7
9
|
if (maxTicks < 1 || values.length <= maxTicks) return void 0;
|
|
8
10
|
if (new Set(values).size !== values.length) return void 0;
|
|
@@ -38,13 +40,13 @@ function resolveAxisConfig(props, tickMargin) {
|
|
|
38
40
|
tickFormatter: (value) => truncateTickLabel(value, maxChars)
|
|
39
41
|
};
|
|
40
42
|
}
|
|
41
|
-
function resolveBarGeometry(props) {
|
|
42
|
-
const radius = props.barRadius ??
|
|
43
|
+
function resolveBarGeometry(props, theme) {
|
|
44
|
+
const radius = remPx(theme, props.barRadius ?? 3);
|
|
43
45
|
return {
|
|
44
46
|
// A stacked segment rounded on its top corners tears a notch out of the
|
|
45
47
|
// segment above it, so stacks stay square.
|
|
46
48
|
radius: props.stacked ? 0 : [radius, radius, 0, 0],
|
|
47
|
-
maxBarSize: props.maxBarWidth ??
|
|
49
|
+
maxBarSize: remPx(theme, props.maxBarWidth ?? 38)
|
|
48
50
|
};
|
|
49
51
|
}
|
|
50
52
|
|
|
@@ -55,4 +57,4 @@ export {
|
|
|
55
57
|
resolveAxisConfig,
|
|
56
58
|
resolveBarGeometry
|
|
57
59
|
};
|
|
58
|
-
//# sourceMappingURL=chunk-
|
|
60
|
+
//# sourceMappingURL=chunk-SOHQPPYJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/Chart/chart-axis.ts"],"sourcesContent":["import type { Theme } from '@mui/material/styles/index.js';\n\nimport type { ChartDataPoint, ChartProps } from './Chart.types';\nimport { remPx } from '../../../tokens/relative';\n\n/**\n * Cartesian axis + bar geometry: the rules that keep a chart readable rather\n * than merely correct (FUT-391 visual pass).\n *\n * Three of them are pass/fail by looking at the rendered chart:\n *\n * - **No overlapping text.** The bottom value tick sits ON the x-axis line and\n * the first category tick sits ON the y-axis line, so the two labels meet at\n * the corner. Recharts' default `tickMargin` of 2 leaves the category label's\n * cap height inside the value label's descender — a few px of overlap at\n * every viewport. The margin has to clear the value label's box, which grows\n * with the font, hence a per-size value ({@link SIZE_PRESETS}).\n * - **Skip every nth tick, always keep the last, truncate at ~12 chars.** With\n * more categories than fit, Recharts thins them only when it can measure text\n * (never server-side, where `getStringSize` returns 0 and every label renders\n * on top of its neighbour). Thinning here is deterministic and viewport-free.\n * - **Bars rounded, capped, never touching the frame.** A two-category bar\n * chart in a wide card draws 150px slabs flush against the axis; the cap is\n * what turns them back into bars.\n */\n\n/** Category ticks kept before thinning starts. */\nconst DEFAULT_MAX_CATEGORY_TICKS = 8;\n/** Category tick labels longer than this are truncated with an ellipsis. */\nconst DEFAULT_TICK_LABEL_MAX_CHARS = 12;\n\n/**\n * Thin a category axis to at most `maxTicks` labels, keeping every nth.\n *\n * The walk runs from the END so the last category is always labelled — the\n * most recent day/bucket is the one a reader looks for first. Returns\n * `undefined` when everything already fits, which leaves Recharts' own\n * width-aware thinning in charge of the common small-data case.\n *\n * Also `undefined` when a value repeats: Recharts places an explicit tick by\n * looking its value up in the scale, so a duplicate would land the label on\n * the first row that carries it rather than on the row it was picked for.\n */\nexport function selectCategoryTicks(\n values: ReadonlyArray<string | number>,\n maxTicks: number,\n): Array<string | number> | undefined {\n if (maxTicks < 1 || values.length <= maxTicks) return undefined;\n if (new Set(values).size !== values.length) return undefined;\n const step = Math.ceil(values.length / maxTicks);\n const kept: Array<string | number> = [];\n for (let index = values.length - 1; index >= 0; index -= step) {\n const value = values[index];\n if (value !== undefined) kept.push(value);\n }\n return kept.reverse();\n}\n\n/** The category-axis values of `data`, in row order, skipping empty cells. */\nexport function categoryValues(\n data: ReadonlyArray<ChartDataPoint>,\n xAxisKey: string,\n): Array<string | number> {\n const values: Array<string | number> = [];\n for (const row of data) {\n const value = row[xAxisKey];\n if (value !== null && value !== undefined) values.push(value);\n }\n return values;\n}\n\n/** Shorten a tick label to `maxChars`, ellipsis included, never mid-render. */\nexport function truncateTickLabel(value: unknown, maxChars: number): string {\n const text = value === null || value === undefined ? '' : String(value);\n if (maxChars < 1 || text.length <= maxChars) return text;\n return `${text.slice(0, maxChars - 1)}…`;\n}\n\n/** Resolved geometry for the shared cartesian axes. */\nexport interface CartesianAxisConfig {\n /** Gap between an axis line and its tick labels, px. */\n tickMargin: number;\n /** Explicit category ticks once thinning applies; `undefined` = Recharts decides. */\n categoryTicks: Array<string | number> | undefined;\n /** Category tick label formatter (truncation). */\n tickFormatter: (value: unknown) => string;\n}\n\n/** Resolved geometry for bar series. */\nexport interface BarGeometry {\n /** Per-corner radius in rendered px, top corners only; `0` for stacked segments. */\n radius: number | [number, number, number, number];\n /** Cap on a bar's thickness in rendered px — also what keeps bars off the frame. */\n maxBarSize: number;\n}\n\nexport function resolveAxisConfig(props: ChartProps, tickMargin: number): CartesianAxisConfig {\n const maxChars = props.tickLabelMaxChars ?? DEFAULT_TICK_LABEL_MAX_CHARS;\n return {\n tickMargin,\n categoryTicks: selectCategoryTicks(\n categoryValues(props.data, props.xAxisKey ?? 'name'),\n props.maxCategoryTicks ?? DEFAULT_MAX_CATEGORY_TICKS,\n ),\n tickFormatter: (value: unknown) => truncateTickLabel(value, maxChars),\n };\n}\n\n/**\n * The bar geometry Recharts takes as px numbers, from design px through the\n * type scale: a 3px corner and a 38px thickness cap unless the caller says\n * otherwise.\n */\nexport function resolveBarGeometry(props: ChartProps, theme: Theme): BarGeometry {\n const radius = remPx(theme, props.barRadius ?? 3);\n return {\n // A stacked segment rounded on its top corners tears a notch out of the\n // segment above it, so stacks stay square.\n radius: props.stacked ? 0 : [radius, radius, 0, 0],\n maxBarSize: remPx(theme, props.maxBarWidth ?? 38),\n };\n}\n"],"mappings":";;;;;AA2BA,IAAM,6BAA6B;AAEnC,IAAM,+BAA+B;AAc9B,SAAS,oBACd,QACA,UACoC;AACpC,MAAI,WAAW,KAAK,OAAO,UAAU,SAAU,QAAO;AACtD,MAAI,IAAI,IAAI,MAAM,EAAE,SAAS,OAAO,OAAQ,QAAO;AACnD,QAAM,OAAO,KAAK,KAAK,OAAO,SAAS,QAAQ;AAC/C,QAAM,OAA+B,CAAC;AACtC,WAAS,QAAQ,OAAO,SAAS,GAAG,SAAS,GAAG,SAAS,MAAM;AAC7D,UAAM,QAAQ,OAAO,KAAK;AAC1B,QAAI,UAAU,OAAW,MAAK,KAAK,KAAK;AAAA,EAC1C;AACA,SAAO,KAAK,QAAQ;AACtB;AAGO,SAAS,eACd,MACA,UACwB;AACxB,QAAM,SAAiC,CAAC;AACxC,aAAW,OAAO,MAAM;AACtB,UAAM,QAAQ,IAAI,QAAQ;AAC1B,QAAI,UAAU,QAAQ,UAAU,OAAW,QAAO,KAAK,KAAK;AAAA,EAC9D;AACA,SAAO;AACT;AAGO,SAAS,kBAAkB,OAAgB,UAA0B;AAC1E,QAAM,OAAO,UAAU,QAAQ,UAAU,SAAY,KAAK,OAAO,KAAK;AACtE,MAAI,WAAW,KAAK,KAAK,UAAU,SAAU,QAAO;AACpD,SAAO,GAAG,KAAK,MAAM,GAAG,WAAW,CAAC,CAAC;AACvC;AAoBO,SAAS,kBAAkB,OAAmB,YAAyC;AAC5F,QAAM,WAAW,MAAM,qBAAqB;AAC5C,SAAO;AAAA,IACL;AAAA,IACA,eAAe;AAAA,MACb,eAAe,MAAM,MAAM,MAAM,YAAY,MAAM;AAAA,MACnD,MAAM,oBAAoB;AAAA,IAC5B;AAAA,IACA,eAAe,CAAC,UAAmB,kBAAkB,OAAO,QAAQ;AAAA,EACtE;AACF;AAOO,SAAS,mBAAmB,OAAmB,OAA2B;AAC/E,QAAM,SAAS,MAAM,OAAO,MAAM,aAAa,CAAC;AAChD,SAAO;AAAA;AAAA;AAAA,IAGL,QAAQ,MAAM,UAAU,IAAI,CAAC,QAAQ,QAAQ,GAAG,CAAC;AAAA,IACjD,YAAY,MAAM,OAAO,MAAM,eAAe,EAAE;AAAA,EAClD;AACF;","names":[]}
|
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
isActionable,
|
|
5
5
|
isSelectable,
|
|
6
6
|
slotTestIds
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-BYH5GPLT.js";
|
|
8
8
|
import {
|
|
9
9
|
DragHandle,
|
|
10
10
|
useDragItem
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-K4EKTMTC.js";
|
|
12
12
|
import {
|
|
13
13
|
CARD_ASPECT_RATIOS
|
|
14
14
|
} from "./chunk-LHHAYZ55.js";
|
|
@@ -28,13 +28,14 @@ import {
|
|
|
28
28
|
Text
|
|
29
29
|
} from "./chunk-WTOYEWW6.js";
|
|
30
30
|
import {
|
|
31
|
-
rem
|
|
31
|
+
rem,
|
|
32
|
+
sxRem
|
|
32
33
|
} from "./chunk-YKCAJ2TN.js";
|
|
33
34
|
|
|
34
35
|
// src/components/data-display/DataViews/base-card.tsx
|
|
35
36
|
import { useTheme } from "@mui/material/styles/index.js";
|
|
36
37
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
37
|
-
|
|
38
|
+
var cardSx = (opts) => {
|
|
38
39
|
const { aspectRatio, pad, scale, interactive, draggable } = opts;
|
|
39
40
|
return {
|
|
40
41
|
position: "relative",
|
|
@@ -47,12 +48,12 @@ function cardSx(opts) {
|
|
|
47
48
|
cursor: draggable ? "grab" : interactive ? "pointer" : void 0,
|
|
48
49
|
...draggable ? { touchAction: "none", "&:active": { cursor: "grabbing" } } : {}
|
|
49
50
|
};
|
|
50
|
-
}
|
|
51
|
-
var
|
|
51
|
+
};
|
|
52
|
+
var OVERLAY_BAND_UNITS = 42 / 8;
|
|
52
53
|
function contentGaps(opts) {
|
|
53
54
|
const { hasMedia, hasBody, overlays, pad } = opts;
|
|
54
55
|
const gap = pad * 0.5;
|
|
55
|
-
const clear = !hasMedia && overlays ? Math.max(0,
|
|
56
|
+
const clear = !hasMedia && overlays ? Math.max(0, OVERLAY_BAND_UNITS - pad) : 0;
|
|
56
57
|
return { body: hasMedia ? gap : clear, caption: hasMedia || hasBody ? gap : clear };
|
|
57
58
|
}
|
|
58
59
|
function CardOverlays({
|
|
@@ -63,7 +64,7 @@ function CardOverlays({
|
|
|
63
64
|
}) {
|
|
64
65
|
const copy = useDataViewsCopy();
|
|
65
66
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
66
|
-
onToggleSelect && /* @__PURE__ */ jsx(default2, { sx: { position: "absolute", top: 4, left: 4, zIndex: 2 }, children: /* @__PURE__ */ jsx(
|
|
67
|
+
onToggleSelect && /* @__PURE__ */ jsx(default2, { sx: { position: "absolute", top: sxRem(4), left: sxRem(4), zIndex: 2 }, children: /* @__PURE__ */ jsx(
|
|
67
68
|
Checkbox,
|
|
68
69
|
{
|
|
69
70
|
checked: selected,
|
|
@@ -77,7 +78,7 @@ function CardOverlays({
|
|
|
77
78
|
menu && /* @__PURE__ */ jsx(
|
|
78
79
|
default2,
|
|
79
80
|
{
|
|
80
|
-
sx: { position: "absolute", top: 4, right: 4, zIndex: 2 },
|
|
81
|
+
sx: { position: "absolute", top: sxRem(4), right: sxRem(4), zIndex: 2 },
|
|
81
82
|
onClick: (event) => event.stopPropagation(),
|
|
82
83
|
children: menu
|
|
83
84
|
}
|
|
@@ -229,7 +230,7 @@ function BaseCard(props) {
|
|
|
229
230
|
})
|
|
230
231
|
},
|
|
231
232
|
children: [
|
|
232
|
-
drag.draggable && /* @__PURE__ */ jsx(default2, { sx: { position: "absolute", bottom: 4, left: 4, zIndex: 2 }, children: /* @__PURE__ */ jsx(
|
|
233
|
+
drag.draggable && /* @__PURE__ */ jsx(default2, { sx: { position: "absolute", bottom: sxRem(4), left: sxRem(4), zIndex: 2 }, children: /* @__PURE__ */ jsx(
|
|
233
234
|
DragHandle,
|
|
234
235
|
{
|
|
235
236
|
handleProps: drag.handleProps,
|
|
@@ -267,4 +268,4 @@ function BaseCard(props) {
|
|
|
267
268
|
export {
|
|
268
269
|
BaseCard
|
|
269
270
|
};
|
|
270
|
-
//# sourceMappingURL=chunk-
|
|
271
|
+
//# sourceMappingURL=chunk-SQYC57ZN.js.map
|