@nxgt/material 3.79.1 → 3.81.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/CHANGELOG.md +94 -0
- package/README.md +48 -8
- package/dist/{alert-dialog-653apk3f.js → alert-dialog-DOZ0SfQs.js} +1 -1
- package/dist/{async-slice-CXLbQuOc.js → async-slice-BfVokA46.js} +1 -1
- package/dist/{button-3op3rtZh.js → button-CSKUtMI3.js} +2 -2
- package/dist/{calculator-KqIMBXSh.js → calculator-Cv00UQgR.js} +10 -10
- package/dist/calculator-field.js +6 -6
- package/dist/{calculator-segment-BlJE1LaS.js → calculator-segment-CwnC2cV_.js} +1 -1
- package/dist/calculator.js +1 -1
- package/dist/charts.js +3 -3
- package/dist/{chip-MuKDwtkG.js → chip-BGn0V6Pt.js} +3 -3
- package/dist/{code-editor-Bp2RrdNx.js → code-editor-B25-mWhb.js} +4 -4
- package/dist/code-editor.js +4 -4
- package/dist/{code-language-items-B7WR5ua_.js → code-language-items-oRjtO3qV.js} +2 -2
- package/dist/components/base-content.css +11 -0
- package/dist/components/components.css +5 -0
- package/dist/components/ui/actions/fab/fab-dock.css +19 -6
- package/dist/components/ui/collections/data-table/data-table-items-tiles.css +27 -1
- package/dist/components/ui/display/tube-cap/tube-cap.css +87 -0
- package/dist/components/ui/layout/app-search/app-search.css +62 -0
- package/dist/components/ui/layout/app-shell/activity-backdrop.css +10 -2
- package/dist/components/ui/layout/app-shell/app-header.css +108 -0
- package/dist/components/ui/layout/navigation-toolbar/navigation-toolbar.css +43 -0
- package/dist/{components-CTyNC_zW.js → components-B00kDHzJ.js} +23101 -18734
- package/dist/components.js +37 -37
- package/dist/{conversion-variant-BDFAxqe9.js → conversion-variant-wZd-G6xR.js} +3 -3
- package/dist/{currency-field-DWHB5oms.js → currency-field-DizBTAat.js} +4 -4
- package/dist/{date.utils-DUvqcjan.js → date.utils-JTEIo3mM.js} +98 -98
- package/dist/{dialog-Bm5LvVlB.js → dialog-B-3s-oXt.js} +3 -3
- package/dist/dnd.js +2 -2
- package/dist/{dropdown-menu-xlZ6NYUA.js → dropdown-menu-C6rcYGB9.js} +1 -1
- package/dist/editor.js +19 -19
- package/dist/{empty-state-C0kviQdW.js → empty-state-CSkghnD9.js} +1 -1
- package/dist/{financial-variant-CggTpad2.js → financial-variant-igpGRbGw.js} +5 -5
- package/dist/{hooks-Dg94jPRq.js → hooks-DvIsom2p.js} +2 -2
- package/dist/hooks.js +9 -8
- package/dist/{hover-card-B1g55Hi6.js → hover-card-DuaVVKMb.js} +1 -1
- package/dist/i18n.js +3 -3
- package/dist/{icon-badge-BcW66bRk.js → icon-badge-3ThP6EOl.js} +1 -1
- package/dist/{icon-button-Cogxy1cy.js → icon-button-4PKlaI1g.js} +2 -2
- package/dist/lib/components/ui/actions/button/button-tones.d.ts +17 -16
- package/dist/lib/components/ui/collections/day-grouped-list/day-grouped-list.d.ts +6 -1
- package/dist/lib/components/ui/collections/filter/use-filter-field-config.d.ts +2 -0
- package/dist/lib/components/ui/collections/server-table/types-states.d.ts +5 -1
- package/dist/lib/components/ui/display/index.d.ts +1 -0
- package/dist/lib/components/ui/display/tube-cap/index.d.ts +2 -0
- package/dist/lib/components/ui/display/tube-cap/tube-cap.d.ts +27 -0
- package/dist/lib/components/ui/display/tube-cap/tube-cap.kinds.d.ts +7 -0
- package/dist/lib/components/ui/fields/contacts/placeholders.d.ts +1 -1
- package/dist/lib/components/ui/fields/repeatable-group/partials/repeatable-group-row.d.ts +3 -1
- package/dist/lib/components/ui/fields/repeatable-group/partials/repeatable-group-rows.d.ts +2 -1
- package/dist/lib/components/ui/fields/repeatable-group/repeatable-group.d.ts +1 -1
- package/dist/lib/components/ui/fields/repeatable-group/types.d.ts +7 -0
- package/dist/lib/components/ui/layout/app-bar/top-app-bar.d.ts +18 -3
- package/dist/lib/components/ui/layout/app-search/app-search-bar.d.ts +11 -0
- package/dist/lib/components/ui/layout/app-search/app-search.types.d.ts +47 -0
- package/dist/lib/components/ui/layout/app-search/index.d.ts +3 -0
- package/dist/lib/components/ui/layout/app-search/partials/on-phone.d.ts +2 -0
- package/dist/lib/components/ui/layout/app-search/partials/phone-search.d.ts +3 -0
- package/dist/lib/components/ui/layout/app-search/partials/pill-search.d.ts +3 -0
- package/dist/lib/components/ui/layout/app-search/pill-form.d.ts +18 -0
- package/dist/lib/components/ui/layout/app-search/search-panel.d.ts +24 -0
- package/dist/lib/components/ui/layout/app-search/search-results.d.ts +14 -0
- package/dist/lib/components/ui/layout/app-search/search-shortcut.d.ts +15 -0
- package/dist/lib/components/ui/layout/app-search/search-view.d.ts +22 -0
- package/dist/lib/components/ui/layout/app-search/use-pill-panel.d.ts +22 -0
- package/dist/lib/components/ui/layout/app-search/use-search-text.d.ts +8 -0
- package/dist/lib/components/ui/layout/app-shell/activity-app-bar.d.ts +35 -0
- package/dist/lib/components/ui/layout/app-shell/activity-chrome.d.ts +26 -3
- package/dist/lib/components/ui/layout/app-shell/activity-column-props.d.ts +22 -0
- package/dist/lib/components/ui/layout/app-shell/activity-column.d.ts +10 -2
- package/dist/lib/components/ui/layout/app-shell/activity-layout-navigation.types.d.ts +94 -0
- package/dist/lib/components/ui/layout/app-shell/activity-layout.d.ts +8 -1
- package/dist/lib/components/ui/layout/app-shell/activity-layout.types.d.ts +2 -1
- package/dist/lib/components/ui/layout/app-shell/activity-rails.d.ts +16 -0
- package/dist/lib/components/ui/layout/app-shell/activity-sidebar-lane.d.ts +22 -0
- package/dist/lib/components/ui/layout/app-shell/activity-top-nav.d.ts +11 -0
- package/dist/lib/components/ui/layout/app-shell/activity-two-level-lane.d.ts +14 -0
- package/dist/lib/components/ui/layout/app-shell/app-back.d.ts +22 -0
- package/dist/lib/components/ui/layout/app-shell/app-header-row.d.ts +3 -0
- package/dist/lib/components/ui/layout/app-shell/app-header.d.ts +33 -1
- package/dist/lib/components/ui/layout/app-shell/app-shell.utils.d.ts +8 -0
- package/dist/lib/components/ui/layout/app-shell/app-sidebar-entries.d.ts +13 -0
- package/dist/lib/components/ui/layout/app-shell/app-sidebar-label-item.d.ts +3 -1
- package/dist/lib/components/ui/layout/app-shell/bottom-chrome.d.ts +13 -0
- package/dist/lib/components/ui/layout/app-shell/header-title.d.ts +18 -2
- package/dist/lib/components/ui/layout/app-shell/header.utils.d.ts +37 -0
- package/dist/lib/components/ui/layout/app-shell/index.d.ts +3 -0
- package/dist/lib/components/ui/layout/app-shell/navigation-parts.d.ts +38 -0
- package/dist/lib/components/ui/layout/app-shell/navigation.utils.d.ts +36 -0
- package/dist/lib/components/ui/layout/app-shell/page-title-scope.d.ts +14 -0
- package/dist/lib/components/ui/layout/app-shell/page-title.d.ts +12 -1
- package/dist/lib/components/ui/layout/app-shell/shell-scroll.d.ts +32 -0
- package/dist/lib/components/ui/layout/app-shell/sticky-offset.d.ts +8 -0
- package/dist/lib/components/ui/layout/app-shell/types.d.ts +14 -0
- package/dist/lib/components/ui/layout/app-shell/use-focus-while-hidden.d.ts +9 -0
- package/dist/lib/components/ui/layout/app-shell/use-header-height.d.ts +12 -0
- package/dist/lib/components/ui/layout/app-shell/use-header-scroll.d.ts +19 -0
- package/dist/lib/components/ui/layout/app-shell/use-shell-header.d.ts +20 -0
- package/dist/lib/components/ui/layout/auth-card/auth-card-split.d.ts +14 -0
- package/dist/lib/components/ui/layout/auth-card/auth-card.d.ts +13 -1
- package/dist/lib/components/ui/layout/dashboard-grid/dashboard-grid-context.d.ts +21 -0
- package/dist/lib/components/ui/layout/dashboard-grid/dashboard-grid.d.ts +9 -0
- package/dist/lib/components/ui/layout/dashboard-grid/dashboard-grid.state.d.ts +30 -0
- package/dist/lib/components/ui/layout/dashboard-grid/dashboard-grid.tiles.d.ts +8 -0
- package/dist/lib/components/ui/layout/dashboard-grid/dashboard-grid.types.d.ts +50 -0
- package/dist/lib/components/ui/layout/dashboard-grid/dashboard-grid.utils.d.ts +70 -0
- package/dist/lib/components/ui/layout/dashboard-grid/dashboard-tile.d.ts +7 -0
- package/dist/lib/components/ui/layout/dashboard-grid/index.d.ts +4 -0
- package/dist/lib/components/ui/layout/dashboard-grid/partials/dashboard-announcer.d.ts +6 -0
- package/dist/lib/components/ui/layout/dashboard-grid/partials/dashboard-edit-bar.d.ts +11 -0
- package/dist/lib/components/ui/layout/dashboard-grid/partials/dashboard-move-buttons.d.ts +9 -0
- package/dist/lib/components/ui/layout/dashboard-grid/partials/dashboard-toolbar.d.ts +7 -0
- package/dist/lib/components/ui/layout/dashboard-grid/use-dashboard-grid.d.ts +21 -0
- package/dist/lib/components/ui/layout/dashboard-grid/use-dashboard-moves.d.ts +22 -0
- package/dist/lib/components/ui/layout/doc/doc-context.d.ts +2 -0
- package/dist/lib/components/ui/layout/doc/doc.d.ts +5 -0
- package/dist/lib/components/ui/layout/doc/index.d.ts +1 -1
- package/dist/lib/components/ui/layout/doc/partials/doc-embedded-bar.d.ts +9 -0
- package/dist/lib/components/ui/layout/doc/partials/doc-embedded.d.ts +8 -0
- package/dist/lib/components/ui/layout/doc/use-doc.d.ts +9 -1
- package/dist/lib/components/ui/layout/editor-layout/editor-layout.d.ts +14 -0
- package/dist/lib/components/ui/layout/editor-layout/editor-layout.types.d.ts +31 -0
- package/dist/lib/components/ui/layout/editor-layout/index.d.ts +4 -0
- package/dist/lib/components/ui/layout/editor-layout/partials/editor-layout-body.d.ts +11 -0
- package/dist/lib/components/ui/layout/editor-layout/partials/editor-layout-canvas.d.ts +8 -0
- package/dist/lib/components/ui/layout/editor-layout/partials/editor-layout-context.d.ts +12 -0
- package/dist/lib/components/ui/layout/editor-layout/partials/editor-layout-start.d.ts +8 -0
- package/dist/lib/components/ui/layout/editor-layout/partials/editor-layout-triggers.d.ts +10 -0
- package/dist/lib/components/ui/layout/editor-layout/partials/use-editor-layout-names.d.ts +8 -0
- package/dist/lib/components/ui/layout/editor-layout/partials/use-editor-layout-state.d.ts +21 -0
- package/dist/lib/components/ui/layout/index.d.ts +9 -0
- package/dist/lib/components/ui/layout/landing/index.d.ts +6 -0
- package/dist/lib/components/ui/layout/landing/landing-layout.d.ts +15 -0
- package/dist/lib/components/ui/layout/landing/landing-layout.types.d.ts +27 -0
- package/dist/lib/components/ui/layout/landing/landing-section.d.ts +12 -0
- package/dist/lib/components/ui/layout/landing/landing-section.types.d.ts +32 -0
- package/dist/lib/components/ui/layout/landing/landing.classes.d.ts +20 -0
- package/dist/lib/components/ui/layout/landing/partials/landing-header.d.ts +11 -0
- package/dist/lib/components/ui/layout/landing/partials/landing-section-intro.d.ts +13 -0
- package/dist/lib/components/ui/layout/landing/partials/site-footer-group.d.ts +8 -0
- package/dist/lib/components/ui/layout/landing/site-footer.d.ts +13 -0
- package/dist/lib/components/ui/layout/landing/site-footer.types.d.ts +29 -0
- package/dist/lib/components/ui/layout/list-details-layout/internal.d.ts +2 -0
- package/dist/lib/components/ui/layout/list-details-layout/list-details-layout.d.ts +9 -17
- package/dist/lib/components/ui/layout/list-details-layout/partials/history-mark.d.ts +2 -0
- package/dist/lib/components/ui/layout/list-details-layout/partials/list-details-context.d.ts +17 -1
- package/dist/lib/components/ui/layout/list-details-layout/partials/list-details-history.d.ts +8 -0
- package/dist/lib/components/ui/layout/list-details-layout/partials/list-details-inspector.d.ts +21 -0
- package/dist/lib/components/ui/layout/list-details-layout/partials/list-details-layout.types.d.ts +47 -0
- package/dist/lib/components/ui/layout/list-details-layout/partials/list-details-resizer.d.ts +9 -0
- package/dist/lib/components/ui/layout/list-details-layout/partials/list-details-root.d.ts +3 -0
- package/dist/lib/components/ui/layout/list-details-layout/partials/list-details-trigger.d.ts +13 -4
- package/dist/lib/components/ui/layout/list-details-layout/partials/use-inspector-focus.d.ts +8 -0
- package/dist/lib/components/ui/layout/list-details-layout/partials/use-list-details-param.d.ts +26 -0
- package/dist/lib/components/ui/layout/list-details-layout/partials/use-list-details-state.d.ts +15 -0
- package/dist/lib/components/ui/layout/list-details-layout/partials/use-list-width.d.ts +16 -0
- package/dist/lib/components/ui/layout/list-details-layout/partials/use-pane-focus.d.ts +6 -4
- package/dist/lib/components/ui/layout/navigation-bar/index.d.ts +3 -0
- package/dist/lib/components/ui/layout/navigation-bar/internal.d.ts +4 -0
- package/dist/lib/components/ui/layout/navigation-bar/navigation-bar.classes.d.ts +14 -0
- package/dist/lib/components/ui/layout/navigation-bar/navigation-bar.d.ts +35 -0
- package/dist/lib/components/ui/layout/navigation-bar/navigation-bar.utils.d.ts +19 -0
- package/dist/lib/components/ui/layout/navigation-bar/partials/bar-badge.d.ts +5 -0
- package/dist/lib/components/ui/layout/navigation-bar/partials/bar-entry.d.ts +12 -0
- package/dist/lib/components/ui/layout/navigation-bar/partials/navigation-bar-item.d.ts +22 -0
- package/dist/lib/components/ui/layout/navigation-bar/partials/navigation-bar-more.d.ts +24 -0
- package/dist/lib/components/ui/layout/navigation-bar/use-nav-bar-inset.d.ts +12 -0
- package/dist/lib/components/ui/layout/navigation-drawer/index.d.ts +5 -0
- package/dist/lib/components/ui/layout/navigation-drawer/navigation-drawer.classes.d.ts +9 -0
- package/dist/lib/components/ui/layout/navigation-drawer/navigation-drawer.d.ts +45 -0
- package/dist/lib/components/ui/layout/navigation-drawer/navigation-drawer.utils.d.ts +14 -0
- package/dist/lib/components/ui/layout/navigation-drawer/partials/navigation-drawer-body.d.ts +3 -0
- package/dist/lib/components/ui/layout/navigation-drawer/partials/navigation-drawer-item.d.ts +20 -0
- package/dist/lib/components/ui/layout/navigation-drawer/partials/navigation-drawer-modal.d.ts +17 -0
- package/dist/lib/components/ui/layout/navigation-drawer/partials/navigation-drawer-section.d.ts +15 -0
- package/dist/lib/components/ui/layout/navigation-rail/index.d.ts +3 -0
- package/dist/lib/components/ui/layout/navigation-rail/navigation-rail-panel.d.ts +26 -0
- package/dist/lib/components/ui/layout/navigation-rail/navigation-rail.classes.d.ts +23 -0
- package/dist/lib/components/ui/layout/navigation-rail/navigation-rail.d.ts +42 -1
- package/dist/lib/components/ui/layout/navigation-rail/navigation-rail.utils.d.ts +4 -0
- package/dist/lib/components/ui/layout/navigation-rail/partials/navigation-rail-body.d.ts +3 -0
- package/dist/lib/components/ui/layout/navigation-rail/partials/navigation-rail-item.d.ts +20 -0
- package/dist/lib/components/ui/layout/navigation-rail/partials/navigation-rail-panel-item.d.ts +7 -0
- package/dist/lib/components/ui/layout/navigation-rail/partials/navigation-rail-toggle.d.ts +7 -0
- package/dist/lib/components/ui/layout/navigation-rail/use-rail-expanded.d.ts +13 -0
- package/dist/lib/components/ui/layout/navigation-toolbar/index.d.ts +2 -0
- package/dist/lib/components/ui/layout/navigation-toolbar/navigation-toolbar.classes.d.ts +20 -0
- package/dist/lib/components/ui/layout/navigation-toolbar/navigation-toolbar.d.ts +51 -0
- package/dist/lib/components/ui/layout/navigation-toolbar/partials/navigation-toolbar-item.d.ts +25 -0
- package/dist/lib/components/ui/layout/navigation-toolbar/partials/navigation-toolbar-more.d.ts +3 -0
- package/dist/lib/components/ui/layout/pane-layout/internal.d.ts +3 -0
- package/dist/lib/components/ui/layout/pane-layout/pane-layout.d.ts +16 -2
- package/dist/lib/components/ui/layout/pane-layout/partials/pane-layout-classes.d.ts +7 -0
- package/dist/lib/components/ui/layout/pane-layout/partials/pane-layout-context.d.ts +13 -0
- package/dist/lib/components/ui/layout/pane-layout/partials/use-pane-layout-state.d.ts +16 -0
- package/dist/lib/components/ui/layout/pane-layout/partials/use-pane-narrow.d.ts +6 -0
- package/dist/lib/components/ui/layout/responsive-grid/index.d.ts +4 -1
- package/dist/lib/components/ui/layout/responsive-grid/responsive-grid-item.d.ts +19 -0
- package/dist/lib/components/ui/layout/responsive-grid/responsive-grid-spans.d.ts +19 -0
- package/dist/lib/components/ui/layout/responsive-grid/responsive-grid.d.ts +24 -2
- package/dist/lib/components/ui/layout/responsive-grid/responsive-grid.utils.d.ts +12 -0
- package/dist/lib/components/ui/layout/settings-layout/index.d.ts +2 -0
- package/dist/lib/components/ui/layout/settings-layout/partials/settings-link.d.ts +7 -0
- package/dist/lib/components/ui/layout/settings-layout/partials/settings-list.d.ts +11 -0
- package/dist/lib/components/ui/layout/settings-layout/partials/settings-page.d.ts +5 -0
- package/dist/lib/components/ui/layout/settings-layout/settings-layout.d.ts +10 -0
- package/dist/lib/components/ui/layout/settings-layout/settings-layout.types.d.ts +33 -0
- package/dist/lib/components/ui/layout/settings-layout/settings-layout.utils.d.ts +13 -0
- package/dist/lib/components/ui/layout/thread-layout/thread-layout-classes.d.ts +17 -0
- package/dist/lib/components/ui/layout/thread-layout/thread-layout-parts.d.ts +14 -0
- package/dist/lib/components/ui/layout/thread-layout/thread-layout-stepper.d.ts +11 -0
- package/dist/lib/components/ui/layout/thread-layout/thread-layout.d.ts +30 -3
- package/dist/lib/components/ui/layout/top-nav/index.d.ts +5 -0
- package/dist/lib/components/ui/layout/top-nav/partials/top-nav-item.d.ts +23 -0
- package/dist/lib/components/ui/layout/top-nav/partials/top-nav-menu.d.ts +22 -0
- package/dist/lib/components/ui/layout/top-nav/top-nav.classes.d.ts +10 -0
- package/dist/lib/components/ui/layout/top-nav/top-nav.d.ts +34 -0
- package/dist/lib/components/ui/layout/top-nav/top-nav.utils.d.ts +10 -0
- package/dist/lib/components/ui/media/galleries/gallery.d.ts +1 -1
- package/dist/lib/components/ui/media/galleries/lightbox-gallery.d.ts +1 -1
- package/dist/lib/components/ui/media/galleries/mini-gallery.d.ts +1 -1
- package/dist/lib/components/ui/overlays/dialog/dialog-parts.d.ts +1 -1
- package/dist/lib/components/ui/overlays/sheet/sheet-parts.d.ts +5 -0
- package/dist/lib/components/ui/selection/choice-card-group/choice-card-balance.d.ts +4 -0
- package/dist/lib/components/ui/selection/choice-card-group/choice-card-group.d.ts +3 -1
- package/dist/lib/components/ui/selection/choice-card-group/choice-card-group.types.d.ts +7 -0
- package/dist/lib/components/ui/selection/sortable-list/partials/sortable-list-body.d.ts +5 -1
- package/dist/lib/components/ui/selection/sortable-list/partials/sortable-list-row-parts.d.ts +2 -1
- package/dist/lib/components/ui/selection/sortable-list/partials/sortable-list-row-props.d.ts +8 -5
- package/dist/lib/components/ui/selection/sortable-list/partials/use-owed-focus.d.ts +10 -0
- package/dist/lib/components/ui/selection/sortable-list/sortable-list-context.d.ts +2 -0
- package/dist/lib/components/ui/selection/sortable-list/sortable-list.keyboard.d.ts +1 -1
- package/dist/lib/components/ui/widgets/event-calendar/event-calendar-context.d.ts +3 -0
- package/dist/lib/components/ui/widgets/event-calendar/event-calendar-shell.d.ts +15 -0
- package/dist/lib/components/ui/widgets/event-calendar/event-calendar-template.d.ts +9 -0
- package/dist/lib/components/ui/widgets/event-calendar/event-calendar.d.ts +7 -3
- package/dist/lib/components/ui/widgets/event-calendar/event-calendar.template.d.ts +41 -0
- package/dist/lib/components/ui/widgets/event-calendar/index.d.ts +1 -0
- package/dist/lib/components/ui/widgets/event-calendar/partials/calendar-date-nav.d.ts +2 -0
- package/dist/lib/components/ui/widgets/event-calendar/partials/calendar-lane-toggle.d.ts +5 -0
- package/dist/lib/components/ui/widgets/event-calendar/partials/time-grid-header-template.d.ts +7 -0
- package/dist/lib/components/ui/widgets/event-calendar/template.types.d.ts +73 -0
- package/dist/lib/components/ui/widgets/event-calendar/types.d.ts +2 -0
- package/dist/lib/components/ui/widgets/event-calendar/use-chip-event.d.ts +1 -0
- package/dist/lib/components/ui/widgets/event-calendar/use-drawn-events.d.ts +4 -3
- package/dist/lib/components/ui/widgets/event-calendar/use-template-calendar.d.ts +18 -0
- package/dist/lib/components/ui/widgets/event-calendar/use-template-lane.d.ts +17 -0
- package/dist/lib/components/ui/widgets/kanban/index.d.ts +1 -1
- package/dist/lib/components/ui/widgets/kanban/kanban-context.d.ts +5 -2
- package/dist/lib/components/ui/widgets/kanban/kanban.d.ts +11 -2
- package/dist/lib/components/ui/widgets/kanban/kanban.slice.d.ts +32 -0
- package/dist/lib/components/ui/widgets/kanban/kanban.utils.d.ts +9 -0
- package/dist/lib/components/ui/widgets/kanban/partials/kanban-card-preview.d.ts +3 -1
- package/dist/lib/components/ui/widgets/kanban/partials/kanban-column.d.ts +6 -0
- package/dist/lib/components/ui/widgets/kanban/partials/kanban-move-to.d.ts +13 -0
- package/dist/lib/components/ui/widgets/kanban/partials/kanban-phone-tabs.d.ts +10 -0
- package/dist/lib/components/ui/widgets/kanban/types.d.ts +7 -0
- package/dist/lib/components/ui/widgets/kanban/use-kanban-board-keys.d.ts +7 -0
- package/dist/lib/components/ui/widgets/kanban/use-kanban-item-actions.d.ts +5 -0
- package/dist/lib/components/ui/widgets/kanban/use-kanban-phone-column.d.ts +18 -0
- package/dist/lib/components/ui/widgets/kanban/use-kanban.d.ts +6 -1
- package/dist/lib/hooks/index.d.ts +1 -0
- package/dist/lib/i18n/resources/en/en.d.ts +52 -0
- package/dist/lib/i18n/resources/en/material.json.d.ts +54 -2
- package/dist/lib/i18n/resources/fr/fr.d.ts +52 -0
- package/dist/lib/i18n/resources/fr/material.json.d.ts +54 -2
- package/dist/lib/i18n/resources/resources.d.ts +104 -0
- package/dist/lib/i18n/translator.d.ts +1 -1
- package/dist/lib.js +2 -2
- package/dist/main.js +53 -52
- package/dist/map.js +7 -7
- package/dist/material.css +1 -1
- package/dist/pdf-reader.js +1 -1
- package/dist/{percent-field--WIXV5dX.js → percent-field-QwU1l2Q4.js} +1 -1
- package/dist/{picker-surface-CV09H7Nb.js → picker-surface-CiTycWgV.js} +4 -4
- package/dist/{popover-Cd7DkND4.js → popover-YmbzbKQG.js} +1 -1
- package/dist/{pos-types-DKCkOTYy.js → pos-types-BFrapNmx.js} +1 -1
- package/dist/{pos-variant-GrUfbTTP.js → pos-variant-CctfqieO.js} +4 -4
- package/dist/print.js +1 -1
- package/dist/{programmer-variant-eKJNKENL.js → programmer-variant-Dd0YOixn.js} +2 -2
- package/dist/{public-y6g4ddxd.js → public-CshR_aW7.js} +10 -10
- package/dist/{rich-code-block-CRQ0iyLb.js → rich-code-block-BuJLDoBu.js} +5 -5
- package/dist/{scientific-variant-2y3UxAAU.js → scientific-variant-CjErQxuZ.js} +2 -2
- package/dist/{sortable-provider-DdiI3Fwk.js → sortable-provider-DU2nvpFc.js} +3 -3
- package/dist/{spinner-C1QIewWv.js → spinner-DH1mm8hH.js} +2 -2
- package/dist/{tabs-KGKvve3y.js → tabs-Um0SFyf1.js} +1 -1
- package/dist/theme-picker.js +2 -2
- package/dist/{theme-toggle-C_VeiiCm.js → theme-toggle-C-Ih4uQU.js} +1 -1
- package/dist/{toolbar-items-D310xDuM.js → toolbar-items-BoEY5bkt.js} +4 -4
- package/dist/{translate-material-BypJJ1l5.js → translate-material-D4rn5UaQ.js} +1 -1
- package/dist/{translator-DJkf4J7t.js → translator-CcEgQ-H7.js} +112 -4
- package/dist/{use-chat-composer-BFhRMHcX.js → use-chat-composer-BBF1BI_s.js} +47 -43
- package/dist/{use-click-lock-BZYtTmVt.js → use-click-lock-Bwg_caHO.js} +14 -14
- package/dist/{use-heading-spy-DJR8YYm6.js → use-heading-spy-BgyA6SJl.js} +19 -19
- package/dist/{use-material-translation-CD6QoVal.js → use-material-translation-DYrfV_JJ.js} +1 -1
- package/dist/{use-return-focus-Cevw_6yq.js → use-return-focus-C_Qz_yTk.js} +1 -1
- package/docs/README.md +1 -0
- package/docs/components/data-display.md +40 -8
- package/docs/components/data-table-filter-and-lists.md +7 -3
- package/docs/components/form-fields.md +1 -0
- package/docs/components/media-and-files.md +1 -0
- package/docs/components/navigation-and-layout.md +946 -28
- package/docs/components/overlays-and-menus.md +11 -5
- package/docs/components/rich-widgets.md +111 -1
- package/docs/components/selection-and-choice.md +49 -10
- package/docs/guides/app-shell.md +641 -2
- package/docs/guides/forms.md +7 -0
- package/docs/guides/helpers.md +23 -0
- package/docs/guides/i18n.md +13 -1
- package/docs/guides/layouts.md +215 -0
- package/docs/guides/ssr.md +1 -1
- package/docs/guides/theming.md +7 -7
- package/docs/previews/data-display-tubecap.webp +0 -0
- package/docs/previews/navigation-layout-appshell-page-ground.webp +0 -0
- package/docs/previews/navigation-layout-appshell.webp +0 -0
- package/docs/previews/navigation-layout-authcard-split.webp +0 -0
- package/docs/previews/navigation-layout-authcard.webp +0 -0
- package/docs/previews/navigation-layout-dashboardgrid.webp +0 -0
- package/docs/previews/navigation-layout-editorlayout.webp +0 -0
- package/docs/previews/navigation-layout-landinglayout.webp +0 -0
- package/docs/previews/navigation-layout-panelayout.webp +0 -0
- package/docs/previews/navigation-layout-settingslayout.webp +0 -0
- package/docs/previews/navigation-layout-threadlayout-pages.webp +0 -0
- package/docs/previews/navigation-layout-threadlayout.webp +0 -0
- package/docs/previews/selection-choice-sortablelist.webp +0 -0
- package/docs/roadmap.md +12 -2
- package/docs/troubleshooting.md +50 -2
- package/lib/components/base-content.css +11 -0
- package/lib/components/components.css +5 -0
- package/lib/components/ui/actions/fab/fab-dock.css +19 -6
- package/lib/components/ui/collections/data-table/data-table-items-tiles.css +27 -1
- package/lib/components/ui/display/tube-cap/tube-cap.css +87 -0
- package/lib/components/ui/layout/app-search/app-search.css +62 -0
- package/lib/components/ui/layout/app-shell/activity-backdrop.css +10 -2
- package/lib/components/ui/layout/app-shell/app-header.css +108 -0
- package/lib/components/ui/layout/navigation-toolbar/navigation-toolbar.css +43 -0
- package/lib/themes/ambre.css +1 -1
- package/lib/themes/ardoise.css +1 -1
- package/lib/themes/bleumono.css +1 -1
- package/lib/themes/bluemoon.css +1 -1
- package/lib/themes/corail.css +2 -2
- package/lib/themes/foret.css +1 -1
- package/lib/themes/lavande.css +1 -1
- package/lib/themes/menthe.css +2 -2
- package/lib/themes/ocean.css +1 -1
- package/lib/themes/pink.css +2 -2
- package/lib/themes/prune.css +1 -1
- package/lib/themes/sable.css +1 -1
- package/lib/themes/slate.css +1 -1
- package/lib/themes/teal.css +2 -2
- package/package.json +2 -2
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { IconProps } from '../../../primitives/icon/icon.js';
|
|
3
|
+
import { AppShellLinkComponent } from '../../app-shell/types.js';
|
|
4
|
+
export type NavigationDrawerItemProps = {
|
|
5
|
+
/** Where the destination goes. */
|
|
6
|
+
href: string;
|
|
7
|
+
icon: IconProps['name'];
|
|
8
|
+
/** The visible label, already translated. */
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
/** Whether this is the current destination. Unset: the location starts with `href`. */
|
|
11
|
+
active?: boolean;
|
|
12
|
+
/** `true` a dot, a number a count ("99+" past 99), a node as it is; ends the row and is read in the link's name. */
|
|
13
|
+
badge?: number | boolean | ReactNode;
|
|
14
|
+
/** Replaces the badge's text in the link's name, already translated. */
|
|
15
|
+
badgeLabel?: string;
|
|
16
|
+
linkComponent?: AppShellLinkComponent;
|
|
17
|
+
className?: string;
|
|
18
|
+
};
|
|
19
|
+
/** One destination of the drawer: an icon and a label in a 56px row, `aria-current="page"` when active. */
|
|
20
|
+
export declare function NavigationDrawerItem({ href, icon, children, active, badge, badgeLabel, linkComponent, className, }: NavigationDrawerItemProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { NavigationDrawerBaseProps } from '../navigation-drawer.js';
|
|
3
|
+
export type NavigationDrawerModalProps = {
|
|
4
|
+
/** Open while true (controlled). Unset: the drawer manages itself, opened by `trigger`. */
|
|
5
|
+
open?: boolean;
|
|
6
|
+
/** Asked for every change: the trigger, Escape, the scrim, a followed link, a new location. */
|
|
7
|
+
onOpenChange?: (open: boolean) => void;
|
|
8
|
+
/** The element that opens the drawer, usually a menu `IconButton`. */
|
|
9
|
+
trigger?: ReactNode;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* The modal drawer: the standard drawer in a `Sheet` from the start edge. It
|
|
13
|
+
* shares the app shell's menu sheet logic (`useNavigationSheet`): a followed
|
|
14
|
+
* link and a new location close it, and focus goes to the page or back to the
|
|
15
|
+
* trigger.
|
|
16
|
+
*/
|
|
17
|
+
export declare function NavigationDrawerModal({ open, onOpenChange, trigger, ...drawer }: NavigationDrawerBaseProps & NavigationDrawerModalProps): import("react").JSX.Element;
|
package/dist/lib/components/ui/layout/navigation-drawer/partials/navigation-drawer-section.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { AppShellLinkComponent, MenuItem } from '../../app-shell/types.js';
|
|
3
|
+
export type NavigationDrawerSectionProps = {
|
|
4
|
+
/** The section's title, already translated; it names the group. */
|
|
5
|
+
headline?: ReactNode;
|
|
6
|
+
/** The section's entries. */
|
|
7
|
+
items?: MenuItem[];
|
|
8
|
+
/** The `url` of the current entry. Unset: the one of this section's `items` the location is in. */
|
|
9
|
+
current?: string;
|
|
10
|
+
linkComponent?: AppShellLinkComponent;
|
|
11
|
+
/** Hand-made entries (`NavigationDrawer.Item`), after those of `items`. */
|
|
12
|
+
children?: ReactNode;
|
|
13
|
+
};
|
|
14
|
+
/** A headline over a group of destinations, one `group` named by it. */
|
|
15
|
+
export declare function NavigationDrawerSection({ headline, items, current, linkComponent, children, }: NavigationDrawerSectionProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { AppShellLinkComponent, MenuItem } from '../app-shell/types.js';
|
|
2
|
+
import { RailExpandedOptions } from './use-rail-expanded.js';
|
|
3
|
+
export type NavigationRailPanelProps = RailExpandedOptions & {
|
|
4
|
+
/** The same menu as the rail's: the panel lists the `children` of the top-level entry the location belongs to. */
|
|
5
|
+
items?: MenuItem[];
|
|
6
|
+
linkComponent?: AppShellLinkComponent;
|
|
7
|
+
/** The landmark's accessible name, already translated. Unset: named by the section's own label, which is also its heading. */
|
|
8
|
+
label?: string;
|
|
9
|
+
className?: string;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* The second level of a two-level navigation (Material 3 Expressive): a panel
|
|
13
|
+
* beside the `NavigationRail` that lists the `children` of the top-level entry
|
|
14
|
+
* the location belongs to, under that entry's label, the current child marked
|
|
15
|
+
* with `aria-current="page"`. It is a named `nav`; a button folds it to a
|
|
16
|
+
* narrow strip and back (`aria-expanded`). It opens by default
|
|
17
|
+
* (`defaultExpanded`, `true`), or is controlled with `expanded`; with a
|
|
18
|
+
* `persistKey` the last choice is remembered in the browser, read after
|
|
19
|
+
* hydration. Nothing opens it on hover.
|
|
20
|
+
*
|
|
21
|
+
* On a section without `children` the panel hides itself with CSS (its markup
|
|
22
|
+
* stays), so the page does not change shape between routes. Only one level of
|
|
23
|
+
* `children` is listed. Needs a React Router context. `ActivityLayout`'s
|
|
24
|
+
* `navigation="two-level"` draws the rail and this panel together.
|
|
25
|
+
*/
|
|
26
|
+
export declare function NavigationRailPanel({ items, linkComponent, label, className, defaultExpanded, ...state }: NavigationRailPanelProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** The key the expanded state is kept under, in the browser's local storage. */
|
|
2
|
+
export declare const RAIL_STORAGE_PREFIX = "nxgt-rail:";
|
|
3
|
+
/** The rail: 5rem collapsed, 15rem expanded; the width eases unless motion is reduced. */
|
|
4
|
+
export declare const RAIL_ROOT = "group/rail flex h-full min-h-0 w-20 shrink-0 flex-col gap-3 overflow-hidden py-2 transition-[width] duration-(--nxgt-motion-effects-default-duration) ease-(--nxgt-motion-effects-default) data-expanded:w-60 motion-reduce:transition-none";
|
|
5
|
+
/**
|
|
6
|
+
* One destination. Collapsed: the icon in its pill with the label under it;
|
|
7
|
+
* expanded: a row of 56px, the icon and the label inline, the whole row tinted
|
|
8
|
+
* when current. Targets are 48px or taller either way.
|
|
9
|
+
*/
|
|
10
|
+
export declare const RAIL_ITEM = "nxgt-plain-link group relative mx-1 flex min-h-12 flex-col items-center gap-1 rounded-2xl px-1 py-1 font-medium text-muted-foreground text-xs outline-none transition-colors data-active:font-semibold data-active:text-foreground focus-visible:outline-2 focus-visible:outline-ring forced-colors:focus-visible:outline-[Highlight] group-data-expanded/rail:mx-3 group-data-expanded/rail:h-14 group-data-expanded/rail:flex-row group-data-expanded/rail:gap-3 group-data-expanded/rail:rounded-full group-data-expanded/rail:px-4 group-data-expanded/rail:text-sm group-data-expanded/rail:hover:bg-accent/60";
|
|
11
|
+
/** The icon's pill (collapsed). */
|
|
12
|
+
export declare const RAIL_GLYPH = "relative flex h-8 w-14 shrink-0 items-center justify-center rounded-full group-data-expanded/rail:h-6 group-data-expanded/rail:w-6 group-hover:bg-accent/60 group-data-expanded/rail:group-hover:bg-transparent";
|
|
13
|
+
/** The pill behind the icon, collapsed: the bar's, which grows from the middle. */
|
|
14
|
+
export declare const RAIL_PILL = "absolute inset-0 scale-x-50 rounded-full bg-sidebar-active opacity-0 transition-[opacity,transform] duration-(--nxgt-motion-effects-default-duration) ease-(--nxgt-motion-effects-default) group-data-active:scale-x-100 group-data-active:opacity-100 group-active:scale-x-110 motion-reduce:transition-none forced-colors:border forced-colors:border-[Highlight] group-data-expanded/rail:hidden";
|
|
15
|
+
/** The tint behind the whole row, expanded. */
|
|
16
|
+
export declare const RAIL_ROW = "absolute inset-0 scale-x-50 rounded-full bg-sidebar-active opacity-0 transition-[opacity,transform] duration-(--nxgt-motion-effects-default-duration) ease-(--nxgt-motion-effects-default) group-data-active:scale-x-100 group-data-active:opacity-100 group-active:scale-x-110 motion-reduce:transition-none forced-colors:border forced-colors:border-[Highlight] hidden group-data-expanded/rail:block";
|
|
17
|
+
export declare const RAIL_LABEL = "line-clamp-2 min-w-0 break-words text-center group-data-expanded/rail:truncate group-data-expanded/rail:text-start";
|
|
18
|
+
/** The key the section panel's open state is kept under, beside the rail's. */
|
|
19
|
+
export declare const PANEL_STORAGE_PREFIX = "nxgt-panel:";
|
|
20
|
+
/** The section panel: 14rem open, a narrow strip with its button when folded; the width eases unless motion is reduced. */
|
|
21
|
+
export declare const PANEL_ROOT = "group/panel flex h-full min-h-0 w-56 shrink-0 flex-col gap-1 overflow-hidden border-border/60 border-s px-2 py-2 transition-[width] duration-(--nxgt-motion-effects-default-duration) ease-(--nxgt-motion-effects-default) data-collapsed:w-14 data-empty:hidden motion-reduce:transition-none";
|
|
22
|
+
/** One child: a 48px row, tinted when current (the drawer's indicator). */
|
|
23
|
+
export declare const PANEL_ITEM = "nxgt-plain-link group relative flex min-h-12 shrink-0 items-center gap-3 rounded-full px-4 font-medium text-muted-foreground text-sm outline-none transition-colors hover:bg-accent/60 data-active:font-semibold data-active:text-foreground focus-visible:outline-2 focus-visible:outline-ring forced-colors:focus-visible:outline-[Highlight]";
|
|
@@ -1 +1,42 @@
|
|
|
1
|
-
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { AppShellLinkComponent, MenuItem } from '../app-shell/types.js';
|
|
3
|
+
import { NavigationRailItem } from './partials/navigation-rail-item.js';
|
|
4
|
+
import { RailExpandedOptions } from './use-rail-expanded.js';
|
|
5
|
+
export type NavigationRailProps = RailExpandedOptions & {
|
|
6
|
+
/** The menu. Entries with `footer: true` sit at the rail's bottom. */
|
|
7
|
+
items?: MenuItem[];
|
|
8
|
+
/**
|
|
9
|
+
* The screen's primary action, above the destinations: a `Fab` (or any
|
|
10
|
+
* button), not a link. A function receives the state, to pass an extended
|
|
11
|
+
* `Fab` once the rail is wide.
|
|
12
|
+
*/
|
|
13
|
+
fab?: ReactNode | ((state: {
|
|
14
|
+
expanded: boolean;
|
|
15
|
+
}) => ReactNode);
|
|
16
|
+
/** Whether the menu button that expands the rail shows. @default true */
|
|
17
|
+
toggle?: boolean;
|
|
18
|
+
linkComponent?: AppShellLinkComponent;
|
|
19
|
+
/** The landmark's accessible name, already translated. @default "Navigation" */
|
|
20
|
+
label?: string;
|
|
21
|
+
/** Hand-made entries, after those of `items`. */
|
|
22
|
+
children?: ReactNode;
|
|
23
|
+
className?: string;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* The navigation rail (Material 3 Expressive): a `nav` of destinations
|
|
27
|
+
* stacked down the start edge, each an icon in an indicator pill with its
|
|
28
|
+
* label under it, an optional badge read in the link's name, a `fab` slot for
|
|
29
|
+
* the screen's primary action and a menu button that expands it into a wide
|
|
30
|
+
* rail with the labels inline. Targets are 48px or taller and
|
|
31
|
+
* `aria-current="page"` marks the current one.
|
|
32
|
+
*
|
|
33
|
+
* Without `items` or `children` it renders the empty `div` it always did.
|
|
34
|
+
* The expanded state is `defaultExpanded` (collapsed), or controlled with
|
|
35
|
+
* `expanded`; with a `persistKey` the last choice is remembered in the
|
|
36
|
+
* browser, read after hydration. Hide it at some sizes with a breakpoint class
|
|
37
|
+
* (`max-md:hidden`), as `ActivityLayout`'s `navigation="rail-expanded"` does.
|
|
38
|
+
*/
|
|
39
|
+
export declare function NavigationRail(props: NavigationRailProps): import("react").JSX.Element;
|
|
40
|
+
export declare namespace NavigationRail {
|
|
41
|
+
var Item: typeof NavigationRailItem;
|
|
42
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** The saved expanded state under `persistKey`, or undefined when none is saved or the storage is unavailable. */
|
|
2
|
+
export declare function readExpanded(persistKey: string, prefix?: string): boolean | undefined;
|
|
3
|
+
/** Saves the expanded state under `persistKey`; a blocked storage is ignored. */
|
|
4
|
+
export declare function writeExpanded(persistKey: string, expanded: boolean, prefix?: string): void;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { NavigationRailProps } from '../navigation-rail.js';
|
|
2
|
+
/** The rail with entries: kept apart from `NavigationRail` so an empty one needs no router. */
|
|
3
|
+
export declare function NavigationRailBody({ items, fab, toggle, linkComponent, label, children, className, ...state }: NavigationRailProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { IconProps } from '../../../primitives/icon/icon.js';
|
|
3
|
+
import { AppShellLinkComponent } from '../../app-shell/types.js';
|
|
4
|
+
export type NavigationRailItemProps = {
|
|
5
|
+
/** Where the destination goes. */
|
|
6
|
+
href: string;
|
|
7
|
+
icon: IconProps['name'];
|
|
8
|
+
/** The visible label, already translated: under the icon, or beside it once expanded. */
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
/** Whether this is the current destination. Unset: the location starts with `href`. */
|
|
11
|
+
active?: boolean;
|
|
12
|
+
/** `true` a dot, a number a count ("99+" past 99), a node as it is; read in the link's name. */
|
|
13
|
+
badge?: number | boolean | ReactNode;
|
|
14
|
+
/** Replaces the badge's text in the link's name, already translated. */
|
|
15
|
+
badgeLabel?: string;
|
|
16
|
+
linkComponent?: AppShellLinkComponent;
|
|
17
|
+
className?: string;
|
|
18
|
+
};
|
|
19
|
+
/** One destination of the rail: an icon in its indicator pill, the label under it (beside it when expanded), `aria-current="page"` when active. */
|
|
20
|
+
export declare function NavigationRailItem({ href, icon, children, active, badge, badgeLabel, linkComponent, className, }: NavigationRailItemProps): import("react").JSX.Element;
|
package/dist/lib/components/ui/layout/navigation-rail/partials/navigation-rail-panel-item.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AppShellLinkComponent, MenuItem } from '../../app-shell/types.js';
|
|
2
|
+
/** One child of the section panel: its label (and badge) in a pill row, `aria-current="page"` when current. */
|
|
3
|
+
export declare function NavigationRailPanelItem({ item, current, linkComponent, }: {
|
|
4
|
+
item: MenuItem;
|
|
5
|
+
current: boolean;
|
|
6
|
+
linkComponent?: AppShellLinkComponent;
|
|
7
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** The rail's menu button: widens the rail to show the labels inline, and narrows it again. */
|
|
2
|
+
export declare function NavigationRailToggle({ expanded, onToggle, controls, }: {
|
|
3
|
+
expanded: boolean;
|
|
4
|
+
onToggle: () => void;
|
|
5
|
+
/** The id of the element it widens (the rail). */
|
|
6
|
+
controls: string;
|
|
7
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type RailExpandedOptions = {
|
|
2
|
+
expanded?: boolean;
|
|
3
|
+
defaultExpanded?: boolean;
|
|
4
|
+
onExpandedChange?: (expanded: boolean) => void;
|
|
5
|
+
persistKey?: string;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* The rail's expanded state, controlled (`expanded`) or not. With a
|
|
9
|
+
* `persistKey` the saved value is read in an effect, after hydration, so a
|
|
10
|
+
* server render and the first client render agree on `defaultExpanded`.
|
|
11
|
+
* `prefix` is the storage key's prefix: the shell's sidebar keeps its own.
|
|
12
|
+
*/
|
|
13
|
+
export declare function useRailExpanded({ expanded, defaultExpanded, onExpandedChange, persistKey, }: RailExpandedOptions, prefix?: string): [boolean, (next: boolean) => void];
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The floating pill's sizes. They live in navigation-toolbar.css too (the
|
|
3
|
+
* item, `--tb-item`, and the gap above the bottom edge, `--nxgt-nav-toolbar-gap`);
|
|
4
|
+
* navigation-toolbar.classes.test.ts reads the stylesheet and checks that the
|
|
5
|
+
* values here are the ones it draws.
|
|
6
|
+
*/
|
|
7
|
+
/** An item's size: a 48px target at every pointer. */
|
|
8
|
+
export declare const NAV_TOOLBAR_ITEM = "3rem";
|
|
9
|
+
/** The pill's height: the item and the toolbar's 8px padding on each side. */
|
|
10
|
+
export declare const NAV_TOOLBAR_HEIGHT = "4rem";
|
|
11
|
+
/** The gap between the pill and the bottom edge (above the safe area). */
|
|
12
|
+
export declare const NAV_TOOLBAR_GAP = "1rem";
|
|
13
|
+
/** What the pill takes at the bottom, the gap and the safe-area inset included: `--nxgt-nav-bar` while it shows. */
|
|
14
|
+
export declare const NAV_TOOLBAR_ROOM = "calc(5rem + env(safe-area-inset-bottom, 0px))";
|
|
15
|
+
/**
|
|
16
|
+
* `--nxgt-nav-bar` for a first paint, before the pill measures itself, at the
|
|
17
|
+
* sizes it shows (whole literals, so Tailwind sees them). The keys are
|
|
18
|
+
* `phone tablet desktop` as 1/0, as in navigation.utils.
|
|
19
|
+
*/
|
|
20
|
+
export declare const NAV_TOOLBAR_VAR: Record<string, string>;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { AppShellLinkComponent, MenuItem } from '../app-shell/types.js';
|
|
3
|
+
import { NavigationToolbarItem } from './partials/navigation-toolbar-item.js';
|
|
4
|
+
export type NavigationToolbarProps = {
|
|
5
|
+
/**
|
|
6
|
+
* The menu: the pill shows 3 to 5 destinations (`bar` and `priority` on a
|
|
7
|
+
* {@link MenuItem} choose them, as for the `NavigationBar`) and « More »
|
|
8
|
+
* lists the rest. Or pass {@link NavigationToolbar.Item}s as `children` to
|
|
9
|
+
* compose it by hand.
|
|
10
|
+
*/
|
|
11
|
+
items?: MenuItem[];
|
|
12
|
+
/** Destinations on the pill, « More » included: 3 to 5. @default 5 */
|
|
13
|
+
max?: number;
|
|
14
|
+
linkComponent?: AppShellLinkComponent;
|
|
15
|
+
/** The landmark's accessible name, already translated. @default "Navigation" */
|
|
16
|
+
label?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Whether the pill slides away while the page scrolls down and comes back
|
|
19
|
+
* on the way up. It reads the shell's scroll ({@link useShellScroll}):
|
|
20
|
+
* `ActivityLayout` provides it, and outside one nothing scrolls the pill
|
|
21
|
+
* away. While away it is `inert` (out of the tab order and the
|
|
22
|
+
* accessibility tree) and focus inside it moves to the content region, then
|
|
23
|
+
* returns. With reduced motion it snaps instead of sliding.
|
|
24
|
+
* @default false
|
|
25
|
+
*/
|
|
26
|
+
hideOnScroll?: boolean;
|
|
27
|
+
/** Forces the pill away (`true`) or shown (`false`), whatever the scroll says. Unset: the scroll decides. */
|
|
28
|
+
hidden?: boolean;
|
|
29
|
+
/** Hand-made entries, after those of `items`. */
|
|
30
|
+
children?: ReactNode;
|
|
31
|
+
className?: string;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* The floating navigation toolbar: a pill of navigation links over the content,
|
|
35
|
+
* at the bottom centre. A `nav` landmark (not `role="toolbar"`, which is for
|
|
36
|
+
* actions: use `Toolbar variant="floating"` for those) of round icon links, each
|
|
37
|
+
* named by a visually hidden label and a tooltip, `aria-current="page"` on the
|
|
38
|
+
* current one, 48px targets, and « More » for the entries it leaves out. It
|
|
39
|
+
* shares the floating `Toolbar`'s pill (its `--tb-*` tokens, shadow and slide
|
|
40
|
+
* away).
|
|
41
|
+
*
|
|
42
|
+
* It shows at every width: hide it with a breakpoint class, as
|
|
43
|
+
* `ActivityLayout`'s `navigation="floating"` does. While it shows it sets
|
|
44
|
+
* `--nxgt-nav-bar` on the document root (its height and the gap under it, also
|
|
45
|
+
* while it is slid away), so FabDock, toasts, the mini player and
|
|
46
|
+
* `StickyActionBar` keep clear of it.
|
|
47
|
+
*/
|
|
48
|
+
export declare function NavigationToolbar({ items, max, linkComponent, label, hideOnScroll, hidden, children, className, }: NavigationToolbarProps): import("react").JSX.Element;
|
|
49
|
+
export declare namespace NavigationToolbar {
|
|
50
|
+
var Item: typeof NavigationToolbarItem;
|
|
51
|
+
}
|
package/dist/lib/components/ui/layout/navigation-toolbar/partials/navigation-toolbar-item.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { IconProps } from '../../../primitives/icon/icon.js';
|
|
3
|
+
import { AppShellLinkComponent } from '../../app-shell/types.js';
|
|
4
|
+
export type NavigationToolbarItemProps = {
|
|
5
|
+
/** Where the destination goes. */
|
|
6
|
+
href: string;
|
|
7
|
+
icon: IconProps['name'];
|
|
8
|
+
/** The destination's name, already translated: its accessible name and its tooltip (the pill shows the icon alone). */
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
/** Whether this is the current destination. Unset: the location starts with `href`. */
|
|
11
|
+
active?: boolean;
|
|
12
|
+
/** `true` a dot, a number a count ("99+" past 99), a node as it is; read in the link's name. */
|
|
13
|
+
badge?: number | boolean | ReactNode;
|
|
14
|
+
/** Replaces the badge's text in the link's name, already translated. */
|
|
15
|
+
badgeLabel?: string;
|
|
16
|
+
linkComponent?: AppShellLinkComponent;
|
|
17
|
+
className?: string;
|
|
18
|
+
};
|
|
19
|
+
/** The icon, with the badge on its corner. The icon is decorative: the visually hidden label names the entry. */
|
|
20
|
+
export declare function NavigationToolbarGlyph({ icon, badge, }: {
|
|
21
|
+
icon: IconProps['name'];
|
|
22
|
+
badge?: ReactNode;
|
|
23
|
+
}): import("react").JSX.Element;
|
|
24
|
+
/** One destination of the pill: a round link with the icon, named by a visually hidden label, `aria-current="page"` when current. */
|
|
25
|
+
export declare function NavigationToolbarItem({ href, icon, children, active, badge, badgeLabel, linkComponent, className, }: NavigationToolbarItemProps): import("react").JSX.Element;
|
package/dist/lib/components/ui/layout/navigation-toolbar/partials/navigation-toolbar-more.d.ts
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { NavigationBarMore } from '../../navigation-bar/internal.js';
|
|
2
|
+
/** The bar's « More » sheet, opened from a round icon of the pill. */
|
|
3
|
+
export declare function NavigationToolbarMore(props: Omit<Parameters<typeof NavigationBarMore>[0], 'trigger'>): import("react").JSX.Element;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { ComponentProps } from 'react';
|
|
2
2
|
import { PaneLayoutContent } from './partials/pane-layout-content.js';
|
|
3
|
-
import { PaneSide } from './partials/pane-layout-context.js';
|
|
3
|
+
import { PaneLayoutBreakpoint, PaneLayoutPaneWidth, PaneLayoutPhone, PaneSide } from './partials/pane-layout-context.js';
|
|
4
4
|
import { PaneLayoutPane } from './partials/pane-layout-pane.js';
|
|
5
5
|
import { PaneLayoutTrigger } from './partials/pane-layout-trigger.js';
|
|
6
6
|
export { PaneLayoutContent, type PaneLayoutContentProps, } from './partials/pane-layout-content.js';
|
|
7
|
+
export type { PaneLayoutBreakpoint, PaneLayoutPaneWidth, PaneLayoutPhone, } from './partials/pane-layout-context.js';
|
|
7
8
|
export { usePaneLayout } from './partials/pane-layout-context.js';
|
|
8
9
|
export { PaneLayoutPane, type PaneLayoutPaneProps, } from './partials/pane-layout-pane.js';
|
|
9
10
|
export { PaneLayoutTrigger, type PaneLayoutTriggerProps, } from './partials/pane-layout-trigger.js';
|
|
@@ -12,8 +13,21 @@ export interface PaneLayoutProps extends ComponentProps<'div'> {
|
|
|
12
13
|
onOpenChange?: (open: boolean) => void;
|
|
13
14
|
defaultOpen?: boolean;
|
|
14
15
|
paneSide?: PaneSide;
|
|
16
|
+
/**
|
|
17
|
+
* How the pane shows below 768px: `sheet` (side sheet), `bottom` (bottom
|
|
18
|
+
* sheet) or `stack` (under the main content, no overlay). Unset keeps the
|
|
19
|
+
* side sheet at 648px and narrower.
|
|
20
|
+
*/
|
|
21
|
+
phone?: PaneLayoutPhone;
|
|
22
|
+
/**
|
|
23
|
+
* What 768px is measured on: the `viewport` (default) or `container`, the
|
|
24
|
+
* layout's own width, for a layout in a narrow region.
|
|
25
|
+
*/
|
|
26
|
+
breakpoint?: PaneLayoutBreakpoint;
|
|
27
|
+
/** Width of the inline pane: `sm` 16rem, `md` 20rem (default), `lg` 24rem. */
|
|
28
|
+
paneWidth?: PaneLayoutPaneWidth;
|
|
15
29
|
}
|
|
16
|
-
export declare function PaneLayout({ children, className, open
|
|
30
|
+
export declare function PaneLayout({ children, className, open, onOpenChange, defaultOpen, paneSide, phone, breakpoint, paneWidth, ref, ...props }: PaneLayoutProps): import("react").JSX.Element;
|
|
17
31
|
export declare namespace PaneLayout {
|
|
18
32
|
var displayName: string;
|
|
19
33
|
var Pane: typeof PaneLayoutPane;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PaneLayoutBreakpoint, PaneLayoutPaneWidth, PaneLayoutPhone, PaneSide } from './pane-layout-context.js';
|
|
2
|
+
/** The flex direction of the row that holds the pane and the content. */
|
|
3
|
+
export declare function paneRowClass(phone: PaneLayoutPhone | undefined, breakpoint: PaneLayoutBreakpoint, paneSide: PaneSide): string;
|
|
4
|
+
/** The inline pane's size, and when it gives way to a sheet or a stack. */
|
|
5
|
+
export declare function inlinePaneClass(phone: PaneLayoutPhone | undefined, breakpoint: PaneLayoutBreakpoint, paneWidth: PaneLayoutPaneWidth): string;
|
|
6
|
+
/** The edge the pane shares with the content. */
|
|
7
|
+
export declare function paneBorderClass(phone: PaneLayoutPhone | undefined, breakpoint: PaneLayoutBreakpoint, paneSide: PaneSide): "border-t md:border-t-0 md:border-r" | "border-t md:border-t-0 md:border-l" | "border-t @3xl:border-t-0 @3xl:border-r" | "border-t @3xl:border-t-0 @3xl:border-l" | "border-l" | "border-r";
|
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
export type PaneSide = 'left' | 'right';
|
|
3
|
+
/**
|
|
4
|
+
* How the supporting pane shows below 768px: `sheet` is a side sheet, `bottom`
|
|
5
|
+
* a bottom sheet, `stack` sits under the main content. Unset keeps the
|
|
6
|
+
* historical side sheet at 648px and narrower.
|
|
7
|
+
*/
|
|
8
|
+
export type PaneLayoutPhone = 'sheet' | 'bottom' | 'stack';
|
|
9
|
+
/** What the phone switch measures: the `viewport` (default) or the layout's own width. */
|
|
10
|
+
export type PaneLayoutBreakpoint = 'viewport' | 'container';
|
|
11
|
+
/** Width of the inline pane: `sm` 16rem, `md` 20rem (default), `lg` 24rem. */
|
|
12
|
+
export type PaneLayoutPaneWidth = 'sm' | 'md' | 'lg';
|
|
3
13
|
export interface PaneLayoutContextProps {
|
|
4
14
|
open: boolean;
|
|
5
15
|
setOpen: (open: boolean | ((prevOpen: boolean) => boolean)) => void;
|
|
6
16
|
toggleOpen: () => void;
|
|
7
17
|
paneSide: PaneSide;
|
|
8
18
|
isMobile: boolean;
|
|
19
|
+
phone?: PaneLayoutPhone;
|
|
20
|
+
breakpoint: PaneLayoutBreakpoint;
|
|
21
|
+
paneWidth: PaneLayoutPaneWidth;
|
|
9
22
|
}
|
|
10
23
|
/** Children, or a function of the layout's state. */
|
|
11
24
|
export type PaneLayoutChildren = ReactNode | ((state: PaneLayoutContextProps) => ReactNode);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
import { PaneLayoutBreakpoint, PaneLayoutContextProps, PaneLayoutPaneWidth, PaneLayoutPhone, PaneSide } from './pane-layout-context.js';
|
|
3
|
+
export declare const PHONE_MAX = 768;
|
|
4
|
+
interface Options {
|
|
5
|
+
open?: boolean;
|
|
6
|
+
onOpenChange?: (open: boolean) => void;
|
|
7
|
+
defaultOpen: boolean;
|
|
8
|
+
paneSide: PaneSide;
|
|
9
|
+
phone?: PaneLayoutPhone;
|
|
10
|
+
breakpoint: PaneLayoutBreakpoint;
|
|
11
|
+
paneWidth: PaneLayoutPaneWidth;
|
|
12
|
+
rootRef: RefObject<HTMLElement | null>;
|
|
13
|
+
}
|
|
14
|
+
/** The open state, controlled or not, and whether the layout is on a phone. */
|
|
15
|
+
export declare function usePaneLayoutState(o: Options): PaneLayoutContextProps;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Whether the element is narrower than `max` px, measured on the element itself.
|
|
4
|
+
* `false` on the server and on the first client render, so hydration matches.
|
|
5
|
+
*/
|
|
6
|
+
export declare function usePaneNarrow(ref: RefObject<HTMLElement | null>, enabled: boolean, max: number): boolean;
|
|
@@ -1,2 +1,5 @@
|
|
|
1
1
|
export * from './responsive-grid.js';
|
|
2
|
-
export type { ResponsiveGridGap, ResponsiveGridMinItem, } from './responsive-grid.utils.js';
|
|
2
|
+
export type { ResponsiveGridFlow, ResponsiveGridGap, ResponsiveGridMinItem, } from './responsive-grid.utils.js';
|
|
3
|
+
export type { ResponsiveGridItemProps } from './responsive-grid-item.js';
|
|
4
|
+
export { ResponsiveGridItem } from './responsive-grid-item.js';
|
|
5
|
+
export type { GridBreakpoint, GridRowSpan, GridSpan, ResponsiveValue, } from './responsive-grid-spans.js';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ComponentProps } from 'react';
|
|
2
|
+
import { GridRowSpan, GridSpan, ResponsiveValue } from './responsive-grid-spans.js';
|
|
3
|
+
export type ResponsiveGridItemProps = ComponentProps<'div'> & {
|
|
4
|
+
/**
|
|
5
|
+
* Columns the tile covers: a number (1 to 6), `'full'`, or one per width,
|
|
6
|
+
* `{ base: 1, md: 2, xl: 3 }` (container widths 0, 768px and 1280px, each
|
|
7
|
+
* from its width up). A span wider than the grid's columns adds implicit
|
|
8
|
+
* columns: keep it within the count at that width. Ignored by
|
|
9
|
+
* `flow="masonry"`.
|
|
10
|
+
*/
|
|
11
|
+
span?: ResponsiveValue<GridSpan>;
|
|
12
|
+
/** Rows the tile covers (1 to 4), or one per width. Ignored by `flow="masonry"`. */
|
|
13
|
+
rowSpan?: ResponsiveValue<GridRowSpan>;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* ResponsiveGrid.Item - a tile that covers more than one column or row. A
|
|
17
|
+
* plain child needs no wrapper: use this only for a span.
|
|
18
|
+
*/
|
|
19
|
+
export declare function ResponsiveGridItem({ span, rowSpan, className, ...props }: ResponsiveGridItemProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tile spans for `ResponsiveGrid.Item` and `DashboardTile`. Breakpoints are
|
|
3
|
+
* container widths, like the grid's own columns: `md` is 48rem (768px) and
|
|
4
|
+
* `xl` 80rem (1280px), the Layouts breakpoints, as `@3xl` and `@7xl`. The
|
|
5
|
+
* classes are literals so Tailwind sees them.
|
|
6
|
+
*/
|
|
7
|
+
export type GridBreakpoint = 'base' | 'md' | 'xl';
|
|
8
|
+
/** A value for every width, or one per breakpoint (`{ base: 1, md: 2, xl: 3 }`): each applies from its width up. */
|
|
9
|
+
export type ResponsiveValue<T> = T | Partial<Record<GridBreakpoint, T>>;
|
|
10
|
+
/** Columns a tile covers; `'full'` covers every column. */
|
|
11
|
+
export type GridSpan = 1 | 2 | 3 | 4 | 5 | 6 | 'full';
|
|
12
|
+
/** Rows a tile covers. */
|
|
13
|
+
export type GridRowSpan = 1 | 2 | 3 | 4;
|
|
14
|
+
/** A plain value applies from the narrowest width: `{ base: value }`. */
|
|
15
|
+
export declare function perBreakpoint<T>(value: ResponsiveValue<T> | undefined): Partial<Record<GridBreakpoint, T>>;
|
|
16
|
+
/** The `col-span-*` classes of a (responsive) column span. */
|
|
17
|
+
export declare const columnSpanClasses: (value?: ResponsiveValue<GridSpan>) => string[];
|
|
18
|
+
/** The `row-span-*` classes of a (responsive) row span. */
|
|
19
|
+
export declare const rowSpanClasses: (value?: ResponsiveValue<GridRowSpan>) => string[];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ComponentProps } from 'react';
|
|
2
|
-
import { ResponsiveGridGap, ResponsiveGridMinItem } from './responsive-grid.utils.js';
|
|
2
|
+
import { ResponsiveGridFlow, ResponsiveGridGap, ResponsiveGridMinItem } from './responsive-grid.utils.js';
|
|
3
|
+
import { ResponsiveGridItem } from './responsive-grid-item.js';
|
|
3
4
|
export type ResponsiveGridProps = ComponentProps<'div'> & {
|
|
4
5
|
/**
|
|
5
6
|
* Fill the row with tiles at least this wide: a preset (`xs` 10rem, `sm`
|
|
@@ -12,10 +13,31 @@ export type ResponsiveGridProps = ComponentProps<'div'> & {
|
|
|
12
13
|
minItem?: ResponsiveGridMinItem | (string & {});
|
|
13
14
|
/** The space between tiles: `sm` 0.5rem (default), `md` 1rem, `lg` 1.5rem. */
|
|
14
15
|
gap?: ResponsiveGridGap;
|
|
16
|
+
/**
|
|
17
|
+
* `'masonry'` packs tiles of different heights in columns with no gaps
|
|
18
|
+
* (CSS multi-column; the column count follows `minItem` or the width, as
|
|
19
|
+
* above). Reading order caveat: tiles fill the first column top to bottom,
|
|
20
|
+
* then the next, so the Tab and screen-reader order runs down each column
|
|
21
|
+
* while the eye reads across: use it for browsing (galleries, notes), not
|
|
22
|
+
* for a sequence. `ResponsiveGrid.Item` spans are ignored. Default
|
|
23
|
+
* `'grid'`.
|
|
24
|
+
*/
|
|
25
|
+
flow?: ResponsiveGridFlow;
|
|
26
|
+
/**
|
|
27
|
+
* Fill the holes a tile with a span leaves by moving later, smaller tiles
|
|
28
|
+
* up (`grid-auto-flow: dense`). The visual order then differs from the
|
|
29
|
+
* source (and Tab) order. Ignored by `flow="masonry"`.
|
|
30
|
+
*/
|
|
31
|
+
dense?: boolean;
|
|
15
32
|
};
|
|
16
33
|
/**
|
|
17
34
|
* ResponsiveGrid - tiles in a grid that follows its container's width: stepped
|
|
18
35
|
* columns by default, or `auto-fill` columns by a minimum tile width with
|
|
19
36
|
* `minItem`.
|
|
20
37
|
*/
|
|
21
|
-
|
|
38
|
+
declare function ResponsiveGridRoot({ minItem, gap, flow, dense, className, children, ...props }: ResponsiveGridProps): import("react").JSX.Element;
|
|
39
|
+
/** `ResponsiveGrid.Item` spans columns and rows; `flow="masonry"` and `dense` change how tiles pack. */
|
|
40
|
+
export declare const ResponsiveGrid: typeof ResponsiveGridRoot & {
|
|
41
|
+
Item: typeof ResponsiveGridItem;
|
|
42
|
+
};
|
|
43
|
+
export {};
|
|
@@ -18,3 +18,15 @@ export declare const STEPPED_CLASS = "grid @lg:grid-cols-2 @2xl:grid-cols-3 @4x
|
|
|
18
18
|
* empty, so a few tiles never stretch across 1920px.
|
|
19
19
|
*/
|
|
20
20
|
export declare const AUTO_FILL_CLASS = "grid grid-cols-[repeat(auto-fill,minmax(min(var(--rg-min),100%),1fr))]";
|
|
21
|
+
/** How the tiles flow: rows of a grid (the default), or columns filled top to bottom (masonry). */
|
|
22
|
+
export type ResponsiveGridFlow = 'grid' | 'masonry';
|
|
23
|
+
/**
|
|
24
|
+
* Masonry is CSS multi-column, which every browser supports: tiles of any
|
|
25
|
+
* height pack in columns with no gaps. The column count follows the same
|
|
26
|
+
* rules as the grid (`STEPPED` by width, or a minimum width). A tile never
|
|
27
|
+
* splits across columns; the gap between tiles in a column is the tile's
|
|
28
|
+
* bottom margin, as `gap` only spaces the columns.
|
|
29
|
+
*/
|
|
30
|
+
export declare const MASONRY_STEPPED_CLASS = "block columns-1 @lg:columns-2 @2xl:columns-3 @4xl:columns-4 @6xl:columns-5";
|
|
31
|
+
export declare const MASONRY_AUTO_FILL_CLASS = "block [column-width:var(--rg-min)]";
|
|
32
|
+
export declare const MASONRY_GAP_CLASS: Record<ResponsiveGridGap, string>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { LinkComponent } from '../../../primitives/link/link-component.js';
|
|
2
|
+
/**
|
|
3
|
+
* A section's link: on a phone it adds a history entry, marked as the
|
|
4
|
+
* layout's so its Back button takes the browser's Back; beside the page it
|
|
5
|
+
* rewrites the current entry, so choosing sections does not pile history up.
|
|
6
|
+
*/
|
|
7
|
+
export declare const SettingsLink: LinkComponent;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { SettingsSection } from '../settings-layout.types.js';
|
|
3
|
+
type Props = {
|
|
4
|
+
sections: SettingsSection[];
|
|
5
|
+
title: ReactNode;
|
|
6
|
+
param: string;
|
|
7
|
+
viewParam: string;
|
|
8
|
+
search: boolean;
|
|
9
|
+
};
|
|
10
|
+
export declare function SettingsList({ sections, title, param, viewParam, search, }: Props): import("react").JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { SettingsSection } from '../settings-layout.types.js';
|
|
2
|
+
/** The selected section's page: its heading (where a phone's focus lands), its description, its content. */
|
|
3
|
+
export declare function SettingsPage({ section }: {
|
|
4
|
+
section?: SettingsSection;
|
|
5
|
+
}): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { SettingsLayoutProps } from './settings-layout.types.js';
|
|
2
|
+
/**
|
|
3
|
+
* The canonical settings layout: grouped sections in a list beside the
|
|
4
|
+
* selected section's page; on a phone the list, then the page (Back returns).
|
|
5
|
+
* The selection is the `?section=` search param, so it needs a router above.
|
|
6
|
+
*/
|
|
7
|
+
export declare function SettingsLayout({ sections, title, param, viewParam, search, breakpoint, listWidth, ...props }: SettingsLayoutProps): import("react").JSX.Element;
|
|
8
|
+
export declare namespace SettingsLayout {
|
|
9
|
+
var displayName: string;
|
|
10
|
+
}
|