@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,135 @@
|
|
|
1
|
+
## Overview
|
|
2
|
+
|
|
3
|
+
`<sd-notification>` — Used to communicate information or status to users, notifications can be displayed inline or as toast messages, either individually or in stacks.
|
|
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-notification, example: variants
|
|
12
|
+
- component: sd-notification, example: open
|
|
13
|
+
- component: sd-notification, example: closable
|
|
14
|
+
- component: sd-notification, example: duration
|
|
15
|
+
- component: sd-notification, example: duration-indicator
|
|
16
|
+
- component: sd-notification, example: toast-notification
|
|
17
|
+
- component: sd-notification, example: toast-bottom-center
|
|
18
|
+
|
|
19
|
+
### Key Properties
|
|
20
|
+
|
|
21
|
+
- prop.variant: 'info'|'success'|'error'|'warning', default='info' — The sd-notification's theme.
|
|
22
|
+
- prop.open: boolean, default=false — Indicates whether or not sd-notification is open. You can toggle this attribute to show and hide the notification, or you can
|
|
23
|
+
use the `show()` and `hide()` methods and this attribute will reflect the notifications's open state.
|
|
24
|
+
- prop.closable: boolean, default=false — Enables a close button that allows the user to dismiss the notification.
|
|
25
|
+
It also allows the user to dismiss the notification using the ESC.
|
|
26
|
+
- prop.duration: default=Infinity — The length of time, in milliseconds, the sd-notification will show before closing itself. If the user interacts with
|
|
27
|
+
the notification before it closes (e.g. moves the mouse over it), the timer will restart. Defaults to `Infinity`, meaning
|
|
28
|
+
the notification will not close on its own.
|
|
29
|
+
- prop.durationIndicator [attr: duration-indicator]: boolean, default=false — Enables an animation that visualizes the duration of a notification.
|
|
30
|
+
- prop.toastStack [attr: toast-stack]: 'top-right'|'bottom-center', default='top-right' — The position of the toasted sd-notification.
|
|
31
|
+
- prop.dir: 'ltr'|'rtl'|'auto' — The element's directionality.
|
|
32
|
+
- prop.lang: string — The element's language.
|
|
33
|
+
|
|
34
|
+
### Events
|
|
35
|
+
|
|
36
|
+
- event.sd-show: Emitted when the notification opens.
|
|
37
|
+
- event.sd-after-show: Emitted after the notification opens and all animations are complete.
|
|
38
|
+
- event.sd-hide: Emitted when the notification closes.
|
|
39
|
+
- event.sd-after-hide: Emitted after the notification closes and all animations are complete.
|
|
40
|
+
|
|
41
|
+
### Slots
|
|
42
|
+
|
|
43
|
+
- slot.default: The sd-notification's main content.
|
|
44
|
+
- slot.icon: An icon to show in the sd-notification. Works best with `<sd-icon>`.
|
|
45
|
+
|
|
46
|
+
### CSS Parts
|
|
47
|
+
|
|
48
|
+
- part.base: The component's base wrapper.
|
|
49
|
+
- part.wrapper: The container that wraps all the notification elements.
|
|
50
|
+
- part.icon: The container that wraps the optional icon.
|
|
51
|
+
- part.content: The container that wraps the notifications's main content and the close button.
|
|
52
|
+
- part.message: The container that wraps the notifications's main content.
|
|
53
|
+
- part.duration-indicator\_\_elapsed: The current duration indicator.
|
|
54
|
+
- part.duration-indicator\_\_total: The total duration indicator.
|
|
55
|
+
- part.close-button: The close button, an `<sd-icon-button>`.
|
|
56
|
+
|
|
57
|
+
## Guidelines
|
|
58
|
+
|
|
59
|
+
### Use Cases
|
|
60
|
+
|
|
61
|
+
#### Inline Notification
|
|
62
|
+
|
|
63
|
+
Provide contextual feedback – that needs to be noted – to users through inline notifications that are directly embedded within the content of a page or form.
|
|
64
|
+
|
|
65
|
+
- Integrated into the area where the user is already focused to avoid disrupting the user's workflow.
|
|
66
|
+
- Provide feedback on user actions, such as errors, warnings, or confirmations
(e.g. "Unable to save changes. Check your internet connection and try again.", "You have unsaved changes. Are you sure you want to leave this page?" or "Payment completed. Thank you for your purchase!")
|
|
67
|
+
- Announce important updates or changes within the application
(e.g. New feature alert! You can now schedule posts directly from the dashboard.", "Maintenance scheduled for January 30th, 2:00 AM - 4:00 AM. The application will be unavailable during this time.")
|
|
68
|
+
- Highlight critical information or display system messages that require user attention
(e.g. "System update required. Please restart your application to apply the latest updates." or "Your account has been temporarily suspended due to suspicious activity. Contact support for assistance.")
|
|
69
|
+
- May contain interactive elements such as links and buttons.
|
|
70
|
+
|
|
71
|
+
#### Toast Notification
|
|
72
|
+
|
|
73
|
+
Provide brief, unobtrusive messages to users through toast notifications that overlay the interface and do not necessarily need attention.
|
|
74
|
+
|
|
75
|
+
- Take the user's attention temporarily away from their current task by appearing on the screen with animations to ensure they are noticed.
|
|
76
|
+
- Provide feedback on user actions, such as errors, warnings, or confirmations.
(e.g., "Failed to load data", "Your message has been sent", "Your settings have been saved").
|
|
77
|
+
- Announce updates, reminders, or confirmations
(e.g., "Your settings have been saved").
|
|
78
|
+
- May contain interactive elements such as links and buttons.
|
|
79
|
+
- They can serve as supplementary information for content available on other pages (e.g., a toast notification "Item has been added to the cart" alongside a shopping cart page).
|
|
80
|
+
|
|
81
|
+
### Rules
|
|
82
|
+
|
|
83
|
+
### Content
|
|
84
|
+
|
|
85
|
+
- Provide clear, actionable information or guidance, avoiding vague or overly technical language.
|
|
86
|
+
- Avoid repeating or paraphrasing the title in the body if both are present.
|
|
87
|
+
- Avoid using non-essential information that can be conveyed through other means.
|
|
88
|
+
|
|
89
|
+
### Behavior
|
|
90
|
+
|
|
91
|
+
- Allow users to dismiss notifications if they are not critical.
|
|
92
|
+
- Avoid displaying important information in toast notifications that automatically disappear.
|
|
93
|
+
- If a notification has a set duration, include a duration indicator to show how much time remains before it disappears.
|
|
94
|
+
- Avoid overloading users with too many notifications at once.
|
|
95
|
+
- Use sd-dialog for actions that require immediate user response.
|
|
96
|
+
|
|
97
|
+
### Placement
|
|
98
|
+
|
|
99
|
+
- Place notifications in consistent locations across the application.
|
|
100
|
+
- Avoid placing notifications where they can be easily overlooked or ignored.
|
|
101
|
+
|
|
102
|
+
### Styling
|
|
103
|
+
|
|
104
|
+
- Use appropriate variant to indicate the semantic meaning (e.g., green for success, red for error, etc.).
|
|
105
|
+
- Keep the text style as default; text can be bolded or linked.
|
|
106
|
+
- Keep the provided icon as it cannot be omitted.
|
|
107
|
+
|
|
108
|
+
### Accessibility
|
|
109
|
+
|
|
110
|
+
- Screen Reader Support: By using these ARIA roles appropriately, you can ensure that all users, including those who rely on screen readers, receive important notifications in a timely and accessible manner. Use ARIA role "alert" for notifications needing immediate attention, like error messages or critical updates. Screen readers announce these immediately, interrupting ongoing speech. Use ARIA role "status" for less urgent notifications, like informational messages. Screen readers announce these without interrupting ongoing speech.
|
|
111
|
+
- Keyboard Navigation: Notifications should be reachable and dismissible using keyboard shortcuts. For example, use the “Tab” key to navigate to the notification and “Esc” to dismiss it.
|
|
112
|
+
- Accessible Focus Order: Ensure that notifications with actionable items have an accessible focus order.
|
|
113
|
+
- Visibility Duration: Important notifications should not disappear automatically. Users should have enough time to read and understand the message. Supplementary information for content available on other pages can disappear automatically.
|
|
114
|
+
|
|
115
|
+
#### Toast Notifications
|
|
116
|
+
|
|
117
|
+
<sd-notification variant="warning" open>
|
|
118
|
+
<p>**Please be aware of the following accessibility requirements:**</p>
|
|
119
|
+
<ul>
|
|
120
|
+
<li>Prefer default (inline) notifications over toast notifications.</li>
|
|
121
|
+
<li>Don’t use toasts for critical information.</li>
|
|
122
|
+
<li>Don’t overuse toast notifications.</li>
|
|
123
|
+
<li>When the page is zoomed in, toasts may obscure large parts of the screen.</li>
|
|
124
|
+
<li>Only use interactive elements in toast notifications for additional actions.</li>
|
|
125
|
+
<li>Consider not using buttons in timed toasts.</li>
|
|
126
|
+
</ul>
|
|
127
|
+
</sd-notification><br>
|
|
128
|
+
|
|
129
|
+
- Toast messages make use of the role="status" attribute. This will trigger certain assistive devices, such as screen readers, to announce the content at a convenient moment after the toast appears.
|
|
130
|
+
- Hotkey Access: Toast notifications will use an already existing container from the DOM with the ids "sd-toast-stack--top-right" and "sd-toast-stack--bottom-center". The "aria-label" prop should be set to set proper names to the containers. In case these containers are not present, the sd-notification will take care of creating it with default label "Notifications". Landmark regions can be navigated using the keyboard by pressing the F6 key to move forward, and the Shift + F6 key to move backward.
|
|
131
|
+
- Don't trap focus.
|
|
132
|
+
|
|
133
|
+
<sd-notification variant="warning" open>
|
|
134
|
+
**Known screen readers issues:** Due to inconsistency between screen readers when announcing the toast notification we recommend using inline notification
|
|
135
|
+
</sd-notification><br>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Use the `closable` attribute to toggle a close button.
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<sd-notification id="closable-example" variant="info" open closable>Lorem ipsum dolor sit</sd-notification>
|
|
5
|
+
<script>
|
|
6
|
+
var closableNotification = document.querySelector('#closable-example');
|
|
7
|
+
closableNotification.addEventListener('sd-after-hide', () => {
|
|
8
|
+
setTimeout(() => {
|
|
9
|
+
closableNotification.open = true;
|
|
10
|
+
}, 3000);
|
|
11
|
+
});
|
|
12
|
+
</script>
|
|
13
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
Use the `duration-indicator` attribute to enable an animation that visualizes the duration of a notification.
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<sd-notification id="duration-indicator-attribute" variant="info" open duration-indicator duration="5000">
|
|
5
|
+
Notification will self close after 5 seconds
|
|
6
|
+
</sd-notification>
|
|
7
|
+
<script>
|
|
8
|
+
var durationIndicator = document.querySelector('#duration-indicator-attribute');
|
|
9
|
+
durationIndicator.addEventListener('sd-after-hide', () => {
|
|
10
|
+
setTimeout(() => {
|
|
11
|
+
durationIndicator.open = true;
|
|
12
|
+
}, 3000);
|
|
13
|
+
});
|
|
14
|
+
</script>
|
|
15
|
+
```
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
Use the `duration` attribute to set the duration (in milliseconds) of the notification.
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<sd-notification variant="info" open duration="Infinity">Notification will stay open (Infinity)</sd-notification>
|
|
5
|
+
<sd-notification id="duration-example" variant="info" open duration="5000">
|
|
6
|
+
Notification will self close after 5 seconds
|
|
7
|
+
</sd-notification>
|
|
8
|
+
<script>
|
|
9
|
+
var notificationDuration = document.querySelector('#duration-example');
|
|
10
|
+
notificationDuration.addEventListener('sd-after-hide', () => {
|
|
11
|
+
setTimeout(() => {
|
|
12
|
+
notificationDuration.open = true;
|
|
13
|
+
}, 3000);
|
|
14
|
+
});
|
|
15
|
+
</script>
|
|
16
|
+
```
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
<h4 class="sd-headline sd-headline--size-lg">Toast placement bottom center</h4>
|
|
2
|
+
Use the `data-notification-position` attribute with the value `bottom-center` to align the toast to the bottom center.
|
|
3
|
+
|
|
4
|
+
```html
|
|
5
|
+
<div class="flex gap-2">
|
|
6
|
+
<sd-button variant="secondary" data-notification-type="info" data-notification-position="bottom-center" class="w-24">
|
|
7
|
+
Info
|
|
8
|
+
</sd-button>
|
|
9
|
+
<sd-button
|
|
10
|
+
variant="secondary"
|
|
11
|
+
data-notification-type="success"
|
|
12
|
+
data-notification-position="bottom-center"
|
|
13
|
+
class="w-24"
|
|
14
|
+
>
|
|
15
|
+
Success
|
|
16
|
+
</sd-button>
|
|
17
|
+
<sd-button
|
|
18
|
+
variant="secondary"
|
|
19
|
+
data-notification-type="warning"
|
|
20
|
+
data-notification-position="bottom-center"
|
|
21
|
+
class="w-24"
|
|
22
|
+
>Warning</sd-button
|
|
23
|
+
>
|
|
24
|
+
<sd-button variant="secondary" data-notification-type="error" data-notification-position="bottom-center" class="w-24"
|
|
25
|
+
>Error</sd-button
|
|
26
|
+
>
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
<script>
|
|
30
|
+
var buttons = document.querySelectorAll('[data-notification-position="bottom-center"]');
|
|
31
|
+
|
|
32
|
+
function notifyBottomCenter(variant = 'info') {
|
|
33
|
+
const notification = Object.assign(document.createElement('sd-notification'), {
|
|
34
|
+
closable: true,
|
|
35
|
+
variant: variant,
|
|
36
|
+
toastStack: 'bottom-center',
|
|
37
|
+
duration: Infinity,
|
|
38
|
+
innerHTML: 'Lorem ipsum dolor sit amet.'
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
notification.style.width = '250px';
|
|
42
|
+
|
|
43
|
+
document.body.append(notification);
|
|
44
|
+
return notification.toast();
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
buttons.forEach(button => {
|
|
48
|
+
button.addEventListener('click', () => {
|
|
49
|
+
notifyBottomCenter(button.getAttribute('data-notification-type'));
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
</script>
|
|
53
|
+
```
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
Use the `toastStack` attribute to change the position of the toast notifications:
|
|
2
|
+
|
|
3
|
+
- `top-right` (default)
|
|
4
|
+
- `bottom-center`
|
|
5
|
+
**Important:** Some screen readers may occasionally ignore live regions that are added to a page after it has already loaded.
|
|
6
|
+
Therefore, to make sure the toast stack regions are already present on page load, please make sure to render the following:
|
|
7
|
+
|
|
8
|
+
```html
|
|
9
|
+
<div
|
|
10
|
+
role="region"
|
|
11
|
+
id="sd-toast-stack--top-right"
|
|
12
|
+
class="sd-toast-stack sd-toast-stack--top-right"
|
|
13
|
+
aria-label="Top right notifications"
|
|
14
|
+
></div>
|
|
15
|
+
<div
|
|
16
|
+
role="region"
|
|
17
|
+
id="sd-toast-stack--bottom-center"
|
|
18
|
+
class="sd-toast-stack sd-toast-stack--bottom-center"
|
|
19
|
+
aria-label="Bottom center notifications"
|
|
20
|
+
></div>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**Hints:**
|
|
24
|
+
|
|
25
|
+
- It requires the use of the `toast` method to work. Click on the `Show code` button to see the JavaScript code responsible for generating the toast notification.
|
|
26
|
+
- Click on one of the buttons below to see the corresponding toast notification.
|
|
27
|
+
<h4 class="sd-headline sd-headline--size-lg">Toast placement top right</h4>
|
|
28
|
+
Use the `data-notification-position` attribute with the value `top-right` to align the toast to the top right.
|
|
29
|
+
|
|
30
|
+
```html
|
|
31
|
+
<div class="flex gap-2">
|
|
32
|
+
<sd-button variant="secondary" data-notification-type="info" data-notification-position="top-right" class="w-24">
|
|
33
|
+
Info
|
|
34
|
+
</sd-button>
|
|
35
|
+
<sd-button variant="secondary" data-notification-type="success" data-notification-position="top-right" class="w-24">
|
|
36
|
+
Success
|
|
37
|
+
</sd-button>
|
|
38
|
+
<sd-button variant="secondary" data-notification-type="warning" data-notification-position="top-right" class="w-24"
|
|
39
|
+
>Warning</sd-button
|
|
40
|
+
>
|
|
41
|
+
<sd-button variant="secondary" data-notification-type="error" data-notification-position="top-right" class="w-24"
|
|
42
|
+
>Error</sd-button
|
|
43
|
+
>
|
|
44
|
+
</div>
|
|
45
|
+
<script>
|
|
46
|
+
var buttons = document.querySelectorAll('[data-notification-position="top-right"]');
|
|
47
|
+
|
|
48
|
+
function notify(variant = 'info') {
|
|
49
|
+
const notification = Object.assign(document.createElement('sd-notification'), {
|
|
50
|
+
closable: true,
|
|
51
|
+
variant: variant,
|
|
52
|
+
toastStack: 'top-right',
|
|
53
|
+
duration: Infinity,
|
|
54
|
+
innerHTML: 'Lorem ipsum dolor sit amet.'
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
document.body.append(notification);
|
|
58
|
+
return notification.toast();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
buttons.forEach(button => {
|
|
62
|
+
button.addEventListener('click', () => {
|
|
63
|
+
notify(button.getAttribute('data-notification-type'));
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
</script>
|
|
67
|
+
```
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Use the `variant` attribute to change the theme of the notification:
|
|
2
|
+
|
|
3
|
+
- `info` (default): suitable for notifications, conveying neutral information about an action
|
|
4
|
+
- `success`: imply a successful or positive outcome of an action
|
|
5
|
+
- `error`: indicate a destructive and irreversible outcome of an action
|
|
6
|
+
- `warning`: alert for possible issues or significant changes that must be considered
|
|
7
|
+
|
|
8
|
+
```html
|
|
9
|
+
<style>
|
|
10
|
+
.notification-list > sd-notification::part(base) {
|
|
11
|
+
margin: 0;
|
|
12
|
+
}
|
|
13
|
+
</style>
|
|
14
|
+
<div class="flex flex-col gap-12 notification-list">
|
|
15
|
+
<sd-notification variant="info" open>Info Lorem ipsum dolor sit</sd-notification>
|
|
16
|
+
<sd-notification variant="success" open>Success Lorem ipsum dolor sit</sd-notification>
|
|
17
|
+
<sd-notification variant="error" open>Error Lorem ipsum dolor sit</sd-notification>
|
|
18
|
+
<sd-notification variant="warning" open>Warning Lorem ipsum dolor sit</sd-notification>
|
|
19
|
+
</div>
|
|
20
|
+
```
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
## Overview
|
|
2
|
+
|
|
3
|
+
`<sd-optgroup>` — Used to group `sd-option`components within an `sd-combobox`.
|
|
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-optgroup, example: disabled
|
|
12
|
+
|
|
13
|
+
### Key Properties
|
|
14
|
+
|
|
15
|
+
- prop.disabled: boolean, default=false — Disables all options in the optgroup.
|
|
16
|
+
- prop.label: string, default='' — The optgroups label. If you need to display HTML, use the `label` slot instead.
|
|
17
|
+
- prop.dir: 'ltr'|'rtl'|'auto' — The element's directionality.
|
|
18
|
+
- prop.lang: string — The element's language.
|
|
19
|
+
|
|
20
|
+
### Slots
|
|
21
|
+
|
|
22
|
+
- slot.default: The given options. Must be `<sd-option>` elements.
|
|
23
|
+
- slot.label: The label for the optgroup
|
|
24
|
+
|
|
25
|
+
### CSS Parts
|
|
26
|
+
|
|
27
|
+
- part.base: The component's base wrapper.
|
|
28
|
+
- part.label-container: The container that wraps prefix, label and base
|
|
29
|
+
- part.divider: The divider that is displayed above the content
|
|
30
|
+
- part.options: The container that wraps the <sd-option> elements.
|
|
31
|
+
|
|
32
|
+
## Guidelines
|
|
33
|
+
|
|
34
|
+
### Use Cases
|
|
35
|
+
|
|
36
|
+
- Provide options in selects or comboboxes.
|
|
37
|
+
- Allow users to select from a list of predefined choices in forms or settings, where they might choose one or more options.
|
|
38
|
+
- Present filter options in searches or data tables.
|
|
39
|
+
|
|
40
|
+
### Rules
|
|
41
|
+
|
|
42
|
+
### Content
|
|
43
|
+
|
|
44
|
+
- Make sure all items in the list are mutually exclusive and unambiguous to help users understand what they are selecting.
|
|
45
|
+
- Provide a default choice where applicable to guide users.
|
|
46
|
+
- Use the optional grouping label and/or divider attributes to visually identify the groups.
|
|
47
|
+
|
|
48
|
+
### Behavior
|
|
49
|
+
|
|
50
|
+
- Use the “checkbox” variant for multi-select and the “default” variant for single-select choices.
|
|
51
|
+
- Provide a reason or alternative if some choice is disabled.
|
|
52
|
+
|
|
53
|
+
### Accessibility
|
|
54
|
+
|
|
55
|
+
- Ensure that the group label is short and concise as it may be read out when users enter the group.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Use the disabled attribute in the <sd-optgroup> to disable the section and prevent it from being selected.
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<div class="h-[260px] w-[400px]">
|
|
5
|
+
<sd-combobox label="Label">
|
|
6
|
+
<sd-optgroup label="Section 1" disabled>
|
|
7
|
+
<sd-option value="1">Option</sd-option>
|
|
8
|
+
<sd-option value="2">Option</sd-option>
|
|
9
|
+
<sd-option value="3">Option</sd-option>
|
|
10
|
+
</sd-optgroup>
|
|
11
|
+
</sd-combobox>
|
|
12
|
+
</div>
|
|
13
|
+
```
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
## Overview
|
|
2
|
+
|
|
3
|
+
`<sd-option>` — Used to define selectable items within various form controls such as select.
|
|
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-option, example: size
|
|
12
|
+
- component: sd-option, example: checkbox
|
|
13
|
+
- component: sd-option, example: selected
|
|
14
|
+
- component: sd-option, example: disabled
|
|
15
|
+
|
|
16
|
+
### Key Properties
|
|
17
|
+
|
|
18
|
+
- prop.size: 'lg'|'md'|'sm', default='lg' — The option's size is inherited automatically from the `size` attribute of the parent `sd-select`.
|
|
19
|
+
- prop.checkbox: boolean, default=false — Prefixes a styled checkbox to the option. Enabled automatically in `sd-select` when attribute `checklist` is set to `true`.
|
|
20
|
+
- prop.disabled: boolean, default=false — Draws the option in a disabled state, preventing selection.
|
|
21
|
+
- prop.value: string, default='' — The option's value. When selected, the containing form control will receive this value. The value must be unique
|
|
22
|
+
from other options in the same group. Values may not contain spaces, as spaces are used as delimiters when listing
|
|
23
|
+
multiple values.
|
|
24
|
+
- prop.dir: 'ltr'|'rtl'|'auto' — The element's directionality.
|
|
25
|
+
- prop.lang: string — The element's language.
|
|
26
|
+
|
|
27
|
+
### Slots
|
|
28
|
+
|
|
29
|
+
- slot.default: The option's label.
|
|
30
|
+
- slot.left: Used to prepend an icon or similar element to the menu item.
|
|
31
|
+
- slot.right: Used to append an icon or similar element to the menu item.
|
|
32
|
+
|
|
33
|
+
### CSS Parts
|
|
34
|
+
|
|
35
|
+
- part.checked-icon: The checked icon, an `<sd-icon>` element.
|
|
36
|
+
- part.base: The component's base wrapper.
|
|
37
|
+
- part.label: The option's label.
|
|
38
|
+
- part.left: The container that wraps the left.
|
|
39
|
+
- part.right: The container that wraps the right.
|
|
40
|
+
|
|
41
|
+
## Guidelines
|
|
42
|
+
|
|
43
|
+
### Use Cases
|
|
44
|
+
|
|
45
|
+
- Provide options in selects or comboboxes.
|
|
46
|
+
- Allow users to select from a list of predefined choices in forms or settings, where they might choose one or more options.
|
|
47
|
+
- Present filter options in searches or data tables.
|
|
48
|
+
|
|
49
|
+
### Rules
|
|
50
|
+
|
|
51
|
+
### Content
|
|
52
|
+
|
|
53
|
+
- Make sure all items in the list are mutually exclusive and unambiguous to help users understand what they are selecting.
|
|
54
|
+
- Provide a default choice where applicable to guide users.
|
|
55
|
+
|
|
56
|
+
### Behavior
|
|
57
|
+
|
|
58
|
+
- Use the “checkbox” variant for multi-select and the “default” variant for single-select choices.
|
|
59
|
+
- Provide a reason or alternative if some choice is disabled.
|
|
60
|
+
|
|
61
|
+
### Accessibility
|
|
62
|
+
|
|
63
|
+
- Long option names can be difficult to understand and perceive, so it’s best to keep them concise.
|
|
64
|
+
- Ensure that the beginning of each option is unique to avoid confusion, especially for screen reader users.
|
|
65
|
+
- Don’t include headings or interactive elements like links, buttons, or checkboxes within dropdown options.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Use the `checkbox` attribute to make it a checkbox.
|
|
2
|
+
Enabled automatically when using `sd-select` with attribute `checklist` set to `true`.
|
|
3
|
+
|
|
4
|
+
```html
|
|
5
|
+
<div class="h-[260px]">
|
|
6
|
+
<sd-select
|
|
7
|
+
class="max-w-[300px]"
|
|
8
|
+
label="Checkbox"
|
|
9
|
+
placeholder="Please select"
|
|
10
|
+
placement="bottom"
|
|
11
|
+
max-options-visible="3"
|
|
12
|
+
multiple
|
|
13
|
+
>
|
|
14
|
+
<sd-option value="option-1" checkbox>Checkbox option 1</sd-option>
|
|
15
|
+
<sd-option value="option-2" checkbox>Checkbox option 2</sd-option>
|
|
16
|
+
<sd-option value="option-3" checkbox>Checkbox option 3</sd-option>
|
|
17
|
+
</sd-select>
|
|
18
|
+
</div>
|
|
19
|
+
```
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Use the `disabled` attribute to disable an option.
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<div class="flex flex-row gap-12 h-[260px]">
|
|
5
|
+
<sd-select label="Disabled options" placeholder="Please select" placement="bottom" max-options-visible="3">
|
|
6
|
+
<sd-option value="option-1" disabled>option 1</sd-option>
|
|
7
|
+
<sd-option value="option-2" disabled>option 2</sd-option>
|
|
8
|
+
<sd-option value="option-3" disabled>option 3</sd-option>
|
|
9
|
+
</sd-select>
|
|
10
|
+
<sd-select
|
|
11
|
+
label="Disabled checkbox options"
|
|
12
|
+
placeholder="Please select"
|
|
13
|
+
placement="bottom"
|
|
14
|
+
max-options-visible="3"
|
|
15
|
+
multiple
|
|
16
|
+
>
|
|
17
|
+
<sd-option value="option-1" disabled checkbox>Checkbox option 1</sd-option>
|
|
18
|
+
<sd-option value="option-2" disabled checkbox>Checkbox option 2</sd-option>
|
|
19
|
+
<sd-option value="option-3" disabled checkbox>Checkbox option 3</sd-option>
|
|
20
|
+
</sd-select>
|
|
21
|
+
</div>
|
|
22
|
+
```
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
Parent component `sd-select` controls state of `sd-option`.
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<div class="flex flex-row gap-12 h-[260px]">
|
|
5
|
+
<sd-select label="Selected option" placeholder="Please select" placement="bottom" size="lg" max-options-visible="3">
|
|
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-select>
|
|
10
|
+
<sd-select
|
|
11
|
+
label="Multiple selected option"
|
|
12
|
+
placeholder="Please select"
|
|
13
|
+
placement="bottom"
|
|
14
|
+
size="lg"
|
|
15
|
+
max-options-visible="3"
|
|
16
|
+
multiple
|
|
17
|
+
>
|
|
18
|
+
<sd-option value="option-1" checkbox>Checkbox option 1</sd-option>
|
|
19
|
+
<sd-option value="option-2" checkbox>Checkbox option 2</sd-option>
|
|
20
|
+
<sd-option value="option-3" checkbox>Checkbox option 3</sd-option>
|
|
21
|
+
</sd-select>
|
|
22
|
+
</div>
|
|
23
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
Use the `size` attribute to change the option’s size:
|
|
2
|
+
|
|
3
|
+
- `lg` (default)
|
|
4
|
+
- `md`
|
|
5
|
+
- `sm`
|
|
6
|
+
This will be inherited automatically from the size attribute of the parent `sd-select`.
|
|
7
|
+
|
|
8
|
+
```html
|
|
9
|
+
<div class="flex flex-row gap-4 h-[260px]">
|
|
10
|
+
<sd-select label="Large" placeholder="Please select" placement="bottom" max-options-visible="3">
|
|
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-select>
|
|
15
|
+
<sd-select label="Medium" placeholder="Please select" placement="bottom" max-options-visible="3" size="md">
|
|
16
|
+
<sd-option value="option-1" size="md">option 1</sd-option>
|
|
17
|
+
<sd-option value="option-2" size="md">option 2</sd-option>
|
|
18
|
+
<sd-option value="option-3" size="md">option 3</sd-option>
|
|
19
|
+
</sd-select>
|
|
20
|
+
<sd-select label="Small" placeholder="Please select" placement="bottom" max-options-visible="3" size="sm">
|
|
21
|
+
<sd-option value="option-1" size="sm">option 1</sd-option>
|
|
22
|
+
<sd-option value="option-2" size="sm">option 2</sd-option>
|
|
23
|
+
<sd-option value="option-3" size="sm">option 3</sd-option>
|
|
24
|
+
</sd-select>
|
|
25
|
+
</div>
|
|
26
|
+
```
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
## Overview
|
|
2
|
+
|
|
3
|
+
`<sd-popup>` — Popup is a utility that lets you declaratively anchor "popup" containers to another element.
|
|
4
|
+
|
|
5
|
+
## API
|
|
6
|
+
|
|
7
|
+
### Key Properties
|
|
8
|
+
|
|
9
|
+
- prop.anchor: Element|string — The element the popup will be anchored to. If the anchor lives outside of the popup, you can provide its `id` or a
|
|
10
|
+
reference to it here. If the anchor lives inside the popup, use the `anchor` slot instead.
|
|
11
|
+
- prop.active: boolean, default=false — Activates the positioning logic and shows the popup. When this attribute is removed, the positioning logic is torn
|
|
12
|
+
down and the popup will be hidden.
|
|
13
|
+
- prop.placement: |'top'|'top-start'|'top-end'|'bottom'|'bottom-start'|'bottom-end'|'right'|'right-start'|'right-end'|'left'|'left-start'|'left-end', default='top' — The preferred placement of the popup. Note that the actual placement will vary as configured to keep the
|
|
14
|
+
panel inside of the viewport.
|
|
15
|
+
- prop.strategy: 'absolute'|'fixed', default='absolute' — Determines how the popup is positioned. The `absolute` strategy works well in most cases, but if
|
|
16
|
+
overflow is clipped, using a `fixed` position strategy can often workaround it.
|
|
17
|
+
- prop.distance: number, default=0 — The distance in pixels from which to offset the panel away from its anchor.
|
|
18
|
+
- prop.skidding: number, default=0 — The distance in pixels from which to offset the panel along its anchor.
|
|
19
|
+
- prop.arrow: boolean, default=false — Attaches an arrow to the popup. The arrow's size and color can be customized using the `--arrow-size` and
|
|
20
|
+
`--arrow-color` custom properties. For additional customizations, you can also target the arrow using
|
|
21
|
+
`::part(arrow)` in your stylesheet.
|
|
22
|
+
- prop.arrowPlacement [attr: arrow-placement]: |'start'|'end'|'center'|'anchor', default='anchor' — The placement of the arrow. The default is `anchor`, which will align the arrow as close to the center of the
|
|
23
|
+
anchor as possible, considering available space and `arrow-padding`. A value of `start`, `end`, or `center` will
|
|
24
|
+
align the arrow to the start, end, or center of the popover instead.
|
|
25
|
+
- prop.arrowPadding [attr: arrow-padding]: number, default=10 — The amount of padding between the arrow and the edges of the popup. If the popup has a border-radius, for example,
|
|
26
|
+
this will prevent it from overflowing the corners.
|
|
27
|
+
- prop.flip: boolean, default=false — When set, placement of the popup will flip to the opposite site to keep it in view. You can use
|
|
28
|
+
`flipFallbackPlacements` to further configure how the fallback placement is determined.
|
|
29
|
+
- prop.flipFallbackPlacements [attr: flip-fallback-placements]: string, default='' — If the preferred placement doesn't fit, popup will be tested in these fallback placements until one fits. Must be a
|
|
30
|
+
string of any number of placements separated by a space, e.g. "top bottom left". If no placement fits, the flip
|
|
31
|
+
fallback strategy will be used instead.
|
|
32
|
+
- prop.flipFallbackStrategy [attr: flip-fallback-strategy]: 'best-fit'|'initial', default='best-fit' — When neither the preferred placement nor the fallback placements fit, this value will be used to determine whether
|
|
33
|
+
the popup should be positioned using the best available fit based on available space or as it was initially
|
|
34
|
+
preferred.
|
|
35
|
+
- prop.flipBoundary: Element|Element[] — The flip boundary describes clipping element(s) that overflow will be checked relative to when flipping. By
|
|
36
|
+
default, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can
|
|
37
|
+
change the boundary by passing a reference to one or more elements to this property.
|
|
38
|
+
- prop.flipPadding [attr: flip-padding]: number, default=0 — The amount of padding, in pixels, to exceed before the flip behavior will occur.
|
|
39
|
+
- prop.shift: boolean, default=false — Moves the popup along the axis to keep it in view when clipped.
|
|
40
|
+
- prop.shiftBoundary: Element|Element[] — The shift boundary describes clipping element(s) that overflow will be checked relative to when shifting. By
|
|
41
|
+
default, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can
|
|
42
|
+
change the boundary by passing a reference to one or more elements to this property.
|
|
43
|
+
- prop.shiftPadding [attr: shift-padding]: number, default=0 — The amount of padding, in pixels, to exceed before the shift behavior will occur.
|
|
44
|
+
- prop.autoSize [attr: auto-size]: 'horizontal'|'vertical'|'both' — When set, this will cause the popup to automatically resize itself to prevent it from overflowing.
|
|
45
|
+
- prop.sync: 'width'|'height'|'both' — Syncs the popup's width or height to that of the anchor element.
|
|
46
|
+
- prop.autoSizeBoundary: Element|Element[] — The auto-size boundary describes clipping element(s) that overflow will be checked relative to when resizing. By
|
|
47
|
+
default, the boundary includes overflow ancestors that will cause the element to be clipped. If needed, you can
|
|
48
|
+
change the boundary by passing a reference to one or more elements to this property.
|
|
49
|
+
- prop.autoSizePadding [attr: auto-size-padding]: number, default=0 — The amount of padding, in pixels, to exceed before the auto-size behavior will occur.
|
|
50
|
+
- prop.dir: 'ltr'|'rtl'|'auto' — The element's directionality.
|
|
51
|
+
- prop.lang: string — The element's language.
|
|
52
|
+
|
|
53
|
+
### Events
|
|
54
|
+
|
|
55
|
+
- event.sd-reposition: Emitted when the popup is repositioned. This event can fire a lot, so avoid putting expensive operations in your listener or consider debouncing it.
|
|
56
|
+
- event.sd-current-placement: Emitted when the popup's placement changes automatically based on screen limitations.
|
|
57
|
+
|
|
58
|
+
### Slots
|
|
59
|
+
|
|
60
|
+
- slot.default: The popup's content.
|
|
61
|
+
- slot.anchor: The element the popup will be anchored to. If the anchor lives outside of the popup, you can use the `anchor` attribute or property instead.
|
|
62
|
+
|
|
63
|
+
### CSS Parts
|
|
64
|
+
|
|
65
|
+
- part.arrow: The arrow's container. Avoid setting `top|bottom|left|right` properties, as these values are assigned dynamically as the popup moves. This is most useful for applying a background color to match the popup, and maybe a border or box shadow.
|
|
66
|
+
- part.popup: The popup's container. Useful for setting a background color, box shadow, etc.
|