@espressif/dashboard-ui-components 1.11.1 → 1.12.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/.claude/rules/dashboard-ui-consumption.md +176 -5
- package/.cursor/rules/dashboard-ui-consumption.mdc +163 -4
- package/CHANGELOG.md +1020 -0
- package/README.md +240 -7
- package/THIRD-PARTY-NOTICES.md +2 -1
- package/dist/alert.props-CcKo49Rb.d.ts +44 -0
- package/dist/animation/index.d.ts +3 -0
- package/dist/animation/index.js +3 -0
- package/dist/avatar.props-2q5BsX-R.d.ts +29 -0
- package/dist/button-BK-DIR_L.d.ts +21 -0
- package/dist/button-BxJ7s6sR.d.ts +76 -0
- package/dist/calendar.props-BtCzuWH1.d.ts +12 -0
- package/dist/carousel/index.d.ts +2 -0
- package/dist/carousel/index.js +2 -0
- package/dist/charts/index.d.ts +5 -0
- package/dist/charts/index.js +9 -0
- package/dist/common/app-logo/app-logo.js +1 -1
- package/dist/common/index.d.ts +9 -20
- package/dist/common/my-account-menu/my-account-menu.js +45 -13
- package/dist/common/profile-card/profile-card.js +3 -2
- package/dist/components/accordion/accordion.js +14 -5
- package/dist/components/accordion/index.d.ts +36 -0
- package/dist/components/accordion/index.js +2 -0
- package/dist/components/advanced-search-box/advanced-search-box.js +8 -2
- package/dist/components/advanced-search-box/index.d.ts +29 -0
- package/dist/components/advanced-search-box/index.js +2 -0
- package/dist/components/alert/alert.js +2 -1
- package/dist/components/alert/index.d.ts +12 -0
- package/dist/components/alert/index.js +2 -0
- package/dist/components/anchored-panel/anchored-panel.js +83 -0
- package/dist/components/anchored-panel/index.d.ts +31 -0
- package/dist/components/anchored-panel/index.js +2 -0
- package/dist/components/animated-containers/index.d.ts +13 -0
- package/dist/components/animated-containers/index.js +2 -0
- package/dist/components/async-multi-select/async-multi-select.js +48 -7
- package/dist/components/async-multi-select/index.d.ts +63 -0
- package/dist/components/async-multi-select/index.js +2 -0
- package/dist/components/avatar/avatar.js +11 -4
- package/dist/components/avatar/index.d.ts +8 -0
- package/dist/components/avatar/index.js +2 -0
- package/dist/components/avatar-group/avatar-group.js +35 -0
- package/dist/components/avatar-group/index.d.ts +31 -0
- package/dist/components/avatar-group/index.js +2 -0
- package/dist/components/badge/index.d.ts +14 -0
- package/dist/components/badge/index.js +2 -0
- package/dist/components/breadcrumb/index.d.ts +21 -0
- package/dist/components/breadcrumb/index.js +2 -0
- package/dist/components/bubble/bubble.js +18 -0
- package/dist/components/bubble/index.d.ts +19 -0
- package/dist/components/bubble/index.js +2 -0
- package/dist/components/button/button.js +87 -25
- package/dist/components/button/flash-button.js +9 -3
- package/dist/components/button/index.d.ts +56 -0
- package/dist/components/button/index.js +6 -0
- package/dist/components/button-group/index.d.ts +16 -0
- package/dist/components/button-group/index.js +2 -0
- package/dist/components/calendar/calendar.js +5 -5
- package/dist/components/calendar/index.d.ts +11 -0
- package/dist/components/calendar/index.js +2 -0
- package/dist/components/card/index.d.ts +11 -0
- package/dist/components/card/index.js +2 -0
- package/dist/components/card-rail/card-rail.js +50 -0
- package/dist/components/card-rail/index.d.ts +30 -0
- package/dist/components/card-rail/index.js +2 -0
- package/dist/components/cards/collapsible-card.js +5 -2
- package/dist/components/cards/index.d.ts +16200 -0
- package/dist/components/cards/index.js +8 -0
- package/dist/components/cards/section-card.js +133 -8
- package/dist/components/cards/simple-card.js +5 -2
- package/dist/components/carousel/carousel.js +137 -49
- package/dist/components/carousel/index.d.ts +130 -0
- package/dist/components/carousel/index.js +2 -0
- package/dist/components/category-card/category-card.js +111 -0
- package/dist/components/category-card/index.d.ts +55 -0
- package/dist/components/category-card/index.js +2 -0
- package/dist/components/chart/area-chart.js +95 -85
- package/dist/components/chart/bar-chart.js +123 -60
- package/dist/components/chart/chart.js +127 -3
- package/dist/components/chart/composed-chart.js +109 -98
- package/dist/components/chart/donut-chart.js +23 -5
- package/dist/components/chart/index.d.ts +732 -0
- package/dist/components/chart/index.js +9 -0
- package/dist/components/chart/line-chart.js +93 -83
- package/dist/components/chart/treemap-chart.js +71 -58
- package/dist/components/check-badge/check-badge.js +25 -0
- package/dist/components/check-badge/index.d.ts +13 -0
- package/dist/components/check-badge/index.js +2 -0
- package/dist/components/checkbox/index.d.ts +8 -0
- package/dist/components/checkbox/index.js +2 -0
- package/dist/components/choice-card/choice-card.js +99 -0
- package/dist/components/choice-card/index.d.ts +41 -0
- package/dist/components/choice-card/index.js +2 -0
- package/dist/components/circular-progress/circular-progress.js +5 -2
- package/dist/components/circular-progress/index.d.ts +23 -0
- package/dist/components/circular-progress/index.js +2 -0
- package/dist/components/code/index.d.ts +40 -0
- package/dist/components/code/index.js +2 -0
- package/dist/components/code-editor/code-editor.js +9 -3
- package/dist/components/code-editor/index.d.ts +82 -0
- package/dist/components/code-editor/index.js +2 -0
- package/dist/components/collapsible/index.d.ts +42 -0
- package/dist/components/collapsible/index.js +2 -0
- package/dist/components/column-panel/column-panel.js +38 -0
- package/dist/components/column-panel/index.d.ts +37 -0
- package/dist/components/column-panel/index.js +3 -0
- package/dist/components/column-panel/use-panel-flag.js +27 -0
- package/dist/components/combobox/index.d.ts +28 -0
- package/dist/components/combobox/index.js +2 -0
- package/dist/components/confirmation-dialog/confirmation-dialog.js +1 -1
- package/dist/components/confirmation-dialog/index.d.ts +40 -0
- package/dist/components/confirmation-dialog/index.js +3 -0
- package/dist/components/content-container/index.d.ts +16 -0
- package/dist/components/content-container/index.js +2 -0
- package/dist/components/copiable-text/index.d.ts +33 -0
- package/dist/components/copiable-text/index.js +2 -0
- package/dist/components/coverflow/_constants/coverflow-poses.js +23 -0
- package/dist/components/coverflow/_constants/coverflow-shapes.js +23 -0
- package/dist/components/coverflow/_hooks/use-coverflow.js +90 -0
- package/dist/components/coverflow/_utils/ring.js +24 -0
- package/dist/components/coverflow/coverflow.js +198 -0
- package/dist/components/coverflow/index.d.ts +105 -0
- package/dist/components/coverflow/index.js +2 -0
- package/dist/components/data-table/data-table.js +9 -2
- package/dist/components/data-table/index.d.ts +120 -0
- package/dist/components/data-table/index.js +3 -0
- package/dist/components/date-picker/date-picker.js +5 -2
- package/dist/components/date-picker/index.d.ts +50 -0
- package/dist/components/date-picker/index.js +2 -0
- package/dist/components/date-range-picker/date-range-picker.js +11 -2
- package/dist/components/date-range-picker/index.d.ts +100 -0
- package/dist/components/date-range-picker/index.js +3 -0
- package/dist/components/date-time-picker/date-time-picker.js +5 -2
- package/dist/components/date-time-picker/index.d.ts +79 -0
- package/dist/components/date-time-picker/index.js +2 -0
- package/dist/components/device-icon/index.d.ts +17 -0
- package/dist/components/device-icon/index.js +2 -0
- package/dist/components/dialog/index.d.ts +38 -0
- package/dist/components/dialog/index.js +2 -0
- package/dist/components/dropdown-menu/index.d.ts +57 -0
- package/dist/components/dropdown-menu/index.js +2 -0
- package/dist/components/dynamic-list/dynamic-list.js +4 -4
- package/dist/components/dynamic-list/index.d.ts +74 -0
- package/dist/components/dynamic-list/index.js +2 -0
- package/dist/components/error-display/index.d.ts +17 -0
- package/dist/components/error-display/index.js +3 -0
- package/dist/components/expandable-text/expandable-text-overlay.js +78 -0
- package/dist/components/expandable-text/expandable-text.js +73 -0
- package/dist/components/expandable-text/index.d.ts +39 -0
- package/dist/components/expandable-text/index.js +2 -0
- package/dist/components/expandable-text/use-clamped.js +23 -0
- package/dist/components/facet-filters/_hooks/use-filter-group.js +51 -0
- package/dist/components/facet-filters/active-filters.js +31 -0
- package/dist/components/facet-filters/filter-group.js +110 -0
- package/dist/components/facet-filters/filters-panel.js +59 -0
- package/dist/components/facet-filters/filters-pill.js +40 -0
- package/dist/components/facet-filters/index.d.ts +104 -0
- package/dist/components/facet-filters/index.js +6 -0
- package/dist/components/facet-filters/use-filters-collapsed.js +21 -0
- package/dist/components/feature-grid/feature-grid.js +115 -0
- package/dist/components/feature-grid/index.d.ts +53 -0
- package/dist/components/feature-grid/index.js +2 -0
- package/dist/components/file-input/file-input.js +9 -3
- package/dist/components/file-input/index.d.ts +78 -0
- package/dist/components/file-input/index.js +2 -0
- package/dist/components/file-upload/file-upload.js +10 -5
- package/dist/components/file-upload/index.d.ts +38 -0
- package/dist/components/file-upload/index.js +2 -0
- package/dist/components/filters-bar/filters-bar.js +5 -1
- package/dist/components/filters-bar/index.d.ts +26 -0
- package/dist/components/filters-bar/index.js +2 -0
- package/dist/components/flip-card/flip-card.js +147 -0
- package/dist/components/flip-card/index.d.ts +43 -0
- package/dist/components/flip-card/index.js +2 -0
- package/dist/components/floating-window/_hooks/use-drag-move.js +76 -0
- package/dist/components/floating-window/floating-window.js +97 -0
- package/dist/components/floating-window/index.d.ts +45 -0
- package/dist/components/floating-window/index.js +2 -0
- package/dist/components/form/index.d.ts +28 -0
- package/dist/components/form/index.js +2 -0
- package/dist/components/fullscreen-dialog/fullscreen-dialog.js +6 -2
- package/dist/components/fullscreen-dialog/index.d.ts +38 -0
- package/dist/components/fullscreen-dialog/index.js +2 -0
- package/dist/components/horizontal-stepper/horizontal-stepper.js +122 -0
- package/dist/components/horizontal-stepper/index.d.ts +70 -0
- package/dist/components/horizontal-stepper/index.js +2 -0
- package/dist/components/icon-avatar/index.d.ts +9 -0
- package/dist/components/icon-avatar/index.js +2 -0
- package/dist/components/icon-text-action-card/icon-text-action-card.js +9 -5
- package/dist/components/icon-text-action-card/index.d.ts +11 -0
- package/dist/components/icon-text-action-card/index.js +2 -0
- package/dist/components/identicon/identicon.js +33 -0
- package/dist/components/identicon/index.d.ts +26 -0
- package/dist/components/identicon/index.js +2 -0
- package/dist/components/illustration/index.d.ts +37 -0
- package/dist/components/illustration/index.js +3 -0
- package/dist/components/index.d.ts +177 -19529
- package/dist/components/index.js +61 -10
- package/dist/components/input/index.d.ts +15 -0
- package/dist/components/input/index.js +3 -0
- package/dist/components/input-group/index.d.ts +35 -0
- package/dist/components/input-group/index.js +2 -0
- package/dist/components/input-group/input-group.js +41 -0
- package/dist/components/input-otp/index.d.ts +63 -0
- package/dist/components/input-otp/index.js +2 -0
- package/dist/components/key-value-manager/index.d.ts +63 -0
- package/dist/components/key-value-manager/index.js +2 -0
- package/dist/components/key-value-manager/key-value-manager-table.js +7 -5
- package/dist/components/label/index.d.ts +8 -0
- package/dist/components/label/index.js +2 -0
- package/dist/components/link/index.d.ts +33 -0
- package/dist/components/link/index.js +2 -0
- package/dist/components/list/index.d.ts +9 -0
- package/dist/components/list/index.js +3 -0
- package/dist/components/list/list-item.utils.js +1 -1
- package/dist/components/list/list.js +3 -1
- package/dist/components/list-details/index.d.ts +51 -0
- package/dist/components/list-details/index.js +2 -0
- package/dist/components/list-details/list-details.js +5 -2
- package/dist/components/lottie-animation-container/index.d.ts +10 -0
- package/dist/components/lottie-animation-container/index.js +2 -0
- package/dist/components/lottie-animation-container/lottie-animation-container.js +22 -3
- package/dist/components/lottie-animations/index.d.ts +8 -0
- package/dist/components/lottie-animations/index.js +2 -0
- package/dist/components/markdown-content/index.d.ts +32 -0
- package/dist/components/markdown-content/index.js +2 -0
- package/dist/components/media-card/index.d.ts +125 -0
- package/dist/components/media-card/index.js +4 -0
- package/dist/components/media-card/media-card-image.js +59 -0
- package/dist/components/media-card/media-card-reveal.js +76 -0
- package/dist/components/media-card/media-card.classes.js +37 -0
- package/dist/components/media-card/media-card.js +91 -0
- package/dist/components/media-stage/index.d.ts +41 -0
- package/dist/components/media-stage/index.js +2 -0
- package/dist/components/media-stage/media-stage.js +48 -0
- package/dist/components/menu/index.d.ts +14 -0
- package/dist/components/menu/index.js +2 -0
- package/dist/components/message-scroller/_hooks/use-follow-bottom.js +85 -0
- package/dist/components/message-scroller/index.d.ts +29 -0
- package/dist/components/message-scroller/index.js +2 -0
- package/dist/components/message-scroller/message-scroller.js +65 -0
- package/dist/components/mini-bar-chart/index.d.ts +40 -0
- package/dist/components/mini-bar-chart/index.js +2 -0
- package/dist/components/mini-bar-chart/mini-bar-chart.js +93 -0
- package/dist/components/monospace-content/index.d.ts +43 -0
- package/dist/components/monospace-content/index.js +2 -0
- package/dist/components/monospace-content/monospace-content.js +1 -1
- package/dist/components/nav-bar/index.d.ts +148 -0
- package/dist/components/nav-bar/index.js +2 -0
- package/dist/components/nav-bar/nav-bar-details-panel.js +158 -44
- package/dist/components/nav-bar/nav-bar-mobile-menu.js +93 -27
- package/dist/components/nav-bar/nav-bar.js +256 -138
- package/dist/components/nav-bar/use-nav-bar-hover-details.js +80 -0
- package/dist/components/nav-bar/use-nav-bar-overflow.js +5 -5
- package/dist/components/notice-strip/index.d.ts +32 -0
- package/dist/components/notice-strip/index.js +2 -0
- package/dist/components/notice-strip/notice-strip.js +57 -0
- package/dist/components/option-card-group/index.d.ts +50 -0
- package/dist/components/option-card-group/index.js +2 -0
- package/dist/components/option-card-group/option-card-group.js +76 -0
- package/dist/components/overflow-badge-list/index.d.ts +63 -0
- package/dist/components/overflow-badge-list/index.js +2 -0
- package/dist/components/overflow-badge-list/overflow-badge-list.js +78 -19
- package/dist/components/page-banner/index.d.ts +33 -0
- package/dist/components/page-banner/index.js +2 -0
- package/dist/components/page-banner/page-banner.js +56 -0
- package/dist/components/page-container/index.d.ts +20 -0
- package/dist/components/page-container/index.js +3 -0
- package/dist/components/page-container/page-container.js +5 -5
- package/dist/components/pagination/index.d.ts +31 -0
- package/dist/components/pagination/index.js +3 -0
- package/dist/components/popover/index.d.ts +60 -0
- package/dist/components/popover/index.js +3 -0
- package/dist/components/preview-card/index.d.ts +24 -0
- package/dist/components/preview-card/index.js +2 -0
- package/dist/components/progress-bar/index.d.ts +32 -0
- package/dist/components/progress-bar/index.js +2 -0
- package/dist/components/progress-bar/progress-bar.js +22 -6
- package/dist/components/radio-group/index.d.ts +24 -0
- package/dist/components/radio-group/index.js +2 -0
- package/dist/components/rank-numeral/index.d.ts +30 -0
- package/dist/components/rank-numeral/index.js +2 -0
- package/dist/components/rank-numeral/rank-numeral.js +26 -0
- package/dist/components/reaction-button/index.d.ts +32 -0
- package/dist/components/reaction-button/index.js +2 -0
- package/dist/components/reaction-button/reaction-button.js +50 -0
- package/dist/components/readout/index.d.ts +31 -0
- package/dist/components/readout/index.js +2 -0
- package/dist/components/readout/readout.js +63 -0
- package/dist/components/requirement-list/index.d.ts +52 -0
- package/dist/components/requirement-list/index.js +2 -0
- package/dist/components/requirement-list/requirement-list.js +29 -8
- package/dist/components/resizable/index.d.ts +31 -0
- package/dist/components/resizable/index.js +4 -0
- package/dist/components/resizable/resizable-group.js +23 -0
- package/dist/components/resizable/resizable-panel.js +28 -0
- package/dist/components/resizable/resizable-separator.js +24 -0
- package/dist/components/reveal/index.d.ts +23 -0
- package/dist/components/reveal/index.js +2 -0
- package/dist/components/reveal/reveal.js +24 -0
- package/dist/components/scroll-area/index.d.ts +27 -0
- package/dist/components/scroll-area/index.js +2 -0
- package/dist/components/scrollable-sections/index.d.ts +58 -0
- package/dist/components/scrollable-sections/index.js +2 -0
- package/dist/components/scrollable-sections/scrollable-sections.js +11 -3
- package/dist/components/search-box/index.d.ts +32 -0
- package/dist/components/search-box/index.js +2 -0
- package/dist/components/search-box/search-box.js +18 -3
- package/dist/components/search-field-shell.js +1 -1
- package/dist/components/select/index.d.ts +44 -0
- package/dist/components/select/index.js +2 -0
- package/dist/components/selectable-card-list/checkbox-card-list.js +5 -3
- package/dist/components/selectable-card-list/index.d.ts +76 -0
- package/dist/components/selectable-card-list/index.js +2 -0
- package/dist/components/selectable-card-list/radio-card-list.js +12 -6
- package/dist/components/selectable-card-list/selectable-card-list-shared.js +24 -12
- package/dist/components/selectable-card-list/selectable-card-list.js +12 -3
- package/dist/components/separator/index.d.ts +24 -0
- package/dist/components/separator/index.js +2 -0
- package/dist/components/share-menu/index.d.ts +55 -0
- package/dist/components/share-menu/index.js +2 -0
- package/dist/components/share-menu/share-marks.js +31 -0
- package/dist/components/share-menu/share-menu.js +140 -0
- package/dist/components/share-menu/share-urls.js +15 -0
- package/dist/components/sheet/index.d.ts +41 -0
- package/dist/components/sheet/index.js +2 -0
- package/dist/components/showcase-card/index.d.ts +53 -0
- package/dist/components/showcase-card/index.js +2 -0
- package/dist/components/showcase-card/showcase-card.js +75 -0
- package/dist/components/sidebar/index.d.ts +109 -0
- package/dist/components/sidebar/index.js +4 -0
- package/dist/components/sidebar/sidebar.js +56 -40
- package/dist/components/simple-clickable-card/index.d.ts +11 -0
- package/dist/components/simple-clickable-card/index.js +2 -0
- package/dist/components/simple-clickable-card/simple-clickable-card-shared.js +2 -2
- package/dist/components/simple-clickable-card/simple-clickable-card.js +5 -2
- package/dist/components/simple-info-card/index.d.ts +25 -0
- package/dist/components/simple-info-card/index.js +2 -0
- package/dist/components/simple-info-card/simple-info-card.js +6 -3
- package/dist/components/simple-list/index.d.ts +63 -0
- package/dist/components/simple-list/index.js +2 -0
- package/dist/components/simple-list/simple-list.js +3 -1
- package/dist/components/simple-paginated-list/index.d.ts +20 -0
- package/dist/components/simple-paginated-list/index.js +2 -0
- package/dist/components/simplified-date/index.d.ts +18 -0
- package/dist/components/simplified-date/index.js +2 -0
- package/dist/components/skeleton/index.d.ts +5 -0
- package/dist/components/skeleton/index.js +2 -0
- package/dist/components/skeletons/index.d.ts +11 -0
- package/dist/components/skeletons/index.js +2 -0
- package/dist/components/sort-menu/index.d.ts +34 -0
- package/dist/components/sort-menu/index.js +2 -0
- package/dist/components/sort-menu/sort-menu.js +39 -0
- package/dist/components/spinner/index.d.ts +15 -0
- package/dist/components/spinner/index.js +2 -0
- package/dist/components/stat-card/index.d.ts +43 -0
- package/dist/components/stat-card/index.js +2 -0
- package/dist/components/stat-card/stat-card.js +31 -12
- package/dist/components/status-badge/index.d.ts +24 -0
- package/dist/components/status-badge/index.js +2 -0
- package/dist/components/status-badge/status-badge.js +3 -2
- package/dist/components/status-card-list/index.d.ts +24 -0
- package/dist/components/status-card-list/index.js +2 -0
- package/dist/components/status-card-list/status-card-list.js +8 -4
- package/dist/components/step-tabs/index.d.ts +94 -0
- package/dist/components/step-tabs/index.js +2 -0
- package/dist/components/step-tabs/step-tabs.js +202 -0
- package/dist/components/style-scope/index.d.ts +32 -0
- package/dist/components/style-scope/index.js +2 -0
- package/dist/components/style-scope/style-scope.js +49 -0
- package/dist/components/switch/index.d.ts +15 -0
- package/dist/components/switch/index.js +2 -0
- package/dist/components/table/index.d.ts +18 -0
- package/dist/components/table/index.js +2 -0
- package/dist/components/tabs/index.d.ts +103 -0
- package/dist/components/tabs/index.js +2 -0
- package/dist/components/tag/index.d.ts +31 -0
- package/dist/components/tag/index.js +2 -0
- package/dist/components/tag/tag.js +79 -28
- package/dist/components/tag-input/index.d.ts +36 -0
- package/dist/components/tag-input/index.js +2 -0
- package/dist/components/tag-input/tag-input.js +10 -4
- package/dist/components/text-effects/index.d.ts +53 -0
- package/dist/components/text-effects/index.js +6 -0
- package/dist/components/textarea/index.d.ts +16 -0
- package/dist/components/textarea/index.js +2 -0
- package/dist/components/thumbnail-strip/index.d.ts +42 -0
- package/dist/components/thumbnail-strip/index.js +2 -0
- package/dist/components/thumbnail-strip/thumbnail-strip.js +124 -0
- package/dist/components/thumbnail-strip/use-scroll-edges.js +41 -0
- package/dist/components/time-picker/index.d.ts +13 -0
- package/dist/components/time-picker/index.js +2 -0
- package/dist/components/timeline/index.d.ts +39 -0
- package/dist/components/timeline/index.js +2 -0
- package/dist/components/timeline/timeline.js +85 -0
- package/dist/components/toast/index.d.ts +56 -0
- package/dist/components/toast/index.js +2 -0
- package/dist/components/toast/toast.js +42 -32
- package/dist/components/togglable-items-list/index.d.ts +28 -0
- package/dist/components/togglable-items-list/index.js +2 -0
- package/dist/components/toggle-group/index.d.ts +35 -0
- package/dist/components/toggle-group/index.js +2 -0
- package/dist/components/toolbar/index.d.ts +58 -0
- package/dist/components/toolbar/index.js +3 -0
- package/dist/components/toolbar/toolbar-button.js +40 -0
- package/dist/components/toolbar/toolbar.js +56 -0
- package/dist/components/tooltip/index.d.ts +29 -0
- package/dist/components/tooltip/index.js +3 -0
- package/dist/components/tooltip/tooltip.js +12 -2
- package/dist/components/transfer-list/index.d.ts +36 -0
- package/dist/components/transfer-list/index.js +2 -0
- package/dist/components/transfer-list/transfer-list.js +1 -1
- package/dist/components/truncated-line-with-tooltip/index.d.ts +22 -0
- package/dist/components/truncated-line-with-tooltip/index.js +2 -0
- package/dist/components/truncated-line-with-tooltip/truncated-line-with-tooltip.js +26 -8
- package/dist/components/typography/index.d.ts +19 -0
- package/dist/components/typography/index.js +3 -0
- package/dist/components/use-mobile/index.d.ts +3 -0
- package/dist/components/use-mobile/index.js +2 -0
- package/dist/components/user-type-badge/index.d.ts +39 -0
- package/dist/components/user-type-badge/index.js +3 -0
- package/dist/components/user-type-badge/user-type-badge.js +2 -1
- package/dist/components/vertical-stepper/index.d.ts +7 -0
- package/dist/components/vertical-stepper/index.js +2 -0
- package/dist/components/vertical-stepper/vertical-stepper.js +33 -6
- package/dist/components/view-toggle/index.d.ts +38 -0
- package/dist/components/view-toggle/index.js +2 -0
- package/dist/components/view-toggle/view-toggle.js +56 -0
- package/dist/core/animate-ui/components/animate/code.js +83 -9
- package/dist/core/animate-ui/components/animate/tabs.js +234 -19
- package/dist/core/animate-ui/components/animate/tooltip.js +10 -2
- package/dist/core/animate-ui/components/base/preview-card.js +20 -3
- package/dist/core/animate-ui/components/buttons/copy.js +12 -6
- package/dist/core/animate-ui/components/radix/dialog.js +17 -3
- package/dist/core/animate-ui/components/radix/dropdown-menu.js +26 -9
- package/dist/core/animate-ui/components/radix/sheet.js +20 -4
- package/dist/core/animate-ui/components/radix/sidebar.js +9 -9
- package/dist/core/animate-ui/components/radix/toggle-group.js +103 -13
- package/dist/core/animate-ui/components/radix/toggle.js +5 -5
- package/dist/core/animate-ui/primitives/animate/code-block.js +31 -4
- package/dist/core/animate-ui/primitives/animate/shiki-highlighter.js +5 -2
- package/dist/core/animate-ui/primitives/animate/tabs.js +7 -4
- package/dist/core/animate-ui/primitives/animate/tooltip.js +10 -3
- package/dist/core/animate-ui/primitives/base/preview-card.js +2 -2
- package/dist/core/animate-ui/primitives/base/progress.js +1 -1
- package/dist/core/animate-ui/primitives/base/radio.js +3 -3
- package/dist/core/animate-ui/primitives/effects/highlight.js +1 -0
- package/dist/core/animate-ui/primitives/radix/accordion.js +1 -1
- package/dist/core/animate-ui/primitives/radix/dialog.js +6 -3
- package/dist/core/animate-ui/primitives/radix/dropdown-menu.js +2 -2
- package/dist/core/animate-ui/primitives/radix/sheet.js +7 -3
- package/dist/core/animate-ui/primitives/radix/switch.js +2 -2
- package/dist/core/animate-ui/primitives/radix/toggle-group.js +2 -2
- package/dist/core/badge.js +5 -2
- package/dist/core/breadcrumb.js +1 -1
- package/dist/core/button/button.js +8 -8
- package/dist/core/button/craft-button.js +8 -2
- package/dist/core/button.js +17 -7
- package/dist/core/card.js +23 -5
- package/dist/core/combobox/combobox.js +8 -2
- package/dist/core/command.js +3 -3
- package/dist/core/form.js +1 -1
- package/dist/core/hooks/use-nested-layer-press-guard.js +46 -0
- package/dist/core/hooks/use-on-screen.js +33 -0
- package/dist/core/hooks/use-prefers-reduced-motion.js +19 -0
- package/dist/core/hooks/use-scroll-overflow.js +20 -0
- package/dist/core/index.d.ts +30 -5
- package/dist/core/index.js +5 -2
- package/dist/core/input/input-password.js +13 -9
- package/dist/core/input/input.js +38 -12
- package/dist/core/input-otp/input-otp.js +9 -5
- package/dist/core/popover-group.js +48 -0
- package/dist/core/popover-hover.js +127 -0
- package/dist/core/popover.js +75 -6
- package/dist/core/select.js +50 -19
- package/dist/core/table.js +5 -3
- package/dist/core/textarea/textarea.js +11 -3
- package/dist/data-table/index.d.ts +4 -0
- package/dist/data-table/index.js +3 -0
- package/dist/date/index.d.ts +11 -0
- package/dist/date/index.js +7 -0
- package/dist/forms/index.d.ts +4 -0
- package/dist/forms/index.js +2 -0
- package/dist/icon-avatar.props-RYtw2eSW.d.ts +31 -0
- package/dist/icon-text-action-card.props-B2ggncUK.d.ts +53 -0
- package/dist/index.d.ts +169 -15
- package/dist/index.js +63 -10
- package/dist/input-CYI1hhGc.d.ts +38 -0
- package/dist/layouts/index.d.ts +132 -8
- package/dist/layouts/index.js +3 -1
- package/dist/layouts/minimal-workspace-layout/minimal-workspace-layout-context.js +5 -0
- package/dist/layouts/minimal-workspace-layout/minimal-workspace-layout.js +404 -0
- package/dist/layouts/minimal-workspace-layout/rail-logo.js +90 -0
- package/dist/layouts/minimal-workspace-layout/sidebar-trigger.js +42 -0
- package/dist/layouts/shared/account-menu-props.js +21 -0
- package/dist/layouts/shared/footer-branding.js +34 -0
- package/dist/layouts/shared/sidebar-logo.js +59 -0
- package/dist/layouts/workspace-layout/account-menu/account-menu.js +9 -3
- package/dist/layouts/workspace-layout/footer/footer.js +1 -1
- package/dist/layouts/workspace-layout/header/header.js +1 -1
- package/dist/layouts/workspace-layout/workspace-layout.js +28 -80
- package/dist/{list.props-x1j3CbcF.d.ts → list.props-DP_xPTqU.d.ts} +2 -1
- package/dist/markdown/index.d.ts +11 -0
- package/dist/markdown/index.js +5 -0
- package/dist/my-account-menu.props-C7DK71WC.d.ts +67 -0
- package/dist/page-container.props-JutTvKFq.d.ts +48 -0
- package/dist/resizable.props-RxFY5tm_.d.ts +44 -0
- package/dist/section-card-B7c5uc08.d.ts +84 -0
- package/dist/simple-clickable-card.props-BrPCw7CR.d.ts +51 -0
- package/dist/slot-DGErA9zi.d.ts +10 -0
- package/dist/status-badge.props-lKlEOfRt.d.ts +32 -0
- package/dist/style-axes-DSQ2DGc5.d.ts +133 -0
- package/dist/toast/index.d.ts +6 -0
- package/dist/toast/index.js +2 -0
- package/dist/tooltip-C0bYa8a3.d.ts +37 -0
- package/dist/{types-DtUxK-Am.d.ts → types-CkXflqg7.d.ts} +31 -1
- package/dist/utils/cn.js +6 -1
- package/dist/utils/color.js +35 -10
- package/dist/utils/index.d.ts +18 -2
- package/dist/utils/index.js +4 -1
- package/dist/utils/silver-shine.js +16 -1
- package/dist/utils/style-axes.js +227 -0
- package/dist/utils/variant.js +104 -8
- package/dist/utils/view-transition.js +21 -0
- package/dist/variant-D81RhpbR.d.ts +104 -0
- package/dist/vertical-stepper.props-BXYcbW70.d.ts +29 -0
- package/package.json +52 -6
- package/src/styles/colors.css +100 -4
- package/src/styles/globals.css +8 -131
- package/src/styles/style-axes.css +21 -0
- package/src/styles/theme.css +696 -0
- package/dist/app-logo.props-Ct7QBdTd.d.ts +0 -40
- package/dist/popover-ByLD3-Qv.d.ts +0 -204
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { e as SidebarProps$1 } from '../../types-CkXflqg7.js';
|
|
3
|
+
export { S as SidebarEndActionConfig, a as SidebarGroupConfig, b as SidebarItemConfig, c as SidebarLinkComponentProps, d as SidebarNavEntry, f as SidebarTopLevelLinkConfig, i as isSidebarGroup } from '../../types-CkXflqg7.js';
|
|
4
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
5
|
+
import { VariantProps } from 'class-variance-authority';
|
|
6
|
+
import { Transition } from 'motion/react';
|
|
7
|
+
import { a as Button } from '../../button-BK-DIR_L.js';
|
|
8
|
+
import { I as Input } from '../../input-CYI1hhGc.js';
|
|
9
|
+
import { Separator } from '../separator/index.js';
|
|
10
|
+
import { T as TooltipContent } from '../../tooltip-C0bYa8a3.js';
|
|
11
|
+
import '../../style-axes-DSQ2DGc5.js';
|
|
12
|
+
import '../../index-BQANnKs9.js';
|
|
13
|
+
import '@radix-ui/react-separator';
|
|
14
|
+
import '../../slot-DGErA9zi.js';
|
|
15
|
+
|
|
16
|
+
declare function Sidebar$1({ items, currentPath, header, headerHeight, footer, linkComponent: LinkComponent, collapsible, variant, focusActiveGroup, density, flyoutRadius, flyoutElevation, beforeContent, headerClassName, className, mobileClassName, id, onClick, }: SidebarProps$1): React.JSX.Element;
|
|
17
|
+
|
|
18
|
+
type SidebarContextProps = {
|
|
19
|
+
state: 'expanded' | 'collapsed';
|
|
20
|
+
open: boolean;
|
|
21
|
+
setOpen: (open: boolean) => void;
|
|
22
|
+
openMobile: boolean;
|
|
23
|
+
setOpenMobile: (open: boolean) => void;
|
|
24
|
+
isMobile: boolean;
|
|
25
|
+
toggleSidebar: () => void;
|
|
26
|
+
};
|
|
27
|
+
declare const useSidebar: () => SidebarContextProps;
|
|
28
|
+
type SidebarProviderProps = React.ComponentProps<'div'> & {
|
|
29
|
+
defaultOpen?: boolean;
|
|
30
|
+
open?: boolean;
|
|
31
|
+
onOpenChange?: (open: boolean) => void;
|
|
32
|
+
};
|
|
33
|
+
declare function SidebarProvider({ defaultOpen, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }: SidebarProviderProps): React.JSX.Element;
|
|
34
|
+
type SidebarProps = React.ComponentProps<'div'> & {
|
|
35
|
+
side?: 'left' | 'right';
|
|
36
|
+
variant?: 'sidebar' | 'floating' | 'inset';
|
|
37
|
+
collapsible?: 'offcanvas' | 'icon' | 'none';
|
|
38
|
+
containerClassName?: string;
|
|
39
|
+
/** Extra classes for the mobile sheet's panel (`SheetContent`). */
|
|
40
|
+
mobileClassName?: string;
|
|
41
|
+
animateOnHover?: boolean;
|
|
42
|
+
transition?: Transition;
|
|
43
|
+
};
|
|
44
|
+
declare function Sidebar({ side, variant, collapsible, className, children, animateOnHover, containerClassName, mobileClassName, transition, ...props }: SidebarProps): React.JSX.Element;
|
|
45
|
+
type SidebarTriggerProps = React.ComponentProps<typeof Button>;
|
|
46
|
+
declare function SidebarTrigger({ className, onClick, ...props }: SidebarTriggerProps): React.JSX.Element;
|
|
47
|
+
type SidebarRailProps = React.ComponentProps<'button'>;
|
|
48
|
+
declare function SidebarRail({ className, ...props }: SidebarRailProps): React.JSX.Element;
|
|
49
|
+
type SidebarInsetProps = React.ComponentProps<'main'>;
|
|
50
|
+
declare function SidebarInset({ className, ...props }: SidebarInsetProps): React.JSX.Element;
|
|
51
|
+
type SidebarInputProps = React.ComponentProps<typeof Input>;
|
|
52
|
+
declare function SidebarInput({ className, ...props }: SidebarInputProps): React.JSX.Element;
|
|
53
|
+
type SidebarHeaderProps = React.ComponentProps<'div'>;
|
|
54
|
+
declare function SidebarHeader({ className, ...props }: SidebarHeaderProps): React.JSX.Element;
|
|
55
|
+
type SidebarFooterProps = React.ComponentProps<'div'>;
|
|
56
|
+
declare function SidebarFooter({ className, ...props }: SidebarFooterProps): React.JSX.Element;
|
|
57
|
+
type SidebarSeparatorProps = React.ComponentProps<typeof Separator>;
|
|
58
|
+
declare function SidebarSeparator({ className, ...props }: SidebarSeparatorProps): React.JSX.Element;
|
|
59
|
+
type SidebarContentProps = React.ComponentProps<'div'>;
|
|
60
|
+
declare function SidebarContent({ className, children, ...props }: SidebarContentProps): React.JSX.Element;
|
|
61
|
+
type SidebarGroupProps = React.ComponentProps<'div'>;
|
|
62
|
+
declare function SidebarGroup({ className, ...props }: SidebarGroupProps): React.JSX.Element;
|
|
63
|
+
type SidebarGroupLabelProps = React.ComponentProps<'div'> & {
|
|
64
|
+
asChild?: boolean;
|
|
65
|
+
};
|
|
66
|
+
declare function SidebarGroupLabel({ className, asChild, ...props }: SidebarGroupLabelProps): React.JSX.Element;
|
|
67
|
+
type SidebarGroupActionProps = React.ComponentProps<'button'> & {
|
|
68
|
+
asChild?: boolean;
|
|
69
|
+
};
|
|
70
|
+
declare function SidebarGroupAction({ className, asChild, ...props }: SidebarGroupActionProps): React.JSX.Element;
|
|
71
|
+
type SidebarGroupContentProps = React.ComponentProps<'div'>;
|
|
72
|
+
declare function SidebarGroupContent({ className, ...props }: SidebarGroupContentProps): React.JSX.Element;
|
|
73
|
+
type SidebarMenuProps = React.ComponentProps<'ul'>;
|
|
74
|
+
declare function SidebarMenu({ className, ...props }: SidebarMenuProps): React.JSX.Element;
|
|
75
|
+
type SidebarMenuItemProps = React.ComponentProps<'li'>;
|
|
76
|
+
declare function SidebarMenuItem({ className, ...props }: SidebarMenuItemProps): React.JSX.Element;
|
|
77
|
+
declare const sidebarMenuButtonVariants: (props?: ({
|
|
78
|
+
variant?: "default" | "outline" | null | undefined;
|
|
79
|
+
size?: "sm" | "default" | "lg" | null | undefined;
|
|
80
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
81
|
+
type SidebarMenuButtonProps = React.ComponentProps<'button'> & {
|
|
82
|
+
asChild?: boolean;
|
|
83
|
+
isActive?: boolean;
|
|
84
|
+
tooltip?: string | React.ComponentProps<typeof TooltipContent>;
|
|
85
|
+
} & VariantProps<typeof sidebarMenuButtonVariants>;
|
|
86
|
+
declare function SidebarMenuButton({ asChild, isActive, variant, size, tooltip, className, ...props }: SidebarMenuButtonProps): React.JSX.Element;
|
|
87
|
+
type SidebarMenuActionProps = React.ComponentProps<'button'> & {
|
|
88
|
+
asChild?: boolean;
|
|
89
|
+
showOnHover?: boolean;
|
|
90
|
+
};
|
|
91
|
+
declare function SidebarMenuAction({ className, asChild, showOnHover, ...props }: SidebarMenuActionProps): React.JSX.Element;
|
|
92
|
+
type SidebarMenuBadgeProps = React.ComponentProps<'div'>;
|
|
93
|
+
declare function SidebarMenuBadge({ className, ...props }: SidebarMenuBadgeProps): React.JSX.Element;
|
|
94
|
+
type SidebarMenuSkeletonProps = React.ComponentProps<'div'> & {
|
|
95
|
+
showIcon?: boolean;
|
|
96
|
+
};
|
|
97
|
+
declare function SidebarMenuSkeleton({ className, showIcon, ...props }: SidebarMenuSkeletonProps): React.JSX.Element;
|
|
98
|
+
type SidebarMenuSubProps = React.ComponentProps<'ul'>;
|
|
99
|
+
declare function SidebarMenuSub({ className, ...props }: SidebarMenuSubProps): React.JSX.Element;
|
|
100
|
+
type SidebarMenuSubItemProps = React.ComponentProps<'li'>;
|
|
101
|
+
declare function SidebarMenuSubItem({ className, ...props }: SidebarMenuSubItemProps): React.JSX.Element;
|
|
102
|
+
type SidebarMenuSubButtonProps = React.ComponentProps<'a'> & {
|
|
103
|
+
asChild?: boolean;
|
|
104
|
+
size?: 'sm' | 'md';
|
|
105
|
+
isActive?: boolean;
|
|
106
|
+
};
|
|
107
|
+
declare function SidebarMenuSubButton({ asChild, size, isActive, className, ...props }: SidebarMenuSubButtonProps): React.JSX.Element;
|
|
108
|
+
|
|
109
|
+
export { Sidebar$1 as Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, Sidebar as SidebarPrimitive, SidebarProps$1 as SidebarProps, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Sidebar as Sidebar$1, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar } from "../../core/animate-ui/components/radix/sidebar.js";
|
|
2
|
+
import { isSidebarGroup } from "./types.js";
|
|
3
|
+
import Sidebar from "./sidebar.js";
|
|
4
|
+
export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, Sidebar$1 as SidebarPrimitive, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, isSidebarGroup, useSidebar };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { cn } from "../../utils/cn.js";
|
|
2
|
+
import { densityStyle } from "../../utils/style-axes.js";
|
|
2
3
|
import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger } from "../../core/animate-ui/components/radix/dropdown-menu.js";
|
|
3
4
|
import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "../../core/collapsible.js";
|
|
4
5
|
import Tooltip from "../tooltip/tooltip.js";
|
|
@@ -105,7 +106,7 @@ function GroupMenuItems({ group, isSelected, linkComponent: LinkComponent, onIte
|
|
|
105
106
|
* Collapsed sidebar (icon-only): group rendered as a single icon with flyout Menu.
|
|
106
107
|
* Uses controlled DropdownMenu so clicking an item closes the menu.
|
|
107
108
|
*/
|
|
108
|
-
function CollapsedSidebarGroup({ group, isSelected, linkComponent: LinkComponent }) {
|
|
109
|
+
function CollapsedSidebarGroup({ group, isSelected, linkComponent: LinkComponent, flyoutRadius, flyoutElevation }) {
|
|
109
110
|
const [open, setOpen] = useState(false);
|
|
110
111
|
const pickedWithPointer = useRef(false);
|
|
111
112
|
return /* @__PURE__ */ jsx(SidebarGroup, {
|
|
@@ -130,7 +131,9 @@ function CollapsedSidebarGroup({ group, isSelected, linkComponent: LinkComponent
|
|
|
130
131
|
side: "right",
|
|
131
132
|
align: "start",
|
|
132
133
|
sideOffset: 8,
|
|
133
|
-
|
|
134
|
+
radius: flyoutRadius,
|
|
135
|
+
elevation: flyoutElevation,
|
|
136
|
+
className: "z-50 max-w-xs rounded-[var(--espd-own-radius,var(--espd-radius-overlay,var(--radius-2xl)))] shadow-[shadow:var(--espd-own-elevation,var(--espd-elevation-overlay,var(--shadow-lg)))] will-change-[opacity,transform] py-1.5 select-none",
|
|
134
137
|
style: { minWidth: 180 },
|
|
135
138
|
onCloseAutoFocus: (e) => {
|
|
136
139
|
if (pickedWithPointer.current) e.preventDefault();
|
|
@@ -149,7 +152,7 @@ function CollapsedSidebarGroup({ group, isSelected, linkComponent: LinkComponent
|
|
|
149
152
|
})
|
|
150
153
|
});
|
|
151
154
|
}
|
|
152
|
-
var groupHeaderClass = cn("flex w-full items-center gap-2 rounded-md p-2 h-7 overflow-hidden font-medium text-sidebar-foreground hover:bg-sidebar-accent/50 transition-colors cursor-pointer", rowIconClass);
|
|
155
|
+
var groupHeaderClass = cn("flex w-full items-center gap-2 rounded-[var(--espd-own-radius,var(--espd-radius-item,var(--radius-md)))] p-2 h-[var(--espd-sidebar-row-height-sm,calc(var(--spacing)*7))] overflow-hidden font-medium text-sidebar-foreground hover:bg-sidebar-accent/50 transition-colors cursor-pointer", rowIconClass);
|
|
153
156
|
/**
|
|
154
157
|
* Expanded sidebar group with inline collapsible items.
|
|
155
158
|
* Clicking the group header toggles expand/collapse. No flyout menus here —
|
|
@@ -195,7 +198,7 @@ function TopLevelLinkRow({ item, isCollapsed, isMobile, renderMenuItem }) {
|
|
|
195
198
|
})
|
|
196
199
|
});
|
|
197
200
|
}
|
|
198
|
-
function Sidebar({ items, currentPath, header, headerHeight, footer, linkComponent: LinkComponent, collapsible = "icon", variant = "sidebar", focusActiveGroup = false }) {
|
|
201
|
+
function Sidebar({ items, currentPath, header, headerHeight, footer, linkComponent: LinkComponent, collapsible = "icon", variant = "sidebar", focusActiveGroup = false, density, flyoutRadius, flyoutElevation, beforeContent, headerClassName, className, mobileClassName, id, onClick }) {
|
|
199
202
|
const { state, isMobile, setOpenMobile } = useSidebar();
|
|
200
203
|
const isCollapsed = state === "collapsed";
|
|
201
204
|
/** On mobile the sidebar is a sheet overlaying the page: navigating away should dismiss it. */
|
|
@@ -243,57 +246,62 @@ function Sidebar({ items, currentPath, header, headerHeight, footer, linkCompone
|
|
|
243
246
|
* Segment-aware so sibling routes with a shared prefix stay independent: at
|
|
244
247
|
* `/components/input-password` only that row lights up, not `/components/input` too.
|
|
245
248
|
* A nested route still selects its parent row (`/nodes/42` selects `/nodes`).
|
|
249
|
+
* A row for the root (`/`, a Home link) is selected only on the root: every
|
|
250
|
+
* path starts with it, so as a prefix it would light up beside every other row.
|
|
246
251
|
*/
|
|
247
252
|
const isSelected = (path) => {
|
|
248
|
-
return isPathPrefixOf(path, currentPath);
|
|
253
|
+
return path === "/" ? currentPath === "/" : isPathPrefixOf(path, currentPath);
|
|
249
254
|
};
|
|
250
255
|
const renderMenuItem = (item) => {
|
|
251
256
|
const EndActionIcon = item.endAction?.icon;
|
|
252
257
|
const active = isSelected(item.path);
|
|
253
|
-
return /* @__PURE__ */ jsxs(SidebarMenuItem, {
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
size: "sm",
|
|
257
|
-
tooltip: item.label,
|
|
258
|
-
className: cn(rowIconClass, active && "bg-sidebar-accent text-sidebar-accent-foreground", item.endAction && "pr-8"),
|
|
259
|
-
children: /* @__PURE__ */ jsx(LinkComponent, {
|
|
260
|
-
to: item.path,
|
|
261
|
-
children: /* @__PURE__ */ jsxs("span", {
|
|
262
|
-
className: "contents",
|
|
263
|
-
onClick: closeMobileSidebar,
|
|
264
|
-
children: [/* @__PURE__ */ jsx(ItemIcon, {
|
|
265
|
-
icon: item.icon,
|
|
266
|
-
active
|
|
267
|
-
}), /* @__PURE__ */ jsx("span", {
|
|
268
|
-
className: cn("whitespace-nowrap max-w-[168px] truncate", active ? "font-semibold text-sidebar-accent-foreground" : "font-medium text-sidebar-foreground"),
|
|
269
|
-
style: rowFontStyle,
|
|
270
|
-
children: item.label
|
|
271
|
-
})]
|
|
272
|
-
})
|
|
273
|
-
})
|
|
274
|
-
}), item.endAction && EndActionIcon && /* @__PURE__ */ jsx(Tooltip, {
|
|
275
|
-
content: item.endAction.tooltip,
|
|
276
|
-
side: "right",
|
|
277
|
-
sideOffset: 8,
|
|
278
|
-
children: /* @__PURE__ */ jsx(SidebarMenuAction, {
|
|
258
|
+
return /* @__PURE__ */ jsxs(SidebarMenuItem, {
|
|
259
|
+
onClick: closeMobileSidebar,
|
|
260
|
+
children: [/* @__PURE__ */ jsx(SidebarMenuButton, {
|
|
279
261
|
asChild: true,
|
|
280
|
-
|
|
262
|
+
isActive: active,
|
|
263
|
+
size: "sm",
|
|
264
|
+
tooltip: item.label,
|
|
265
|
+
className: cn(rowIconClass, active && "bg-sidebar-accent text-sidebar-accent-foreground", item.endAction && "pr-8"),
|
|
281
266
|
children: /* @__PURE__ */ jsx(LinkComponent, {
|
|
282
|
-
to: item.
|
|
283
|
-
children: /* @__PURE__ */
|
|
267
|
+
to: item.path,
|
|
268
|
+
children: /* @__PURE__ */ jsxs("span", {
|
|
284
269
|
className: "contents",
|
|
285
|
-
|
|
286
|
-
|
|
270
|
+
children: [/* @__PURE__ */ jsx(ItemIcon, {
|
|
271
|
+
icon: item.icon,
|
|
272
|
+
active
|
|
273
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
274
|
+
className: cn("whitespace-nowrap max-w-[168px] truncate", active ? "font-semibold text-sidebar-accent-foreground" : "font-medium text-sidebar-foreground"),
|
|
275
|
+
style: rowFontStyle,
|
|
276
|
+
children: item.label
|
|
277
|
+
})]
|
|
278
|
+
})
|
|
279
|
+
})
|
|
280
|
+
}), item.endAction && EndActionIcon && /* @__PURE__ */ jsx(Tooltip, {
|
|
281
|
+
content: item.endAction.tooltip,
|
|
282
|
+
side: "right",
|
|
283
|
+
sideOffset: 8,
|
|
284
|
+
children: /* @__PURE__ */ jsx(SidebarMenuAction, {
|
|
285
|
+
asChild: true,
|
|
286
|
+
className: cn(rowIconClass, "right-1.5"),
|
|
287
|
+
children: /* @__PURE__ */ jsx(LinkComponent, {
|
|
288
|
+
to: item.endAction.path,
|
|
289
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
290
|
+
className: "contents",
|
|
291
|
+
children: /* @__PURE__ */ jsx(EndActionIcon, {})
|
|
292
|
+
})
|
|
287
293
|
})
|
|
288
294
|
})
|
|
289
|
-
})
|
|
290
|
-
}
|
|
295
|
+
})]
|
|
296
|
+
}, item.id);
|
|
291
297
|
};
|
|
292
298
|
const renderGroup = (group) => {
|
|
293
299
|
if (isCollapsed && !isMobile) return /* @__PURE__ */ jsx(CollapsedSidebarGroup, {
|
|
294
300
|
group,
|
|
295
301
|
isSelected,
|
|
296
|
-
linkComponent: LinkComponent
|
|
302
|
+
linkComponent: LinkComponent,
|
|
303
|
+
flyoutRadius,
|
|
304
|
+
flyoutElevation
|
|
297
305
|
}, group.id);
|
|
298
306
|
return /* @__PURE__ */ jsx(ExpandedSidebarGroup, {
|
|
299
307
|
group,
|
|
@@ -314,9 +322,16 @@ function Sidebar({ items, currentPath, header, headerHeight, footer, linkCompone
|
|
|
314
322
|
return /* @__PURE__ */ jsxs(Sidebar$1, {
|
|
315
323
|
collapsible,
|
|
316
324
|
variant,
|
|
325
|
+
style: densityStyle(density),
|
|
326
|
+
mobileClassName,
|
|
327
|
+
...!isMobile && {
|
|
328
|
+
className,
|
|
329
|
+
id,
|
|
330
|
+
onClick
|
|
331
|
+
},
|
|
317
332
|
children: [
|
|
318
333
|
(header || isMobile) && /* @__PURE__ */ jsxs(SidebarHeader, {
|
|
319
|
-
className: cn(headerHeight ? "flex flex-row items-center gap-0 px-2 py-0 box-border shrink-0" : "flex items-start", isMobile ? "justify-between" : "justify-center"),
|
|
334
|
+
className: cn(headerHeight ? "flex flex-row items-center gap-0 px-2 py-0 box-border shrink-0" : "flex items-start", isMobile ? "justify-between" : "justify-center", headerClassName),
|
|
320
335
|
style: headerHeight ? {
|
|
321
336
|
height: headerHeight,
|
|
322
337
|
minHeight: headerHeight
|
|
@@ -332,6 +347,7 @@ function Sidebar({ items, currentPath, header, headerHeight, footer, linkCompone
|
|
|
332
347
|
})]
|
|
333
348
|
})]
|
|
334
349
|
}),
|
|
350
|
+
beforeContent,
|
|
335
351
|
/* @__PURE__ */ jsx(SidebarContent, {
|
|
336
352
|
className: "overflow-hidden",
|
|
337
353
|
children: items.map((entry) => renderEntry(entry))
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { S as SimpleClickableCardProps } from '../../simple-clickable-card.props-BrPCw7CR.js';
|
|
3
|
+
export { a as SimpleClickableCardSharedProps, b as SimpleClickableCardVariant } from '../../simple-clickable-card.props-BrPCw7CR.js';
|
|
4
|
+
import '../../index-BQANnKs9.js';
|
|
5
|
+
import '../../variant-D81RhpbR.js';
|
|
6
|
+
import '../../style-axes-DSQ2DGc5.js';
|
|
7
|
+
import '../../icon-avatar.props-RYtw2eSW.js';
|
|
8
|
+
|
|
9
|
+
declare const SimpleClickableCard: React.ForwardRefExoticComponent<SimpleClickableCardProps & React.RefAttributes<HTMLButtonElement>>;
|
|
10
|
+
|
|
11
|
+
export { SimpleClickableCard, SimpleClickableCardProps };
|
|
@@ -3,9 +3,9 @@ import { cn } from "../../utils/cn.js";
|
|
|
3
3
|
import { isPresetColor } from "../../utils/color.js";
|
|
4
4
|
import { SilverMetallicBorderOverlay, SilverShineOverlay } from "../../utils/silver-shine.js";
|
|
5
5
|
import { PRESET_GRADIENT_BACKDROP, PRESET_GRADIENT_FRAME, SILVER_GRADIENT_BACKDROP, VARIANT_GRADIENT_BACKDROP_BASE, VARIANT_GRADIENT_HOVER_OVERLAY_CLASS, arbitraryGradientBackgroundImage, resolveVariantStyles } from "../../utils/variant.js";
|
|
6
|
+
import { TruncatedLineWithTooltip } from "../truncated-line-with-tooltip/truncated-line-with-tooltip.js";
|
|
6
7
|
import { IconAvatar } from "../icon-avatar/icon-avatar.js";
|
|
7
8
|
import { Typography } from "../typography/typography.js";
|
|
8
|
-
import { TruncatedLineWithTooltip } from "../truncated-line-with-tooltip/truncated-line-with-tooltip.js";
|
|
9
9
|
import * as React$1 from "react";
|
|
10
10
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
11
11
|
//#region src/components/simple-clickable-card/simple-clickable-card-shared.tsx
|
|
@@ -83,7 +83,7 @@ function resolveIconAvatarDefaults(variant, cardColor) {
|
|
|
83
83
|
color: cardColor,
|
|
84
84
|
variant: void 0
|
|
85
85
|
};
|
|
86
|
-
const foreground = isPresetColor(cardColor) ? `var(--color-${cardColor}-foreground)` : "#ffffff";
|
|
86
|
+
const foreground = isPresetColor(cardColor) ? `var(--color-${cardColor}-foreground)` : "var(--espd-on-solid-foreground, #ffffff)";
|
|
87
87
|
return {
|
|
88
88
|
color: cardColor,
|
|
89
89
|
variant: "solid",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn } from "../../utils/cn.js";
|
|
3
|
+
import { useStyleAxes } from "../../utils/style-axes.js";
|
|
3
4
|
import { TooltipProvider } from "../../core/animate-ui/components/animate/tooltip.js";
|
|
4
5
|
import { renderGradientBackdropLayers, renderLeadingIconRow, renderTitleAndDescriptionBlocks, ringTransitionClass, useSimpleClickableCardSurface } from "./simple-clickable-card-shared.js";
|
|
5
6
|
import * as React$1 from "react";
|
|
@@ -33,7 +34,8 @@ function trailingChevronRow(options) {
|
|
|
33
34
|
}))]
|
|
34
35
|
});
|
|
35
36
|
}
|
|
36
|
-
var SimpleClickableCard = React$1.forwardRef(({ icon, leadingIcon, title, description, truncateTitle = false, truncateDescription = false, onClick, color = "gray", iconAvatarVariant: iconAvatarVariantProp, iconAvatarColor: iconAvatarColorProp, size = "default", variant = "soft", className, type = "button", disabled, hideEndIcon = false, endIcon, ...rest }, ref) => {
|
|
37
|
+
var SimpleClickableCard = React$1.forwardRef(({ icon, leadingIcon, title, description, truncateTitle = false, truncateDescription = false, onClick, color = "gray", iconAvatarVariant: iconAvatarVariantProp, iconAvatarColor: iconAvatarColorProp, size = "default", variant = "soft", className, type = "button", disabled, hideEndIcon = false, endIcon, radius, ...rest }, ref) => {
|
|
38
|
+
const { partStyle } = useStyleAxes({ radius }, ["radius"]);
|
|
37
39
|
const { onMouseEnter: onMouseEnterProp, onMouseLeave: onMouseLeaveProp, ...buttonRest } = rest;
|
|
38
40
|
const { s, styles, isArbitraryGradient, surfaceStyleWithoutGradientBg, presetGradientPair, surfaceContainerClass, presetRingClasses, ringAccentStyle, iconAvatarColor: resolvedIconAvatarColor, iconAvatarVariant: resolvedIconAvatarVariant, iconAvatarDiscStyle } = useSimpleClickableCardSurface({
|
|
39
41
|
variant,
|
|
@@ -91,8 +93,9 @@ var SimpleClickableCard = React$1.forwardRef(({ icon, leadingIcon, title, descri
|
|
|
91
93
|
onClick,
|
|
92
94
|
onMouseEnter: onMouseEnterProp,
|
|
93
95
|
onMouseLeave: onMouseLeaveProp,
|
|
94
|
-
className: cn("relative isolate inline-flex w-full cursor-pointer items-center overflow-hidden rounded-xl text-left ring-offset-background", ringTransitionClass, variant === "gradient" && "group", "focus-visible:outline-none hover:ring-2 hover:ring-offset-2 focus-visible:ring-2 focus-visible:ring-offset-2", presetRingClasses, "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50", s.rowPad, s.gap, surfaceContainerClass, className),
|
|
96
|
+
className: cn("relative isolate inline-flex w-full cursor-pointer items-center overflow-hidden rounded-[var(--espd-own-radius,var(--espd-radius-surface,var(--radius-xl)))] text-left ring-offset-background", ringTransitionClass, variant === "gradient" && "group", "focus-visible:outline-none hover:ring-2 hover:ring-offset-2 focus-visible:ring-2 focus-visible:ring-offset-2", presetRingClasses, "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50", s.rowPad, s.gap, surfaceContainerClass, className),
|
|
95
97
|
style: {
|
|
98
|
+
...partStyle,
|
|
96
99
|
...isArbitraryGradient ? surfaceStyleWithoutGradientBg : styles.containerStyle,
|
|
97
100
|
...ringAccentStyle
|
|
98
101
|
},
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { HTMLAttributes, ReactNode } from 'react';
|
|
3
|
+
import { a as SimpleClickableCardSharedProps } from '../../simple-clickable-card.props-BrPCw7CR.js';
|
|
4
|
+
import { k as StyleAxisProps } from '../../style-axes-DSQ2DGc5.js';
|
|
5
|
+
import '../../index-BQANnKs9.js';
|
|
6
|
+
import '../../variant-D81RhpbR.js';
|
|
7
|
+
import '../../icon-avatar.props-RYtw2eSW.js';
|
|
8
|
+
|
|
9
|
+
/** Display-only card body; only the info icon is interactive (tab/focus). */
|
|
10
|
+
interface SimpleInfoCardProps extends SimpleClickableCardSharedProps, Pick<StyleAxisProps, "radius">, Omit<HTMLAttributes<HTMLDivElement>, keyof SimpleClickableCardSharedProps | "title"> {
|
|
11
|
+
/** When omitted or empty, the info trigger and popover are not rendered. */
|
|
12
|
+
infoContent?: ReactNode;
|
|
13
|
+
/** Overrides default `bottom`. */
|
|
14
|
+
popoverSide?: "top" | "right" | "bottom" | "left";
|
|
15
|
+
/** Overrides default `end` (mock alignment). */
|
|
16
|
+
popoverAlign?: "start" | "center" | "end";
|
|
17
|
+
/** `aria-label` on the info trigger. */
|
|
18
|
+
infoIconLabel?: string;
|
|
19
|
+
/** When set, disables the info trigger and dims the shell. */
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
declare const SimpleInfoCard: React.ForwardRefExoticComponent<SimpleInfoCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
24
|
+
|
|
25
|
+
export { SimpleInfoCard, type SimpleInfoCardProps };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { cn } from "../../utils/cn.js";
|
|
3
3
|
import { isPresetColor } from "../../utils/color.js";
|
|
4
|
+
import { useStyleAxes } from "../../utils/style-axes.js";
|
|
4
5
|
import { TooltipProvider } from "../../core/animate-ui/components/animate/tooltip.js";
|
|
5
6
|
import { Button } from "../button/button.js";
|
|
6
7
|
import { Popover, PopoverContent, PopoverTrigger } from "../../core/popover.js";
|
|
@@ -52,10 +53,11 @@ var SOLID_INFO_ICON_FG_CLASS = {
|
|
|
52
53
|
};
|
|
53
54
|
function infoTriggerIconFgClass(variant, cardColor, infoButtonColor) {
|
|
54
55
|
if (variant === "solid" && cardColor !== void 0 && isPresetColor(cardColor)) return SOLID_INFO_ICON_FG_CLASS[cardColor];
|
|
55
|
-
if (variant === "solid" && typeof cardColor === "string" && !isPresetColor(cardColor)) return "text-
|
|
56
|
+
if (variant === "solid" && typeof cardColor === "string" && !isPresetColor(cardColor)) return "text-[color:var(--espd-on-solid-foreground,#fff)]/60";
|
|
56
57
|
return INFO_ICON_FG_CLASS[infoButtonColor];
|
|
57
58
|
}
|
|
58
|
-
var SimpleInfoCard = React$1.forwardRef(({ icon, title, description, infoContent, truncateTitle = false, truncateDescription = false, color = "gray", iconAvatarVariant: iconAvatarVariantProp, iconAvatarColor: iconAvatarColorProp, size = "default", variant = "soft", className, disabled, popoverSide = "bottom", popoverAlign = "end", infoIconLabel = "More information", ...divRest }, ref) => {
|
|
59
|
+
var SimpleInfoCard = React$1.forwardRef(({ icon, title, description, infoContent, truncateTitle = false, truncateDescription = false, color = "gray", iconAvatarVariant: iconAvatarVariantProp, iconAvatarColor: iconAvatarColorProp, size = "default", variant = "soft", className, disabled, popoverSide = "bottom", popoverAlign = "end", infoIconLabel = "More information", radius, ...divRest }, ref) => {
|
|
60
|
+
const { partStyle } = useStyleAxes({ radius }, ["radius"]);
|
|
59
61
|
const { style: userStyle, ...shellDivRest } = divRest;
|
|
60
62
|
const showInfo = hasRenderableInfoContent(infoContent);
|
|
61
63
|
const { s, styles, isArbitraryGradient, surfaceStyleWithoutGradientBg, presetGradientPair, surfaceContainerClass, ringAccentStyle, iconAvatarColor: resolvedIconAvatarColor, iconAvatarVariant: resolvedIconAvatarVariant, iconAvatarDiscStyle } = useSimpleClickableCardSurfaceShell({
|
|
@@ -135,8 +137,9 @@ var SimpleInfoCard = React$1.forwardRef(({ icon, title, description, infoContent
|
|
|
135
137
|
closeDelay: 100,
|
|
136
138
|
children: /* @__PURE__ */ jsxs("div", {
|
|
137
139
|
ref,
|
|
138
|
-
className: cn("relative isolate inline-flex w-full max-w-full items-center overflow-hidden rounded-xl ring-offset-background", variant === "gradient" && "group", disabled && "pointer-events-none opacity-50", s.rowPad, showInfo ? s.gap : void 0, surfaceContainerClass, className),
|
|
140
|
+
className: cn("relative isolate inline-flex w-full max-w-full items-center overflow-hidden rounded-[var(--espd-own-radius,var(--espd-radius-surface,var(--radius-xl)))] ring-offset-background", variant === "gradient" && "group", disabled && "pointer-events-none opacity-50", s.rowPad, showInfo ? s.gap : void 0, surfaceContainerClass, className),
|
|
139
141
|
style: {
|
|
142
|
+
...partStyle,
|
|
140
143
|
...shellStyle,
|
|
141
144
|
...userStyle
|
|
142
145
|
},
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { LucideIcon } from 'lucide-react';
|
|
4
|
+
import { d as DensityProps } from '../../style-axes-DSQ2DGc5.js';
|
|
5
|
+
|
|
6
|
+
type SimpleListItemDirection = "row" | "column";
|
|
7
|
+
type SimpleListIconStyle = "inline" | "avatar" | "none";
|
|
8
|
+
type SimpleListAvatarSize = "sm" | "default" | "lg";
|
|
9
|
+
type SimpleListSize = "sm" | "default" | "lg";
|
|
10
|
+
interface SimpleListItem {
|
|
11
|
+
/** Stable key for React reconciliation. */
|
|
12
|
+
key: string;
|
|
13
|
+
label: ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* Pre-rendered content. If null/undefined and `hideIfEmpty` is not set
|
|
16
|
+
* to `false`, the row is skipped.
|
|
17
|
+
*/
|
|
18
|
+
content?: ReactNode;
|
|
19
|
+
/**
|
|
20
|
+
* Lucide icon component OR ReactNode. Component form is preferred so
|
|
21
|
+
* the resolver can apply size classes automatically.
|
|
22
|
+
*/
|
|
23
|
+
icon?: LucideIcon | ReactNode;
|
|
24
|
+
/** Per-item override of the list-level `direction`. */
|
|
25
|
+
direction?: SimpleListItemDirection;
|
|
26
|
+
/**
|
|
27
|
+
* When true (default), skip this row if `content` is null/undefined.
|
|
28
|
+
* Set to `false` to keep the row visible even with empty content.
|
|
29
|
+
*/
|
|
30
|
+
hideIfEmpty?: boolean;
|
|
31
|
+
/** Extra classes for the row wrapper. */
|
|
32
|
+
className?: string;
|
|
33
|
+
}
|
|
34
|
+
interface SimpleListProps extends DensityProps {
|
|
35
|
+
items: SimpleListItem[];
|
|
36
|
+
/** Overall list spacing and typography scale. Default: `"default"`. */
|
|
37
|
+
size?: SimpleListSize;
|
|
38
|
+
/**
|
|
39
|
+
* Default direction for items that don't specify their own. Default: `"column"`.
|
|
40
|
+
* `"row"` puts label and value on one line from the `sm` breakpoint (640px)
|
|
41
|
+
* up; below it, row items stack like column items.
|
|
42
|
+
*/
|
|
43
|
+
direction?: SimpleListItemDirection;
|
|
44
|
+
/** How to render the leading icon. Default: `"inline"`. */
|
|
45
|
+
iconStyle?: SimpleListIconStyle;
|
|
46
|
+
/**
|
|
47
|
+
* Avatar circle size. Only used when `iconStyle === "avatar"`.
|
|
48
|
+
* Default: `"default"` (40px). The icon inside is always exactly half
|
|
49
|
+
* the avatar size.
|
|
50
|
+
*/
|
|
51
|
+
avatarSize?: SimpleListAvatarSize;
|
|
52
|
+
/** Show `<Separator />` between visible rows. Default: `true`. */
|
|
53
|
+
separators?: boolean;
|
|
54
|
+
/** Vertical gap between rows (Tailwind gap class). Default: `"gap-5"`. */
|
|
55
|
+
gapClassName?: string;
|
|
56
|
+
/** Rendered when no rows are visible after filtering. Default: `null`. */
|
|
57
|
+
emptyState?: ReactNode;
|
|
58
|
+
className?: string;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
declare function SimpleList({ items, size, direction, iconStyle, avatarSize, separators, gapClassName, emptyState, className, density, }: SimpleListProps): React.JSX.Element | null;
|
|
62
|
+
|
|
63
|
+
export { SimpleList, type SimpleListAvatarSize, type SimpleListIconStyle, type SimpleListItem, type SimpleListItemDirection, type SimpleListProps };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { cn } from "../../utils/cn.js";
|
|
2
|
+
import { densityStyle } from "../../utils/style-axes.js";
|
|
2
3
|
import { Avatar, AvatarFallback } from "../../core/avatar.js";
|
|
3
4
|
import { Separator } from "../../core/separator.js";
|
|
4
5
|
import { Label } from "../../core/label.js";
|
|
@@ -120,7 +121,7 @@ function ItemRow({ item, effectiveDirection, iconStyle, avatarSize, size }) {
|
|
|
120
121
|
children: [labelNode, item.content]
|
|
121
122
|
});
|
|
122
123
|
}
|
|
123
|
-
function SimpleList({ items, size = "default", direction = "column", iconStyle = "inline", avatarSize = "default", separators = true, gapClassName, emptyState, className }) {
|
|
124
|
+
function SimpleList({ items, size = "default", direction = "column", iconStyle = "inline", avatarSize = "default", separators = true, gapClassName, emptyState, className, density }) {
|
|
124
125
|
const listSizeStyles = LIST_SIZE_STYLES[size];
|
|
125
126
|
const visibleItems = items.filter((item) => {
|
|
126
127
|
if ((item.hideIfEmpty ?? true) && item.content == null) return false;
|
|
@@ -129,6 +130,7 @@ function SimpleList({ items, size = "default", direction = "column", iconStyle =
|
|
|
129
130
|
if (visibleItems.length === 0) return emptyState != null ? /* @__PURE__ */ jsx(Fragment$1, { children: emptyState }) : null;
|
|
130
131
|
return /* @__PURE__ */ jsx("div", {
|
|
131
132
|
className: cn("flex flex-col", gapClassName ?? listSizeStyles.listGap, className),
|
|
133
|
+
style: densityStyle(density),
|
|
132
134
|
children: visibleItems.map((item, index) => {
|
|
133
135
|
const effectiveDirection = item.direction ?? direction;
|
|
134
136
|
const isLast = index === visibleItems.length - 1;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
interface SimplePaginatedListItem {
|
|
5
|
+
id: string;
|
|
6
|
+
label: string;
|
|
7
|
+
icon?: ReactNode;
|
|
8
|
+
action?: ReactNode;
|
|
9
|
+
}
|
|
10
|
+
type SimplePaginatedListSize = "sm" | "default" | "lg";
|
|
11
|
+
interface SimplePaginatedListProps {
|
|
12
|
+
items: SimplePaginatedListItem[];
|
|
13
|
+
itemsPerPage?: number;
|
|
14
|
+
size?: SimplePaginatedListSize;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
declare function SimplePaginatedList({ items, itemsPerPage, size, className, }: SimplePaginatedListProps): React.JSX.Element;
|
|
19
|
+
|
|
20
|
+
export { SimplePaginatedList, type SimplePaginatedListItem, type SimplePaginatedListProps, type SimplePaginatedListSize };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
interface SimplifiedDateProps {
|
|
4
|
+
/** Unix timestamp in seconds or milliseconds */
|
|
5
|
+
ts?: number;
|
|
6
|
+
/** Token-based format string for the detailed date (tokens: dd, MM, yyyy, HH, mm, ss). Defaults to "dd/MM/yyyy HH:mm:ss" */
|
|
7
|
+
dateFormat?: string;
|
|
8
|
+
/**
|
|
9
|
+
* When true, shows relative time (e.g. "5m ago") with a tooltip of the formatted date.
|
|
10
|
+
* When false (default), shows only the formatted date with no tooltip.
|
|
11
|
+
*/
|
|
12
|
+
relative?: boolean;
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
declare function SimplifiedDate({ ts, dateFormat, className, relative }: SimplifiedDateProps): React.JSX.Element | null;
|
|
17
|
+
|
|
18
|
+
export { SimplifiedDate, type SimplifiedDateProps };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
interface TableSkeletonProps {
|
|
4
|
+
totalRows?: number;
|
|
5
|
+
totalColumns?: number;
|
|
6
|
+
showBorder?: boolean;
|
|
7
|
+
padFirstColumn?: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare function TableSkeleton({ totalRows, totalColumns, showBorder, padFirstColumn, }: TableSkeletonProps): React.JSX.Element;
|
|
10
|
+
|
|
11
|
+
export { TableSkeleton };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { a as ButtonIconOnlyBreakpoint } from '../../button-BxJ7s6sR.js';
|
|
4
|
+
import '../../button-BK-DIR_L.js';
|
|
5
|
+
import 'class-variance-authority/types';
|
|
6
|
+
import 'class-variance-authority';
|
|
7
|
+
import '../../style-axes-DSQ2DGc5.js';
|
|
8
|
+
import '../../index-BQANnKs9.js';
|
|
9
|
+
|
|
10
|
+
interface SortMenuProps<T extends string> {
|
|
11
|
+
/** The current order. */
|
|
12
|
+
value: T;
|
|
13
|
+
/** Every order offered, in menu order. */
|
|
14
|
+
options: readonly T[];
|
|
15
|
+
onChange: (value: T) => void;
|
|
16
|
+
/** How an order reads ("Most builds"). */
|
|
17
|
+
labelOf: (value: T) => string;
|
|
18
|
+
/** What is being sorted, for the button's accessible name ("Sort makers"). */
|
|
19
|
+
label: string;
|
|
20
|
+
/** The button's leading icon. Default: the up-down arrows of a sort. */
|
|
21
|
+
icon?: ReactNode;
|
|
22
|
+
/** Below this breakpoint the button shows its icons only (the choice stays its accessible name), to leave a narrow row to a search box. */
|
|
23
|
+
iconOnlyBelow?: ButtonIconOnlyBreakpoint;
|
|
24
|
+
/** Which edge of the button the menu lines up with: `start` for a picker at the left of a row. Default `end`. */
|
|
25
|
+
align?: "start" | "end";
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* A one-of picker: the current choice as the button's label, the choices in a
|
|
30
|
+
* menu. A sort by default; with another `icon`, any filter of the same shape.
|
|
31
|
+
*/
|
|
32
|
+
declare function SortMenu<T extends string>({ value, options, onChange, labelOf, label, icon, iconOnlyBelow, align }: SortMenuProps<T>): React.JSX.Element;
|
|
33
|
+
|
|
34
|
+
export { SortMenu, type SortMenuProps };
|