@12-apps/ui 6.51.0 → 6.52.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/components-guidelines.md +6 -2
- package/dist/_internal/components/data-display/Alert/Alert.js +3 -3
- package/dist/_internal/components/data-display/Alert/Alert.metrics.js +3 -3
- package/dist/_internal/components/data-display/Alert/Alert.styles.js +3 -3
- package/dist/_internal/components/data-display/Badge/Badge.js +7 -7
- package/dist/_internal/components/data-display/Badge/Badge.styles.js +5 -5
- 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 +3 -3
- package/dist/_internal/components/data-display/CardKit/CardKebab.js +3 -3
- package/dist/_internal/components/data-display/CardKit/card-actions-context.js +3 -3
- package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +3 -3
- package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +3 -3
- package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +5 -5
- package/dist/_internal/components/data-display/Carousel/Carousel.js +5 -5
- package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +5 -5
- package/dist/_internal/components/data-display/Carousel/Carousel.styles.js +5 -5
- package/dist/_internal/components/data-display/Chart/Chart.js +8 -8
- package/dist/_internal/components/data-display/Chart/SpecChart.js +10 -10
- package/dist/_internal/components/data-display/Chart/chart-context.js +5 -5
- package/dist/_internal/components/data-display/Chart/chart-internals.js +5 -5
- package/dist/_internal/components/data-display/Chart/chart-renderers.js +7 -7
- package/dist/_internal/components/data-display/Chip/Chip.js +3 -3
- package/dist/_internal/components/data-display/Chip/Chip.styles.js +2 -2
- package/dist/_internal/components/data-display/DataGrid/DataGrid.js +3 -15
- package/dist/_internal/components/data-display/DataGrid/DataGrid.model.js +1 -15
- package/dist/_internal/components/data-display/DataViews/DataViewsBoard.js +6 -6
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +45 -49
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +54 -58
- package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +9 -9
- package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +9 -9
- package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +10 -10
- package/dist/_internal/components/data-display/DataViews/base-card.js +8 -8
- package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +10 -18
- package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +9 -17
- package/dist/_internal/components/data-display/DataViews/base-list-card.js +13 -21
- 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 +7 -7
- package/dist/_internal/components/data-display/DataViews/data-views-columns-tab.js +6 -6
- 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 +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +10 -14
- package/dist/_internal/components/data-display/DataViews/data-views-display-tabs.js +7 -15
- package/dist/_internal/components/data-display/DataViews/data-views-empty.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-export.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +12 -12
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +13 -17
- package/dist/_internal/components/data-display/DataViews/data-views-grid-helpers.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +41 -45
- package/dist/_internal/components/data-display/DataViews/data-views-header-row.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +16 -16
- package/dist/_internal/components/data-display/DataViews/data-views-layout-context.js +1 -14
- package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +14 -14
- package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +15 -15
- package/dist/_internal/components/data-display/DataViews/data-views-number-input.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-scope-tabs.js +2 -13
- package/dist/_internal/components/data-display/DataViews/data-views-search.js +1 -1
- package/dist/_internal/components/data-display/DataViews/data-views-select-all-strip.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +14 -18
- package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +13 -13
- package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +13 -17
- package/dist/_internal/components/data-display/DataViews/data-views-view-nav.js +6 -6
- package/dist/_internal/components/data-display/DataViews/list-card-rails.js +2 -13
- package/dist/_internal/components/data-display/DataViews/save-view-preview.js +6 -6
- package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +6 -6
- package/dist/_internal/components/data-display/DescriptionItem/DescriptionItem.js +6 -6
- package/dist/_internal/components/data-display/FleetMap/FleetBody.js +8 -8
- package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +7 -7
- package/dist/_internal/components/data-display/FleetMap/FleetMap.js +13 -13
- package/dist/_internal/components/data-display/HoverCard/HoverCard.js +2 -2
- package/dist/_internal/components/data-display/LazyImage/LazyImage.js +1 -1
- package/dist/_internal/components/data-display/Lightbox/Lightbox.js +7 -7
- package/dist/_internal/components/data-display/Lightbox/LightboxControls.js +2 -2
- package/dist/_internal/components/data-display/Lightbox/LightboxOverlay.js +3 -3
- package/dist/_internal/components/data-display/Lightbox/LightboxThumbnails.js +2 -2
- package/dist/_internal/components/data-display/MapPreview/MapLayers.js +3 -3
- package/dist/_internal/components/data-display/MapPreview/MapPreview.js +6 -6
- package/dist/_internal/components/data-display/MapPreview/MapSearchBar.js +1 -1
- package/dist/_internal/components/data-display/Progress/Progress.js +6 -6
- package/dist/_internal/components/data-display/Progress/Progress.metrics.js +4 -4
- package/dist/_internal/components/data-display/Progress/Progress.styles.js +5 -5
- package/dist/_internal/components/data-display/Sheet/Sheet.body.js +5 -5
- package/dist/_internal/components/data-display/Sheet/Sheet.js +5 -5
- package/dist/_internal/components/data-display/Sheet/Sheet.styles.js +5 -5
- package/dist/_internal/components/data-display/Table/Table.helpers.js +1 -1
- package/dist/_internal/components/data-display/Table/Table.js +3 -14
- package/dist/_internal/components/data-display/Table/TableParts.hooks.js +2 -2
- package/dist/_internal/components/data-display/Table/TableParts.js +2 -2
- package/dist/_internal/components/data-display/index.js +45 -45
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +3 -3
- package/dist/_internal/components/feedback/Dialog/Dialog.js +3 -3
- package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +5 -5
- package/dist/_internal/components/feedback/StackedModal/StackedModal.js +2 -2
- package/dist/_internal/components/feedback/index.js +10 -10
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.hooks.js +3 -3
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +6 -6
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +3 -3
- package/dist/_internal/components/form/AddressAutocomplete/AddressFallbackField.js +1 -1
- package/dist/_internal/components/form/AddressAutocomplete/AddressInputField.js +1 -1
- package/dist/_internal/components/form/AddressAutocomplete/AddressTextField.js +1 -1
- package/dist/_internal/components/form/Autocomplete/Autocomplete.js +1 -1
- package/dist/_internal/components/form/Autocomplete/Autocomplete.parts.js +1 -1
- package/dist/_internal/components/form/Button/Button.js +3 -3
- package/dist/_internal/components/form/Button/Button.styles.js +3 -3
- package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +3 -3
- 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 +5 -5
- 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/Command/Command.js +7 -7
- package/dist/_internal/components/form/Command/Command.styles.js +5 -5
- package/dist/_internal/components/form/CreatableSelect/CreatableSelect.js +1 -1
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.hooks.js +1 -1
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +4 -4
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.range.js +1 -1
- package/dist/_internal/components/form/DateRangePicker/DateRangePickerFields.js +1 -1
- package/dist/_internal/components/form/Input/Input.js +1 -1
- package/dist/_internal/components/form/Input/Input.styles.js +1 -1
- 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 +5 -5
- package/dist/_internal/components/form/Label/Label.styles.js +5 -5
- package/dist/_internal/components/form/Menubar/Menubar.item.js +5 -5
- package/dist/_internal/components/form/Menubar/Menubar.js +5 -5
- package/dist/_internal/components/form/Menubar/Menubar.styles.js +5 -5
- package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +5 -5
- package/dist/_internal/components/form/NumberField/NumberField.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/Select/Select.js +1 -1
- package/dist/_internal/components/form/Select/Select.menu.js +1 -1
- package/dist/_internal/components/form/Select/Select.searchable.js +1 -1
- package/dist/_internal/components/form/Select/Select.styles.js +1 -1
- package/dist/_internal/components/form/Switch/Switch.js +3 -3
- package/dist/_internal/components/form/Switch/Switch.parts.js +3 -3
- package/dist/_internal/components/form/Switch/Switch.styles.js +3 -3
- package/dist/_internal/components/form/Textarea/Textarea.js +2 -2
- package/dist/_internal/components/form/Textarea/TextareaRichEditor.js +1 -1
- 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 +18 -18
- package/dist/_internal/components/form/total-form/Fields/CategoryField.js +6 -6
- 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 +10 -10
- package/dist/_internal/components/form/total-form/SubmitButton.js +3 -3
- package/dist/_internal/components/index.js +99 -98
- package/dist/_internal/components/layout/Box/Box.js +8 -8
- package/dist/_internal/components/layout/Card/Card.js +2 -2
- 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/ScrollArea/ScrollArea.js +2 -2
- package/dist/_internal/components/layout/SettingCard/SettingCard.js +13 -13
- package/dist/_internal/components/layout/SettingCard/SettingCard.parts.js +12 -12
- package/dist/_internal/components/layout/SettingCard/SettingGrid.js +13 -13
- package/dist/_internal/components/layout/SettingCard/SettingGroup.js +15 -15
- package/dist/_internal/components/layout/SettingCard/SettingSwitch.js +13 -13
- package/dist/_internal/components/layout/SettingCard/SettingToggle.js +15 -15
- package/dist/_internal/components/layout/Stack/Stack.js +9 -9
- package/dist/_internal/components/layout/TableFilter/TableFilter.js +1 -1
- package/dist/_internal/components/layout/index.js +25 -25
- package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +9 -9
- package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +5 -5
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +2 -2
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +4 -4
- package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +2 -2
- package/dist/_internal/components/navigation/Pagination/Pagination.js +3 -3
- package/dist/_internal/components/navigation/Pagination/PaginationParts.js +1 -1
- package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +12 -11
- package/dist/_internal/components/navigation/SectionNav/SectionNav.js +15 -13
- package/dist/_internal/components/navigation/SectionNav/SectionNav.parts.js +8 -8
- package/dist/_internal/components/navigation/SectionNav/SectionNav.primary.js +9 -9
- package/dist/_internal/components/navigation/SectionNav/SectionNav.rail.js +10 -9
- package/dist/_internal/components/navigation/SectionNav/SectionNav.railCreate.js +41 -0
- package/dist/_internal/components/navigation/SectionNav/SectionNav.railCreate.js.map +1 -0
- package/dist/_internal/components/navigation/SectionNav/SectionNav.sheet.js +9 -9
- package/dist/_internal/components/navigation/SectionNav/__stories__/fixtures.js +5 -5
- package/dist/_internal/components/navigation/Tabs/Tabs.js +1 -1
- package/dist/_internal/components/navigation/Tabs/Tabs.styles.js +1 -1
- package/dist/_internal/components/navigation/index.js +25 -23
- package/dist/_internal/components/typography/Heading/Heading.js +6 -6
- package/dist/_internal/components/typography/Heading/Heading.metrics.js +4 -4
- package/dist/_internal/components/typography/Heading/Heading.styles.js +5 -5
- package/dist/_internal/components/typography/Text/Text.js +5 -5
- package/dist/_internal/components/typography/Text/Text.metrics.js +4 -4
- package/dist/_internal/components/typography/index.js +8 -8
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.helpers.js +5 -5
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +5 -5
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +5 -5
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +5 -5
- package/dist/_internal/components/utility/index.js +5 -5
- package/dist/_internal/icons/Icon.js +8 -8
- package/dist/_internal/provider/UiProvider.js +7 -7
- package/dist/_internal/provider/mui-bridge.js +6 -6
- package/dist/_internal/provider/use-ui-theme.js +7 -7
- package/dist/_internal/social-login-button/social-login-button.js +11 -11
- package/dist/_internal/tokens/density.js +2 -2
- package/dist/_internal/tokens/field-height.js +1 -1
- package/dist/_internal/tokens/theme.js +3 -3
- package/dist/_internal/user-avatar/user-avatar.js +8 -8
- package/dist/charts.js +11 -11
- package/dist/{chunk-ROSYXRNN.js → chunk-2OTBMU5Z.js} +4 -4
- package/dist/{chunk-LPCPS5GZ.js → chunk-3QGMAVUF.js} +4 -4
- package/dist/{chunk-D4YPZILH.js → chunk-46MO2WZL.js} +6 -6
- package/dist/{chunk-EATBLXBP.js → chunk-4E4MSUY5.js} +4 -4
- package/dist/{chunk-ZOUWHGV3.js → chunk-4MGFUPQT.js} +4 -4
- package/dist/{chunk-RRG75JJS.js → chunk-4SHMSLFA.js} +2 -2
- package/dist/{chunk-YDLJE654.js → chunk-4XET5MWR.js} +2 -2
- package/dist/{chunk-J2SFOLGZ.js → chunk-4XHVGUOM.js} +2 -2
- package/dist/{chunk-MKJ4FMEF.js → chunk-4ZTHVUXE.js} +2 -2
- package/dist/{chunk-5N2UJOCT.js → chunk-57VL5UX7.js} +3 -3
- package/dist/{chunk-HGVWYKD4.js → chunk-67LNVBFO.js} +3 -3
- package/dist/{chunk-DJCAXJ2R.js → chunk-6J54X3ES.js} +4 -4
- package/dist/{chunk-JMMFRTZP.js → chunk-6PYX6V3R.js} +4 -4
- package/dist/{chunk-WL7IG7TT.js → chunk-6REPQ352.js} +2 -2
- package/dist/chunk-76FANB5I.js +126 -0
- package/dist/chunk-76FANB5I.js.map +1 -0
- package/dist/{chunk-UXJUTMAY.js → chunk-7GQ2ZZBQ.js} +2 -2
- package/dist/{chunk-GPROISHG.js → chunk-7TWZZD7R.js} +2 -2
- package/dist/{chunk-DLO5V4AV.js → chunk-7XSICFOJ.js} +3 -3
- package/dist/{chunk-S4ZUZ6DS.js → chunk-BAGLUQM3.js} +2 -2
- package/dist/{chunk-YK4ZG5Y4.js → chunk-BE5FGUJS.js} +2 -2
- package/dist/{chunk-M2GVHVE4.js → chunk-CJ45OL7L.js} +2 -2
- package/dist/{chunk-ZR33DDTI.js → chunk-CTXF22BU.js} +4 -4
- package/dist/{chunk-A436VORP.js → chunk-CVQYKXC5.js} +2 -2
- package/dist/{chunk-P7YUOH2E.js → chunk-CZV6NVCA.js} +4 -8
- package/dist/chunk-CZV6NVCA.js.map +1 -0
- package/dist/{chunk-MRWYKNBY.js → chunk-DFI2RKVQ.js} +2 -2
- package/dist/{chunk-SJ4IAZ3V.js → chunk-DH6J64PS.js} +1 -1
- package/dist/chunk-DH6J64PS.js.map +1 -0
- package/dist/{chunk-3U45DRNS.js → chunk-DI46ZEWP.js} +2 -2
- package/dist/{chunk-XYHNXO6Q.js → chunk-DWJH3KXN.js} +2 -2
- package/dist/{chunk-CDVYJB7J.js → chunk-E3GOREEB.js} +2 -2
- package/dist/{chunk-MYCR7FMI.js → chunk-E6JRPGMN.js} +9 -9
- package/dist/{chunk-K4BLVDYH.js → chunk-EIY5EYO3.js} +2 -2
- package/dist/{chunk-MG3SRQ6N.js → chunk-EOTV5BLM.js} +3 -3
- package/dist/{chunk-AY5MY7HJ.js → chunk-ERY6D2OV.js} +4 -4
- package/dist/{chunk-MT7XMJUJ.js → chunk-F33YKDO2.js} +12 -12
- package/dist/{chunk-TJ7NQG7E.js → chunk-FBUCXTA4.js} +4 -4
- package/dist/{chunk-32K4DRE5.js → chunk-FQTTVM2A.js} +2 -2
- package/dist/{chunk-4A535L3N.js → chunk-FRCBJLV5.js} +7 -7
- package/dist/{chunk-EACVF3GX.js → chunk-FRP7NM6X.js} +2 -2
- package/dist/{chunk-4B5WSVS7.js → chunk-FXZUVZON.js} +7 -7
- package/dist/{chunk-UI5O6J6R.js → chunk-FY6PONLA.js} +4 -4
- package/dist/{chunk-ABPTS3XK.js → chunk-G5XHAN56.js} +4 -4
- package/dist/{chunk-DSHM7VN6.js → chunk-G6ZPQHBL.js} +2 -2
- package/dist/{chunk-WLKCGWIV.js → chunk-GDYGT2KN.js} +4 -4
- package/dist/{chunk-HI3D6H37.js → chunk-GJRKWDRR.js} +4 -4
- package/dist/{chunk-TH7RBREI.js → chunk-GNHXFJRR.js} +4 -4
- package/dist/{chunk-KT5BEZEK.js → chunk-H7SOEZHW.js} +4 -4
- package/dist/{chunk-XMJ5AKDM.js → chunk-HCEJT65A.js} +5 -5
- package/dist/{chunk-HJUR6ZY6.js → chunk-HCYWRH5N.js} +3 -3
- package/dist/{chunk-WF4XK5AS.js → chunk-IWGW2E35.js} +2 -2
- package/dist/{chunk-AMSNWV7V.js → chunk-JK7SVLE2.js} +7 -7
- package/dist/{chunk-JLOMSSZD.js → chunk-JUHNEYCH.js} +3 -3
- package/dist/{chunk-NYHZUVLC.js → chunk-KN3WYEH2.js} +4 -4
- package/dist/{chunk-MPYIEIBA.js → chunk-KW3H5FUS.js} +2 -2
- package/dist/{chunk-OWILUXWM.js → chunk-LDROG4QI.js} +2 -12
- package/dist/chunk-LDROG4QI.js.map +1 -0
- package/dist/{chunk-YZHX2HTC.js → chunk-MKLIMY3D.js} +2 -2
- package/dist/{chunk-QWTPK3FT.js → chunk-MLDA44NW.js} +3 -3
- package/dist/{chunk-HDZQIFHL.js → chunk-MQ277OLB.js} +9 -9
- package/dist/{chunk-UDTA7YWD.js → chunk-NGAU6PNB.js} +5 -5
- package/dist/{chunk-742Z3VD3.js → chunk-NKJSYZEU.js} +5 -5
- package/dist/{chunk-GPTICJVN.js → chunk-OEBHWQSX.js} +3 -3
- package/dist/{chunk-W6YR35UL.js → chunk-OYT7YXQL.js} +5 -5
- package/dist/{chunk-RV26QUJS.js → chunk-OZPLAOI4.js} +5 -5
- package/dist/{chunk-BSEZ33G6.js → chunk-P35CTP6L.js} +3 -3
- package/dist/{chunk-TZASFX6G.js → chunk-P53KRCKW.js} +4 -4
- package/dist/{chunk-6IWO7CM2.js → chunk-PAT2BQOQ.js} +2 -2
- package/dist/{chunk-RCJOTNIW.js → chunk-PJVDIUT2.js} +5 -5
- package/dist/{chunk-BHPLHGZP.js → chunk-PM7SI4YT.js} +4 -4
- package/dist/{chunk-53HQNN3C.js → chunk-PY3RW5LC.js} +2 -2
- package/dist/{chunk-XLLJU5Q7.js → chunk-QEINKMMX.js} +2 -2
- package/dist/{chunk-5BV5DOW6.js → chunk-QHXMNSOZ.js} +2 -2
- package/dist/{chunk-H556NMKE.js → chunk-QMNNADL3.js} +6 -6
- package/dist/{chunk-VJBTFWDK.js → chunk-QQSRZUT4.js} +7 -7
- package/dist/{chunk-WNKRFMSI.js → chunk-QWBS22F4.js} +2 -2
- package/dist/{chunk-YG46LIVW.js → chunk-QYV7KLEN.js} +4 -4
- package/dist/{chunk-ESW4Z5I7.js → chunk-QZY5NG5N.js} +2 -2
- package/dist/{chunk-6B5NOR2U.js → chunk-SCCE6VWY.js} +2 -2
- package/dist/{chunk-L3MRRAZM.js → chunk-SLSED46V.js} +2 -2
- package/dist/chunk-SLSED46V.js.map +1 -0
- package/dist/{chunk-NJXDE6D3.js → chunk-SPZAEMGW.js} +9 -9
- package/dist/{chunk-TE3XYCX7.js → chunk-STTULW2K.js} +2 -2
- package/dist/{chunk-ZDMQDTSH.js → chunk-SV4FYSDL.js} +4 -4
- package/dist/{chunk-FDJLYYDA.js → chunk-SZA44EFA.js} +5 -5
- package/dist/{chunk-2VV6XZAU.js → chunk-TBZKUZNW.js} +4 -4
- package/dist/{chunk-KOBWXZNH.js → chunk-UFCULHHH.js} +2 -2
- package/dist/{chunk-FM5RBGG7.js → chunk-UHR7WIOR.js} +2 -2
- package/dist/{chunk-I2LF53MJ.js → chunk-UHX2LOT2.js} +3 -12
- package/dist/chunk-UHX2LOT2.js.map +1 -0
- package/dist/{chunk-AJ4MRDKM.js → chunk-UNEJ4MUR.js} +3 -3
- package/dist/{chunk-VAO63IIP.js → chunk-UOQ4AF2N.js} +3 -3
- package/dist/{chunk-FYTC4LOD.js → chunk-VEHMODO3.js} +2 -2
- package/dist/{chunk-4BI5PCOM.js → chunk-VJXC7VEB.js} +2 -2
- package/dist/{chunk-3VFYTZ7I.js → chunk-VVFASSFY.js} +4 -4
- package/dist/{chunk-VELGOFCL.js → chunk-VYWCBG3I.js} +13 -8
- package/dist/{chunk-VELGOFCL.js.map → chunk-VYWCBG3I.js.map} +1 -1
- package/dist/{chunk-IVJKILIX.js → chunk-VZ4VAQX3.js} +2 -2
- package/dist/{chunk-FR6BUKSJ.js → chunk-W3CGKCTR.js} +4 -4
- package/dist/{chunk-N2BVJAGH.js → chunk-WF7BZT6V.js} +2 -2
- package/dist/{chunk-HKEBTPKY.js → chunk-WM4KYIYQ.js} +6 -3
- package/dist/chunk-WM4KYIYQ.js.map +1 -0
- package/dist/{chunk-OP5JR5Q5.js → chunk-WN5PNP6F.js} +4 -4
- package/dist/{chunk-2AMYHIA7.js → chunk-WQRBHMP3.js} +1 -1
- package/dist/{chunk-F5BYZNXY.js → chunk-WV62BSWA.js} +2 -2
- package/dist/{chunk-C4QKXFZN.js → chunk-X66E5WSX.js} +3 -3
- package/dist/{chunk-L3CQTVFU.js → chunk-XAUKQZJK.js} +6 -6
- package/dist/{chunk-HF7V3RI5.js → chunk-XG5LPGRV.js} +2 -2
- package/dist/{chunk-II7Z5UB6.js → chunk-XNBX3M35.js} +4 -4
- package/dist/{chunk-5ZBFADBL.js → chunk-XSHWEUDB.js} +2 -2
- package/dist/{chunk-WKB4VWKQ.js → chunk-XW633XLR.js} +4 -4
- package/dist/{chunk-6WZUZHJM.js → chunk-YFODI4KT.js} +8 -8
- package/dist/{chunk-PXDJQQ6X.js → chunk-YVRLYDYN.js} +4 -4
- package/dist/{chunk-GNLNIEJD.js → chunk-ZTTFLIPH.js} +3 -3
- package/dist/{chunk-LO4M5D7T.js → chunk-ZUME25DS.js} +3 -3
- package/dist/data-display/Alert.js +3 -3
- package/dist/data-display/Badge.js +7 -7
- package/dist/data-display/Banner.js +3 -3
- package/dist/data-display/CardKit.js +6 -6
- package/dist/data-display/Carousel.js +5 -5
- package/dist/data-display/Chart.js +11 -11
- package/dist/data-display/Chip.js +3 -3
- package/dist/data-display/DataGrid.js +3 -15
- package/dist/data-display/DataViews.js +62 -66
- package/dist/data-display/DescriptionItem.js +6 -6
- package/dist/data-display/FleetMap.js +13 -13
- package/dist/data-display/HoverCard.js +2 -2
- package/dist/data-display/LazyImage.js +1 -1
- package/dist/data-display/Lightbox.js +7 -7
- package/dist/data-display/MapPreview.js +6 -6
- package/dist/data-display/Progress.js +6 -6
- package/dist/data-display/Sheet.js +5 -5
- package/dist/data-display/Table.js +3 -14
- package/dist/feedback/ConfirmAction.js +3 -3
- package/dist/feedback/Dialog.js +3 -3
- package/dist/feedback/NotificationStatusNotice.js +5 -5
- package/dist/feedback/StackedModal.js +2 -2
- package/dist/form/AddressAutocomplete.js +6 -6
- package/dist/form/Autocomplete.js +1 -1
- package/dist/form/Button.js +3 -3
- package/dist/form/CategorySelect.js +5 -5
- package/dist/form/CepField.js +1 -1
- package/dist/form/Command.js +7 -7
- package/dist/form/CreatableSelect.js +1 -1
- package/dist/form/DateRangePicker.js +6 -6
- package/dist/form/Input.js +1 -1
- package/dist/form/InputOTP.js +1 -1
- package/dist/form/Label.js +5 -5
- package/dist/form/MenuSelect.js +1 -1
- package/dist/form/Menubar.js +5 -5
- package/dist/form/NumberField.js +1 -1
- package/dist/form/PhoneInput.js +1 -1
- package/dist/form/RadioGroup.js +1 -1
- package/dist/form/Select.js +1 -1
- package/dist/form/Switch.js +3 -3
- 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 +12 -12
- package/dist/icons.js +8 -8
- package/dist/layout/Box.js +8 -8
- package/dist/layout/Card.js +2 -2
- package/dist/layout/ContentToolbar.js +4 -4
- package/dist/layout/ScrollArea.js +2 -2
- package/dist/layout/SettingCard.js +18 -18
- package/dist/layout/Stack.js +9 -9
- package/dist/layout/TableFilter.js +1 -1
- package/dist/navigation/AppHeader.js +9 -9
- package/dist/navigation/NavigationMenu.js +4 -4
- package/dist/navigation/Pagination.js +3 -3
- package/dist/navigation/SectionNav.js +15 -13
- package/dist/navigation/Tabs.js +1 -1
- package/dist/provider.js +8 -8
- package/dist/social-login-button.js +11 -11
- package/dist/tokens.js +19 -19
- package/dist/types/components/data-display/DataGrid/DataGrid.model.d.ts +3 -13
- package/dist/types/components/data-display/DataGrid/DataGrid.model.d.ts.map +1 -1
- package/dist/types/components/data-display/DataGrid/DataGrid.types.d.ts +6 -0
- package/dist/types/components/data-display/DataGrid/DataGrid.types.d.ts.map +1 -1
- package/dist/types/components/data-display/DataViews/data-views-layout-context.d.ts +0 -12
- package/dist/types/components/data-display/DataViews/data-views-layout-context.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.helpers.d.ts +15 -7
- package/dist/types/components/data-display/Table/Table.helpers.d.ts.map +1 -1
- package/dist/types/components/data-display/Table/Table.types.d.ts +4 -1
- package/dist/types/components/data-display/Table/Table.types.d.ts.map +1 -1
- package/dist/types/components/navigation/SectionNav/SectionNav.bar.d.ts.map +1 -1
- package/dist/types/components/navigation/SectionNav/SectionNav.rail.d.ts +3 -2
- package/dist/types/components/navigation/SectionNav/SectionNav.rail.d.ts.map +1 -1
- package/dist/types/components/navigation/SectionNav/SectionNav.railCreate.d.ts +24 -0
- package/dist/types/components/navigation/SectionNav/SectionNav.railCreate.d.ts.map +1 -0
- package/dist/types/components/navigation/SectionNav/SectionNav.types.d.ts +6 -5
- package/dist/types/components/navigation/SectionNav/SectionNav.types.d.ts.map +1 -1
- package/dist/types/tokens/density.d.ts +9 -3
- package/dist/types/tokens/density.d.ts.map +1 -1
- package/dist/typography/Heading.js +6 -6
- package/dist/typography/Text.js +5 -5
- package/dist/user-avatar.js +8 -8
- package/dist/utility/WorkflowStep.js +5 -5
- package/package.json +1 -1
- package/src/components/data-display/DataGrid/DataGrid.md +12 -1
- package/src/components/data-display/DataGrid/DataGrid.model.ts +7 -22
- package/src/components/data-display/DataGrid/DataGrid.types.ts +7 -1
- package/src/components/data-display/DataViews/data-views-layout-context.tsx +13 -20
- package/src/components/data-display/Table/Table.helpers.ts +23 -16
- package/src/components/data-display/Table/Table.md +11 -0
- package/src/components/data-display/Table/Table.tsx +2 -3
- package/src/components/data-display/Table/Table.types.ts +4 -1
- package/src/components/navigation/SectionNav/SectionNav.bar.tsx +5 -2
- package/src/components/navigation/SectionNav/SectionNav.md +7 -4
- package/src/components/navigation/SectionNav/SectionNav.rail.tsx +11 -8
- package/src/components/navigation/SectionNav/SectionNav.railCreate.tsx +148 -0
- package/src/components/navigation/SectionNav/SectionNav.types.ts +6 -5
- package/src/tokens/density.ts +9 -3
- package/dist/chunk-HKEBTPKY.js.map +0 -1
- package/dist/chunk-I2LF53MJ.js.map +0 -1
- package/dist/chunk-L3MRRAZM.js.map +0 -1
- package/dist/chunk-OWILUXWM.js.map +0 -1
- package/dist/chunk-P7YUOH2E.js.map +0 -1
- package/dist/chunk-SJ4IAZ3V.js.map +0 -1
- /package/dist/{chunk-ROSYXRNN.js.map → chunk-2OTBMU5Z.js.map} +0 -0
- /package/dist/{chunk-LPCPS5GZ.js.map → chunk-3QGMAVUF.js.map} +0 -0
- /package/dist/{chunk-D4YPZILH.js.map → chunk-46MO2WZL.js.map} +0 -0
- /package/dist/{chunk-EATBLXBP.js.map → chunk-4E4MSUY5.js.map} +0 -0
- /package/dist/{chunk-ZOUWHGV3.js.map → chunk-4MGFUPQT.js.map} +0 -0
- /package/dist/{chunk-RRG75JJS.js.map → chunk-4SHMSLFA.js.map} +0 -0
- /package/dist/{chunk-YDLJE654.js.map → chunk-4XET5MWR.js.map} +0 -0
- /package/dist/{chunk-J2SFOLGZ.js.map → chunk-4XHVGUOM.js.map} +0 -0
- /package/dist/{chunk-MKJ4FMEF.js.map → chunk-4ZTHVUXE.js.map} +0 -0
- /package/dist/{chunk-5N2UJOCT.js.map → chunk-57VL5UX7.js.map} +0 -0
- /package/dist/{chunk-HGVWYKD4.js.map → chunk-67LNVBFO.js.map} +0 -0
- /package/dist/{chunk-DJCAXJ2R.js.map → chunk-6J54X3ES.js.map} +0 -0
- /package/dist/{chunk-JMMFRTZP.js.map → chunk-6PYX6V3R.js.map} +0 -0
- /package/dist/{chunk-WL7IG7TT.js.map → chunk-6REPQ352.js.map} +0 -0
- /package/dist/{chunk-UXJUTMAY.js.map → chunk-7GQ2ZZBQ.js.map} +0 -0
- /package/dist/{chunk-GPROISHG.js.map → chunk-7TWZZD7R.js.map} +0 -0
- /package/dist/{chunk-DLO5V4AV.js.map → chunk-7XSICFOJ.js.map} +0 -0
- /package/dist/{chunk-S4ZUZ6DS.js.map → chunk-BAGLUQM3.js.map} +0 -0
- /package/dist/{chunk-YK4ZG5Y4.js.map → chunk-BE5FGUJS.js.map} +0 -0
- /package/dist/{chunk-M2GVHVE4.js.map → chunk-CJ45OL7L.js.map} +0 -0
- /package/dist/{chunk-ZR33DDTI.js.map → chunk-CTXF22BU.js.map} +0 -0
- /package/dist/{chunk-A436VORP.js.map → chunk-CVQYKXC5.js.map} +0 -0
- /package/dist/{chunk-MRWYKNBY.js.map → chunk-DFI2RKVQ.js.map} +0 -0
- /package/dist/{chunk-3U45DRNS.js.map → chunk-DI46ZEWP.js.map} +0 -0
- /package/dist/{chunk-XYHNXO6Q.js.map → chunk-DWJH3KXN.js.map} +0 -0
- /package/dist/{chunk-CDVYJB7J.js.map → chunk-E3GOREEB.js.map} +0 -0
- /package/dist/{chunk-MYCR7FMI.js.map → chunk-E6JRPGMN.js.map} +0 -0
- /package/dist/{chunk-K4BLVDYH.js.map → chunk-EIY5EYO3.js.map} +0 -0
- /package/dist/{chunk-MG3SRQ6N.js.map → chunk-EOTV5BLM.js.map} +0 -0
- /package/dist/{chunk-AY5MY7HJ.js.map → chunk-ERY6D2OV.js.map} +0 -0
- /package/dist/{chunk-MT7XMJUJ.js.map → chunk-F33YKDO2.js.map} +0 -0
- /package/dist/{chunk-TJ7NQG7E.js.map → chunk-FBUCXTA4.js.map} +0 -0
- /package/dist/{chunk-32K4DRE5.js.map → chunk-FQTTVM2A.js.map} +0 -0
- /package/dist/{chunk-4A535L3N.js.map → chunk-FRCBJLV5.js.map} +0 -0
- /package/dist/{chunk-EACVF3GX.js.map → chunk-FRP7NM6X.js.map} +0 -0
- /package/dist/{chunk-4B5WSVS7.js.map → chunk-FXZUVZON.js.map} +0 -0
- /package/dist/{chunk-UI5O6J6R.js.map → chunk-FY6PONLA.js.map} +0 -0
- /package/dist/{chunk-ABPTS3XK.js.map → chunk-G5XHAN56.js.map} +0 -0
- /package/dist/{chunk-DSHM7VN6.js.map → chunk-G6ZPQHBL.js.map} +0 -0
- /package/dist/{chunk-WLKCGWIV.js.map → chunk-GDYGT2KN.js.map} +0 -0
- /package/dist/{chunk-HI3D6H37.js.map → chunk-GJRKWDRR.js.map} +0 -0
- /package/dist/{chunk-TH7RBREI.js.map → chunk-GNHXFJRR.js.map} +0 -0
- /package/dist/{chunk-KT5BEZEK.js.map → chunk-H7SOEZHW.js.map} +0 -0
- /package/dist/{chunk-XMJ5AKDM.js.map → chunk-HCEJT65A.js.map} +0 -0
- /package/dist/{chunk-HJUR6ZY6.js.map → chunk-HCYWRH5N.js.map} +0 -0
- /package/dist/{chunk-WF4XK5AS.js.map → chunk-IWGW2E35.js.map} +0 -0
- /package/dist/{chunk-AMSNWV7V.js.map → chunk-JK7SVLE2.js.map} +0 -0
- /package/dist/{chunk-JLOMSSZD.js.map → chunk-JUHNEYCH.js.map} +0 -0
- /package/dist/{chunk-NYHZUVLC.js.map → chunk-KN3WYEH2.js.map} +0 -0
- /package/dist/{chunk-MPYIEIBA.js.map → chunk-KW3H5FUS.js.map} +0 -0
- /package/dist/{chunk-YZHX2HTC.js.map → chunk-MKLIMY3D.js.map} +0 -0
- /package/dist/{chunk-QWTPK3FT.js.map → chunk-MLDA44NW.js.map} +0 -0
- /package/dist/{chunk-HDZQIFHL.js.map → chunk-MQ277OLB.js.map} +0 -0
- /package/dist/{chunk-UDTA7YWD.js.map → chunk-NGAU6PNB.js.map} +0 -0
- /package/dist/{chunk-742Z3VD3.js.map → chunk-NKJSYZEU.js.map} +0 -0
- /package/dist/{chunk-GPTICJVN.js.map → chunk-OEBHWQSX.js.map} +0 -0
- /package/dist/{chunk-W6YR35UL.js.map → chunk-OYT7YXQL.js.map} +0 -0
- /package/dist/{chunk-RV26QUJS.js.map → chunk-OZPLAOI4.js.map} +0 -0
- /package/dist/{chunk-BSEZ33G6.js.map → chunk-P35CTP6L.js.map} +0 -0
- /package/dist/{chunk-TZASFX6G.js.map → chunk-P53KRCKW.js.map} +0 -0
- /package/dist/{chunk-6IWO7CM2.js.map → chunk-PAT2BQOQ.js.map} +0 -0
- /package/dist/{chunk-RCJOTNIW.js.map → chunk-PJVDIUT2.js.map} +0 -0
- /package/dist/{chunk-BHPLHGZP.js.map → chunk-PM7SI4YT.js.map} +0 -0
- /package/dist/{chunk-53HQNN3C.js.map → chunk-PY3RW5LC.js.map} +0 -0
- /package/dist/{chunk-XLLJU5Q7.js.map → chunk-QEINKMMX.js.map} +0 -0
- /package/dist/{chunk-5BV5DOW6.js.map → chunk-QHXMNSOZ.js.map} +0 -0
- /package/dist/{chunk-H556NMKE.js.map → chunk-QMNNADL3.js.map} +0 -0
- /package/dist/{chunk-VJBTFWDK.js.map → chunk-QQSRZUT4.js.map} +0 -0
- /package/dist/{chunk-WNKRFMSI.js.map → chunk-QWBS22F4.js.map} +0 -0
- /package/dist/{chunk-YG46LIVW.js.map → chunk-QYV7KLEN.js.map} +0 -0
- /package/dist/{chunk-ESW4Z5I7.js.map → chunk-QZY5NG5N.js.map} +0 -0
- /package/dist/{chunk-6B5NOR2U.js.map → chunk-SCCE6VWY.js.map} +0 -0
- /package/dist/{chunk-NJXDE6D3.js.map → chunk-SPZAEMGW.js.map} +0 -0
- /package/dist/{chunk-TE3XYCX7.js.map → chunk-STTULW2K.js.map} +0 -0
- /package/dist/{chunk-ZDMQDTSH.js.map → chunk-SV4FYSDL.js.map} +0 -0
- /package/dist/{chunk-FDJLYYDA.js.map → chunk-SZA44EFA.js.map} +0 -0
- /package/dist/{chunk-2VV6XZAU.js.map → chunk-TBZKUZNW.js.map} +0 -0
- /package/dist/{chunk-KOBWXZNH.js.map → chunk-UFCULHHH.js.map} +0 -0
- /package/dist/{chunk-FM5RBGG7.js.map → chunk-UHR7WIOR.js.map} +0 -0
- /package/dist/{chunk-AJ4MRDKM.js.map → chunk-UNEJ4MUR.js.map} +0 -0
- /package/dist/{chunk-VAO63IIP.js.map → chunk-UOQ4AF2N.js.map} +0 -0
- /package/dist/{chunk-FYTC4LOD.js.map → chunk-VEHMODO3.js.map} +0 -0
- /package/dist/{chunk-4BI5PCOM.js.map → chunk-VJXC7VEB.js.map} +0 -0
- /package/dist/{chunk-3VFYTZ7I.js.map → chunk-VVFASSFY.js.map} +0 -0
- /package/dist/{chunk-IVJKILIX.js.map → chunk-VZ4VAQX3.js.map} +0 -0
- /package/dist/{chunk-FR6BUKSJ.js.map → chunk-W3CGKCTR.js.map} +0 -0
- /package/dist/{chunk-N2BVJAGH.js.map → chunk-WF7BZT6V.js.map} +0 -0
- /package/dist/{chunk-OP5JR5Q5.js.map → chunk-WN5PNP6F.js.map} +0 -0
- /package/dist/{chunk-2AMYHIA7.js.map → chunk-WQRBHMP3.js.map} +0 -0
- /package/dist/{chunk-F5BYZNXY.js.map → chunk-WV62BSWA.js.map} +0 -0
- /package/dist/{chunk-C4QKXFZN.js.map → chunk-X66E5WSX.js.map} +0 -0
- /package/dist/{chunk-L3CQTVFU.js.map → chunk-XAUKQZJK.js.map} +0 -0
- /package/dist/{chunk-HF7V3RI5.js.map → chunk-XG5LPGRV.js.map} +0 -0
- /package/dist/{chunk-II7Z5UB6.js.map → chunk-XNBX3M35.js.map} +0 -0
- /package/dist/{chunk-5ZBFADBL.js.map → chunk-XSHWEUDB.js.map} +0 -0
- /package/dist/{chunk-WKB4VWKQ.js.map → chunk-XW633XLR.js.map} +0 -0
- /package/dist/{chunk-6WZUZHJM.js.map → chunk-YFODI4KT.js.map} +0 -0
- /package/dist/{chunk-PXDJQQ6X.js.map → chunk-YVRLYDYN.js.map} +0 -0
- /package/dist/{chunk-GNLNIEJD.js.map → chunk-ZTTFLIPH.js.map} +0 -0
- /package/dist/{chunk-LO4M5D7T.js.map → chunk-ZUME25DS.js.map} +0 -0
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
NOT_LIVE,
|
|
5
5
|
SlotIcon,
|
|
6
6
|
focusRing
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-CVQYKXC5.js";
|
|
8
8
|
import {
|
|
9
9
|
rem
|
|
10
10
|
} from "./chunk-YKCAJ2TN.js";
|
|
@@ -110,4 +110,4 @@ function raisedSx(theme, expanded) {
|
|
|
110
110
|
export {
|
|
111
111
|
RaisedActionButton
|
|
112
112
|
};
|
|
113
|
-
//# sourceMappingURL=chunk-
|
|
113
|
+
//# sourceMappingURL=chunk-QWBS22F4.js.map
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useDateRangePicker
|
|
3
|
+
} from "./chunk-J4Z7BOQT.js";
|
|
1
4
|
import {
|
|
2
5
|
DateRangeQuickList
|
|
3
6
|
} from "./chunk-6KKQHJE7.js";
|
|
@@ -7,9 +10,6 @@ import {
|
|
|
7
10
|
import {
|
|
8
11
|
DEFAULT_QUICK_RANGES
|
|
9
12
|
} from "./chunk-QKLSHNOH.js";
|
|
10
|
-
import {
|
|
11
|
-
useDateRangePicker
|
|
12
|
-
} from "./chunk-J4Z7BOQT.js";
|
|
13
13
|
import {
|
|
14
14
|
toLocalDay
|
|
15
15
|
} from "./chunk-FRAVVI4A.js";
|
|
@@ -181,4 +181,4 @@ export {
|
|
|
181
181
|
DateRangePicker,
|
|
182
182
|
DateRangePicker_default
|
|
183
183
|
};
|
|
184
|
-
//# sourceMappingURL=chunk-
|
|
184
|
+
//# sourceMappingURL=chunk-QYV7KLEN.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-PL2AB5HJ.js";
|
|
4
4
|
import {
|
|
5
5
|
useDataViewsLayout
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-UHX2LOT2.js";
|
|
7
7
|
|
|
8
8
|
// src/components/data-display/DataViews/data-views-scope-tabs.tsx
|
|
9
9
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -34,4 +34,4 @@ function ScopeTabsSlot({
|
|
|
34
34
|
export {
|
|
35
35
|
ScopeTabsSlot
|
|
36
36
|
};
|
|
37
|
-
//# sourceMappingURL=chunk-
|
|
37
|
+
//# sourceMappingURL=chunk-QZY5NG5N.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
FleetCanvas
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-WF7BZT6V.js";
|
|
4
4
|
import {
|
|
5
5
|
FleetRoster
|
|
6
6
|
} from "./chunk-5JCGBCFJ.js";
|
|
@@ -79,4 +79,4 @@ function FleetBody({
|
|
|
79
79
|
export {
|
|
80
80
|
FleetBody
|
|
81
81
|
};
|
|
82
|
-
//# sourceMappingURL=chunk-
|
|
82
|
+
//# sourceMappingURL=chunk-SCCE6VWY.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
|
|
5
5
|
// src/components/data-display/Table/Table.helpers.ts
|
|
6
6
|
var tableRowHeight = (rowHeight) => rowHeight ?? 52;
|
|
7
|
-
var resolveTableDensity = (explicit
|
|
7
|
+
var resolveTableDensity = (explicit) => explicit ?? "normal";
|
|
8
8
|
var scrollHeight = (theme, containerHeight) => {
|
|
9
9
|
const box = containerHeight || 400;
|
|
10
10
|
return typeof box === "number" ? rem(theme, box) : box;
|
|
@@ -94,4 +94,4 @@ export {
|
|
|
94
94
|
definedProps,
|
|
95
95
|
tableDomProps
|
|
96
96
|
};
|
|
97
|
-
//# sourceMappingURL=chunk-
|
|
97
|
+
//# sourceMappingURL=chunk-SLSED46V.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/Table/Table.helpers.ts"],"sourcesContent":["import type { TableProps as MuiTableProps } from '@mui/material/Table/index.js';\nimport type { Theme } from '@mui/material/styles/index.js';\nimport type React from 'react';\n\nimport { rem } from '../../../tokens/relative';\n\nimport type { TableDensity, TableProps } from './Table.types';\n\n/**\n * A virtualised row's height in design px: the caller's `rowHeight`, else 52.\n * Resolved here rather than in {@link TABLE_DEFAULTS} so the one number is read\n * where it is drawn (`rem`) and where the window is positioned with it (`remPx`).\n */\nexport const tableRowHeight = (rowHeight: number | undefined): number => rowHeight ?? 52;\n\n/**\n * `density`'s default (FUT-2886, reverting FUT-2769's half of this): the\n * caller's own `density` prop, else `'normal'` — never the theme's level.\n *\n * FUT-2769 defaulted this from `useDensity()`, which combined with\n * `Table.styles.ts`'s own discrete per-density row-height table\n * (`densityConfig.rowHeightPx`, already 36/52/68) to scale row height TWICE\n * under a themed density: that table picked the discrete height for the\n * theme's level, and the `rem()` it is drawn through then scaled it AGAIN by\n * the same theme's `typography.fontSize` factor — a compact theme gave\n * `36 * 0.9 = 32.4px` rows, not a clean `0.9×` of anything. A theme density\n * now scales a table's rows exactly ONCE, through `rem()`: `density` alone\n * picks the discrete row-height table, and the theme's factor is applied on\n * top of THAT by `rem()`, giving `52 * 0.9` under a compact theme rather than\n * a second discrete step.\n */\nexport const resolveTableDensity = (explicit: TableDensity | undefined): TableDensity =>\n explicit ?? 'normal';\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/**\n * The table's one scroll container (FUT-2658): `containerHeight` tall\n * whenever it is set, or 400 when `virtualScrolling` is on and it is not,\n * holding the header and the body. `containerHeight` sizes the scroller with\n * or without `virtualScrolling` (FUT-2677) — no consumer relies on the old\n * virtual-only gate, and `stickyHeader` needs this box to stick inside.\n * Inline, so the height it was given reads back off the element. A\n * `containerHeight` of 0 counts as unset: a zero-height scroller shows nothing.\n */\nexport const scrollerStyle = (theme: Theme, p: TableProps): React.CSSProperties | undefined =>\n p.virtualScrolling || p.containerHeight\n ? { height: scrollHeight(theme, p.containerHeight), overflow: 'auto' }\n : undefined;\n\n/**\n * With `stickyHeader`, the scroller takes over the rounded clip the `<table>`\n * gives up (`tableStyles`, FUT-2677) — the caller's container owns it on the\n * basic (children) path, and the loading/empty shells get it too, so their\n * corners do not change between states.\n */\nexport const scrollerRadiusStyle = (\n theme: Theme,\n stickyHeader: boolean | undefined,\n): React.CSSProperties | undefined => (stickyHeader ? { borderRadius: theme.spacing(1) } : undefined);\n\n/** `scrollerStyle` and, with `stickyHeader`, the rounded clip it takes over. */\nexport const containerStyle = (theme: Theme, p: TableProps): React.CSSProperties | undefined => {\n const scroller = scrollerStyle(theme, p);\n const radius = scrollerRadiusStyle(theme, p.stickyHeader);\n return scroller || radius ? { ...scroller, ...radius } : undefined;\n};\n\n/**\n * Only a virtualised table needs its header measured — a plain one never\n * reads `scroll.headerPx`, so it gets no `ResizeObserver` either (FUT-2678).\n */\nexport const headerRefFor = (\n windowHeight: number | undefined,\n headRef: React.RefObject<globalThis.HTMLTableSectionElement | null>,\n): React.RefObject<globalThis.HTMLTableSectionElement | null> | undefined =>\n windowHeight ? headRef : undefined;\n\n/**\n * The window's height in design px when the body is virtualised — only a\n * numeric `containerHeight` virtualises; a string sizes the scroller alone.\n */\nexport const virtualHeight = (p: TableProps): number | undefined =>\n p.virtualScrolling && typeof p.containerHeight === 'number' && p.containerHeight > 0 &&\n tableRowHeight(p.rowHeight) > 0\n ? p.containerHeight\n : undefined;\n\n// `density` is NOT here (kept in `resolveTableDensity` instead, FUT-2886):\n// this object's OTHER defaults are read at the module level, before any\n// props exist, while `density`'s default is `explicit ?? 'normal'` — a\n// two-argument fallback that reads just as well next to `Table.tsx`'s own\n// assignment as it would spread from here. No theme read is involved any\n// more (FUT-2769's `useDensity()` default was reverted): a table's own\n// discrete density is always `'normal'` unless the caller says otherwise.\nexport const TABLE_DEFAULTS: Partial<TableProps> = {\n variant: 'default',\n stripeColor: 'neutral',\n glow: false,\n pulse: false,\n hoverable: false,\n loading: false,\n stickyHeader: false,\n selectable: false,\n selectedRows: [],\n sortable: false,\n virtualScrolling: false,\n overscan: 5,\n responsive: false,\n showColumnToggle: true,\n};\n\n// Strips explicitly-undefined props before the merge, so `prop={undefined}` still\n// falls back to the default as a destructuring default would. Eighteen separate\n// destructuring defaults were most of this component's branch count.\nexport const definedProps = (props: TableProps): Partial<TableProps> =>\n Object.fromEntries(\n Object.entries(props).filter(([, value]) => value !== undefined),\n ) as Partial<TableProps>;\n\n// The container + styled table + optional header, shared by the loading, empty\n// and populated renders.\n\n/** A key `Table` declares on top of MUI's own `TableProps`. */\ntype TableOwnKey = Exclude<keyof TableProps, keyof MuiTableProps>;\n\n/**\n * Every key {@link TableOwnKey} names. None is an HTML attribute: each is read\n * by the table and drawn by its parts, so none may reach the `<table>`\n * (FUT-2658). A `Record` over the key union makes the list exhaustive — a prop\n * added to `Table.types.ts` does not compile until it is named here.\n */\nconst TABLE_OWN_KEYS: Record<TableOwnKey, true> = {\n emptyText: true,\n variant: true,\n stripeColor: true,\n glow: true,\n pulse: true,\n hoverable: true,\n loading: true,\n onRowClick: true,\n onRowFocus: true,\n onRowBlur: true,\n density: true,\n selectable: true,\n selectedRows: true,\n onSelectionChange: true,\n rowKeyExtractor: true,\n sortable: true,\n sortConfig: true,\n onSortChange: true,\n filterable: true,\n filterConfig: true,\n onFilterChange: true,\n columns: true,\n data: true,\n virtualScrolling: true,\n rowHeight: true,\n overscan: true,\n responsive: true,\n columnPriorities: true,\n responsiveBreakpoints: true,\n showColumnToggle: true,\n containerHeight: true,\n loadingComponent: true,\n emptyStateComponent: true,\n keyboardNavigation: true,\n renderRow: true,\n renderCell: true,\n draggableRows: true,\n onRowsReorder: true,\n fixedColumns: true,\n rowStyleConfig: true,\n};\n\nconst NOT_FORWARDED = new Set<string>([...Object.keys(TABLE_OWN_KEYS), 'children']);\n\n/**\n * What the caller passed that is MUI's or the DOM's — `className`, `id`,\n * `style`, `aria-*`, `data-*`, DOM handlers, `sx`, `size`, `padding`,\n * `component` — for `MuiTable` to spread onto the `<table>`. `children` is\n * placed by the table itself.\n */\nexport const tableDomProps = (props: TableProps): Record<string, unknown> =>\n Object.fromEntries(Object.entries(props).filter(([key]) => !NOT_FORWARDED.has(key)));\n"],"mappings":";;;;;AAaO,IAAM,iBAAiB,CAAC,cAA0C,aAAa;AAkB/E,IAAM,sBAAsB,CAAC,aAClC,YAAY;AAGd,IAAM,eAAe,CAAC,OAAc,oBAAyD;AAC3F,QAAM,MAAM,mBAAmB;AAC/B,SAAO,OAAO,QAAQ,WAAW,IAAI,OAAO,GAAG,IAAI;AACrD;AAWO,IAAM,gBAAgB,CAAC,OAAc,MAC1C,EAAE,oBAAoB,EAAE,kBACpB,EAAE,QAAQ,aAAa,OAAO,EAAE,eAAe,GAAG,UAAU,OAAO,IACnE;AAQC,IAAM,sBAAsB,CACjC,OACA,iBACqC,eAAe,EAAE,cAAc,MAAM,QAAQ,CAAC,EAAE,IAAI;AAGpF,IAAM,iBAAiB,CAAC,OAAc,MAAmD;AAC9F,QAAM,WAAW,cAAc,OAAO,CAAC;AACvC,QAAM,SAAS,oBAAoB,OAAO,EAAE,YAAY;AACxD,SAAO,YAAY,SAAS,EAAE,GAAG,UAAU,GAAG,OAAO,IAAI;AAC3D;AAMO,IAAM,eAAe,CAC1B,cACA,YAEA,eAAe,UAAU;AAMpB,IAAM,gBAAgB,CAAC,MAC5B,EAAE,oBAAoB,OAAO,EAAE,oBAAoB,YAAY,EAAE,kBAAkB,KACnF,eAAe,EAAE,SAAS,IAAI,IAC1B,EAAE,kBACF;AASC,IAAM,iBAAsC;AAAA,EACjD,SAAS;AAAA,EACT,aAAa;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,EACP,WAAW;AAAA,EACX,SAAS;AAAA,EACT,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,cAAc,CAAC;AAAA,EACf,UAAU;AAAA,EACV,kBAAkB;AAAA,EAClB,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,kBAAkB;AACpB;AAKO,IAAM,eAAe,CAAC,UAC3B,OAAO;AAAA,EACL,OAAO,QAAQ,KAAK,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,MAAM,UAAU,MAAS;AACjE;AAcF,IAAM,iBAA4C;AAAA,EAChD,WAAW;AAAA,EACX,SAAS;AAAA,EACT,aAAa;AAAA,EACb,MAAM;AAAA,EACN,OAAO;AAAA,EACP,WAAW;AAAA,EACX,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,SAAS;AAAA,EACT,MAAM;AAAA,EACN,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,uBAAuB;AAAA,EACvB,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,eAAe;AAAA,EACf,cAAc;AAAA,EACd,gBAAgB;AAClB;AAEA,IAAM,gBAAgB,oBAAI,IAAY,CAAC,GAAG,OAAO,KAAK,cAAc,GAAG,UAAU,CAAC;AAQ3E,IAAM,gBAAgB,CAAC,UAC5B,OAAO,YAAY,OAAO,QAAQ,KAAK,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,cAAc,IAAI,GAAG,CAAC,CAAC;","names":[]}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveLightboxProps
|
|
3
3
|
} from "./chunk-UOS7DEQZ.js";
|
|
4
|
+
import {
|
|
5
|
+
useLightbox
|
|
6
|
+
} from "./chunk-HJPPNVCF.js";
|
|
4
7
|
import {
|
|
5
8
|
LightboxThumbnails
|
|
6
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-SV4FYSDL.js";
|
|
7
10
|
import {
|
|
8
11
|
LightboxStage
|
|
9
12
|
} from "./chunk-N2GEKC4J.js";
|
|
10
13
|
import {
|
|
11
14
|
LightboxOverlay
|
|
12
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-VZ4VAQX3.js";
|
|
13
16
|
import {
|
|
14
17
|
LightboxCurrentMedia
|
|
15
18
|
} from "./chunk-RBGUS7WO.js";
|
|
16
|
-
import {
|
|
17
|
-
LightboxCopyProvider
|
|
18
|
-
} from "./chunk-TEQYTEM2.js";
|
|
19
|
-
import {
|
|
20
|
-
useLightbox
|
|
21
|
-
} from "./chunk-HJPPNVCF.js";
|
|
22
19
|
import {
|
|
23
20
|
makeTestId
|
|
24
21
|
} from "./chunk-3KA6MYIR.js";
|
|
22
|
+
import {
|
|
23
|
+
LightboxCopyProvider
|
|
24
|
+
} from "./chunk-TEQYTEM2.js";
|
|
25
25
|
import {
|
|
26
26
|
scrim
|
|
27
27
|
} from "./chunk-FQ6UW7IY.js";
|
|
@@ -148,4 +148,4 @@ export {
|
|
|
148
148
|
Lightbox,
|
|
149
149
|
Lightbox_default
|
|
150
150
|
};
|
|
151
|
-
//# sourceMappingURL=chunk-
|
|
151
|
+
//# sourceMappingURL=chunk-SPZAEMGW.js.map
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
getColorFromTheme,
|
|
6
6
|
getSizeStyles,
|
|
7
7
|
pulseAnimation
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-6REPQ352.js";
|
|
9
9
|
import {
|
|
10
10
|
progressLabelText,
|
|
11
11
|
resolveProgressProps
|
|
@@ -243,4 +243,4 @@ Progress.displayName = "Progress";
|
|
|
243
243
|
export {
|
|
244
244
|
Progress
|
|
245
245
|
};
|
|
246
|
-
//# sourceMappingURL=chunk-
|
|
246
|
+
//# sourceMappingURL=chunk-STTULW2K.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
useLightboxCopy
|
|
3
|
-
} from "./chunk-TEQYTEM2.js";
|
|
4
1
|
import {
|
|
5
2
|
thumbnailStripSx
|
|
6
3
|
} from "./chunk-3KA6MYIR.js";
|
|
4
|
+
import {
|
|
5
|
+
useLightboxCopy
|
|
6
|
+
} from "./chunk-TEQYTEM2.js";
|
|
7
7
|
import {
|
|
8
8
|
onMedia,
|
|
9
9
|
sheen
|
|
@@ -89,4 +89,4 @@ var LightboxThumbnails = ({
|
|
|
89
89
|
export {
|
|
90
90
|
LightboxThumbnails
|
|
91
91
|
};
|
|
92
|
-
//# sourceMappingURL=chunk-
|
|
92
|
+
//# sourceMappingURL=chunk-SV4FYSDL.js.map
|
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
metaShape,
|
|
9
9
|
rowStyles,
|
|
10
10
|
useRowShell
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-PM7SI4YT.js";
|
|
12
12
|
import {
|
|
13
13
|
ListCardActions,
|
|
14
14
|
ListCardCaption,
|
|
15
15
|
ListCardMeta,
|
|
16
16
|
ListCardTail
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-GNHXFJRR.js";
|
|
18
18
|
import {
|
|
19
19
|
useDisclosure
|
|
20
20
|
} from "./chunk-2JCRNWHE.js";
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
} from "./chunk-K4EKTMTC.js";
|
|
24
24
|
import {
|
|
25
25
|
cellRailsTemplate
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-XSHWEUDB.js";
|
|
27
27
|
import {
|
|
28
28
|
ListCardCells,
|
|
29
29
|
cellTracks,
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
} from "./chunk-6DPAWXZ3.js";
|
|
35
35
|
import {
|
|
36
36
|
Card
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-WN5PNP6F.js";
|
|
38
38
|
|
|
39
39
|
// src/components/data-display/DataViews/base-list-card.tsx
|
|
40
40
|
import Collapse from "@mui/material/Collapse/index.js";
|
|
@@ -179,4 +179,4 @@ function BaseListCard(props) {
|
|
|
179
179
|
export {
|
|
180
180
|
BaseListCard
|
|
181
181
|
};
|
|
182
|
-
//# sourceMappingURL=chunk-
|
|
182
|
+
//# sourceMappingURL=chunk-SZA44EFA.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
PillControl
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4XET5MWR.js";
|
|
4
4
|
import {
|
|
5
5
|
PanelRangeField
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2OTBMU5Z.js";
|
|
7
7
|
import {
|
|
8
8
|
useDataViewsCopy
|
|
9
9
|
} from "./chunk-KHG57NAE.js";
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
} from "./chunk-DDJXV6EB.js";
|
|
13
13
|
import {
|
|
14
14
|
StackedModal
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-3QGMAVUF.js";
|
|
16
16
|
import {
|
|
17
17
|
StackedModalContent
|
|
18
18
|
} from "./chunk-RJVUECN7.js";
|
|
@@ -157,4 +157,4 @@ export {
|
|
|
157
157
|
GridFilterPanel,
|
|
158
158
|
FilterDialog
|
|
159
159
|
};
|
|
160
|
-
//# sourceMappingURL=chunk-
|
|
160
|
+
//# sourceMappingURL=chunk-TBZKUZNW.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderChartByType
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-H7SOEZHW.js";
|
|
4
4
|
import {
|
|
5
5
|
ChartContainer
|
|
6
6
|
} from "./chunk-RIRTW5EU.js";
|
|
@@ -111,4 +111,4 @@ var Chart = (props) => {
|
|
|
111
111
|
export {
|
|
112
112
|
Chart
|
|
113
113
|
};
|
|
114
|
-
//# sourceMappingURL=chunk-
|
|
114
|
+
//# sourceMappingURL=chunk-UFCULHHH.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-4GGH6ZQ7.js";
|
|
4
4
|
import {
|
|
5
5
|
Box
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-VJXC7VEB.js";
|
|
7
7
|
|
|
8
8
|
// src/components/layout/Stack/Stack.tsx
|
|
9
9
|
import * as React from "react";
|
|
@@ -16,4 +16,4 @@ Stack.displayName = "Stack";
|
|
|
16
16
|
export {
|
|
17
17
|
Stack
|
|
18
18
|
};
|
|
19
|
-
//# sourceMappingURL=chunk-
|
|
19
|
+
//# sourceMappingURL=chunk-UHR7WIOR.js.map
|
|
@@ -10,9 +10,6 @@ import {
|
|
|
10
10
|
import {
|
|
11
11
|
default as default2
|
|
12
12
|
} from "./chunk-6DPAWXZ3.js";
|
|
13
|
-
import {
|
|
14
|
-
useDensity
|
|
15
|
-
} from "./chunk-SJ4IAZ3V.js";
|
|
16
13
|
import {
|
|
17
14
|
sxRem
|
|
18
15
|
} from "./chunk-YKCAJ2TN.js";
|
|
@@ -58,11 +55,7 @@ function isLayout(value) {
|
|
|
58
55
|
function isDensity(value) {
|
|
59
56
|
return DENSITIES.includes(value);
|
|
60
57
|
}
|
|
61
|
-
|
|
62
|
-
if (level === "compact") return "compact";
|
|
63
|
-
if (level === "comfortable") return "comfortable";
|
|
64
|
-
return "cozy";
|
|
65
|
-
}
|
|
58
|
+
var DEFAULT_DENSITY = "cozy";
|
|
66
59
|
function readStoredDensity() {
|
|
67
60
|
try {
|
|
68
61
|
if (typeof window === "undefined") return void 0;
|
|
@@ -104,7 +97,6 @@ function DataViewsLayoutProvider({
|
|
|
104
97
|
children
|
|
105
98
|
}) {
|
|
106
99
|
const availability = { canUseCards, canUseList, canUseBoard };
|
|
107
|
-
const themeDensity = useDensity();
|
|
108
100
|
const [layout, setLayoutState] = useState(
|
|
109
101
|
() => pinLayout(
|
|
110
102
|
viewLayout ?? (ignoreStoredLayout ? void 0 : readStoredLayout()) ?? defaultLayout,
|
|
@@ -112,7 +104,7 @@ function DataViewsLayoutProvider({
|
|
|
112
104
|
)
|
|
113
105
|
);
|
|
114
106
|
const [density, setDensityState] = useState(
|
|
115
|
-
() => (ignoreStoredLayout ? void 0 : readStoredDensity()) ??
|
|
107
|
+
() => (ignoreStoredLayout ? void 0 : readStoredDensity()) ?? DEFAULT_DENSITY
|
|
116
108
|
);
|
|
117
109
|
const [zoom, setZoom] = useState(DEFAULT_ZOOM);
|
|
118
110
|
useEffect(() => {
|
|
@@ -191,9 +183,8 @@ export {
|
|
|
191
183
|
DENSITY_BOARD_SCALE,
|
|
192
184
|
cardScaleForZoom,
|
|
193
185
|
cardMinWidthForZoom,
|
|
194
|
-
mapThemeToDataViewsDensity,
|
|
195
186
|
DataViewsLayoutProvider,
|
|
196
187
|
useDataViewsLayout,
|
|
197
188
|
DataViewsZoomSlider
|
|
198
189
|
};
|
|
199
|
-
//# sourceMappingURL=chunk-
|
|
190
|
+
//# sourceMappingURL=chunk-UHX2LOT2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/DataViews/data-views-layout-context.tsx"],"sourcesContent":["\"use client\";\n\nimport { createContext, useContext, useEffect, useMemo, useState, type ReactNode } from \"react\";\n\nimport GridViewOutlinedIcon from \"@mui/icons-material/GridViewOutlined\";\n\nimport { Slider } from \"../../form/Slider\";\nimport { Box } from \"../../../mui/Box\";\nimport { sxRem } from \"../../../tokens/relative\";\n\nimport { useDataViewsCopy } from \"./data-views-copy-context\";\nimport { DATA_VIEWS_LAYOUTS, type DataViewsLayout } from \"./data-views-types\";\n\n/**\n * The DataViews layout (view type): the dense \"Tabela\" grid, the \"Grade\" of\n * cards, the \"Lista\" of full-width rows, or the \"Quadro\" board of state columns.\n * Shared across the toolbar (the toggle) and the body (the selector) via context\n * so a single source of truth drives what renders — each layout only appears\n * when the table opts into it (`renderCard` for the grade, `renderListRow` for\n * the lista, `board` + `renderCard` for the quadro).\n */\nexport type { DataViewsLayout };\n\ninterface DataViewsLayoutValue {\n layout: DataViewsLayout;\n setLayout: (layout: DataViewsLayout) => void;\n /** How much air each record gets — see {@link DataViewsDensity}. */\n density: DataViewsDensity;\n setDensity: (density: DataViewsDensity) => void;\n /** Whether the cards layout is available (a `renderCard` was supplied). */\n canUseCards: boolean;\n /** Whether the list layout is available (a `renderListRow` was supplied). */\n canUseList: boolean;\n /** Whether the board layout is available (a `board` config AND a `renderCard`). */\n canUseBoard: boolean;\n /** Card-size zoom (0–100); drives the card grid's min column width. */\n zoom: number;\n setZoom: (zoom: number) => void;\n}\n\nconst DataViewsLayoutContext = createContext<DataViewsLayoutValue | null>(null);\n\n/** Default card zoom (0–100). */\nconst DEFAULT_ZOOM = 35;\n/** The size multiplier the zoom slider spans (0.75× to 2×). */\nconst CARD_SCALE_RANGE = { min: 0.75, max: 2 } as const;\n\n/**\n * Where the user's layout preference is remembered. ONE key for every DataViews\n * table in the app, on purpose: picking \"Grade\" on Produtos is a statement about\n * how this operator likes to read lists, not about that one screen. Every other\n * screen that CAN render cards then opens in cards, and one that cannot falls\n * back without forgetting the preference.\n */\nconst LAYOUT_STORAGE_KEY = \"dataviews:layout\";\n\n/**\n * The density preference, remembered app-wide for the same reason as the layout:\n * an operator who wants tight rows wants them on every list, not on one.\n */\nconst DENSITY_STORAGE_KEY = \"dataviews:density\";\n\n/**\n * How much room each record gets. It means different things per layout, and\n * that is the point — one control, phrased in the terms of what is on screen:\n *\n * - table / list → row height (\"Baixa / Média / Alta\")\n * - cards → how many fit per row (\"Muitos / Médio / Poucos\")\n *\n * The board is unaffected: its cards are already sized by the zoom slider.\n */\nexport type DataViewsDensity = \"compact\" | \"cozy\" | \"comfortable\";\n\n/** Every density this build knows — the guard's single source. */\nconst DENSITIES: readonly DataViewsDensity[] = [\"compact\", \"cozy\", \"comfortable\"];\n\n/** Vertical padding (theme spacing units) per density, for a table or list row. */\nexport const DENSITY_ROW_PADDING: Record<DataViewsDensity, number> = {\n compact: 0.25,\n cozy: 0.75,\n comfortable: 1.5,\n};\n\n/**\n * The card WIDTH each density aims for, as a multiple of the base card width.\n *\n * Density used to cap the column COUNT, with a track floor of\n * `max(baseWidth, 100% / count)`. That base is a constant, so wherever it won\n * the arithmetic every density produced an identical track — \"Muitos\" and\n * \"Medio\" both drew 3 cards of 279px at md — and where the percentage won\n * instead, on a wide screen, the count was pinned and each card grew to a share\n * of the viewport: ~430px of card holding one chip and two lines of text.\n *\n * One width per density fixes both, because the number `auto-fill` divides by\n * now differs per density at every size. The spread is chosen so the three land\n * on DIFFERENT column counts across the range rather than by eye — 4/3/2 at md,\n * 6/4/3 at lg, 7/5/4 at xl, 13/9/8 at 2560.\n */\nexport const DENSITY_CARD_SCALE: Record<DataViewsDensity, number> = {\n compact: 0.84,\n cozy: 1.15,\n comfortable: 1.4,\n};\n\n/** The width a card aims for, in design px: the base width, scaled by zoom, then by density. */\nexport function cardTargetWidthFor(zoom: number, density: DataViewsDensity): number {\n return Math.round(cardMinWidthForZoom(zoom) * DENSITY_CARD_SCALE[density]);\n}\n\n/**\n * The BOARD's column-width multiplier per density.\n *\n * Density means \"how much air a record gets\", and on a board that is the column\n * width — narrow columns fit more etapas on screen, wide ones give each card\n * room to be read. Without this the board was the one layout the Exibição tab\n * offered nothing for: the format tile switched to Quadro and the whole density\n * section vanished, which reads as a control that broke rather than one that\n * does not apply.\n *\n * The spread is deliberately narrower than the card grid's. A board column has\n * a hard floor (`MIN_COLUMN_WIDTH` — a card below it stops being readable), so\n * a multiplier that undershoots it buys nothing and makes \"Estreita\" a tile\n * that does nothing on a phone.\n */\nexport const DENSITY_BOARD_SCALE: Record<DataViewsDensity, number> = {\n compact: 0.95,\n cozy: 1,\n comfortable: 1.25,\n};\n\n/**\n * Map the 0–100 zoom to the card SIZE multiplier. This is the single knob: the\n * card's width is its 180 design px × scale and its padding + typography\n * scale by the same factor, so the whole card grows together (scale 2 → twice\n * the size, proportion preserved by the aspect ratio). Passed to a card via\n * `DataViewCardSelection.scale`.\n */\nexport function cardScaleForZoom(zoom: number): number {\n const clamped = Math.max(0, Math.min(100, zoom));\n return CARD_SCALE_RANGE.min + (clamped / 100) * (CARD_SCALE_RANGE.max - CARD_SCALE_RANGE.min);\n}\n\n/**\n * The card grid's min column width in DESIGN px: the card's width at scale 1 —\n * 180 — times the zoom size multiplier. Drawn through `rem` where the track is\n * built (`cardGridTracks`), so it scales with the theme's type scale.\n */\nexport function cardMinWidthForZoom(zoom: number): number {\n return Math.round(180 * cardScaleForZoom(zoom));\n}\n\n/** Which layouts this table can actually render. */\ninterface LayoutAvailability {\n canUseCards: boolean;\n canUseList: boolean;\n canUseBoard: boolean;\n}\n\n/** Is this a layout string this build knows? Guards whatever is in storage. */\nfunction isLayout(value: unknown): value is DataViewsLayout {\n return DATA_VIEWS_LAYOUTS.includes(value as DataViewsLayout);\n}\n\n/** Is this a density this build knows? Guards whatever is in storage. */\nfunction isDensity(value: unknown): value is DataViewsDensity {\n return DENSITIES.includes(value as DataViewsDensity);\n}\n\n/**\n * `density`'s default with nothing stored and nothing passed (FUT-2886,\n * reverting FUT-2769's own half of this): always `'cozy'` — today's literal,\n * unchanged — never sourced from `useDensity()`. FUT-2769 aliased the theme's\n * level to this density through `mapThemeToDataViewsDensity`, which — like\n * `Table`'s own theme default — made a theme scale a DataViews table's row\n * height twice: once by picking a DIFFERENT discrete density, and again\n * through the `rem()` that density's own row height is drawn with. A theme\n * density now scales a DataViews table's rows exactly ONCE, through `rem()`;\n * the STORED per-viewer preference still wins over this default, unchanged\n * from today (below).\n */\nconst DEFAULT_DENSITY: DataViewsDensity = 'cozy';\n\n/** The remembered density, or undefined (no window, no value, junk). */\nfunction readStoredDensity(): DataViewsDensity | undefined {\n try {\n if (typeof window === \"undefined\") return undefined;\n const stored = window.localStorage.getItem(DENSITY_STORAGE_KEY);\n return isDensity(stored) ? stored : undefined;\n } catch {\n return undefined;\n }\n}\n\n/**\n * Pin a layout to one this table can render. \"Tabela\" is always available, so it\n * is the floor: a page with no `renderCard` never renders a cards body, one with\n * no `renderListRow` never renders a list, and one with no `board` config never\n * renders a board — whatever is stored, saved in a view, or requested.\n */\nfunction pinLayout(layout: DataViewsLayout, available: LayoutAvailability): DataViewsLayout {\n if (layout === \"cards\") return available.canUseCards ? \"cards\" : \"table\";\n if (layout === \"list\") return available.canUseList ? \"list\" : \"table\";\n if (layout === \"board\") return available.canUseBoard ? \"board\" : \"table\";\n return \"table\";\n}\n\n/** The stored cross-screen preference, or undefined (no window, no value, junk). */\nfunction readStoredLayout(): DataViewsLayout | undefined {\n // Guarded rather than assumed: this module is also imported in Node (tests,\n // any SSR host), and a `localStorage` access can throw outright under a\n // restrictive privacy setting — a thrown read must not take the grid with it.\n try {\n if (typeof window === \"undefined\") return undefined;\n const stored = window.localStorage.getItem(LAYOUT_STORAGE_KEY);\n return isLayout(stored) ? stored : undefined;\n } catch {\n return undefined;\n }\n}\n\n/** Remember a preference for every other screen. A failed write is not an error. */\nfunction writeStored(key: string, value: string): void {\n try {\n if (typeof window === \"undefined\") return;\n window.localStorage.setItem(key, value);\n } catch {\n // Private mode / quota / disabled storage: the preference simply does not\n // survive the session. Nothing about the current view depends on it.\n }\n}\n\ninterface LayoutProviderProps extends Partial<LayoutAvailability> {\n /** Which layout to show first when the user has expressed no preference. */\n defaultLayout?: DataViewsLayout;\n /**\n * The layout an APPLIED SAVED VIEW pins, when it stored one. It wins over the\n * remembered preference for as long as that view is applied — the view is a\n * snapshot someone chose to keep — but it does NOT overwrite the preference:\n * only the toggle does that, because only the toggle is the user saying so.\n */\n viewLayout?: DataViewsLayout;\n /**\n * Ignore — and stop writing — the remembered cross-screen preference, making\n * `defaultLayout` authoritative for this table.\n *\n * For a table that exists to SHOW a particular layout rather than to be\n * browsed: a Storybook story called \"Board\", a docs example, a screenshot\n * harness. Without it the remembered preference wins, so opening \"Board\"\n * after having clicked Tabela anywhere renders a table — the demonstration\n * silently showing the wrong thing, and a shared link doing it for everyone\n * whose preference differs.\n *\n * A real screen leaves this off: remembering how someone likes to read\n * lists is the point.\n */\n ignoreStoredLayout?: boolean;\n children: ReactNode;\n}\n\n/**\n * Provides the view-type state, seeded from (in order) the applied saved view's\n * layout, the user's remembered cross-screen preference, then `defaultLayout` —\n * each pinned to what this table can actually render.\n */\nexport function DataViewsLayoutProvider({\n canUseCards = false,\n canUseList = false,\n canUseBoard = false,\n defaultLayout = \"table\",\n viewLayout,\n ignoreStoredLayout = false,\n children,\n}: LayoutProviderProps): React.JSX.Element {\n const availability = { canUseCards, canUseList, canUseBoard };\n const [layout, setLayoutState] = useState<DataViewsLayout>(() =>\n pinLayout(\n viewLayout ?? (ignoreStoredLayout ? undefined : readStoredLayout()) ?? defaultLayout,\n availability,\n ),\n );\n // `DEFAULT_DENSITY` ('cozy'), never the theme (FUT-2886 — see that\n // constant's own doc comment): the stored per-viewer preference still wins.\n const [density, setDensityState] = useState<DataViewsDensity>(\n () => (ignoreStoredLayout ? undefined : readStoredDensity()) ?? DEFAULT_DENSITY,\n );\n const [zoom, setZoom] = useState(DEFAULT_ZOOM);\n // A newly applied view carrying a layout switches to it (its reference-change\n // is the signal, exactly as `appliedState` works for the filters).\n useEffect(() => {\n if (viewLayout) setLayoutState(pinLayout(viewLayout, availability));\n // Availability is derived from props that do not change for a mounted table.\n }, [viewLayout]);\n // Pin again on read: `canUseCards`/`canUseBoard` can flip for a mounted table\n // (a page that supplies `renderCard` only once its card data has loaded), and\n // a stale \"cards\" would otherwise render a cards body with no renderer.\n const effective = pinLayout(layout, availability);\n\n const value = useMemo<DataViewsLayoutValue>(\n () => ({\n layout: effective,\n setLayout: (next: DataViewsLayout) => {\n const pinned = pinLayout(next, availability);\n setLayoutState(pinned);\n // Remember the user's own choice across every screen — see LAYOUT_STORAGE_KEY.\n // A table pinned to a layout does not write: it would teach the\n // preference a value the operator never chose.\n if (!ignoreStoredLayout) writeStored(LAYOUT_STORAGE_KEY, pinned);\n },\n density,\n setDensity: (next: DataViewsDensity) => {\n setDensityState(next);\n if (!ignoreStoredLayout) writeStored(DENSITY_STORAGE_KEY, next);\n },\n canUseCards,\n canUseList,\n canUseBoard,\n zoom,\n setZoom,\n }),\n [effective, density, canUseCards, canUseList, canUseBoard, zoom],\n );\n return <DataViewsLayoutContext.Provider value={value}>{children}</DataViewsLayoutContext.Provider>;\n}\n\n/** Read the current DataViews layout. Throws outside a provider. */\nexport function useDataViewsLayout(): DataViewsLayoutValue {\n const ctx = useContext(DataViewsLayoutContext);\n if (!ctx) {\n throw new Error(\"useDataViewsLayout must be used within a DataViewsLayoutProvider\");\n }\n return ctx;\n}\n\n/**\n * Card-size slider for the toolbar — shown in the CARD-BASED layouts (\"Grade\"\n * and \"Quadro\"), mirroring the tabwoah view-selector's zoom. The board reuses\n * the same `renderCard`, so the same knob scales both.\n *\n * Deliberately ABSENT in \"Lista\" and \"Tabela\" (FUT-733): a list row is\n * full-width and sized by its content, so a card-size multiplier has nothing to\n * act on — a slider that moved and changed nothing would be worse than none.\n */\nexport function DataViewsZoomSlider({ testIdPrefix }: { testIdPrefix: string }): React.JSX.Element | null {\n const { layout, zoom, setZoom } = useDataViewsLayout();\n const copy = useDataViewsCopy();\n if (layout !== \"cards\" && layout !== \"board\") return null;\n return (\n <Box\n sx={{\n display: { xs: \"none\", sm: \"flex\" },\n alignItems: \"center\",\n gap: 1,\n color: \"text.secondary\",\n }}\n >\n <GridViewOutlinedIcon sx={{ fontSize: sxRem(14) }} />\n <Box sx={{ width: sxRem(88), display: \"flex\", alignItems: \"center\" }}>\n <Slider\n size=\"sm\"\n showValue={false}\n value={zoom}\n min={0}\n max={100}\n step={5}\n onChange={(_event, next) => setZoom(Array.isArray(next) ? (next[0] ?? 0) : next)}\n aria-label={copy.display.cardZoom}\n data-testid={`${testIdPrefix}-card-zoom`}\n />\n </Box>\n <GridViewOutlinedIcon sx={{ fontSize: sxRem(20) }} />\n </Box>\n );\n}\n"],"mappings":"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","names":["default"]}
|
|
@@ -23,10 +23,10 @@ import {
|
|
|
23
23
|
} from "./chunk-6DPAWXZ3.js";
|
|
24
24
|
import {
|
|
25
25
|
Card
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-WN5PNP6F.js";
|
|
27
27
|
import {
|
|
28
28
|
Text
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-MKLIMY3D.js";
|
|
30
30
|
import {
|
|
31
31
|
rem,
|
|
32
32
|
sxRem
|
|
@@ -268,4 +268,4 @@ function BaseCard(props) {
|
|
|
268
268
|
export {
|
|
269
269
|
BaseCard
|
|
270
270
|
};
|
|
271
|
-
//# sourceMappingURL=chunk-
|
|
271
|
+
//# sourceMappingURL=chunk-UNEJ4MUR.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SectionNavBar
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-VYWCBG3I.js";
|
|
4
4
|
import {
|
|
5
5
|
SectionNavRail
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-WM4KYIYQ.js";
|
|
7
7
|
|
|
8
8
|
// src/components/navigation/SectionNav/SectionNav.tsx
|
|
9
9
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -52,4 +52,4 @@ function SectionNav({
|
|
|
52
52
|
export {
|
|
53
53
|
SectionNav
|
|
54
54
|
};
|
|
55
|
-
//# sourceMappingURL=chunk-
|
|
55
|
+
//# sourceMappingURL=chunk-UOQ4AF2N.js.map
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "./chunk-RTSK5OZT.js";
|
|
10
10
|
import {
|
|
11
11
|
useUiTheme
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-XG5LPGRV.js";
|
|
13
13
|
import {
|
|
14
14
|
resolveTestId
|
|
15
15
|
} from "./chunk-TYJR4GOF.js";
|
|
@@ -48,4 +48,4 @@ Icon.displayName = "Icon";
|
|
|
48
48
|
export {
|
|
49
49
|
Icon
|
|
50
50
|
};
|
|
51
|
-
//# sourceMappingURL=chunk-
|
|
51
|
+
//# sourceMappingURL=chunk-VEHMODO3.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-7V6ZRQYW.js";
|
|
5
5
|
import {
|
|
6
6
|
useUiTheme
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-XG5LPGRV.js";
|
|
8
8
|
import {
|
|
9
9
|
resolveTestId
|
|
10
10
|
} from "./chunk-TYJR4GOF.js";
|
|
@@ -63,4 +63,4 @@ export {
|
|
|
63
63
|
layoutToSx,
|
|
64
64
|
Box
|
|
65
65
|
};
|
|
66
|
-
//# sourceMappingURL=chunk-
|
|
66
|
+
//# sourceMappingURL=chunk-VJXC7VEB.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
PillControl
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4XET5MWR.js";
|
|
4
4
|
import {
|
|
5
5
|
RangeBounds
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2OTBMU5Z.js";
|
|
7
7
|
import {
|
|
8
8
|
isRangeSet
|
|
9
9
|
} from "./chunk-GCZJH4XL.js";
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
} from "./chunk-6DPAWXZ3.js";
|
|
16
16
|
import {
|
|
17
17
|
Text
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-MKLIMY3D.js";
|
|
19
19
|
import {
|
|
20
20
|
fieldHeight
|
|
21
21
|
} from "./chunk-2TZ6X265.js";
|
|
@@ -199,4 +199,4 @@ export {
|
|
|
199
199
|
fieldClearing,
|
|
200
200
|
MoreGroup
|
|
201
201
|
};
|
|
202
|
-
//# sourceMappingURL=chunk-
|
|
202
|
+
//# sourceMappingURL=chunk-VVFASSFY.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
SectionNavSheet
|
|
3
|
-
} from "./chunk-S4ZUZ6DS.js";
|
|
4
1
|
import {
|
|
5
2
|
RaisedActionButton
|
|
6
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-QWBS22F4.js";
|
|
4
|
+
import {
|
|
5
|
+
SectionNavSheet
|
|
6
|
+
} from "./chunk-BAGLUQM3.js";
|
|
7
7
|
import {
|
|
8
8
|
Box,
|
|
9
9
|
CONTROL_RESET,
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
controlProps,
|
|
14
14
|
destinationControl,
|
|
15
15
|
focusRing
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-CVQYKXC5.js";
|
|
17
17
|
import {
|
|
18
18
|
barSlots,
|
|
19
19
|
destinationState,
|
|
@@ -24,6 +24,9 @@ import {
|
|
|
24
24
|
import {
|
|
25
25
|
rem
|
|
26
26
|
} from "./chunk-YKCAJ2TN.js";
|
|
27
|
+
import {
|
|
28
|
+
stackedOverlayZIndex
|
|
29
|
+
} from "./chunk-MFU4Y25U.js";
|
|
27
30
|
|
|
28
31
|
// src/components/navigation/SectionNav/SectionNav.bar.tsx
|
|
29
32
|
import Typography from "@mui/material/Typography/index.js";
|
|
@@ -239,9 +242,11 @@ function SectionNavBar({
|
|
|
239
242
|
// Above the backdrop ONLY while one of its own sheets is open, so the
|
|
240
243
|
// primary button can close what it opened. Raised all the time it
|
|
241
244
|
// would sit over every dialog the page opens, and on a small phone a
|
|
242
|
-
// dialog's own footer is exactly where the bar is.
|
|
245
|
+
// dialog's own footer is exactly where the bar is. `stackedOverlayZIndex`,
|
|
246
|
+
// not `zIndex.modal + 1`: a host lifting a bottom Drawer clear of a
|
|
247
|
+
// stacked sheet catches this bar's OWN sheets too.
|
|
243
248
|
position: "relative",
|
|
244
|
-
zIndex: open === null ? "auto" : theme
|
|
249
|
+
zIndex: open === null ? "auto" : stackedOverlayZIndex(theme) + 1
|
|
245
250
|
},
|
|
246
251
|
children: barSlots(destinations, more !== void 0, primary !== void 0).map((slot) => /* @__PURE__ */ jsx(
|
|
247
252
|
BarSlotView,
|
|
@@ -286,4 +291,4 @@ export {
|
|
|
286
291
|
sectionNavBarInset,
|
|
287
292
|
SectionNavBar
|
|
288
293
|
};
|
|
289
|
-
//# sourceMappingURL=chunk-
|
|
294
|
+
//# sourceMappingURL=chunk-VYWCBG3I.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/navigation/SectionNav/SectionNav.bar.tsx"],"sourcesContent":["import Typography from '@mui/material/Typography/index.js';\nimport { useTheme, type SxProps, type Theme } from '@mui/material/styles/index.js';\nimport { useState, type ElementType, type ReactNode } from 'react';\n\nimport type { SectionNavCopy } from '../../../copy';\nimport { rem } from '../../../tokens/scales';\n\nimport { barSlots, destinationState, isMenu, menuActive, menuCount, type BarSlot } from './SectionNav.helpers';\nimport {\n Box,\n CONTROL_RESET,\n CountedIcon,\n NOT_LIVE,\n SlotIcon,\n controlProps,\n destinationControl,\n focusRing,\n} from './SectionNav.parts';\nimport { RaisedActionButton } from './SectionNav.primary';\nimport { SectionNavSheet } from './SectionNav.sheet';\nimport type { SectionNavAction, SectionNavDestination, SectionNavMenu, SectionNavProps } from './SectionNav.types';\n\n/** Which of the bar's two menus is open, if any. */\ntype OpenMenu = 'primary' | 'more' | null;\n\n/** The bar's height above the safe area — tall enough for an icon over a label. */\nconst barHeight = (theme: Parameters<typeof rem>[0]): string => rem(theme, 60);\n\n/**\n * The bar's full height on screen, the safe area included — where its sheets\n * stop, and what a host reserves at the foot of its content so nothing it\n * floats (a toast, a receipt) lands under the bar.\n */\nexport function sectionNavBarInset(theme: Parameters<typeof rem>[0]): string {\n return `calc(${barHeight(theme)} + env(safe-area-inset-bottom))`;\n}\n\n/**\n * One slot: icon over label, a count on the icon.\n *\n * `current` is the page the viewer is on and is what `aria-current` reports —\n * a link's claim only; an action slot that is ON says so with `aria-pressed`,\n * which arrives in `control`. `lit` is only how the slot looks, and goes out\n * while a sheet is open so the bar shows where the thumb is. Opening a sheet\n * is `aria-expanded`'s to say.\n *\n * A destination is a link or an action; the \"more\" slot is a button that\n * opens its sheet. Either way the whole slot is the target, so a thumb landing\n * on the label lands on the control. A `disabled` slot is a disabled button,\n * dimmed — the act is still where the hand expects it. A `loading` or\n * `dimmed` slot is drawn the same and stays focusable (`aria-disabled`).\n */\nfunction Slot({\n label,\n icon,\n count,\n current,\n lit,\n copy,\n testId,\n control,\n expanded,\n loading = false,\n}: {\n label: string;\n icon: ReactNode;\n count: number | undefined;\n current: boolean;\n lit: boolean;\n copy: SectionNavCopy;\n testId: string;\n control: Record<string, unknown>;\n expanded?: boolean;\n loading?: boolean;\n}): React.JSX.Element {\n const theme = useTheme();\n return (\n <Box\n {...control}\n aria-current={current ? 'page' : undefined}\n aria-expanded={expanded}\n aria-busy={loading || undefined}\n data-lit={lit ? 'true' : undefined}\n data-testid={testId}\n sx={slotSx(theme, lit)}\n >\n <CountedIcon\n icon={<SlotIcon icon={icon} loading={loading} />}\n count={count}\n label={copy.badge}\n testId={`${testId}-badge`}\n />\n <Typography\n component=\"span\"\n variant=\"caption\"\n sx={{\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n lineHeight: 1.3,\n fontWeight: lit ? 700 : 400,\n }}\n >\n {label}\n </Typography>\n </Box>\n );\n}\n\n/** A slot's look: icon over label, the lit rule on its top edge, dimmed when disabled. */\nfunction slotSx(theme: Theme, lit: boolean): SxProps<Theme> {\n return {\n ...CONTROL_RESET,\n ...focusRing(theme),\n flex: 1,\n minWidth: 0,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 0.25,\n position: 'relative',\n color: lit ? 'primary.main' : 'text.secondary',\n // The current slot is marked by more than its colour: a short rule on\n // its top edge, so the state survives a colour-blind reading.\n '&[data-lit=\"true\"]::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n insetInline: '22%',\n height: rem(theme, 3),\n borderBottomLeftRadius: rem(theme, 3),\n borderBottomRightRadius: rem(theme, 3),\n bgcolor: 'primary.main',\n },\n '& svg': { fontSize: rem(theme, 22) },\n [NOT_LIVE]: { color: 'text.disabled' },\n } as SxProps<Theme>;\n}\n\n/** What every slot kind is handed: the bar's open state and how to change it. */\ninterface SlotContext {\n open: OpenMenu;\n toggle: (menu: Exclude<OpenMenu, null>) => void;\n close: () => void;\n linkComponent: ElementType | undefined;\n copy: SectionNavCopy;\n dataTestId: string;\n}\n\n/** The raised button: an action runs on tap; a menu opens its sheet. */\nfunction PrimarySlot({\n primary,\n context,\n}: {\n primary: SectionNavMenu | SectionNavAction;\n context: SlotContext;\n}): React.JSX.Element {\n const testId = primary.dataTestId ?? `${context.dataTestId}-primary`;\n if (!isMenu(primary)) {\n return (\n <RaisedActionButton\n label={primary.label}\n icon={primary.icon}\n captioned\n disabled={primary.disabled}\n loading={primary.loading}\n dataTestId={testId}\n onClick={() => {\n context.close();\n primary.onSelect();\n }}\n />\n );\n }\n return (\n <RaisedActionButton\n label={primary.label}\n icon={primary.icon}\n open={context.open === 'primary'}\n closeLabel={context.copy.close}\n disabled={primary.disabled}\n dataTestId={testId}\n onClick={() => context.toggle('primary')}\n />\n );\n}\n\n/** The \"more\" slot: a button that opens its sheet, carrying its entries' counts. */\nfunction MoreSlot({ more, context }: { more: SectionNavMenu; context: SlotContext }): React.JSX.Element {\n const { open } = context;\n return (\n <Slot\n label={more.label}\n icon={more.icon}\n count={menuCount(more)}\n current={false}\n lit={open === 'more' || (open === null && menuActive(more))}\n expanded={open === 'more'}\n copy={context.copy}\n testId={more.dataTestId ?? `${context.dataTestId}-more`}\n control={controlProps({\n href: undefined,\n linkComponent: context.linkComponent,\n inert: more.disabled === true,\n onClick: () => context.toggle('more'),\n })}\n />\n );\n}\n\n/** A destination: a link, or an action slot (a toggle when it carries `active`). */\nfunction DestinationSlot({\n destination,\n context,\n}: {\n destination: SectionNavDestination;\n context: SlotContext;\n}): React.JSX.Element {\n const { current, lit } = destinationState(destination);\n return (\n <Slot\n label={destination.label}\n icon={destination.icon}\n count={destination.badge}\n current={current}\n lit={context.open === null && lit}\n copy={context.copy}\n testId={destination.dataTestId ?? `${context.dataTestId}-dest-${destination.id}`}\n loading={destination.loading === true}\n control={destinationControl(destination, context.linkComponent, () => {\n context.close();\n destination.onSelect?.();\n })}\n />\n );\n}\n\n/** One slot of the bar, whichever kind it is. */\nfunction BarSlotView({\n slot,\n primary,\n more,\n context,\n}: {\n slot: BarSlot;\n primary: SectionNavMenu | SectionNavAction | undefined;\n more: SectionNavMenu | undefined;\n context: SlotContext;\n}): React.JSX.Element | null {\n if (slot.kind === 'primary') return primary ? <PrimarySlot primary={primary} context={context} /> : null;\n if (slot.kind === 'more') return more ? <MoreSlot more={more} context={context} /> : null;\n return <DestinationSlot destination={slot.destination} context={context} />;\n}\n\n/** The phone layout: a bottom bar, with its menus as bottom sheets. */\nexport function SectionNavBar({\n label,\n destinations,\n primary,\n more,\n linkComponent,\n copy,\n dataTestId,\n}: Required<Pick<SectionNavProps, 'label' | 'destinations' | 'copy' | 'dataTestId'>> &\n Pick<SectionNavProps, 'primary' | 'more'> & { linkComponent: ElementType | undefined }): React.JSX.Element {\n const sheetMenu = isMenu(primary) ? primary : undefined;\n const theme = useTheme();\n const [open, setOpen] = useState<OpenMenu>(null);\n const toggle = (menu: Exclude<OpenMenu, null>): void => setOpen((current) => (current === menu ? null : menu));\n const close = (): void => setOpen(null);\n\n return (\n <>\n <Box\n component=\"nav\"\n aria-label={label}\n data-testid={dataTestId}\n sx={{\n flex: 'none',\n display: 'flex',\n alignItems: 'stretch',\n boxSizing: 'border-box',\n height: sectionNavBarInset(theme),\n paddingBottom: 'env(safe-area-inset-bottom)',\n borderTop: `1px solid ${theme.palette.divider}`,\n bgcolor: 'background.paper',\n // Above the backdrop ONLY while one of its own sheets is open, so the\n // primary button can close what it opened. Raised all the time it\n // would sit over every dialog the page opens, and on a small phone a\n // dialog's own footer is exactly where the bar is.\n position: 'relative',\n zIndex: open === null ? 'auto' : theme.zIndex.modal + 1,\n }}\n >\n {barSlots(destinations, more !== undefined, primary !== undefined).map((slot) => (\n <BarSlotView\n key={slot.kind === 'destination' ? `dest-${slot.destination.id}` : `menu-${slot.kind}`}\n slot={slot}\n primary={primary}\n more={more}\n context={{ open, toggle, close, linkComponent, copy, dataTestId }}\n />\n ))}\n </Box>\n {sheetMenu ? (\n <SectionNavSheet\n menu={sheetMenu}\n open={open === 'primary'}\n onClose={close}\n linkComponent={linkComponent}\n copy={copy}\n testId={`${dataTestId}-primary-sheet`}\n bottomOffset={sectionNavBarInset(theme)}\n />\n ) : null}\n {more ? (\n <SectionNavSheet\n menu={more}\n open={open === 'more'}\n onClose={close}\n linkComponent={linkComponent}\n copy={copy}\n testId={`${dataTestId}-more-sheet`}\n bottomOffset={sectionNavBarInset(theme)}\n />\n ) : null}\n </>\n );\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/components/navigation/SectionNav/SectionNav.bar.tsx"],"sourcesContent":["import Typography from '@mui/material/Typography/index.js';\nimport { useTheme, type SxProps, type Theme } from '@mui/material/styles/index.js';\nimport { useState, type ElementType, type ReactNode } from 'react';\n\nimport type { SectionNavCopy } from '../../../copy';\nimport { stackedOverlayZIndex } from '../../../tokens/layers';\nimport { rem } from '../../../tokens/scales';\n\nimport { barSlots, destinationState, isMenu, menuActive, menuCount, type BarSlot } from './SectionNav.helpers';\nimport {\n Box,\n CONTROL_RESET,\n CountedIcon,\n NOT_LIVE,\n SlotIcon,\n controlProps,\n destinationControl,\n focusRing,\n} from './SectionNav.parts';\nimport { RaisedActionButton } from './SectionNav.primary';\nimport { SectionNavSheet } from './SectionNav.sheet';\nimport type { SectionNavAction, SectionNavDestination, SectionNavMenu, SectionNavProps } from './SectionNav.types';\n\n/** Which of the bar's two menus is open, if any. */\ntype OpenMenu = 'primary' | 'more' | null;\n\n/** The bar's height above the safe area — tall enough for an icon over a label. */\nconst barHeight = (theme: Parameters<typeof rem>[0]): string => rem(theme, 60);\n\n/**\n * The bar's full height on screen, the safe area included — where its sheets\n * stop, and what a host reserves at the foot of its content so nothing it\n * floats (a toast, a receipt) lands under the bar.\n */\nexport function sectionNavBarInset(theme: Parameters<typeof rem>[0]): string {\n return `calc(${barHeight(theme)} + env(safe-area-inset-bottom))`;\n}\n\n/**\n * One slot: icon over label, a count on the icon.\n *\n * `current` is the page the viewer is on and is what `aria-current` reports —\n * a link's claim only; an action slot that is ON says so with `aria-pressed`,\n * which arrives in `control`. `lit` is only how the slot looks, and goes out\n * while a sheet is open so the bar shows where the thumb is. Opening a sheet\n * is `aria-expanded`'s to say.\n *\n * A destination is a link or an action; the \"more\" slot is a button that\n * opens its sheet. Either way the whole slot is the target, so a thumb landing\n * on the label lands on the control. A `disabled` slot is a disabled button,\n * dimmed — the act is still where the hand expects it. A `loading` or\n * `dimmed` slot is drawn the same and stays focusable (`aria-disabled`).\n */\nfunction Slot({\n label,\n icon,\n count,\n current,\n lit,\n copy,\n testId,\n control,\n expanded,\n loading = false,\n}: {\n label: string;\n icon: ReactNode;\n count: number | undefined;\n current: boolean;\n lit: boolean;\n copy: SectionNavCopy;\n testId: string;\n control: Record<string, unknown>;\n expanded?: boolean;\n loading?: boolean;\n}): React.JSX.Element {\n const theme = useTheme();\n return (\n <Box\n {...control}\n aria-current={current ? 'page' : undefined}\n aria-expanded={expanded}\n aria-busy={loading || undefined}\n data-lit={lit ? 'true' : undefined}\n data-testid={testId}\n sx={slotSx(theme, lit)}\n >\n <CountedIcon\n icon={<SlotIcon icon={icon} loading={loading} />}\n count={count}\n label={copy.badge}\n testId={`${testId}-badge`}\n />\n <Typography\n component=\"span\"\n variant=\"caption\"\n sx={{\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n lineHeight: 1.3,\n fontWeight: lit ? 700 : 400,\n }}\n >\n {label}\n </Typography>\n </Box>\n );\n}\n\n/** A slot's look: icon over label, the lit rule on its top edge, dimmed when disabled. */\nfunction slotSx(theme: Theme, lit: boolean): SxProps<Theme> {\n return {\n ...CONTROL_RESET,\n ...focusRing(theme),\n flex: 1,\n minWidth: 0,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 0.25,\n position: 'relative',\n color: lit ? 'primary.main' : 'text.secondary',\n // The current slot is marked by more than its colour: a short rule on\n // its top edge, so the state survives a colour-blind reading.\n '&[data-lit=\"true\"]::before': {\n content: '\"\"',\n position: 'absolute',\n top: 0,\n insetInline: '22%',\n height: rem(theme, 3),\n borderBottomLeftRadius: rem(theme, 3),\n borderBottomRightRadius: rem(theme, 3),\n bgcolor: 'primary.main',\n },\n '& svg': { fontSize: rem(theme, 22) },\n [NOT_LIVE]: { color: 'text.disabled' },\n } as SxProps<Theme>;\n}\n\n/** What every slot kind is handed: the bar's open state and how to change it. */\ninterface SlotContext {\n open: OpenMenu;\n toggle: (menu: Exclude<OpenMenu, null>) => void;\n close: () => void;\n linkComponent: ElementType | undefined;\n copy: SectionNavCopy;\n dataTestId: string;\n}\n\n/** The raised button: an action runs on tap; a menu opens its sheet. */\nfunction PrimarySlot({\n primary,\n context,\n}: {\n primary: SectionNavMenu | SectionNavAction;\n context: SlotContext;\n}): React.JSX.Element {\n const testId = primary.dataTestId ?? `${context.dataTestId}-primary`;\n if (!isMenu(primary)) {\n return (\n <RaisedActionButton\n label={primary.label}\n icon={primary.icon}\n captioned\n disabled={primary.disabled}\n loading={primary.loading}\n dataTestId={testId}\n onClick={() => {\n context.close();\n primary.onSelect();\n }}\n />\n );\n }\n return (\n <RaisedActionButton\n label={primary.label}\n icon={primary.icon}\n open={context.open === 'primary'}\n closeLabel={context.copy.close}\n disabled={primary.disabled}\n dataTestId={testId}\n onClick={() => context.toggle('primary')}\n />\n );\n}\n\n/** The \"more\" slot: a button that opens its sheet, carrying its entries' counts. */\nfunction MoreSlot({ more, context }: { more: SectionNavMenu; context: SlotContext }): React.JSX.Element {\n const { open } = context;\n return (\n <Slot\n label={more.label}\n icon={more.icon}\n count={menuCount(more)}\n current={false}\n lit={open === 'more' || (open === null && menuActive(more))}\n expanded={open === 'more'}\n copy={context.copy}\n testId={more.dataTestId ?? `${context.dataTestId}-more`}\n control={controlProps({\n href: undefined,\n linkComponent: context.linkComponent,\n inert: more.disabled === true,\n onClick: () => context.toggle('more'),\n })}\n />\n );\n}\n\n/** A destination: a link, or an action slot (a toggle when it carries `active`). */\nfunction DestinationSlot({\n destination,\n context,\n}: {\n destination: SectionNavDestination;\n context: SlotContext;\n}): React.JSX.Element {\n const { current, lit } = destinationState(destination);\n return (\n <Slot\n label={destination.label}\n icon={destination.icon}\n count={destination.badge}\n current={current}\n lit={context.open === null && lit}\n copy={context.copy}\n testId={destination.dataTestId ?? `${context.dataTestId}-dest-${destination.id}`}\n loading={destination.loading === true}\n control={destinationControl(destination, context.linkComponent, () => {\n context.close();\n destination.onSelect?.();\n })}\n />\n );\n}\n\n/** One slot of the bar, whichever kind it is. */\nfunction BarSlotView({\n slot,\n primary,\n more,\n context,\n}: {\n slot: BarSlot;\n primary: SectionNavMenu | SectionNavAction | undefined;\n more: SectionNavMenu | undefined;\n context: SlotContext;\n}): React.JSX.Element | null {\n if (slot.kind === 'primary') return primary ? <PrimarySlot primary={primary} context={context} /> : null;\n if (slot.kind === 'more') return more ? <MoreSlot more={more} context={context} /> : null;\n return <DestinationSlot destination={slot.destination} context={context} />;\n}\n\n/** The phone layout: a bottom bar, with its menus as bottom sheets. */\nexport function SectionNavBar({\n label,\n destinations,\n primary,\n more,\n linkComponent,\n copy,\n dataTestId,\n}: Required<Pick<SectionNavProps, 'label' | 'destinations' | 'copy' | 'dataTestId'>> &\n Pick<SectionNavProps, 'primary' | 'more'> & { linkComponent: ElementType | undefined }): React.JSX.Element {\n const sheetMenu = isMenu(primary) ? primary : undefined;\n const theme = useTheme();\n const [open, setOpen] = useState<OpenMenu>(null);\n const toggle = (menu: Exclude<OpenMenu, null>): void => setOpen((current) => (current === menu ? null : menu));\n const close = (): void => setOpen(null);\n\n return (\n <>\n <Box\n component=\"nav\"\n aria-label={label}\n data-testid={dataTestId}\n sx={{\n flex: 'none',\n display: 'flex',\n alignItems: 'stretch',\n boxSizing: 'border-box',\n height: sectionNavBarInset(theme),\n paddingBottom: 'env(safe-area-inset-bottom)',\n borderTop: `1px solid ${theme.palette.divider}`,\n bgcolor: 'background.paper',\n // Above the backdrop ONLY while one of its own sheets is open, so the\n // primary button can close what it opened. Raised all the time it\n // would sit over every dialog the page opens, and on a small phone a\n // dialog's own footer is exactly where the bar is. `stackedOverlayZIndex`,\n // not `zIndex.modal + 1`: a host lifting a bottom Drawer clear of a\n // stacked sheet catches this bar's OWN sheets too.\n position: 'relative',\n zIndex: open === null ? 'auto' : stackedOverlayZIndex(theme) + 1,\n }}\n >\n {barSlots(destinations, more !== undefined, primary !== undefined).map((slot) => (\n <BarSlotView\n key={slot.kind === 'destination' ? `dest-${slot.destination.id}` : `menu-${slot.kind}`}\n slot={slot}\n primary={primary}\n more={more}\n context={{ open, toggle, close, linkComponent, copy, dataTestId }}\n />\n ))}\n </Box>\n {sheetMenu ? (\n <SectionNavSheet\n menu={sheetMenu}\n open={open === 'primary'}\n onClose={close}\n linkComponent={linkComponent}\n copy={copy}\n testId={`${dataTestId}-primary-sheet`}\n bottomOffset={sectionNavBarInset(theme)}\n />\n ) : null}\n {more ? (\n <SectionNavSheet\n menu={more}\n open={open === 'more'}\n onClose={close}\n linkComponent={linkComponent}\n copy={copy}\n testId={`${dataTestId}-more-sheet`}\n bottomOffset={sectionNavBarInset(theme)}\n />\n ) : null}\n </>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
LightboxCloseButton,
|
|
4
4
|
LightboxNavButtons,
|
|
5
5
|
LightboxZoomControls
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-P53KRCKW.js";
|
|
7
7
|
|
|
8
8
|
// src/components/data-display/Lightbox/LightboxOverlay.tsx
|
|
9
9
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -60,4 +60,4 @@ var LightboxOverlay = ({
|
|
|
60
60
|
export {
|
|
61
61
|
LightboxOverlay
|
|
62
62
|
};
|
|
63
|
-
//# sourceMappingURL=chunk-
|
|
63
|
+
//# sourceMappingURL=chunk-VZ4VAQX3.js.map
|