@solid-design-system/mcp 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -0
- package/LICENSE.md +10 -0
- package/README.md +408 -0
- package/dist/bin/start.d.ts +2 -0
- package/dist/bin/start.js +8 -0
- package/dist/build/build.d.ts +1 -0
- package/dist/build/build.js +36 -0
- package/dist/build/components.d.ts +9 -0
- package/dist/build/components.js +264 -0
- package/dist/build/icons.d.ts +12 -0
- package/dist/build/icons.js +79 -0
- package/dist/build/package-docs.d.ts +1 -0
- package/dist/build/package-docs.js +67 -0
- package/dist/build/static.d.ts +4 -0
- package/dist/build/static.js +39 -0
- package/dist/build/styles.d.ts +9 -0
- package/dist/build/styles.js +178 -0
- package/dist/build/templates.d.ts +1 -0
- package/dist/build/templates.js +239 -0
- package/dist/build/tokens.d.ts +4 -0
- package/dist/build/tokens.js +105 -0
- package/dist/server.d.ts +6 -0
- package/dist/server.js +20 -0
- package/dist/tools/components.d.ts +12 -0
- package/dist/tools/components.js +175 -0
- package/dist/tools/icon-search.d.ts +7 -0
- package/dist/tools/icon-search.js +184 -0
- package/dist/tools/index.d.ts +7 -0
- package/dist/tools/index.js +7 -0
- package/dist/tools/quickstart.d.ts +2 -0
- package/dist/tools/quickstart.js +104 -0
- package/dist/tools/styles.d.ts +12 -0
- package/dist/tools/styles.js +167 -0
- package/dist/tools/templates.d.ts +11 -0
- package/dist/tools/templates.js +146 -0
- package/dist/tools/tokens.d.ts +7 -0
- package/dist/tools/tokens.js +198 -0
- package/dist/tools/version.d.ts +7 -0
- package/dist/tools/version.js +50 -0
- package/dist/utilities/components.d.ts +8 -0
- package/dist/utilities/components.js +24 -0
- package/dist/utilities/config.d.ts +40 -0
- package/dist/utilities/config.js +44 -0
- package/dist/utilities/file.d.ts +12 -0
- package/dist/utilities/file.js +28 -0
- package/dist/utilities/index.d.ts +10 -0
- package/dist/utilities/index.js +10 -0
- package/dist/utilities/input.d.ts +9 -0
- package/dist/utilities/input.js +19 -0
- package/dist/utilities/metadata.d.ts +33 -0
- package/dist/utilities/metadata.js +55 -0
- package/dist/utilities/stdio.d.ts +14 -0
- package/dist/utilities/stdio.js +57 -0
- package/dist/utilities/styles.d.ts +16 -0
- package/dist/utilities/styles.js +47 -0
- package/dist/utilities/templates.d.ts +5 -0
- package/dist/utilities/templates.js +18 -0
- package/dist/utilities/tokens.d.ts +6 -0
- package/dist/utilities/tokens.js +42 -0
- package/dist/utilities/version.d.ts +28 -0
- package/dist/utilities/version.js +21 -0
- package/metadata/packages/components/docs/customization.md +101 -0
- package/metadata/packages/components/docs/form-controls.md +28 -0
- package/metadata/packages/components/docs/installation.md +271 -0
- package/metadata/packages/components/docs/localization.md +158 -0
- package/metadata/packages/components/docs/usage.md +182 -0
- package/metadata/packages/components/sd-accordion/info.md +82 -0
- package/metadata/packages/components/sd-accordion/stories/open.md +8 -0
- package/metadata/packages/components/sd-accordion/stories/summary.md +17 -0
- package/metadata/packages/components/sd-accordion-group/info.md +70 -0
- package/metadata/packages/components/sd-accordion-group/stories/close-others.md +24 -0
- package/metadata/packages/components/sd-audio/info.md +80 -0
- package/metadata/packages/components/sd-audio/stories/animated.md +34 -0
- package/metadata/packages/components/sd-audio/stories/inverted.md +36 -0
- package/metadata/packages/components/sd-audio/stories/no-timestamps.md +34 -0
- package/metadata/packages/components/sd-audio/stories/reverse.md +35 -0
- package/metadata/packages/components/sd-audio/stories/speed.md +38 -0
- package/metadata/packages/components/sd-audio/stories/transcript.md +36 -0
- package/metadata/packages/components/sd-badge/info.md +69 -0
- package/metadata/packages/components/sd-badge/stories/inverted.md +9 -0
- package/metadata/packages/components/sd-badge/stories/overflow.md +11 -0
- package/metadata/packages/components/sd-badge/stories/size.md +13 -0
- package/metadata/packages/components/sd-badge/stories/variant.md +40 -0
- package/metadata/packages/components/sd-brandshape/info.md +65 -0
- package/metadata/packages/components/sd-brandshape/stories/image-translate-y.md +13 -0
- package/metadata/packages/components/sd-brandshape/stories/shapes.md +22 -0
- package/metadata/packages/components/sd-brandshape/stories/transparent-variants.md +24 -0
- package/metadata/packages/components/sd-brandshape/stories/variant.md +95 -0
- package/metadata/packages/components/sd-breadcrumb/info.md +57 -0
- package/metadata/packages/components/sd-breadcrumb-item/info.md +42 -0
- package/metadata/packages/components/sd-button/info.md +120 -0
- package/metadata/packages/components/sd-button/stories/as-link.md +12 -0
- package/metadata/packages/components/sd-button/stories/disabled.md +10 -0
- package/metadata/packages/components/sd-button/stories/icon.md +10 -0
- package/metadata/packages/components/sd-button/stories/inverted.md +10 -0
- package/metadata/packages/components/sd-button/stories/loading.md +10 -0
- package/metadata/packages/components/sd-button/stories/size.md +13 -0
- package/metadata/packages/components/sd-button/stories/variants.md +15 -0
- package/metadata/packages/components/sd-button/stories/visually-disabled.md +23 -0
- package/metadata/packages/components/sd-carousel/info.md +99 -0
- package/metadata/packages/components/sd-carousel/stories/autoplay-interval.md +66 -0
- package/metadata/packages/components/sd-carousel/stories/autoplay.md +23 -0
- package/metadata/packages/components/sd-carousel/stories/fade.md +18 -0
- package/metadata/packages/components/sd-carousel/stories/inverted.md +17 -0
- package/metadata/packages/components/sd-carousel/stories/loop.md +17 -0
- package/metadata/packages/components/sd-carousel/stories/slides-per-move.md +49 -0
- package/metadata/packages/components/sd-carousel/stories/slides-per-page.md +23 -0
- package/metadata/packages/components/sd-carousel/stories/variant.md +32 -0
- package/metadata/packages/components/sd-carousel-item/info.md +26 -0
- package/metadata/packages/components/sd-checkbox/info.md +88 -0
- package/metadata/packages/components/sd-checkbox/stories/checked.md +7 -0
- package/metadata/packages/components/sd-checkbox/stories/disabled.md +7 -0
- package/metadata/packages/components/sd-checkbox/stories/indeterminate.md +7 -0
- package/metadata/packages/components/sd-checkbox/stories/invalid.md +22 -0
- package/metadata/packages/components/sd-checkbox/stories/required.md +7 -0
- package/metadata/packages/components/sd-checkbox/stories/size.md +14 -0
- package/metadata/packages/components/sd-checkbox/stories/visually-disabled.md +11 -0
- package/metadata/packages/components/sd-checkbox-group/info.md +71 -0
- package/metadata/packages/components/sd-checkbox-group/stories/help-text.md +13 -0
- package/metadata/packages/components/sd-checkbox-group/stories/label.md +10 -0
- package/metadata/packages/components/sd-checkbox-group/stories/orientation.md +19 -0
- package/metadata/packages/components/sd-checkbox-group/stories/size.md +21 -0
- package/metadata/packages/components/sd-combobox/info.md +170 -0
- package/metadata/packages/components/sd-combobox/stories/async-options.md +27 -0
- package/metadata/packages/components/sd-combobox/stories/clearable.md +13 -0
- package/metadata/packages/components/sd-combobox/stories/custom-filter.md +20 -0
- package/metadata/packages/components/sd-combobox/stories/disabled.md +13 -0
- package/metadata/packages/components/sd-combobox/stories/floating-label.md +14 -0
- package/metadata/packages/components/sd-combobox/stories/focus.md +11 -0
- package/metadata/packages/components/sd-combobox/stories/help-text.md +36 -0
- package/metadata/packages/components/sd-combobox/stories/icons.md +15 -0
- package/metadata/packages/components/sd-combobox/stories/invalid.md +29 -0
- package/metadata/packages/components/sd-combobox/stories/label.md +26 -0
- package/metadata/packages/components/sd-combobox/stories/max-options-visible.md +23 -0
- package/metadata/packages/components/sd-combobox/stories/multiple.md +24 -0
- package/metadata/packages/components/sd-combobox/stories/placeholder.md +13 -0
- package/metadata/packages/components/sd-combobox/stories/placement.md +29 -0
- package/metadata/packages/components/sd-combobox/stories/required.md +20 -0
- package/metadata/packages/components/sd-combobox/stories/search.md +13 -0
- package/metadata/packages/components/sd-combobox/stories/size.md +38 -0
- package/metadata/packages/components/sd-combobox/stories/suggestion-container-height.md +12 -0
- package/metadata/packages/components/sd-combobox/stories/valid.md +29 -0
- package/metadata/packages/components/sd-combobox/stories/visually-disabled.md +17 -0
- package/metadata/packages/components/sd-datepicker/info.md +159 -0
- package/metadata/packages/components/sd-datepicker/stories/alignment.md +10 -0
- package/metadata/packages/components/sd-datepicker/stories/disabled-dates.md +11 -0
- package/metadata/packages/components/sd-datepicker/stories/disabled-weekends.md +7 -0
- package/metadata/packages/components/sd-datepicker/stories/disabled.md +8 -0
- package/metadata/packages/components/sd-datepicker/stories/floating-label.md +8 -0
- package/metadata/packages/components/sd-datepicker/stories/help-text.md +11 -0
- package/metadata/packages/components/sd-datepicker/stories/invalid.md +15 -0
- package/metadata/packages/components/sd-datepicker/stories/label.md +11 -0
- package/metadata/packages/components/sd-datepicker/stories/placeholder.md +7 -0
- package/metadata/packages/components/sd-datepicker/stories/range.md +7 -0
- package/metadata/packages/components/sd-datepicker/stories/required.md +7 -0
- package/metadata/packages/components/sd-datepicker/stories/size.md +14 -0
- package/metadata/packages/components/sd-datepicker/stories/valid.md +16 -0
- package/metadata/packages/components/sd-datepicker/stories/visible-month.md +7 -0
- package/metadata/packages/components/sd-datepicker/stories/visually-disabled.md +11 -0
- package/metadata/packages/components/sd-dialog/info.md +89 -0
- package/metadata/packages/components/sd-dialog/stories/headline.md +22 -0
- package/metadata/packages/components/sd-dialog/stories/no-close-button.md +32 -0
- package/metadata/packages/components/sd-dialog/stories/open.md +72 -0
- package/metadata/packages/components/sd-divider/info.md +51 -0
- package/metadata/packages/components/sd-divider/stories/inverted.md +7 -0
- package/metadata/packages/components/sd-divider/stories/orientation.md +11 -0
- package/metadata/packages/components/sd-divider/stories/size.md +10 -0
- package/metadata/packages/components/sd-drawer/info.md +89 -0
- package/metadata/packages/components/sd-drawer/stories/no-header.md +16 -0
- package/metadata/packages/components/sd-drawer/stories/open.md +23 -0
- package/metadata/packages/components/sd-drawer/stories/placement.md +23 -0
- package/metadata/packages/components/sd-dropdown/info.md +86 -0
- package/metadata/packages/components/sd-dropdown/stories/disabled.md +8 -0
- package/metadata/packages/components/sd-dropdown/stories/distance.md +8 -0
- package/metadata/packages/components/sd-dropdown/stories/no-auto-size.md +10 -0
- package/metadata/packages/components/sd-dropdown/stories/no-flip.md +8 -0
- package/metadata/packages/components/sd-dropdown/stories/open.md +8 -0
- package/metadata/packages/components/sd-dropdown/stories/placement.md +20 -0
- package/metadata/packages/components/sd-dropdown/stories/rounded.md +10 -0
- package/metadata/packages/components/sd-dropdown/stories/skidding.md +8 -0
- package/metadata/packages/components/sd-dropdown/stories/stay-open.md +12 -0
- package/metadata/packages/components/sd-expandable/info.md +79 -0
- package/metadata/packages/components/sd-expandable/stories/gradient.md +75 -0
- package/metadata/packages/components/sd-expandable/stories/inverted.md +33 -0
- package/metadata/packages/components/sd-expandable/stories/open.md +60 -0
- package/metadata/packages/components/sd-flipcard/info.md +84 -0
- package/metadata/packages/components/sd-flipcard/stories/aspect-ratios.md +26 -0
- package/metadata/packages/components/sd-flipcard/stories/flip-direction.md +17 -0
- package/metadata/packages/components/sd-flipcard/stories/placement.md +17 -0
- package/metadata/packages/components/sd-flipcard/stories/variants.md +51 -0
- package/metadata/packages/components/sd-header/info.md +60 -0
- package/metadata/packages/components/sd-header/stories/fixed.md +9 -0
- package/metadata/packages/components/sd-icon/info.md +35 -0
- package/metadata/packages/components/sd-icon/stories/color.md +15 -0
- package/metadata/packages/components/sd-icon/stories/custom-libraries.md +119 -0
- package/metadata/packages/components/sd-icon/stories/label.md +12 -0
- package/metadata/packages/components/sd-icon/stories/libraries.md +38 -0
- package/metadata/packages/components/sd-icon/stories/name.md +36 -0
- package/metadata/packages/components/sd-icon/stories/size.md +10 -0
- package/metadata/packages/components/sd-include/info.md +20 -0
- package/metadata/packages/components/sd-input/info.md +176 -0
- package/metadata/packages/components/sd-input/stories/clearable.md +7 -0
- package/metadata/packages/components/sd-input/stories/disabled.md +7 -0
- package/metadata/packages/components/sd-input/stories/floating-label.md +8 -0
- package/metadata/packages/components/sd-input/stories/help-text.md +11 -0
- package/metadata/packages/components/sd-input/stories/icon.md +13 -0
- package/metadata/packages/components/sd-input/stories/invalid.md +14 -0
- package/metadata/packages/components/sd-input/stories/label.md +11 -0
- package/metadata/packages/components/sd-input/stories/max-length.md +7 -0
- package/metadata/packages/components/sd-input/stories/max.md +7 -0
- package/metadata/packages/components/sd-input/stories/min-length.md +7 -0
- package/metadata/packages/components/sd-input/stories/min.md +7 -0
- package/metadata/packages/components/sd-input/stories/pattern.md +7 -0
- package/metadata/packages/components/sd-input/stories/placeholder.md +7 -0
- package/metadata/packages/components/sd-input/stories/read-only.md +8 -0
- package/metadata/packages/components/sd-input/stories/required.md +7 -0
- package/metadata/packages/components/sd-input/stories/size.md +14 -0
- package/metadata/packages/components/sd-input/stories/spin-buttons.md +14 -0
- package/metadata/packages/components/sd-input/stories/toggle-password.md +8 -0
- package/metadata/packages/components/sd-input/stories/type.md +80 -0
- package/metadata/packages/components/sd-input/stories/valid.md +15 -0
- package/metadata/packages/components/sd-input/stories/value.md +7 -0
- package/metadata/packages/components/sd-input/stories/visually-disabled.md +11 -0
- package/metadata/packages/components/sd-link/info.md +80 -0
- package/metadata/packages/components/sd-link/stories/as-link.md +12 -0
- package/metadata/packages/components/sd-link/stories/disabled.md +7 -0
- package/metadata/packages/components/sd-link/stories/icon.md +14 -0
- package/metadata/packages/components/sd-link/stories/inverted.md +7 -0
- package/metadata/packages/components/sd-link/stories/size.md +13 -0
- package/metadata/packages/components/sd-link/stories/standalone.md +29 -0
- package/metadata/packages/components/sd-link/stories/visually-disabled.md +17 -0
- package/metadata/packages/components/sd-loader/info.md +54 -0
- package/metadata/packages/components/sd-loader/stories/default.md +5 -0
- package/metadata/packages/components/sd-loader/stories/size.md +15 -0
- package/metadata/packages/components/sd-loader/stories/variants.md +19 -0
- package/metadata/packages/components/sd-map-marker/info.md +74 -0
- package/metadata/packages/components/sd-map-marker/stories/animated.md +13 -0
- package/metadata/packages/components/sd-map-marker/stories/as-link.md +13 -0
- package/metadata/packages/components/sd-map-marker/stories/not-interactive.md +11 -0
- package/metadata/packages/components/sd-map-marker/stories/slot.md +8 -0
- package/metadata/packages/components/sd-map-marker/stories/state.md +47 -0
- package/metadata/packages/components/sd-map-marker/stories/variant.md +21 -0
- package/metadata/packages/components/sd-menu/info.md +68 -0
- package/metadata/packages/components/sd-menu/stories/checkmark.md +12 -0
- package/metadata/packages/components/sd-menu/stories/disabled.md +12 -0
- package/metadata/packages/components/sd-menu/stories/grouping.md +20 -0
- package/metadata/packages/components/sd-menu/stories/icon.md +80 -0
- package/metadata/packages/components/sd-menu/stories/submenu.md +18 -0
- package/metadata/packages/components/sd-menu-item/info.md +36 -0
- package/metadata/packages/components/sd-menu-item/stories/checkmark.md +5 -0
- package/metadata/packages/components/sd-menu-item/stories/disabled.md +5 -0
- package/metadata/packages/components/sd-menu-item/stories/icon-indent.md +8 -0
- package/metadata/packages/components/sd-navigation-item/info.md +98 -0
- package/metadata/packages/components/sd-navigation-item/stories/accordion.md +15 -0
- package/metadata/packages/components/sd-navigation-item/stories/as-link.md +7 -0
- package/metadata/packages/components/sd-navigation-item/stories/chevron.md +10 -0
- package/metadata/packages/components/sd-navigation-item/stories/current.md +8 -0
- package/metadata/packages/components/sd-navigation-item/stories/description.md +11 -0
- package/metadata/packages/components/sd-navigation-item/stories/disabled.md +5 -0
- package/metadata/packages/components/sd-navigation-item/stories/divider.md +6 -0
- package/metadata/packages/components/sd-navigation-item/stories/indented.md +8 -0
- package/metadata/packages/components/sd-navigation-item/stories/orientation.md +6 -0
- package/metadata/packages/components/sd-navigation-item/stories/relaxed.md +8 -0
- package/metadata/packages/components/sd-navigation-item/stories/separated.md +14 -0
- package/metadata/packages/components/sd-navigation-item/stories/size.md +13 -0
- package/metadata/packages/components/sd-navigation-item/stories/stacked.md +8 -0
- package/metadata/packages/components/sd-notification/info.md +135 -0
- package/metadata/packages/components/sd-notification/stories/closable.md +13 -0
- package/metadata/packages/components/sd-notification/stories/duration-indicator.md +15 -0
- package/metadata/packages/components/sd-notification/stories/duration.md +16 -0
- package/metadata/packages/components/sd-notification/stories/open.md +5 -0
- package/metadata/packages/components/sd-notification/stories/toast-bottom-center.md +53 -0
- package/metadata/packages/components/sd-notification/stories/toast-notification.md +67 -0
- package/metadata/packages/components/sd-notification/stories/variants.md +20 -0
- package/metadata/packages/components/sd-optgroup/info.md +55 -0
- package/metadata/packages/components/sd-optgroup/stories/disabled.md +13 -0
- package/metadata/packages/components/sd-option/info.md +65 -0
- package/metadata/packages/components/sd-option/stories/checkbox.md +19 -0
- package/metadata/packages/components/sd-option/stories/disabled.md +22 -0
- package/metadata/packages/components/sd-option/stories/selected.md +23 -0
- package/metadata/packages/components/sd-option/stories/size.md +26 -0
- package/metadata/packages/components/sd-popup/info.md +66 -0
- package/metadata/packages/components/sd-progress-bar/info.md +73 -0
- package/metadata/packages/components/sd-progress-bar/stories/custom-height.md +5 -0
- package/metadata/packages/components/sd-progress-bar/stories/inverted.md +9 -0
- package/metadata/packages/components/sd-progress-bar/stories/label.md +16 -0
- package/metadata/packages/components/sd-progress-bar/stories/loading.md +5 -0
- package/metadata/packages/components/sd-progress-bar/stories/value-formatter.md +20 -0
- package/metadata/packages/components/sd-progress-bar/stories/value-max.md +6 -0
- package/metadata/packages/components/sd-progress-bar/stories/value-position.md +11 -0
- package/metadata/packages/components/sd-quickfact/info.md +84 -0
- package/metadata/packages/components/sd-quickfact/stories/expandable.md +46 -0
- package/metadata/packages/components/sd-quickfact/stories/open.md +15 -0
- package/metadata/packages/components/sd-quickfact/stories/summary.md +13 -0
- package/metadata/packages/components/sd-radio/info.md +47 -0
- package/metadata/packages/components/sd-radio/stories/disabled.md +9 -0
- package/metadata/packages/components/sd-radio/stories/invalid.md +22 -0
- package/metadata/packages/components/sd-radio/stories/size.md +26 -0
- package/metadata/packages/components/sd-radio/stories/visually-disabled.md +11 -0
- package/metadata/packages/components/sd-radio-button/info.md +81 -0
- package/metadata/packages/components/sd-radio-button/stories/checked.md +20 -0
- package/metadata/packages/components/sd-radio-button/stories/disabled.md +20 -0
- package/metadata/packages/components/sd-radio-button/stories/icon.md +17 -0
- package/metadata/packages/components/sd-radio-button/stories/label.md +19 -0
- package/metadata/packages/components/sd-radio-button/stories/size.md +54 -0
- package/metadata/packages/components/sd-radio-button/stories/visually-disabled.md +26 -0
- package/metadata/packages/components/sd-radio-group/info.md +91 -0
- package/metadata/packages/components/sd-radio-group/stories/disabled.md +10 -0
- package/metadata/packages/components/sd-radio-group/stories/help-text.md +12 -0
- package/metadata/packages/components/sd-radio-group/stories/invalid.md +23 -0
- package/metadata/packages/components/sd-radio-group/stories/label.md +9 -0
- package/metadata/packages/components/sd-radio-group/stories/orientation.md +20 -0
- package/metadata/packages/components/sd-radio-group/stories/required.md +28 -0
- package/metadata/packages/components/sd-radio-group/stories/size.md +20 -0
- package/metadata/packages/components/sd-range/info.md +101 -0
- package/metadata/packages/components/sd-range/stories/tooltip-formatter.md +13 -0
- package/metadata/packages/components/sd-range-tick/info.md +21 -0
- package/metadata/packages/components/sd-scrollable/info.md +87 -0
- package/metadata/packages/components/sd-scrollable/stories/buttons.md +15 -0
- package/metadata/packages/components/sd-scrollable/stories/inset.md +15 -0
- package/metadata/packages/components/sd-scrollable/stories/orientation.md +32 -0
- package/metadata/packages/components/sd-scrollable/stories/scrollbar.md +15 -0
- package/metadata/packages/components/sd-scrollable/stories/shadows.md +15 -0
- package/metadata/packages/components/sd-scrollable/stories/step.md +15 -0
- package/metadata/packages/components/sd-select/info.md +155 -0
- package/metadata/packages/components/sd-select/stories/clearable.md +13 -0
- package/metadata/packages/components/sd-select/stories/disabled.md +13 -0
- package/metadata/packages/components/sd-select/stories/floating-label.md +14 -0
- package/metadata/packages/components/sd-select/stories/help-text.md +23 -0
- package/metadata/packages/components/sd-select/stories/invalid.md +30 -0
- package/metadata/packages/components/sd-select/stories/label.md +23 -0
- package/metadata/packages/components/sd-select/stories/max-options-visible.md +24 -0
- package/metadata/packages/components/sd-select/stories/multiple.md +14 -0
- package/metadata/packages/components/sd-select/stories/placeholder.md +13 -0
- package/metadata/packages/components/sd-select/stories/placement.md +24 -0
- package/metadata/packages/components/sd-select/stories/required.md +13 -0
- package/metadata/packages/components/sd-select/stories/size.md +34 -0
- package/metadata/packages/components/sd-select/stories/use-tags.md +14 -0
- package/metadata/packages/components/sd-select/stories/valid.md +29 -0
- package/metadata/packages/components/sd-select/stories/visually-disabled.md +17 -0
- package/metadata/packages/components/sd-skeleton/info.md +57 -0
- package/metadata/packages/components/sd-skeleton/stories/variants.md +13 -0
- package/metadata/packages/components/sd-spinner/info.md +53 -0
- package/metadata/packages/components/sd-spinner/stories/size.md +15 -0
- package/metadata/packages/components/sd-spinner/stories/variants.md +43 -0
- package/metadata/packages/components/sd-step/info.md +80 -0
- package/metadata/packages/components/sd-step/stories/as-link.md +9 -0
- package/metadata/packages/components/sd-step/stories/current.md +9 -0
- package/metadata/packages/components/sd-step/stories/description-and-label-using-attributes.md +7 -0
- package/metadata/packages/components/sd-step/stories/description.md +28 -0
- package/metadata/packages/components/sd-step/stories/disabled.md +9 -0
- package/metadata/packages/components/sd-step/stories/horizontal-inline.md +9 -0
- package/metadata/packages/components/sd-step/stories/icon.md +10 -0
- package/metadata/packages/components/sd-step/stories/label.md +7 -0
- package/metadata/packages/components/sd-step/stories/no-tail.md +9 -0
- package/metadata/packages/components/sd-step/stories/not-interactive.md +9 -0
- package/metadata/packages/components/sd-step/stories/orientation.md +15 -0
- package/metadata/packages/components/sd-step/stories/size.md +19 -0
- package/metadata/packages/components/sd-step/stories/waiting.md +9 -0
- package/metadata/packages/components/sd-step-group/info.md +74 -0
- package/metadata/packages/components/sd-step-group/stories/active-step.md +17 -0
- package/metadata/packages/components/sd-step-group/stories/horizontal-inline.md +17 -0
- package/metadata/packages/components/sd-step-group/stories/icon.md +20 -0
- package/metadata/packages/components/sd-step-group/stories/manual-state.md +23 -0
- package/metadata/packages/components/sd-step-group/stories/not-interactive.md +17 -0
- package/metadata/packages/components/sd-step-group/stories/orientation.md +39 -0
- package/metadata/packages/components/sd-step-group/stories/size.md +53 -0
- package/metadata/packages/components/sd-switch/info.md +79 -0
- package/metadata/packages/components/sd-switch/stories/checked.md +5 -0
- package/metadata/packages/components/sd-switch/stories/disabled.md +5 -0
- package/metadata/packages/components/sd-switch/stories/invalid.md +18 -0
- package/metadata/packages/components/sd-switch/stories/required.md +5 -0
- package/metadata/packages/components/sd-tab/info.md +42 -0
- package/metadata/packages/components/sd-tab/stories/active.md +44 -0
- package/metadata/packages/components/sd-tab/stories/disabled.md +20 -0
- package/metadata/packages/components/sd-tab/stories/icon.md +29 -0
- package/metadata/packages/components/sd-tab/stories/variant.md +42 -0
- package/metadata/packages/components/sd-tab/stories/visually-disabled.md +24 -0
- package/metadata/packages/components/sd-tab-group/info.md +88 -0
- package/metadata/packages/components/sd-tab-group/stories/activation.md +52 -0
- package/metadata/packages/components/sd-tab-group/stories/scrollable.md +66 -0
- package/metadata/packages/components/sd-tab-panel/info.md +26 -0
- package/metadata/packages/components/sd-tab-panel/stories/open.md +9 -0
- package/metadata/packages/components/sd-tag/info.md +75 -0
- package/metadata/packages/components/sd-tag/stories/as-link.md +12 -0
- package/metadata/packages/components/sd-tag/stories/disabled.md +10 -0
- package/metadata/packages/components/sd-tag/stories/icon.md +10 -0
- package/metadata/packages/components/sd-tag/stories/removable.md +22 -0
- package/metadata/packages/components/sd-tag/stories/selected.md +20 -0
- package/metadata/packages/components/sd-tag/stories/size.md +11 -0
- package/metadata/packages/components/sd-teaser/info.md +85 -0
- package/metadata/packages/components/sd-teaser/stories/breakpoint.md +28 -0
- package/metadata/packages/components/sd-teaser/stories/default-and-headline-slot.md +14 -0
- package/metadata/packages/components/sd-teaser/stories/distribution.md +13 -0
- package/metadata/packages/components/sd-teaser/stories/inset.md +12 -0
- package/metadata/packages/components/sd-teaser/stories/media-slot.md +14 -0
- package/metadata/packages/components/sd-teaser/stories/meta-slot.md +16 -0
- package/metadata/packages/components/sd-teaser/stories/reverse.md +14 -0
- package/metadata/packages/components/sd-teaser/stories/variant.md +34 -0
- package/metadata/packages/components/sd-teaser-media/info.md +86 -0
- package/metadata/packages/components/sd-teaser-media/stories/default-media-and-headline-slot.md +15 -0
- package/metadata/packages/components/sd-teaser-media/stories/expandable-slot.md +10 -0
- package/metadata/packages/components/sd-teaser-media/stories/meta-slot.md +9 -0
- package/metadata/packages/components/sd-teaser-media/stories/variant.md +78 -0
- package/metadata/packages/components/sd-textarea/info.md +132 -0
- package/metadata/packages/components/sd-textarea/stories/disabled.md +7 -0
- package/metadata/packages/components/sd-textarea/stories/floating-label.md +8 -0
- package/metadata/packages/components/sd-textarea/stories/help-text.md +11 -0
- package/metadata/packages/components/sd-textarea/stories/invalid.md +24 -0
- package/metadata/packages/components/sd-textarea/stories/label.md +11 -0
- package/metadata/packages/components/sd-textarea/stories/max-length.md +15 -0
- package/metadata/packages/components/sd-textarea/stories/min-length.md +15 -0
- package/metadata/packages/components/sd-textarea/stories/placeholder.md +7 -0
- package/metadata/packages/components/sd-textarea/stories/readonly.md +16 -0
- package/metadata/packages/components/sd-textarea/stories/required.md +7 -0
- package/metadata/packages/components/sd-textarea/stories/rows.md +11 -0
- package/metadata/packages/components/sd-textarea/stories/size.md +16 -0
- package/metadata/packages/components/sd-textarea/stories/valid.md +22 -0
- package/metadata/packages/components/sd-textarea/stories/visually-disabled.md +18 -0
- package/metadata/packages/components/sd-theme-listener/info.md +20 -0
- package/metadata/packages/components/sd-theme-listener/stories/default.md +31 -0
- package/metadata/packages/components/sd-tooltip/info.md +101 -0
- package/metadata/packages/components/sd-tooltip/stories/close-trigger.md +19 -0
- package/metadata/packages/components/sd-tooltip/stories/custom-trigger.md +20 -0
- package/metadata/packages/components/sd-tooltip/stories/disabled.md +5 -0
- package/metadata/packages/components/sd-tooltip/stories/hoist.md +7 -0
- package/metadata/packages/components/sd-tooltip/stories/placement.md +43 -0
- package/metadata/packages/components/sd-tooltip/stories/size.md +11 -0
- package/metadata/packages/components/sd-tooltip/stories/trigger.md +10 -0
- package/metadata/packages/components/sd-video/info.md +70 -0
- package/metadata/packages/components/sd-video/stories/playing.md +11 -0
- package/metadata/packages/components/sd-video/stories/video-element-with-poster-slot.md +24 -0
- package/metadata/packages/icons/default/content.json +2267 -0
- package/metadata/packages/icons/default/system.json +1112 -0
- package/metadata/packages/icons/sd-multi-theming/content.json +27 -0
- package/metadata/packages/icons/sd-multi-theming/system.json +307 -0
- package/metadata/packages/icons/sd-status-assets/status.json +37 -0
- package/metadata/packages/quickstart/docs/quickstart.md +50 -0
- package/metadata/packages/styles/docs/installation.md +161 -0
- package/metadata/packages/styles/docs/usage.md +11 -0
- package/metadata/packages/styles/sd-chip/info.md +49 -0
- package/metadata/packages/styles/sd-chip/stories/variants.md +40 -0
- package/metadata/packages/styles/sd-container/info.md +39 -0
- package/metadata/packages/styles/sd-container/stories/custom-padding.md +7 -0
- package/metadata/packages/styles/sd-container/stories/padding.md +7 -0
- package/metadata/packages/styles/sd-container/stories/triangle-border.md +26 -0
- package/metadata/packages/styles/sd-container/stories/triangle-color.md +12 -0
- package/metadata/packages/styles/sd-container/stories/triangle-position.md +27 -0
- package/metadata/packages/styles/sd-container/stories/variants.md +36 -0
- package/metadata/packages/styles/sd-copyright/info.md +41 -0
- package/metadata/packages/styles/sd-copyright/stories/no-shadow.md +13 -0
- package/metadata/packages/styles/sd-copyright/stories/orientation.md +16 -0
- package/metadata/packages/styles/sd-copyright/stories/placement.md +21 -0
- package/metadata/packages/styles/sd-copyright/stories/variants.md +15 -0
- package/metadata/packages/styles/sd-display/info.md +42 -0
- package/metadata/packages/styles/sd-display/stories/inverted.md +7 -0
- package/metadata/packages/styles/sd-display/stories/size.md +13 -0
- package/metadata/packages/styles/sd-flag/info.md +45 -0
- package/metadata/packages/styles/sd-flag/stories/variants.md +40 -0
- package/metadata/packages/styles/sd-footnotes/info.md +49 -0
- package/metadata/packages/styles/sd-footnotes/stories/inverted.md +11 -0
- package/metadata/packages/styles/sd-footnotes/stories/variants.md +19 -0
- package/metadata/packages/styles/sd-headline/info.md +56 -0
- package/metadata/packages/styles/sd-headline/stories/inline.md +14 -0
- package/metadata/packages/styles/sd-headline/stories/inverted.md +7 -0
- package/metadata/packages/styles/sd-headline/stories/sizes.md +21 -0
- package/metadata/packages/styles/sd-hidden-links/info.md +55 -0
- package/metadata/packages/styles/sd-hidden-links/stories/debug.md +12 -0
- package/metadata/packages/styles/sd-hidden-links/stories/multiple-links.md +13 -0
- package/metadata/packages/styles/sd-hidden-links/stories/stack-links.md +10 -0
- package/metadata/packages/styles/sd-hidden-links/stories/surrounding-content.md +54 -0
- package/metadata/packages/styles/sd-hidden-links/stories/title-for-multiple-links.md +34 -0
- package/metadata/packages/styles/sd-interactive/info.md +50 -0
- package/metadata/packages/styles/sd-interactive/stories/disabled.md +6 -0
- package/metadata/packages/styles/sd-interactive/stories/inverted.md +7 -0
- package/metadata/packages/styles/sd-interactive/stories/reset.md +30 -0
- package/metadata/packages/styles/sd-leadtext/info.md +41 -0
- package/metadata/packages/styles/sd-leadtext/stories/inverted.md +11 -0
- package/metadata/packages/styles/sd-leadtext/stories/size.md +19 -0
- package/metadata/packages/styles/sd-list/info.md +49 -0
- package/metadata/packages/styles/sd-list/stories/inverted.md +20 -0
- package/metadata/packages/styles/sd-list/stories/levels.md +62 -0
- package/metadata/packages/styles/sd-list/stories/orientation.md +34 -0
- package/metadata/packages/styles/sd-list/stories/variants.md +34 -0
- package/metadata/packages/styles/sd-mark/info.md +30 -0
- package/metadata/packages/styles/sd-media/info.md +50 -0
- package/metadata/packages/styles/sd-media/stories/description.md +8 -0
- package/metadata/packages/styles/sd-media/stories/inverted.md +14 -0
- package/metadata/packages/styles/sd-meta/info.md +38 -0
- package/metadata/packages/styles/sd-meta/stories/inverted.md +11 -0
- package/metadata/packages/styles/sd-meta/stories/pipe.md +7 -0
- package/metadata/packages/styles/sd-meta/stories/size.md +11 -0
- package/metadata/packages/styles/sd-meta/stories/variants.md +11 -0
- package/metadata/packages/styles/sd-pagination/info.md +60 -0
- package/metadata/packages/styles/sd-pagination/stories/hidden-headline.md +37 -0
- package/metadata/packages/styles/sd-pagination/stories/inverted.md +36 -0
- package/metadata/packages/styles/sd-pagination/stories/truncation.md +34 -0
- package/metadata/packages/styles/sd-pagination/stories/variants.md +51 -0
- package/metadata/packages/styles/sd-paragraph/info.md +39 -0
- package/metadata/packages/styles/sd-paragraph/stories/inverted.md +11 -0
- package/metadata/packages/styles/sd-paragraph/stories/size.md +19 -0
- package/metadata/packages/styles/sd-prose/info.md +49 -0
- package/metadata/packages/styles/sd-prose/stories/full-width.md +22 -0
- package/metadata/packages/styles/sd-prose/stories/inverted.md +11 -0
- package/metadata/packages/styles/sd-prose/stories/styling-options.md +108 -0
- package/metadata/packages/styles/sd-status-badge/info.md +44 -0
- package/metadata/packages/styles/sd-status-badge/stories/variants.md +27 -0
- package/metadata/packages/styles/sd-table/info.md +43 -0
- package/metadata/packages/styles/sd-table/stories/slot.md +11 -0
- package/metadata/packages/styles/sd-table-cell/info.md +61 -0
- package/metadata/packages/styles/sd-table-cell/stories/divider.md +19 -0
- package/metadata/packages/styles/sd-table-cell/stories/shadow.md +137 -0
- package/metadata/packages/styles/sd-table-cell/stories/variants.md +39 -0
- package/metadata/packages/templates/accordion-group.md +163 -0
- package/metadata/packages/templates/audio.md +194 -0
- package/metadata/packages/templates/autocomplete.md +213 -0
- package/metadata/packages/templates/badge.md +149 -0
- package/metadata/packages/templates/bottom-navigation.md +263 -0
- package/metadata/packages/templates/brandshape.md +81 -0
- package/metadata/packages/templates/breadcrumb.md +361 -0
- package/metadata/packages/templates/button.md +107 -0
- package/metadata/packages/templates/carousel.md +64 -0
- package/metadata/packages/templates/checkbox-group.md +81 -0
- package/metadata/packages/templates/chip.md +35 -0
- package/metadata/packages/templates/combobox.md +92 -0
- package/metadata/packages/templates/datepicker.md +44 -0
- package/metadata/packages/templates/dialog.md +270 -0
- package/metadata/packages/templates/drawer.md +185 -0
- package/metadata/packages/templates/dropdown.md +52 -0
- package/metadata/packages/templates/expandable.md +61 -0
- package/metadata/packages/templates/flag.md +38 -0
- package/metadata/packages/templates/flipcard.md +66 -0
- package/metadata/packages/templates/footnotes.md +80 -0
- package/metadata/packages/templates/forms.md +248 -0
- package/metadata/packages/templates/header-navigation.md +1951 -0
- package/metadata/packages/templates/headline.md +204 -0
- package/metadata/packages/templates/input.md +27 -0
- package/metadata/packages/templates/interactive.md +28 -0
- package/metadata/packages/templates/link.md +83 -0
- package/metadata/packages/templates/list.md +27 -0
- package/metadata/packages/templates/map-marker.md +15 -0
- package/metadata/packages/templates/mark.md +39 -0
- package/metadata/packages/templates/media.md +22 -0
- package/metadata/packages/templates/menu.md +93 -0
- package/metadata/packages/templates/notification.md +100 -0
- package/metadata/packages/templates/pagination.md +340 -0
- package/metadata/packages/templates/quickfact.md +267 -0
- package/metadata/packages/templates/quote.md +97 -0
- package/metadata/packages/templates/radio-button-group.md +24 -0
- package/metadata/packages/templates/radio-group.md +51 -0
- package/metadata/packages/templates/range.md +135 -0
- package/metadata/packages/templates/select.md +63 -0
- package/metadata/packages/templates/skeleton.md +32 -0
- package/metadata/packages/templates/status-badge.md +252 -0
- package/metadata/packages/templates/step-group.md +150 -0
- package/metadata/packages/templates/supernumber.md +178 -0
- package/metadata/packages/templates/switch.md +51 -0
- package/metadata/packages/templates/tab-group.md +157 -0
- package/metadata/packages/templates/table.md +2612 -0
- package/metadata/packages/templates/tag.md +230 -0
- package/metadata/packages/templates/teaser-media.md +164 -0
- package/metadata/packages/templates/teaser.md +320 -0
- package/metadata/packages/templates/tooltip.md +104 -0
- package/metadata/packages/templates/video.md +71 -0
- package/metadata/packages/tokens/docs/installation.md +445 -0
- package/metadata/packages/tokens/docs/usage.md +338 -0
- package/metadata/packages/tokens/themes.json +3 -0
- package/metadata/packages/tokens/tokens.json +185 -0
- package/package.json +76 -0
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
## Overview
|
|
2
|
+
|
|
3
|
+
`<sd-select>` — Used to choose items from a menu of predefined options.
|
|
4
|
+
|
|
5
|
+
## API
|
|
6
|
+
|
|
7
|
+
### Examples
|
|
8
|
+
|
|
9
|
+
Use the components tool by passing the args `component` and `example` for any of these combinations:
|
|
10
|
+
|
|
11
|
+
- component: sd-select, example: size
|
|
12
|
+
- component: sd-select, example: placement
|
|
13
|
+
- component: sd-select, example: label
|
|
14
|
+
- component: sd-select, example: floating-label
|
|
15
|
+
- component: sd-select, example: placeholder
|
|
16
|
+
- component: sd-select, example: disabled
|
|
17
|
+
- component: sd-select, example: visually-disabled
|
|
18
|
+
- component: sd-select, example: help-text
|
|
19
|
+
- component: sd-select, example: clearable
|
|
20
|
+
- component: sd-select, example: multiple
|
|
21
|
+
- component: sd-select, example: use-tags
|
|
22
|
+
- component: sd-select, example: max-options-visible
|
|
23
|
+
- component: sd-select, example: required
|
|
24
|
+
- component: sd-select, example: valid
|
|
25
|
+
- component: sd-select, example: invalid
|
|
26
|
+
|
|
27
|
+
### Key Properties
|
|
28
|
+
|
|
29
|
+
- prop.defaultValue: string|string[], default='' — The default value of the form control. Primarily used for resetting the form control.
|
|
30
|
+
- prop.open: boolean, default=false — Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can
|
|
31
|
+
use the `show()` and `hide()` methods and this attribute will reflect the select's open state.
|
|
32
|
+
- prop.size: 'lg'|'md'|'sm', default='lg' — The select's size.
|
|
33
|
+
- prop.placement: 'top'|'bottom', default='bottom' — The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox
|
|
34
|
+
inside of the viewport.
|
|
35
|
+
- prop.label: string, default='' — The select's label. If you need to display HTML, use the `label` slot instead.
|
|
36
|
+
- prop.placeholder: string, default='' — Placeholder text to show as a hint when the select is empty.
|
|
37
|
+
- prop.maxOptionsTagLabel [attr: max-options-tag-label]: string, default='' — Label text shown on tag if max-options-visible is reached.
|
|
38
|
+
- prop.disabled: boolean, default=false — Disables the select control.
|
|
39
|
+
- prop.visuallyDisabled [attr: visually-disabled]: boolean, default=false — Styles the select as if it was disabled and enables aria-disabled
|
|
40
|
+
- prop.helpText [attr: help-text]: string, default='' — The select's help text. If you need to display HTML, use the `help-text` slot instead.
|
|
41
|
+
- prop.clearable: boolean, default=false — Adds a clear button when the select is not empty.
|
|
42
|
+
- prop.multiple: boolean, default=false — Allows more than one option to be selected.
|
|
43
|
+
- prop.useTags: boolean, default=false — Uses interactive `sd-tag` elements representing individual options in the display input when `multiple` is `true`.
|
|
44
|
+
- prop.maxOptionsVisible [attr: max-options-visible]: number, default=3 — The maximum number of selected options to show when `multiple` and `useTags` are `true`. After the maximum, "+n" will be shown to
|
|
45
|
+
indicate the number of additional items that are selected. Set to 0 to remove the limit.
|
|
46
|
+
- prop.form: string, default='' — By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you
|
|
47
|
+
to place the form control outside of a form and associate it with the form that has this `id`. The form must be in
|
|
48
|
+
the same document or shadow root for this to work.
|
|
49
|
+
- prop.name: string, default='' — The name of the select, submitted as a name/value pair with form data.
|
|
50
|
+
- prop.value: string|string[], default='' — The current value of the select, submitted as a name/value pair with form data. When `multiple` is enabled, the
|
|
51
|
+
value attribute will be a space-delimited list of values based on the options selected, and the value property will
|
|
52
|
+
be an array. **For this reason, values must not contain spaces.**
|
|
53
|
+
- prop.required: boolean, default=false — The select's required attribute.
|
|
54
|
+
- prop.floatingLabel [attr: floating-label]: boolean, default=false — Enables the floating label behavior for the input.
|
|
55
|
+
- prop.styleOnValid [attr: style-on-valid]: boolean, default=false — Shows success styles if the validity of the input is valid.
|
|
56
|
+
- prop.hoist: boolean, default=false — Enable this option to prevent the listbox from being clipped when the component is placed inside a container with
|
|
57
|
+
`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.
|
|
58
|
+
- prop.validity: — Gets the validity state object
|
|
59
|
+
- prop.validationMessage: — Gets the validation message
|
|
60
|
+
- prop.dir: 'ltr'|'rtl'|'auto' — The element's directionality.
|
|
61
|
+
- prop.lang: string — The element's language.
|
|
62
|
+
|
|
63
|
+
### Events
|
|
64
|
+
|
|
65
|
+
- event.sd-change: Emitted when the control's value changes.
|
|
66
|
+
- event.sd-clear: Emitted when the control's value is cleared.
|
|
67
|
+
- event.sd-input: Emitted when the control receives input.
|
|
68
|
+
- event.sd-focus: Emitted when the control gains focus.
|
|
69
|
+
- event.sd-blur: Emitted when the control loses focus.
|
|
70
|
+
- event.sd-show: Emitted when the select's menu opens.
|
|
71
|
+
- event.sd-after-show: Emitted after the select's menu opens and all animations are complete.
|
|
72
|
+
- event.sd-hide: Emitted when the select's menu closes.
|
|
73
|
+
- event.sd-after-hide: Emitted after the select's menu closes and all animations are complete.
|
|
74
|
+
- event.sd-invalid: Emitted when the form control has been checked for validity and its constraints aren't satisfied.
|
|
75
|
+
|
|
76
|
+
### Slots
|
|
77
|
+
|
|
78
|
+
- slot.default: The listbox options. Must be `<sd-option>` elements. You can use `<sd-divider>` to group items visually.
|
|
79
|
+
- slot.label: The input's label. Alternatively, you can use the `label` attribute.
|
|
80
|
+
- slot.help-text: Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.
|
|
81
|
+
- slot.clear-icon: An icon to use in lieu of the default clear icon.
|
|
82
|
+
- slot.expand-icon: The icon to show when the control is expanded and collapsed. Rotates on open and close.
|
|
83
|
+
- slot.tooltip: An optional tooltip that helps describe the input. Use this slot with the `sd-tooltip` component.
|
|
84
|
+
|
|
85
|
+
### CSS Parts
|
|
86
|
+
|
|
87
|
+
- part.form-control: The form control that wraps the label, input, and help text.
|
|
88
|
+
- part.form-control-label: The label's wrapper.
|
|
89
|
+
- part.form-control-input: The select's wrapper.
|
|
90
|
+
- part.form-control-help-text: The help text's wrapper.
|
|
91
|
+
- part.combobox: The container the wraps the combobox, clear icon, and expand button.
|
|
92
|
+
- part.display-input: The element that displays the selected option's label, an `<input>` element.
|
|
93
|
+
- part.listbox: The listbox container where options are slotted.
|
|
94
|
+
- part.tags: The container that houses option tags when `multiselect` is used.
|
|
95
|
+
- part.tag: The individual tags that represent each multiselect option.
|
|
96
|
+
- part.tag\_\_base: The tag's base part.
|
|
97
|
+
- part.tag\_\_content: The tag's content part.
|
|
98
|
+
- part.tag\_\_removable-indicator: The tag's remove button.
|
|
99
|
+
- part.clear-button: The clear button.
|
|
100
|
+
- part.expand-icon: The container that wraps the expand icon.
|
|
101
|
+
|
|
102
|
+
## Guidelines
|
|
103
|
+
|
|
104
|
+
### Use Cases
|
|
105
|
+
|
|
106
|
+
- Enable users to select one or more options from a list of predefined choices in forms.
|
|
107
|
+
- Implement in filter panels to allow users to refine search results or data views.
|
|
108
|
+
- Provide options in settings pages where users need to choose preferences from a list.
|
|
109
|
+
|
|
110
|
+
#### Default Select
|
|
111
|
+
|
|
112
|
+
Use the “default” variant when clarity, scannability, and accessibility are your primary concerns.
|
|
113
|
+
|
|
114
|
+
- Long or descriptive labels, helper text, or units are needed.
|
|
115
|
+
- Forms with many fields that users must scan quickly.
|
|
116
|
+
- Complex fields with adornments, counters, or tooltips.
|
|
117
|
+
|
|
118
|
+
#### Floating Label Select
|
|
119
|
+
|
|
120
|
+
Use the “floating-label” variant to conserve vertical space and streamline simple forms, while still keeping the label visible.
|
|
121
|
+
|
|
122
|
+
- Compact layouts and simple fields.
|
|
123
|
+
- Short labels (1–3 words); minimal helper text.
|
|
124
|
+
- You want a clean look without duplicate placeholder text.
|
|
125
|
+
|
|
126
|
+
### Rules
|
|
127
|
+
|
|
128
|
+
### Variant Consistency
|
|
129
|
+
|
|
130
|
+
Do not mix the two variants (default / floating label) within the same product, flow or form. Read the use cases above to know when to use each type.
|
|
131
|
+
|
|
132
|
+
### Content and Labels
|
|
133
|
+
|
|
134
|
+
- Keep each option to a single line of text for readability.
|
|
135
|
+
- Ensure all options have consistent line lengths for easier scanning.
|
|
136
|
+
- Avoid using the same word or phrase at the beginning of options.
|
|
137
|
+
- Provide a meaningful placeholder option to guide users.
|
|
138
|
+
|
|
139
|
+
### Selection Behavior
|
|
140
|
+
|
|
141
|
+
- Use for lists with more than five options; for fewer options, consider using sd-radio for single selection or [sd-checkbox](./?path=/docs/components-sd-checkbox--docs) for multiple selection.
|
|
142
|
+
- Apply the "multiple" attribute when multiple selections are allowed, and pair it with "checkbox" for corresponding nested options.
|
|
143
|
+
- By default, the number of selected options is displayed after the text.
|
|
144
|
+
- Display selected options as tags within the field to help users track their selections.
|
|
145
|
+
- Consider limiting the maximum number of displayed selectable options to avoid overwhelming users. We recommend displaying 6-8 (with scrolling for additional results).
|
|
146
|
+
|
|
147
|
+
### Background
|
|
148
|
+
|
|
149
|
+
- Use light background options such as white, neutral-100, or primary-100.
|
|
150
|
+
|
|
151
|
+
### Accessibility
|
|
152
|
+
|
|
153
|
+
- If multiple options can be selected, clearly announce this capability to screenreader users and offer a way to view all chosen items.
|
|
154
|
+
- Be aware that group labels in select components will be neglected by most assistive devices.
|
|
155
|
+
- Use the "visually disabled" attribute to keep disabled elements focusable, hoverable, and able to show tooltips, as they’re otherwise removed from the tab order and inaccessible to screen readers.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Use the `clearable` attribute to add a clear button that removes the selected value.
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<div class="w-[400px] h-[500px]">
|
|
5
|
+
<sd-select size="lg" label="Label" placement="bottom" clearable="" value="option-1">
|
|
6
|
+
<sd-option value="option-1">Option 1</sd-option>
|
|
7
|
+
<sd-option value="option-2">Option 2</sd-option>
|
|
8
|
+
<sd-option value="option-3">Option 3</sd-option>
|
|
9
|
+
<sd-option value="option-4">Option 4</sd-option>
|
|
10
|
+
<sd-option value="option-5">Option 5</sd-option>
|
|
11
|
+
</sd-select>
|
|
12
|
+
</div>
|
|
13
|
+
```
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Use the `disabled` attribute to disable the select.
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<div class="w-[400px]">
|
|
5
|
+
<sd-select size="lg" label="Label" placeholder="Disabled" placement="bottom" value="" disabled>
|
|
6
|
+
<sd-option value="option-1">Option 1</sd-option>
|
|
7
|
+
<sd-option value="option-2">Option 2</sd-option>
|
|
8
|
+
<sd-option value="option-3">Option 3</sd-option>
|
|
9
|
+
<sd-option value="option-4">Option 4</sd-option>
|
|
10
|
+
<sd-option value="option-5">Option 5</sd-option>
|
|
11
|
+
</sd-select>
|
|
12
|
+
</div>
|
|
13
|
+
```
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Use the `floating-label` attribute to enable a floating label on the select.
|
|
2
|
+
**Note:** Floating labels only work with the `label` attribute. The `label` slot is not supported. Only the `lg` and `md` sizes are available.
|
|
3
|
+
|
|
4
|
+
```html
|
|
5
|
+
<div class="flex gap-12 w-[400px] h-[500px]">
|
|
6
|
+
<sd-select size="lg" label="Floating Label" floating-label placement="bottom" value="">
|
|
7
|
+
<sd-option value="option-1">Option 1</sd-option>
|
|
8
|
+
<sd-option value="option-2">Option 2</sd-option>
|
|
9
|
+
<sd-option value="option-3">Option 3</sd-option>
|
|
10
|
+
<sd-option value="option-4">Option 4</sd-option>
|
|
11
|
+
<sd-option value="option-5">Option 5</sd-option>
|
|
12
|
+
</sd-select>
|
|
13
|
+
</div>
|
|
14
|
+
```
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
Use the `help-text` attribute to provide additional context or instructions.
|
|
2
|
+
For help texts that contain HTML, use the `help-text` slot instead.
|
|
3
|
+
|
|
4
|
+
```html
|
|
5
|
+
<div class="flex gap-12 h-[500px]">
|
|
6
|
+
<sd-select size="lg" label="Label" placement="bottom" value="" help-text="Help text attribute">
|
|
7
|
+
<sd-option value="option-1">Option 1</sd-option>
|
|
8
|
+
<sd-option value="option-2">Option 2</sd-option>
|
|
9
|
+
<sd-option value="option-3">Option 3</sd-option>
|
|
10
|
+
<sd-option value="option-4">Option 4</sd-option>
|
|
11
|
+
<sd-option value="option-5">Option 5</sd-option>
|
|
12
|
+
</sd-select>
|
|
13
|
+
|
|
14
|
+
<sd-select size="lg" label="Label" placement="bottom" value="">
|
|
15
|
+
<div slot="help-text" class="text-lg">Help text slot</div>
|
|
16
|
+
<sd-option value="option-1">Option 1</sd-option>
|
|
17
|
+
<sd-option value="option-2">Option 2</sd-option>
|
|
18
|
+
<sd-option value="option-3">Option 3</sd-option>
|
|
19
|
+
<sd-option value="option-4">Option 4</sd-option>
|
|
20
|
+
<sd-option value="option-5">Option 5</sd-option>
|
|
21
|
+
</sd-select>
|
|
22
|
+
</div>
|
|
23
|
+
```
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
The component gets `invalid` state when the form is not valid.
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<div class="w-[400px] h-[300px]">
|
|
5
|
+
<sd-select
|
|
6
|
+
size="lg"
|
|
7
|
+
placement="bottom"
|
|
8
|
+
label="Label"
|
|
9
|
+
placeholder="Please select"
|
|
10
|
+
style-on-valid=""
|
|
11
|
+
value=""
|
|
12
|
+
required=""
|
|
13
|
+
clearable=""
|
|
14
|
+
class="invalid-example"
|
|
15
|
+
>
|
|
16
|
+
<sd-option class="option" value="option-1">Option 1</sd-option>
|
|
17
|
+
<sd-option class="option" value="option-2">Option 2</sd-option>
|
|
18
|
+
<sd-option class="option" value="option-3">Option 3</sd-option>
|
|
19
|
+
</sd-select>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<script>
|
|
23
|
+
var invalidSelect = document.querySelector('.invalid-example');
|
|
24
|
+
setTimeout(() => {
|
|
25
|
+
invalidSelect.checkValidity();
|
|
26
|
+
invalidSelect.reportValidity();
|
|
27
|
+
invalidSelect.setCustomValidity('Please select at least one option.');
|
|
28
|
+
}, 500);
|
|
29
|
+
</script>
|
|
30
|
+
```
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
Use the `label` attribute to give the select element an accessible label.
|
|
2
|
+
For labels that contain HTML, use the `label` slot instead.
|
|
3
|
+
|
|
4
|
+
```html
|
|
5
|
+
<div class="flex gap-12 h-[500px]">
|
|
6
|
+
<sd-select size="lg" label="Label attribute" placement="bottom" value="">
|
|
7
|
+
<sd-option value="option-1">Option 1</sd-option>
|
|
8
|
+
<sd-option value="option-2">Option 2</sd-option>
|
|
9
|
+
<sd-option value="option-3">Option 3</sd-option>
|
|
10
|
+
<sd-option value="option-4">Option 4</sd-option>
|
|
11
|
+
<sd-option value="option-5">Option 5</sd-option>
|
|
12
|
+
</sd-select>
|
|
13
|
+
|
|
14
|
+
<sd-select size="lg" placement="bottom" value="">
|
|
15
|
+
<div slot="label" class="text-lg">Label slot</div>
|
|
16
|
+
<sd-option value="option-1">Option 1</sd-option>
|
|
17
|
+
<sd-option value="option-2">Option 2</sd-option>
|
|
18
|
+
<sd-option value="option-3">Option 3</sd-option>
|
|
19
|
+
<sd-option value="option-4">Option 4</sd-option>
|
|
20
|
+
<sd-option value="option-5">Option 5</sd-option>
|
|
21
|
+
</sd-select>
|
|
22
|
+
</div>
|
|
23
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
Use the `max-options-visible` attribute to define the maximum number of selected options that will be visible.
|
|
2
|
+
**Hint:** It requires the `multiple` and `useTags` attributes to be set.<br />
|
|
3
|
+
Once the maximum number of options is reached, the selection will display a message indicating how many additional options have been selected.<br />
|
|
4
|
+
To remove the limit, set the attribute to `0`.
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<div class="w-[400px] h-[500px]">
|
|
8
|
+
<sd-select
|
|
9
|
+
size="lg"
|
|
10
|
+
label="Label"
|
|
11
|
+
placement="bottom"
|
|
12
|
+
multiple=""
|
|
13
|
+
value="option-1 option-2 option-3"
|
|
14
|
+
useTags
|
|
15
|
+
max-options-visible="2"
|
|
16
|
+
>
|
|
17
|
+
<sd-option value="option-1">Option 1</sd-option>
|
|
18
|
+
<sd-option value="option-2">Option 2</sd-option>
|
|
19
|
+
<sd-option value="option-3">Option 3</sd-option>
|
|
20
|
+
<sd-option value="option-4">Option 4</sd-option>
|
|
21
|
+
<sd-option value="option-5">Option 5</sd-option>
|
|
22
|
+
</sd-select>
|
|
23
|
+
</div>
|
|
24
|
+
```
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Use the `multiple` attribute to allow multiple options to be selected.
|
|
2
|
+
Use `--tag-max-width` to set the maximum width of the tags and to show an ellipsis, e.g. `<sd-select style="--tag-max-width: 40px">`. The default value is `15ch`
|
|
3
|
+
|
|
4
|
+
```html
|
|
5
|
+
<div class="w-[400px] h-[500px]">
|
|
6
|
+
<sd-select size="lg" label="Label" placement="bottom" multiple="" value="option-1 option-2">
|
|
7
|
+
<sd-option value="option-1">Option 1</sd-option>
|
|
8
|
+
<sd-option value="option-2">Option 2</sd-option>
|
|
9
|
+
<sd-option value="option-3">Option 3</sd-option>
|
|
10
|
+
<sd-option value="option-4">Option 4</sd-option>
|
|
11
|
+
<sd-option value="option-5">Option 5</sd-option>
|
|
12
|
+
</sd-select>
|
|
13
|
+
</div>
|
|
14
|
+
```
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Use the `placeholder` attribute to show a placeholder when no option is selected.
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<div class="w-[400px] h-[500px]">
|
|
5
|
+
<sd-select size="lg" label="Label" placeholder="Placeholder example" placement="bottom" value="">
|
|
6
|
+
<sd-option value="option-1">Option 1</sd-option>
|
|
7
|
+
<sd-option value="option-2">Option 2</sd-option>
|
|
8
|
+
<sd-option value="option-3">Option 3</sd-option>
|
|
9
|
+
<sd-option value="option-4">Option 4</sd-option>
|
|
10
|
+
<sd-option value="option-5">Option 5</sd-option>
|
|
11
|
+
</sd-select>
|
|
12
|
+
</div>
|
|
13
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
Use the `placement` attribute to define where the select panel should appear:
|
|
2
|
+
|
|
3
|
+
- `bottom` (default)
|
|
4
|
+
- `top`
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<div class="flex items-center gap-12 h-[500px]">
|
|
8
|
+
<sd-select class="self-baseline" size="lg" label="Label" placement="bottom" value="">
|
|
9
|
+
<sd-option value="option-1">Option 1</sd-option>
|
|
10
|
+
<sd-option value="option-2">Option 2</sd-option>
|
|
11
|
+
<sd-option value="option-3">Option 3</sd-option>
|
|
12
|
+
<sd-option value="option-4">Option 4</sd-option>
|
|
13
|
+
<sd-option value="option-5">Option 5</sd-option>
|
|
14
|
+
</sd-select>
|
|
15
|
+
|
|
16
|
+
<sd-select size="lg" label="Label" placement="top" value="">
|
|
17
|
+
<sd-option value="option-1">Option 1</sd-option>
|
|
18
|
+
<sd-option value="option-2">Option 2</sd-option>
|
|
19
|
+
<sd-option value="option-3">Option 3</sd-option>
|
|
20
|
+
<sd-option value="option-4">Option 4</sd-option>
|
|
21
|
+
<sd-option value="option-5">Option 5</sd-option>
|
|
22
|
+
</sd-select>
|
|
23
|
+
</div>
|
|
24
|
+
```
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Use the `required` attribute to mark the element as required. This can be used for form validation purposes.
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<div class="w-[400px] h-[400px]">
|
|
5
|
+
<sd-select size="lg" label="Required" placeholder="Please select" placement="bottom" value="" required="">
|
|
6
|
+
<sd-option value="option-1">Option 1</sd-option>
|
|
7
|
+
<sd-option value="option-2">Option 2</sd-option>
|
|
8
|
+
<sd-option value="option-3">Option 3</sd-option>
|
|
9
|
+
<sd-option value="option-4">Option 4</sd-option>
|
|
10
|
+
<sd-option value="option-5">Option 5</sd-option>
|
|
11
|
+
</sd-select>
|
|
12
|
+
</div>
|
|
13
|
+
```
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
Use the `size` attribute to change the size. It will cascade to slotted `sd-option` elements:
|
|
2
|
+
|
|
3
|
+
- `lg` (default)
|
|
4
|
+
- `md`
|
|
5
|
+
- `sm`
|
|
6
|
+
**Note:** On the `floating-label` variant “sm” size is not available.
|
|
7
|
+
|
|
8
|
+
```html
|
|
9
|
+
<div class="flex gap-12 h-[500px]">
|
|
10
|
+
<sd-select size="lg" label="Label" placeholder="Large" placement="bottom" value="" class="test">
|
|
11
|
+
<sd-option value="option-1" size="lg">Option 1</sd-option>
|
|
12
|
+
<sd-option value="option-2" size="lg">Option 2</sd-option>
|
|
13
|
+
<sd-option value="option-3" size="lg">Option 3</sd-option>
|
|
14
|
+
<sd-option value="option-4" size="lg">Option 4</sd-option>
|
|
15
|
+
<sd-option value="option-5" size="lg">Option 5</sd-option>
|
|
16
|
+
</sd-select>
|
|
17
|
+
|
|
18
|
+
<sd-select size="md" label="Label" placeholder="Medium" placement="bottom" value="" class="test">
|
|
19
|
+
<sd-option value="option-1" size="md">Option 1</sd-option>
|
|
20
|
+
<sd-option value="option-2" size="md">Option 2</sd-option>
|
|
21
|
+
<sd-option value="option-3" size="md">Option 3</sd-option>
|
|
22
|
+
<sd-option value="option-4" size="md">Option 4</sd-option>
|
|
23
|
+
<sd-option value="option-5" size="md">Option 5</sd-option>
|
|
24
|
+
</sd-select>
|
|
25
|
+
|
|
26
|
+
<sd-select size="sm" label="Label" placeholder="Small" placement="bottom" value="">
|
|
27
|
+
<sd-option value="option-1" size="sm">Option 1</sd-option>
|
|
28
|
+
<sd-option value="option-2" size="sm">Option 2</sd-option>
|
|
29
|
+
<sd-option value="option-3" size="sm">Option 3</sd-option>
|
|
30
|
+
<sd-option value="option-4" size="sm">Option 4</sd-option>
|
|
31
|
+
<sd-option value="option-5" size="sm">Option 5</sd-option>
|
|
32
|
+
</sd-select>
|
|
33
|
+
</div>
|
|
34
|
+
```
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Use the `useTags` attribute to display selected options as tags using the `sd-tag` component.
|
|
2
|
+
**Hint:** It requires the `multiple` attribute to be set.
|
|
3
|
+
|
|
4
|
+
```html
|
|
5
|
+
<div class="w-[400px] h-[500px]">
|
|
6
|
+
<sd-select size="lg" label="Label" placement="bottom" multiple="" value="option-1 option-2" useTags>
|
|
7
|
+
<sd-option value="option-1">Option 1</sd-option>
|
|
8
|
+
<sd-option value="option-2">Option 2</sd-option>
|
|
9
|
+
<sd-option value="option-3">Option 3</sd-option>
|
|
10
|
+
<sd-option value="option-4">Option 4</sd-option>
|
|
11
|
+
<sd-option value="option-5">Option 5</sd-option>
|
|
12
|
+
</sd-select>
|
|
13
|
+
</div>
|
|
14
|
+
```
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
The component gets `valid` state when the input is valid.
|
|
2
|
+
Use the `style-on-valid` attribute to automatically indicate and show a valid state.
|
|
3
|
+
|
|
4
|
+
```html
|
|
5
|
+
<div class="w-[400px] h-[400px]">
|
|
6
|
+
<sd-select
|
|
7
|
+
size="lg"
|
|
8
|
+
placement="bottom"
|
|
9
|
+
label="Label"
|
|
10
|
+
placeholder="Please select"
|
|
11
|
+
style-on-valid=""
|
|
12
|
+
value="option-1"
|
|
13
|
+
class="valid-example"
|
|
14
|
+
>
|
|
15
|
+
<sd-option class="option" value="option-1">Option 1</sd-option>
|
|
16
|
+
<sd-option class="option" value="option-2">Option 2</sd-option>
|
|
17
|
+
<sd-option class="option" value="option-3">Option 12</sd-option>
|
|
18
|
+
</sd-select>
|
|
19
|
+
</div>
|
|
20
|
+
|
|
21
|
+
<script>
|
|
22
|
+
var validSelect = document.querySelector('.valid-example');
|
|
23
|
+
var options = validSelect.querySelectorAll('.option');
|
|
24
|
+
setTimeout(() => {
|
|
25
|
+
validSelect.checkValidity();
|
|
26
|
+
validSelect.reportValidity();
|
|
27
|
+
}, 500);
|
|
28
|
+
</script>
|
|
29
|
+
```
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Use the `visually-disabled` attribute to style the component as if it was disabled and enable `aria-disabled` to allow it to be reachable by screen readers.
|
|
2
|
+
**Hint:** When using this attribute, make sure to provide ways to inform the user why the element is disabled and how to enable it. This can be done by using the `help-text` attribute or wrapping the element in a sd-tooltip.
|
|
3
|
+
**Accessibility Hint:** Disabling elements is not recommended for accessibility reasons.
|
|
4
|
+
|
|
5
|
+
```html
|
|
6
|
+
<div class="w-[400px] h-[200px] mt-12">
|
|
7
|
+
<sd-tooltip content="Visually disabled" trigger="hover focus" size="sm">
|
|
8
|
+
<sd-select size="lg" label="Label" placeholder="Visually disabled" placement="bottom" value="" visually-disabled>
|
|
9
|
+
<sd-option value="option-1">Option 1</sd-option>
|
|
10
|
+
<sd-option value="option-2">Option 2</sd-option>
|
|
11
|
+
<sd-option value="option-3">Option 3</sd-option>
|
|
12
|
+
<sd-option value="option-4">Option 4</sd-option>
|
|
13
|
+
<sd-option value="option-5">Option 5</sd-option>
|
|
14
|
+
</sd-select>
|
|
15
|
+
</sd-tooltip>
|
|
16
|
+
</div>
|
|
17
|
+
```
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
## Overview
|
|
2
|
+
|
|
3
|
+
`<sd-skeleton>` — Used as a placeholder preview of the content before the data gets loaded to reduce load-time frustration.
|
|
4
|
+
|
|
5
|
+
## API
|
|
6
|
+
|
|
7
|
+
### Examples
|
|
8
|
+
|
|
9
|
+
Use the components tool by passing the args `component` and `example` for any of these combinations:
|
|
10
|
+
|
|
11
|
+
- component: sd-skeleton, example: variants
|
|
12
|
+
|
|
13
|
+
### Key Properties
|
|
14
|
+
|
|
15
|
+
- prop.variant: 'rectangular'|'circular', default='rectangular' — The shape variant when used without slotted content.
|
|
16
|
+
- prop.dir: 'ltr'|'rtl'|'auto' — The element's directionality.
|
|
17
|
+
- prop.lang: string — The element's language.
|
|
18
|
+
|
|
19
|
+
### Slots
|
|
20
|
+
|
|
21
|
+
- slot.default: The skeleton's content. When provided, adapts to the content's dimensions. When empty, displays according to the variant property.
|
|
22
|
+
|
|
23
|
+
### CSS Parts
|
|
24
|
+
|
|
25
|
+
- part.base: The component's base wrapper.
|
|
26
|
+
|
|
27
|
+
## Guidelines
|
|
28
|
+
|
|
29
|
+
### Use Cases
|
|
30
|
+
|
|
31
|
+
- Represent the loading state of specific UI elements like titles, images, and body content on detailed pages.
|
|
32
|
+
|
|
33
|
+
- Show placeholders for repeating elements such as items in a product grid or a list of search results.
|
|
34
|
+
|
|
35
|
+
### Rules
|
|
36
|
+
|
|
37
|
+
**Content and Styling**
|
|
38
|
+
|
|
39
|
+
- Ensure skeleton screens closely resemble the layout of the final content to provide a smooth transition once the content is loaded.
|
|
40
|
+
- Use a consistent skeleton style across similar components for uniformity.
|
|
41
|
+
- Make skeletons non-interactive placeholders, not functional components.
|
|
42
|
+
|
|
43
|
+
**Behavior and Interaction**
|
|
44
|
+
|
|
45
|
+
- Use skeletons only for content that takes longer than one second to load, avoiding quick flashes.
|
|
46
|
+
- Avoid showing skeletons for elements that aren't actually loading, as this can confuse or mislead users.
|
|
47
|
+
- Do not rely solely on skeletons for loading feedback; consider providing text like "Loading" for better accessibility.
|
|
48
|
+
- Provide smooth, subtle transitions from the skeleton to the loaded content.
|
|
49
|
+
|
|
50
|
+
**Performance**
|
|
51
|
+
|
|
52
|
+
- Ensure skeletons are lightweight to avoid overloading the page with complex or animated elements that can affect performance.
|
|
53
|
+
|
|
54
|
+
### Accessibility
|
|
55
|
+
|
|
56
|
+
- Use aria-hidden="true" on skeleton placeholders so screenreaders skip them.
|
|
57
|
+
- Provide a meaningful status update while skeletons are visible (e.g., “Loading…” or a live region announcing updates) to inform assistive technology users that content is still being retrieved.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Use the `variant` attribute to set the skeleton's variant:
|
|
2
|
+
|
|
3
|
+
- rectangular: Variant's height can be adjusted according to needs
|
|
4
|
+
- circular: Variant's width and height can be adjusted according to needs
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<div class="h-full">
|
|
8
|
+
<div class="flex flex-row gap-4 w-full">
|
|
9
|
+
<sd-skeleton class="w-[154px] h-4"></sd-skeleton>
|
|
10
|
+
<sd-skeleton variant="circular" class="h-4 w-4"></sd-skeleton>
|
|
11
|
+
</div>
|
|
12
|
+
</div>
|
|
13
|
+
```
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
## Overview
|
|
2
|
+
|
|
3
|
+
`<sd-spinner>` — Used as a visual indicator with a looping animation that shows loading is in process.
|
|
4
|
+
|
|
5
|
+
## API
|
|
6
|
+
|
|
7
|
+
### Examples
|
|
8
|
+
|
|
9
|
+
Use the components tool by passing the args `component` and `example` for any of these combinations:
|
|
10
|
+
|
|
11
|
+
- component: sd-spinner, example: variants
|
|
12
|
+
- component: sd-spinner, example: size
|
|
13
|
+
|
|
14
|
+
### Key Properties
|
|
15
|
+
|
|
16
|
+
- prop.color: 'primary'|'white'|'currentColor', default='currentColor' — The color color of the spinner.
|
|
17
|
+
- prop.dir: 'ltr'|'rtl'|'auto' — The element's directionality.
|
|
18
|
+
- prop.lang: string — The element's language.
|
|
19
|
+
|
|
20
|
+
## Guidelines
|
|
21
|
+
|
|
22
|
+
### Use Cases
|
|
23
|
+
|
|
24
|
+
- Indicate that content is being loaded, such as when fetching data from a server or loading a new page.
|
|
25
|
+
- Show ongoing background processes, like file uploads or data processing tasks.
|
|
26
|
+
- Used within buttons or interactive elements to indicate that an action is being processed.
|
|
27
|
+
- Apply to sections of a page that are loading independently, such as widgets or panels.
|
|
28
|
+
- Display when a form is being submitted to show that the submission is in progress.
|
|
29
|
+
|
|
30
|
+
### Rules
|
|
31
|
+
|
|
32
|
+
### Content
|
|
33
|
+
|
|
34
|
+
- Include a label or message to provide context about what is being loaded, especially if the loading time is long.
|
|
35
|
+
|
|
36
|
+
### Behavior and Placement
|
|
37
|
+
|
|
38
|
+
- Use for processes that take a short amount of time (typically under 4 seconds).
|
|
39
|
+
- Apply within specific sections rather than blocking the entire page, unless absolutely necessary.
|
|
40
|
+
- Place in a consistent location relative to the content it is loading.
|
|
41
|
+
|
|
42
|
+
### Styling
|
|
43
|
+
|
|
44
|
+
- Maintain consistency in size and style; avoid using spinners of varying sizes on the same page.
|
|
45
|
+
|
|
46
|
+
### Background
|
|
47
|
+
|
|
48
|
+
- Use light background options like white, neutral-100, primary-100, or use a primary background when inverted.
|
|
49
|
+
|
|
50
|
+
### Accessibility
|
|
51
|
+
|
|
52
|
+
- Assign role="status" or use a live region (e.g., aria-live="polite") to inform screen reader users of ongoing loading.
|
|
53
|
+
- A spinner shouldn’t itself be focusable or interactive, nor prevent from navigating to other parts of the page while loading continues.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
Use the CSS property `font-size` to scale the spinner proportionally.
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<div class="flex flex-row gap-12">
|
|
5
|
+
<div style="font-size: inherit">
|
|
6
|
+
<sd-spinner color="primary"></sd-spinner>
|
|
7
|
+
</div>
|
|
8
|
+
<div style="font-size: 2rem">
|
|
9
|
+
<sd-spinner color="primary"></sd-spinner>
|
|
10
|
+
</div>
|
|
11
|
+
<div style="font-size: 4rem">
|
|
12
|
+
<sd-spinner color="primary"></sd-spinner>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
```
|