@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
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
|
|
4
|
+
interface FloatingWindowPosition {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
}
|
|
8
|
+
interface FloatingWindowProps {
|
|
9
|
+
/** The window's accessible name, shown in its bar and on its pill. */
|
|
10
|
+
title: string;
|
|
11
|
+
children: ReactNode;
|
|
12
|
+
/** Where it sits, from the viewport's top-left; null = the default spot. */
|
|
13
|
+
position: FloatingWindowPosition | null;
|
|
14
|
+
/** Called once a drag ends, with the new spot (kept inside the viewport). */
|
|
15
|
+
onMove: (position: FloatingWindowPosition) => void;
|
|
16
|
+
/** Folded to a pill in the bottom-left corner; the pill opens the window again where it was. */
|
|
17
|
+
minimized?: boolean;
|
|
18
|
+
onMinimize?: () => void;
|
|
19
|
+
/** Opens the window again from its pill. */
|
|
20
|
+
onRestore?: () => void;
|
|
21
|
+
/** Puts the content back where it came from (also Escape). */
|
|
22
|
+
onDock: () => void;
|
|
23
|
+
onClose: () => void;
|
|
24
|
+
dockLabel: string;
|
|
25
|
+
closeLabel: string;
|
|
26
|
+
minimizeLabel?: string;
|
|
27
|
+
/** The pill's accessible name. */
|
|
28
|
+
restoreLabel?: string;
|
|
29
|
+
/** Something inside wants the person (an expert waiting for an answer): the pill carries a dot, and this is said with its name. */
|
|
30
|
+
attention?: string;
|
|
31
|
+
/** The drag handle's accessible name. */
|
|
32
|
+
moveLabel: string;
|
|
33
|
+
className?: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* A small window floating over the page, moved by its bar: a non-modal
|
|
38
|
+
* dialog, so the page behind it stays live. Its bar carries Minimize (to a
|
|
39
|
+
* pill in the bottom-left corner), the way back (Dock) and the way out
|
|
40
|
+
* (Close); Escape docks. Wrap `onMinimize` / `onRestore` in
|
|
41
|
+
* `startViewTransition` and the window morphs into its pill and back.
|
|
42
|
+
*/
|
|
43
|
+
declare function FloatingWindow({ title, children, position, onMove, minimized, onMinimize, onRestore, onDock, onClose, dockLabel, closeLabel, minimizeLabel, restoreLabel, attention, moveLabel, className }: FloatingWindowProps): React.JSX.Element;
|
|
44
|
+
|
|
45
|
+
export { FloatingWindow, type FloatingWindowPosition, type FloatingWindowProps };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as react_hook_form from 'react-hook-form';
|
|
2
|
+
import { FieldValues, FieldPath, ControllerProps } from 'react-hook-form';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
5
|
+
|
|
6
|
+
declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>({ children, watch, getValues, getFieldState, setError, clearErrors, setValue, setValues, trigger, formState, resetField, reset, handleSubmit, unregister, control, register, setFocus, subscribe, }: react_hook_form.FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React.JSX.Element;
|
|
7
|
+
declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ ...props }: ControllerProps<TFieldValues, TName>) => React.JSX.Element;
|
|
8
|
+
declare const useFormField: () => {
|
|
9
|
+
invalid: boolean;
|
|
10
|
+
isDirty: boolean;
|
|
11
|
+
isTouched: boolean;
|
|
12
|
+
isValidating: boolean;
|
|
13
|
+
error?: react_hook_form.FieldError;
|
|
14
|
+
id: string;
|
|
15
|
+
name: string;
|
|
16
|
+
formItemId: string;
|
|
17
|
+
formDescriptionId: string;
|
|
18
|
+
formMessageId: string;
|
|
19
|
+
};
|
|
20
|
+
declare const FormItem: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
21
|
+
declare const FormLabel: React.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & React.RefAttributes<HTMLLabelElement>>;
|
|
22
|
+
declare const FormControl: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLElement> & {
|
|
23
|
+
children?: React.ReactNode;
|
|
24
|
+
} & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
|
|
25
|
+
declare const FormDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
|
|
26
|
+
declare const FormMessage: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
|
|
27
|
+
|
|
28
|
+
export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField };
|
|
@@ -19,7 +19,7 @@ var iconSizeMap = {
|
|
|
19
19
|
icon: "size-10 [&_svg]:size-10"
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
|
-
function FullscreenDialog({ icon, iconSize = "lg", heading, secondaryText, children, open, onOpenChange, closeOnEscape = true, noGutters = false }) {
|
|
22
|
+
function FullscreenDialog({ icon, iconSize = "lg", heading, secondaryText, children, open, onOpenChange, closeOnEscape = true, noGutters = false, scrollable = true }) {
|
|
23
23
|
const sizeClasses = iconSizeMap[iconSize];
|
|
24
24
|
return /* @__PURE__ */ jsx(Dialog, {
|
|
25
25
|
open,
|
|
@@ -55,9 +55,13 @@ function FullscreenDialog({ icon, iconSize = "lg", heading, secondaryText, child
|
|
|
55
55
|
children: secondaryText
|
|
56
56
|
})
|
|
57
57
|
}),
|
|
58
|
-
/* @__PURE__ */ jsx(ScrollArea, {
|
|
58
|
+
scrollable ? /* @__PURE__ */ jsx(ScrollArea, {
|
|
59
59
|
className: cn("flex-1 min-h-0", noGutters ? "p-0" : "px-6 py-4"),
|
|
60
60
|
children
|
|
61
|
+
}) : /* @__PURE__ */ jsx("div", {
|
|
62
|
+
"data-slot": "fullscreen-dialog-body",
|
|
63
|
+
className: cn("flex-1 min-h-0 overflow-hidden", noGutters ? "p-0" : "px-6 py-4"),
|
|
64
|
+
children
|
|
61
65
|
})
|
|
62
66
|
]
|
|
63
67
|
})
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
declare const iconSizeMap: {
|
|
4
|
+
readonly sm: {
|
|
5
|
+
readonly avatar: "h-12 w-12";
|
|
6
|
+
readonly icon: "size-6 [&_svg]:size-6";
|
|
7
|
+
};
|
|
8
|
+
readonly md: {
|
|
9
|
+
readonly avatar: "h-16 w-16";
|
|
10
|
+
readonly icon: "size-8 [&_svg]:size-8";
|
|
11
|
+
};
|
|
12
|
+
readonly lg: {
|
|
13
|
+
readonly avatar: "h-20 w-20";
|
|
14
|
+
readonly icon: "size-10 [&_svg]:size-10";
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
type FullscreenDialogIconSize = keyof typeof iconSizeMap;
|
|
18
|
+
interface FullscreenDialogProps {
|
|
19
|
+
icon?: React.ReactNode;
|
|
20
|
+
iconSize?: FullscreenDialogIconSize;
|
|
21
|
+
heading?: string | React.ReactNode;
|
|
22
|
+
secondaryText?: string | React.ReactNode;
|
|
23
|
+
children: React.ReactNode;
|
|
24
|
+
open: boolean;
|
|
25
|
+
onOpenChange: (open: boolean) => void;
|
|
26
|
+
closeOnEscape?: boolean;
|
|
27
|
+
noGutters?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* `true` (default): the body scrolls when its content is taller than the
|
|
30
|
+
* screen. `false`: the body is exactly the height left under the heading
|
|
31
|
+
* and does not scroll, so content can fill it (`h-full`) — a picture shown
|
|
32
|
+
* whole, a canvas, a player.
|
|
33
|
+
*/
|
|
34
|
+
scrollable?: boolean;
|
|
35
|
+
}
|
|
36
|
+
declare function FullscreenDialog({ icon, iconSize, heading, secondaryText, children, open, onOpenChange, closeOnEscape, noGutters, scrollable, }: FullscreenDialogProps): React.JSX.Element;
|
|
37
|
+
|
|
38
|
+
export { FullscreenDialog, type FullscreenDialogProps };
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { cn } from "../../utils/cn.js";
|
|
2
|
+
import { resolveColor } from "../../utils/color.js";
|
|
3
|
+
import { cloneElement, isValidElement } from "react";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
//#region src/components/horizontal-stepper/horizontal-stepper.tsx
|
|
6
|
+
var sizes = {
|
|
7
|
+
sm: {
|
|
8
|
+
node: "size-7",
|
|
9
|
+
icon: "size-3.5",
|
|
10
|
+
label: "text-[11px]",
|
|
11
|
+
description: "text-[11px]",
|
|
12
|
+
line: "top-3.5",
|
|
13
|
+
lineFromNode: "left-9"
|
|
14
|
+
},
|
|
15
|
+
default: {
|
|
16
|
+
node: "size-9",
|
|
17
|
+
icon: "size-4.5",
|
|
18
|
+
label: "text-xs",
|
|
19
|
+
description: "text-xs",
|
|
20
|
+
line: "top-4.5",
|
|
21
|
+
lineFromNode: "left-11"
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
var tones = {
|
|
25
|
+
default: {
|
|
26
|
+
label: "text-foreground",
|
|
27
|
+
upcomingLabel: "text-muted-foreground",
|
|
28
|
+
upcoming: "border-border bg-background text-muted-foreground",
|
|
29
|
+
track: "bg-border"
|
|
30
|
+
},
|
|
31
|
+
inverse: {
|
|
32
|
+
label: "text-scrim-foreground",
|
|
33
|
+
upcomingLabel: "text-scrim-foreground/60",
|
|
34
|
+
upcoming: "border-scrim-foreground/40 bg-transparent text-scrim-foreground/70",
|
|
35
|
+
track: "bg-scrim-foreground/25"
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var NODE_POP = "scale-50 opacity-0 transition duration-100 group-hover/media-card:scale-100 group-hover/media-card:opacity-100 group-hover/media-card:duration-450 group-hover/media-card:ease-overshoot group-focus-within/media-card:scale-100 group-focus-within/media-card:opacity-100 group-focus-within/media-card:duration-450 group-focus-within/media-card:ease-overshoot motion-reduce:scale-100 motion-reduce:opacity-100 motion-reduce:transition-none";
|
|
39
|
+
var NODE_DELAYS = [
|
|
40
|
+
"group-hover/media-card:delay-0 group-focus-within/media-card:delay-0",
|
|
41
|
+
"group-hover/media-card:delay-120 group-focus-within/media-card:delay-120",
|
|
42
|
+
"group-hover/media-card:delay-200 group-focus-within/media-card:delay-200",
|
|
43
|
+
"group-hover/media-card:delay-260 group-focus-within/media-card:delay-260"
|
|
44
|
+
];
|
|
45
|
+
var LINE_FILL = "scale-x-0 transition-transform duration-100 group-hover/media-card:scale-x-100 group-hover/media-card:delay-300 group-hover/media-card:duration-600 group-hover/media-card:ease-emphasized group-focus-within/media-card:scale-x-100 group-focus-within/media-card:delay-300 group-focus-within/media-card:duration-600 group-focus-within/media-card:ease-emphasized motion-reduce:scale-x-100 motion-reduce:transition-none";
|
|
46
|
+
function sized(icon, className) {
|
|
47
|
+
if (isValidElement(icon)) {
|
|
48
|
+
const el = icon;
|
|
49
|
+
return cloneElement(el, { className: cn(className, el.props.className) });
|
|
50
|
+
}
|
|
51
|
+
return icon;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* A few stops in a row joined by a line — how far something got (requested,
|
|
55
|
+
* building, shipped). Steps reached are filled in `color`; the line is filled
|
|
56
|
+
* up to the current step. A `stale` step (done, but out of date) is filled in
|
|
57
|
+
* `warning`, a `failed` one in `error`. Read as one image with `ariaLabel`, since the status is also said
|
|
58
|
+
* in words beside it.
|
|
59
|
+
*/
|
|
60
|
+
function HorizontalStepper({ steps, color = "primary", size = "default", tone = "default", animateIn, ariaLabel = "Progress", align = "center", semantics = "image", className }) {
|
|
61
|
+
const s = sizes[size];
|
|
62
|
+
const t = tones[tone];
|
|
63
|
+
const fill = resolveColor(color, "bg");
|
|
64
|
+
const onFill = resolveColor(color, "fg");
|
|
65
|
+
const animate = animateIn === "media-card-reveal";
|
|
66
|
+
const start = align === "start";
|
|
67
|
+
const asList = semantics === "list";
|
|
68
|
+
return /* @__PURE__ */ jsx("ol", {
|
|
69
|
+
role: asList ? void 0 : "img",
|
|
70
|
+
"aria-label": ariaLabel,
|
|
71
|
+
"data-align": align,
|
|
72
|
+
className: cn("m-0 flex w-full list-none items-start p-0", start && "gap-0", className),
|
|
73
|
+
children: steps.map((step, index) => {
|
|
74
|
+
const reached = step.status !== "not_started";
|
|
75
|
+
const stale = step.status === "stale";
|
|
76
|
+
const failed = step.status === "failed";
|
|
77
|
+
const next = steps[index + 1];
|
|
78
|
+
return /* @__PURE__ */ jsxs("li", {
|
|
79
|
+
"aria-hidden": asList ? void 0 : true,
|
|
80
|
+
"aria-current": asList && step.status === "in_progress" ? "step" : void 0,
|
|
81
|
+
className: cn("relative flex min-w-0 flex-1 flex-col gap-1.5", start ? "items-start pr-4 last:pr-0" : "items-center"),
|
|
82
|
+
children: [
|
|
83
|
+
start && next && /* @__PURE__ */ jsx("span", {
|
|
84
|
+
"aria-hidden": true,
|
|
85
|
+
className: cn("absolute right-2 h-0.5 -translate-y-1/2 rounded-full", s.line, s.lineFromNode, t.track),
|
|
86
|
+
children: next.status !== "not_started" && /* @__PURE__ */ jsx("span", {
|
|
87
|
+
className: cn("absolute inset-0 origin-left rounded-full", fill.className, animate && LINE_FILL),
|
|
88
|
+
style: fill.style
|
|
89
|
+
})
|
|
90
|
+
}),
|
|
91
|
+
!start && index > 0 && /* @__PURE__ */ jsx("span", {
|
|
92
|
+
className: cn("absolute right-1/2 left-[-50%] h-0.5 -translate-y-1/2 rounded-full", s.line, t.track),
|
|
93
|
+
children: reached && /* @__PURE__ */ jsx("span", {
|
|
94
|
+
className: cn("absolute inset-0 origin-left rounded-full", fill.className, animate && LINE_FILL),
|
|
95
|
+
style: fill.style
|
|
96
|
+
})
|
|
97
|
+
}),
|
|
98
|
+
/* @__PURE__ */ jsx("span", {
|
|
99
|
+
"data-status": step.status,
|
|
100
|
+
"aria-hidden": asList ? true : void 0,
|
|
101
|
+
className: cn("relative z-10 flex shrink-0 items-center justify-center rounded-full border-2", s.node, stale && "border-transparent bg-warning text-warning-foreground", failed && "border-transparent bg-error text-error-foreground", !stale && !failed && (reached ? cn("border-transparent", fill.className, onFill.className) : t.upcoming), animate && cn(NODE_POP, NODE_DELAYS[Math.min(index, NODE_DELAYS.length - 1)])),
|
|
102
|
+
style: reached && !stale && !failed && (fill.style || onFill.style) ? {
|
|
103
|
+
...fill.style,
|
|
104
|
+
...onFill.style
|
|
105
|
+
} : void 0,
|
|
106
|
+
children: sized(step.icon, s.icon)
|
|
107
|
+
}),
|
|
108
|
+
/* @__PURE__ */ jsx("span", {
|
|
109
|
+
className: cn("max-w-full font-semibold", step.description ? "mt-1" : "truncate", s.label, reached ? t.label : t.upcomingLabel, start && "text-left"),
|
|
110
|
+
children: step.label
|
|
111
|
+
}),
|
|
112
|
+
step.description && /* @__PURE__ */ jsx("span", {
|
|
113
|
+
className: cn("max-w-full leading-snug text-muted-foreground", s.description, start ? "text-left" : "text-center"),
|
|
114
|
+
children: step.description
|
|
115
|
+
})
|
|
116
|
+
]
|
|
117
|
+
}, step.id);
|
|
118
|
+
})
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
//#endregion
|
|
122
|
+
export { HorizontalStepper };
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { C as Color } from '../../index-BQANnKs9.js';
|
|
4
|
+
import { c as VerticalStepperStepStatus } from '../../vertical-stepper.props-BXYcbW70.js';
|
|
5
|
+
|
|
6
|
+
/** One stop on the line. `status` is the same as a `VerticalStepper` step's, so data moves between the two. */
|
|
7
|
+
interface HorizontalStepperStep {
|
|
8
|
+
id: string;
|
|
9
|
+
/** Already-translated label under the node. */
|
|
10
|
+
label: string;
|
|
11
|
+
/** The node's icon: a Lucide element or any pre-sized element. */
|
|
12
|
+
icon: ReactNode;
|
|
13
|
+
status: VerticalStepperStepStatus;
|
|
14
|
+
/** Already-translated line under the label ("Plug it in over USB"). Wraps; never truncated. */
|
|
15
|
+
description?: string;
|
|
16
|
+
}
|
|
17
|
+
type HorizontalStepperSize = "sm" | "default";
|
|
18
|
+
/**
|
|
19
|
+
* `center` (default): each node centred over its label, the line running
|
|
20
|
+
* node to node. `start`: nodes and text on the left of each column, the line
|
|
21
|
+
* running from each node to the right — for steps that carry a description.
|
|
22
|
+
*/
|
|
23
|
+
type HorizontalStepperAlign = "center" | "start";
|
|
24
|
+
/**
|
|
25
|
+
* `image` (default): read as one picture by `ariaLabel`, because the status
|
|
26
|
+
* is said in words beside it. `list`: read as an ordered list of its steps,
|
|
27
|
+
* the `in_progress` one marked `aria-current="step"` — when the stepper IS
|
|
28
|
+
* the instructions (a "how to flash" sequence).
|
|
29
|
+
*/
|
|
30
|
+
type HorizontalStepperSemantics = "image" | "list";
|
|
31
|
+
interface HorizontalStepperProps {
|
|
32
|
+
steps: HorizontalStepperStep[];
|
|
33
|
+
/** Fill of the steps reached (complete and current) and of the line between them. Default `primary`. */
|
|
34
|
+
color?: Color;
|
|
35
|
+
/** `sm`: 28px nodes and small labels, for a card. Default `default`. */
|
|
36
|
+
size?: HorizontalStepperSize;
|
|
37
|
+
/**
|
|
38
|
+
* `inverse` draws it for a dark overlay such as a `MediaCardReveal` panel, in
|
|
39
|
+
* either theme (scrim tokens). Default `default`.
|
|
40
|
+
*/
|
|
41
|
+
tone?: "default" | "inverse";
|
|
42
|
+
/**
|
|
43
|
+
* `media-card-reveal`: the nodes pop in one by one and the line fills each
|
|
44
|
+
* time the surrounding `MediaCard` opens its reveal (hover or keyboard
|
|
45
|
+
* focus). Only meaningful inside a `MediaCardReveal`, where it starts hidden.
|
|
46
|
+
* Unset: drawn at rest. Nothing moves under reduced motion.
|
|
47
|
+
*/
|
|
48
|
+
animateIn?: "media-card-reveal";
|
|
49
|
+
/**
|
|
50
|
+
* Accessible name for the whole line, read instead of its parts
|
|
51
|
+
* ("Progress: in progress"). Default `"Progress"`.
|
|
52
|
+
*/
|
|
53
|
+
ariaLabel?: string;
|
|
54
|
+
/** Default `center`. */
|
|
55
|
+
align?: HorizontalStepperAlign;
|
|
56
|
+
/** Default `image`. */
|
|
57
|
+
semantics?: HorizontalStepperSemantics;
|
|
58
|
+
className?: string;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* A few stops in a row joined by a line — how far something got (requested,
|
|
63
|
+
* building, shipped). Steps reached are filled in `color`; the line is filled
|
|
64
|
+
* up to the current step. A `stale` step (done, but out of date) is filled in
|
|
65
|
+
* `warning`, a `failed` one in `error`. Read as one image with `ariaLabel`, since the status is also said
|
|
66
|
+
* in words beside it.
|
|
67
|
+
*/
|
|
68
|
+
declare function HorizontalStepper({ steps, color, size, tone, animateIn, ariaLabel, align, semantics, className, }: HorizontalStepperProps): React.JSX.Element;
|
|
69
|
+
|
|
70
|
+
export { HorizontalStepper, type HorizontalStepperAlign, type HorizontalStepperProps, type HorizontalStepperSemantics, type HorizontalStepperSize, type HorizontalStepperStep };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { I as IconAvatarProps } from '../../icon-avatar.props-RYtw2eSW.js';
|
|
3
|
+
export { a as IconAvatarRingProps, b as IconAvatarVariant } from '../../icon-avatar.props-RYtw2eSW.js';
|
|
4
|
+
import '../../index-BQANnKs9.js';
|
|
5
|
+
import '../../variant-D81RhpbR.js';
|
|
6
|
+
|
|
7
|
+
declare function IconAvatar({ size, color, variant, ring, children, className, discClassName, discStyle, }: IconAvatarProps): React.JSX.Element;
|
|
8
|
+
|
|
9
|
+
export { IconAvatar, IconAvatarProps };
|
|
@@ -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 { PRESET_RING_CLASSES, renderGradientBackdropLayers, renderLeadingIconRow, renderTitleAndDescriptionBlocks, ringTransitionClass, useSimpleClickableCardSurface } from "../simple-clickable-card/simple-clickable-card-shared.js";
|
|
6
7
|
import * as React$1 from "react";
|
|
@@ -35,7 +36,8 @@ function shellPresetRing(color) {
|
|
|
35
36
|
const c = color ?? "gray";
|
|
36
37
|
return isPresetColor(c) ? PRESET_RING_CLASSES[c] : "";
|
|
37
38
|
}
|
|
38
|
-
var IconTextActionCard = React$1.forwardRef(({ icon, title, description, truncateTitle = false, truncateDescription = false, onClick, actions, showActionsOnlyOnHover = false, actionsPlacement = "auto", color = "gray", iconAvatarVariant: iconAvatarVariantProp, iconAvatarColor: iconAvatarColorProp, size = "default", variant = "soft", className, type = "button", disabled, ...rest }, ref) => {
|
|
39
|
+
var IconTextActionCard = React$1.forwardRef(({ icon, title, description, truncateTitle = false, truncateDescription = false, onClick, actions, showActionsOnlyOnHover = false, actionsPlacement = "auto", color = "gray", iconAvatarVariant: iconAvatarVariantProp, iconAvatarColor: iconAvatarColorProp, size = "default", variant = "soft", className, type = "button", disabled, radius, ...rest }, ref) => {
|
|
40
|
+
const { partStyle } = useStyleAxes({ radius }, ["radius"]);
|
|
39
41
|
const { onMouseEnter: onMouseEnterProp, onMouseLeave: onMouseLeaveProp, ...domRest } = rest;
|
|
40
42
|
const interactive = onClick != null;
|
|
41
43
|
const showActionsSlot = actions != null;
|
|
@@ -80,6 +82,7 @@ var IconTextActionCard = React$1.forwardRef(({ icon, title, description, truncat
|
|
|
80
82
|
gradientZStyle: false
|
|
81
83
|
});
|
|
82
84
|
const surfaceStyleMerged = {
|
|
85
|
+
...partStyle,
|
|
83
86
|
...isArbitraryGradient ? surfaceStyleWithoutGradientBg : styles.containerStyle,
|
|
84
87
|
...ringAccentStyle
|
|
85
88
|
};
|
|
@@ -114,7 +117,7 @@ var IconTextActionCard = React$1.forwardRef(({ icon, title, description, truncat
|
|
|
114
117
|
children: /* @__PURE__ */ jsxs("div", {
|
|
115
118
|
ref,
|
|
116
119
|
"aria-disabled": disabled === true ? true : void 0,
|
|
117
|
-
className: cn("relative isolate inline-flex w-full cursor-default items-center overflow-hidden rounded-xl text-left ring-offset-background", variant === "gradient" && "group", disabled && "pointer-events-none opacity-50", s.rowPad, surfaceContainerClass, className),
|
|
120
|
+
className: cn("relative isolate inline-flex w-full cursor-default items-center overflow-hidden rounded-[var(--espd-own-radius,var(--espd-radius-surface,var(--radius-xl)))] text-left ring-offset-background", variant === "gradient" && "group", disabled && "pointer-events-none opacity-50", s.rowPad, surfaceContainerClass, className),
|
|
118
121
|
style: surfaceStyleMerged,
|
|
119
122
|
...domRest,
|
|
120
123
|
children: [gradientLayers, staticBlock]
|
|
@@ -126,7 +129,7 @@ var IconTextActionCard = React$1.forwardRef(({ icon, title, description, truncat
|
|
|
126
129
|
children: /* @__PURE__ */ jsxs("div", {
|
|
127
130
|
ref,
|
|
128
131
|
"aria-disabled": disabled === true ? true : void 0,
|
|
129
|
-
className: cn("relative isolate inline-flex w-full max-w-full cursor-default items-center overflow-hidden rounded-xl text-left ring-offset-background", ACTIONS_ROW_CLASS, showActionsSlot && "group", variant === "gradient" && "group", disabled && "pointer-events-none opacity-50", s.rowPad, s.gap, surfaceContainerClass, className),
|
|
132
|
+
className: cn("relative isolate inline-flex w-full max-w-full cursor-default items-center overflow-hidden rounded-[var(--espd-own-radius,var(--espd-radius-surface,var(--radius-xl)))] text-left ring-offset-background", ACTIONS_ROW_CLASS, showActionsSlot && "group", variant === "gradient" && "group", disabled && "pointer-events-none opacity-50", s.rowPad, s.gap, surfaceContainerClass, className),
|
|
130
133
|
style: surfaceStyleMerged,
|
|
131
134
|
...domRest,
|
|
132
135
|
children: [
|
|
@@ -144,7 +147,7 @@ var IconTextActionCard = React$1.forwardRef(({ icon, title, description, truncat
|
|
|
144
147
|
closeDelay: 100,
|
|
145
148
|
children: /* @__PURE__ */ jsxs("div", {
|
|
146
149
|
ref,
|
|
147
|
-
className: cn("relative isolate inline-flex w-full max-w-full items-center overflow-hidden rounded-xl ring-offset-background", ACTIONS_ROW_CLASS, ringTransitionClass, showActionsSlot && "group", variant === "gradient" && "group", "focus-within:outline-none hover:ring-2 hover:ring-offset-2 focus-within:ring-2 focus-within:ring-offset-2", shellRingClass, disabled && "pointer-events-none opacity-50", s.rowPad, s.gap, surfaceContainerClass, className),
|
|
150
|
+
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", ACTIONS_ROW_CLASS, ringTransitionClass, showActionsSlot && "group", variant === "gradient" && "group", "focus-within:outline-none hover:ring-2 hover:ring-offset-2 focus-within:ring-2 focus-within:ring-offset-2", shellRingClass, disabled && "pointer-events-none opacity-50", s.rowPad, s.gap, surfaceContainerClass, className),
|
|
148
151
|
style: surfaceStyleMerged,
|
|
149
152
|
...domRest,
|
|
150
153
|
children: [
|
|
@@ -175,8 +178,9 @@ var IconTextActionCard = React$1.forwardRef(({ icon, title, description, truncat
|
|
|
175
178
|
onClick,
|
|
176
179
|
onMouseEnter: onMouseEnterProp,
|
|
177
180
|
onMouseLeave: onMouseLeaveProp,
|
|
178
|
-
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),
|
|
181
|
+
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),
|
|
179
182
|
style: {
|
|
183
|
+
...partStyle,
|
|
180
184
|
...isArbitraryGradient ? surfaceStyleWithoutGradientBg : styles.containerStyle,
|
|
181
185
|
...ringAccentStyle
|
|
182
186
|
},
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { a as IconTextActionCardProps } from '../../icon-text-action-card.props-B2ggncUK.js';
|
|
3
|
+
export { I as IconTextActionCardActionsPlacement, b as IconTextActionCardVariant } from '../../icon-text-action-card.props-B2ggncUK.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 IconTextActionCard: React.ForwardRefExoticComponent<IconTextActionCardProps & React.RefAttributes<HTMLDivElement | HTMLButtonElement>>;
|
|
10
|
+
|
|
11
|
+
export { IconTextActionCard, IconTextActionCardProps };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { cn } from "../../utils/cn.js";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
//#region src/components/identicon/identicon.tsx
|
|
4
|
+
/** Each cell is drawn a touch smaller than its slot, with soft corners, so the pattern reads as tiles. */
|
|
5
|
+
var INSET = .06;
|
|
6
|
+
var CELL = 1 - INSET * 2;
|
|
7
|
+
var CORNER = .16;
|
|
8
|
+
/**
|
|
9
|
+
* A generated avatar: a grid of square cells, the "on" ones drawn in the
|
|
10
|
+
* current text colour on a transparent ground. It takes the cells rather than
|
|
11
|
+
* a name, so the app that owns an identity also owns how it turns into a
|
|
12
|
+
* picture. Scales to whatever box `className` gives it.
|
|
13
|
+
*/
|
|
14
|
+
function Identicon({ cells, columns = 5, title, className }) {
|
|
15
|
+
const cols = Math.max(1, Math.floor(columns));
|
|
16
|
+
return /* @__PURE__ */ jsx("svg", {
|
|
17
|
+
viewBox: `0 0 ${cols} ${Math.max(1, Math.ceil(cells.length / cols))}`,
|
|
18
|
+
role: title ? "img" : void 0,
|
|
19
|
+
"aria-label": title,
|
|
20
|
+
"aria-hidden": title ? void 0 : true,
|
|
21
|
+
className: cn("block size-full shrink-0", className),
|
|
22
|
+
fill: "currentColor",
|
|
23
|
+
children: cells.map((on, index) => on ? /* @__PURE__ */ jsx("rect", {
|
|
24
|
+
x: index % cols + INSET,
|
|
25
|
+
y: Math.floor(index / cols) + INSET,
|
|
26
|
+
width: CELL,
|
|
27
|
+
height: CELL,
|
|
28
|
+
rx: CORNER
|
|
29
|
+
}, index) : null)
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { Identicon as default };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
interface IdenticonProps {
|
|
4
|
+
/**
|
|
5
|
+
* The pattern, row by row: `true` cells are drawn. Usually 25 (5×5) derived
|
|
6
|
+
* from a stable hash of who it stands for — the derivation is the app's, so
|
|
7
|
+
* one person gets one picture everywhere that app draws them.
|
|
8
|
+
*/
|
|
9
|
+
cells: readonly boolean[];
|
|
10
|
+
/** Cells per row. Default 5. */
|
|
11
|
+
columns?: number;
|
|
12
|
+
/** Accessible name. Without one the pattern is decorative (aria-hidden). */
|
|
13
|
+
title?: string;
|
|
14
|
+
/** Size and colour: the cells are drawn in `currentColor` (`size-10 text-primary`). */
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* A generated avatar: a grid of square cells, the "on" ones drawn in the
|
|
20
|
+
* current text colour on a transparent ground. It takes the cells rather than
|
|
21
|
+
* a name, so the app that owns an identity also owns how it turns into a
|
|
22
|
+
* picture. Scales to whatever box `className` gives it.
|
|
23
|
+
*/
|
|
24
|
+
declare function Identicon({ cells, columns, title, className }: IdenticonProps): React.JSX.Element;
|
|
25
|
+
|
|
26
|
+
export { Identicon, type IdenticonProps };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ComponentPropsWithoutRef } from 'react';
|
|
3
|
+
|
|
4
|
+
declare function parseSvgViewBoxAspectRatio(svg: string): number | undefined;
|
|
5
|
+
declare const illustrationRegistry: readonly [{
|
|
6
|
+
readonly id: "no-search-results";
|
|
7
|
+
readonly svg: string;
|
|
8
|
+
readonly aspectRatio: number;
|
|
9
|
+
}, {
|
|
10
|
+
readonly id: "rm-data-download";
|
|
11
|
+
readonly svg: string;
|
|
12
|
+
readonly aspectRatio: number;
|
|
13
|
+
}, {
|
|
14
|
+
readonly id: "rm-dashboard-update";
|
|
15
|
+
readonly svg: string;
|
|
16
|
+
readonly aspectRatio: number;
|
|
17
|
+
}];
|
|
18
|
+
type IllustrationType = (typeof illustrationRegistry)[number]["id"];
|
|
19
|
+
declare const illustrationsById: Record<IllustrationType, (typeof illustrationRegistry)[number]>;
|
|
20
|
+
|
|
21
|
+
interface IllustrationProps extends Omit<ComponentPropsWithoutRef<"div">, "children" | "dangerouslySetInnerHTML"> {
|
|
22
|
+
type: IllustrationType;
|
|
23
|
+
size?: number;
|
|
24
|
+
/** When set, the SVG is exposed to assistive tech with this label; omit for decorative art. */
|
|
25
|
+
alt?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Plays the illustration's SMIL animations. Off by default: the static
|
|
28
|
+
* resting frame is rendered and every animation element is stripped, so
|
|
29
|
+
* nothing moves on pages that only need a picture. Illustrations without
|
|
30
|
+
* animations are unaffected.
|
|
31
|
+
*/
|
|
32
|
+
animated?: boolean;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
declare const Illustration: React.ForwardRefExoticComponent<IllustrationProps & React.RefAttributes<HTMLDivElement>>;
|
|
36
|
+
|
|
37
|
+
export { Illustration, type IllustrationProps, type IllustrationType, illustrationRegistry, illustrationsById, parseSvgViewBoxAspectRatio };
|