@espressif/dashboard-ui-components 1.11.1 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/rules/dashboard-ui-consumption.md +176 -5
- package/.cursor/rules/dashboard-ui-consumption.mdc +163 -4
- package/CHANGELOG.md +1020 -0
- package/README.md +240 -7
- package/THIRD-PARTY-NOTICES.md +2 -1
- package/dist/alert.props-CcKo49Rb.d.ts +44 -0
- package/dist/animation/index.d.ts +3 -0
- package/dist/animation/index.js +3 -0
- package/dist/avatar.props-2q5BsX-R.d.ts +29 -0
- package/dist/button-BK-DIR_L.d.ts +21 -0
- package/dist/button-BxJ7s6sR.d.ts +76 -0
- package/dist/calendar.props-BtCzuWH1.d.ts +12 -0
- package/dist/carousel/index.d.ts +2 -0
- package/dist/carousel/index.js +2 -0
- package/dist/charts/index.d.ts +5 -0
- package/dist/charts/index.js +9 -0
- package/dist/common/app-logo/app-logo.js +1 -1
- package/dist/common/index.d.ts +9 -20
- package/dist/common/my-account-menu/my-account-menu.js +45 -13
- package/dist/common/profile-card/profile-card.js +3 -2
- package/dist/components/accordion/accordion.js +14 -5
- package/dist/components/accordion/index.d.ts +36 -0
- package/dist/components/accordion/index.js +2 -0
- package/dist/components/advanced-search-box/advanced-search-box.js +8 -2
- package/dist/components/advanced-search-box/index.d.ts +29 -0
- package/dist/components/advanced-search-box/index.js +2 -0
- package/dist/components/alert/alert.js +2 -1
- package/dist/components/alert/index.d.ts +12 -0
- package/dist/components/alert/index.js +2 -0
- package/dist/components/anchored-panel/anchored-panel.js +83 -0
- package/dist/components/anchored-panel/index.d.ts +31 -0
- package/dist/components/anchored-panel/index.js +2 -0
- package/dist/components/animated-containers/index.d.ts +13 -0
- package/dist/components/animated-containers/index.js +2 -0
- package/dist/components/async-multi-select/async-multi-select.js +48 -7
- package/dist/components/async-multi-select/index.d.ts +63 -0
- package/dist/components/async-multi-select/index.js +2 -0
- package/dist/components/avatar/avatar.js +11 -4
- package/dist/components/avatar/index.d.ts +8 -0
- package/dist/components/avatar/index.js +2 -0
- package/dist/components/avatar-group/avatar-group.js +35 -0
- package/dist/components/avatar-group/index.d.ts +31 -0
- package/dist/components/avatar-group/index.js +2 -0
- package/dist/components/badge/index.d.ts +14 -0
- package/dist/components/badge/index.js +2 -0
- package/dist/components/breadcrumb/index.d.ts +21 -0
- package/dist/components/breadcrumb/index.js +2 -0
- package/dist/components/bubble/bubble.js +18 -0
- package/dist/components/bubble/index.d.ts +19 -0
- package/dist/components/bubble/index.js +2 -0
- package/dist/components/button/button.js +87 -25
- package/dist/components/button/flash-button.js +9 -3
- package/dist/components/button/index.d.ts +56 -0
- package/dist/components/button/index.js +6 -0
- package/dist/components/button-group/index.d.ts +16 -0
- package/dist/components/button-group/index.js +2 -0
- package/dist/components/calendar/calendar.js +5 -5
- package/dist/components/calendar/index.d.ts +11 -0
- package/dist/components/calendar/index.js +2 -0
- package/dist/components/card/index.d.ts +11 -0
- package/dist/components/card/index.js +2 -0
- package/dist/components/card-rail/card-rail.js +50 -0
- package/dist/components/card-rail/index.d.ts +30 -0
- package/dist/components/card-rail/index.js +2 -0
- package/dist/components/cards/collapsible-card.js +5 -2
- package/dist/components/cards/index.d.ts +16200 -0
- package/dist/components/cards/index.js +8 -0
- package/dist/components/cards/section-card.js +133 -8
- package/dist/components/cards/simple-card.js +5 -2
- package/dist/components/carousel/carousel.js +137 -49
- package/dist/components/carousel/index.d.ts +130 -0
- package/dist/components/carousel/index.js +2 -0
- package/dist/components/category-card/category-card.js +111 -0
- package/dist/components/category-card/index.d.ts +55 -0
- package/dist/components/category-card/index.js +2 -0
- package/dist/components/chart/area-chart.js +95 -85
- package/dist/components/chart/bar-chart.js +123 -60
- package/dist/components/chart/chart.js +127 -3
- package/dist/components/chart/composed-chart.js +109 -98
- package/dist/components/chart/donut-chart.js +23 -5
- package/dist/components/chart/index.d.ts +732 -0
- package/dist/components/chart/index.js +9 -0
- package/dist/components/chart/line-chart.js +93 -83
- package/dist/components/chart/treemap-chart.js +71 -58
- package/dist/components/check-badge/check-badge.js +25 -0
- package/dist/components/check-badge/index.d.ts +13 -0
- package/dist/components/check-badge/index.js +2 -0
- package/dist/components/checkbox/index.d.ts +8 -0
- package/dist/components/checkbox/index.js +2 -0
- package/dist/components/choice-card/choice-card.js +99 -0
- package/dist/components/choice-card/index.d.ts +41 -0
- package/dist/components/choice-card/index.js +2 -0
- package/dist/components/circular-progress/circular-progress.js +5 -2
- package/dist/components/circular-progress/index.d.ts +23 -0
- package/dist/components/circular-progress/index.js +2 -0
- package/dist/components/code/index.d.ts +40 -0
- package/dist/components/code/index.js +2 -0
- package/dist/components/code-editor/code-editor.js +9 -3
- package/dist/components/code-editor/index.d.ts +82 -0
- package/dist/components/code-editor/index.js +2 -0
- package/dist/components/collapsible/index.d.ts +42 -0
- package/dist/components/collapsible/index.js +2 -0
- package/dist/components/column-panel/column-panel.js +38 -0
- package/dist/components/column-panel/index.d.ts +37 -0
- package/dist/components/column-panel/index.js +3 -0
- package/dist/components/column-panel/use-panel-flag.js +27 -0
- package/dist/components/combobox/index.d.ts +28 -0
- package/dist/components/combobox/index.js +2 -0
- package/dist/components/confirmation-dialog/confirmation-dialog.js +1 -1
- package/dist/components/confirmation-dialog/index.d.ts +40 -0
- package/dist/components/confirmation-dialog/index.js +3 -0
- package/dist/components/content-container/index.d.ts +16 -0
- package/dist/components/content-container/index.js +2 -0
- package/dist/components/copiable-text/index.d.ts +33 -0
- package/dist/components/copiable-text/index.js +2 -0
- package/dist/components/coverflow/_constants/coverflow-poses.js +23 -0
- package/dist/components/coverflow/_constants/coverflow-shapes.js +23 -0
- package/dist/components/coverflow/_hooks/use-coverflow.js +90 -0
- package/dist/components/coverflow/_utils/ring.js +24 -0
- package/dist/components/coverflow/coverflow.js +198 -0
- package/dist/components/coverflow/index.d.ts +105 -0
- package/dist/components/coverflow/index.js +2 -0
- package/dist/components/data-table/data-table.js +9 -2
- package/dist/components/data-table/index.d.ts +120 -0
- package/dist/components/data-table/index.js +3 -0
- package/dist/components/date-picker/date-picker.js +5 -2
- package/dist/components/date-picker/index.d.ts +50 -0
- package/dist/components/date-picker/index.js +2 -0
- package/dist/components/date-range-picker/date-range-picker.js +11 -2
- package/dist/components/date-range-picker/index.d.ts +100 -0
- package/dist/components/date-range-picker/index.js +3 -0
- package/dist/components/date-time-picker/date-time-picker.js +5 -2
- package/dist/components/date-time-picker/index.d.ts +79 -0
- package/dist/components/date-time-picker/index.js +2 -0
- package/dist/components/device-icon/index.d.ts +17 -0
- package/dist/components/device-icon/index.js +2 -0
- package/dist/components/dialog/index.d.ts +38 -0
- package/dist/components/dialog/index.js +2 -0
- package/dist/components/dropdown-menu/index.d.ts +57 -0
- package/dist/components/dropdown-menu/index.js +2 -0
- package/dist/components/dynamic-list/dynamic-list.js +4 -4
- package/dist/components/dynamic-list/index.d.ts +74 -0
- package/dist/components/dynamic-list/index.js +2 -0
- package/dist/components/error-display/index.d.ts +17 -0
- package/dist/components/error-display/index.js +3 -0
- package/dist/components/expandable-text/expandable-text-overlay.js +78 -0
- package/dist/components/expandable-text/expandable-text.js +73 -0
- package/dist/components/expandable-text/index.d.ts +39 -0
- package/dist/components/expandable-text/index.js +2 -0
- package/dist/components/expandable-text/use-clamped.js +23 -0
- package/dist/components/facet-filters/_hooks/use-filter-group.js +51 -0
- package/dist/components/facet-filters/active-filters.js +31 -0
- package/dist/components/facet-filters/filter-group.js +110 -0
- package/dist/components/facet-filters/filters-panel.js +59 -0
- package/dist/components/facet-filters/filters-pill.js +40 -0
- package/dist/components/facet-filters/index.d.ts +104 -0
- package/dist/components/facet-filters/index.js +6 -0
- package/dist/components/facet-filters/use-filters-collapsed.js +21 -0
- package/dist/components/feature-grid/feature-grid.js +115 -0
- package/dist/components/feature-grid/index.d.ts +53 -0
- package/dist/components/feature-grid/index.js +2 -0
- package/dist/components/file-input/file-input.js +9 -3
- package/dist/components/file-input/index.d.ts +78 -0
- package/dist/components/file-input/index.js +2 -0
- package/dist/components/file-upload/file-upload.js +10 -5
- package/dist/components/file-upload/index.d.ts +38 -0
- package/dist/components/file-upload/index.js +2 -0
- package/dist/components/filters-bar/filters-bar.js +5 -1
- package/dist/components/filters-bar/index.d.ts +26 -0
- package/dist/components/filters-bar/index.js +2 -0
- package/dist/components/flip-card/flip-card.js +147 -0
- package/dist/components/flip-card/index.d.ts +43 -0
- package/dist/components/flip-card/index.js +2 -0
- package/dist/components/floating-window/_hooks/use-drag-move.js +76 -0
- package/dist/components/floating-window/floating-window.js +97 -0
- package/dist/components/floating-window/index.d.ts +45 -0
- package/dist/components/floating-window/index.js +2 -0
- package/dist/components/form/index.d.ts +28 -0
- package/dist/components/form/index.js +2 -0
- package/dist/components/fullscreen-dialog/fullscreen-dialog.js +6 -2
- package/dist/components/fullscreen-dialog/index.d.ts +38 -0
- package/dist/components/fullscreen-dialog/index.js +2 -0
- package/dist/components/horizontal-stepper/horizontal-stepper.js +122 -0
- package/dist/components/horizontal-stepper/index.d.ts +70 -0
- package/dist/components/horizontal-stepper/index.js +2 -0
- package/dist/components/icon-avatar/index.d.ts +9 -0
- package/dist/components/icon-avatar/index.js +2 -0
- package/dist/components/icon-text-action-card/icon-text-action-card.js +9 -5
- package/dist/components/icon-text-action-card/index.d.ts +11 -0
- package/dist/components/icon-text-action-card/index.js +2 -0
- package/dist/components/identicon/identicon.js +33 -0
- package/dist/components/identicon/index.d.ts +26 -0
- package/dist/components/identicon/index.js +2 -0
- package/dist/components/illustration/index.d.ts +37 -0
- package/dist/components/illustration/index.js +3 -0
- package/dist/components/index.d.ts +177 -19529
- package/dist/components/index.js +61 -10
- package/dist/components/input/index.d.ts +15 -0
- package/dist/components/input/index.js +3 -0
- package/dist/components/input-group/index.d.ts +35 -0
- package/dist/components/input-group/index.js +2 -0
- package/dist/components/input-group/input-group.js +41 -0
- package/dist/components/input-otp/index.d.ts +63 -0
- package/dist/components/input-otp/index.js +2 -0
- package/dist/components/key-value-manager/index.d.ts +63 -0
- package/dist/components/key-value-manager/index.js +2 -0
- package/dist/components/key-value-manager/key-value-manager-table.js +7 -5
- package/dist/components/label/index.d.ts +8 -0
- package/dist/components/label/index.js +2 -0
- package/dist/components/link/index.d.ts +33 -0
- package/dist/components/link/index.js +2 -0
- package/dist/components/list/index.d.ts +9 -0
- package/dist/components/list/index.js +3 -0
- package/dist/components/list/list-item.utils.js +1 -1
- package/dist/components/list/list.js +3 -1
- package/dist/components/list-details/index.d.ts +51 -0
- package/dist/components/list-details/index.js +2 -0
- package/dist/components/list-details/list-details.js +5 -2
- package/dist/components/lottie-animation-container/index.d.ts +10 -0
- package/dist/components/lottie-animation-container/index.js +2 -0
- package/dist/components/lottie-animation-container/lottie-animation-container.js +22 -3
- package/dist/components/lottie-animations/index.d.ts +8 -0
- package/dist/components/lottie-animations/index.js +2 -0
- package/dist/components/markdown-content/index.d.ts +32 -0
- package/dist/components/markdown-content/index.js +2 -0
- package/dist/components/media-card/index.d.ts +125 -0
- package/dist/components/media-card/index.js +4 -0
- package/dist/components/media-card/media-card-image.js +59 -0
- package/dist/components/media-card/media-card-reveal.js +76 -0
- package/dist/components/media-card/media-card.classes.js +37 -0
- package/dist/components/media-card/media-card.js +91 -0
- package/dist/components/media-stage/index.d.ts +41 -0
- package/dist/components/media-stage/index.js +2 -0
- package/dist/components/media-stage/media-stage.js +48 -0
- package/dist/components/menu/index.d.ts +14 -0
- package/dist/components/menu/index.js +2 -0
- package/dist/components/message-scroller/_hooks/use-follow-bottom.js +85 -0
- package/dist/components/message-scroller/index.d.ts +29 -0
- package/dist/components/message-scroller/index.js +2 -0
- package/dist/components/message-scroller/message-scroller.js +65 -0
- package/dist/components/mini-bar-chart/index.d.ts +40 -0
- package/dist/components/mini-bar-chart/index.js +2 -0
- package/dist/components/mini-bar-chart/mini-bar-chart.js +93 -0
- package/dist/components/monospace-content/index.d.ts +43 -0
- package/dist/components/monospace-content/index.js +2 -0
- package/dist/components/monospace-content/monospace-content.js +1 -1
- package/dist/components/nav-bar/index.d.ts +148 -0
- package/dist/components/nav-bar/index.js +2 -0
- package/dist/components/nav-bar/nav-bar-details-panel.js +158 -44
- package/dist/components/nav-bar/nav-bar-mobile-menu.js +93 -27
- package/dist/components/nav-bar/nav-bar.js +256 -138
- package/dist/components/nav-bar/use-nav-bar-hover-details.js +80 -0
- package/dist/components/nav-bar/use-nav-bar-overflow.js +5 -5
- package/dist/components/notice-strip/index.d.ts +32 -0
- package/dist/components/notice-strip/index.js +2 -0
- package/dist/components/notice-strip/notice-strip.js +57 -0
- package/dist/components/option-card-group/index.d.ts +50 -0
- package/dist/components/option-card-group/index.js +2 -0
- package/dist/components/option-card-group/option-card-group.js +76 -0
- package/dist/components/overflow-badge-list/index.d.ts +63 -0
- package/dist/components/overflow-badge-list/index.js +2 -0
- package/dist/components/overflow-badge-list/overflow-badge-list.js +78 -19
- package/dist/components/page-banner/index.d.ts +33 -0
- package/dist/components/page-banner/index.js +2 -0
- package/dist/components/page-banner/page-banner.js +56 -0
- package/dist/components/page-container/index.d.ts +20 -0
- package/dist/components/page-container/index.js +3 -0
- package/dist/components/page-container/page-container.js +5 -5
- package/dist/components/pagination/index.d.ts +31 -0
- package/dist/components/pagination/index.js +3 -0
- package/dist/components/popover/index.d.ts +60 -0
- package/dist/components/popover/index.js +3 -0
- package/dist/components/preview-card/index.d.ts +24 -0
- package/dist/components/preview-card/index.js +2 -0
- package/dist/components/progress-bar/index.d.ts +32 -0
- package/dist/components/progress-bar/index.js +2 -0
- package/dist/components/progress-bar/progress-bar.js +22 -6
- package/dist/components/radio-group/index.d.ts +24 -0
- package/dist/components/radio-group/index.js +2 -0
- package/dist/components/rank-numeral/index.d.ts +30 -0
- package/dist/components/rank-numeral/index.js +2 -0
- package/dist/components/rank-numeral/rank-numeral.js +26 -0
- package/dist/components/reaction-button/index.d.ts +32 -0
- package/dist/components/reaction-button/index.js +2 -0
- package/dist/components/reaction-button/reaction-button.js +50 -0
- package/dist/components/readout/index.d.ts +31 -0
- package/dist/components/readout/index.js +2 -0
- package/dist/components/readout/readout.js +63 -0
- package/dist/components/requirement-list/index.d.ts +52 -0
- package/dist/components/requirement-list/index.js +2 -0
- package/dist/components/requirement-list/requirement-list.js +29 -8
- package/dist/components/resizable/index.d.ts +31 -0
- package/dist/components/resizable/index.js +4 -0
- package/dist/components/resizable/resizable-group.js +23 -0
- package/dist/components/resizable/resizable-panel.js +28 -0
- package/dist/components/resizable/resizable-separator.js +24 -0
- package/dist/components/reveal/index.d.ts +23 -0
- package/dist/components/reveal/index.js +2 -0
- package/dist/components/reveal/reveal.js +24 -0
- package/dist/components/scroll-area/index.d.ts +27 -0
- package/dist/components/scroll-area/index.js +2 -0
- package/dist/components/scrollable-sections/index.d.ts +58 -0
- package/dist/components/scrollable-sections/index.js +2 -0
- package/dist/components/scrollable-sections/scrollable-sections.js +11 -3
- package/dist/components/search-box/index.d.ts +32 -0
- package/dist/components/search-box/index.js +2 -0
- package/dist/components/search-box/search-box.js +18 -3
- package/dist/components/search-field-shell.js +1 -1
- package/dist/components/select/index.d.ts +44 -0
- package/dist/components/select/index.js +2 -0
- package/dist/components/selectable-card-list/checkbox-card-list.js +5 -3
- package/dist/components/selectable-card-list/index.d.ts +76 -0
- package/dist/components/selectable-card-list/index.js +2 -0
- package/dist/components/selectable-card-list/radio-card-list.js +12 -6
- package/dist/components/selectable-card-list/selectable-card-list-shared.js +24 -12
- package/dist/components/selectable-card-list/selectable-card-list.js +12 -3
- package/dist/components/separator/index.d.ts +24 -0
- package/dist/components/separator/index.js +2 -0
- package/dist/components/share-menu/index.d.ts +55 -0
- package/dist/components/share-menu/index.js +2 -0
- package/dist/components/share-menu/share-marks.js +31 -0
- package/dist/components/share-menu/share-menu.js +140 -0
- package/dist/components/share-menu/share-urls.js +15 -0
- package/dist/components/sheet/index.d.ts +41 -0
- package/dist/components/sheet/index.js +2 -0
- package/dist/components/showcase-card/index.d.ts +53 -0
- package/dist/components/showcase-card/index.js +2 -0
- package/dist/components/showcase-card/showcase-card.js +75 -0
- package/dist/components/sidebar/index.d.ts +109 -0
- package/dist/components/sidebar/index.js +4 -0
- package/dist/components/sidebar/sidebar.js +56 -40
- package/dist/components/simple-clickable-card/index.d.ts +11 -0
- package/dist/components/simple-clickable-card/index.js +2 -0
- package/dist/components/simple-clickable-card/simple-clickable-card-shared.js +2 -2
- package/dist/components/simple-clickable-card/simple-clickable-card.js +5 -2
- package/dist/components/simple-info-card/index.d.ts +25 -0
- package/dist/components/simple-info-card/index.js +2 -0
- package/dist/components/simple-info-card/simple-info-card.js +6 -3
- package/dist/components/simple-list/index.d.ts +63 -0
- package/dist/components/simple-list/index.js +2 -0
- package/dist/components/simple-list/simple-list.js +3 -1
- package/dist/components/simple-paginated-list/index.d.ts +20 -0
- package/dist/components/simple-paginated-list/index.js +2 -0
- package/dist/components/simplified-date/index.d.ts +18 -0
- package/dist/components/simplified-date/index.js +2 -0
- package/dist/components/skeleton/index.d.ts +5 -0
- package/dist/components/skeleton/index.js +2 -0
- package/dist/components/skeletons/index.d.ts +11 -0
- package/dist/components/skeletons/index.js +2 -0
- package/dist/components/sort-menu/index.d.ts +34 -0
- package/dist/components/sort-menu/index.js +2 -0
- package/dist/components/sort-menu/sort-menu.js +39 -0
- package/dist/components/spinner/index.d.ts +15 -0
- package/dist/components/spinner/index.js +2 -0
- package/dist/components/stat-card/index.d.ts +43 -0
- package/dist/components/stat-card/index.js +2 -0
- package/dist/components/stat-card/stat-card.js +31 -12
- package/dist/components/status-badge/index.d.ts +24 -0
- package/dist/components/status-badge/index.js +2 -0
- package/dist/components/status-badge/status-badge.js +3 -2
- package/dist/components/status-card-list/index.d.ts +24 -0
- package/dist/components/status-card-list/index.js +2 -0
- package/dist/components/status-card-list/status-card-list.js +8 -4
- package/dist/components/step-tabs/index.d.ts +94 -0
- package/dist/components/step-tabs/index.js +2 -0
- package/dist/components/step-tabs/step-tabs.js +202 -0
- package/dist/components/style-scope/index.d.ts +32 -0
- package/dist/components/style-scope/index.js +2 -0
- package/dist/components/style-scope/style-scope.js +49 -0
- package/dist/components/switch/index.d.ts +15 -0
- package/dist/components/switch/index.js +2 -0
- package/dist/components/table/index.d.ts +18 -0
- package/dist/components/table/index.js +2 -0
- package/dist/components/tabs/index.d.ts +103 -0
- package/dist/components/tabs/index.js +2 -0
- package/dist/components/tag/index.d.ts +31 -0
- package/dist/components/tag/index.js +2 -0
- package/dist/components/tag/tag.js +79 -28
- package/dist/components/tag-input/index.d.ts +36 -0
- package/dist/components/tag-input/index.js +2 -0
- package/dist/components/tag-input/tag-input.js +10 -4
- package/dist/components/text-effects/index.d.ts +53 -0
- package/dist/components/text-effects/index.js +6 -0
- package/dist/components/textarea/index.d.ts +16 -0
- package/dist/components/textarea/index.js +2 -0
- package/dist/components/thumbnail-strip/index.d.ts +42 -0
- package/dist/components/thumbnail-strip/index.js +2 -0
- package/dist/components/thumbnail-strip/thumbnail-strip.js +124 -0
- package/dist/components/thumbnail-strip/use-scroll-edges.js +41 -0
- package/dist/components/time-picker/index.d.ts +13 -0
- package/dist/components/time-picker/index.js +2 -0
- package/dist/components/timeline/index.d.ts +39 -0
- package/dist/components/timeline/index.js +2 -0
- package/dist/components/timeline/timeline.js +85 -0
- package/dist/components/toast/index.d.ts +56 -0
- package/dist/components/toast/index.js +2 -0
- package/dist/components/toast/toast.js +42 -32
- package/dist/components/togglable-items-list/index.d.ts +28 -0
- package/dist/components/togglable-items-list/index.js +2 -0
- package/dist/components/toggle-group/index.d.ts +35 -0
- package/dist/components/toggle-group/index.js +2 -0
- package/dist/components/toolbar/index.d.ts +58 -0
- package/dist/components/toolbar/index.js +3 -0
- package/dist/components/toolbar/toolbar-button.js +40 -0
- package/dist/components/toolbar/toolbar.js +56 -0
- package/dist/components/tooltip/index.d.ts +29 -0
- package/dist/components/tooltip/index.js +3 -0
- package/dist/components/tooltip/tooltip.js +12 -2
- package/dist/components/transfer-list/index.d.ts +36 -0
- package/dist/components/transfer-list/index.js +2 -0
- package/dist/components/transfer-list/transfer-list.js +1 -1
- package/dist/components/truncated-line-with-tooltip/index.d.ts +22 -0
- package/dist/components/truncated-line-with-tooltip/index.js +2 -0
- package/dist/components/truncated-line-with-tooltip/truncated-line-with-tooltip.js +26 -8
- package/dist/components/typography/index.d.ts +19 -0
- package/dist/components/typography/index.js +3 -0
- package/dist/components/use-mobile/index.d.ts +3 -0
- package/dist/components/use-mobile/index.js +2 -0
- package/dist/components/user-type-badge/index.d.ts +39 -0
- package/dist/components/user-type-badge/index.js +3 -0
- package/dist/components/user-type-badge/user-type-badge.js +2 -1
- package/dist/components/vertical-stepper/index.d.ts +7 -0
- package/dist/components/vertical-stepper/index.js +2 -0
- package/dist/components/vertical-stepper/vertical-stepper.js +33 -6
- package/dist/components/view-toggle/index.d.ts +38 -0
- package/dist/components/view-toggle/index.js +2 -0
- package/dist/components/view-toggle/view-toggle.js +56 -0
- package/dist/core/animate-ui/components/animate/code.js +83 -9
- package/dist/core/animate-ui/components/animate/tabs.js +234 -19
- package/dist/core/animate-ui/components/animate/tooltip.js +10 -2
- package/dist/core/animate-ui/components/base/preview-card.js +20 -3
- package/dist/core/animate-ui/components/buttons/copy.js +12 -6
- package/dist/core/animate-ui/components/radix/dialog.js +17 -3
- package/dist/core/animate-ui/components/radix/dropdown-menu.js +26 -9
- package/dist/core/animate-ui/components/radix/sheet.js +20 -4
- package/dist/core/animate-ui/components/radix/sidebar.js +9 -9
- package/dist/core/animate-ui/components/radix/toggle-group.js +103 -13
- package/dist/core/animate-ui/components/radix/toggle.js +5 -5
- package/dist/core/animate-ui/primitives/animate/code-block.js +31 -4
- package/dist/core/animate-ui/primitives/animate/shiki-highlighter.js +5 -2
- package/dist/core/animate-ui/primitives/animate/tabs.js +7 -4
- package/dist/core/animate-ui/primitives/animate/tooltip.js +10 -3
- package/dist/core/animate-ui/primitives/base/preview-card.js +2 -2
- package/dist/core/animate-ui/primitives/base/progress.js +1 -1
- package/dist/core/animate-ui/primitives/base/radio.js +3 -3
- package/dist/core/animate-ui/primitives/effects/highlight.js +1 -0
- package/dist/core/animate-ui/primitives/radix/accordion.js +1 -1
- package/dist/core/animate-ui/primitives/radix/dialog.js +6 -3
- package/dist/core/animate-ui/primitives/radix/dropdown-menu.js +2 -2
- package/dist/core/animate-ui/primitives/radix/sheet.js +7 -3
- package/dist/core/animate-ui/primitives/radix/switch.js +2 -2
- package/dist/core/animate-ui/primitives/radix/toggle-group.js +2 -2
- package/dist/core/badge.js +5 -2
- package/dist/core/breadcrumb.js +1 -1
- package/dist/core/button/button.js +8 -8
- package/dist/core/button/craft-button.js +8 -2
- package/dist/core/button.js +17 -7
- package/dist/core/card.js +23 -5
- package/dist/core/combobox/combobox.js +8 -2
- package/dist/core/command.js +3 -3
- package/dist/core/form.js +1 -1
- package/dist/core/hooks/use-nested-layer-press-guard.js +46 -0
- package/dist/core/hooks/use-on-screen.js +33 -0
- package/dist/core/hooks/use-prefers-reduced-motion.js +19 -0
- package/dist/core/hooks/use-scroll-overflow.js +20 -0
- package/dist/core/index.d.ts +30 -5
- package/dist/core/index.js +5 -2
- package/dist/core/input/input-password.js +13 -9
- package/dist/core/input/input.js +38 -12
- package/dist/core/input-otp/input-otp.js +9 -5
- package/dist/core/popover-group.js +48 -0
- package/dist/core/popover-hover.js +127 -0
- package/dist/core/popover.js +75 -6
- package/dist/core/select.js +50 -19
- package/dist/core/table.js +5 -3
- package/dist/core/textarea/textarea.js +11 -3
- package/dist/data-table/index.d.ts +4 -0
- package/dist/data-table/index.js +3 -0
- package/dist/date/index.d.ts +11 -0
- package/dist/date/index.js +7 -0
- package/dist/forms/index.d.ts +4 -0
- package/dist/forms/index.js +2 -0
- package/dist/icon-avatar.props-RYtw2eSW.d.ts +31 -0
- package/dist/icon-text-action-card.props-B2ggncUK.d.ts +53 -0
- package/dist/index.d.ts +169 -15
- package/dist/index.js +63 -10
- package/dist/input-CYI1hhGc.d.ts +38 -0
- package/dist/layouts/index.d.ts +132 -8
- package/dist/layouts/index.js +3 -1
- package/dist/layouts/minimal-workspace-layout/minimal-workspace-layout-context.js +5 -0
- package/dist/layouts/minimal-workspace-layout/minimal-workspace-layout.js +404 -0
- package/dist/layouts/minimal-workspace-layout/rail-logo.js +90 -0
- package/dist/layouts/minimal-workspace-layout/sidebar-trigger.js +42 -0
- package/dist/layouts/shared/account-menu-props.js +21 -0
- package/dist/layouts/shared/footer-branding.js +34 -0
- package/dist/layouts/shared/sidebar-logo.js +59 -0
- package/dist/layouts/workspace-layout/account-menu/account-menu.js +9 -3
- package/dist/layouts/workspace-layout/footer/footer.js +1 -1
- package/dist/layouts/workspace-layout/header/header.js +1 -1
- package/dist/layouts/workspace-layout/workspace-layout.js +28 -80
- package/dist/{list.props-x1j3CbcF.d.ts → list.props-DP_xPTqU.d.ts} +2 -1
- package/dist/markdown/index.d.ts +11 -0
- package/dist/markdown/index.js +5 -0
- package/dist/my-account-menu.props-C7DK71WC.d.ts +67 -0
- package/dist/page-container.props-JutTvKFq.d.ts +48 -0
- package/dist/resizable.props-RxFY5tm_.d.ts +44 -0
- package/dist/section-card-B7c5uc08.d.ts +84 -0
- package/dist/simple-clickable-card.props-BrPCw7CR.d.ts +51 -0
- package/dist/slot-DGErA9zi.d.ts +10 -0
- package/dist/status-badge.props-lKlEOfRt.d.ts +32 -0
- package/dist/style-axes-DSQ2DGc5.d.ts +133 -0
- package/dist/toast/index.d.ts +6 -0
- package/dist/toast/index.js +2 -0
- package/dist/tooltip-C0bYa8a3.d.ts +37 -0
- package/dist/{types-DtUxK-Am.d.ts → types-CkXflqg7.d.ts} +31 -1
- package/dist/utils/cn.js +6 -1
- package/dist/utils/color.js +35 -10
- package/dist/utils/index.d.ts +18 -2
- package/dist/utils/index.js +4 -1
- package/dist/utils/silver-shine.js +16 -1
- package/dist/utils/style-axes.js +227 -0
- package/dist/utils/variant.js +104 -8
- package/dist/utils/view-transition.js +21 -0
- package/dist/variant-D81RhpbR.d.ts +104 -0
- package/dist/vertical-stepper.props-BXYcbW70.d.ts +29 -0
- package/package.json +52 -6
- package/src/styles/colors.css +100 -4
- package/src/styles/globals.css +8 -131
- package/src/styles/style-axes.css +21 -0
- package/src/styles/theme.css +696 -0
- package/dist/app-logo.props-Ct7QBdTd.d.ts +0 -40
- package/dist/popover-ByLD3-Qv.d.ts +0 -204
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { d as DensityProps, i as Radius, g as Elevation, a as Border } from '../../style-axes-DSQ2DGc5.js';
|
|
3
|
+
|
|
4
|
+
/** The roles a style-axis value can be set for (docs/token-audit.md → role matrix). */
|
|
5
|
+
type StyleRole = "control" | "surface" | "overlay" | "pill" | "item";
|
|
6
|
+
interface StyleScopeProps extends React.HTMLAttributes<HTMLElement>, DensityProps {
|
|
7
|
+
/** Corner radius per role: `--espd-radius-<role>`. */
|
|
8
|
+
radius?: Partial<Record<StyleRole, Radius>>;
|
|
9
|
+
/** Shadow per role: `--espd-elevation-<role>` (control, surface, overlay). */
|
|
10
|
+
elevation?: Partial<Record<"control" | "surface" | "overlay", Elevation>>;
|
|
11
|
+
/** Border width per role: `--espd-border-width-<role>` (control, surface). */
|
|
12
|
+
border?: Partial<Record<"control" | "surface", Border>>;
|
|
13
|
+
/**
|
|
14
|
+
* Put the tokens on the single child element instead of a wrapper
|
|
15
|
+
* (`display: contents` by default, so the wrapper does not affect layout).
|
|
16
|
+
*/
|
|
17
|
+
asChild?: boolean;
|
|
18
|
+
children?: React.ReactNode;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Sets style-axis role tokens (and a density) for everything inside, as an
|
|
23
|
+
* app's CSS would on `:root`: `<StyleScope radius={{ control: "full" }}>`.
|
|
24
|
+
* Role tokens inherit, so nested components take them; a component's own
|
|
25
|
+
* `radius` / `elevation` / `border` prop still wins.
|
|
26
|
+
*
|
|
27
|
+
* Overlays (dialogs, popovers, menus, toasts) render in portals outside the
|
|
28
|
+
* scope; set overlay tokens on `:root`, or wrap the overlay's content.
|
|
29
|
+
*/
|
|
30
|
+
declare const StyleScope: React.ForwardRefExoticComponent<StyleScopeProps & React.RefAttributes<HTMLElement>>;
|
|
31
|
+
|
|
32
|
+
export { type StyleRole, StyleScope, type StyleScopeProps };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { densityStyle, resolveStyleValue } from "../../utils/style-axes.js";
|
|
2
|
+
import * as React$1 from "react";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
import { Slot } from "@radix-ui/react-slot";
|
|
5
|
+
//#region src/components/style-scope/style-scope.tsx
|
|
6
|
+
/**
|
|
7
|
+
* Sets style-axis role tokens (and a density) for everything inside, as an
|
|
8
|
+
* app's CSS would on `:root`: `<StyleScope radius={{ control: "full" }}>`.
|
|
9
|
+
* Role tokens inherit, so nested components take them; a component's own
|
|
10
|
+
* `radius` / `elevation` / `border` prop still wins.
|
|
11
|
+
*
|
|
12
|
+
* Overlays (dialogs, popovers, menus, toasts) render in portals outside the
|
|
13
|
+
* scope; set overlay tokens on `:root`, or wrap the overlay's content.
|
|
14
|
+
*/
|
|
15
|
+
var StyleScope = React$1.forwardRef(({ radius, elevation, border, density, asChild = false, style, children, ...props }, ref) => {
|
|
16
|
+
const tokens = { ...densityStyle(density) };
|
|
17
|
+
const set = (axis, values, prefix) => {
|
|
18
|
+
for (const [role, value] of Object.entries(values ?? {})) {
|
|
19
|
+
const css = value === void 0 ? void 0 : resolveStyleValue(axis, value);
|
|
20
|
+
if (css) tokens[`--espd-${prefix}-${role}`] = css;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
set("radius", radius, "radius");
|
|
24
|
+
set("elevation", elevation, "elevation");
|
|
25
|
+
set("border", border, "border-width");
|
|
26
|
+
if (asChild) return /* @__PURE__ */ jsx(Slot, {
|
|
27
|
+
ref,
|
|
28
|
+
style: {
|
|
29
|
+
...tokens,
|
|
30
|
+
...style
|
|
31
|
+
},
|
|
32
|
+
...props,
|
|
33
|
+
children
|
|
34
|
+
});
|
|
35
|
+
return /* @__PURE__ */ jsx("div", {
|
|
36
|
+
ref,
|
|
37
|
+
"data-slot": "style-scope",
|
|
38
|
+
style: {
|
|
39
|
+
display: "contents",
|
|
40
|
+
...tokens,
|
|
41
|
+
...style
|
|
42
|
+
},
|
|
43
|
+
...props,
|
|
44
|
+
children
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
StyleScope.displayName = "StyleScope";
|
|
48
|
+
//#endregion
|
|
49
|
+
export { StyleScope };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Switch as Switch$1 } from 'radix-ui';
|
|
3
|
+
import { HTMLMotionProps } from 'motion/react';
|
|
4
|
+
|
|
5
|
+
type SwitchProps$1 = Omit<React.ComponentProps<typeof Switch$1.Root>, 'asChild'> & HTMLMotionProps<'button'>;
|
|
6
|
+
|
|
7
|
+
type SwitchProps = SwitchProps$1 & {
|
|
8
|
+
pressedWidth?: number;
|
|
9
|
+
startIcon?: React.ReactElement;
|
|
10
|
+
endIcon?: React.ReactElement;
|
|
11
|
+
thumbIcon?: React.ReactElement;
|
|
12
|
+
};
|
|
13
|
+
declare function Switch({ className, pressedWidth, startIcon, endIcon, thumbIcon, ...props }: SwitchProps): React.JSX.Element;
|
|
14
|
+
|
|
15
|
+
export { Switch, type SwitchProps };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { d as DensityProps } from '../../style-axes-DSQ2DGc5.js';
|
|
3
|
+
|
|
4
|
+
declare const Table: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableElement> & DensityProps & {
|
|
5
|
+
/** Ref to the scroll container that wraps the `<table>`. */
|
|
6
|
+
containerRef?: React.Ref<HTMLDivElement>;
|
|
7
|
+
/** Extra class names for the scroll container that wraps the `<table>`. */
|
|
8
|
+
containerClassName?: string;
|
|
9
|
+
} & React.RefAttributes<HTMLTableElement>>;
|
|
10
|
+
declare const TableHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
|
|
11
|
+
declare const TableBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
|
|
12
|
+
declare const TableFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
|
|
13
|
+
declare const TableRow: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableRowElement> & React.RefAttributes<HTMLTableRowElement>>;
|
|
14
|
+
declare const TableHead: React.ForwardRefExoticComponent<React.ThHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
|
|
15
|
+
declare const TableCell: React.ForwardRefExoticComponent<React.TdHTMLAttributes<HTMLTableCellElement> & React.RefAttributes<HTMLTableCellElement>>;
|
|
16
|
+
declare const TableCaption: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLTableCaptionElement> & React.RefAttributes<HTMLTableCaptionElement>>;
|
|
17
|
+
|
|
18
|
+
export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow };
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { HTMLMotionProps, Transition } from 'motion/react';
|
|
3
|
+
import { W as WithAsChild } from '../../slot-DGErA9zi.js';
|
|
4
|
+
import { C as Color } from '../../index-BQANnKs9.js';
|
|
5
|
+
|
|
6
|
+
type BaseTabsProps = React.ComponentProps<'div'> & {
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
};
|
|
9
|
+
type UnControlledTabsProps = BaseTabsProps & {
|
|
10
|
+
defaultValue?: string;
|
|
11
|
+
value?: never;
|
|
12
|
+
onValueChange?: never;
|
|
13
|
+
};
|
|
14
|
+
type ControlledTabsProps = BaseTabsProps & {
|
|
15
|
+
value: string;
|
|
16
|
+
onValueChange?: (value: string) => void;
|
|
17
|
+
defaultValue?: never;
|
|
18
|
+
};
|
|
19
|
+
type TabsProps$1 = UnControlledTabsProps | ControlledTabsProps;
|
|
20
|
+
type TabsListProps$1 = React.ComponentProps<'div'> & {
|
|
21
|
+
children: React.ReactNode;
|
|
22
|
+
};
|
|
23
|
+
type TabsTriggerProps$1 = WithAsChild<{
|
|
24
|
+
value: string;
|
|
25
|
+
children: React.ReactNode;
|
|
26
|
+
} & HTMLMotionProps<'button'>>;
|
|
27
|
+
type TabsContentsProps$1 = HTMLMotionProps<'div'> & {
|
|
28
|
+
children: React.ReactNode;
|
|
29
|
+
transition?: Transition;
|
|
30
|
+
};
|
|
31
|
+
type TabsContentProps$1 = WithAsChild<{
|
|
32
|
+
value: string;
|
|
33
|
+
children: React.ReactNode;
|
|
34
|
+
} & HTMLMotionProps<'div'>>;
|
|
35
|
+
|
|
36
|
+
type TabsListVariant = 'line' | 'rounded' | 'glow' | 'solid';
|
|
37
|
+
type TabsListSize = 'sm' | 'default' | 'lg';
|
|
38
|
+
type TabsProps = TabsProps$1;
|
|
39
|
+
declare function Tabs({ className, ...props }: TabsProps): React.JSX.Element;
|
|
40
|
+
type TabsListProps = TabsListProps$1 & {
|
|
41
|
+
/**
|
|
42
|
+
* `line`: an underline. `rounded`: a tinted pill. `glow`: the pill with a
|
|
43
|
+
* halo. `solid`: the selected tab is a filled pill in `color`, its text in
|
|
44
|
+
* a colour that reads on the fill.
|
|
45
|
+
*/
|
|
46
|
+
variant?: TabsListVariant;
|
|
47
|
+
/**
|
|
48
|
+
* `sm`: a 28px strip (smaller padding, 24px triggers, small text), for a
|
|
49
|
+
* toolbar. `lg`: 36px triggers, base text and 20px icons. @default 'default'
|
|
50
|
+
*/
|
|
51
|
+
size?: TabsListSize;
|
|
52
|
+
/**
|
|
53
|
+
* The colour the list is drawn in: the selected pill's tint and label (or,
|
|
54
|
+
* for `solid`, its fill — then a preset's `-foreground` token is the text,
|
|
55
|
+
* and any other CSS colour gets black or white by its lightness), the
|
|
56
|
+
* list's border and the glow's halo. @default 'primary'
|
|
57
|
+
*/
|
|
58
|
+
color?: Color;
|
|
59
|
+
/**
|
|
60
|
+
* Below the `md` breakpoint (768px), stretch the list to the full width so the
|
|
61
|
+
* tabs share the row evenly. Tabs that don't fit still scroll sideways. From
|
|
62
|
+
* `md` up the list is only as wide as its tabs either way.
|
|
63
|
+
*
|
|
64
|
+
* @default true
|
|
65
|
+
*/
|
|
66
|
+
fullWidth?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Clicking the tab that is already selected folds the list to icons: every
|
|
69
|
+
* trigger with an `icon` shows only its icon (its label stays, visually
|
|
70
|
+
* hidden, for screen readers); clicking it again brings the labels back.
|
|
71
|
+
* Only a trigger with an icon toggles, and triggers without one keep their
|
|
72
|
+
* label. The state belongs to the list, so it holds as the selection moves.
|
|
73
|
+
*
|
|
74
|
+
* @default false
|
|
75
|
+
*/
|
|
76
|
+
collapsible?: boolean;
|
|
77
|
+
/** Icon-only state, controlled. Pair with `onCollapsedChange`. */
|
|
78
|
+
collapsed?: boolean;
|
|
79
|
+
/** Icon-only state at first, uncontrolled. @default false */
|
|
80
|
+
defaultCollapsed?: boolean;
|
|
81
|
+
onCollapsedChange?: (collapsed: boolean) => void;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* When the tabs don't fit, the list scrolls horizontally: edges fade to signal
|
|
85
|
+
* hidden tabs, chevron buttons page through them on pointer devices, and the
|
|
86
|
+
* active tab is kept in view. Pass `aria-orientation="vertical"` for a stacked list.
|
|
87
|
+
*/
|
|
88
|
+
declare function TabsList({ variant, size, color, fullWidth, collapsible, collapsed: collapsedProp, defaultCollapsed, onCollapsedChange, ...props }: TabsListProps): React.JSX.Element;
|
|
89
|
+
type TabsTriggerProps = TabsTriggerProps$1 & {
|
|
90
|
+
/**
|
|
91
|
+
* Shown before the label. With a collapsible `TabsList`, a trigger that has
|
|
92
|
+
* an icon is the one that can fold to it. Works with `asChild` too: the icon
|
|
93
|
+
* and label are placed inside the child element (a router link).
|
|
94
|
+
*/
|
|
95
|
+
icon?: React.ReactNode;
|
|
96
|
+
};
|
|
97
|
+
declare function TabsTrigger({ className, icon, onClick, ...props }: TabsTriggerProps): React.JSX.Element;
|
|
98
|
+
type TabsContentsProps = TabsContentsProps$1;
|
|
99
|
+
declare function TabsContents(props: TabsContentsProps): React.JSX.Element;
|
|
100
|
+
type TabsContentProps = TabsContentProps$1;
|
|
101
|
+
declare function TabsContent({ className, ...props }: TabsContentProps): React.JSX.Element;
|
|
102
|
+
|
|
103
|
+
export { Tabs, TabsContent, type TabsContentProps, TabsContents, type TabsContentsProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { HTMLAttributes } from 'react';
|
|
3
|
+
import { S as Size, P as PresetColor } from '../../index-BQANnKs9.js';
|
|
4
|
+
import { f as Variant } from '../../variant-D81RhpbR.js';
|
|
5
|
+
import { k as StyleAxisProps } from '../../style-axes-DSQ2DGc5.js';
|
|
6
|
+
|
|
7
|
+
interface TagProps extends HTMLAttributes<HTMLDivElement>, Pick<StyleAxisProps, "radius"> {
|
|
8
|
+
/** Optional title shown in a tinted chip before the value. When omitted, only `value` is shown. */
|
|
9
|
+
name?: string;
|
|
10
|
+
value: string;
|
|
11
|
+
/** Tooltip for the name segment; defaults to `name`. Use when `name` is truncated. */
|
|
12
|
+
nameTooltip?: string;
|
|
13
|
+
/** Tooltip for the value segment; defaults to `value`. Use when `value` is truncated. */
|
|
14
|
+
valueTooltip?: string;
|
|
15
|
+
/** When true, `name` wraps onto more lines instead of being truncated with an ellipsis. */
|
|
16
|
+
showFullName?: boolean;
|
|
17
|
+
/** When true, `value` wraps onto more lines instead of being truncated with an ellipsis. */
|
|
18
|
+
showFullValue?: boolean;
|
|
19
|
+
size?: Size;
|
|
20
|
+
/** Semantic color token; drives `Badge` chrome and name chip tint. Accepts the brand `"silver"` value. */
|
|
21
|
+
color?: PresetColor | "silver";
|
|
22
|
+
/** Surface treatment. Shared with Alert/Badge/SimpleClickableCard. */
|
|
23
|
+
variant?: Variant;
|
|
24
|
+
/** When true, render the tag, name chip, and delete action with fully rounded corners. Same as `radius="full"`; `radius` wins when both are set. */
|
|
25
|
+
rounded?: boolean;
|
|
26
|
+
onDelete?: () => void;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
declare const Tag: React.ForwardRefExoticComponent<TagProps & React.RefAttributes<HTMLDivElement>>;
|
|
30
|
+
|
|
31
|
+
export { Tag, type TagProps };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { cn } from "../../utils/cn.js";
|
|
2
|
+
import { useStyleAxes } from "../../utils/style-axes.js";
|
|
2
3
|
import { buttonVariants } from "../../core/button.js";
|
|
3
4
|
import Tooltip from "../tooltip/tooltip.js";
|
|
4
5
|
import { Badge } from "../../core/badge.js";
|
|
@@ -14,25 +15,28 @@ import { cva } from "class-variance-authority";
|
|
|
14
15
|
* - `soft`: chip uses a light `color/10` tint to stay distinct from value text.
|
|
15
16
|
* - `outline` / `gradient`: badge has no fill, so chip uses a `color/15` patch.
|
|
16
17
|
* - `solid`: badge is saturated; chip uses a translucent dark patch for contrast.
|
|
18
|
+
* - `glow`: a soft tint like `soft`, so the chip takes `soft`'s patch.
|
|
17
19
|
*/
|
|
20
|
+
var SOFT_NAME_CHIP_TINT = {
|
|
21
|
+
primary: "bg-primary/10",
|
|
22
|
+
secondary: "bg-secondary/10",
|
|
23
|
+
error: "bg-error/10",
|
|
24
|
+
info: "bg-info/10",
|
|
25
|
+
success: "bg-success/10",
|
|
26
|
+
warning: "bg-warning/10",
|
|
27
|
+
disabled: "bg-disabled/10",
|
|
28
|
+
gray: "bg-gray/10",
|
|
29
|
+
mist: "bg-mist-border/70"
|
|
30
|
+
};
|
|
18
31
|
var NAME_CHIP_TINT = {
|
|
19
|
-
soft:
|
|
20
|
-
|
|
21
|
-
secondary: "bg-secondary/10",
|
|
22
|
-
error: "bg-error/10",
|
|
23
|
-
info: "bg-info/10",
|
|
24
|
-
success: "bg-success/10",
|
|
25
|
-
warning: "bg-warning/10",
|
|
26
|
-
disabled: "bg-disabled/10",
|
|
27
|
-
gray: "bg-gray/10",
|
|
28
|
-
mist: "bg-mist-border/70"
|
|
29
|
-
},
|
|
32
|
+
soft: SOFT_NAME_CHIP_TINT,
|
|
33
|
+
glow: SOFT_NAME_CHIP_TINT,
|
|
30
34
|
outline: {
|
|
31
35
|
primary: "bg-primary/15",
|
|
32
36
|
secondary: "bg-secondary/15",
|
|
33
37
|
error: "bg-error/15",
|
|
34
38
|
info: "bg-info/15",
|
|
35
|
-
success: "bg-success/
|
|
39
|
+
success: "bg-success/20",
|
|
36
40
|
warning: "bg-warning/15",
|
|
37
41
|
disabled: "bg-disabled/15",
|
|
38
42
|
gray: "bg-gray/15",
|
|
@@ -43,7 +47,7 @@ var NAME_CHIP_TINT = {
|
|
|
43
47
|
secondary: "bg-secondary/15",
|
|
44
48
|
error: "bg-error/15",
|
|
45
49
|
info: "bg-info/15",
|
|
46
|
-
success: "bg-success/
|
|
50
|
+
success: "bg-success/20",
|
|
47
51
|
warning: "bg-warning/15",
|
|
48
52
|
disabled: "bg-disabled/15",
|
|
49
53
|
gray: "bg-gray/15",
|
|
@@ -64,13 +68,21 @@ var NAME_CHIP_TINT = {
|
|
|
64
68
|
/** `"silver"` chip tints follow the gray family with slightly extra contrast for the metallic surface. */
|
|
65
69
|
var SILVER_NAME_CHIP_TINT = {
|
|
66
70
|
soft: "bg-gray/10",
|
|
71
|
+
glow: "bg-gray/10",
|
|
67
72
|
outline: "bg-gray/15",
|
|
68
73
|
gradient: "bg-gray/15",
|
|
69
74
|
solid: "bg-black/20 text-gray-foreground"
|
|
70
75
|
};
|
|
76
|
+
/**
|
|
77
|
+
* The built-in row for `variant`, or `outline`'s for a variant an app
|
|
78
|
+
* registered (`registerVariant`): a neutral patch that reads on any surface.
|
|
79
|
+
*/
|
|
80
|
+
function builtInRow(table, variant) {
|
|
81
|
+
return table[variant] ?? table.outline;
|
|
82
|
+
}
|
|
71
83
|
function getNameChipTint(variant, color) {
|
|
72
|
-
if (color === "silver") return SILVER_NAME_CHIP_TINT
|
|
73
|
-
return NAME_CHIP_TINT
|
|
84
|
+
if (color === "silver") return builtInRow(SILVER_NAME_CHIP_TINT, variant);
|
|
85
|
+
return builtInRow(NAME_CHIP_TINT, variant)[color];
|
|
74
86
|
}
|
|
75
87
|
var tagSizeVariants = cva("inline-flex min-w-0 max-w-full items-center shadow-none transition-shadow duration-200 ease-out hover:shadow-sm [&_svg]:shrink-0", {
|
|
76
88
|
variants: { size: {
|
|
@@ -80,21 +92,53 @@ var tagSizeVariants = cva("inline-flex min-w-0 max-w-full items-center shadow-no
|
|
|
80
92
|
} },
|
|
81
93
|
defaultVariants: { size: "default" }
|
|
82
94
|
});
|
|
95
|
+
/** With a delete button the end padding matches the vertical padding, so the button sits as close to the right edge as to the top and bottom. */
|
|
96
|
+
var deletablePaddingClasses = {
|
|
97
|
+
sm: "pe-0.5",
|
|
98
|
+
default: "pe-1",
|
|
99
|
+
lg: "pe-1.5"
|
|
100
|
+
};
|
|
83
101
|
var deleteButtonSizeClasses = {
|
|
84
102
|
sm: "h-5 w-5 [&_svg]:size-3",
|
|
85
103
|
default: "h-6 w-6 [&_svg]:size-3.5",
|
|
86
104
|
lg: "h-7 w-7 [&_svg]:size-4"
|
|
87
105
|
};
|
|
106
|
+
/**
|
|
107
|
+
* Boxy delete button corners, concentric with the Badge: its radius minus the
|
|
108
|
+
* inset to the edge (the size's vertical padding), never below 2px.
|
|
109
|
+
*/
|
|
110
|
+
var deleteButtonRadiusClasses = {
|
|
111
|
+
sm: "rounded-[max(2px,calc(var(--espd-own-radius,var(--espd-radius-pill,var(--radius-md)))-var(--spacing)*0.5))]",
|
|
112
|
+
default: "rounded-[max(2px,calc(var(--espd-own-radius,var(--espd-radius-pill,var(--radius-md)))-var(--spacing)*1))]",
|
|
113
|
+
lg: "rounded-[max(2px,calc(var(--espd-own-radius,var(--espd-radius-pill,var(--radius-md)))-var(--spacing)*1.5))]"
|
|
114
|
+
};
|
|
115
|
+
/** Name chip text: a faint contour in the text's own colour plus a firm, tight drop shadow. */
|
|
116
|
+
var nameTextEffectClass = "[text-shadow:0_0_0.5px_color-mix(in_oklab,currentColor_40%,transparent),0_0.5px_0.5px_rgb(0_0_0/0.25)]";
|
|
117
|
+
/** Text segment classes: ellipsis at a capped width by default, wrapping when shown in full. */
|
|
118
|
+
function segmentClasses(showFull) {
|
|
119
|
+
return showFull ? "min-w-0 whitespace-normal [overflow-wrap:anywhere]" : "min-w-0 max-w-40 truncate";
|
|
120
|
+
}
|
|
121
|
+
/** Wraps `children` in a Tooltip unless there is nothing to add (no tip, or the text is already shown in full). */
|
|
122
|
+
function MaybeTooltip({ tip, explicit, showFull, children }) {
|
|
123
|
+
if (!tip || showFull && !explicit) return children;
|
|
124
|
+
return /* @__PURE__ */ jsx(Tooltip, {
|
|
125
|
+
content: tip,
|
|
126
|
+
children
|
|
127
|
+
});
|
|
128
|
+
}
|
|
88
129
|
var deleteButtonVariantClasses = {
|
|
89
130
|
soft: "bg-error/10 text-error hover:bg-error/15 hover:text-error",
|
|
131
|
+
glow: "bg-error/10 text-error hover:bg-error/15 hover:text-error",
|
|
90
132
|
outline: "bg-error/10 text-error hover:bg-error/15 hover:text-error",
|
|
91
133
|
gradient: "bg-error/10 text-error hover:bg-error/15 hover:text-error",
|
|
92
134
|
solid: "bg-error/20 text-error-foreground hover:bg-error/30 hover:text-error-foreground"
|
|
93
135
|
};
|
|
94
|
-
var Tag$1 = React$1.forwardRef(({ name, value, nameTooltip, valueTooltip, size = "default", color = "secondary", variant = "soft", rounded = false, onDelete, className, ...rest }, ref) => {
|
|
136
|
+
var Tag$1 = React$1.forwardRef(({ name, value, nameTooltip, valueTooltip, showFullName = false, showFullValue = false, size = "default", color = "secondary", variant = "soft", rounded = false, onDelete, className, radius, ...rest }, ref) => {
|
|
137
|
+
const { partStyle } = useStyleAxes({ radius }, ["radius"]);
|
|
138
|
+
const fullRound = rounded && radius === void 0;
|
|
95
139
|
const nameTip = nameTooltip ?? name;
|
|
96
|
-
const valueTip =
|
|
97
|
-
const removeLabel =
|
|
140
|
+
const valueTip = valueTooltip ?? value;
|
|
141
|
+
const removeLabel = nameTip ? `${nameTip}: ${valueTip}` : valueTip;
|
|
98
142
|
return /* @__PURE__ */ jsx("div", {
|
|
99
143
|
ref,
|
|
100
144
|
className: "inline-block max-w-full",
|
|
@@ -102,33 +146,40 @@ var Tag$1 = React$1.forwardRef(({ name, value, nameTooltip, valueTooltip, size =
|
|
|
102
146
|
children: /* @__PURE__ */ jsxs(Badge, {
|
|
103
147
|
variant,
|
|
104
148
|
color,
|
|
105
|
-
|
|
149
|
+
radius,
|
|
150
|
+
className: cn(tagSizeVariants({ size }), onDelete && deletablePaddingClasses[size], fullRound && "rounded-full", className),
|
|
106
151
|
children: [
|
|
107
152
|
/* @__PURE__ */ jsx(Tag, {
|
|
108
153
|
"aria-hidden": true,
|
|
109
154
|
className: "opacity-70"
|
|
110
155
|
}),
|
|
111
|
-
/* @__PURE__ */ jsx(
|
|
112
|
-
|
|
156
|
+
name ? /* @__PURE__ */ jsx(MaybeTooltip, {
|
|
157
|
+
tip: nameTip,
|
|
158
|
+
explicit: nameTooltip !== void 0,
|
|
159
|
+
showFull: showFullName,
|
|
113
160
|
children: /* @__PURE__ */ jsx("span", {
|
|
114
|
-
|
|
161
|
+
style: partStyle,
|
|
162
|
+
className: cn(segmentClasses(showFullName), "px-1.5 py-0.5 font-medium leading-[normal]", nameTextEffectClass, fullRound ? "rounded-full" : "rounded-[var(--espd-own-radius,var(--espd-radius-pill,var(--radius-sm)))]", getNameChipTint(variant, color)),
|
|
115
163
|
children: name
|
|
116
164
|
})
|
|
117
|
-
}),
|
|
118
|
-
|
|
119
|
-
|
|
165
|
+
}) : null,
|
|
166
|
+
/* @__PURE__ */ jsx(MaybeTooltip, {
|
|
167
|
+
tip: valueTip,
|
|
168
|
+
explicit: valueTooltip !== void 0,
|
|
169
|
+
showFull: showFullValue,
|
|
120
170
|
children: /* @__PURE__ */ jsx("span", {
|
|
121
|
-
className: "
|
|
171
|
+
className: cn(segmentClasses(showFullValue), "font-normal leading-[normal]"),
|
|
122
172
|
children: value
|
|
123
173
|
})
|
|
124
|
-
})
|
|
174
|
+
}),
|
|
125
175
|
onDelete ? /* @__PURE__ */ jsx("button", {
|
|
126
176
|
type: "button",
|
|
127
177
|
"aria-label": `Remove ${removeLabel}`,
|
|
178
|
+
style: partStyle,
|
|
128
179
|
className: cn(buttonVariants({
|
|
129
180
|
variant: "ghost",
|
|
130
181
|
size: "icon"
|
|
131
|
-
}), deleteButtonSizeClasses[size], "shrink-0",
|
|
182
|
+
}), deleteButtonSizeClasses[size], "shrink-0", fullRound ? "rounded-full" : deleteButtonRadiusClasses[size], builtInRow(deleteButtonVariantClasses, variant)),
|
|
132
183
|
onClick: onDelete,
|
|
133
184
|
children: /* @__PURE__ */ jsx(X, {
|
|
134
185
|
"aria-hidden": true,
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ComponentProps, ReactNode } from 'react';
|
|
3
|
+
import { S as Size } from '../../index-BQANnKs9.js';
|
|
4
|
+
import { k as StyleAxisProps } from '../../style-axes-DSQ2DGc5.js';
|
|
5
|
+
|
|
6
|
+
/** Style axes `radius` and `border`: the input field (its chips follow `rounded`). */
|
|
7
|
+
interface TagInputProps extends Omit<ComponentProps<"input">, "size" | "value" | "defaultValue" | "onChange">, Pick<StyleAxisProps, "radius" | "border"> {
|
|
8
|
+
tags: readonly string[];
|
|
9
|
+
onTagsChange: (tags: string[]) => void;
|
|
10
|
+
label?: ReactNode;
|
|
11
|
+
required?: boolean;
|
|
12
|
+
size?: Size;
|
|
13
|
+
/** Fully rounded field and chips. For the field, same as `radius="full"`; `radius` wins when both are set. */
|
|
14
|
+
rounded?: boolean;
|
|
15
|
+
startHelperContent?: ReactNode;
|
|
16
|
+
endHelperContent?: ReactNode;
|
|
17
|
+
hintContent?: ReactNode;
|
|
18
|
+
error?: boolean;
|
|
19
|
+
errorContent?: ReactNode;
|
|
20
|
+
/** When set, trimmed draft must match before a tag is added. */
|
|
21
|
+
validatorRegex?: RegExp;
|
|
22
|
+
onInvalidTag?: (value: string) => void;
|
|
23
|
+
/** @default false */
|
|
24
|
+
allowDuplicates?: boolean;
|
|
25
|
+
/** @default 10 */
|
|
26
|
+
maxTagDisplayLength?: number;
|
|
27
|
+
/**
|
|
28
|
+
* When true, each tag string is split on the first `:` into `Tag` `name` and `value`.
|
|
29
|
+
* Use together with a validator that only allows `name:value` shaped tags.
|
|
30
|
+
*/
|
|
31
|
+
nameValueTags?: boolean;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
declare const TagInput: React.ForwardRefExoticComponent<Omit<TagInputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
|
|
35
|
+
|
|
36
|
+
export { TagInput, type TagInputProps };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { cn } from "../../utils/cn.js";
|
|
2
|
+
import { useStyleAxes } from "../../utils/style-axes.js";
|
|
2
3
|
import { Tag } from "../tag/tag.js";
|
|
3
4
|
import * as React$1 from "react";
|
|
4
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -27,7 +28,11 @@ function parseNameValueTag(tag) {
|
|
|
27
28
|
value: tag.slice(i + 1)
|
|
28
29
|
};
|
|
29
30
|
}
|
|
30
|
-
var TagInput = React$1.forwardRef(({ tags, onTagsChange, label, required, size, rounded, startHelperContent, endHelperContent, hintContent, error, errorContent, validatorRegex, onInvalidTag, allowDuplicates = false, maxTagDisplayLength = 10, nameValueTags = false, className, id, disabled, readOnly, placeholder, onKeyDown, onBlur, ...restInputProps }, ref) => {
|
|
31
|
+
var TagInput = React$1.forwardRef(({ tags, onTagsChange, label, required, size, rounded, startHelperContent, endHelperContent, hintContent, error, errorContent, validatorRegex, onInvalidTag, allowDuplicates = false, maxTagDisplayLength = 10, nameValueTags = false, className, id, disabled, readOnly, placeholder, onKeyDown, onBlur, radius, border, ...restInputProps }, ref) => {
|
|
32
|
+
const axes = useStyleAxes({
|
|
33
|
+
radius,
|
|
34
|
+
border
|
|
35
|
+
}, ["radius", "border"]);
|
|
31
36
|
const autoId = React$1.useId();
|
|
32
37
|
const inputId = id ?? autoId;
|
|
33
38
|
const rootRef = React$1.useRef(null);
|
|
@@ -78,7 +83,7 @@ var TagInput = React$1.forwardRef(({ tags, onTagsChange, label, required, size,
|
|
|
78
83
|
if (next instanceof Node && rootRef.current?.contains(next)) return;
|
|
79
84
|
tryCommitDraft();
|
|
80
85
|
};
|
|
81
|
-
const controlClasses = cn("peer flex w-full flex-wrap items-center border border-input bg-background ring-offset-background transition-[box-shadow,border-color] duration-200 ease-in-out focus-within:outline-none focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2", controlSizeClasses[effectiveSize], rounded ? "rounded-full" : "rounded-md", hasError && "border-destructive focus-within:ring-destructive", disabled && "pointer-events-none opacity-50", readOnly && "bg-muted", className);
|
|
86
|
+
const controlClasses = cn("peer flex w-full flex-wrap items-center border-[length:var(--espd-own-border-width,var(--espd-border-width-control,1px))] border-input bg-background ring-offset-background transition-[box-shadow,border-color] duration-200 ease-in-out focus-within:outline-none focus-within:ring-2 focus-within:ring-ring focus-within:ring-offset-2", controlSizeClasses[effectiveSize], rounded && radius === void 0 ? "rounded-full" : "rounded-[var(--espd-own-radius,var(--espd-radius-control,var(--radius-md)))]", hasError && "border-destructive focus-within:ring-destructive", disabled && "pointer-events-none opacity-50", readOnly && "bg-muted", className);
|
|
82
87
|
const inputClasses = cn("min-w-[6rem] flex-1 border-0 bg-transparent p-0 text-foreground placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed read-only:cursor-default", inputTextSizeClasses[effectiveSize]);
|
|
83
88
|
return /* @__PURE__ */ jsxs("div", {
|
|
84
89
|
ref: rootRef,
|
|
@@ -105,6 +110,7 @@ var TagInput = React$1.forwardRef(({ tags, onTagsChange, label, required, size,
|
|
|
105
110
|
}) : null,
|
|
106
111
|
/* @__PURE__ */ jsxs("div", {
|
|
107
112
|
className: controlClasses,
|
|
113
|
+
style: axes.style,
|
|
108
114
|
children: [tags.map((tag, index) => {
|
|
109
115
|
const parsed = nameValueTags ? parseNameValueTag(tag) : null;
|
|
110
116
|
if (parsed) return /* @__PURE__ */ jsx(Tag, {
|
|
@@ -116,8 +122,8 @@ var TagInput = React$1.forwardRef(({ tags, onTagsChange, label, required, size,
|
|
|
116
122
|
onDelete: disabled || readOnly ? void 0 : () => removeAt(index)
|
|
117
123
|
}, `${tag}-${index}`);
|
|
118
124
|
return /* @__PURE__ */ jsx(Tag, {
|
|
119
|
-
|
|
120
|
-
|
|
125
|
+
value: truncateDisplay(tag, maxTagDisplayLength),
|
|
126
|
+
valueTooltip: tag,
|
|
121
127
|
size: effectiveSize,
|
|
122
128
|
onDelete: disabled || readOnly ? void 0 : () => removeAt(index)
|
|
123
129
|
}, `${tag}-${index}`);
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { FC, ReactNode } from 'react';
|
|
3
|
+
import { Transition, HTMLMotionProps, UseInViewOptions } from 'motion/react';
|
|
4
|
+
|
|
5
|
+
interface GlitchTextProps {
|
|
6
|
+
text?: string;
|
|
7
|
+
children?: string;
|
|
8
|
+
speed?: number;
|
|
9
|
+
enableShadows?: boolean;
|
|
10
|
+
enableOnHover?: boolean;
|
|
11
|
+
className?: string;
|
|
12
|
+
}
|
|
13
|
+
declare const GlitchText: FC<GlitchTextProps>;
|
|
14
|
+
|
|
15
|
+
type GradientTextProps = React.ComponentProps<"span"> & {
|
|
16
|
+
text: string;
|
|
17
|
+
gradient?: string;
|
|
18
|
+
neon?: boolean;
|
|
19
|
+
transition?: Transition;
|
|
20
|
+
};
|
|
21
|
+
declare function GradientText({ text, className, gradient, neon, transition, ...props }: GradientTextProps): React.JSX.Element;
|
|
22
|
+
|
|
23
|
+
type HighlightTextProps = HTMLMotionProps<"span"> & {
|
|
24
|
+
text: string;
|
|
25
|
+
inView?: boolean;
|
|
26
|
+
inViewMargin?: UseInViewOptions["margin"];
|
|
27
|
+
inViewOnce?: boolean;
|
|
28
|
+
transition?: Transition;
|
|
29
|
+
};
|
|
30
|
+
declare function HighlightText({ ref, text, className, inView, inViewMargin, inViewOnce, transition, ...props }: HighlightTextProps): React.JSX.Element;
|
|
31
|
+
|
|
32
|
+
type ShimmeringTextProps = {
|
|
33
|
+
text: string;
|
|
34
|
+
duration?: number;
|
|
35
|
+
transition?: Transition;
|
|
36
|
+
wave?: boolean;
|
|
37
|
+
color?: string;
|
|
38
|
+
shimmeringColor?: string;
|
|
39
|
+
} & Omit<HTMLMotionProps<"span">, "children">;
|
|
40
|
+
declare function ShimmeringText({ text, duration, transition, wave, className, color, shimmeringColor, ...props }: ShimmeringTextProps): React.JSX.Element;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Parses a string containing text-effect markup tags (e.g. `<gradient-text>`,
|
|
44
|
+
* `<highlight-text>`) and returns an array of React nodes with the tagged
|
|
45
|
+
* segments rendered by their corresponding components.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* parseTextMarkup("Hello <gradient-text>World</gradient-text> and <highlight-text>Wow</highlight-text>!")
|
|
49
|
+
* // → ["Hello ", <GradientText text="World" />, " and ", <HighlightText text="Wow" />, "!"]
|
|
50
|
+
*/
|
|
51
|
+
declare function parseTextMarkup(text: string): ReactNode[];
|
|
52
|
+
|
|
53
|
+
export { GlitchText, type GlitchTextProps, GradientText, type GradientTextProps, HighlightText, type HighlightTextProps, ShimmeringText, type ShimmeringTextProps, parseTextMarkup };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { GlitchText } from "./glitch-effect/glitch-text.js";
|
|
2
|
+
import { GradientText } from "./gradient-text/gradient-text.js";
|
|
3
|
+
import { HighlightText } from "./highlight-text/highlight-text.js";
|
|
4
|
+
import { ShimmeringText } from "./shimmer-text/shimmer-text.js";
|
|
5
|
+
import { parseTextMarkup } from "./parse-text-markup.js";
|
|
6
|
+
export { GlitchText, GradientText, HighlightText, ShimmeringText, parseTextMarkup };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { k as StyleAxisProps } from '../../style-axes-DSQ2DGc5.js';
|
|
3
|
+
import { S as Size } from '../../index-BQANnKs9.js';
|
|
4
|
+
|
|
5
|
+
interface TextareaProps extends Omit<React.ComponentProps<"textarea">, "size">, Pick<StyleAxisProps, "radius" | "border"> {
|
|
6
|
+
label?: React.ReactNode;
|
|
7
|
+
required?: boolean;
|
|
8
|
+
size?: Size;
|
|
9
|
+
hintContent?: React.ReactNode;
|
|
10
|
+
error?: boolean;
|
|
11
|
+
errorContent?: React.ReactNode;
|
|
12
|
+
charLimit?: number;
|
|
13
|
+
}
|
|
14
|
+
declare const Textarea: React.ForwardRefExoticComponent<Omit<TextareaProps, "ref"> & React.RefAttributes<HTMLTextAreaElement>>;
|
|
15
|
+
|
|
16
|
+
export { Textarea, type TextareaProps };
|