@12-apps/ui 6.86.2 → 6.87.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/NATIVE.md +1 -1
- package/components-catalog.md +16 -2
- package/dist/_internal/components/data-display/Alert/Alert.js +3 -3
- package/dist/_internal/components/data-display/AlertDialog/AlertDialog.js +3 -3
- package/dist/_internal/components/data-display/AlertDialog/AlertDialog.parts.js +2 -2
- package/dist/_internal/components/data-display/AsyncStateContainer/AsyncStateContainer.js +9 -9
- package/dist/_internal/components/data-display/Avatar/Avatar.js +4 -4
- package/dist/_internal/components/data-display/Avatar/Avatar.view.js +2 -2
- package/dist/_internal/components/data-display/Badge/Badge.js +1 -1
- package/dist/_internal/components/data-display/Badge/Badge.styles.js +1 -1
- package/dist/_internal/components/data-display/Badge/BadgeContent.js +1 -1
- package/dist/_internal/components/data-display/CardKit/card-actions-context.js +4 -4
- package/dist/_internal/components/data-display/CardKit/use-remove-confirm.js +12 -12
- package/dist/_internal/components/data-display/CardKit/use-row-confirm.js +8 -8
- package/dist/_internal/components/data-display/Carousel/Carousel.chrome.js +1 -1
- package/dist/_internal/components/data-display/Carousel/Carousel.js +4 -4
- package/dist/_internal/components/data-display/Carousel/Carousel.parts.js +1 -1
- package/dist/_internal/components/data-display/Carousel/Carousel.styles.js +1 -1
- package/dist/_internal/components/data-display/Chart/Chart.js +6 -6
- package/dist/_internal/components/data-display/Chart/SpecChart.js +9 -9
- package/dist/_internal/components/data-display/Chart/chart-context.js +3 -3
- package/dist/_internal/components/data-display/Chart/chart-internals.js +1 -1
- package/dist/_internal/components/data-display/Chart/chart-renderers.js +5 -5
- package/dist/_internal/components/data-display/Chart/chart-spec.js +2 -2
- 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 +2 -2
- package/dist/_internal/components/data-display/DataViews/DataViewsGrid.js +58 -58
- package/dist/_internal/components/data-display/DataViews/DataViewsTableBase.js +78 -78
- package/dist/_internal/components/data-display/DataViews/DeleteViewDialog.js +3 -3
- package/dist/_internal/components/data-display/DataViews/ManageViewsDialog.js +9 -9
- package/dist/_internal/components/data-display/DataViews/SaveViewModal.js +7 -7
- package/dist/_internal/components/data-display/DataViews/base-card.js +3 -3
- package/dist/_internal/components/data-display/DataViews/base-list-card-geometry.js +3 -3
- package/dist/_internal/components/data-display/DataViews/base-list-card-layout.js +3 -3
- package/dist/_internal/components/data-display/DataViews/base-list-card-slots.js +2 -2
- package/dist/_internal/components/data-display/DataViews/base-list-card.js +8 -8
- package/dist/_internal/components/data-display/DataViews/data-views-category-pill.js +16 -16
- package/dist/_internal/components/data-display/DataViews/data-views-display-panel.js +2 -2
- package/dist/_internal/components/data-display/DataViews/data-views-filter-panel.js +24 -24
- package/dist/_internal/components/data-display/DataViews/data-views-grid-bodies.js +6 -6
- package/dist/_internal/components/data-display/DataViews/data-views-grid-parts.js +53 -53
- package/dist/_internal/components/data-display/DataViews/data-views-inline-bar.js +26 -26
- package/dist/_internal/components/data-display/DataViews/data-views-more-fields.js +23 -23
- package/dist/_internal/components/data-display/DataViews/data-views-more-filters.js +24 -24
- package/dist/_internal/components/data-display/DataViews/data-views-pagination.js +3 -3
- package/dist/_internal/components/data-display/DataViews/data-views-range-pill.js +4 -4
- package/dist/_internal/components/data-display/DataViews/data-views-shell-toolbar.js +12 -12
- package/dist/_internal/components/data-display/DataViews/data-views-table-parts.js +23 -23
- package/dist/_internal/components/data-display/DataViews/data-views-toolbar.js +11 -11
- package/dist/_internal/components/data-display/DataViews/list-card-rails.js +2 -2
- package/dist/_internal/components/data-display/DataViews/use-data-views-state.js +4 -4
- package/dist/_internal/components/data-display/DayRuler/DayRuler.js +33 -0
- package/dist/_internal/components/data-display/DayRuler/DayRuler.keyboard.js +12 -0
- package/dist/_internal/components/data-display/DayRuler/DayRuler.keyboard.js.map +1 -0
- package/dist/_internal/components/data-display/DayRuler/DayRuler.metrics.js +8 -0
- package/dist/_internal/components/data-display/DayRuler/DayRuler.metrics.js.map +1 -0
- package/dist/_internal/components/data-display/DayRuler/DayRuler.parts.js +30 -0
- package/dist/_internal/components/data-display/DayRuler/DayRuler.parts.js.map +1 -0
- package/dist/_internal/components/data-display/DayRuler/DayRuler.styles.js +54 -0
- package/dist/_internal/components/data-display/DayRuler/DayRuler.styles.js.map +1 -0
- package/dist/_internal/components/data-display/DayRuler/DayRuler.types.js +1 -0
- package/dist/_internal/components/data-display/DayRuler/DayRuler.types.js.map +1 -0
- package/dist/_internal/components/data-display/DayRuler/day-ruler-model.js +26 -0
- package/dist/_internal/components/data-display/DayRuler/day-ruler-model.js.map +1 -0
- package/dist/_internal/components/data-display/DayRuler/useRulerDrag.js +11 -0
- package/dist/_internal/components/data-display/DayRuler/useRulerDrag.js.map +1 -0
- package/dist/_internal/components/data-display/DayRuler/useTextFits.js +8 -0
- package/dist/_internal/components/data-display/DayRuler/useTextFits.js.map +1 -0
- package/dist/_internal/components/data-display/EmptyState/EmptyState.js +3 -3
- package/dist/_internal/components/data-display/ErrorState/ErrorState.js +2 -2
- package/dist/_internal/components/data-display/FleetMap/FleetBody.js +12 -12
- package/dist/_internal/components/data-display/FleetMap/FleetCanvas.js +6 -6
- package/dist/_internal/components/data-display/FleetMap/FleetMap.js +19 -19
- package/dist/_internal/components/data-display/FleetMap/FleetRoster.js +3 -3
- package/dist/_internal/components/data-display/HoverCard/HoverCard.js +3 -3
- package/dist/_internal/components/data-display/InteractiveTooltip/InteractiveTooltip.js +2 -2
- package/dist/_internal/components/data-display/LazyImage/LazyImage.js +4 -4
- package/dist/_internal/components/data-display/Lightbox/Lightbox.js +4 -4
- package/dist/_internal/components/data-display/LoadingState/LoadingState.js +5 -5
- package/dist/_internal/components/data-display/MapPreview/MapLayers.js +3 -3
- package/dist/_internal/components/data-display/MapPreview/MapPreview.js +5 -5
- package/dist/_internal/components/data-display/RegionMap/RegionMap.js +6 -6
- package/dist/_internal/components/data-display/RegionMap/RegionMapDrawing.js +2 -2
- package/dist/_internal/components/data-display/RegionMap/RegionMapList.js +1 -1
- package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.js +30 -0
- package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.js.map +1 -0
- package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.keyboard.js +11 -0
- package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.keyboard.js.map +1 -0
- package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.metrics.js +10 -0
- package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.metrics.js.map +1 -0
- package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.parts.js +25 -0
- package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.parts.js.map +1 -0
- package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.styles.js +59 -0
- package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.styles.js.map +1 -0
- package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.types.js +1 -0
- package/dist/_internal/components/data-display/ScheduleGrid/ScheduleGrid.types.js.map +1 -0
- package/dist/_internal/components/data-display/ScheduleGrid/ScheduleNameCell.js +18 -0
- package/dist/_internal/components/data-display/ScheduleGrid/ScheduleNameCell.js.map +1 -0
- package/dist/_internal/components/data-display/ScheduleGrid/drag-session.js +10 -0
- package/dist/_internal/components/data-display/ScheduleGrid/drag-session.js.map +1 -0
- package/dist/_internal/components/data-display/ScheduleGrid/schedule-grid-model.js +18 -0
- package/dist/_internal/components/data-display/ScheduleGrid/schedule-grid-model.js.map +1 -0
- package/dist/_internal/components/data-display/ScheduleGrid/schedule-name.styles.js +25 -0
- package/dist/_internal/components/data-display/ScheduleGrid/schedule-name.styles.js.map +1 -0
- package/dist/_internal/components/data-display/ScheduleGrid/schedule-tones.js +26 -0
- package/dist/_internal/components/data-display/ScheduleGrid/schedule-tones.js.map +1 -0
- package/dist/_internal/components/data-display/ScheduleGrid/useAnnouncer.js +8 -0
- package/dist/_internal/components/data-display/ScheduleGrid/useAnnouncer.js.map +1 -0
- package/dist/_internal/components/data-display/ScheduleGrid/useGridDrag.js +10 -0
- package/dist/_internal/components/data-display/ScheduleGrid/useGridDrag.js.map +1 -0
- package/dist/_internal/components/data-display/ScheduleGrid/useSidewaysScroll.js +9 -0
- package/dist/_internal/components/data-display/ScheduleGrid/useSidewaysScroll.js.map +1 -0
- package/dist/_internal/components/data-display/SectionOnboarding/SectionOnboarding.js +5 -5
- package/dist/_internal/components/data-display/Sheet/Sheet.body.js +4 -4
- package/dist/_internal/components/data-display/Sheet/Sheet.hooks.js +2 -2
- package/dist/_internal/components/data-display/Sheet/Sheet.js +8 -8
- package/dist/_internal/components/data-display/Sheet/Sheet.parts.js +2 -2
- package/dist/_internal/components/data-display/Sheet/Sheet.styles.js +1 -1
- package/dist/_internal/components/data-display/StatCard/StatCard.js +3 -3
- package/dist/_internal/components/data-display/Stepper/Stepper.js +2 -2
- package/dist/_internal/components/data-display/Table/Table.js +5 -5
- 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/Timeline/Timeline.js +2 -2
- package/dist/_internal/components/data-display/index.js +159 -130
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.js +5 -5
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmAction.parts.js +4 -4
- package/dist/_internal/components/feedback/ConfirmAction/ConfirmButton.js +6 -6
- package/dist/_internal/components/feedback/ConfirmAction/with-confirmation.js +5 -5
- package/dist/_internal/components/feedback/Dialog/Dialog.js +2 -2
- package/dist/_internal/components/feedback/NotificationStatusNotice/NotificationStatusNotice.js +4 -4
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.header.js +38 -0
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.header.js.map +1 -0
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.header.styles.js +14 -0
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.header.styles.js.map +1 -0
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.js +14 -11
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.metrics.js +1 -1
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.overview.js +40 -0
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.overview.js.map +1 -0
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.parts.js +6 -13
- package/dist/_internal/components/feedback/SequenceResolver/SequenceResolver.styles.js +10 -2
- package/dist/_internal/components/feedback/SequenceResolver/sequence-model.js +7 -1
- package/dist/_internal/components/feedback/SequenceResolver/useSequenceRun.js +2 -2
- package/dist/_internal/components/feedback/Sonner/Sonner.js +2 -2
- package/dist/_internal/components/feedback/StackedModal/StackedModal.js +4 -4
- package/dist/_internal/components/feedback/StackedModal/StackedModal.parts.js +2 -2
- package/dist/_internal/components/feedback/Toast/Toast.js +2 -2
- package/dist/_internal/components/feedback/TutorialOverlay/TutorialOverlay.js +2 -2
- package/dist/_internal/components/feedback/index.js +45 -42
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocomplete.js +1 -1
- package/dist/_internal/components/form/AddressAutocomplete/AddressAutocompleteField.js +1 -1
- package/dist/_internal/components/form/Autocomplete/Autocomplete.js +2 -2
- package/dist/_internal/components/form/Calendar/Calendar.js +7 -7
- package/dist/_internal/components/form/Calendar/CalendarDayCell.js +2 -2
- package/dist/_internal/components/form/Calendar/CalendarMonth.js +3 -3
- package/dist/_internal/components/form/Calendar/CalendarSelectorsMonth.js +5 -5
- package/dist/_internal/components/form/CategorySelect/CategoryPanel.js +5 -5
- package/dist/_internal/components/form/CategorySelect/CategoryPanelList.js +3 -3
- package/dist/_internal/components/form/CategorySelect/CategoryRows.js +2 -2
- package/dist/_internal/components/form/CategorySelect/CategorySelect.js +9 -9
- package/dist/_internal/components/form/Command/Command.hooks.js +2 -2
- package/dist/_internal/components/form/Command/Command.js +6 -6
- package/dist/_internal/components/form/Command/Command.parts.js +2 -2
- package/dist/_internal/components/form/Command/Command.styles.js +1 -1
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.hooks.js +3 -3
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.js +13 -13
- package/dist/_internal/components/form/DateRangePicker/DateRangePicker.range.js +2 -2
- package/dist/_internal/components/form/DateRangePicker/DateRangePickerFields.js +3 -3
- package/dist/_internal/components/form/Label/Label.js +1 -1
- package/dist/_internal/components/form/Label/Label.styles.js +1 -1
- package/dist/_internal/components/form/Menubar/Menubar.item.js +1 -1
- package/dist/_internal/components/form/Menubar/Menubar.js +5 -5
- package/dist/_internal/components/form/Menubar/Menubar.styles.js +1 -1
- package/dist/_internal/components/form/Menubar/Menubar.toolbar.js +3 -3
- package/dist/_internal/components/form/PickerSheet/PickerSheet.js +4 -4
- package/dist/_internal/components/form/RichTextEditor/RichTextEditor.dom.js +2 -2
- package/dist/_internal/components/form/RichTextEditor/RichTextEditor.format.js +3 -3
- package/dist/_internal/components/form/RichTextEditor/RichTextEditor.hooks.js +4 -4
- package/dist/_internal/components/form/RichTextEditor/RichTextEditor.js +5 -5
- package/dist/_internal/components/form/Switch/Switch.js +4 -4
- package/dist/_internal/components/form/Switch/Switch.parts.js +3 -3
- package/dist/_internal/components/form/Switch/Switch.styles.js +2 -2
- package/dist/_internal/components/form/index.js +83 -83
- package/dist/_internal/components/form/total-form/Fields/CategoryField.js +10 -10
- package/dist/_internal/components/form/total-form/Fields/index.js +17 -17
- package/dist/_internal/components/form/total-form/FormErrorSnackbar.js +3 -3
- package/dist/_internal/components/index.js +366 -334
- package/dist/_internal/components/layout/Box/Box.js +1 -1
- package/dist/_internal/components/layout/Card/Card.js +2 -2
- package/dist/_internal/components/layout/ContentToolbar/ColumnsMenu.js +2 -2
- package/dist/_internal/components/layout/ContentToolbar/FilterTrigger.js +3 -3
- package/dist/_internal/components/layout/ContentToolbar/MultiSelectDropdown.js +2 -2
- package/dist/_internal/components/layout/ContentToolbar/ViewSelector.js +2 -2
- package/dist/_internal/components/layout/Dashboard/Dashboard.js +2 -2
- package/dist/_internal/components/layout/Drawer/Drawer.js +2 -2
- package/dist/_internal/components/layout/Screen/Screen.js +1 -1
- package/dist/_internal/components/layout/ScrollArea/ScrollArea.js +3 -3
- package/dist/_internal/components/layout/SettingCard/SettingCard.js +9 -9
- package/dist/_internal/components/layout/SettingCard/SettingCard.parts.js +5 -5
- package/dist/_internal/components/layout/SettingCard/SettingCard.summary.js +8 -8
- package/dist/_internal/components/layout/SettingCard/SettingGrid.js +6 -6
- package/dist/_internal/components/layout/SettingCard/SettingGroup.js +15 -15
- package/dist/_internal/components/layout/SettingCard/SettingSwitch.js +14 -14
- package/dist/_internal/components/layout/SettingCard/SettingToggle.js +15 -15
- package/dist/_internal/components/layout/SettingsLayout/SettingsLayout.js +7 -7
- package/dist/_internal/components/layout/SettingsLayout/SettingsPanel.js +4 -4
- package/dist/_internal/components/layout/SettingsLayout/SettingsSectionChips.js +2 -2
- package/dist/_internal/components/layout/Skeleton/Skeleton.js +2 -2
- package/dist/_internal/components/layout/Stack/Stack.js +1 -1
- package/dist/_internal/components/layout/TableFilter/TableFilter.js +2 -2
- package/dist/_internal/components/layout/index.js +68 -68
- package/dist/_internal/components/navigation/AppHeader/AppHeader.details.js +9 -9
- package/dist/_internal/components/navigation/AppHeader/AppHeader.identity.js +3 -3
- package/dist/_internal/components/navigation/Breadcrumbs/Breadcrumbs.js +2 -2
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMegaSection.js +3 -3
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMenu.js +6 -6
- package/dist/_internal/components/navigation/NavigationMenu/NavigationMenuItem.js +2 -2
- package/dist/_internal/components/navigation/NavigationMenu/NavigationStandardBody.js +4 -4
- package/dist/_internal/components/navigation/Pagination/Pagination.js +2 -2
- package/dist/_internal/components/navigation/SectionNav/SectionNav.bar.js +5 -5
- package/dist/_internal/components/navigation/SectionNav/SectionNav.js +6 -6
- package/dist/_internal/components/navigation/SectionNav/SectionNav.parts.js +1 -1
- package/dist/_internal/components/navigation/SectionNav/SectionNav.primary.js +1 -1
- package/dist/_internal/components/navigation/SectionNav/SectionNav.rail.js +1 -1
- package/dist/_internal/components/navigation/SectionNav/SectionNav.railCreate.js +1 -1
- package/dist/_internal/components/navigation/SectionNav/SectionNav.sheet.js +4 -4
- package/dist/_internal/components/navigation/SectionNav/__stories__/fixtures.js +1 -1
- package/dist/_internal/components/navigation/index.js +36 -36
- package/dist/_internal/components/typography/Code/Code.js +2 -2
- package/dist/_internal/components/typography/index.js +6 -6
- package/dist/_internal/components/utility/AnimatedIcon/AnimatedIcon.js +2 -2
- package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.js +3 -3
- package/dist/_internal/components/utility/InfiniteScroll/InfiniteScroll.parts.js +2 -2
- package/dist/_internal/components/utility/InstallPrompt/InstallPrompt.js +2 -2
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.helpers.js +3 -3
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.js +6 -6
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStep.parts.js +4 -4
- package/dist/_internal/components/utility/WorkflowStep/WorkflowStepRow.js +5 -5
- package/dist/_internal/components/utility/index.js +23 -23
- package/dist/_internal/en-US.labels.js +1 -1
- package/dist/_internal/icons/Icon.js +1 -1
- package/dist/_internal/provider/UiProvider.js +1 -1
- package/dist/_internal/provider/mui-bridge.js +1 -1
- package/dist/_internal/provider/use-ui-theme.js +1 -1
- package/dist/_internal/pt-BR.labels.js +1 -1
- package/dist/_internal/social-login-button/social-login-button.js +4 -4
- package/dist/_internal/user-avatar/user-avatar.js +7 -7
- package/dist/charts.js +18 -18
- package/dist/{chunk-X4N6Q37Q.js → chunk-2CRNOJGL.js} +9 -9
- package/dist/{chunk-L5KPBMMF.js → chunk-2ENMRK3U.js} +2 -2
- package/dist/{chunk-K7IDOTSU.js → chunk-2KBATUOZ.js} +3 -3
- package/dist/{chunk-VKTF3GAP.js → chunk-2MYSXWZQ.js} +9 -9
- package/dist/{chunk-CHP3QIS3.js → chunk-2ORD2FMN.js} +37 -3
- package/dist/{chunk-CHP3QIS3.js.map → chunk-2ORD2FMN.js.map} +1 -1
- package/dist/{chunk-7QKFMMWK.js → chunk-2Q2DUGH7.js} +2 -2
- package/dist/chunk-2SRWPNQ7.js +60 -0
- package/dist/chunk-2SRWPNQ7.js.map +1 -0
- package/dist/{chunk-VQ6V5TO7.js → chunk-2UNZG4JK.js} +3 -3
- package/dist/chunk-35HMJQLO.js +26 -0
- package/dist/chunk-35HMJQLO.js.map +1 -0
- package/dist/{chunk-5VKHJ7PI.js → chunk-3B4NXP4N.js} +3 -3
- package/dist/{chunk-HC6OZ7QK.js → chunk-3EIRRLCQ.js} +2 -2
- package/dist/{chunk-MSJP2AEN.js → chunk-3EKY63LD.js} +2 -2
- package/dist/{chunk-LH43GKP2.js → chunk-3KMP2F4R.js} +13 -13
- package/dist/chunk-3R6BR22L.js +72 -0
- package/dist/chunk-3R6BR22L.js.map +1 -0
- package/dist/{chunk-D3W5A4N6.js → chunk-3STNOYYO.js} +3 -3
- package/dist/{chunk-TVDHA7BT.js → chunk-3Y6NO5XL.js} +8 -8
- package/dist/{chunk-ABQZFK7M.js → chunk-44PBCQ7E.js} +6 -6
- package/dist/chunk-4HK4FVMV.js +106 -0
- package/dist/chunk-4HK4FVMV.js.map +1 -0
- package/dist/{chunk-PGHSNG33.js → chunk-4PZZJ2AE.js} +5 -5
- package/dist/{chunk-TRAMTVIO.js → chunk-4QTPERAY.js} +2 -2
- package/dist/{chunk-W2RXXF7K.js → chunk-4XBAEKQQ.js} +4 -4
- package/dist/{chunk-XCUHGPPZ.js → chunk-55PFFAAY.js} +2 -2
- package/dist/{chunk-LYVTJLCF.js → chunk-56JF5PZK.js} +4 -4
- package/dist/{native/chunks/chunk-QHW7JEPZ.js → chunk-57FIUJJJ.js} +18 -1
- package/dist/chunk-57FIUJJJ.js.map +1 -0
- package/dist/{chunk-5C3JSXBK.js → chunk-5BVAUUWL.js} +5 -5
- package/dist/{chunk-6OISIUZM.js → chunk-5F7HYYGM.js} +2 -2
- package/dist/{chunk-JHW35C6W.js → chunk-5QUH53HV.js} +6 -6
- package/dist/{chunk-DAFFZED3.js → chunk-5YVMFK7Y.js} +2 -2
- package/dist/{chunk-TI4FGQYV.js → chunk-62PTREG5.js} +2 -2
- package/dist/{chunk-3DPPDGOF.js → chunk-62SXUU5U.js} +5 -5
- package/dist/{chunk-3JZ3KEQQ.js → chunk-6ATXOJVQ.js} +4 -4
- package/dist/{chunk-7W5X3KQ2.js → chunk-6BQ3YKLD.js} +2 -2
- package/dist/chunk-6D5AMANO.js +50 -0
- package/dist/chunk-6D5AMANO.js.map +1 -0
- package/dist/{chunk-VPH3TENY.js → chunk-6DGNMASB.js} +2 -2
- package/dist/chunk-6HZYRKOB.js +94 -0
- package/dist/chunk-6HZYRKOB.js.map +1 -0
- package/dist/{chunk-NOF2FF4K.js → chunk-7CPLKAL6.js} +4 -4
- package/dist/{chunk-DVX4HDNP.js → chunk-7IBFGOLF.js} +3 -3
- package/dist/chunk-7RXL4ONS.js +1 -0
- package/dist/chunk-7RXL4ONS.js.map +1 -0
- package/dist/{chunk-EOQ6EKTS.js → chunk-7XSCEHGA.js} +7 -7
- package/dist/{chunk-QCYQL3ST.js → chunk-7XUQJJPK.js} +2 -2
- package/dist/chunk-7ZQ3KQ7J.js +49 -0
- package/dist/chunk-7ZQ3KQ7J.js.map +1 -0
- package/dist/{chunk-7VUXSNVZ.js → chunk-A4B27HYU.js} +2 -2
- package/dist/chunk-AC7K7IJE.js +28 -0
- package/dist/chunk-AC7K7IJE.js.map +1 -0
- package/dist/{chunk-42D7KBDH.js → chunk-AD6GRJFV.js} +3 -3
- package/dist/{chunk-CAOL4AIB.js → chunk-AEAVVKGY.js} +2 -2
- package/dist/{chunk-HHPFWEJY.js → chunk-ALDS5ISD.js} +14 -2
- package/dist/chunk-ALDS5ISD.js.map +1 -0
- package/dist/{chunk-M3XJVD5G.js → chunk-AMLHEKSV.js} +5 -5
- package/dist/{chunk-E5QOT7KK.js → chunk-AN37BIIO.js} +9 -9
- package/dist/{chunk-ABVIMFSD.js → chunk-AWUB3T7C.js} +2 -2
- package/dist/{chunk-ALOEOGQV.js → chunk-AXGQB24R.js} +2 -2
- package/dist/chunk-B3SL5FP2.js +94 -0
- package/dist/chunk-B3SL5FP2.js.map +1 -0
- package/dist/{chunk-Q4QFYGPH.js → chunk-B5SBDLRS.js} +3 -3
- package/dist/{chunk-G4W6HR6Q.js → chunk-B7GGLFJB.js} +5 -5
- package/dist/{chunk-C347NNZJ.js → chunk-B7ZAEZJW.js} +2 -2
- package/dist/chunk-BK3YLYL6.js +62 -0
- package/dist/chunk-BK3YLYL6.js.map +1 -0
- package/dist/{chunk-OFESNJKE.js → chunk-BQBEN44R.js} +18 -64
- package/dist/chunk-BQBEN44R.js.map +1 -0
- package/dist/{chunk-GANJRIT3.js → chunk-C3MXURP3.js} +2 -2
- package/dist/{chunk-4QR7LM5F.js → chunk-CTN4BRAH.js} +8 -8
- package/dist/{chunk-ZANWHTXH.js → chunk-CVB26LLB.js} +2 -2
- package/dist/{chunk-JH2XLVWM.js → chunk-CW5Z67NA.js} +2 -2
- package/dist/{chunk-CY4XIZNW.js → chunk-D3B4V44W.js} +2 -2
- package/dist/{chunk-BAC2PBOS.js → chunk-D3SIZ2CX.js} +7 -7
- package/dist/chunk-D6JKCCRQ.js +120 -0
- package/dist/chunk-D6JKCCRQ.js.map +1 -0
- package/dist/{chunk-QN7FVZQD.js → chunk-DHAXUVMR.js} +4 -4
- package/dist/chunk-DJNKSDQH.js +1 -0
- package/dist/chunk-DJNKSDQH.js.map +1 -0
- package/dist/{chunk-YGLAGY74.js → chunk-DM57YWZH.js} +2 -2
- package/dist/{chunk-NASLJO2R.js → chunk-DRJGHTQU.js} +2 -2
- package/dist/{chunk-BLZDSCIZ.js → chunk-DYHOBKPU.js} +6 -6
- package/dist/{chunk-6HXNFNOB.js → chunk-EE6DJPB7.js} +4 -4
- package/dist/chunk-EEK2NK4W.js +281 -0
- package/dist/chunk-EEK2NK4W.js.map +1 -0
- package/dist/{chunk-ANUO67JQ.js → chunk-EIMFA7KP.js} +2 -2
- package/dist/{chunk-AKE6KVQG.js → chunk-EVIQUBC6.js} +4 -4
- package/dist/{chunk-6X7PE5DH.js → chunk-EXKEPOL7.js} +7 -7
- package/dist/{chunk-LIN4A2BW.js → chunk-FKS2PNJF.js} +9 -9
- package/dist/{chunk-ZYZPSBNQ.js → chunk-G3G5W4OF.js} +3 -3
- package/dist/{chunk-J2KVF5GO.js → chunk-GBB23QLL.js} +3 -3
- package/dist/{chunk-KTXJQ4YJ.js → chunk-GBVNY2LG.js} +6 -6
- package/dist/{chunk-CJLZHW2Z.js → chunk-GCR6VE5S.js} +2 -2
- package/dist/chunk-GONPUJIE.js +92 -0
- package/dist/chunk-GONPUJIE.js.map +1 -0
- package/dist/{chunk-APSEM5AA.js → chunk-GS3QDXDP.js} +4 -4
- package/dist/{chunk-6IRZZYHF.js → chunk-H5R2EZYI.js} +7 -7
- package/dist/{chunk-WLSFBXGS.js → chunk-HED2CZDZ.js} +3 -3
- package/dist/{chunk-JVOEVTCZ.js → chunk-HQCZT6TO.js} +5 -5
- package/dist/{chunk-NKEFH3RS.js → chunk-HWJ3FLZY.js} +5 -5
- package/dist/{chunk-42TOCPXB.js → chunk-I5SIHPOG.js} +6 -6
- package/dist/{chunk-K6FCSB6T.js → chunk-I62SKY4E.js} +4 -4
- package/dist/{chunk-GOQOVKUZ.js → chunk-I6CP3ZTP.js} +3 -3
- package/dist/chunk-I7CVC2DW.js +229 -0
- package/dist/chunk-I7CVC2DW.js.map +1 -0
- package/dist/{chunk-UFGT2SFD.js → chunk-ICHM2LQA.js} +4 -4
- package/dist/{chunk-5IMI2XNU.js → chunk-IMMPY4Q7.js} +6 -6
- package/dist/chunk-IP424VZD.js +208 -0
- package/dist/chunk-IP424VZD.js.map +1 -0
- package/dist/{chunk-437HQPUN.js → chunk-IQ5MBELJ.js} +7 -7
- package/dist/{chunk-FRUDRDJX.js → chunk-IZ7JTG3Z.js} +4 -4
- package/dist/{chunk-5ZOJLYD2.js → chunk-JE6RZ5L6.js} +4 -4
- package/dist/{chunk-KF3Q3C3P.js → chunk-JJFLCEJJ.js} +2 -2
- package/dist/chunk-JO6D7YGN.js +111 -0
- package/dist/chunk-JO6D7YGN.js.map +1 -0
- package/dist/{chunk-IWMAFTXP.js → chunk-K2VDRODL.js} +2 -2
- package/dist/{chunk-CFDWKQZT.js → chunk-KILA7LCC.js} +4 -4
- package/dist/{chunk-IMYKJTVX.js → chunk-KLLHCPA2.js} +2 -2
- package/dist/{chunk-5UBP2DJ4.js → chunk-KZ5F52D6.js} +39 -5
- package/dist/chunk-KZ5F52D6.js.map +1 -0
- package/dist/{chunk-FORQEHRQ.js → chunk-L5GZZUTY.js} +2 -2
- package/dist/{chunk-N557OEZR.js → chunk-L62HC3UB.js} +2 -2
- package/dist/chunk-LE5JYNR7.js +58 -0
- package/dist/chunk-LE5JYNR7.js.map +1 -0
- package/dist/{chunk-2IHUFUTO.js → chunk-LR56OANO.js} +6 -6
- package/dist/{chunk-EAFZ3RDY.js → chunk-LSGZLFKX.js} +8 -8
- package/dist/{chunk-W5WYTVLS.js → chunk-LY5I3ZSV.js} +4 -4
- package/dist/{chunk-T77OVQEO.js → chunk-LZKS3NER.js} +2 -2
- package/dist/{chunk-ZAPP32GD.js → chunk-M7HYNXCU.js} +2 -2
- package/dist/chunk-MAYAJXO6.js +104 -0
- package/dist/chunk-MAYAJXO6.js.map +1 -0
- package/dist/{chunk-D34PZJH3.js → chunk-MBMZNSBP.js} +2 -2
- package/dist/{chunk-HUXAIQC5.js → chunk-MJDSXQV7.js} +2 -2
- package/dist/{chunk-PEVBSNCD.js → chunk-MLAIXRVL.js} +2 -2
- package/dist/chunk-MQVYJVKV.js +32 -0
- package/dist/chunk-MQVYJVKV.js.map +1 -0
- package/dist/{chunk-5U7LBO2V.js → chunk-MUHRPJQT.js} +4 -4
- package/dist/{chunk-COK65GX2.js → chunk-N2KHISGH.js} +2 -2
- package/dist/{chunk-UQ5GJPVZ.js → chunk-N3C4J6Z2.js} +3 -3
- package/dist/{chunk-PGANINQD.js → chunk-NI67M453.js} +5 -5
- package/dist/{chunk-P4Q7JK4L.js → chunk-NQ6P7O7C.js} +2 -2
- package/dist/{chunk-QVDEGBME.js → chunk-NQCTANF3.js} +7 -7
- package/dist/{chunk-AQPPSR4P.js → chunk-NQUYBJKJ.js} +2 -2
- package/dist/{chunk-LOHQLARB.js → chunk-NTCWIMIU.js} +4 -4
- package/dist/{chunk-Q4GAPZDA.js → chunk-O2MR6U7Q.js} +5 -5
- package/dist/{chunk-2FQF4CNE.js → chunk-OPP6USJC.js} +2 -2
- package/dist/{chunk-HNEZWVDR.js → chunk-P5C4DTO4.js} +3 -3
- package/dist/{chunk-6EZQLNPK.js → chunk-PGJIWCQR.js} +4 -4
- package/dist/{chunk-TJUWSQYQ.js → chunk-PSIUFPXA.js} +18 -1
- package/dist/{chunk-TJUWSQYQ.js.map → chunk-PSIUFPXA.js.map} +1 -1
- package/dist/{chunk-3LUT2C5M.js → chunk-QMRR35W2.js} +19 -11
- package/dist/chunk-QMRR35W2.js.map +1 -0
- package/dist/chunk-QQFFE3CQ.js +90 -0
- package/dist/chunk-QQFFE3CQ.js.map +1 -0
- package/dist/{chunk-PJNIJIE6.js → chunk-RCTHCXS6.js} +2 -2
- package/dist/{chunk-YBAK2WN5.js → chunk-RFMQBIE6.js} +4 -4
- package/dist/{chunk-EYFDIUVR.js → chunk-RZTUMBRD.js} +2 -2
- package/dist/{chunk-SGFRSRAL.js → chunk-S5VIN3EB.js} +4 -4
- package/dist/{chunk-QHIWV55K.js → chunk-SB2SEGR6.js} +3 -3
- package/dist/{chunk-5CP6VW5H.js → chunk-SFNVAM7I.js} +6 -6
- package/dist/{chunk-HOPRZEBM.js → chunk-SKIAWOUC.js} +3 -3
- package/dist/{chunk-KES3HNSU.js → chunk-T7NEXLW6.js} +2 -2
- package/dist/{chunk-EWFBDAB7.js → chunk-TOLCZ4XT.js} +2 -2
- package/dist/{chunk-HBH7V3IP.js → chunk-TOOEEQ46.js} +2 -2
- package/dist/{chunk-L7HNQRFS.js → chunk-TSID4257.js} +8 -8
- package/dist/chunk-TTRWOI6Z.js +1 -0
- package/dist/chunk-TTRWOI6Z.js.map +1 -0
- package/dist/{chunk-5CP5Z3YU.js → chunk-TYGVNTUP.js} +2 -2
- package/dist/{chunk-JG733RMP.js → chunk-TZC6KIK2.js} +5 -5
- package/dist/{chunk-XS6QHZMD.js → chunk-UBMH5MED.js} +9 -9
- package/dist/chunk-UIHPFELH.js +228 -0
- package/dist/chunk-UIHPFELH.js.map +1 -0
- package/dist/{chunk-UXOFA3ZP.js → chunk-UNCDOLF5.js} +7 -7
- package/dist/{chunk-UYKIUUWP.js → chunk-V2QTL6VI.js} +2 -2
- package/dist/{chunk-6GICMRDX.js → chunk-VMTOLAZ5.js} +5 -5
- package/dist/{chunk-4QGMUHAU.js → chunk-VQ7YNAK2.js} +2 -2
- package/dist/chunk-WCETCAZO.js +140 -0
- package/dist/chunk-WCETCAZO.js.map +1 -0
- package/dist/{chunk-B32XH7NK.js → chunk-WHOD6LVN.js} +3 -3
- package/dist/{chunk-X3EEV3OI.js → chunk-WLC56R2I.js} +7 -7
- package/dist/{chunk-X4J576GR.js → chunk-WTACWJSF.js} +2 -2
- package/dist/{chunk-5S5K73I6.js → chunk-WUBMJSBR.js} +2 -2
- package/dist/{chunk-TSEBMVYY.js → chunk-X2GWR75Q.js} +3 -3
- package/dist/{chunk-2VRJ577J.js → chunk-X3EB67O2.js} +4 -4
- package/dist/{chunk-PQGHYFUA.js → chunk-XALFZ25A.js} +4 -4
- package/dist/{chunk-BNBWUXT3.js → chunk-XEKJ7L7I.js} +2 -2
- package/dist/{chunk-YPW4HZ3Z.js → chunk-XHIBFBNP.js} +4 -4
- package/dist/{chunk-QAH3XILB.js → chunk-XNIHDUOP.js} +3 -3
- package/dist/{chunk-DILDC77M.js → chunk-XRVXQJNB.js} +3 -3
- package/dist/{chunk-K6WY2CHG.js → chunk-XZFTRGRW.js} +2 -2
- package/dist/{chunk-LLPPIO3K.js → chunk-Y4ZWPOUV.js} +2 -2
- package/dist/{chunk-C4NSEUT5.js → chunk-Y6IIWGZB.js} +2 -2
- package/dist/{chunk-TLJVUWJ5.js → chunk-YAQE7QVC.js} +3 -3
- package/dist/{chunk-4OUJ4ZMK.js → chunk-YDIC6LSP.js} +2 -2
- package/dist/chunk-YE44HUFF.js +72 -0
- package/dist/chunk-YE44HUFF.js.map +1 -0
- package/dist/{chunk-PVIQDBUN.js → chunk-YFG6XXBB.js} +2 -2
- package/dist/{chunk-UBVKMM3V.js → chunk-YGQ2DLIM.js} +2 -2
- package/dist/{chunk-T5RFH2T5.js → chunk-YKONJEI4.js} +2 -2
- package/dist/{chunk-ZIHSCBMN.js → chunk-YLZXIR6B.js} +7 -7
- package/dist/chunk-YMYJO2CZ.js +32 -0
- package/dist/chunk-YMYJO2CZ.js.map +1 -0
- package/dist/{chunk-A3DDEKLV.js → chunk-YNZUYZ2O.js} +2 -2
- package/dist/chunk-YSUJCKEE.js +341 -0
- package/dist/chunk-YSUJCKEE.js.map +1 -0
- package/dist/{chunk-YNVTUQ5B.js → chunk-YWBPASB2.js} +2 -2
- package/dist/{chunk-G3JFESKD.js → chunk-Z5WUSI47.js} +6 -6
- package/dist/{chunk-IX5ADKII.js → chunk-Z7CBLQQR.js} +3 -3
- package/dist/{chunk-7WE432RQ.js → chunk-ZCNR4DN5.js} +12 -12
- package/dist/{chunk-JRBSTOMA.js → chunk-ZDAAHCIS.js} +6 -6
- package/dist/{chunk-2SBQ47RI.js → chunk-ZF2LZVDO.js} +7 -7
- package/dist/{chunk-4IG73U2X.js → chunk-ZIA774ZW.js} +2 -2
- package/dist/{chunk-E5OBAS3U.js → chunk-ZLIES3XR.js} +2 -2
- package/dist/data-display/Alert.js +3 -3
- package/dist/data-display/AlertDialog.js +3 -3
- package/dist/data-display/AsyncStateContainer.js +9 -9
- package/dist/data-display/Avatar.js +4 -4
- package/dist/data-display/Badge.js +1 -1
- package/dist/data-display/CardKit.js +22 -22
- package/dist/data-display/Carousel.js +4 -4
- package/dist/data-display/Chart.js +18 -18
- package/dist/data-display/Chip.js +3 -3
- package/dist/data-display/DataGrid.js +2 -2
- package/dist/data-display/DataViews.js +92 -92
- package/dist/data-display/DayRuler.js +33 -0
- package/dist/data-display/DayRuler.js.map +1 -0
- package/dist/data-display/EmptyState.js +3 -3
- package/dist/data-display/ErrorState.js +2 -2
- package/dist/data-display/FleetMap.js +19 -19
- package/dist/data-display/HoverCard.js +3 -3
- package/dist/data-display/InteractiveTooltip.js +2 -2
- package/dist/data-display/LazyImage.js +4 -4
- package/dist/data-display/Lightbox.js +4 -4
- package/dist/data-display/LoadingState.js +5 -5
- package/dist/data-display/MapPreview.js +5 -5
- package/dist/data-display/RegionMap.js +6 -6
- package/dist/data-display/ScheduleGrid.js +30 -0
- package/dist/data-display/ScheduleGrid.js.map +1 -0
- package/dist/data-display/SectionOnboarding.js +5 -5
- package/dist/data-display/Sheet.js +8 -8
- package/dist/data-display/StatCard.js +3 -3
- package/dist/data-display/Stepper.js +2 -2
- package/dist/data-display/Table.js +5 -5
- package/dist/data-display/Timeline.js +2 -2
- package/dist/en-US.js +1 -1
- package/dist/feedback/ConfirmAction.js +9 -9
- package/dist/feedback/Dialog.js +2 -2
- package/dist/feedback/NotificationStatusNotice.js +4 -4
- package/dist/feedback/SequenceResolver.js +14 -11
- package/dist/feedback/Sonner.js +2 -2
- package/dist/feedback/StackedModal.js +4 -4
- package/dist/feedback/Toast.js +2 -2
- package/dist/feedback/TutorialOverlay.js +2 -2
- package/dist/form/AddressAutocomplete.js +1 -1
- package/dist/form/Autocomplete.js +2 -2
- package/dist/form/Calendar.js +7 -7
- package/dist/form/CategorySelect.js +9 -9
- package/dist/form/Command.js +6 -6
- package/dist/form/DateRangePicker.js +13 -13
- package/dist/form/Label.js +1 -1
- package/dist/form/Menubar.js +5 -5
- package/dist/form/PickerSheet.js +4 -4
- package/dist/form/RichTextEditor.js +5 -5
- package/dist/form/Switch.js +4 -4
- package/dist/form/total-form.js +18 -18
- package/dist/icons.js +1 -1
- package/dist/layout/Box.js +1 -1
- package/dist/layout/Card.js +2 -2
- package/dist/layout/ContentToolbar.js +8 -8
- package/dist/layout/Dashboard.js +2 -2
- package/dist/layout/Drawer.js +2 -2
- package/dist/layout/Screen.js +1 -1
- package/dist/layout/ScrollArea.js +3 -3
- package/dist/layout/SettingCard.js +21 -21
- package/dist/layout/SettingsLayout.js +8 -8
- package/dist/layout/Skeleton.js +2 -2
- package/dist/layout/Stack.js +1 -1
- package/dist/layout/TableFilter.js +2 -2
- package/dist/locales.js +27 -27
- package/dist/native/chunks/{chunk-FXA5DLKR.js → chunk-4G634E3Q.js} +3 -3
- package/dist/{chunk-XOXXG7Q5.js → native/chunks/chunk-E5UA5XVN.js} +18 -1
- package/dist/native/chunks/chunk-E5UA5XVN.js.map +1 -0
- package/dist/native/chunks/{chunk-IN3XZ7EK.js → chunk-WLG3KT2V.js} +2 -2
- package/dist/native/data-display/Avatar.js +1 -1
- package/dist/native/data-display/Badge.js +1 -1
- package/dist/native/data-display/Chip.js +1 -1
- package/dist/native/data-display/EmptyState.js +3 -3
- package/dist/native/data-display/ErrorState.js +2 -2
- package/dist/native/data-display/FleetMap.js +3 -3
- package/dist/native/data-display/LoadingState.js +1 -1
- package/dist/native/feedback/Dialog.js +1 -1
- package/dist/native/form/Button.js +2 -2
- package/dist/native/form/Checkbox.js +1 -1
- package/dist/native/form/Input.js +1 -1
- package/dist/native/form/Switch.js +1 -1
- package/dist/navigation/AppHeader.js +13 -13
- package/dist/navigation/Breadcrumbs.js +2 -2
- package/dist/navigation/NavigationMenu.js +6 -6
- package/dist/navigation/Pagination.js +2 -2
- package/dist/navigation/SectionNav.js +6 -6
- package/dist/provider.js +1 -1
- package/dist/pt-BR.js +24 -24
- package/dist/social-login-button.js +4 -4
- package/dist/tokens.js +6 -6
- package/dist/types/components/data-display/DayRuler/DayRuler.d.ts +13 -0
- package/dist/types/components/data-display/DayRuler/DayRuler.d.ts.map +1 -0
- package/dist/types/components/data-display/DayRuler/DayRuler.keyboard.d.ts +31 -0
- package/dist/types/components/data-display/DayRuler/DayRuler.keyboard.d.ts.map +1 -0
- package/dist/types/components/data-display/DayRuler/DayRuler.metrics.d.ts +86 -0
- package/dist/types/components/data-display/DayRuler/DayRuler.metrics.d.ts.map +1 -0
- package/dist/types/components/data-display/DayRuler/DayRuler.parts.d.ts +37 -0
- package/dist/types/components/data-display/DayRuler/DayRuler.parts.d.ts.map +1 -0
- package/dist/types/components/data-display/DayRuler/DayRuler.styles.d.ts +45 -0
- package/dist/types/components/data-display/DayRuler/DayRuler.styles.d.ts.map +1 -0
- package/dist/types/components/data-display/DayRuler/DayRuler.types.d.ts +105 -0
- package/dist/types/components/data-display/DayRuler/DayRuler.types.d.ts.map +1 -0
- package/dist/types/components/data-display/DayRuler/day-ruler-model.d.ts +26 -0
- package/dist/types/components/data-display/DayRuler/day-ruler-model.d.ts.map +1 -0
- package/dist/types/components/data-display/DayRuler/index.d.ts +4 -0
- package/dist/types/components/data-display/DayRuler/index.d.ts.map +1 -0
- package/dist/types/components/data-display/DayRuler/useRulerDrag.d.ts +45 -0
- package/dist/types/components/data-display/DayRuler/useRulerDrag.d.ts.map +1 -0
- package/dist/types/components/data-display/DayRuler/useTextFits.d.ts +14 -0
- package/dist/types/components/data-display/DayRuler/useTextFits.d.ts.map +1 -0
- package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.d.ts +15 -0
- package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.d.ts.map +1 -0
- package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.keyboard.d.ts +32 -0
- package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.keyboard.d.ts.map +1 -0
- package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.metrics.d.ts +105 -0
- package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.metrics.d.ts.map +1 -0
- package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.parts.d.ts +51 -0
- package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.parts.d.ts.map +1 -0
- package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.styles.d.ts +75 -0
- package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.styles.d.ts.map +1 -0
- package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.types.d.ts +136 -0
- package/dist/types/components/data-display/ScheduleGrid/ScheduleGrid.types.d.ts.map +1 -0
- package/dist/types/components/data-display/ScheduleGrid/ScheduleNameCell.d.ts +33 -0
- package/dist/types/components/data-display/ScheduleGrid/ScheduleNameCell.d.ts.map +1 -0
- package/dist/types/components/data-display/ScheduleGrid/drag-session.d.ts +47 -0
- package/dist/types/components/data-display/ScheduleGrid/drag-session.d.ts.map +1 -0
- package/dist/types/components/data-display/ScheduleGrid/index.d.ts +4 -0
- package/dist/types/components/data-display/ScheduleGrid/index.d.ts.map +1 -0
- package/dist/types/components/data-display/ScheduleGrid/schedule-grid-model.d.ts +18 -0
- package/dist/types/components/data-display/ScheduleGrid/schedule-grid-model.d.ts.map +1 -0
- package/dist/types/components/data-display/ScheduleGrid/schedule-name.styles.d.ts +16 -0
- package/dist/types/components/data-display/ScheduleGrid/schedule-name.styles.d.ts.map +1 -0
- package/dist/types/components/data-display/ScheduleGrid/schedule-tones.d.ts +32 -0
- package/dist/types/components/data-display/ScheduleGrid/schedule-tones.d.ts.map +1 -0
- package/dist/types/components/data-display/ScheduleGrid/useAnnouncer.d.ts +13 -0
- package/dist/types/components/data-display/ScheduleGrid/useAnnouncer.d.ts.map +1 -0
- package/dist/types/components/data-display/ScheduleGrid/useGridDrag.d.ts +56 -0
- package/dist/types/components/data-display/ScheduleGrid/useGridDrag.d.ts.map +1 -0
- package/dist/types/components/data-display/ScheduleGrid/useSidewaysScroll.d.ts +26 -0
- package/dist/types/components/data-display/ScheduleGrid/useSidewaysScroll.d.ts.map +1 -0
- package/dist/types/components/data-display/index.d.ts +2 -0
- package/dist/types/components/data-display/index.d.ts.map +1 -1
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.d.ts.map +1 -1
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.header.d.ts +33 -0
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.header.d.ts.map +1 -0
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.header.styles.d.ts +17 -0
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.header.styles.d.ts.map +1 -0
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.metrics.d.ts +12 -0
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.metrics.d.ts.map +1 -1
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.overview.d.ts +22 -0
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.overview.d.ts.map +1 -0
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.parts.d.ts +6 -18
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.parts.d.ts.map +1 -1
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.styles.d.ts +17 -0
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.styles.d.ts.map +1 -1
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.types.d.ts +56 -1
- package/dist/types/components/feedback/SequenceResolver/SequenceResolver.types.d.ts.map +1 -1
- package/dist/types/components/feedback/SequenceResolver/index.d.ts +1 -1
- package/dist/types/components/feedback/SequenceResolver/index.d.ts.map +1 -1
- package/dist/types/components/feedback/SequenceResolver/sequence-model.d.ts +27 -3
- package/dist/types/components/feedback/SequenceResolver/sequence-model.d.ts.map +1 -1
- package/dist/types/components/feedback/SequenceResolver/useSequenceRun.d.ts +9 -0
- package/dist/types/components/feedback/SequenceResolver/useSequenceRun.d.ts.map +1 -1
- package/dist/types/copy/labels.d.ts +34 -0
- package/dist/types/copy/labels.d.ts.map +1 -1
- package/dist/types/en-US.labels.d.ts.map +1 -1
- package/dist/types/pt-BR.labels.d.ts.map +1 -1
- package/dist/types-native/copy/labels.d.ts +34 -0
- package/dist/types-native/copy/labels.d.ts.map +1 -1
- package/dist/types-native/en-US.labels.d.ts.map +1 -1
- package/dist/typography/Code.js +2 -2
- package/dist/user-avatar.js +7 -7
- package/dist/utility/AnimatedIcon.js +2 -2
- package/dist/utility/InfiniteScroll.js +3 -3
- package/dist/utility/InstallPrompt.js +2 -2
- package/dist/utility/WorkflowStep.js +6 -6
- package/package.json +9 -1
- package/src/components/data-display/DayRuler/DayRuler.keyboard.ts +94 -0
- package/src/components/data-display/DayRuler/DayRuler.md +84 -0
- package/src/components/data-display/DayRuler/DayRuler.metrics.ts +47 -0
- package/src/components/data-display/DayRuler/DayRuler.parts.tsx +272 -0
- package/src/components/data-display/DayRuler/DayRuler.styles.ts +288 -0
- package/src/components/data-display/DayRuler/DayRuler.tsx +130 -0
- package/src/components/data-display/DayRuler/DayRuler.types.ts +107 -0
- package/src/components/data-display/DayRuler/day-ruler-model.ts +83 -0
- package/src/components/data-display/DayRuler/index.ts +9 -0
- package/src/components/data-display/DayRuler/useRulerDrag.ts +167 -0
- package/src/components/data-display/DayRuler/useTextFits.ts +41 -0
- package/src/components/data-display/ScheduleGrid/ScheduleGrid.keyboard.ts +138 -0
- package/src/components/data-display/ScheduleGrid/ScheduleGrid.md +140 -0
- package/src/components/data-display/ScheduleGrid/ScheduleGrid.metrics.ts +75 -0
- package/src/components/data-display/ScheduleGrid/ScheduleGrid.parts.tsx +357 -0
- package/src/components/data-display/ScheduleGrid/ScheduleGrid.styles.ts +386 -0
- package/src/components/data-display/ScheduleGrid/ScheduleGrid.tsx +142 -0
- package/src/components/data-display/ScheduleGrid/ScheduleGrid.types.ts +144 -0
- package/src/components/data-display/ScheduleGrid/ScheduleNameCell.tsx +66 -0
- package/src/components/data-display/ScheduleGrid/drag-session.ts +120 -0
- package/src/components/data-display/ScheduleGrid/index.ts +12 -0
- package/src/components/data-display/ScheduleGrid/schedule-grid-model.ts +39 -0
- package/src/components/data-display/ScheduleGrid/schedule-name.styles.ts +96 -0
- package/src/components/data-display/ScheduleGrid/schedule-tones.ts +126 -0
- package/src/components/data-display/ScheduleGrid/useAnnouncer.ts +32 -0
- package/src/components/data-display/ScheduleGrid/useGridDrag.ts +137 -0
- package/src/components/data-display/ScheduleGrid/useSidewaysScroll.ts +126 -0
- package/src/components/data-display/index.ts +2 -0
- package/src/components/feedback/SequenceResolver/SequenceResolver.header.styles.ts +65 -0
- package/src/components/feedback/SequenceResolver/SequenceResolver.header.tsx +153 -0
- package/src/components/feedback/SequenceResolver/SequenceResolver.md +43 -2
- package/src/components/feedback/SequenceResolver/SequenceResolver.metrics.ts +12 -0
- package/src/components/feedback/SequenceResolver/SequenceResolver.overview.tsx +74 -0
- package/src/components/feedback/SequenceResolver/SequenceResolver.parts.tsx +37 -83
- package/src/components/feedback/SequenceResolver/SequenceResolver.styles.ts +47 -0
- package/src/components/feedback/SequenceResolver/SequenceResolver.tsx +152 -35
- package/src/components/feedback/SequenceResolver/SequenceResolver.types.ts +58 -1
- package/src/components/feedback/SequenceResolver/index.ts +2 -0
- package/src/components/feedback/SequenceResolver/sequence-model.ts +66 -5
- package/src/components/feedback/SequenceResolver/useSequenceRun.ts +28 -10
- package/src/copy/labels.ts +36 -0
- package/src/en-US.labels.ts +17 -0
- package/src/pt-BR.labels.ts +17 -0
- package/dist/chunk-3LUT2C5M.js.map +0 -1
- package/dist/chunk-5UBP2DJ4.js.map +0 -1
- package/dist/chunk-ABRUOINB.js +0 -1
- package/dist/chunk-HHPFWEJY.js.map +0 -1
- package/dist/chunk-OFESNJKE.js.map +0 -1
- package/dist/chunk-PXEIN3J4.js +0 -162
- package/dist/chunk-PXEIN3J4.js.map +0 -1
- package/dist/chunk-XOXXG7Q5.js.map +0 -1
- package/dist/native/chunks/chunk-QHW7JEPZ.js.map +0 -1
- /package/dist/{chunk-ABRUOINB.js.map → _internal/components/data-display/DayRuler/DayRuler.js.map} +0 -0
- /package/dist/{chunk-X4N6Q37Q.js.map → chunk-2CRNOJGL.js.map} +0 -0
- /package/dist/{chunk-L5KPBMMF.js.map → chunk-2ENMRK3U.js.map} +0 -0
- /package/dist/{chunk-K7IDOTSU.js.map → chunk-2KBATUOZ.js.map} +0 -0
- /package/dist/{chunk-VKTF3GAP.js.map → chunk-2MYSXWZQ.js.map} +0 -0
- /package/dist/{chunk-7QKFMMWK.js.map → chunk-2Q2DUGH7.js.map} +0 -0
- /package/dist/{chunk-VQ6V5TO7.js.map → chunk-2UNZG4JK.js.map} +0 -0
- /package/dist/{chunk-5VKHJ7PI.js.map → chunk-3B4NXP4N.js.map} +0 -0
- /package/dist/{chunk-HC6OZ7QK.js.map → chunk-3EIRRLCQ.js.map} +0 -0
- /package/dist/{chunk-MSJP2AEN.js.map → chunk-3EKY63LD.js.map} +0 -0
- /package/dist/{chunk-LH43GKP2.js.map → chunk-3KMP2F4R.js.map} +0 -0
- /package/dist/{chunk-D3W5A4N6.js.map → chunk-3STNOYYO.js.map} +0 -0
- /package/dist/{chunk-TVDHA7BT.js.map → chunk-3Y6NO5XL.js.map} +0 -0
- /package/dist/{chunk-ABQZFK7M.js.map → chunk-44PBCQ7E.js.map} +0 -0
- /package/dist/{chunk-PGHSNG33.js.map → chunk-4PZZJ2AE.js.map} +0 -0
- /package/dist/{chunk-TRAMTVIO.js.map → chunk-4QTPERAY.js.map} +0 -0
- /package/dist/{chunk-W2RXXF7K.js.map → chunk-4XBAEKQQ.js.map} +0 -0
- /package/dist/{chunk-XCUHGPPZ.js.map → chunk-55PFFAAY.js.map} +0 -0
- /package/dist/{chunk-LYVTJLCF.js.map → chunk-56JF5PZK.js.map} +0 -0
- /package/dist/{chunk-5C3JSXBK.js.map → chunk-5BVAUUWL.js.map} +0 -0
- /package/dist/{chunk-6OISIUZM.js.map → chunk-5F7HYYGM.js.map} +0 -0
- /package/dist/{chunk-JHW35C6W.js.map → chunk-5QUH53HV.js.map} +0 -0
- /package/dist/{chunk-DAFFZED3.js.map → chunk-5YVMFK7Y.js.map} +0 -0
- /package/dist/{chunk-TI4FGQYV.js.map → chunk-62PTREG5.js.map} +0 -0
- /package/dist/{chunk-3DPPDGOF.js.map → chunk-62SXUU5U.js.map} +0 -0
- /package/dist/{chunk-3JZ3KEQQ.js.map → chunk-6ATXOJVQ.js.map} +0 -0
- /package/dist/{chunk-7W5X3KQ2.js.map → chunk-6BQ3YKLD.js.map} +0 -0
- /package/dist/{chunk-VPH3TENY.js.map → chunk-6DGNMASB.js.map} +0 -0
- /package/dist/{chunk-NOF2FF4K.js.map → chunk-7CPLKAL6.js.map} +0 -0
- /package/dist/{chunk-DVX4HDNP.js.map → chunk-7IBFGOLF.js.map} +0 -0
- /package/dist/{chunk-EOQ6EKTS.js.map → chunk-7XSCEHGA.js.map} +0 -0
- /package/dist/{chunk-QCYQL3ST.js.map → chunk-7XUQJJPK.js.map} +0 -0
- /package/dist/{chunk-7VUXSNVZ.js.map → chunk-A4B27HYU.js.map} +0 -0
- /package/dist/{chunk-42D7KBDH.js.map → chunk-AD6GRJFV.js.map} +0 -0
- /package/dist/{chunk-CAOL4AIB.js.map → chunk-AEAVVKGY.js.map} +0 -0
- /package/dist/{chunk-M3XJVD5G.js.map → chunk-AMLHEKSV.js.map} +0 -0
- /package/dist/{chunk-E5QOT7KK.js.map → chunk-AN37BIIO.js.map} +0 -0
- /package/dist/{chunk-ABVIMFSD.js.map → chunk-AWUB3T7C.js.map} +0 -0
- /package/dist/{chunk-ALOEOGQV.js.map → chunk-AXGQB24R.js.map} +0 -0
- /package/dist/{chunk-Q4QFYGPH.js.map → chunk-B5SBDLRS.js.map} +0 -0
- /package/dist/{chunk-G4W6HR6Q.js.map → chunk-B7GGLFJB.js.map} +0 -0
- /package/dist/{chunk-C347NNZJ.js.map → chunk-B7ZAEZJW.js.map} +0 -0
- /package/dist/{chunk-GANJRIT3.js.map → chunk-C3MXURP3.js.map} +0 -0
- /package/dist/{chunk-4QR7LM5F.js.map → chunk-CTN4BRAH.js.map} +0 -0
- /package/dist/{chunk-ZANWHTXH.js.map → chunk-CVB26LLB.js.map} +0 -0
- /package/dist/{chunk-JH2XLVWM.js.map → chunk-CW5Z67NA.js.map} +0 -0
- /package/dist/{chunk-CY4XIZNW.js.map → chunk-D3B4V44W.js.map} +0 -0
- /package/dist/{chunk-BAC2PBOS.js.map → chunk-D3SIZ2CX.js.map} +0 -0
- /package/dist/{chunk-QN7FVZQD.js.map → chunk-DHAXUVMR.js.map} +0 -0
- /package/dist/{chunk-YGLAGY74.js.map → chunk-DM57YWZH.js.map} +0 -0
- /package/dist/{chunk-NASLJO2R.js.map → chunk-DRJGHTQU.js.map} +0 -0
- /package/dist/{chunk-BLZDSCIZ.js.map → chunk-DYHOBKPU.js.map} +0 -0
- /package/dist/{chunk-6HXNFNOB.js.map → chunk-EE6DJPB7.js.map} +0 -0
- /package/dist/{chunk-ANUO67JQ.js.map → chunk-EIMFA7KP.js.map} +0 -0
- /package/dist/{chunk-AKE6KVQG.js.map → chunk-EVIQUBC6.js.map} +0 -0
- /package/dist/{chunk-6X7PE5DH.js.map → chunk-EXKEPOL7.js.map} +0 -0
- /package/dist/{chunk-LIN4A2BW.js.map → chunk-FKS2PNJF.js.map} +0 -0
- /package/dist/{chunk-ZYZPSBNQ.js.map → chunk-G3G5W4OF.js.map} +0 -0
- /package/dist/{chunk-J2KVF5GO.js.map → chunk-GBB23QLL.js.map} +0 -0
- /package/dist/{chunk-KTXJQ4YJ.js.map → chunk-GBVNY2LG.js.map} +0 -0
- /package/dist/{chunk-CJLZHW2Z.js.map → chunk-GCR6VE5S.js.map} +0 -0
- /package/dist/{chunk-APSEM5AA.js.map → chunk-GS3QDXDP.js.map} +0 -0
- /package/dist/{chunk-6IRZZYHF.js.map → chunk-H5R2EZYI.js.map} +0 -0
- /package/dist/{chunk-WLSFBXGS.js.map → chunk-HED2CZDZ.js.map} +0 -0
- /package/dist/{chunk-JVOEVTCZ.js.map → chunk-HQCZT6TO.js.map} +0 -0
- /package/dist/{chunk-NKEFH3RS.js.map → chunk-HWJ3FLZY.js.map} +0 -0
- /package/dist/{chunk-42TOCPXB.js.map → chunk-I5SIHPOG.js.map} +0 -0
- /package/dist/{chunk-K6FCSB6T.js.map → chunk-I62SKY4E.js.map} +0 -0
- /package/dist/{chunk-GOQOVKUZ.js.map → chunk-I6CP3ZTP.js.map} +0 -0
- /package/dist/{chunk-UFGT2SFD.js.map → chunk-ICHM2LQA.js.map} +0 -0
- /package/dist/{chunk-5IMI2XNU.js.map → chunk-IMMPY4Q7.js.map} +0 -0
- /package/dist/{chunk-437HQPUN.js.map → chunk-IQ5MBELJ.js.map} +0 -0
- /package/dist/{chunk-FRUDRDJX.js.map → chunk-IZ7JTG3Z.js.map} +0 -0
- /package/dist/{chunk-5ZOJLYD2.js.map → chunk-JE6RZ5L6.js.map} +0 -0
- /package/dist/{chunk-KF3Q3C3P.js.map → chunk-JJFLCEJJ.js.map} +0 -0
- /package/dist/{chunk-IWMAFTXP.js.map → chunk-K2VDRODL.js.map} +0 -0
- /package/dist/{chunk-CFDWKQZT.js.map → chunk-KILA7LCC.js.map} +0 -0
- /package/dist/{chunk-IMYKJTVX.js.map → chunk-KLLHCPA2.js.map} +0 -0
- /package/dist/{chunk-FORQEHRQ.js.map → chunk-L5GZZUTY.js.map} +0 -0
- /package/dist/{chunk-N557OEZR.js.map → chunk-L62HC3UB.js.map} +0 -0
- /package/dist/{chunk-2IHUFUTO.js.map → chunk-LR56OANO.js.map} +0 -0
- /package/dist/{chunk-EAFZ3RDY.js.map → chunk-LSGZLFKX.js.map} +0 -0
- /package/dist/{chunk-W5WYTVLS.js.map → chunk-LY5I3ZSV.js.map} +0 -0
- /package/dist/{chunk-T77OVQEO.js.map → chunk-LZKS3NER.js.map} +0 -0
- /package/dist/{chunk-ZAPP32GD.js.map → chunk-M7HYNXCU.js.map} +0 -0
- /package/dist/{chunk-D34PZJH3.js.map → chunk-MBMZNSBP.js.map} +0 -0
- /package/dist/{chunk-HUXAIQC5.js.map → chunk-MJDSXQV7.js.map} +0 -0
- /package/dist/{chunk-PEVBSNCD.js.map → chunk-MLAIXRVL.js.map} +0 -0
- /package/dist/{chunk-5U7LBO2V.js.map → chunk-MUHRPJQT.js.map} +0 -0
- /package/dist/{chunk-COK65GX2.js.map → chunk-N2KHISGH.js.map} +0 -0
- /package/dist/{chunk-UQ5GJPVZ.js.map → chunk-N3C4J6Z2.js.map} +0 -0
- /package/dist/{chunk-PGANINQD.js.map → chunk-NI67M453.js.map} +0 -0
- /package/dist/{chunk-P4Q7JK4L.js.map → chunk-NQ6P7O7C.js.map} +0 -0
- /package/dist/{chunk-QVDEGBME.js.map → chunk-NQCTANF3.js.map} +0 -0
- /package/dist/{chunk-AQPPSR4P.js.map → chunk-NQUYBJKJ.js.map} +0 -0
- /package/dist/{chunk-LOHQLARB.js.map → chunk-NTCWIMIU.js.map} +0 -0
- /package/dist/{chunk-Q4GAPZDA.js.map → chunk-O2MR6U7Q.js.map} +0 -0
- /package/dist/{chunk-2FQF4CNE.js.map → chunk-OPP6USJC.js.map} +0 -0
- /package/dist/{chunk-HNEZWVDR.js.map → chunk-P5C4DTO4.js.map} +0 -0
- /package/dist/{chunk-6EZQLNPK.js.map → chunk-PGJIWCQR.js.map} +0 -0
- /package/dist/{chunk-PJNIJIE6.js.map → chunk-RCTHCXS6.js.map} +0 -0
- /package/dist/{chunk-YBAK2WN5.js.map → chunk-RFMQBIE6.js.map} +0 -0
- /package/dist/{chunk-EYFDIUVR.js.map → chunk-RZTUMBRD.js.map} +0 -0
- /package/dist/{chunk-SGFRSRAL.js.map → chunk-S5VIN3EB.js.map} +0 -0
- /package/dist/{chunk-QHIWV55K.js.map → chunk-SB2SEGR6.js.map} +0 -0
- /package/dist/{chunk-5CP6VW5H.js.map → chunk-SFNVAM7I.js.map} +0 -0
- /package/dist/{chunk-HOPRZEBM.js.map → chunk-SKIAWOUC.js.map} +0 -0
- /package/dist/{chunk-KES3HNSU.js.map → chunk-T7NEXLW6.js.map} +0 -0
- /package/dist/{chunk-EWFBDAB7.js.map → chunk-TOLCZ4XT.js.map} +0 -0
- /package/dist/{chunk-HBH7V3IP.js.map → chunk-TOOEEQ46.js.map} +0 -0
- /package/dist/{chunk-L7HNQRFS.js.map → chunk-TSID4257.js.map} +0 -0
- /package/dist/{chunk-5CP5Z3YU.js.map → chunk-TYGVNTUP.js.map} +0 -0
- /package/dist/{chunk-JG733RMP.js.map → chunk-TZC6KIK2.js.map} +0 -0
- /package/dist/{chunk-XS6QHZMD.js.map → chunk-UBMH5MED.js.map} +0 -0
- /package/dist/{chunk-UXOFA3ZP.js.map → chunk-UNCDOLF5.js.map} +0 -0
- /package/dist/{chunk-UYKIUUWP.js.map → chunk-V2QTL6VI.js.map} +0 -0
- /package/dist/{chunk-6GICMRDX.js.map → chunk-VMTOLAZ5.js.map} +0 -0
- /package/dist/{chunk-4QGMUHAU.js.map → chunk-VQ7YNAK2.js.map} +0 -0
- /package/dist/{chunk-B32XH7NK.js.map → chunk-WHOD6LVN.js.map} +0 -0
- /package/dist/{chunk-X3EEV3OI.js.map → chunk-WLC56R2I.js.map} +0 -0
- /package/dist/{chunk-X4J576GR.js.map → chunk-WTACWJSF.js.map} +0 -0
- /package/dist/{chunk-5S5K73I6.js.map → chunk-WUBMJSBR.js.map} +0 -0
- /package/dist/{chunk-TSEBMVYY.js.map → chunk-X2GWR75Q.js.map} +0 -0
- /package/dist/{chunk-2VRJ577J.js.map → chunk-X3EB67O2.js.map} +0 -0
- /package/dist/{chunk-PQGHYFUA.js.map → chunk-XALFZ25A.js.map} +0 -0
- /package/dist/{chunk-BNBWUXT3.js.map → chunk-XEKJ7L7I.js.map} +0 -0
- /package/dist/{chunk-YPW4HZ3Z.js.map → chunk-XHIBFBNP.js.map} +0 -0
- /package/dist/{chunk-QAH3XILB.js.map → chunk-XNIHDUOP.js.map} +0 -0
- /package/dist/{chunk-DILDC77M.js.map → chunk-XRVXQJNB.js.map} +0 -0
- /package/dist/{chunk-K6WY2CHG.js.map → chunk-XZFTRGRW.js.map} +0 -0
- /package/dist/{chunk-LLPPIO3K.js.map → chunk-Y4ZWPOUV.js.map} +0 -0
- /package/dist/{chunk-C4NSEUT5.js.map → chunk-Y6IIWGZB.js.map} +0 -0
- /package/dist/{chunk-TLJVUWJ5.js.map → chunk-YAQE7QVC.js.map} +0 -0
- /package/dist/{chunk-4OUJ4ZMK.js.map → chunk-YDIC6LSP.js.map} +0 -0
- /package/dist/{chunk-PVIQDBUN.js.map → chunk-YFG6XXBB.js.map} +0 -0
- /package/dist/{chunk-UBVKMM3V.js.map → chunk-YGQ2DLIM.js.map} +0 -0
- /package/dist/{chunk-T5RFH2T5.js.map → chunk-YKONJEI4.js.map} +0 -0
- /package/dist/{chunk-ZIHSCBMN.js.map → chunk-YLZXIR6B.js.map} +0 -0
- /package/dist/{chunk-A3DDEKLV.js.map → chunk-YNZUYZ2O.js.map} +0 -0
- /package/dist/{chunk-YNVTUQ5B.js.map → chunk-YWBPASB2.js.map} +0 -0
- /package/dist/{chunk-G3JFESKD.js.map → chunk-Z5WUSI47.js.map} +0 -0
- /package/dist/{chunk-IX5ADKII.js.map → chunk-Z7CBLQQR.js.map} +0 -0
- /package/dist/{chunk-7WE432RQ.js.map → chunk-ZCNR4DN5.js.map} +0 -0
- /package/dist/{chunk-JRBSTOMA.js.map → chunk-ZDAAHCIS.js.map} +0 -0
- /package/dist/{chunk-2SBQ47RI.js.map → chunk-ZF2LZVDO.js.map} +0 -0
- /package/dist/{chunk-4IG73U2X.js.map → chunk-ZIA774ZW.js.map} +0 -0
- /package/dist/{chunk-E5OBAS3U.js.map → chunk-ZLIES3XR.js.map} +0 -0
- /package/dist/native/chunks/{chunk-FXA5DLKR.js.map → chunk-4G634E3Q.js.map} +0 -0
- /package/dist/native/chunks/{chunk-IN3XZ7EK.js.map → chunk-WLG3KT2V.js.map} +0 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import type * as React from 'react';
|
|
2
|
+
import { useEffect, useRef } from 'react';
|
|
3
|
+
|
|
4
|
+
import { SCHEDULE_GRID_METRICS as M } from './ScheduleGrid.metrics';
|
|
5
|
+
|
|
6
|
+
/** What the grid wires onto its header frame and its days. */
|
|
7
|
+
export interface SidewaysScroll {
|
|
8
|
+
/** On the days' scroll: the header row follows. */
|
|
9
|
+
follow: () => void;
|
|
10
|
+
/** On the header's wheel: a sideways wheel or trackpad swipe over it scrolls the days. */
|
|
11
|
+
forwardWheel: (event: React.WheelEvent<HTMLElement>) => void;
|
|
12
|
+
/** On the days' focus: a cell the keyboard reaches is brought fully into view. */
|
|
13
|
+
bringOut: (event: React.FocusEvent<HTMLElement>) => void;
|
|
14
|
+
/** A press began: the focus it starts is the pointer's, and is left where it is. */
|
|
15
|
+
press: () => void;
|
|
16
|
+
/** The press ended, or the keyboard took over. */
|
|
17
|
+
release: () => void;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/** How far a focused element's ring reaches outside it. */
|
|
21
|
+
function ringOf(element: HTMLElement): number {
|
|
22
|
+
const style = getComputedStyle(element);
|
|
23
|
+
const width = Number.parseFloat(style.outlineWidth) || 0;
|
|
24
|
+
const offset = Math.max(0, Number.parseFloat(style.outlineOffset) || 0);
|
|
25
|
+
return width + offset;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Whether this focus is the keyboard's (or a script's after a key). A tap's focus arrives after
|
|
30
|
+
* its pointerup, so the press flag alone would miss it; the browser's own heuristic does not.
|
|
31
|
+
*/
|
|
32
|
+
function keyboardFocus(element: HTMLElement): boolean {
|
|
33
|
+
try {
|
|
34
|
+
return element.matches(':focus-visible');
|
|
35
|
+
} catch {
|
|
36
|
+
return true; // an engine without the selector: the press flag still guards the pointer
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** The nearest ancestor that scrolls up and down, or the page. */
|
|
41
|
+
function verticalScroller(from: HTMLElement): HTMLElement | null {
|
|
42
|
+
for (let node = from.parentElement; node; node = node.parentElement) {
|
|
43
|
+
const overflowY = getComputedStyle(node).overflowY;
|
|
44
|
+
if ((overflowY === 'auto' || overflowY === 'scroll') && node.scrollHeight > node.clientHeight) return node;
|
|
45
|
+
}
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/** How far `target` sits left of the pinned names, or past the days' right edge (negative). */
|
|
50
|
+
function sidewaysOverflow(body: HTMLElement, target: HTMLElement, ring: number): number {
|
|
51
|
+
const box = target.getBoundingClientRect();
|
|
52
|
+
const row = target.closest('[role="row"]');
|
|
53
|
+
const names = row?.querySelector('[role="rowheader"]');
|
|
54
|
+
if (row && names && !target.closest('[role="rowheader"]')) {
|
|
55
|
+
const gap = Number.parseFloat(getComputedStyle(row).columnGap) || 0;
|
|
56
|
+
const underNames = names.getBoundingClientRect().right + gap - box.left;
|
|
57
|
+
if (underNames > 0) return underNames;
|
|
58
|
+
}
|
|
59
|
+
const right = body.getBoundingClientRect().left + body.clientLeft + body.clientWidth;
|
|
60
|
+
const pastRight = box.right + ring - right;
|
|
61
|
+
return pastRight > 0 ? -pastRight : 0;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The header row follows the days sideways, so each day's header stays over
|
|
66
|
+
* its column; only the days drive (the header is never a scroller of its own,
|
|
67
|
+
* so it is never a tab stop). And a cell the keyboard focuses is brought fully
|
|
68
|
+
* into view: out from under the pinned names, in from past the right edge, and
|
|
69
|
+
* down from under the sticky header — the browser counts a cell under a sticky
|
|
70
|
+
* column or header as already in view. A press (mouse, pen, a tap) is left
|
|
71
|
+
* alone: scrolling then would move the cell out from under the pointer and lose
|
|
72
|
+
* the click.
|
|
73
|
+
*/
|
|
74
|
+
export function useSidewaysScroll(
|
|
75
|
+
headRef: React.RefObject<HTMLElement | null>,
|
|
76
|
+
bodyRef: React.RefObject<HTMLElement | null>,
|
|
77
|
+
): SidewaysScroll {
|
|
78
|
+
const pressing = useRef(false);
|
|
79
|
+
const follow = (): void => {
|
|
80
|
+
const head = headRef.current;
|
|
81
|
+
const body = bodyRef.current;
|
|
82
|
+
if (head && body && head.scrollLeft !== body.scrollLeft) head.scrollLeft = body.scrollLeft;
|
|
83
|
+
};
|
|
84
|
+
const forwardWheel = (event: React.WheelEvent<HTMLElement>): void => {
|
|
85
|
+
const body = bodyRef.current;
|
|
86
|
+
if (!body) return;
|
|
87
|
+
const sideways = event.deltaX || (event.shiftKey ? event.deltaY : 0);
|
|
88
|
+
if (sideways) body.scrollLeft += event.deltaMode === 1 ? sideways * M.wheelLine : sideways;
|
|
89
|
+
};
|
|
90
|
+
const bringOut = (event: React.FocusEvent<HTMLElement>): void => {
|
|
91
|
+
const body = bodyRef.current;
|
|
92
|
+
const head = headRef.current;
|
|
93
|
+
const target = event.target;
|
|
94
|
+
if (pressing.current || !body || !(target instanceof HTMLElement) || !keyboardFocus(target)) return;
|
|
95
|
+
const ring = ringOf(target);
|
|
96
|
+
const sideways = sidewaysOverflow(body, target, ring);
|
|
97
|
+
if (sideways) body.scrollLeft -= sideways;
|
|
98
|
+
if (!head) return;
|
|
99
|
+
const underHeader = head.getBoundingClientRect().bottom + ring - target.getBoundingClientRect().top;
|
|
100
|
+
if (underHeader <= 0) return;
|
|
101
|
+
const scroller = verticalScroller(body);
|
|
102
|
+
if (scroller) scroller.scrollTop -= underHeader;
|
|
103
|
+
else window.scrollBy(0, -underHeader);
|
|
104
|
+
};
|
|
105
|
+
// A press released outside the days (a drag that ends past them) still ends: the window hears
|
|
106
|
+
// it. One pair of listeners for the grid's lifetime, gone with it — never one per press.
|
|
107
|
+
useEffect(() => {
|
|
108
|
+
const view = bodyRef.current?.ownerDocument.defaultView ?? window;
|
|
109
|
+
const end = (): void => {
|
|
110
|
+
pressing.current = false;
|
|
111
|
+
};
|
|
112
|
+
view.addEventListener('pointerup', end, true);
|
|
113
|
+
view.addEventListener('pointercancel', end, true);
|
|
114
|
+
return () => {
|
|
115
|
+
view.removeEventListener('pointerup', end, true);
|
|
116
|
+
view.removeEventListener('pointercancel', end, true);
|
|
117
|
+
};
|
|
118
|
+
}, [bodyRef]);
|
|
119
|
+
const press = (): void => {
|
|
120
|
+
pressing.current = true;
|
|
121
|
+
};
|
|
122
|
+
const release = (): void => {
|
|
123
|
+
pressing.current = false;
|
|
124
|
+
};
|
|
125
|
+
return { follow, forwardWheel, bringOut, press, release };
|
|
126
|
+
}
|
|
@@ -9,6 +9,7 @@ export * from './Chart';
|
|
|
9
9
|
export * from './Chip/Chip';
|
|
10
10
|
export * from './DataGrid';
|
|
11
11
|
export * from './DateTimeDisplay';
|
|
12
|
+
export * from './DayRuler';
|
|
12
13
|
export * from './DescriptionItem';
|
|
13
14
|
export * from './EmptyState/EmptyState';
|
|
14
15
|
export * from './ErrorState';
|
|
@@ -22,6 +23,7 @@ export * from './MapPreview';
|
|
|
22
23
|
export * from './Popover';
|
|
23
24
|
export * from './Progress';
|
|
24
25
|
export * from './RegionMap';
|
|
26
|
+
export * from './ScheduleGrid';
|
|
25
27
|
export * from './SectionOnboarding/SectionOnboarding';
|
|
26
28
|
export * from './Sheet';
|
|
27
29
|
export * from './StatCard';
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { SxProps, Theme } from '@mui/material/styles/index.js';
|
|
2
|
+
|
|
3
|
+
import { rem, sxRem } from '../../../tokens/relative';
|
|
4
|
+
import { SEQUENCE_METRICS as M } from './SequenceResolver.metrics';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* THE HEADER OF A RUN WITH "VER TODOS (N)" (FUT-3825). A resolver without an
|
|
8
|
+
* overview keeps the header it always had (`SequenceResolver.styles.ts`).
|
|
9
|
+
*
|
|
10
|
+
* Back · the step label · "Ver todos (N)" · close on ONE line, the progress
|
|
11
|
+
* bar under them at full width, nothing cut. On a narrow chrome (a phone
|
|
12
|
+
* under 375px) Back is its chevron alone, a 44px target, and the step label
|
|
13
|
+
* takes its own line under the bar. On a wider one only a long host label is
|
|
14
|
+
* cut, with an ellipsis.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/** The container the narrow layout answers to (container queries, never media queries). */
|
|
18
|
+
export const seeAllFrameSx: SxProps<Theme> = { containerType: 'inline-size', minWidth: 0 };
|
|
19
|
+
|
|
20
|
+
function narrow(theme: Theme): string {
|
|
21
|
+
return `@container (max-width: ${rem(theme, M.narrowChrome)})`;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export const seeAllGridSx: SxProps<Theme> = (theme: Theme) => ({
|
|
25
|
+
display: 'grid',
|
|
26
|
+
gridTemplateColumns: 'auto minmax(0, max-content) minmax(0, 1fr) auto auto',
|
|
27
|
+
gridTemplateAreas: '"back label . see close" "bar bar bar bar bar"',
|
|
28
|
+
alignItems: 'center',
|
|
29
|
+
rowGap: 2.25,
|
|
30
|
+
'& > [data-sr-back]': { gridArea: 'back', mr: 0.75 },
|
|
31
|
+
'& > [data-sr-label]': {
|
|
32
|
+
gridArea: 'label',
|
|
33
|
+
fontSize: sxRem(M.stepLabel),
|
|
34
|
+
fontWeight: 500,
|
|
35
|
+
color: 'text.secondary',
|
|
36
|
+
minWidth: 0,
|
|
37
|
+
overflow: 'hidden',
|
|
38
|
+
textOverflow: 'ellipsis',
|
|
39
|
+
whiteSpace: 'nowrap',
|
|
40
|
+
},
|
|
41
|
+
'& > [data-sr-see]': { gridArea: 'see', ml: 1.5 },
|
|
42
|
+
'& > [data-sr-close]': { gridArea: 'close', ml: 1.5 },
|
|
43
|
+
'& > [data-sr-bar]': { gridArea: 'bar', minWidth: 0 },
|
|
44
|
+
[narrow(theme)]: {
|
|
45
|
+
gridTemplateAreas: '"back . . see close" "bar bar bar bar bar" "label label label label label"',
|
|
46
|
+
// Its own line under the full-width bar, whole: a long one wraps rather than being cut.
|
|
47
|
+
'& > [data-sr-label]': { mt: -1.25, overflow: 'visible', whiteSpace: 'normal' },
|
|
48
|
+
// Parent class + attribute: over the Button's own size rules (MUI's 64px minimum width).
|
|
49
|
+
'& > [data-sr-back]': {
|
|
50
|
+
mr: 0,
|
|
51
|
+
width: rem(theme, M.touchTarget),
|
|
52
|
+
minWidth: rem(theme, M.touchTarget),
|
|
53
|
+
height: rem(theme, M.touchTarget),
|
|
54
|
+
px: 0,
|
|
55
|
+
'& [data-back-word]': { display: 'none' },
|
|
56
|
+
'& .MuiButton-startIcon': { m: 0 },
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
/** "Ver todos (N)": a text button on the header's line, always whole. */
|
|
62
|
+
export function seeAllButtonSx(touch: boolean): SxProps<Theme> {
|
|
63
|
+
const base = { flex: 'none', whiteSpace: 'nowrap' } as const;
|
|
64
|
+
return touch ? { ...base, minHeight: sxRem(M.touchTarget) } : base;
|
|
65
|
+
}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import ChevronLeftIcon from '@mui/icons-material/ChevronLeft';
|
|
2
|
+
import CloseIcon from '@mui/icons-material/Close';
|
|
3
|
+
import Box from '@mui/material/Box/index.js';
|
|
4
|
+
import IconButton from '@mui/material/IconButton/index.js';
|
|
5
|
+
import Typography from '@mui/material/Typography/index.js';
|
|
6
|
+
import type * as React from 'react';
|
|
7
|
+
|
|
8
|
+
import { Progress } from '../../data-display/Progress';
|
|
9
|
+
import { Button } from '../../form/Button';
|
|
10
|
+
import { seeAllButtonSx, seeAllFrameSx, seeAllGridSx } from './SequenceResolver.header.styles';
|
|
11
|
+
import {
|
|
12
|
+
backButtonSx,
|
|
13
|
+
closeButtonSx,
|
|
14
|
+
handleSx,
|
|
15
|
+
headerStartSx,
|
|
16
|
+
headerSx,
|
|
17
|
+
overviewTitleSx,
|
|
18
|
+
stepLabelSx,
|
|
19
|
+
} from './SequenceResolver.styles';
|
|
20
|
+
|
|
21
|
+
interface HeaderProps {
|
|
22
|
+
touch: boolean;
|
|
23
|
+
label: string;
|
|
24
|
+
/** Absent: no back button (intro, first step, or the host turned it off). */
|
|
25
|
+
back?: { label: string; accessible?: string; onClick: () => void; disabled: boolean };
|
|
26
|
+
closeLabel: string;
|
|
27
|
+
onClose: () => void;
|
|
28
|
+
progress: number;
|
|
29
|
+
progressLabel: string;
|
|
30
|
+
testId: string;
|
|
31
|
+
/** "Ver todos (N)": a text button between the label and close. */
|
|
32
|
+
seeAll?: { label: string; onClick: () => void; disabled: boolean };
|
|
33
|
+
/** The overview's title, drawn in the label's place and naming the dialog. */
|
|
34
|
+
title?: { id: string; text: string; ref: React.RefObject<HTMLHeadingElement | null> };
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function Bar({ progress, progressLabel, testId }: Pick<HeaderProps, 'progress' | 'progressLabel' | 'testId'>): React.JSX.Element {
|
|
38
|
+
return (
|
|
39
|
+
<Progress variant="linear" size="md" color="warning" value={progress} aria-label={progressLabel} dataTestId={`${testId}-progress`} />
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function CloseButton({ touch, closeLabel, onClose, testId }: Pick<HeaderProps, 'touch' | 'closeLabel' | 'onClose' | 'testId'>) {
|
|
44
|
+
return (
|
|
45
|
+
<IconButton aria-label={closeLabel} onClick={onClose} sx={closeButtonSx(touch)} data-testid={`${testId}-close`} data-sr-close="">
|
|
46
|
+
<CloseIcon />
|
|
47
|
+
</IconButton>
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* The header every resolver had before "Ver todos" (FUT-3671): Back and the
|
|
53
|
+
* label (which takes its own row on a narrow sheet rather than squeeze) and
|
|
54
|
+
* close, the bar under them. Over the overview the title takes the label's place.
|
|
55
|
+
*/
|
|
56
|
+
function PlainHeader(props: HeaderProps): React.JSX.Element {
|
|
57
|
+
const { touch, label, back, testId, title } = props;
|
|
58
|
+
return (
|
|
59
|
+
<>
|
|
60
|
+
<Box sx={headerSx}>
|
|
61
|
+
<Box sx={headerStartSx}>
|
|
62
|
+
{back ? (
|
|
63
|
+
<Button
|
|
64
|
+
variant="text"
|
|
65
|
+
color="primary"
|
|
66
|
+
size="md"
|
|
67
|
+
icon={<ChevronLeftIcon />}
|
|
68
|
+
aria-label={back.accessible}
|
|
69
|
+
onClick={back.onClick}
|
|
70
|
+
disabled={back.disabled}
|
|
71
|
+
sx={backButtonSx(touch)}
|
|
72
|
+
dataTestId={`${testId}-back`}
|
|
73
|
+
>
|
|
74
|
+
{back.label}
|
|
75
|
+
</Button>
|
|
76
|
+
) : null}
|
|
77
|
+
{title ? (
|
|
78
|
+
<Typography component="h2" id={title.id} tabIndex={-1} ref={title.ref} sx={overviewTitleSx}>
|
|
79
|
+
{title.text}
|
|
80
|
+
</Typography>
|
|
81
|
+
) : (
|
|
82
|
+
<Typography component="span" sx={stepLabelSx} data-testid={`${testId}-step-label`}>
|
|
83
|
+
{label}
|
|
84
|
+
</Typography>
|
|
85
|
+
)}
|
|
86
|
+
</Box>
|
|
87
|
+
<CloseButton {...props} />
|
|
88
|
+
</Box>
|
|
89
|
+
<Bar {...props} />
|
|
90
|
+
</>
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* The header of a run with "Ver todos (N)" (FUT-3825): one grid, so the ONE
|
|
96
|
+
* step label node sits on the header's line or, on a narrow chrome, on its own
|
|
97
|
+
* line under the bar — never beside it. Nothing on the line is cut.
|
|
98
|
+
*/
|
|
99
|
+
function SeeAllHeader(props: HeaderProps & { seeAll: NonNullable<HeaderProps['seeAll']> }): React.JSX.Element {
|
|
100
|
+
const { touch, label, back, testId, seeAll } = props;
|
|
101
|
+
return (
|
|
102
|
+
<Box sx={seeAllFrameSx}>
|
|
103
|
+
<Box sx={seeAllGridSx} data-testid={`${testId}-header`}>
|
|
104
|
+
{back ? (
|
|
105
|
+
<Button
|
|
106
|
+
variant="text"
|
|
107
|
+
color="primary"
|
|
108
|
+
size="md"
|
|
109
|
+
icon={<ChevronLeftIcon />}
|
|
110
|
+
aria-label={back.accessible ?? back.label}
|
|
111
|
+
onClick={back.onClick}
|
|
112
|
+
disabled={back.disabled}
|
|
113
|
+
sx={backButtonSx(touch)}
|
|
114
|
+
dataTestId={`${testId}-back`}
|
|
115
|
+
data-sr-back=""
|
|
116
|
+
>
|
|
117
|
+
<span data-back-word="">{back.label}</span>
|
|
118
|
+
</Button>
|
|
119
|
+
) : null}
|
|
120
|
+
<Typography component="span" data-sr-label="" data-testid={`${testId}-step-label`}>
|
|
121
|
+
{label}
|
|
122
|
+
</Typography>
|
|
123
|
+
<Button
|
|
124
|
+
variant="text"
|
|
125
|
+
color="primary"
|
|
126
|
+
size="md"
|
|
127
|
+
onClick={seeAll.onClick}
|
|
128
|
+
disabled={seeAll.disabled}
|
|
129
|
+
sx={seeAllButtonSx(touch)}
|
|
130
|
+
dataTestId={`${testId}-see-all`}
|
|
131
|
+
data-sr-see=""
|
|
132
|
+
>
|
|
133
|
+
{seeAll.label}
|
|
134
|
+
</Button>
|
|
135
|
+
<CloseButton {...props} />
|
|
136
|
+
<Box data-sr-bar="">
|
|
137
|
+
<Bar {...props} />
|
|
138
|
+
</Box>
|
|
139
|
+
</Box>
|
|
140
|
+
</Box>
|
|
141
|
+
);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/** The drag handle (phone), the header row and the progress bar. */
|
|
145
|
+
export function SequenceHeader(props: HeaderProps): React.JSX.Element {
|
|
146
|
+
const { touch, testId, seeAll } = props;
|
|
147
|
+
return (
|
|
148
|
+
<>
|
|
149
|
+
{touch ? <Box aria-hidden sx={handleSx} data-testid={`${testId}-handle`} /> : null}
|
|
150
|
+
{seeAll ? <SeeAllHeader {...props} seeAll={seeAll} /> : <PlainHeader {...props} />}
|
|
151
|
+
</>
|
|
152
|
+
);
|
|
153
|
+
}
|
|
@@ -34,6 +34,13 @@ data-sized and shrinks while you go.
|
|
|
34
34
|
- **< 600px**: the `Dialog` inset `bottom-sheet` variant, at most 95% of the dynamic
|
|
35
35
|
viewport, scrolling inside; a drag handle on top is decoration only (the sheet does not
|
|
36
36
|
drag). Every header and footer target is at least 44px tall there.
|
|
37
|
+
- **Without `overview` the header is the one it always was**: Back with its word, the step label
|
|
38
|
+
beside it or on its own row when the sheet is narrow, close, the bar under them.
|
|
39
|
+
- **With "Ver todos (N)" the header is one line at every width, 320 included, and nothing on it
|
|
40
|
+
is cut**: Back, "Ver todos (N)" and close keep their size. On a chrome under 300px (a phone
|
|
41
|
+
under 375px) Back is its chevron alone — a 44px target named by `backAccessible`, else
|
|
42
|
+
`back` — and the step label takes its own line under the full-width bar (it wraps if long,
|
|
43
|
+
never beside the bar). Only a long host label on a wider chrome is cut, with an ellipsis.
|
|
37
44
|
|
|
38
45
|
## Props
|
|
39
46
|
|
|
@@ -43,12 +50,14 @@ data-sized and shrinks while you go.
|
|
|
43
50
|
| `onClose` | `(summary) => void` | Close button, Esc and the end screen's button. Gets `{ resolved, skipped, total, alsoResolved }`; a close toast counts `resolved + alsoResolved` (and shows only when that is above 0). Clicking the veil does nothing (as approved). |
|
|
44
51
|
| `intro` | `SequenceIntro?` | While given, the intro shows instead of the run: `title`, `description`, `categories` (`label`, `description`, `count`, `onPick`), `startAllLabel`, `onStartAll`. The host drops it and sets `queue` in the same update as a pick. |
|
|
45
52
|
| `queue` | `readonly I[]` (`I extends { key; kindLabel }`) | The problems, in order. Live data: it may shrink (siblings answered together) or grow mid-run. |
|
|
46
|
-
| `renderStep` | `(item, api) => SequenceStep` | The current step: `content`, `primary?`, `secondary?` (default: skip with `labels.skip`; `false` removes it), `tertiary?`, `footer?` (`'end'` default — right-aligned over a hairline; `'split'` — two equal columns, no hairline; on a phone the actions always share the row without a hairline). |
|
|
53
|
+
| `renderStep` | `(item, api) => SequenceStep` | The current step: `content`, `primary?`, `secondary?` (default: skip with `labels.skip`; `false` removes it), `tertiary?`, `footer?` (`'end'` default — right-aligned over a hairline; `'split'` — two equal columns, no hairline; on a phone the actions always share the row without a hairline), `canGoBack?` (`false`: this answer has no inverse — once it is answered, Back is not offered from the next step). |
|
|
47
54
|
| `onBack` | `(item, result) => Promise<void> \| void` | The host's server inverse, awaited before Back shows the previous step again. Called only when that step was RESOLVED. |
|
|
48
55
|
| `canGoBack` | `boolean` (default `true`) | Offer Back at all. It shows only once a previous step exists — on steps and on the end screen, never on the intro. |
|
|
56
|
+
| `overview` | `SequenceOverview?` | "Ver todos (N)" inside the run (FUT-3825): `label(total)`, `title`, `categories` (`label`, `description?`, `count?` — the host's bookkeeping, not drawn: the `label` says the number, "Atrasado · 1" — `keys`, `onPick?`), `pickLabel`, `continueLabel`. See "Ver todos". |
|
|
57
|
+
| `initialKey` | `string?` | Open the run at this problem (a click on its block). The ones before it follow it; nothing is passed over. |
|
|
49
58
|
| `done` | `SequenceDone \| (summary) => SequenceDone` | The end screen: `title`, `description?`, `confirmLabel`. |
|
|
50
59
|
| `labels` | `SequenceResolverLabels` | Every chrome word: `back`, `backAccessible?`, `close`, `skip`, `step(position, total, item)`, `introStep`, `doneStep`, `progress`, `failed`. **Required — the package ships no copy.** |
|
|
51
|
-
| `dataTestId` | `string` (default `sequence-resolver`) | Parts: `-back`, `-close`, `-step-label`, `-progress`, `-handle`, `-category-<n>`, `-start-all`, `-primary`, `-secondary`, `-tertiary`, `-footer`, `-error`, `-done`, `-done-confirm`. |
|
|
60
|
+
| `dataTestId` | `string` (default `sequence-resolver`) | Parts: `-back`, `-close`, `-step-label`, `-progress`, `-handle`, `-category-<n>`, `-start-all`, `-primary`, `-secondary`, `-tertiary`, `-footer`, `-error`, `-done`, `-done-confirm`, `-see-all`, `-overview`, `-overview-pick-<n>`, `-continue`. |
|
|
52
61
|
|
|
53
62
|
### The step API
|
|
54
63
|
|
|
@@ -57,6 +66,7 @@ data-sized and shrinks while you go.
|
|
|
57
66
|
| `resolve(result \| promise, { alsoResolved? })` | Answer and move on. `alsoResolved` counts OTHER problems this answer resolved too ("apply to every sibling") for the close summary; Back over the step takes them off again. Given the PROMISE of the host's write, the step stays on screen and `busy` until it settles (even if the host's refetch drops the entry first); a rejection keeps it and shows the rejection's message. |
|
|
58
67
|
| `skip()` | Leave it unanswered and move on. |
|
|
59
68
|
| `back()` | Same as the header's Back. |
|
|
69
|
+
| `jumpTo(key)` | Jump to that problem, as an overview pick does: the step on screen is passed over and the target shows. An answered or unknown key does nothing. |
|
|
60
70
|
| `busy` | True while a `resolve` promise or an `onBack` is pending. The footer, tertiary and Back are disabled by the component; disable the step's own answers with it. |
|
|
61
71
|
| `titleProps` | **Spread on the step's title** (the item's name). It names the dialog and takes focus on every advance. |
|
|
62
72
|
|
|
@@ -86,6 +96,37 @@ data-sized and shrinks while you go.
|
|
|
86
96
|
step title (`api.titleProps`) or the end title. The progress bar is named by
|
|
87
97
|
`labels.progress`.
|
|
88
98
|
|
|
99
|
+
## Ver todos (N) — the list inside the run
|
|
100
|
+
|
|
101
|
+
With `overview`, every step's header shows a text button `overview.label(total)` ("Ver todos (2)")
|
|
102
|
+
between the step label and close, while the run has more than one problem (never on the intro or
|
|
103
|
+
the end screen). It shows the overview **in the same dialog without ending the run**:
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
┌──────────────────────────────────────────────┐
|
|
107
|
+
│ 2 problemas a resolver × │ overview.title (names the dialog, takes focus)
|
|
108
|
+
│ ▓▓▓▓▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
|
|
109
|
+
│ Atrasado · 1 [Resolver] │ a category: label, description, pickLabel
|
|
110
|
+
│ Luiz entrega ainda não começou │
|
|
111
|
+
│ Avisou que não vai · 1 [Resolver] │
|
|
112
|
+
│ ──────────────────────────────────────────── │
|
|
113
|
+
│ [Continuar em sequência] │ continueLabel: back to the step it left
|
|
114
|
+
└──────────────────────────────────────────────┘
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
- **Each row is the label and description, then the pick on the right.** Where the words would
|
|
118
|
+
get less than 192px beside it (a 320px phone) the pick drops under them, at its content width.
|
|
119
|
+
- **A pick jumps** to the category's first UNANSWERED problem — the first of its `keys` still ahead
|
|
120
|
+
in the run, else one passed over — then calls its `onPick`. A category with none left has its
|
|
121
|
+
pick disabled.
|
|
122
|
+
- **A jump passes over the step on screen**: Back from the target returns to it at once (nothing
|
|
123
|
+
to undo), and Back again keeps today's meaning (over an answered step it awaits `onBack`). A
|
|
124
|
+
host that never jumps (the Estoque resolver) sees no change.
|
|
125
|
+
- **Continue** returns to the step it left, nothing changed — the step stays mounted (hidden)
|
|
126
|
+
under the overview, so what the person half-filled in it is still there, and focus goes back
|
|
127
|
+
to its title. Close from the overview closes the run with its summary.
|
|
128
|
+
- Every opening of the resolver starts with the overview closed.
|
|
129
|
+
|
|
89
130
|
## Writing a step
|
|
90
131
|
|
|
91
132
|
The pattern the owner approved — **the item's name first** (large), the question second, the
|
|
@@ -23,4 +23,16 @@ export const SEQUENCE_METRICS = {
|
|
|
23
23
|
listRadius: 12,
|
|
24
24
|
doneIcon: 44,
|
|
25
25
|
doneTitle: 20,
|
|
26
|
+
/** The overview's title in the header row. */
|
|
27
|
+
overviewTitle: 18,
|
|
28
|
+
/** The least an overview row's words get beside its "Resolver"; under that, the button drops below them. */
|
|
29
|
+
overviewTextMin: 192,
|
|
30
|
+
/**
|
|
31
|
+
* With "Ver todos", the chrome's width below which the header is narrow:
|
|
32
|
+
* Back is its chevron alone and the step label takes its own line under
|
|
33
|
+
* the bar. A resolver without an overview never changes its header. A 360px
|
|
34
|
+
* phone's sheet leaves the chrome 280px, a 390px one 310px — where Back's
|
|
35
|
+
* word, the label, "Ver todos (N)" and close all fit whole (about 294px).
|
|
36
|
+
*/
|
|
37
|
+
narrowChrome: 300,
|
|
26
38
|
} as const;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import Box from '@mui/material/Box/index.js';
|
|
2
|
+
import Typography from '@mui/material/Typography/index.js';
|
|
3
|
+
import type * as React from 'react';
|
|
4
|
+
|
|
5
|
+
import { Button } from '../../form/Button';
|
|
6
|
+
import { useFocusOnScreen } from './SequenceResolver.parts';
|
|
7
|
+
import {
|
|
8
|
+
actionSx,
|
|
9
|
+
categoryDescriptionSx,
|
|
10
|
+
categoryTextSx,
|
|
11
|
+
overviewFooterSx,
|
|
12
|
+
overviewRowSx,
|
|
13
|
+
} from './SequenceResolver.styles';
|
|
14
|
+
import type { SequenceOverviewCategory } from './SequenceResolver.types';
|
|
15
|
+
|
|
16
|
+
interface OverviewProps {
|
|
17
|
+
categories: SequenceOverviewCategory[];
|
|
18
|
+
/** Per category: false when none of its problems is left unanswered. */
|
|
19
|
+
canPick: (category: SequenceOverviewCategory) => boolean;
|
|
20
|
+
onPick: (category: SequenceOverviewCategory) => void;
|
|
21
|
+
pickLabel: string;
|
|
22
|
+
continueLabel: string;
|
|
23
|
+
onContinue: () => void;
|
|
24
|
+
titleRef: React.RefObject<HTMLHeadingElement | null>;
|
|
25
|
+
touch: boolean;
|
|
26
|
+
testId: string;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* "Ver todos" inside the run: each kind (its label says how many, as the host writes it) and a pick that jumps
|
|
31
|
+
* there, then "continue in sequence" back to the step it left. The title is
|
|
32
|
+
* in the header row (it names the dialog); focus goes to it on open.
|
|
33
|
+
*/
|
|
34
|
+
export function SequenceOverviewBody(props: OverviewProps): React.JSX.Element {
|
|
35
|
+
const { categories, canPick, onPick, pickLabel, continueLabel, onContinue, titleRef, touch, testId } = props;
|
|
36
|
+
useFocusOnScreen('overview', titleRef, titleRef);
|
|
37
|
+
return (
|
|
38
|
+
<Box sx={{ display: 'flex', flexDirection: 'column' }} data-testid={`${testId}-overview`}>
|
|
39
|
+
<Box component="ul" sx={{ m: 0, p: 0, listStyle: 'none' }}>
|
|
40
|
+
{categories.map((category, index) => (
|
|
41
|
+
<Box component="li" key={`${index}-${category.label}`} sx={overviewRowSx}>
|
|
42
|
+
<Box sx={categoryTextSx}>
|
|
43
|
+
<Typography component="span" variant="body2" sx={{ fontWeight: 500 }}>
|
|
44
|
+
{category.label}
|
|
45
|
+
</Typography>
|
|
46
|
+
{category.description ? (
|
|
47
|
+
<Typography component="span" sx={categoryDescriptionSx}>
|
|
48
|
+
{category.description}
|
|
49
|
+
</Typography>
|
|
50
|
+
) : null}
|
|
51
|
+
</Box>
|
|
52
|
+
<Button
|
|
53
|
+
variant="outline"
|
|
54
|
+
color="primary"
|
|
55
|
+
size="md"
|
|
56
|
+
onClick={() => onPick(category)}
|
|
57
|
+
disabled={!canPick(category)}
|
|
58
|
+
aria-label={`${pickLabel}: ${category.label}`}
|
|
59
|
+
sx={actionSx(touch)}
|
|
60
|
+
dataTestId={`${testId}-overview-pick-${index}`}
|
|
61
|
+
>
|
|
62
|
+
{pickLabel}
|
|
63
|
+
</Button>
|
|
64
|
+
</Box>
|
|
65
|
+
))}
|
|
66
|
+
</Box>
|
|
67
|
+
<Box sx={overviewFooterSx}>
|
|
68
|
+
<Button variant="solid" color="primary" size="md" onClick={onContinue} sx={actionSx(touch)} dataTestId={`${testId}-continue`}>
|
|
69
|
+
{continueLabel}
|
|
70
|
+
</Button>
|
|
71
|
+
</Box>
|
|
72
|
+
</Box>
|
|
73
|
+
);
|
|
74
|
+
}
|