@espressif/dashboard-ui-components 1.11.2 → 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 +1005 -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 +35 -20
- 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
package/README.md
CHANGED
|
@@ -40,7 +40,8 @@ Built with React, TypeScript, Tailwind CSS v4, and Radix UI primitives.
|
|
|
40
40
|
- Layout shells for dashboards and entry pages
|
|
41
41
|
- TypeScript support with exported types
|
|
42
42
|
- Tailwind CSS v4 design tokens and shared preset
|
|
43
|
-
- ESM
|
|
43
|
+
- ESM entry points down to a single component (`/components/button`) or one heavy family (`/charts`, `/date`, …), so an app, its tests and its dev server only load what they import (see [Entry points](#entry-points))
|
|
44
|
+
- Theming beyond colour: density, motion, focus-ring and on-colour tokens, a tokens-only stylesheet, dark mode by class or `data-theme`, and variants an app can register
|
|
44
45
|
- Pure components — no internal state management, routing, or API calls
|
|
45
46
|
- Published to public npm (semver ranges, pre-built ESM, no consumer-side build)
|
|
46
47
|
|
|
@@ -82,6 +83,25 @@ Import the library's design tokens and base styles in your global Tailwind CSS e
|
|
|
82
83
|
@import "@espressif/dashboard-ui-components/styles";
|
|
83
84
|
```
|
|
84
85
|
|
|
86
|
+
#### Which stylesheet to pick
|
|
87
|
+
|
|
88
|
+
| Import | Contains | Use when |
|
|
89
|
+
|---|---|---|
|
|
90
|
+
| `@espressif/dashboard-ui-components/styles` | Tailwind (with its Preflight reset), every token, the base page styles (body colours, autofill) and Toast styles | almost always: one line and you are done |
|
|
91
|
+
| `@espressif/dashboard-ui-components/theme.css` | every token, the `dark` variant, the keyframes and the library's `@source`; **no** `@import "tailwindcss"`, no Preflight, no page styles | your app brings its own Tailwind setup, or legacy CSS that a global reset would break |
|
|
92
|
+
|
|
93
|
+
With `theme.css`, import Tailwind yourself first, and set your own page colours:
|
|
94
|
+
|
|
95
|
+
```css
|
|
96
|
+
@import "tailwindcss";
|
|
97
|
+
@import "@espressif/dashboard-ui-components/theme.css";
|
|
98
|
+
|
|
99
|
+
body {
|
|
100
|
+
background-color: var(--color-background);
|
|
101
|
+
color: var(--color-foreground);
|
|
102
|
+
}
|
|
103
|
+
```
|
|
104
|
+
|
|
85
105
|
### 2. Peer Dependencies
|
|
86
106
|
|
|
87
107
|
Required:
|
|
@@ -185,19 +205,167 @@ All tokens live in the library's [`src/styles/colors.css`](./src/styles/colors.c
|
|
|
185
205
|
**Charts** — `--color-chart-1` through `--color-chart-10`, plus `--color-chart-success`, `-error`, `-warning`, `-disabled`, `-gray`, `-primary`, `-secondary`
|
|
186
206
|
|
|
187
207
|
**Layout dimensions** (light and dark share the same value; override in `:root`):
|
|
188
|
-
`--espd-sidebar-width`, `--espd-sidebar-width-collapsed`, `--espd-sidebar-width-mobile`, `--espd-header-height`, `--espd-navbar-height`, `--espd-banner-height`, `--espd-footer-height`, `--espd-hidden-footer-height`, `--espd-sidebar-item-font-size`, `--espd-sidebar-flyout-group-label-font-size`
|
|
208
|
+
`--espd-sidebar-width`, `--espd-sidebar-width-collapsed`, `--espd-sidebar-width-mobile`, `--espd-shell-header-height`, `--espd-navbar-height`, `--espd-banner-height`, `--espd-workspace-layout-footer-height`, `--espd-workspace-layout-hidden-footer-height`, `--espd-sidebar-item-font-size`, `--espd-sidebar-flyout-group-label-font-size`
|
|
209
|
+
|
|
210
|
+
The 1.x names `--espd-header-height`, `--espd-footer-height` and `--espd-hidden-footer-height` still work as fallbacks and are removed in 2.0 (see the CHANGELOG).
|
|
211
|
+
|
|
212
|
+
**Typography and radius** — `--font-sans` and `--font-mono` (whole font stacks; override in `@theme` to replace; `--font-mono` is what code, logs and `MonospaceContent` use), `--radius-lg` (drives `-md` and `-sm`)
|
|
213
|
+
|
|
214
|
+
**Density, motion, focus and on-colour text** — set on `:root`; defaults reproduce the previous look exactly (details in [docs/token-audit.md](./docs/token-audit.md)):
|
|
215
|
+
`--espd-control-height-sm|md|lg` (buttons, inputs, selects, toggles), `--espd-button-padding-x-sm|md|lg`, `--espd-duration-fast|normal|slow`, `--espd-ring-width`, `--espd-ring-offset`, `--espd-on-solid-foreground`, `--espd-table-head-height`, `--espd-table-cell-padding`, `--espd-sidebar-row-height` (+ `-sm`), `--espd-item-height` (List rows; falls back to `--menu-item-height`), `--espd-gap-field` (FormItem), `--espd-gap-stack` (DialogContent)
|
|
216
|
+
|
|
217
|
+
```css
|
|
218
|
+
:root {
|
|
219
|
+
--espd-control-height-md: 2.5rem; /* roomier buttons */
|
|
220
|
+
--espd-duration-slow: 180ms; /* snappier hover rings */
|
|
221
|
+
--espd-ring-width: 3px;
|
|
222
|
+
}
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Already overridable through Tailwind's own theme variables, no library token needed: `--radius-*`, `--spacing`, `--default-transition-duration`, `--default-transition-timing-function`, and `--shadow-*` (in `@theme` only: Tailwind writes shadow values into the utilities, so redeclaring them on `:root` changes no `shadow-*` class; the style-axis elevations below do read them on `:root`).
|
|
226
|
+
|
|
227
|
+
For corner radius, shadow, border width and density **per kind of component**, or on one component, see [Shape, elevation, border and density](#shape-elevation-border-and-density).
|
|
228
|
+
|
|
229
|
+
### Dark mode
|
|
230
|
+
|
|
231
|
+
Dark applies under a `.dark` class **or** a `data-theme="dark"` attribute on any ancestor, usually `<html>`. Pick whichever your app already uses; override dark tokens under the same selector. The library never decides when dark applies (no `prefers-color-scheme` handling): the app does.
|
|
232
|
+
|
|
233
|
+
```css
|
|
234
|
+
.dark,
|
|
235
|
+
[data-theme="dark"] {
|
|
236
|
+
--color-sidebar: #064e3b;
|
|
237
|
+
}
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### Adding a variant
|
|
241
|
+
|
|
242
|
+
Variant-driven components (Badge, Alert, Tag, StatusBadge, SimpleClickableCard, SimpleInfoCard, IconTextActionCard, SectionCard, IconAvatar, Toast…) take `variant="outline" | "solid" | "soft" | "gradient" | "glow"`. An app can add its own, without forking, by declaring the name and registering its styles once at start-up:
|
|
243
|
+
|
|
244
|
+
```ts
|
|
245
|
+
// src/theme/neon-variant.ts
|
|
246
|
+
import type { CSSProperties } from 'react'
|
|
247
|
+
import { registerVariant } from '@espressif/dashboard-ui-components/components'
|
|
248
|
+
|
|
249
|
+
declare module '@espressif/dashboard-ui-components/components' {
|
|
250
|
+
interface VariantRegistry {
|
|
251
|
+
neon: true
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
registerVariant('neon', (color) => {
|
|
256
|
+
const c = typeof color === 'string' && !color.startsWith('#') ? `var(--color-${color})` : color
|
|
257
|
+
return {
|
|
258
|
+
container: 'border border-transparent shadow-[0_0_24px_-4px_var(--neon)]',
|
|
259
|
+
containerStyle: { '--neon': c, backgroundColor: `color-mix(in oklab, ${c} 12%, transparent)` } as CSSProperties,
|
|
260
|
+
foreground: 'text-foreground',
|
|
261
|
+
description: 'text-muted-foreground',
|
|
262
|
+
}
|
|
263
|
+
})
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
```tsx
|
|
267
|
+
<Badge variant="neon" color="primary">AI</Badge>
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
The recipe returns the same shape as `resolveVariantStyles` (`container`, `foreground`, `description`, optional inline styles). Built-in variants cannot be replaced (a warning is logged), `VARIANTS` stays the five built-ins, and `listVariants()` returns built-ins plus registered ones. Augment the entry point you import `registerVariant` from (`/components`, `/utils` or the root); the declaring file must import that entry.
|
|
271
|
+
|
|
272
|
+
### Shape, elevation, border and density
|
|
273
|
+
|
|
274
|
+
Four **style axes** give an app its own personality without forking a component:
|
|
275
|
+
`radius`, `elevation` (shadow), `border` (width) and `density`. They work at three levels,
|
|
276
|
+
from broadest to narrowest; the narrower one wins, and a component's own `className` wins
|
|
277
|
+
over all of them.
|
|
278
|
+
|
|
279
|
+
**1. Role tokens: one value for a kind of component.** Components are grouped into
|
|
280
|
+
**roles**; set a role's token and every member changes, wherever it is set (`:root`, a page
|
|
281
|
+
wrapper, or `StyleScope`). Unset (the default), each component keeps its own look.
|
|
189
282
|
|
|
190
|
-
|
|
283
|
+
| Role | Tokens | Members (summary) |
|
|
284
|
+
|---|---|---|
|
|
285
|
+
| control | `--espd-radius-control`, `--espd-border-width-control`, `--espd-elevation-control` | Button and its variants, Input, Textarea, Select trigger, search boxes, FileInput, InputOTP, TagInput, date-picker triggers, Combobox, ToggleGroup |
|
|
286
|
+
| surface | `--espd-radius-surface`, `--espd-border-width-surface`, `--espd-elevation-surface` | Card, SimpleCard, SectionCard, CollapsibleCard, StatCard, Alert and the info/clickable cards, SelectableCardList, FileUpload, CodeEditor, Code, DataTable, ListDetails, ScrollableSections, StatusCardList |
|
|
287
|
+
| overlay | `--espd-radius-overlay`, `--espd-elevation-overlay` | Dialog, Sheet, Popover, DropdownMenu, Select list, Tooltip, Toast, PreviewCard |
|
|
288
|
+
| pill | `--espd-radius-pill` | Badge, Tag, StatusBadge, UserTypeBadge, OverflowBadgeList |
|
|
289
|
+
| item | `--espd-radius-item` | rows of menus, selects, Sidebar, NavBar, Tabs, List, TransferList; Calendar day cells |
|
|
290
|
+
|
|
291
|
+
The full matrix, with the shapes that never take a role (avatars, switches, checkboxes…), is in
|
|
292
|
+
[docs/token-audit.md](./docs/token-audit.md).
|
|
293
|
+
|
|
294
|
+
```css
|
|
295
|
+
@import "@espressif/dashboard-ui-components/styles";
|
|
296
|
+
|
|
297
|
+
:root {
|
|
298
|
+
--espd-radius-control: 9999px; /* pill buttons and inputs */
|
|
299
|
+
--espd-radius-surface: 1rem;
|
|
300
|
+
--espd-elevation-surface: 0 0 #0000; /* flat cards; any box-shadow value except `none`, */
|
|
301
|
+
/* which would also drop focus rings */
|
|
302
|
+
--espd-border-width-surface: 2px;
|
|
303
|
+
--espd-elevation-overlay: var(--shadow-xl);
|
|
304
|
+
}
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
Overlays render in portals on `<body>`, outside any wrapper: set overlay tokens on `:root`.
|
|
308
|
+
|
|
309
|
+
**2. `StyleScope`: the same from React, for a subtree.**
|
|
310
|
+
|
|
311
|
+
```tsx
|
|
312
|
+
import { StyleScope } from '@espressif/dashboard-ui-components/components/style-scope'
|
|
313
|
+
|
|
314
|
+
<StyleScope radius={{ control: 'full', surface: 'lg' }} elevation={{ surface: 'none' }} density="compact">
|
|
315
|
+
<SettingsPage />
|
|
316
|
+
</StyleScope>
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
It renders a `display: contents` wrapper (or merges onto its child with `asChild`) carrying the
|
|
320
|
+
role tokens and the density's tokens; nothing else.
|
|
321
|
+
|
|
322
|
+
**3. Instance props: one component.** Applicable components take `radius`, `elevation` and/or
|
|
323
|
+
`border`. A value affects that component only; components nested inside it keep their own look.
|
|
324
|
+
|
|
325
|
+
```tsx
|
|
326
|
+
<Card radius="none" elevation="none" border="none">…</Card>
|
|
327
|
+
<Button radius="full">Save</Button>
|
|
328
|
+
<Dialog><DialogContent radius="xl" elevation="xl">…</DialogContent></Dialog>
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
Values: `radius` `none` `xs` `sm` `md` `lg` `xl` `2xl` `full`; `elevation` `none` `xs` `sm` `md`
|
|
332
|
+
`lg` `xl`; `border` `none` `default` (1px) `strong` (2px). Where a component already had
|
|
333
|
+
`rounded` (Input, InputOTP, FileInput, Tag, the date pickers) or `noShadow` / `noBorder`
|
|
334
|
+
(SimpleCard), those still work and the new prop wins when both are set. The date pickers'
|
|
335
|
+
`radius` shapes their trigger; `popoverRadius` and `popoverElevation` shape the calendar popover. Instance props need the
|
|
336
|
+
library stylesheet (`./styles` or `./theme.css`), which keeps their values from inheriting.
|
|
337
|
+
|
|
338
|
+
**Density** scales controls, table rows and cells, list rows, sidebar rows, a form field's
|
|
339
|
+
spacing (`--espd-gap-field`, FormItem) and a dialog's (`--espd-gap-stack`, DialogContent) together:
|
|
340
|
+
`density="compact" | "default" | "comfortable"` on Table, DataTable, Card, List, SimpleList,
|
|
341
|
+
FiltersBar, Sidebar, DialogContent and SheetContent, or on `StyleScope`. `default` is today's look.
|
|
342
|
+
|
|
343
|
+
**Registering your own values** works like variants:
|
|
344
|
+
|
|
345
|
+
```ts
|
|
346
|
+
import { registerStyleValue, registerDensity } from '@espressif/dashboard-ui-components/components'
|
|
347
|
+
|
|
348
|
+
declare module '@espressif/dashboard-ui-components/components' {
|
|
349
|
+
interface RadiusRegistry { squircle: true }
|
|
350
|
+
interface DensityRegistry { kiosk: true }
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
registerStyleValue('radius', 'squircle', '1.25rem') // a CSS value, no class needed
|
|
354
|
+
registerDensity('kiosk', { '--espd-control-height-lg': '3.5rem', '--espd-item-height': '3.5rem' })
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
`listStyleValues(axis)` returns the built-ins plus registered values; built-ins cannot be replaced.
|
|
191
358
|
|
|
192
359
|
### Tips
|
|
193
360
|
|
|
194
361
|
- Put your overrides **after** the `@import` line; CSS cascade order is what makes the override win.
|
|
195
362
|
- Prefer redeclaring existing tokens (in `:root` / `.dark`) over adding new ones — the built-in tokens are what every component reads from.
|
|
196
363
|
- If you only need light mode, a single `:root` block is enough. If you support both, always mirror the change in `.dark`.
|
|
197
|
-
- Overriding `--font-sans` requires an `@theme` block so Tailwind picks it up:
|
|
364
|
+
- Overriding `--font-sans` or `--font-mono` requires an `@theme` block so Tailwind picks it up:
|
|
198
365
|
```css
|
|
199
366
|
@theme {
|
|
200
367
|
--font-sans: "Inter", system-ui, sans-serif;
|
|
368
|
+
--font-mono: "JetBrains Mono", ui-monospace, monospace;
|
|
201
369
|
}
|
|
202
370
|
```
|
|
203
371
|
|
|
@@ -314,6 +482,49 @@ The older `sidebarConfig.hideCompanyBranding: true` still works as a shorthand f
|
|
|
314
482
|
|
|
315
483
|
## Usage
|
|
316
484
|
|
|
485
|
+
### Entry points
|
|
486
|
+
|
|
487
|
+
Import from the **narrowest path you can**. Production bundlers drop unused components either way, but tests (Vitest, Jest), dev servers and CommonJS tooling evaluate every module an entry reaches, so a narrow path keeps them fast and free of other components' dependencies.
|
|
488
|
+
|
|
489
|
+
| Path | Contains |
|
|
490
|
+
|---|---|
|
|
491
|
+
| `@espressif/dashboard-ui-components/components/<folder>` | one component folder, e.g. `/components/button`, `/components/dialog`, `/components/data-table`. Same names as `/components` exports for it, the same objects (not copies) |
|
|
492
|
+
| `/charts` | charts (recharts) |
|
|
493
|
+
| `/data-table` | `DataTable` (@tanstack/react-table) |
|
|
494
|
+
| `/markdown` | `MarkdownContent`, `Code`, `CodeEditor`, `MonospaceContent` (react-markdown, shiki) |
|
|
495
|
+
| `/date` | `Calendar`, `DatePicker`, `DateRangePicker`, `DateTimePicker`, `TimePicker` (react-day-picker, date-fns) |
|
|
496
|
+
| `/carousel` | `Carousel` (embla) |
|
|
497
|
+
| `/forms` | react-hook-form bindings (`Form`, `FormField`, …) |
|
|
498
|
+
| `/animation` | `LottieAnimationContainer` and the bundled animations |
|
|
499
|
+
| `/toast` | `Toast`, `Toaster`, `toast` (sonner) |
|
|
500
|
+
| `/components`, `/layouts`, `/common`, `/utils` | everything of that surface |
|
|
501
|
+
| `.` (root) | components + common + layouts together |
|
|
502
|
+
|
|
503
|
+
```tsx
|
|
504
|
+
import { Button } from '@espressif/dashboard-ui-components/components/button'
|
|
505
|
+
import { Typography } from '@espressif/dashboard-ui-components/components/typography'
|
|
506
|
+
import { BarChart } from '@espressif/dashboard-ui-components/charts'
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
The folder names are those under `src/components/`; the shipped `dist/components/<folder>/index.d.ts` lists what each exports. Every entry that includes Toast (`/toast`, `/components/toast`, `/components` and the root) imports sonner's stylesheet from JavaScript, which Node-based test runners cannot load without a CSS transform; the other entries do no work at import time.
|
|
510
|
+
|
|
511
|
+
### Buttons
|
|
512
|
+
|
|
513
|
+
The styled `Button` from `/components` (or `/components/button`) takes `color`, `startIcon`, `endIcon`, `loading`, `tooltip` and `iconOnlyBelow`. `/core` exports a different, uncoloured base `Button` with the same name; apps should not use `/core`.
|
|
514
|
+
|
|
515
|
+
- **`fullWidth` defaults to `true`.** Pass `fullWidth={false}` for an inline button.
|
|
516
|
+
- **Links:** `asChild` renders your element (an `<a>`, a router `Link`) with the button's look, icons and label inside it:
|
|
517
|
+
|
|
518
|
+
```tsx
|
|
519
|
+
<Button asChild startIcon={<Plus />}>
|
|
520
|
+
<Link to="/devices/new">Add device</Link>
|
|
521
|
+
</Button>
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
A link cannot be natively disabled, so with `disabled` or `loading` it gets `aria-disabled="true"`, `data-disabled`, `tabIndex={-1}` and the disabled look, and its clicks are cancelled before the link's own `onClick`.
|
|
525
|
+
|
|
526
|
+
### Surfaces
|
|
527
|
+
|
|
317
528
|
Prefer **sub-path entry points** over the package root unless you need components, common modules, and layouts from a single entry:
|
|
318
529
|
|
|
319
530
|
```tsx
|
|
@@ -347,7 +558,7 @@ import {
|
|
|
347
558
|
|
|
348
559
|
### Why you may see `[BABEL] … deoptimised the styling … exceeds the max of 500KB`
|
|
349
560
|
|
|
350
|
-
This library is shipped as **pre-
|
|
561
|
+
This library is shipped as **pre-built ESM**, one module per source file (Vite). A few files are still large (bundled Lottie, animation data, the type declarations). When your toolchain runs **Babel** on those files (common with Metro or other setups that transform `node_modules`), Babel switches to compact code generation for very large single files and logs an **informational** message. It does **not** mean the build is invalid; it means Babel is skipping expensive “pretty” output for that file.
|
|
351
562
|
|
|
352
563
|
### What makes the shipped JS large
|
|
353
564
|
|
|
@@ -357,7 +568,7 @@ This library is shipped as **pre-bundled ESM** (built with tsup). Published file
|
|
|
357
568
|
|
|
358
569
|
### How to keep consumer builds sensible
|
|
359
570
|
|
|
360
|
-
1.
|
|
571
|
+
1. Import from the narrowest [entry point](#entry-points): a single component (`/components/button`), a heavy family (`/charts`, `/date`, …), or a surface (`/components`, `/layouts`, …) rather than the root package.
|
|
361
572
|
2. Install **optional peer dependencies** only for features you use (`@tanstack/react-table`, `react-hook-form`, `shiki`, `recharts`).
|
|
362
573
|
3. Prefer **production builds** when measuring size; dev servers and Babel-on-vendor paths often look worse than optimized output.
|
|
363
574
|
4. For web apps, use a **bundle analyzer** on your app if you need to chase kilobytes; expect a sizable vendor chunk for a full-featured UI kit.
|
|
@@ -459,13 +670,34 @@ version you have installed is the shipped type declarations:
|
|
|
459
670
|
| MarkdownContent | Renders a markdown string with library primitives (GFM, heading anchors; raw HTML is escaped, not parsed) |
|
|
460
671
|
| CopiableText / CopyButton | Copy-to-clipboard utilities |
|
|
461
672
|
| ProgressBar | Progress indicator |
|
|
673
|
+
| MiniBarChart | A row of bars with no axes, sized for a card (a sparkline of counts); highlight one, zeros as stubs |
|
|
674
|
+
| Timeline | A short feed of events with dots on a line, paged with "Show N more" |
|
|
675
|
+
| ShareMenu | Share a link: copy, the device's share sheet, X, Reddit, LinkedIn, Telegram or email |
|
|
462
676
|
| Collapsible / CollapsibleCard | Expandable content sections |
|
|
463
677
|
| SimpleCard / BasicDetailsCard / NoDataCard | Specialized card variants |
|
|
678
|
+
| CategoryCard | One category of a collection as a card that opens or filters it: icon on a coloured tile, a count, name, one line and a few example tags; a button, or a link with `href`; lays itself out by its own width (narrow cards drop the tags) |
|
|
679
|
+
| FlipCard | A card with two faces that changes to the other one, turned over or slid through; every change moves the same way, so it can show a stream of items in one slot |
|
|
464
680
|
| PreviewCard | Content preview card |
|
|
465
681
|
| Carousel | Slide carousel — horizontal/vertical, dots, arrows or custom navigation, optional autoplay |
|
|
682
|
+
| Coverflow | 3D ring of image cards on a glass reflection, with a caption under the front item; endless, optional autoplay |
|
|
683
|
+
| ShowcaseCard | Catalogue card on `MediaCard`: picture with a slide-up actions strip, a title that opens a page, an app route or an action, meta and footer rows |
|
|
684
|
+
| ChoiceCard | A card you click to choose something: one toggle button, picture on a mist, ring and tick when selected, greyed with its reason when disabled; `stack` or `row` layout |
|
|
685
|
+
| Toolbar / ToolbarButton | Thin bar of small controls with start, centre and end slots and arrow-key focus movement; 28px icon-only buttons with tooltip, toggle state, count or attention dot |
|
|
686
|
+
| ResizableGroup / ResizablePanel / ResizableSeparator | Panels resized by dragging or the keyboard (react-resizable-panels), with a remembered layout and collapsible panels |
|
|
687
|
+
| ColumnPanel | A resizable panel shown and hidden by a flag, staying mounted (and inert) while hidden; `usePanelFlag` drives any collapsible panel the same way |
|
|
688
|
+
| FloatingWindow | Small draggable non-modal window with minimize-to-pill, dock and close |
|
|
689
|
+
| AnchoredPanel | Small non-modal panel attached to a point by a leader line, beside the thing it edits |
|
|
690
|
+
| NoticeStrip | Full-width line of news (info, warning, error) across the top of a canvas, with actions and an optional dismiss |
|
|
691
|
+
| Readout | Instrument display: monospace values and units on a dark plate, optionally a toggle button |
|
|
692
|
+
| SortMenu | One-of picker: the current choice as the button's label, the choices in a radio menu |
|
|
693
|
+
| FiltersPanel / FilterGroup / FiltersPill / ActiveFilters | Catalogue filters: a side panel of counted groups with show-more and per-group search, folding into a floating pill, plus removable active-filter tags |
|
|
694
|
+
| InputGroup / InputGroupTextarea / InputGroupAddon | A field and its controls in one bordered box with a shared focus ring; an auto-growing text area |
|
|
695
|
+
| Bubble / MessageScroller | A conversation: one turn's text (tinted for the person's own words), and a scrolling log that follows new messages and offers a jump to the latest |
|
|
696
|
+
| Reveal | One part of a section's entrance, rising into place when revealed, staggered by order |
|
|
697
|
+
| CheckBadge | Small success circle with a tick, for inside an SVG scene |
|
|
466
698
|
| PageContainer | Page wrapper with header |
|
|
467
699
|
| DynamicList | Dynamic item list |
|
|
468
|
-
| RequirementList | Met/unmet checklist (password rules, prerequisites); check for satisfied rows, muted circle for outstanding ones, with screen-reader state labels |
|
|
700
|
+
| RequirementList | Met/unmet checklist (password rules, prerequisites); check for satisfied rows, muted circle for outstanding ones, with screen-reader state labels; an optional `description` per row adds a muted second line |
|
|
469
701
|
| TogglableItemsList | Toggleable item list |
|
|
470
702
|
| GlitchText / GradientText / HighlightText / ShimmeringText | Text effects |
|
|
471
703
|
| LottieAnimationContainer | Lottie animation wrapper |
|
|
@@ -476,6 +708,7 @@ version you have installed is the shipped type declarations:
|
|
|
476
708
|
| Component | Description |
|
|
477
709
|
|-----------|-------------|
|
|
478
710
|
| WorkspaceLayout | Full dashboard shell with sidebar, header, and footer |
|
|
711
|
+
| MinimalWorkspaceLayout | Header-less shell: a full-height icon rail on the page background that expands into an elevated sidebar, a floating top-right slot. With `sidebarConfig.hideWhenCollapsed` the sidebar is hidden instead: a click on the content's left edge peeks it over the content, `MinimalWorkspaceSidebarTrigger` opens it inline. Same props as WorkspaceLayout; themed with `--espd-minimal-workspace-layout-*` |
|
|
479
712
|
| EntryLayout | Authentication and entry page layout — supports a custom right panel, and hiding the logo, footer, background image or right panel entirely |
|
|
480
713
|
|
|
481
714
|
### Common (`/common`)
|
package/THIRD-PARTY-NOTICES.md
CHANGED
|
@@ -18,7 +18,7 @@ this file when dependencies change._
|
|
|
18
18
|
|
|
19
19
|
| Package | Version | License |
|
|
20
20
|
| --- | --- | --- |
|
|
21
|
-
| @base-ui
|
|
21
|
+
| @base-ui/react | 1.9.0 | MIT |
|
|
22
22
|
| @floating-ui/react | 0.27.19 | MIT |
|
|
23
23
|
| @radix-ui/react-avatar | 1.2.0 | MIT |
|
|
24
24
|
| @radix-ui/react-collapsible | 1.1.14 | MIT |
|
|
@@ -42,6 +42,7 @@ this file when dependencies change._
|
|
|
42
42
|
| radix-ui | 1.6.0 | MIT |
|
|
43
43
|
| react-day-picker | 9.14.0 | MIT |
|
|
44
44
|
| react-markdown | 10.1.0 | MIT |
|
|
45
|
+
| react-resizable-panels | 4.22.0 | MIT |
|
|
45
46
|
| rehype-slug | 6.0.0 | MIT |
|
|
46
47
|
| remark-gfm | 4.0.1 | MIT |
|
|
47
48
|
| shiki | 4.3.0 | MIT |
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { C as Color, S as Size } from './index-BQANnKs9.js';
|
|
3
|
+
import { f as Variant } from './variant-D81RhpbR.js';
|
|
4
|
+
import { k as StyleAxisProps } from './style-axes-DSQ2DGc5.js';
|
|
5
|
+
import { b as IconAvatarVariant } from './icon-avatar.props-RYtw2eSW.js';
|
|
6
|
+
import { I as IconTextActionCardActionsPlacement } from './icon-text-action-card.props-B2ggncUK.js';
|
|
7
|
+
|
|
8
|
+
type AlertColor = Color;
|
|
9
|
+
type AlertVariant = Variant;
|
|
10
|
+
type AlertSize = Size;
|
|
11
|
+
type AlertIconAvatarVariant = IconAvatarVariant;
|
|
12
|
+
type AlertType = "error" | "info" | "warning" | "success";
|
|
13
|
+
interface AlertProps extends Pick<StyleAxisProps, "radius"> {
|
|
14
|
+
icon?: React.ReactNode;
|
|
15
|
+
title?: string | React.ReactNode;
|
|
16
|
+
description?: React.ReactNode;
|
|
17
|
+
children?: React.ReactNode;
|
|
18
|
+
/** Semantic category: sets the default icon when `icon` is not provided. */
|
|
19
|
+
type?: AlertType;
|
|
20
|
+
color?: AlertColor;
|
|
21
|
+
iconAvatarVariant?: AlertIconAvatarVariant;
|
|
22
|
+
hideIcon?: boolean;
|
|
23
|
+
action?: React.ReactNode;
|
|
24
|
+
actions?: React.ReactNode;
|
|
25
|
+
/**
|
|
26
|
+
* Where `actions` sit, at every width: `"auto"` beside the text when they fit,
|
|
27
|
+
* otherwise below it; `"below"` always on their own line below the text.
|
|
28
|
+
* With `dismissible`, the close button shares that line.
|
|
29
|
+
*
|
|
30
|
+
* @default "auto"
|
|
31
|
+
*/
|
|
32
|
+
actionsPlacement?: IconTextActionCardActionsPlacement;
|
|
33
|
+
/** Render a close button in the trailing actions slot; clicking it hides the alert. */
|
|
34
|
+
dismissible?: boolean;
|
|
35
|
+
/** Called after the alert is dismissed. Notification only — the Alert hides itself. */
|
|
36
|
+
onDismiss?: () => void;
|
|
37
|
+
/** Accessible label for the close button. */
|
|
38
|
+
dismissLabel?: string;
|
|
39
|
+
className?: string;
|
|
40
|
+
size?: AlertSize;
|
|
41
|
+
variant?: AlertVariant;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export type { AlertColor as A, AlertIconAvatarVariant as a, AlertProps as b, AlertSize as c, AlertType as d, AlertVariant as e };
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { LottieAnimationContainer } from "../components/lottie-animation-container/lottie-animation-container.js";
|
|
2
|
+
import { VerificationInProgress } from "../components/lottie-animations/verification-in-progress/verification-in-progress.js";
|
|
3
|
+
export { LottieAnimationContainer, VerificationInProgress };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { S as Size, C as Color } from './index-BQANnKs9.js';
|
|
3
|
+
|
|
4
|
+
/** The avatar's sizes: the shared `Size` scale plus `xl`, a large tile (76px) for a profile card. */
|
|
5
|
+
type AvatarSize = Size | "xl";
|
|
6
|
+
interface AvatarProps {
|
|
7
|
+
name?: string;
|
|
8
|
+
imageUrl?: string;
|
|
9
|
+
size?: AvatarSize;
|
|
10
|
+
/**
|
|
11
|
+
* Shown when there is no image (or it fails to load) instead of the name's
|
|
12
|
+
* initial — a generated pattern such as an `Identicon`. Colour it with
|
|
13
|
+
* `className`, which styles the fallback surface too.
|
|
14
|
+
*/
|
|
15
|
+
fallback?: ReactNode;
|
|
16
|
+
className?: string;
|
|
17
|
+
/**
|
|
18
|
+
* The colour of the initial's circle (no image, no `fallback`): a preset
|
|
19
|
+
* fills with that colour and writes the initial in its foreground; any CSS
|
|
20
|
+
* colour works too. Defaults to `primary`.
|
|
21
|
+
*/
|
|
22
|
+
color?: Color;
|
|
23
|
+
/** Status dot color; ignored when `badgeIcon` is set */
|
|
24
|
+
badgeColor?: Color;
|
|
25
|
+
/** When set, shown instead of a color dot (`badgeColor` is not applied to the badge) */
|
|
26
|
+
badgeIcon?: ReactNode;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export type { AvatarProps as A, AvatarSize as a };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { VariantProps } from 'class-variance-authority';
|
|
4
|
+
|
|
5
|
+
declare const buttonVariants: (props?: ({
|
|
6
|
+
variant?: "default" | "link" | "glow" | "outline" | "ghost" | null | undefined;
|
|
7
|
+
size?: "sm" | "default" | "lg" | "icon" | null | undefined;
|
|
8
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
|
+
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
10
|
+
asChild?: boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Uncoloured base button: its `default` variant is only a shadow, with no
|
|
14
|
+
* colour, ring or icon props. Apps almost always want the styled `Button`
|
|
15
|
+
* from `@espressif/dashboard-ui-components/components` instead, which takes
|
|
16
|
+
* `color`, `startIcon`, `endIcon`, `loading`, `tooltip` and `iconOnlyBelow`.
|
|
17
|
+
* The two share a name on purpose (renaming either would break imports).
|
|
18
|
+
*/
|
|
19
|
+
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
20
|
+
|
|
21
|
+
export { type ButtonProps as B, Button as a, buttonVariants as b };
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { B as ButtonProps$1 } from './button-BK-DIR_L.js';
|
|
3
|
+
import { k as StyleAxisProps } from './style-axes-DSQ2DGc5.js';
|
|
4
|
+
import { P as PresetColor } from './index-BQANnKs9.js';
|
|
5
|
+
|
|
6
|
+
/** A preset, or the brand's metallic `silver` (as `Badge` and `Tag` take it). */
|
|
7
|
+
type ButtonColor = PresetColor | "silver";
|
|
8
|
+
/**
|
|
9
|
+
* The styled, colourable button. Prefer it over the uncoloured base `Button`
|
|
10
|
+
* that `/core` exports (its `default` variant is only a shadow).
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Style axes: `radius` and `elevation` apply to every variant that has that
|
|
14
|
+
* look (`elevation` to `default` and `outline`), `border` to `outline` and
|
|
15
|
+
* `glow`. `glow` is `outline` with the halo the other components' `glow`
|
|
16
|
+
* variant uses in place of the elevation shadow.
|
|
17
|
+
*/
|
|
18
|
+
interface ButtonProps extends ButtonProps$1, Pick<StyleAxisProps, "radius" | "elevation" | "border"> {
|
|
19
|
+
/**
|
|
20
|
+
* A preset colour, or `"silver"`: the brand's metallic finish, as on `Badge`
|
|
21
|
+
* and `Tag` — a brushed-metal sheen on `default`, a metallic ring on
|
|
22
|
+
* `outline` and `glow`, plain `gray` on `ghost` and `link`.
|
|
23
|
+
*/
|
|
24
|
+
color?: ButtonColor;
|
|
25
|
+
startIcon?: React.ReactNode;
|
|
26
|
+
endIcon?: React.ReactNode;
|
|
27
|
+
/**
|
|
28
|
+
* Stretch to the container's width. **Defaults to `true`** (kept for
|
|
29
|
+
* compatibility); pass `fullWidth={false}` for an inline button. Ignored
|
|
30
|
+
* for `size="icon"`.
|
|
31
|
+
*/
|
|
32
|
+
fullWidth?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Shows the loading indicator and disables the button. With `asChild`, the
|
|
35
|
+
* rendered element is disabled the way a link can be (see `asChild`).
|
|
36
|
+
*/
|
|
37
|
+
loading?: boolean;
|
|
38
|
+
loadingIndicator?: "spinner" | "progress-bar";
|
|
39
|
+
animateStartIconOnHover?: boolean;
|
|
40
|
+
animateEndIconOnHover?: boolean;
|
|
41
|
+
hideRingOnHover?: boolean;
|
|
42
|
+
/** When true, outline/glow/ghost use primary hover background and ring; link uses `hover:text-primary`. Ignores `color` for those hover styles. */
|
|
43
|
+
usePrimaryColorOnHover?: boolean;
|
|
44
|
+
tooltip?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Below this viewport breakpoint only the icons show; the label stays in the
|
|
47
|
+
* DOM as screen-reader text, so it remains the button's accessible name.
|
|
48
|
+
*/
|
|
49
|
+
iconOnlyBelow?: ButtonIconOnlyBreakpoint;
|
|
50
|
+
/**
|
|
51
|
+
* Render the single child element (an `<a>`, a router `Link`, …) instead
|
|
52
|
+
* of a `<button>`, with the button's classes and props merged onto it. The
|
|
53
|
+
* icons, label and loading indicator render inside that element:
|
|
54
|
+
*
|
|
55
|
+
* ```tsx
|
|
56
|
+
* <Button asChild startIcon={<Plus />}>
|
|
57
|
+
* <Link to="/devices/new">Add device</Link>
|
|
58
|
+
* </Button>
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
61
|
+
* `disabled` and `loading` cannot use the native `disabled` attribute on a
|
|
62
|
+
* link, so the element gets `aria-disabled="true"`, `data-disabled`,
|
|
63
|
+
* `tabIndex={-1}`, the disabled look, and its clicks are cancelled before
|
|
64
|
+
* the child's own `onClick` (a router `Link` does not navigate).
|
|
65
|
+
*/
|
|
66
|
+
asChild?: boolean;
|
|
67
|
+
}
|
|
68
|
+
type ButtonIconOnlyBreakpoint = "sm" | "md";
|
|
69
|
+
/**
|
|
70
|
+
* The styled button: preset `color`s, start/end icons, loading indicators,
|
|
71
|
+
* tooltip and `asChild` for links. Not the same as the uncoloured base
|
|
72
|
+
* `Button` that `/core` exports. Note `fullWidth` defaults to `true`.
|
|
73
|
+
*/
|
|
74
|
+
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
75
|
+
|
|
76
|
+
export { Button as B, type ButtonIconOnlyBreakpoint as a, type ButtonProps as b };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ComponentProps } from 'react';
|
|
2
|
+
import { DayPicker } from 'react-day-picker';
|
|
3
|
+
|
|
4
|
+
type CalendarProps = ComponentProps<typeof DayPicker> & {
|
|
5
|
+
/**
|
|
6
|
+
* Button variant used for the navigation and day buttons.
|
|
7
|
+
* @default "ghost"
|
|
8
|
+
*/
|
|
9
|
+
buttonVariant?: "outline" | "ghost";
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export type { CalendarProps as C };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { AreaChart, AreaChartProps, BarChart, BarChartProps, BarSize, CHART_CATEGORY_COLORS, CHART_SERIES_COLORS, ChartCategoryColorKey, ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartLegendLayout, ChartLegendList, ChartLegendListItem, ChartLegendListProps, ChartLegendOptions, ChartLegendValue, ChartSeriesColorKey, ChartStyle, ChartTooltip, ChartTooltipContent, ComposedChart, ComposedChartProps, ComposedChartSeries, DEFAULT_CHART_SERIES_COLORS, DonutChart, DonutChartProps, DonutDatum, LineChart, LineChartProps, LineStrokeWidth, TreemapAnimationEasing, TreemapChart, TreemapChartProps, TreemapDatum, TreemapTileLabelStyle, buildSeriesChartConfig, getChartSeriesColor } from '../components/chart/index.js';
|
|
2
|
+
import 'react';
|
|
3
|
+
import 'recharts';
|
|
4
|
+
import '../style-axes-DSQ2DGc5.js';
|
|
5
|
+
import '../index-BQANnKs9.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ChartContainer, ChartLegend, ChartLegendContent, ChartLegendList, ChartStyle, ChartTooltip, ChartTooltipContent } from "../components/chart/chart.js";
|
|
2
|
+
import { CHART_CATEGORY_COLORS, CHART_SERIES_COLORS, DEFAULT_CHART_SERIES_COLORS, buildSeriesChartConfig, getChartSeriesColor } from "../components/chart/chart-colors.js";
|
|
3
|
+
import { BarChart } from "../components/chart/bar-chart.js";
|
|
4
|
+
import { AreaChart } from "../components/chart/area-chart.js";
|
|
5
|
+
import { LineChart } from "../components/chart/line-chart.js";
|
|
6
|
+
import { ComposedChart } from "../components/chart/composed-chart.js";
|
|
7
|
+
import { DonutChart } from "../components/chart/donut-chart.js";
|
|
8
|
+
import { TreemapChart } from "../components/chart/treemap-chart.js";
|
|
9
|
+
export { AreaChart, BarChart, CHART_CATEGORY_COLORS, CHART_SERIES_COLORS, ChartContainer, ChartLegend, ChartLegendContent, ChartLegendList, ChartStyle, ChartTooltip, ChartTooltipContent, ComposedChart, DEFAULT_CHART_SERIES_COLORS, DonutChart, LineChart, TreemapChart, buildSeriesChartConfig, getChartSeriesColor };
|
|
@@ -36,7 +36,7 @@ function AppLogo({ name = "espressif", logo, alt = "Logo", darkMode = false, min
|
|
|
36
36
|
const imgHeight = asset.height / asset.width * imgWidth;
|
|
37
37
|
return /* @__PURE__ */ jsx(motion.div, {
|
|
38
38
|
layout: true,
|
|
39
|
-
className: cn("flex items-center min-h-0 transition-[max-width,padding] duration-200 ease-in-out", minimal ? "w-full justify-center p-0.5 max-h-[calc(var(--espd-header-height)-16px)] max-w-[calc(var(--espd-sidebar-width-collapsed)-16px)]" : "w-auto justify-start p-0 max-h-[calc(var(--espd-header-height)-16px)] max-w-[calc(var(--espd-sidebar-width)-32px)]"),
|
|
39
|
+
className: cn("flex items-center min-h-0 transition-[max-width,padding] duration-200 ease-in-out", minimal ? "w-full justify-center p-0.5 max-h-[calc(var(--espd-shell-header-height,var(--espd-header-height))-16px)] max-w-[calc(var(--espd-sidebar-width-collapsed)-16px)]" : "w-auto justify-start p-0 max-h-[calc(var(--espd-shell-header-height,var(--espd-header-height))-16px)] max-w-[calc(var(--espd-sidebar-width)-32px)]"),
|
|
40
40
|
transition: logoTransition,
|
|
41
41
|
children: /* @__PURE__ */ jsx(AnimatePresence, {
|
|
42
42
|
initial: false,
|
package/dist/common/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as React$1 from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
export { L as LogoAsset, a as LogoAssetConfig, b as LogoVariantSet } from '../app-logo.props-Ct7QBdTd.js';
|
|
5
|
-
import { a as ListGroup } from '../list.props-x1j3CbcF.js';
|
|
2
|
+
import { A as AppLogoProps, M as MyAccountMenuProps } from '../my-account-menu.props-C7DK71WC.js';
|
|
3
|
+
export { L as LogoAsset, a as LogoAssetConfig, b as LogoVariantSet } from '../my-account-menu.props-C7DK71WC.js';
|
|
6
4
|
import { C as Color } from '../index-BQANnKs9.js';
|
|
5
|
+
import '../list.props-DP_xPTqU.js';
|
|
6
|
+
import '../style-axes-DSQ2DGc5.js';
|
|
7
7
|
|
|
8
8
|
declare function AppLogo({ name, logo, alt, darkMode, minimal, width, }: AppLogoProps): React$1.JSX.Element;
|
|
9
9
|
|
|
@@ -11,9 +11,11 @@ interface ProfileCardProps {
|
|
|
11
11
|
name?: string;
|
|
12
12
|
email?: string;
|
|
13
13
|
imageUrl?: string;
|
|
14
|
+
/** The avatar's fill behind the initial, when there is no picture; default `primary`. */
|
|
15
|
+
avatarColor?: Color;
|
|
14
16
|
}
|
|
15
17
|
|
|
16
|
-
declare function ProfileCard({ name, email, imageUrl }: ProfileCardProps): React$1.JSX.Element;
|
|
18
|
+
declare function ProfileCard({ name, email, imageUrl, avatarColor }: ProfileCardProps): React$1.JSX.Element;
|
|
17
19
|
|
|
18
20
|
interface CopyrightCardProps {
|
|
19
21
|
text: string;
|
|
@@ -31,20 +33,7 @@ declare function CopyrightCard({ text, logoSrc, logoAlt, href, logoOnly, }: Copy
|
|
|
31
33
|
*/
|
|
32
34
|
declare function PageLoader(): React$1.JSX.Element;
|
|
33
35
|
|
|
34
|
-
|
|
35
|
-
name?: string;
|
|
36
|
-
email?: string;
|
|
37
|
-
imageUrl?: string;
|
|
38
|
-
/** Passed to `Menu` content; default `200px` */
|
|
39
|
-
minWidth?: string | number;
|
|
40
|
-
menuItems: ListGroup[];
|
|
41
|
-
/** Status dot color; ignored when `badgeIcon` is set */
|
|
42
|
-
badgeColor?: Color;
|
|
43
|
-
/** When set, shown instead of a color dot (`badgeColor` is not applied) */
|
|
44
|
-
badgeIcon?: ReactNode;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
declare function MyAccountMenu({ name, email, imageUrl, minWidth, menuItems, badgeColor, badgeIcon, }: MyAccountMenuProps): React$1.JSX.Element;
|
|
36
|
+
declare function MyAccountMenu({ name, email, imageUrl, minWidth, menuItems, avatarColor, badgeColor, badgeIcon, triggerVariant, side, align, }: MyAccountMenuProps): React$1.JSX.Element;
|
|
48
37
|
|
|
49
38
|
declare function FooterCard(): React$1.JSX.Element;
|
|
50
39
|
|
|
@@ -56,4 +45,4 @@ interface AnimatedRainmakerLogoProps {
|
|
|
56
45
|
|
|
57
46
|
declare function AnimatedRainmakerLogo({ className, style, "aria-label": ariaLabel, }: AnimatedRainmakerLogoProps): React$1.JSX.Element;
|
|
58
47
|
|
|
59
|
-
export { AnimatedRainmakerLogo, type AnimatedRainmakerLogoProps, AppLogo, AppLogoProps, CopyrightCard, type CopyrightCardProps, FooterCard, MyAccountMenu,
|
|
48
|
+
export { AnimatedRainmakerLogo, type AnimatedRainmakerLogoProps, AppLogo, AppLogoProps, CopyrightCard, type CopyrightCardProps, FooterCard, MyAccountMenu, MyAccountMenuProps, PageLoader, ProfileCard, type ProfileCardProps };
|