@thewhatmatters/wmds 0.4.9 → 0.4.28
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/CHANGELOG.md +303 -0
- package/CONSUMING.md +62 -1
- package/README.md +1 -1
- package/bin/wmds-check.mjs +47 -0
- package/dist/colors.css +92 -0
- package/dist/components/atoms/Badge/Badge.d.ts +13 -5
- package/dist/components/atoms/Badge/Badge.d.ts.map +1 -1
- package/dist/components/atoms/Badge/Badge.js +56 -48
- package/dist/components/atoms/Badge/badgeStyles.d.ts +15 -0
- package/dist/components/atoms/Badge/badgeStyles.d.ts.map +1 -1
- package/dist/components/atoms/Badge/badgeStyles.js +42 -20
- package/dist/components/atoms/Band/Band.d.ts +27 -0
- package/dist/components/atoms/Band/Band.d.ts.map +1 -0
- package/dist/components/atoms/Band/Band.js +22 -0
- package/dist/components/atoms/Band/bandStyles.d.ts +20 -0
- package/dist/components/atoms/Band/bandStyles.d.ts.map +1 -0
- package/dist/components/atoms/Band/bandStyles.js +23 -0
- package/dist/components/atoms/Button/Button.d.ts +1 -1
- package/dist/components/atoms/Button/Button.d.ts.map +1 -1
- package/dist/components/atoms/Button/Button.js +67 -48
- package/dist/components/atoms/Button/ButtonStatusButton.d.ts.map +1 -1
- package/dist/components/atoms/Button/ButtonStatusButton.js +12 -5
- package/dist/components/atoms/Button/buttonStatusMotion.d.ts.map +1 -1
- package/dist/components/atoms/Button/buttonStatusMotion.js +6 -1
- package/dist/components/atoms/Button/buttonStyles.d.ts +2 -2
- package/dist/components/atoms/Button/buttonStyles.d.ts.map +1 -1
- package/dist/components/atoms/Button/buttonStyles.js +16 -14
- package/dist/components/atoms/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/components/atoms/Checkbox/Checkbox.js +69 -68
- package/dist/components/atoms/Checkbox/checkboxStyles.d.ts +1 -1
- package/dist/components/atoms/Checkbox/checkboxStyles.d.ts.map +1 -1
- package/dist/components/atoms/Checkbox/checkboxStyles.js +1 -1
- package/dist/components/atoms/IconButton/IconButton.d.ts.map +1 -1
- package/dist/components/atoms/IconButton/IconButton.js +13 -12
- package/dist/components/atoms/IconButton/iconButtonStyles.d.ts +2 -2
- package/dist/components/atoms/IconButton/iconButtonStyles.d.ts.map +1 -1
- package/dist/components/atoms/IconButton/iconButtonStyles.js +1 -1
- package/dist/components/atoms/InlinePill/InlinePill.d.ts +42 -0
- package/dist/components/atoms/InlinePill/InlinePill.d.ts.map +1 -0
- package/dist/components/atoms/InlinePill/InlinePill.js +48 -0
- package/dist/components/atoms/InlinePill/inlinePillStyles.d.ts +27 -0
- package/dist/components/atoms/InlinePill/inlinePillStyles.d.ts.map +1 -0
- package/dist/components/atoms/InlinePill/inlinePillStyles.js +19 -0
- package/dist/components/atoms/Input/Input.d.ts +9 -4
- package/dist/components/atoms/Input/Input.d.ts.map +1 -1
- package/dist/components/atoms/Input/Input.js +59 -59
- package/dist/components/atoms/Input/inputShellStyles.d.ts +10 -4
- package/dist/components/atoms/Input/inputShellStyles.d.ts.map +1 -1
- package/dist/components/atoms/Input/inputShellStyles.js +40 -40
- package/dist/components/atoms/RiveHand/RiveHand.d.ts.map +1 -1
- package/dist/components/atoms/RiveHand/RiveHand.js +83 -81
- package/dist/components/atoms/Skeleton/skeletonStyles.js +1 -1
- package/dist/components/atoms/Switch/Switch.d.ts.map +1 -1
- package/dist/components/atoms/Switch/Switch.js +45 -44
- package/dist/components/atoms/Switch/switchStyles.d.ts +1 -1
- package/dist/components/atoms/Switch/switchStyles.d.ts.map +1 -1
- package/dist/components/atoms/Switch/switchStyles.js +1 -1
- package/dist/components/atoms/Table/Table.d.ts +54 -0
- package/dist/components/atoms/Table/Table.d.ts.map +1 -0
- package/dist/components/atoms/Table/Table.js +66 -0
- package/dist/components/atoms/Table/tableStyles.d.ts +18 -0
- package/dist/components/atoms/Table/tableStyles.d.ts.map +1 -0
- package/dist/components/atoms/Table/tableStyles.js +14 -0
- package/dist/components/atoms/TextArea/TextArea.d.ts +6 -0
- package/dist/components/atoms/TextArea/TextArea.d.ts.map +1 -1
- package/dist/components/atoms/TextArea/TextArea.js +86 -78
- package/dist/components/atoms/TextArea/textareaShellStyles.d.ts +2 -2
- package/dist/components/atoms/TextArea/textareaShellStyles.d.ts.map +1 -1
- package/dist/components/atoms/TextArea/textareaShellStyles.js +5 -5
- package/dist/components/molecules/Accordion/accordionStyles.d.ts +1 -1
- package/dist/components/molecules/Accordion/accordionStyles.d.ts.map +1 -1
- package/dist/components/molecules/Accordion/accordionStyles.js +1 -1
- package/dist/components/molecules/Breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/components/molecules/Breadcrumb/Breadcrumb.js +80 -122
- package/dist/components/molecules/Card/Card.d.ts +28 -6
- package/dist/components/molecules/Card/Card.d.ts.map +1 -1
- package/dist/components/molecules/Card/Card.js +83 -42
- package/dist/components/molecules/Card/cardStyles.d.ts +16 -1
- package/dist/components/molecules/Card/cardStyles.d.ts.map +1 -1
- package/dist/components/molecules/Card/cardStyles.js +19 -5
- package/dist/components/molecules/ChatQa/chatQaStyles.d.ts +1 -1
- package/dist/components/molecules/ChatQa/chatQaStyles.d.ts.map +1 -1
- package/dist/components/molecules/ChatQa/chatQaStyles.js +1 -1
- package/dist/components/molecules/Chip/chipStyles.js +9 -9
- package/dist/components/molecules/CopyField/CopyField.d.ts +41 -0
- package/dist/components/molecules/CopyField/CopyField.d.ts.map +1 -0
- package/dist/components/molecules/CopyField/CopyField.js +120 -0
- package/dist/components/molecules/CopyField/copyFieldStyles.d.ts +28 -0
- package/dist/components/molecules/CopyField/copyFieldStyles.d.ts.map +1 -0
- package/dist/components/molecules/CopyField/copyFieldStyles.js +7 -0
- package/dist/components/molecules/DisplayControls/DisplayControls.d.ts +16 -7
- package/dist/components/molecules/DisplayControls/DisplayControls.d.ts.map +1 -1
- package/dist/components/molecules/DisplayControls/DisplayControls.js +41 -39
- package/dist/components/molecules/DisplayControls/displayControlsState.d.ts +21 -0
- package/dist/components/molecules/DisplayControls/displayControlsState.d.ts.map +1 -1
- package/dist/components/molecules/DisplayControls/displayControlsState.js +46 -4
- package/dist/components/molecules/Dropdown/Dropdown.d.ts +1 -1
- package/dist/components/molecules/Dropdown/DropdownItem.d.ts +2 -2
- package/dist/components/molecules/Dropdown/DropdownItem.d.ts.map +1 -1
- package/dist/components/molecules/Dropdown/DropdownItem.js +30 -27
- package/dist/components/molecules/Dropdown/dropdownStyles.js +1 -1
- package/dist/components/molecules/Dropdown/resolveOverflow.d.ts +14 -0
- package/dist/components/molecules/Dropdown/resolveOverflow.d.ts.map +1 -0
- package/dist/components/{organisms/Tab/tabOverflow.js → molecules/Dropdown/resolveOverflow.js} +2 -2
- package/dist/components/molecules/Dropdown/useDropdownMenu.d.ts +70 -0
- package/dist/components/molecules/Dropdown/useDropdownMenu.d.ts.map +1 -0
- package/dist/components/molecules/Dropdown/useDropdownMenu.js +155 -0
- package/dist/components/molecules/Dropdown/useOverflowMenu.d.ts +71 -0
- package/dist/components/molecules/Dropdown/useOverflowMenu.d.ts.map +1 -0
- package/dist/components/molecules/Dropdown/useOverflowMenu.js +61 -0
- package/dist/components/molecules/Field/Field.d.ts.map +1 -1
- package/dist/components/molecules/Field/Field.js +11 -10
- package/dist/components/molecules/LogView/LogView.d.ts +31 -0
- package/dist/components/molecules/LogView/LogView.d.ts.map +1 -0
- package/dist/components/molecules/LogView/LogView.js +109 -0
- package/dist/components/molecules/LogView/logViewStyles.d.ts +11 -0
- package/dist/components/molecules/LogView/logViewStyles.d.ts.map +1 -0
- package/dist/components/molecules/LogView/logViewStyles.js +6 -0
- package/dist/components/molecules/NavList/NavList.d.ts +23 -4
- package/dist/components/molecules/NavList/NavList.d.ts.map +1 -1
- package/dist/components/molecules/NavList/NavList.js +65 -52
- package/dist/components/molecules/NavList/navListStyles.d.ts +2 -0
- package/dist/components/molecules/NavList/navListStyles.d.ts.map +1 -1
- package/dist/components/molecules/NavList/navListStyles.js +3 -3
- package/dist/components/molecules/PageHeader/PageHeader.js +3 -3
- package/dist/components/molecules/PillGroup/pillGroupStyles.js +1 -1
- package/dist/components/molecules/Search/searchStyles.js +1 -1
- package/dist/components/molecules/SegmentedControl/segmentedControlStyles.d.ts +1 -1
- package/dist/components/molecules/SegmentedControl/segmentedControlStyles.d.ts.map +1 -1
- package/dist/components/molecules/SegmentedControl/segmentedControlStyles.js +8 -8
- package/dist/components/molecules/Select/Select.d.ts +3 -1
- package/dist/components/molecules/Select/Select.d.ts.map +1 -1
- package/dist/components/molecules/Select/Select.js +75 -119
- package/dist/components/molecules/Select/selectStyles.js +3 -3
- package/dist/components/molecules/Stat/Stat.d.ts +31 -5
- package/dist/components/molecules/Stat/Stat.d.ts.map +1 -1
- package/dist/components/molecules/Stat/Stat.js +83 -49
- package/dist/components/molecules/Stat/statStyles.d.ts +24 -4
- package/dist/components/molecules/Stat/statStyles.d.ts.map +1 -1
- package/dist/components/molecules/Stat/statStyles.js +30 -13
- package/dist/components/molecules/TaskRows/TaskRows.d.ts +13 -3
- package/dist/components/molecules/TaskRows/TaskRows.d.ts.map +1 -1
- package/dist/components/molecules/TaskRows/TaskRows.js +81 -57
- package/dist/components/molecules/TaskRows/TaskRowsTable.d.ts +54 -0
- package/dist/components/molecules/TaskRows/TaskRowsTable.d.ts.map +1 -0
- package/dist/components/molecules/TaskRows/TaskRowsTable.js +200 -0
- package/dist/components/molecules/TaskRows/taskRowsStyles.d.ts +19 -1
- package/dist/components/molecules/TaskRows/taskRowsStyles.d.ts.map +1 -1
- package/dist/components/molecules/TaskRows/taskRowsStyles.js +7 -3
- package/dist/components/molecules/TextSequence/TextSequence.d.ts.map +1 -1
- package/dist/components/molecules/TextSequence/TextSequence.js +35 -35
- package/dist/components/organisms/AppShell/AppShell.d.ts +84 -0
- package/dist/components/organisms/AppShell/AppShell.d.ts.map +1 -0
- package/dist/components/organisms/AppShell/AppShell.js +231 -0
- package/dist/components/organisms/AppShell/appShellStyles.d.ts +20 -0
- package/dist/components/organisms/AppShell/appShellStyles.d.ts.map +1 -0
- package/dist/components/organisms/AppShell/appShellStyles.js +8 -0
- package/dist/components/organisms/Carousel/Carousel.d.ts +9 -1
- package/dist/components/organisms/Carousel/Carousel.d.ts.map +1 -1
- package/dist/components/organisms/Carousel/Carousel.js +220 -182
- package/dist/components/organisms/Carousel/carouselMath.d.ts +5 -0
- package/dist/components/organisms/Carousel/carouselMath.d.ts.map +1 -1
- package/dist/components/organisms/Carousel/carouselMath.js +9 -1
- package/dist/components/organisms/Carousel/carouselStyles.d.ts +2 -0
- package/dist/components/organisms/Carousel/carouselStyles.d.ts.map +1 -1
- package/dist/components/organisms/Carousel/carouselStyles.js +8 -7
- package/dist/components/organisms/Chart/Chart.d.ts +5 -1
- package/dist/components/organisms/Chart/Chart.d.ts.map +1 -1
- package/dist/components/organisms/Chart/Chart.js +126 -62
- package/dist/components/organisms/Chart/ChartLegend.d.ts +8 -1
- package/dist/components/organisms/Chart/ChartLegend.d.ts.map +1 -1
- package/dist/components/organisms/Chart/ChartLegend.js +43 -13
- package/dist/components/organisms/Chart/ChartSegmentedRing.d.ts +52 -0
- package/dist/components/organisms/Chart/ChartSegmentedRing.d.ts.map +1 -0
- package/dist/components/organisms/Chart/ChartSegmentedRing.js +95 -0
- package/dist/components/organisms/Chart/chartStyles.d.ts +32 -0
- package/dist/components/organisms/Chart/chartStyles.d.ts.map +1 -1
- package/dist/components/organisms/Chart/chartStyles.js +15 -3
- package/dist/components/organisms/ChatDock/ChatDock.d.ts.map +1 -1
- package/dist/components/organisms/ChatDock/ChatDock.js +29 -25
- package/dist/components/organisms/Dialog/AlertDialog.d.ts +7 -1
- package/dist/components/organisms/Dialog/AlertDialog.d.ts.map +1 -1
- package/dist/components/organisms/Dialog/AlertDialog.js +54 -50
- package/dist/components/organisms/Dialog/Dialog.d.ts.map +1 -1
- package/dist/components/organisms/Dialog/Dialog.js +52 -71
- package/dist/components/organisms/Dialog/OverlayPanelHeader.d.ts.map +1 -1
- package/dist/components/organisms/Dialog/OverlayPanelHeader.js +1 -0
- package/dist/components/organisms/Dialog/dialogStyles.d.ts +14 -1
- package/dist/components/organisms/Dialog/dialogStyles.d.ts.map +1 -1
- package/dist/components/organisms/Dialog/dialogStyles.js +3 -3
- package/dist/components/organisms/FilterPanel/FilterPanel.d.ts.map +1 -1
- package/dist/components/organisms/FilterPanel/FilterPanel.js +52 -42
- package/dist/components/organisms/IntakeModal/IntakeModal.d.ts +6 -1
- package/dist/components/organisms/IntakeModal/IntakeModal.d.ts.map +1 -1
- package/dist/components/organisms/IntakeModal/IntakeModal.js +54 -66
- package/dist/components/organisms/MoreMenu/MoreMenu.d.ts.map +1 -1
- package/dist/components/organisms/MoreMenu/MoreMenu.js +45 -101
- package/dist/components/organisms/Panel/Panel.d.ts.map +1 -1
- package/dist/components/organisms/Panel/Panel.js +44 -53
- package/dist/components/organisms/Sheet/Sheet.d.ts +3 -1
- package/dist/components/organisms/Sheet/Sheet.d.ts.map +1 -1
- package/dist/components/organisms/Sheet/Sheet.js +66 -81
- package/dist/components/organisms/Sheet/sheetStyles.d.ts +8 -2
- package/dist/components/organisms/Sheet/sheetStyles.d.ts.map +1 -1
- package/dist/components/organisms/Sheet/sheetStyles.js +16 -11
- package/dist/components/organisms/SiteNav/SiteNav.d.ts +0 -9
- package/dist/components/organisms/SiteNav/SiteNav.d.ts.map +1 -1
- package/dist/components/organisms/SiteNav/SiteNav.js +236 -286
- package/dist/components/organisms/SiteNav/siteNavStyles.js +1 -1
- package/dist/components/organisms/Tab/Tab.d.ts.map +1 -1
- package/dist/components/organisms/Tab/Tab.js +77 -127
- package/dist/components/organisms/Tab/tabStyles.d.ts +2 -1
- package/dist/components/organisms/Tab/tabStyles.d.ts.map +1 -1
- package/dist/components/organisms/Tab/tabStyles.js +7 -7
- package/dist/fonts.css +10 -0
- package/dist/grid.css +38 -0
- package/dist/index.d.ts +16 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +152 -139
- package/dist/lib/chartTheme.d.ts +11 -0
- package/dist/lib/chartTheme.d.ts.map +1 -1
- package/dist/lib/compositionAudit.d.ts.map +1 -1
- package/dist/lib/contrast.d.ts +11 -0
- package/dist/lib/contrast.d.ts.map +1 -0
- package/dist/lib/dialogOverlay.d.ts +34 -1
- package/dist/lib/dialogOverlay.d.ts.map +1 -1
- package/dist/lib/dialogOverlay.js +100 -23
- package/dist/lib/sheetParam/index.d.ts +3 -0
- package/dist/lib/sheetParam/index.d.ts.map +1 -0
- package/dist/lib/sheetParam/sheetParam.d.ts +15 -0
- package/dist/lib/sheetParam/sheetParam.d.ts.map +1 -0
- package/dist/lib/sheetParam/sheetParam.js +26 -0
- package/dist/lib/sheetParam/useSheetParam.d.ts +25 -0
- package/dist/lib/sheetParam/useSheetParam.d.ts.map +1 -0
- package/dist/lib/sheetParam/useSheetParam.js +29 -0
- package/dist/lib/typography.d.ts +1 -1
- package/dist/lib/typography.d.ts.map +1 -1
- package/dist/shape.css +24 -3
- package/dist/styles.css +1 -1
- package/dist/typography.css +55 -8
- package/docs/README.md +1 -1
- package/docs/component-contracts.md +101 -0
- package/docs/components.md +19 -12
- package/docs/exports.json +142 -15
- package/docs/patterns/components-accordion--flush.tsx +1 -1
- package/docs/patterns/components-appshell--portal-dashboard-pattern.tsx +176 -0
- package/docs/patterns/components-avatar--dropdown-row.tsx +1 -1
- package/docs/patterns/components-badge--outline-tags.tsx +1 -1
- package/docs/patterns/components-badge--status-pill.tsx +31 -0
- package/docs/patterns/components-badge--with-avatar.tsx +1 -1
- package/docs/patterns/components-band--page-in-bands.tsx +39 -0
- package/docs/patterns/components-breadcrumb--editorial.tsx +1 -1
- package/docs/patterns/components-breadcrumb--long-path.tsx +1 -1
- package/docs/patterns/components-breadcrumb--path.tsx +1 -1
- package/docs/patterns/components-breadcrumb--router-links.tsx +1 -1
- package/docs/patterns/components-button-button--copy-button.tsx +1 -1
- package/docs/patterns/components-button-button--destructive-action.tsx +1 -1
- package/docs/patterns/components-button-button--external-link.tsx +1 -1
- package/docs/patterns/components-button-button--ghost-action.tsx +1 -1
- package/docs/patterns/components-button-button--inverse-action.tsx +1 -1
- package/docs/patterns/components-button-button--link-render.tsx +1 -1
- package/docs/patterns/components-button-button--multi-state-badge.tsx +1 -1
- package/docs/patterns/components-button-button--outline-mono.tsx +1 -1
- package/docs/patterns/components-button-button--primary-action.tsx +1 -1
- package/docs/patterns/components-button-button--row-hug.tsx +1 -1
- package/docs/patterns/components-button-button--row-layout.tsx +1 -1
- package/docs/patterns/components-button-button--secondary-action.tsx +1 -1
- package/docs/patterns/components-button-button--suggestion-pills.tsx +1 -1
- package/docs/patterns/components-button-button--with-count.tsx +1 -1
- package/docs/patterns/components-button-button--with-icon.tsx +1 -1
- package/docs/patterns/components-button-floatingactionbutton--vertical-actions.tsx +1 -1
- package/docs/patterns/components-calembed--pattern-skip-in-footer.tsx +1 -1
- package/docs/patterns/components-card-card--body-slot-occupancy-history.tsx +1 -1
- package/docs/patterns/components-card-card--headerless-media.tsx +1 -1
- package/docs/patterns/components-card-card--outlined-layout.tsx +1 -1
- package/docs/patterns/components-card-card--pinned-height.tsx +1 -1
- package/docs/patterns/components-card-card--terminal-frame.tsx +48 -0
- package/docs/patterns/components-card-selectablecard--selectable-cards-pattern.tsx +1 -1
- package/docs/patterns/components-carousel--image-carousel.tsx +1 -1
- package/docs/patterns/components-chart--audience-activity-heatmap.tsx +1 -1
- package/docs/patterns/components-chart--cartesian-no-data-gaps.tsx +1 -1
- package/docs/patterns/components-chart--occupancy-history-in-card.tsx +1 -1
- package/docs/patterns/components-chart--occupancy-in-card.tsx +1 -1
- package/docs/patterns/components-chart--post-reach-distribution.tsx +1 -1
- package/docs/patterns/components-chart--ranked-audience-breakdown.tsx +1 -1
- package/docs/patterns/components-chart--revenue-by-line.tsx +68 -0
- package/docs/patterns/components-chart--segmented-ring-pattern.tsx +144 -0
- package/docs/patterns/components-chart--unit-grid-composition.tsx +1 -1
- package/docs/patterns/components-chatdock--pattern-chat-dock.tsx +1 -1
- package/docs/patterns/components-chatdock--pattern-start-project-gate.tsx +1 -1
- package/docs/patterns/components-chatqa--pattern-qa-with-reply.tsx +1 -1
- package/docs/patterns/components-checkbox-checkbox--default.tsx +1 -1
- package/docs/patterns/components-checkbox-checkbox--with-count.tsx +1 -1
- package/docs/patterns/components-checkbox-checkbox--with-description.tsx +1 -1
- package/docs/patterns/components-checkbox-checkboxgroup--default.tsx +1 -1
- package/docs/patterns/components-checkbox-checkboxgroup--option-counts.tsx +1 -1
- package/docs/patterns/components-copyfield--clipboard-blocked.tsx +9 -0
- package/docs/patterns/components-copyfield--copied.tsx +9 -0
- package/docs/patterns/components-copyfield--copy-key.tsx +9 -0
- package/docs/patterns/components-copyfield--on-navy.tsx +29 -0
- package/docs/patterns/components-descriptionlist--details.tsx +1 -1
- package/docs/patterns/components-descriptionlist--post-metadata.tsx +1 -1
- package/docs/patterns/components-dialog--alert-dialog-destructive.tsx +1 -1
- package/docs/patterns/components-dialog--alert-dialog-typed-confirmation.tsx +54 -0
- package/docs/patterns/components-dialog--default-dialog.tsx +1 -1
- package/docs/patterns/components-dialog--form-dialog.tsx +1 -1
- package/docs/patterns/components-displaycontrols--page-utilities.tsx +1 -1
- package/docs/patterns/components-displaycontrols--theme-switch.tsx +35 -0
- package/docs/patterns/components-field--horizontal-input.tsx +1 -1
- package/docs/patterns/components-field--horizontal-text-area.tsx +1 -1
- package/docs/patterns/components-field--multi-control.tsx +1 -1
- package/docs/patterns/components-filterpanel--panel.tsx +1 -1
- package/docs/patterns/components-footerreveal--marketing-hero-pattern.tsx +1 -1
- package/docs/patterns/components-footerreveal--marketing-hero-ruled-pattern.tsx +1 -1
- package/docs/patterns/components-footerreveal--marketing-hero-with-gallery-intro.tsx +1 -1
- package/docs/patterns/components-footerreveal--marketing-page-pattern.tsx +1 -1
- package/docs/patterns/components-footerreveal--ruled-grid-footer-pattern.tsx +1 -1
- package/docs/patterns/components-footerreveal--sequenced-marketing-hero.tsx +1 -1
- package/docs/patterns/components-herointro--two-line-intro.tsx +1 -1
- package/docs/patterns/components-herotilestack--marketing-hero-pattern.tsx +1 -1
- package/docs/patterns/components-herotilestack--marketing-hero-text-sequence.tsx +1 -1
- package/docs/patterns/components-herotilestack--marketing-hero-with-gallery-intro.tsx +1 -1
- package/docs/patterns/components-indexlist--post-index.tsx +1 -1
- package/docs/patterns/components-intakeconfirmation--booked-pattern.tsx +1 -1
- package/docs/patterns/components-intakeconfirmation--emailed-pattern.tsx +1 -1
- package/docs/patterns/components-intakeform--about-you-pattern.tsx +1 -1
- package/docs/patterns/components-intakeform--short-form-pattern.tsx +1 -1
- package/docs/patterns/components-intakemodal--intake-modal-pattern.tsx +1 -1
- package/docs/patterns/components-kbd--command-row.tsx +1 -1
- package/docs/patterns/components-kbd--numbered-choices.tsx +1 -1
- package/docs/patterns/components-kbd--shortcut.tsx +1 -1
- package/docs/patterns/components-linktile--resource-tile.tsx +1 -1
- package/docs/patterns/components-linktile--router-link.tsx +1 -1
- package/docs/patterns/components-logview--detail-pane.tsx +80 -0
- package/docs/patterns/components-logview--log-viewer.tsx +20 -0
- package/docs/patterns/components-moremenu--action-menu.tsx +1 -1
- package/docs/patterns/components-moremenu--in-card-header.tsx +1 -1
- package/docs/patterns/components-navlist--app-sidebar.tsx +118 -0
- package/docs/patterns/components-navlist--side-nav-settings.tsx +1 -1
- package/docs/patterns/components-pageheader--app-header-pattern.tsx +1 -1
- package/docs/patterns/components-pageheader--page-section-header.tsx +1 -1
- package/docs/patterns/components-pageheader--toolbar-header.tsx +1 -1
- package/docs/patterns/components-panel--end-detail-rail.tsx +1 -1
- package/docs/patterns/components-pillgroup--pill-group-pattern.tsx +1 -1
- package/docs/patterns/components-promptbar--pattern-prompt-bar.tsx +1 -1
- package/docs/patterns/components-prose--article-body.tsx +1 -1
- package/docs/patterns/components-radio-radiogroup--default.tsx +1 -1
- package/docs/patterns/components-scrollhorizontal--project-gallery-pattern.tsx +1 -1
- package/docs/patterns/components-scrollhorizontal--with-intro.tsx +1 -1
- package/docs/patterns/components-sectioncaption--column-caption.tsx +1 -1
- package/docs/patterns/components-sectioncaption--with-action.tsx +1 -1
- package/docs/patterns/components-sheet--bottom-sheet.tsx +1 -1
- package/docs/patterns/components-sheet--end-sheet.tsx +1 -1
- package/docs/patterns/components-sheet--side-sheet-header-actions.tsx +50 -0
- package/docs/patterns/components-sheet--side-sheet-url-deep-link.tsx +51 -0
- package/docs/patterns/components-sheet--side-sheet.tsx +38 -0
- package/docs/patterns/components-sitenav--brand-and-cta.tsx +1 -1
- package/docs/patterns/components-sitenav--centered-links.tsx +1 -1
- package/docs/patterns/components-sitenav--compact.tsx +1 -1
- package/docs/patterns/components-sitenav--marketing-header.tsx +1 -1
- package/docs/patterns/components-sitenav--mega-menu.tsx +1 -1
- package/docs/patterns/components-stat--hero-stat.tsx +54 -0
- package/docs/patterns/components-stat--insights-row.tsx +1 -1
- package/docs/patterns/components-stepprogress--step-progress-pattern.tsx +1 -1
- package/docs/patterns/components-switch--default.tsx +1 -1
- package/docs/patterns/components-switch--settings-row.tsx +1 -1
- package/docs/patterns/components-tab--settings-pages.tsx +1 -1
- package/docs/patterns/components-table--approvals-with-sheet.tsx +81 -0
- package/docs/patterns/components-table--approvals.tsx +223 -0
- package/docs/patterns/components-table--basic.tsx +60 -0
- package/docs/patterns/components-taskrows--action-details.tsx +1 -1
- package/docs/patterns/components-taskrows--capsules.tsx +1 -1
- package/docs/patterns/components-taskrows--card-with-status-rows.tsx +1 -1
- package/docs/patterns/components-taskrows--controlled-expand.tsx +1 -1
- package/docs/patterns/components-taskrows--custom-slots.tsx +1 -1
- package/docs/patterns/components-taskrows--needs-you-table.tsx +62 -0
- package/docs/patterns/components-taskrows--status-list.tsx +1 -1
- package/docs/patterns/components-taskrows--tag-chips.tsx +1 -1
- package/docs/patterns/components-textarea--save-status.tsx +32 -0
- package/docs/patterns/components-textlink--external-destination.tsx +1 -1
- package/docs/patterns/components-textlink--inline-prose.tsx +1 -1
- package/docs/patterns/components-textlink--quiet-title.tsx +1 -1
- package/docs/patterns/components-textlink--supporting-copy.tsx +1 -1
- package/docs/patterns/components-textsequence--default.tsx +1 -1
- package/docs/patterns/components-textsequence--reduced-motion.tsx +1 -1
- package/docs/patterns/components-textsequence--shapes.tsx +1 -1
- package/docs/patterns/components-tilegrid--masonry.tsx +1 -1
- package/docs/patterns/components-toast--stacked-notifications.tsx +1 -1
- package/docs/patterns/components-tooltip--controlled.tsx +1 -1
- package/docs/patterns/components-tooltip--disabled-control.tsx +1 -1
- package/docs/patterns/components-tooltip--icon-action.tsx +1 -1
- package/docs/patterns/components-tooltip--keyboard-shortcut.tsx +1 -1
- package/docs/patterns/components-tooltip--placement.tsx +1 -1
- package/docs/patterns/foundations-scroll-fade--horizontal-rail.tsx +1 -1
- package/docs/patterns/foundations-scroll-fade--overflowing-list.tsx +1 -1
- package/docs/patterns/guides-chart-explorations--comparison-gallery.tsx +1 -1
- package/docs/patterns/guides-filter-panel--filtered-grid.tsx +1 -1
- package/docs/patterns/guides-filter-panel--filtered-index.tsx +1 -1
- package/docs/patterns/guides-overlay-flows--notification-preferences.tsx +1 -1
- package/docs/patterns/guides-post-page--post-page.tsx +1 -1
- package/docs/patterns/guides-profile-typography--editorial-profile.tsx +1 -1
- package/docs/patterns/guides-resource-detail--detail.tsx +1 -1
- package/docs/patterns/index.json +193 -1
- package/package.json +1 -1
- package/dist/components/organisms/Tab/tabOverflow.d.ts +0 -14
- package/dist/components/organisms/Tab/tabOverflow.d.ts.map +0 -1
|
@@ -12,19 +12,19 @@ import { SplitText as g } from "gsap/SplitText";
|
|
|
12
12
|
import { useGSAP as _ } from "@gsap/react";
|
|
13
13
|
//#region src/components/molecules/TextSequence/TextSequence.tsx
|
|
14
14
|
h.registerPlugin(g, _);
|
|
15
|
-
var v = ["mount", "inView"], y = ["alternate", "none"], b = .07, x = 0, S = .72, C = .55, w = 8, T = 1.4;
|
|
16
|
-
function
|
|
15
|
+
var v = ["mount", "inView"], y = ["alternate", "none"], b = .07, x = 0, S = .72, C = .55, w = 8, T = 1.4, E = "0.08em";
|
|
16
|
+
function D(e) {
|
|
17
17
|
return d(e) && e.type === a;
|
|
18
18
|
}
|
|
19
|
-
function
|
|
19
|
+
function O(e) {
|
|
20
20
|
if (!d(e) || e.type !== "span") return !1;
|
|
21
21
|
let t = e.props.className;
|
|
22
22
|
return typeof t == "string" && t.split(/\s+/).includes("whitespace-nowrap");
|
|
23
23
|
}
|
|
24
|
-
function
|
|
25
|
-
return
|
|
24
|
+
function k(e) {
|
|
25
|
+
return A(e, "none").plain;
|
|
26
26
|
}
|
|
27
|
-
function
|
|
27
|
+
function A(e, t) {
|
|
28
28
|
let n = [], r = [], i = 0, o = (e) => {
|
|
29
29
|
let a = t === "alternate" ? i % 2 == 1 ? s : c : void 0;
|
|
30
30
|
n.push(/* @__PURE__ */ m("span", {
|
|
@@ -48,7 +48,7 @@ function k(e, t) {
|
|
|
48
48
|
f(e.props.children);
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
51
|
-
if (
|
|
51
|
+
if (O(e)) {
|
|
52
52
|
let t = n.length;
|
|
53
53
|
f(e.props.children);
|
|
54
54
|
let r = n.splice(t);
|
|
@@ -58,7 +58,7 @@ function k(e, t) {
|
|
|
58
58
|
}, `keep-${i}`));
|
|
59
59
|
return;
|
|
60
60
|
}
|
|
61
|
-
if (
|
|
61
|
+
if (D(e)) {
|
|
62
62
|
n.push(e.key == null ? /* @__PURE__ */ m(a, { ...e.props }, `s-${n.length}`) : e);
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
@@ -72,37 +72,37 @@ function k(e, t) {
|
|
|
72
72
|
signature: `${t}:${r.join("")}:${n.length}`
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
|
-
function
|
|
75
|
+
function j() {
|
|
76
76
|
return typeof window > "u" || typeof window.matchMedia != "function" ? !1 : window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
77
77
|
}
|
|
78
|
-
function
|
|
78
|
+
function M(e, t) {
|
|
79
79
|
let n = 0;
|
|
80
80
|
for (let r of t) if (e.compareDocumentPosition(r) & Node.DOCUMENT_POSITION_PRECEDING) n += 1;
|
|
81
81
|
else break;
|
|
82
82
|
return n;
|
|
83
83
|
}
|
|
84
|
-
function
|
|
84
|
+
function N(e, t) {
|
|
85
85
|
return e <= 0 ? 0 : (e - .5) * t;
|
|
86
86
|
}
|
|
87
|
-
var
|
|
88
|
-
function
|
|
87
|
+
var P = "data-text-sequence-hand-anchor";
|
|
88
|
+
function F(e) {
|
|
89
89
|
let t = [...e.querySelectorAll("[data-rive-hand-slot]")];
|
|
90
90
|
for (let e of t) {
|
|
91
91
|
let t = document.createElement("span");
|
|
92
|
-
t.setAttribute(
|
|
92
|
+
t.setAttribute(P, e.getAttribute("data-rive-hand-slot") ?? ""), t.setAttribute("aria-hidden", "true"), t.className = e.className, t.style.width = e.style.width, e.replaceWith(t);
|
|
93
93
|
}
|
|
94
94
|
return t;
|
|
95
95
|
}
|
|
96
|
-
function
|
|
97
|
-
[...e.querySelectorAll(`[${
|
|
96
|
+
function I(e, t) {
|
|
97
|
+
[...e.querySelectorAll(`[${P}]`)].forEach((e, n) => {
|
|
98
98
|
let r = t[n];
|
|
99
99
|
r && e.replaceWith(r);
|
|
100
100
|
});
|
|
101
101
|
}
|
|
102
|
-
function
|
|
102
|
+
function L(e) {
|
|
103
103
|
for (let n of e) n.removeAttribute(t);
|
|
104
104
|
}
|
|
105
|
-
function
|
|
105
|
+
function R(e, r) {
|
|
106
106
|
let { stagger: i, delay: a, idle: o, lines: s, plain: c, hands: l } = r;
|
|
107
107
|
return g.create(e, {
|
|
108
108
|
type: s ? "words,lines" : "words",
|
|
@@ -111,9 +111,9 @@ function L(e, r) {
|
|
|
111
111
|
autoSplit: s,
|
|
112
112
|
aria: "auto",
|
|
113
113
|
reduceWhiteSpace: !0,
|
|
114
|
-
ignore: `[${
|
|
114
|
+
ignore: `[${P}]`,
|
|
115
115
|
onSplit(r) {
|
|
116
|
-
|
|
116
|
+
I(e, l), r.elements.forEach((e) => {
|
|
117
117
|
let t = e.closest("h1, h2, h3, h4, h5, h6");
|
|
118
118
|
if (t instanceof HTMLElement && t !== e) {
|
|
119
119
|
let n = [...t.querySelectorAll("[data-text-sequence]")].map((e) => e.getAttribute("data-plain")).filter((e) => !!e);
|
|
@@ -129,7 +129,7 @@ function L(e, r) {
|
|
|
129
129
|
}
|
|
130
130
|
for (let e of r.masks) {
|
|
131
131
|
let t = e;
|
|
132
|
-
t.style.display = "inline-block", t.style.position = "relative", t.style.verticalAlign = "baseline"
|
|
132
|
+
t.style.display = "inline-block", t.style.position = "relative", t.style.verticalAlign = "baseline", t.style.padding = `${E} ${E} 0`, t.style.margin = `-${E} -${E} 0`;
|
|
133
133
|
}
|
|
134
134
|
let s = [...e.querySelectorAll("[data-text-sequence-shape]")], u = h.timeline({ delay: a });
|
|
135
135
|
if (r.words.forEach((e, t) => {
|
|
@@ -140,7 +140,7 @@ function L(e, r) {
|
|
|
140
140
|
immediateRender: !0
|
|
141
141
|
}, t * i);
|
|
142
142
|
}), s.forEach((e) => {
|
|
143
|
-
let t =
|
|
143
|
+
let t = M(e, r.words), n = e.dataset.variant === "asterisk";
|
|
144
144
|
u.from(e, {
|
|
145
145
|
scale: 0,
|
|
146
146
|
rotation: n ? -80 : -16,
|
|
@@ -148,11 +148,11 @@ function L(e, r) {
|
|
|
148
148
|
ease: "back.out(1.8)",
|
|
149
149
|
transformOrigin: "50% 50%",
|
|
150
150
|
immediateRender: !0
|
|
151
|
-
},
|
|
151
|
+
}, N(t, i));
|
|
152
152
|
}), [...e.querySelectorAll("[data-rive-hand-pop]")].forEach((e) => {
|
|
153
153
|
let a = e.closest("[data-rive-hand-slot]") ?? e;
|
|
154
154
|
a.removeAttribute(t);
|
|
155
|
-
let o =
|
|
155
|
+
let o = M(a, r.words);
|
|
156
156
|
u.from(e, {
|
|
157
157
|
scale: 0,
|
|
158
158
|
rotation: -16,
|
|
@@ -163,7 +163,7 @@ function L(e, r) {
|
|
|
163
163
|
onComplete() {
|
|
164
164
|
Number(h.getProperty(e, "scale")) > .99 && a.setAttribute(t, "true");
|
|
165
165
|
}
|
|
166
|
-
},
|
|
166
|
+
}, N(o, i));
|
|
167
167
|
}), o && s.length > 0) {
|
|
168
168
|
let e = u.duration(), t = s.filter((e) => e.dataset.variant === "asterisk"), n = s.filter((e) => e.dataset.variant === "pill" || e.dataset.variant === "double-pill");
|
|
169
169
|
t.length > 0 && u.to(t, {
|
|
@@ -185,20 +185,20 @@ function L(e, r) {
|
|
|
185
185
|
}
|
|
186
186
|
});
|
|
187
187
|
}
|
|
188
|
-
function
|
|
189
|
-
let u = f(null), [d] = p(() =>
|
|
188
|
+
function z({ children: t, stagger: n = b, delay: r = 0, trigger: i = "mount", idle: a = !1, lines: s = !0, emphasis: c = "alternate", className: l }) {
|
|
189
|
+
let u = f(null), [d] = p(() => A(t, c)), h = Math.max(0, n), g = Math.max(0, r);
|
|
190
190
|
return _(() => {
|
|
191
191
|
let e = u.current;
|
|
192
192
|
if (!e) return;
|
|
193
193
|
let t = window.matchMedia("(prefers-reduced-motion: reduce)"), n, r, o = [], c = () => {
|
|
194
|
-
r?.disconnect(), r = void 0, n?.revert(), n = void 0,
|
|
194
|
+
r?.disconnect(), r = void 0, n?.revert(), n = void 0, I(e, o), L(o), delete e.dataset.textSequenceState, e.dataset.textSequenceState = "rest";
|
|
195
195
|
}, l = () => {
|
|
196
|
-
if (n ||
|
|
196
|
+
if (n || j()) {
|
|
197
197
|
e.dataset.textSequenceState = "rest";
|
|
198
198
|
return;
|
|
199
199
|
}
|
|
200
|
-
let t =
|
|
201
|
-
t.length > 0 && (o = t), n =
|
|
200
|
+
let t = F(e);
|
|
201
|
+
t.length > 0 && (o = t), n = R(e, {
|
|
202
202
|
stagger: h,
|
|
203
203
|
delay: g,
|
|
204
204
|
idle: a,
|
|
@@ -213,10 +213,10 @@ function R({ children: t, stagger: n = b, delay: r = 0, trigger: i = "mount", id
|
|
|
213
213
|
}
|
|
214
214
|
i === "mount" && l();
|
|
215
215
|
};
|
|
216
|
-
return
|
|
216
|
+
return j() ? e.dataset.textSequenceState = "rest" : i === "inView" ? (e.dataset.textSequenceState = "rest", typeof IntersectionObserver == "function" && (r = new IntersectionObserver((e) => {
|
|
217
217
|
e.some((e) => e.isIntersecting) && (r?.disconnect(), r = void 0, l());
|
|
218
218
|
}, { threshold: .35 }), r.observe(e))) : l(), t.addEventListener("change", f), () => {
|
|
219
|
-
t.removeEventListener("change", f), r?.disconnect(), n?.revert(),
|
|
219
|
+
t.removeEventListener("change", f), r?.disconnect(), n?.revert(), I(e, o), L(o);
|
|
220
220
|
};
|
|
221
221
|
}, {
|
|
222
222
|
scope: u,
|
|
@@ -237,6 +237,6 @@ function R({ children: t, stagger: n = b, delay: r = 0, trigger: i = "mount", id
|
|
|
237
237
|
children: d.nodes
|
|
238
238
|
});
|
|
239
239
|
}
|
|
240
|
-
var
|
|
240
|
+
var B = Object.assign(z, { Shape: a });
|
|
241
241
|
//#endregion
|
|
242
|
-
export {
|
|
242
|
+
export { B as TextSequence, k as sequencePlainText, x as textSequenceDefaultDelay, b as textSequenceDefaultStagger, y as textSequenceEmphases, r as textSequenceShapeTones, i as textSequenceShapeVariants, v as textSequenceTriggers };
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
/** Layout-only — height and placement of the shell. */
|
|
3
|
+
export type AppShellLayoutClassName = string;
|
|
4
|
+
export interface AppShellLabels {
|
|
5
|
+
/** Accessible name and tooltip of the collapse toggle while the sidebar is open. */
|
|
6
|
+
collapse: string;
|
|
7
|
+
/** Accessible name and tooltip of the collapse toggle while the sidebar is collapsed. */
|
|
8
|
+
expand: string;
|
|
9
|
+
/** Name of the phone menu button and the **Sheet** title. */
|
|
10
|
+
menu: string;
|
|
11
|
+
/** Default title of the aside **Panel**. */
|
|
12
|
+
aside: string;
|
|
13
|
+
/** The skip link, the first tab stop, which moves focus to the page content. */
|
|
14
|
+
skipToContent: string;
|
|
15
|
+
}
|
|
16
|
+
export interface AppShellProps {
|
|
17
|
+
/** Page title — the `h1` in the title bar. */
|
|
18
|
+
title: string;
|
|
19
|
+
/** Brand row at the top of the sidebar — wordmark or **Avatar** + name. Same 56px band as the title bar. */
|
|
20
|
+
brand?: ReactNode;
|
|
21
|
+
/** Sidebar body — a **NavList**. Omit it for a shell with no sidebar. */
|
|
22
|
+
sidebar?: ReactNode;
|
|
23
|
+
/** Pinned to the bottom of the sidebar and the phone menu while the **NavList** above it scrolls — a **DisplayControls** `controls="theme"` switch, an account row. */
|
|
24
|
+
sidebarFooter?: ReactNode;
|
|
25
|
+
/** Trailing title-bar controls — **Button**, **Avatar**, **MoreMenu** at one cluster tier. */
|
|
26
|
+
header?: ReactNode;
|
|
27
|
+
/** Right slide-out content, in a non-blocking **Panel**. Omit it for no aside. */
|
|
28
|
+
aside?: ReactNode;
|
|
29
|
+
/** Title of the aside **Panel**. Defaults to `labels.aside`. */
|
|
30
|
+
asideTitle?: ReactNode;
|
|
31
|
+
asideDescription?: ReactNode;
|
|
32
|
+
/** Desktop sidebar expanded — controlled. */
|
|
33
|
+
sidebarOpen?: boolean;
|
|
34
|
+
defaultSidebarOpen?: boolean;
|
|
35
|
+
onSidebarOpenChange?: (open: boolean) => void;
|
|
36
|
+
/** Aside open — controlled. */
|
|
37
|
+
asideOpen?: boolean;
|
|
38
|
+
defaultAsideOpen?: boolean;
|
|
39
|
+
onAsideOpenChange?: (open: boolean) => void;
|
|
40
|
+
labels?: Partial<AppShellLabels>;
|
|
41
|
+
/** Page content. **AppShell.Brand**, **Sidebar**, **Header**, and **Aside** children fill their slots instead. */
|
|
42
|
+
children?: ReactNode;
|
|
43
|
+
className?: AppShellLayoutClassName;
|
|
44
|
+
}
|
|
45
|
+
interface AppShellSlotProps {
|
|
46
|
+
children?: ReactNode;
|
|
47
|
+
}
|
|
48
|
+
interface AppShellAsideSlotProps extends AppShellSlotProps {
|
|
49
|
+
title?: ReactNode;
|
|
50
|
+
description?: ReactNode;
|
|
51
|
+
}
|
|
52
|
+
declare function AppShellBrand({ children }: AppShellSlotProps): import("react").JSX.Element;
|
|
53
|
+
declare function AppShellSidebar({ children }: AppShellSlotProps): import("react").JSX.Element;
|
|
54
|
+
declare function AppShellSidebarFooter({ children }: AppShellSlotProps): import("react").JSX.Element;
|
|
55
|
+
declare function AppShellHeader({ children }: AppShellSlotProps): import("react").JSX.Element;
|
|
56
|
+
declare function AppShellAside({ children }: AppShellAsideSlotProps): import("react").JSX.Element;
|
|
57
|
+
export interface AppShellContextValue {
|
|
58
|
+
/** Desktop sidebar is expanded. */
|
|
59
|
+
sidebarOpen: boolean;
|
|
60
|
+
setSidebarOpen: (open: boolean) => void;
|
|
61
|
+
/** Phone menu **Sheet** is open. */
|
|
62
|
+
menuOpen: boolean;
|
|
63
|
+
setMenuOpen: (open: boolean) => void;
|
|
64
|
+
asideOpen: boolean;
|
|
65
|
+
setAsideOpen: (open: boolean) => void;
|
|
66
|
+
/** Collapses or expands the sidebar from `lg`; opens or closes the menu below it. */
|
|
67
|
+
toggleSidebar: () => void;
|
|
68
|
+
}
|
|
69
|
+
/** State of the nearest **AppShell** — for a header button that opens the aside. */
|
|
70
|
+
export declare function useAppShell(): AppShellContextValue;
|
|
71
|
+
declare function AppShellRoot({ title, brand: brandProp, sidebar: sidebarProp, sidebarFooter: sidebarFooterProp, header: headerProp, aside: asideProp, asideTitle, asideDescription, sidebarOpen: sidebarOpenProp, defaultSidebarOpen, onSidebarOpenChange, asideOpen: asideOpenProp, defaultAsideOpen, onAsideOpenChange, labels: labelsProp, children, className, }: AppShellProps): import("react").JSX.Element;
|
|
72
|
+
/**
|
|
73
|
+
* App chrome — a sidebar on the page background and the page as an inset, raised surface with a
|
|
74
|
+
* title bar. Below `lg` the sidebar is a start **Sheet**; the optional aside is a non-blocking **Panel**.
|
|
75
|
+
*/
|
|
76
|
+
export declare const AppShell: typeof AppShellRoot & {
|
|
77
|
+
Brand: typeof AppShellBrand;
|
|
78
|
+
Sidebar: typeof AppShellSidebar;
|
|
79
|
+
SidebarFooter: typeof AppShellSidebarFooter;
|
|
80
|
+
Header: typeof AppShellHeader;
|
|
81
|
+
Aside: typeof AppShellAside;
|
|
82
|
+
};
|
|
83
|
+
export {};
|
|
84
|
+
//# sourceMappingURL=AppShell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/AppShell/AppShell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAYL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAwBf,uDAAuD;AACvD,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,oFAAoF;IACpF,QAAQ,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,aAAa,EAAE,MAAM,CAAC;CACvB;AAUD,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,4GAA4G;IAC5G,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,yEAAyE;IACzE,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,uKAAuK;IACvK,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,8FAA8F;IAC9F,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,kFAAkF;IAClF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,gEAAgE;IAChE,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,6CAA6C;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,+BAA+B;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACjC,kHAAkH;IAClH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACrC;AAED,UAAU,iBAAiB;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,UAAU,sBAAuB,SAAQ,iBAAiB;IACxD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB;AAED,iBAAS,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,+BAErD;AAED,iBAAS,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,+BAEvD;AAED,iBAAS,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,+BAE7D;AAED,iBAAS,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE,iBAAiB,+BAEtD;AAED,iBAAS,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE,sBAAsB,+BAE1D;AAED,MAAM,WAAW,oBAAoB;IACnC,mCAAmC;IACnC,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,oCAAoC;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,qFAAqF;IACrF,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAID,oFAAoF;AACpF,wBAAgB,WAAW,IAAI,oBAAoB,CAMlD;AAkDD,iBAAS,YAAY,CAAC,EACpB,KAAK,EACL,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,iBAAiB,EAChC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,SAAS,EAChB,UAAU,EACV,gBAAgB,EAChB,WAAW,EAAE,eAAe,EAC5B,kBAAyB,EACzB,mBAAmB,EACnB,SAAS,EAAE,aAAa,EACxB,gBAAwB,EACxB,iBAAiB,EACjB,MAAM,EAAE,UAAU,EAClB,QAAQ,EACR,SAAS,GACV,EAAE,aAAa,+BAsMf;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ;;;;;;CAMnB,CAAC"}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn as e } from "../../../lib/cn.js";
|
|
3
|
+
import { IconButton as t } from "../../atoms/IconButton/IconButton.js";
|
|
4
|
+
import { Kbd as n } from "../../atoms/Kbd/Kbd.js";
|
|
5
|
+
import { Tooltip as r } from "../../atoms/Tooltip/Tooltip.js";
|
|
6
|
+
import { PageHeader as i } from "../../molecules/PageHeader/PageHeader.js";
|
|
7
|
+
import { Panel as a } from "../Panel/Panel.js";
|
|
8
|
+
import { Sheet as o } from "../Sheet/Sheet.js";
|
|
9
|
+
import { appShellBrandClasses as ee, appShellCanvasClasses as te, appShellMainClasses as ne, appShellRootClasses as re, appShellSheetBodyClasses as ie, appShellSidebarBodyClasses as s, appShellSidebarClasses as ae, appShellSidebarFooterClasses as oe, appShellSkipLinkClasses as se, appShellSurfaceClasses as ce, appShellToggleDesktopClasses as le, appShellToggleMobileClasses as ue } from "./appShellStyles.js";
|
|
10
|
+
import { Children as c, createContext as l, isValidElement as u, useCallback as d, useContext as f, useEffect as p, useId as de, useMemo as m, useRef as h, useState as g } from "react";
|
|
11
|
+
import { PanelLeft as _ } from "lucide-react";
|
|
12
|
+
import { Fragment as v, jsx as y, jsxs as b } from "react/jsx-runtime";
|
|
13
|
+
//#region src/components/organisms/AppShell/AppShell.tsx
|
|
14
|
+
var fe = {
|
|
15
|
+
collapse: "Collapse sidebar",
|
|
16
|
+
expand: "Expand sidebar",
|
|
17
|
+
menu: "Menu",
|
|
18
|
+
aside: "Details",
|
|
19
|
+
skipToContent: "Skip to content"
|
|
20
|
+
};
|
|
21
|
+
function x({ children: e }) {
|
|
22
|
+
return /* @__PURE__ */ y(v, { children: e });
|
|
23
|
+
}
|
|
24
|
+
function S({ children: e }) {
|
|
25
|
+
return /* @__PURE__ */ y(v, { children: e });
|
|
26
|
+
}
|
|
27
|
+
function C({ children: e }) {
|
|
28
|
+
return /* @__PURE__ */ y(v, { children: e });
|
|
29
|
+
}
|
|
30
|
+
function w({ children: e }) {
|
|
31
|
+
return /* @__PURE__ */ y(v, { children: e });
|
|
32
|
+
}
|
|
33
|
+
function T({ children: e }) {
|
|
34
|
+
return /* @__PURE__ */ y(v, { children: e });
|
|
35
|
+
}
|
|
36
|
+
var E = l(null);
|
|
37
|
+
function D() {
|
|
38
|
+
let e = f(E);
|
|
39
|
+
if (e == null) throw Error("useAppShell must be used inside <AppShell>.");
|
|
40
|
+
return e;
|
|
41
|
+
}
|
|
42
|
+
function O(e, t, n) {
|
|
43
|
+
let [r, i] = g(t);
|
|
44
|
+
return [e ?? r, d((t) => {
|
|
45
|
+
e ?? i(t), n?.(t);
|
|
46
|
+
}, [e, n])];
|
|
47
|
+
}
|
|
48
|
+
var k = "(min-width: 1024px)";
|
|
49
|
+
function pe(e) {
|
|
50
|
+
return e instanceof HTMLElement && e.isContentEditable;
|
|
51
|
+
}
|
|
52
|
+
function me(e) {
|
|
53
|
+
let t = { content: [] };
|
|
54
|
+
return c.forEach(e, (e) => {
|
|
55
|
+
if (!u(e)) {
|
|
56
|
+
e != null && e !== !1 && t.content.push(e);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
e.type === x ? t.brand = e.props.children : e.type === S ? t.sidebar = e.props.children : e.type === C ? t.sidebarFooter = e.props.children : e.type === w ? t.header = e.props.children : e.type === T ? t.aside = e.props : t.content.push(e);
|
|
60
|
+
}), t;
|
|
61
|
+
}
|
|
62
|
+
function A({ title: c, brand: l, sidebar: u, sidebarFooter: f, header: v, aside: x, asideTitle: S, asideDescription: C, sidebarOpen: w, defaultSidebarOpen: T = !0, onSidebarOpenChange: D, asideOpen: A, defaultAsideOpen: j = !1, onAsideOpenChange: he, labels: ge, children: _e, className: ve }) {
|
|
63
|
+
let M = {
|
|
64
|
+
...fe,
|
|
65
|
+
...ge
|
|
66
|
+
}, N = me(_e), P = l ?? N.brand, F = u ?? N.sidebar, I = f ?? N.sidebarFooter, ye = v ?? N.header, L = x ?? N.aside?.children, R = F != null, be = L != null, [z, B] = O(w, T, D), [V, H] = O(A, j, he), [U, W] = g(!1), G = de(), K = h(null), q = h(null), J = d((e) => {
|
|
67
|
+
!e && K.current?.contains(document.activeElement) && q.current?.focus(), B(e);
|
|
68
|
+
}, [B]), Y = d(() => {
|
|
69
|
+
window.matchMedia(k).matches ? J(!z) : W((e) => !e);
|
|
70
|
+
}, [J, z]);
|
|
71
|
+
p(() => {
|
|
72
|
+
let e = window.matchMedia(k);
|
|
73
|
+
function t(e) {
|
|
74
|
+
e.matches && W(!1);
|
|
75
|
+
}
|
|
76
|
+
return e.addEventListener("change", t), () => e.removeEventListener("change", t);
|
|
77
|
+
}, []), p(() => {
|
|
78
|
+
if (!R) return;
|
|
79
|
+
function e(e) {
|
|
80
|
+
e.defaultPrevented || e.altKey || e.shiftKey || !(e.metaKey || e.ctrlKey) || e.key.toLowerCase() !== "b" || pe(e.target) || (e.preventDefault(), Y());
|
|
81
|
+
}
|
|
82
|
+
return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
|
|
83
|
+
}, [R, Y]);
|
|
84
|
+
let xe = m(() => ({
|
|
85
|
+
sidebarOpen: z,
|
|
86
|
+
setSidebarOpen: J,
|
|
87
|
+
menuOpen: U,
|
|
88
|
+
setMenuOpen: W,
|
|
89
|
+
asideOpen: V,
|
|
90
|
+
setAsideOpen: H,
|
|
91
|
+
toggleSidebar: Y
|
|
92
|
+
}), [
|
|
93
|
+
V,
|
|
94
|
+
U,
|
|
95
|
+
H,
|
|
96
|
+
J,
|
|
97
|
+
z,
|
|
98
|
+
Y
|
|
99
|
+
]);
|
|
100
|
+
function Se(e) {
|
|
101
|
+
e.target.closest("nav a[href], nav button") != null && W(!1);
|
|
102
|
+
}
|
|
103
|
+
let X = z ? M.collapse : M.expand, Z = `${G}-main`, Q = P == null ? null : /* @__PURE__ */ y("div", {
|
|
104
|
+
className: ee,
|
|
105
|
+
children: P
|
|
106
|
+
}), $ = I == null ? null : /* @__PURE__ */ y("div", {
|
|
107
|
+
className: oe,
|
|
108
|
+
children: I
|
|
109
|
+
}), Ce = R ? /* @__PURE__ */ b(r.Provider, { children: [/* @__PURE__ */ b(r, { children: [/* @__PURE__ */ y(r.Trigger, { render: /* @__PURE__ */ y(t, {
|
|
110
|
+
ref: q,
|
|
111
|
+
role: "ghost",
|
|
112
|
+
size: "sm",
|
|
113
|
+
title: "",
|
|
114
|
+
icon: /* @__PURE__ */ y(_, { strokeWidth: 2 }),
|
|
115
|
+
"aria-label": X,
|
|
116
|
+
"aria-expanded": z,
|
|
117
|
+
"aria-controls": G,
|
|
118
|
+
"aria-keyshortcuts": "Control+B Meta+B",
|
|
119
|
+
className: le,
|
|
120
|
+
onClick: () => J(!z)
|
|
121
|
+
}) }), /* @__PURE__ */ y(r.Content, { children: /* @__PURE__ */ b("span", {
|
|
122
|
+
className: "inline-flex items-center gap-2",
|
|
123
|
+
children: [
|
|
124
|
+
X,
|
|
125
|
+
/* @__PURE__ */ y(n, {
|
|
126
|
+
size: "sm",
|
|
127
|
+
children: "Ctrl"
|
|
128
|
+
}),
|
|
129
|
+
/* @__PURE__ */ y(n, {
|
|
130
|
+
size: "sm",
|
|
131
|
+
children: "B"
|
|
132
|
+
})
|
|
133
|
+
]
|
|
134
|
+
}) })] }), /* @__PURE__ */ y(t, {
|
|
135
|
+
role: "ghost",
|
|
136
|
+
size: "sm",
|
|
137
|
+
icon: /* @__PURE__ */ y(_, { strokeWidth: 2 }),
|
|
138
|
+
"aria-label": M.menu,
|
|
139
|
+
"aria-expanded": U,
|
|
140
|
+
"aria-haspopup": "dialog",
|
|
141
|
+
"aria-keyshortcuts": "Control+B Meta+B",
|
|
142
|
+
className: ue,
|
|
143
|
+
onClick: () => W(!0)
|
|
144
|
+
})] }) : null;
|
|
145
|
+
return /* @__PURE__ */ y(E.Provider, {
|
|
146
|
+
value: xe,
|
|
147
|
+
children: /* @__PURE__ */ b("div", {
|
|
148
|
+
className: e(re, ve),
|
|
149
|
+
children: [
|
|
150
|
+
/* @__PURE__ */ y("a", {
|
|
151
|
+
href: `#${Z}`,
|
|
152
|
+
className: se,
|
|
153
|
+
onClick: (e) => {
|
|
154
|
+
e.preventDefault(), document.getElementById(Z)?.focus();
|
|
155
|
+
},
|
|
156
|
+
children: M.skipToContent
|
|
157
|
+
}),
|
|
158
|
+
R ? /* @__PURE__ */ b("div", {
|
|
159
|
+
ref: K,
|
|
160
|
+
id: G,
|
|
161
|
+
className: e(ae, !z && "lg:!hidden"),
|
|
162
|
+
children: [
|
|
163
|
+
Q,
|
|
164
|
+
/* @__PURE__ */ y("div", {
|
|
165
|
+
className: s,
|
|
166
|
+
children: F
|
|
167
|
+
}),
|
|
168
|
+
$
|
|
169
|
+
]
|
|
170
|
+
}) : null,
|
|
171
|
+
/* @__PURE__ */ y("div", {
|
|
172
|
+
className: te,
|
|
173
|
+
children: /* @__PURE__ */ b("div", {
|
|
174
|
+
className: ce,
|
|
175
|
+
children: [/* @__PURE__ */ y(i, {
|
|
176
|
+
variant: "app",
|
|
177
|
+
title: c,
|
|
178
|
+
"aria-label": c,
|
|
179
|
+
start: Ce,
|
|
180
|
+
end: ye
|
|
181
|
+
}), /* @__PURE__ */ y("main", {
|
|
182
|
+
id: Z,
|
|
183
|
+
tabIndex: -1,
|
|
184
|
+
className: ne,
|
|
185
|
+
children: N.content
|
|
186
|
+
})]
|
|
187
|
+
})
|
|
188
|
+
}),
|
|
189
|
+
R ? /* @__PURE__ */ y(o, {
|
|
190
|
+
open: U,
|
|
191
|
+
onOpenChange: W,
|
|
192
|
+
children: /* @__PURE__ */ y(o.Content, {
|
|
193
|
+
side: "start",
|
|
194
|
+
title: M.menu,
|
|
195
|
+
children: /* @__PURE__ */ b("div", {
|
|
196
|
+
className: ie,
|
|
197
|
+
onClick: Se,
|
|
198
|
+
children: [
|
|
199
|
+
Q,
|
|
200
|
+
/* @__PURE__ */ y("div", {
|
|
201
|
+
className: s,
|
|
202
|
+
children: F
|
|
203
|
+
}),
|
|
204
|
+
$
|
|
205
|
+
]
|
|
206
|
+
})
|
|
207
|
+
})
|
|
208
|
+
}) : null,
|
|
209
|
+
be ? /* @__PURE__ */ y(a, {
|
|
210
|
+
open: V,
|
|
211
|
+
onOpenChange: H,
|
|
212
|
+
children: /* @__PURE__ */ y(a.Content, {
|
|
213
|
+
side: "end",
|
|
214
|
+
title: S ?? N.aside?.title ?? M.aside,
|
|
215
|
+
description: C ?? N.aside?.description,
|
|
216
|
+
children: L
|
|
217
|
+
})
|
|
218
|
+
}) : null
|
|
219
|
+
]
|
|
220
|
+
})
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
var j = Object.assign(A, {
|
|
224
|
+
Brand: x,
|
|
225
|
+
Sidebar: S,
|
|
226
|
+
SidebarFooter: C,
|
|
227
|
+
Header: w,
|
|
228
|
+
Aside: T
|
|
229
|
+
});
|
|
230
|
+
//#endregion
|
|
231
|
+
export { j as AppShell, D as useAppShell };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** Page canvas — the sidebar sits directly on `bg-body`. */
|
|
2
|
+
export declare const appShellRootClasses = "flex h-full min-h-0 w-full bg-body font-sans text-fg";
|
|
3
|
+
/** Sidebar column from `lg`; below it the same content opens in a start **Sheet**. */
|
|
4
|
+
export declare const appShellSidebarClasses = "flex h-full min-h-0 w-60 shrink-0 flex-col pt-2 max-lg:!hidden";
|
|
5
|
+
/** Same 56px band token as the title bar — their bottom edges align. */
|
|
6
|
+
export declare const appShellBrandClasses: string;
|
|
7
|
+
export declare const appShellSidebarBodyClasses = "min-h-0 flex-1 overflow-y-auto";
|
|
8
|
+
/** Pinned under the scrolling nav — the same 16px inset as the brand row. */
|
|
9
|
+
export declare const appShellSidebarFooterClasses = "box-border shrink-0 px-4 py-3";
|
|
10
|
+
/** 8px inset around the raised surface. */
|
|
11
|
+
export declare const appShellCanvasClasses = "flex min-h-0 min-w-0 flex-1 p-2";
|
|
12
|
+
/** Raised surface — the Card shell radius and the soft card shadow. */
|
|
13
|
+
export declare const appShellSurfaceClasses: string;
|
|
14
|
+
/** First tab stop: hidden until focused, then pinned over the top-start corner. */
|
|
15
|
+
export declare const appShellSkipLinkClasses: string;
|
|
16
|
+
export declare const appShellMainClasses = "min-h-0 flex-1 overflow-y-auto px-[var(--grid-margin)] py-6 focus-visible:outline-none";
|
|
17
|
+
export declare const appShellToggleDesktopClasses = "max-lg:!hidden";
|
|
18
|
+
export declare const appShellToggleMobileClasses = "lg:!hidden";
|
|
19
|
+
export declare const appShellSheetBodyClasses = "flex h-full min-h-0 flex-col";
|
|
20
|
+
//# sourceMappingURL=appShellStyles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appShellStyles.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/AppShell/appShellStyles.ts"],"names":[],"mappings":"AAIA,4DAA4D;AAC5D,eAAO,MAAM,mBAAmB,yDAAyD,CAAC;AAE1F,sFAAsF;AACtF,eAAO,MAAM,sBAAsB,mEAAmE,CAAC;AAEvG,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,QAGhC,CAAC;AAEF,eAAO,MAAM,0BAA0B,mCAAmC,CAAC;AAE3E,6EAA6E;AAC7E,eAAO,MAAM,4BAA4B,kCAAkC,CAAC;AAE5E,2CAA2C;AAC3C,eAAO,MAAM,qBAAqB,oCAAoC,CAAC;AAEvE,uEAAuE;AACvE,eAAO,MAAM,sBAAsB,QAGlC,CAAC;AAEF,mFAAmF;AACnF,eAAO,MAAM,uBAAuB,QAGqB,CAAC;AAE1D,eAAO,MAAM,mBAAmB,2FAC0D,CAAC;AAE3F,eAAO,MAAM,4BAA4B,mBAAmB,CAAC;AAE7D,eAAO,MAAM,2BAA2B,eAAe,CAAC;AAExD,eAAO,MAAM,wBAAwB,iCAAiC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn as e } from "../../../lib/cn.js";
|
|
3
|
+
import { cardLayoutShellShapeClasses as t } from "../../molecules/Card/cardStyles.js";
|
|
4
|
+
import { pageHeaderAppBandHeightClasses as n } from "../../molecules/PageHeader/pageHeaderStyles.js";
|
|
5
|
+
//#region src/components/organisms/AppShell/appShellStyles.ts
|
|
6
|
+
var r = "flex h-full min-h-0 w-full bg-body font-sans text-fg", i = "flex h-full min-h-0 w-60 shrink-0 flex-col pt-2 max-lg:!hidden", a = e("box-border flex shrink-0 items-center gap-2 px-4", n), o = "min-h-0 flex-1 overflow-y-auto", s = "box-border shrink-0 px-4 py-3", c = "flex min-h-0 min-w-0 flex-1 p-2", l = e("flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden bg-surface shadow-soft-card", t.rounded), u = "sr-only focus:not-sr-only focus:fixed focus:start-4 focus:top-4 focus:z-50 focus:rounded-[var(--radius-control)] focus:bg-body focus:px-4 focus:py-2 focus:text-sm focus:font-medium focus:text-fg focus:outline-none focus:ring-2 focus:ring-focus-ring", d = "min-h-0 flex-1 overflow-y-auto px-[var(--grid-margin)] py-6 focus-visible:outline-none", f = "max-lg:!hidden", p = "lg:!hidden", m = "flex h-full min-h-0 flex-col";
|
|
7
|
+
//#endregion
|
|
8
|
+
export { a as appShellBrandClasses, c as appShellCanvasClasses, d as appShellMainClasses, r as appShellRootClasses, m as appShellSheetBodyClasses, o as appShellSidebarBodyClasses, i as appShellSidebarClasses, s as appShellSidebarFooterClasses, u as appShellSkipLinkClasses, l as appShellSurfaceClasses, f as appShellToggleDesktopClasses, p as appShellToggleMobileClasses };
|
|
@@ -6,6 +6,8 @@ export type CarouselLayoutClassName = string;
|
|
|
6
6
|
export interface CarouselLabels {
|
|
7
7
|
/** Names each item by its place. Default: "2 of 4". */
|
|
8
8
|
item: (position: number, count: number) => string;
|
|
9
|
+
/** The visible counter under the row. Default: "1 of 6". */
|
|
10
|
+
counter: (position: number, count: number) => string;
|
|
9
11
|
}
|
|
10
12
|
/** The row is a labelled region: name it, or point at the heading that does. */
|
|
11
13
|
type CarouselName = {
|
|
@@ -33,6 +35,12 @@ interface CarouselBaseProps {
|
|
|
33
35
|
* `full` row width, or `none`. It hides itself while every item fits.
|
|
34
36
|
*/
|
|
35
37
|
progress?: CarouselProgressPlacement;
|
|
38
|
+
/** Show "1 of 6" under the row, announced politely as it changes. Hidden while every item fits. Default: `false`. */
|
|
39
|
+
counter?: boolean;
|
|
40
|
+
/** Fires with the 0-based index and the item count when the item the row rests on changes. */
|
|
41
|
+
onIndexChange?: (index: number, count: number) => void;
|
|
42
|
+
/** Controlled: the row moves to this item (0-based) when it changes. */
|
|
43
|
+
activeIndex?: number;
|
|
36
44
|
labels?: Partial<CarouselLabels>;
|
|
37
45
|
/** **Carousel.Item** children, one per item. */
|
|
38
46
|
children?: ReactNode;
|
|
@@ -50,7 +58,7 @@ export interface CarouselItemProps {
|
|
|
50
58
|
* shift-wheel scrolling come from the browser; the pointer drag, the glide, and the scrubber are
|
|
51
59
|
* built on it.
|
|
52
60
|
*/
|
|
53
|
-
declare function CarouselRoot({ "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, itemWidth, snap, bleed, fade, progress, labels, children, className, }: CarouselProps): import("react").JSX.Element;
|
|
61
|
+
declare function CarouselRoot({ "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, itemWidth, snap, bleed, fade, progress, counter, onIndexChange, activeIndex, labels, children, className, }: CarouselProps): import("react").JSX.Element;
|
|
54
62
|
declare function CarouselItem({ children, className }: CarouselItemProps): import("react").JSX.Element;
|
|
55
63
|
export declare const Carousel: typeof CarouselRoot & {
|
|
56
64
|
Item: typeof CarouselItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Carousel/Carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAeL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Carousel.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Carousel/Carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAeL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAyBf,OAAO,EAgBL,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC/B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,GAC/B,MAAM,kBAAkB,CAAC;AAE1B,sDAAsD;AACtD,MAAM,MAAM,uBAAuB,GAAG,MAAM,CAAC;AAE7C,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAClD,4DAA4D;IAC5D,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACtD;AAED,gFAAgF;AAChF,KAAK,YAAY,GACb;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,KAAK,CAAA;CAAE,GACnD;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAExD,UAAU,iBAAiB;IACzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,iGAAiG;IACjG,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,0FAA0F;IAC1F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IACrC,qHAAqH;IACrH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8FAA8F;IAC9F,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACjC,gDAAgD;IAChD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACrC;AAED,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,YAAY,CAAC;AAE7D,MAAM,WAAW,iBAAiB;IAChC,iDAAiD;IACjD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,uBAAuB,CAAC;CACrC;AAwED;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,EACpB,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,SAAoC,EACpC,IAAW,EACX,KAAa,EACb,IAAW,EACX,QAAmB,EACnB,OAAe,EACf,aAAa,EACb,WAAW,EACX,MAAM,EACN,QAAQ,EACR,SAAS,GACV,EAAE,aAAa,+BAkcf;AAOD,iBAAS,YAAY,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,iBAAiB,+BAO/D;AAED,eAAO,MAAM,QAAQ;;CAEnB,CAAC"}
|