@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,88 @@
|
|
|
1
|
+
## Overview
|
|
2
|
+
|
|
3
|
+
`<sd-checkbox>` — Used to toggle an option on or off.
|
|
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-checkbox, example: size
|
|
12
|
+
- component: sd-checkbox, example: disabled
|
|
13
|
+
- component: sd-checkbox, example: visually-disabled
|
|
14
|
+
- component: sd-checkbox, example: checked
|
|
15
|
+
- component: sd-checkbox, example: indeterminate
|
|
16
|
+
- component: sd-checkbox, example: required
|
|
17
|
+
- component: sd-checkbox, example: invalid
|
|
18
|
+
|
|
19
|
+
### Key Properties
|
|
20
|
+
|
|
21
|
+
- prop.title: string, default='' — The `title` attribute specifies extra information about an element most often as a default browser tooltip text when the mouse moves over the element.
|
|
22
|
+
- prop.name: string, default='' — The name of the checkbox, submitted as a name/value pair with form data.
|
|
23
|
+
- prop.value: string — The current value of the checkbox, submitted as a name/value pair with form data.
|
|
24
|
+
- prop.size: 'sm'|'md'|'lg', default='lg' — The checkbox's size.
|
|
25
|
+
- prop.disabled: boolean, default=false — Disables the checkbox.
|
|
26
|
+
- prop.visuallyDisabled [attr: visually-disabled]: boolean, default=false — Styles the checkbox as if it was disabled and enables aria-disabled
|
|
27
|
+
- prop.checked: boolean, default=false — Draws the checkbox in a checked state.
|
|
28
|
+
- prop.indeterminate: boolean, default=false — Draws the checkbox in an indeterminate state. This is usually applied to checkboxes that represents a "select
|
|
29
|
+
all/none" behavior when associated checkboxes have a mix of checked and unchecked states.
|
|
30
|
+
- prop.defaultChecked: boolean, default=false — The default value of the form control. Primarily used for resetting the form control.
|
|
31
|
+
- prop.form: string, default='' — By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you
|
|
32
|
+
to place the form control outside of a form and associate it with the form that has this `id`. The form must be in
|
|
33
|
+
the same document or shadow root for this to work.
|
|
34
|
+
- prop.required: boolean, default=false — Makes the checkbox a required field.
|
|
35
|
+
- prop.validity: — Gets the validity state object
|
|
36
|
+
- prop.dir: 'ltr'|'rtl'|'auto' — The element's directionality.
|
|
37
|
+
- prop.lang: string — The element's language.
|
|
38
|
+
|
|
39
|
+
### Events
|
|
40
|
+
|
|
41
|
+
- event.sd-blur: Emitted when the checkbox loses focus.
|
|
42
|
+
- event.sd-change: Emitted when the checked state changes.
|
|
43
|
+
- event.sd-focus: Emitted when the checkbox gains focus.
|
|
44
|
+
- event.sd-input: Emitted when the checkbox receives input.
|
|
45
|
+
|
|
46
|
+
### Slots
|
|
47
|
+
|
|
48
|
+
- slot.default: The checkbox's label.
|
|
49
|
+
|
|
50
|
+
### CSS Parts
|
|
51
|
+
|
|
52
|
+
- part.base: The component's base wrapper.
|
|
53
|
+
- part.control: The square container that wraps the checkbox's checked state.
|
|
54
|
+
- part.control--checked: Matches the control part when the checkbox is checked.
|
|
55
|
+
- part.control--indeterminate: Matches the control part when the checkbox is indeterminate.
|
|
56
|
+
- part.checked-icon: The checked icon, an `<sd-icon>` element.
|
|
57
|
+
- part.indeterminate-icon: The indeterminate icon, an `<sd-icon>` element.
|
|
58
|
+
- part.label: The container that wraps the checkbox's label.
|
|
59
|
+
|
|
60
|
+
## Guidelines
|
|
61
|
+
|
|
62
|
+
### Use Cases
|
|
63
|
+
|
|
64
|
+
- Used for selections that don’t immediately activate.
|
|
65
|
+
- Selecting an option like "Agree to Terms and Conditions" before submitting a registration form.
|
|
66
|
+
- Opt-in/Opt-out of notifications or subscriptions.
|
|
67
|
+
- Check [sd-checkbox-group](./?path=/docs/components-sd-checkbox-group--docs) for group use cases and usage guidelines.
|
|
68
|
+
|
|
69
|
+
### Rules
|
|
70
|
+
|
|
71
|
+
### Content
|
|
72
|
+
|
|
73
|
+
- Provide a clear, descriptive label for each selection to avoid confusion.
|
|
74
|
+
- Frame labels positively, such as "Enable notifications" instead of "Disable notifications."
|
|
75
|
+
|
|
76
|
+
### Interaction and Usage
|
|
77
|
+
|
|
78
|
+
- Ensure each selection operates independently unless used for bulk actions.
|
|
79
|
+
- List selections in a logical order, such as alphabetical or numerical.
|
|
80
|
+
- Refrain from using a single checkbox when the action should take effect immediately — use [sd-switch](./?path=/docs/components-sd-switch--docs) instead.
|
|
81
|
+
|
|
82
|
+
### Accessibility
|
|
83
|
+
|
|
84
|
+
- Checkboxes should always look like checkboxes to meet user’s expectations.
|
|
85
|
+
- Nesting other interactive elements like links inside labels should be avoided.
|
|
86
|
+
- An error-text with a warning icon should be placed underneath an invalid checkbox or, if used in a group, underneath the checkbox group. Error messages should always provide hints for solutions.
|
|
87
|
+
- 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.
|
|
88
|
+
- In Figma use an asterisk with a blank before ( \*) at the end of its label when designing a mandatory checkbox. In code use the “required” boolean.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
The component gets `invalid` state when the form is not valid.
|
|
2
|
+
For an invalid checkbox an error-text underneath (or if used in a group underneath the checkbox-group) is mandatory.
|
|
3
|
+
|
|
4
|
+
```html
|
|
5
|
+
<form id="form-example">
|
|
6
|
+
<sd-checkbox id="checkbox-example" required>Invalid</sd-checkbox>
|
|
7
|
+
<sd-button class="mt-4" type="submit" hidden>Submit</sd-button>
|
|
8
|
+
</form>
|
|
9
|
+
<script>
|
|
10
|
+
var checkbox = document.querySelector('#checkbox-example');
|
|
11
|
+
var form = document.querySelector('#form-example');
|
|
12
|
+
|
|
13
|
+
setTimeout(() => {
|
|
14
|
+
checkbox.setCustomValidity('Error-text');
|
|
15
|
+
form.reportValidity();
|
|
16
|
+
}, 500);
|
|
17
|
+
|
|
18
|
+
checkbox.addEventListener('sd-change', () => {
|
|
19
|
+
checkbox.checked ? checkbox.setCustomValidity('') : checkbox.setCustomValidity('Error-text');
|
|
20
|
+
});
|
|
21
|
+
</script>
|
|
22
|
+
```
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Use the `size` attribute to change the size of the input checkbox (`md` equals `lg` but added for consistency reason on input elements):
|
|
2
|
+
|
|
3
|
+
- `lg` (default)
|
|
4
|
+
- `md`
|
|
5
|
+
- `sm`
|
|
6
|
+
This attribute affects the font-size within the element, while the element itself remains the same size.
|
|
7
|
+
|
|
8
|
+
```html
|
|
9
|
+
<div class="flex gap-12">
|
|
10
|
+
<sd-checkbox size="lg">Large</sd-checkbox>
|
|
11
|
+
<sd-checkbox size="md">Medium</sd-checkbox>
|
|
12
|
+
<sd-checkbox size="sm">Small</sd-checkbox>
|
|
13
|
+
</div>
|
|
14
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
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-[250px] h-[100px] pt-12">
|
|
7
|
+
<sd-tooltip content="Visually disabled" trigger="hover focus" size="sm" placement="top">
|
|
8
|
+
<sd-checkbox visually-disabled>Visually disabled</sd-checkbox>
|
|
9
|
+
</sd-tooltip>
|
|
10
|
+
</div>
|
|
11
|
+
```
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
## Overview
|
|
2
|
+
|
|
3
|
+
`<sd-checkbox-group>` — Used to group multiple options from a list of options. Presentational only.
|
|
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-checkbox-group, example: size
|
|
12
|
+
- component: sd-checkbox-group, example: orientation
|
|
13
|
+
- component: sd-checkbox-group, example: label
|
|
14
|
+
- component: sd-checkbox-group, example: help-text
|
|
15
|
+
|
|
16
|
+
### Key Properties
|
|
17
|
+
|
|
18
|
+
- prop.size: 'lg'|'md'|'sm', default='lg' — The checkbox group's size. This size will be applied to the label, all child checkboxes.
|
|
19
|
+
- prop.orientation: 'horizontal'|'vertical', default='vertical' — The orientation property determines the alignment of the component's content or elements. It accepts two possible
|
|
20
|
+
values: 'horizontal' and 'vertical'. The default value is 'vertical'.
|
|
21
|
+
This property allows you to control the visual layout and arrangement of elements within the component, providing
|
|
22
|
+
flexibility in how the component is displayed based on your specific design needs.
|
|
23
|
+
- prop.label: string, default='' — The checkbox group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot
|
|
24
|
+
instead.
|
|
25
|
+
- prop.helpText [attr: help-text]: string, default='' — The element help text. If you need to display HTML, use the `help-text` slot instead.
|
|
26
|
+
- prop.dir: 'ltr'|'rtl'|'auto' — The element's directionality.
|
|
27
|
+
- prop.lang: string — The element's language.
|
|
28
|
+
|
|
29
|
+
### Slots
|
|
30
|
+
|
|
31
|
+
- slot.default: The default slot where `<sd-checkbox>` elements are placed.
|
|
32
|
+
- slot.label: The checkbox group's label. Required for proper accessibility. Alternatively, you can use the `label` attribute.
|
|
33
|
+
- slot.tooltip: An optional tooltip that helps describe the checkbox-group. Use this slot with the `sd-tooltip` component.
|
|
34
|
+
- slot.help-text: Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.
|
|
35
|
+
|
|
36
|
+
## Guidelines
|
|
37
|
+
|
|
38
|
+
### Use Cases
|
|
39
|
+
|
|
40
|
+
- Allow users to select multiple options from a list in forms.
|
|
41
|
+
- Indicate agreement to terms and conditions.
|
|
42
|
+
- Use a parent option to select or deselect all items in a list.
|
|
43
|
+
- Enable filtering of data on a page, in a menu, or within a component.
|
|
44
|
+
- Check [sd-checkbox](./?path=/docs/components-sd-checkbox--docs) for single usage guidelines.
|
|
45
|
+
|
|
46
|
+
### Rules
|
|
47
|
+
|
|
48
|
+
### Labels
|
|
49
|
+
|
|
50
|
+
- Provide a clear, mutually exclusive label for each option to avoid ambiguity and ensure accessibility.
|
|
51
|
+
- Frame labels positively (e.g., "Enable notifications" instead of "Disable notifications").
|
|
52
|
+
|
|
53
|
+
### Layout and Structure
|
|
54
|
+
|
|
55
|
+
- Align options vertically for better readability and user experience.
|
|
56
|
+
- List selections in a logical order, such as alphabetical or numerical.
|
|
57
|
+
- Place selections consistently across the interface.
|
|
58
|
+
|
|
59
|
+
### Interaction and Functionality
|
|
60
|
+
|
|
61
|
+
- Ensure each selection works independently unless used for bulk actions.
|
|
62
|
+
- Use a parent option for bulk selection or deselection of all items.
|
|
63
|
+
- Avoid using checkboxes when only one option can be selected; use radio buttons instead.
|
|
64
|
+
- Refrain from using checkboxes for mutually exclusive choices.
|
|
65
|
+
- Don’t use checkboxes for binary actions that take immediate effect; use a switch instead.
|
|
66
|
+
|
|
67
|
+
### Accessibility
|
|
68
|
+
|
|
69
|
+
- Ensure that the group label is short and concise as it may be read out with every option or when users enter the group.
|
|
70
|
+
- An error-text with a warning icon should be placed underneath an invalid checkbox or, if used in a group, underneath the checkbox group. Error messages should always provide hints for solutions.
|
|
71
|
+
- Use an asterisk with a blank before ( \*) at the end of its label when designing a mandatory checkbox.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Use the `help-text` attribute to add a descriptive “help text”.
|
|
2
|
+
For help texts that contain HTML, use the `help-text` slot instead.
|
|
3
|
+
|
|
4
|
+
```html
|
|
5
|
+
<div class="flex gap-12">
|
|
6
|
+
<sd-checkbox-group orientation="vertical" help-text="Help text">
|
|
7
|
+
<label slot="label">Group label</label>
|
|
8
|
+
<sd-checkbox value="1">Checkbox 1</sd-checkbox>
|
|
9
|
+
<sd-checkbox value="2">Checkbox 2</sd-checkbox>
|
|
10
|
+
<sd-checkbox value="3">Checkbox 3</sd-checkbox>
|
|
11
|
+
</sd-checkbox-group>
|
|
12
|
+
</div>
|
|
13
|
+
```
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
Use the `label` attribute to add a label on top.
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<sd-checkbox-group orientation="vertical">
|
|
5
|
+
<label slot="label">Group label</label>
|
|
6
|
+
<sd-checkbox value="1">Checkbox 1</sd-checkbox>
|
|
7
|
+
<sd-checkbox value="2">Checkbox 2</sd-checkbox>
|
|
8
|
+
<sd-checkbox value="3">Checkbox 3</sd-checkbox>
|
|
9
|
+
</sd-checkbox-group>
|
|
10
|
+
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Use the `orientation` attribute to set the axis of the checkboxes:
|
|
2
|
+
|
|
3
|
+
- `vertical` (default)
|
|
4
|
+
- `horizontal`
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<div class="flex gap-12">
|
|
8
|
+
<sd-checkbox-group orientation="vertical" label="Group label">
|
|
9
|
+
<sd-checkbox value="1">Checkbox 1</sd-checkbox>
|
|
10
|
+
<sd-checkbox value="2">Checkbox 2</sd-checkbox>
|
|
11
|
+
<sd-checkbox value="3">Checkbox 3</sd-checkbox>
|
|
12
|
+
</sd-checkbox-group>
|
|
13
|
+
<sd-checkbox-group orientation="horizontal" label="Group label">
|
|
14
|
+
<sd-checkbox value="1">Checkbox 1</sd-checkbox>
|
|
15
|
+
<sd-checkbox value="2">Checkbox 2</sd-checkbox>
|
|
16
|
+
<sd-checkbox value="3">Checkbox 3</sd-checkbox>
|
|
17
|
+
</sd-checkbox-group>
|
|
18
|
+
</div>
|
|
19
|
+
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Use the `size` attribute to change the size (`md` equals `lg` but added for consistency reason on input elements):
|
|
2
|
+
|
|
3
|
+
- `lg` (default)
|
|
4
|
+
- `md`
|
|
5
|
+
- `sm`
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<div class="flex gap-12">
|
|
9
|
+
<sd-checkbox-group size="lg" label="Group label">
|
|
10
|
+
<sd-checkbox value="1">Checkbox 1</sd-checkbox>
|
|
11
|
+
<sd-checkbox value="2">Checkbox 2</sd-checkbox>
|
|
12
|
+
<sd-checkbox value="3">Checkbox 3</sd-checkbox>
|
|
13
|
+
</sd-checkbox-group>
|
|
14
|
+
|
|
15
|
+
<sd-checkbox-group size="sm" label="Group label">
|
|
16
|
+
<sd-checkbox value="1">Checkbox 1</sd-checkbox>
|
|
17
|
+
<sd-checkbox value="2">Checkbox 2</sd-checkbox>
|
|
18
|
+
<sd-checkbox value="3">Checkbox 3</sd-checkbox>
|
|
19
|
+
</sd-checkbox-group>
|
|
20
|
+
</div>
|
|
21
|
+
```
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
## Overview
|
|
2
|
+
|
|
3
|
+
`<sd-combobox>` — Used to select one or multiple options from a list of options or to enter a search string and choose from a list of suggestions.
|
|
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-combobox, example: size
|
|
12
|
+
- component: sd-combobox, example: placement
|
|
13
|
+
- component: sd-combobox, example: label
|
|
14
|
+
- component: sd-combobox, example: floating-label
|
|
15
|
+
- component: sd-combobox, example: placeholder
|
|
16
|
+
- component: sd-combobox, example: disabled
|
|
17
|
+
- component: sd-combobox, example: visually-disabled
|
|
18
|
+
- component: sd-combobox, example: help-text
|
|
19
|
+
- component: sd-combobox, example: focus
|
|
20
|
+
- component: sd-combobox, example: suggestion-container-height
|
|
21
|
+
- component: sd-combobox, example: clearable
|
|
22
|
+
- component: sd-combobox, example: icons
|
|
23
|
+
- component: sd-combobox, example: search
|
|
24
|
+
- component: sd-combobox, example: multiple
|
|
25
|
+
- component: sd-combobox, example: max-options-visible
|
|
26
|
+
- component: sd-combobox, example: required
|
|
27
|
+
- component: sd-combobox, example: valid
|
|
28
|
+
- component: sd-combobox, example: invalid
|
|
29
|
+
- component: sd-combobox, example: async-options
|
|
30
|
+
- component: sd-combobox, example: custom-filter
|
|
31
|
+
|
|
32
|
+
### Key Properties
|
|
33
|
+
|
|
34
|
+
- prop.name: string, default='' — The name of the combobox, submitted as a name/value pair with form data.
|
|
35
|
+
- prop.value: string|string[], default='' — The current value of the combobox, submitted as a name/value pair with form data.
|
|
36
|
+
- prop.defaultValue: string, default='' — The default value of the form control. Primarily used for resetting the form control.
|
|
37
|
+
- prop.size: 'lg'|'md'|'sm', default='lg' — The combobox's size.
|
|
38
|
+
- prop.placeholder: string, default='' — Placeholder text to show as a hint when the combobox is empty.
|
|
39
|
+
- prop.maxOptionsTagLabel [attr: max-options-tag-label]: string, default='' — Label text shown on tag if max-options-visible is reached.
|
|
40
|
+
- prop.disabled: boolean, default=false — Disables the combobox control.
|
|
41
|
+
- prop.visuallyDisabled [attr: visually-disabled]: boolean, default=false — Styles the combobox as if it was disabled and enables aria-disabled
|
|
42
|
+
- prop.clearable: boolean, default=false — Adds a clear button when the combobox is not empty.
|
|
43
|
+
- prop.open: boolean, default=false — Indicates whether or not the combobox is open.
|
|
44
|
+
You can toggle this attribute to show and hide the listbox, or you can use the `show()`
|
|
45
|
+
and `hide()` methods and this attribute will reflect the combobox's open state.
|
|
46
|
+
- prop.hoist: boolean, default=false — Enable this option to prevent the listbox from being clipped,
|
|
47
|
+
when the component is placed inside a container with `overflow: auto|scroll`.
|
|
48
|
+
Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.
|
|
49
|
+
- prop.label: string, default='' — The combobox's label. If you need to display HTML, use the `label` slot instead.
|
|
50
|
+
- prop.placement: 'top'|'bottom', default='bottom' — The preferred placement of the combobox's menu.
|
|
51
|
+
Note that the actual placement may vary as needed to keep the listbox inside of the viewport.
|
|
52
|
+
- prop.helpText [attr: help-text]: string, default='' — The combobox's help text. If you need to display HTML, use the `help-text` slot instead.
|
|
53
|
+
- prop.form: string, default='' — By default, form controls are associated with the nearest containing `<form>` element.
|
|
54
|
+
This attribute allows you to place the form control outside of a form and associate it
|
|
55
|
+
with the form that has this `id`.
|
|
56
|
+
The form must be in the same document or shadow root for this to work.
|
|
57
|
+
- prop.required: boolean, default=false — The combobox's required attribute.
|
|
58
|
+
- prop.floatingLabel [attr: floating-label]: boolean, default=false — Enables the floating label behavior for the input.
|
|
59
|
+
- prop.type: 'search'|'text', default='text' — The type of input. Works the same as a native `<input>` element, but only a subset of types are supported. Defaults
|
|
60
|
+
to `text`.
|
|
61
|
+
- prop.getOption: OptionRenderer, default=defaultOptionRenderer — A function that customizes the rendered option. The first argument is the option, the second
|
|
62
|
+
is the query string, which is typed into the combobox.
|
|
63
|
+
The function should return either a Lit TemplateResult or a string containing trusted HTML
|
|
64
|
+
to render in the shown list of filtered options.
|
|
65
|
+
If the query string should be highlighted use the `highlightOptionRenderer` function.
|
|
66
|
+
- prop.multiple: boolean, default=false — Allows more than one option to be selected.
|
|
67
|
+
- prop.useTags: boolean, default=true — Uses interactive `sd-tag` elements representing individual options in the display input when `multiple` is `true`. It cannot be opted out.
|
|
68
|
+
- 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
|
|
69
|
+
indicate the number of additional items that are selected. Set to 0 to remove the limit.
|
|
70
|
+
- prop.styleOnValid [attr: style-on-valid]: boolean, default=false — Shows success styles if the validity of the input is valid.
|
|
71
|
+
- prop.filter: (option: SdOption, queryString: string) => boolean — A function used to filter options in the combobox component.
|
|
72
|
+
The default filter method is a case- and diacritic-insensitive string comparison.
|
|
73
|
+
- prop.validity: — Gets the validity state object
|
|
74
|
+
- prop.validationMessage: — Gets the validation message
|
|
75
|
+
- prop.dir: 'ltr'|'rtl'|'auto' — The element's directionality.
|
|
76
|
+
- prop.lang: string — The element's language.
|
|
77
|
+
|
|
78
|
+
### Events
|
|
79
|
+
|
|
80
|
+
- event.sd-change: Emitted when the control's value changes.
|
|
81
|
+
- event.sd-clear: Emitted when the control's value is cleared.
|
|
82
|
+
- event.sd-input: Emitted when the control receives input.
|
|
83
|
+
- event.sd-search: Emitted when the search button is activated.
|
|
84
|
+
- event.sd-focus: Emitted when the control gains focus.
|
|
85
|
+
- event.sd-blur: Emitted when the control loses focus.
|
|
86
|
+
- event.sd-show: Emitted when the combobox's menu opens.
|
|
87
|
+
- event.sd-after-show: Emitted after the combobox's menu opens and all animations are complete.
|
|
88
|
+
- event.sd-hide: Emitted when the combobox's menu closes.
|
|
89
|
+
- event.sd-after-hide: Emitted after the combobox's menu closes and all animations are complete.
|
|
90
|
+
- event.sd-invalid: Emitted when the form control has been checked for validity and its constraints aren't satisfied.
|
|
91
|
+
- event.sd-error: Emitted when the combobox menu fails to open.
|
|
92
|
+
|
|
93
|
+
### Slots
|
|
94
|
+
|
|
95
|
+
- slot.default: The listbox options. Must be `<sd-option>` elements. You can use `<sd-optgroup>`'s to group items visually.
|
|
96
|
+
- slot.label: The combobox's label. Alternatively, you can use the `label` attribute.
|
|
97
|
+
- slot.help-text: Text that describes how to use the combobox. Alternatively, you can use the `help-text` attribute.
|
|
98
|
+
- slot.left: Used to prepend a presentational icon or similar element to the combobox.
|
|
99
|
+
- slot.right: Used to append a presentational icon or similar element to the combobox.
|
|
100
|
+
- slot.clear-icon: An icon to use in lieu of the default clear icon.
|
|
101
|
+
- slot.expand-icon: The icon to show when the control is expanded and collapsed. Rotates on open and close.
|
|
102
|
+
|
|
103
|
+
### CSS Parts
|
|
104
|
+
|
|
105
|
+
- part.form-control: The form control that wraps the label, combobox, and help text.
|
|
106
|
+
- part.form-control-label: The label's wrapper.
|
|
107
|
+
- part.form-control-input: The combobox's wrapper.
|
|
108
|
+
- part.form-control-help-text: The help text's wrapper.
|
|
109
|
+
- part.combobox: The container that wraps the prefix, combobox, clear icon, and expand button.
|
|
110
|
+
- part.left: The container that wraps the left icon slot.
|
|
111
|
+
- part.right: The container that wraps the right icon slot.
|
|
112
|
+
- part.display-input: The element that displays the selected option's label, an `<input>` element.
|
|
113
|
+
- part.listbox: The listbox container where the options are slotted and the filtered options list exists.
|
|
114
|
+
- part.filtered-listbox: The container that wraps the filtered options.
|
|
115
|
+
- part.clear-button: The clear button.
|
|
116
|
+
- part.expand-icon: The container that wraps the expand icon.
|
|
117
|
+
|
|
118
|
+
## Guidelines
|
|
119
|
+
|
|
120
|
+
### Use Cases
|
|
121
|
+
|
|
122
|
+
- Allow users to select one or more options from a potentially large list by typing a search string and filtering suggestions.
|
|
123
|
+
- Provide an autocomplete feature in forms where specific or complex entries benefit from quick lookup.
|
|
124
|
+
- Implement in search fields or filter panels when users may not recall the exact option name but can approximate it.
|
|
125
|
+
|
|
126
|
+
#### Default Combobox
|
|
127
|
+
|
|
128
|
+
Use the “default” variant when clarity, scannability, and accessibility are your primary concerns.
|
|
129
|
+
|
|
130
|
+
- Long or descriptive labels, helper text, or units are needed.
|
|
131
|
+
- Forms with many fields that users must scan quickly.
|
|
132
|
+
- Complex fields with adornments, counters, or tooltips.
|
|
133
|
+
|
|
134
|
+
#### Floating Label Combobox
|
|
135
|
+
|
|
136
|
+
Use the “floating-label” variant to conserve vertical space and streamline simple forms, while still keeping the label visible.
|
|
137
|
+
|
|
138
|
+
- Compact layouts and simple fields.
|
|
139
|
+
- Short labels (1–3 words); minimal helper text.
|
|
140
|
+
- You want a clean look without duplicate placeholder text.
|
|
141
|
+
|
|
142
|
+
### Rules
|
|
143
|
+
|
|
144
|
+
### Variant Consistency
|
|
145
|
+
|
|
146
|
+
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.
|
|
147
|
+
|
|
148
|
+
### Content and Labels
|
|
149
|
+
|
|
150
|
+
- Keep option labels concise so that suggestions are easy to scan and select.
|
|
151
|
+
- Provide a clear, descriptive placeholder (e.g., “Search or select an option…”) to help users understand they can type and choose from suggestions.
|
|
152
|
+
- Avoid repeating the same initial word in multiple suggestions to reduce scanning difficulty.
|
|
153
|
+
|
|
154
|
+
### Searching Behavior
|
|
155
|
+
|
|
156
|
+
- Filter available options in real time as the user types; highlight or bold matching text to indicate relevance.
|
|
157
|
+
- Show a message (e.g., “No matches found”) when no options align with the user’s input.
|
|
158
|
+
- Consider limiting the maximum number of displayed suggestions to avoid overwhelming users. We recommend displaying 6-8 (with scrolling for additional results).
|
|
159
|
+
|
|
160
|
+
### Background
|
|
161
|
+
|
|
162
|
+
- Use light backgrounds such as white, neutral-100, or primary-100 for clarity and consistency across different layouts.
|
|
163
|
+
- Keep focus styles clearly visible when the user navigates through suggestions with a keyboard or screen reader.
|
|
164
|
+
|
|
165
|
+
### Accessibility
|
|
166
|
+
|
|
167
|
+
- To ensure screenreader compatibility, consider including a statement such as "Fields marked with an asterisk (\*) are required" at the start of the form.
|
|
168
|
+
- A visible label may be omitted for search input fields within a combobox if an associated button—complete with a clear search icon and an appropriate accessible name (e.g., aria-label="Search")—is provided.
|
|
169
|
+
- Be aware that group labels will be neglected by most assistive devices.
|
|
170
|
+
- 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,27 @@
|
|
|
1
|
+
It is possible to add options dynamically to the combobox e.g. if the option values need to be fetched asynchronously from a remote server or API.
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<div class="h-[400px] min-w-[200px] md:min-w-0 max-w-[400px]">
|
|
5
|
+
<sd-combobox label="Async options" class="async-combobox">
|
|
6
|
+
<sd-option class="option" value="option-1">Option 1</sd-option>
|
|
7
|
+
<sd-option class="option" value="option-2">Option 2</sd-option>
|
|
8
|
+
<sd-option class="option" value="option-3">Option 3</sd-option>
|
|
9
|
+
</sd-combobox>
|
|
10
|
+
</div>
|
|
11
|
+
<script type="module">
|
|
12
|
+
const comboboxes = document.querySelectorAll('.async-combobox');
|
|
13
|
+
comboboxes.forEach(combobox => {
|
|
14
|
+
// After api request the options are added async
|
|
15
|
+
let index = 4;
|
|
16
|
+
let timeout = setInterval(() => {
|
|
17
|
+
const option = document.createElement('sd-option');
|
|
18
|
+
const value = 'Option ' + index++;
|
|
19
|
+
option.textContent = value;
|
|
20
|
+
combobox.appendChild(option);
|
|
21
|
+
if (index > 10) {
|
|
22
|
+
clearInterval(timeout);
|
|
23
|
+
}
|
|
24
|
+
}, 4000);
|
|
25
|
+
});
|
|
26
|
+
</script>
|
|
27
|
+
```
|
|
@@ -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="h-[400px] min-w-[200px] md:min-w-0 max-w-[400px]">
|
|
5
|
+
<sd-combobox 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-combobox>
|
|
12
|
+
</div>
|
|
13
|
+
```
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
A custom filter can be applied by passing a filter function to the filter property. This filter() function will be called for each option. The first argument is an element and the second argument is the query string.
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<div class="h-[400px] min-w-[200px] md:min-w-0 max-w-[400px]">
|
|
5
|
+
<sd-combobox label="Custom filter" class="filter-combobox"> ${createColorOptionsHtml()} </sd-combobox>
|
|
6
|
+
</div>
|
|
7
|
+
<script type="module">
|
|
8
|
+
const comboboxes = document.querySelectorAll('.filter-combobox');
|
|
9
|
+
comboboxes.forEach(combobox => {
|
|
10
|
+
const oldFilter = combobox.filter;
|
|
11
|
+
combobox.filter = (option, queryString) => {
|
|
12
|
+
// only show options for more than 2 characters on text input
|
|
13
|
+
if (queryString && queryString.length > 2) {
|
|
14
|
+
return oldFilter(option, queryString);
|
|
15
|
+
}
|
|
16
|
+
return false;
|
|
17
|
+
};
|
|
18
|
+
});
|
|
19
|
+
</script>
|
|
20
|
+
```
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Use the `disabled` attribute to disable the combobox.
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<div class="min-w-[200px] md:min-w-0 max-w-[400px]">
|
|
5
|
+
<sd-combobox 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-combobox>
|
|
12
|
+
</div>
|
|
13
|
+
```
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Use the `floating-label` attribute to enable a floating label on the combobox.
|
|
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 h-[400px] min-w-[200px] md:min-w-0 max-w-[400px]">
|
|
6
|
+
<sd-combobox 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-combobox>
|
|
13
|
+
</div>
|
|
14
|
+
```
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
The focus attribute provides feedback to the users, informing them that the combobox component is ready for use.
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<div class="h-[260px] min-w-[200px] md:min-w-0 max-w-[400px]">
|
|
5
|
+
<sd-combobox label="Label">
|
|
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-combobox>
|
|
10
|
+
</div>
|
|
11
|
+
```
|
|
@@ -0,0 +1,36 @@
|
|
|
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 flex-wrap md:flex-nowrap gap-12 h-[400px]">
|
|
6
|
+
<sd-combobox
|
|
7
|
+
class="flex-1 min-w-[200px] md:min-w-0 max-w-[400px]"
|
|
8
|
+
size="lg"
|
|
9
|
+
label="Label"
|
|
10
|
+
placement="bottom"
|
|
11
|
+
value=""
|
|
12
|
+
help-text="Help text attribute"
|
|
13
|
+
>
|
|
14
|
+
<sd-option value="option-1">Option 1</sd-option>
|
|
15
|
+
<sd-option value="option-2">Option 2</sd-option>
|
|
16
|
+
<sd-option value="option-3">Option 3</sd-option>
|
|
17
|
+
<sd-option value="option-4">Option 4</sd-option>
|
|
18
|
+
<sd-option value="option-5">Option 5</sd-option>
|
|
19
|
+
</sd-combobox>
|
|
20
|
+
|
|
21
|
+
<sd-combobox
|
|
22
|
+
class="flex-1 min-w-[200px] md:min-w-0 max-w-[400px]"
|
|
23
|
+
size="lg"
|
|
24
|
+
label="Label"
|
|
25
|
+
placement="bottom"
|
|
26
|
+
value=""
|
|
27
|
+
>
|
|
28
|
+
<div slot="help-text" class="text-lg">Help text slot</div>
|
|
29
|
+
<sd-option value="option-1">Option 1</sd-option>
|
|
30
|
+
<sd-option value="option-2">Option 2</sd-option>
|
|
31
|
+
<sd-option value="option-3">Option 3</sd-option>
|
|
32
|
+
<sd-option value="option-4">Option 4</sd-option>
|
|
33
|
+
<sd-option value="option-5">Option 5</sd-option>
|
|
34
|
+
</sd-combobox>
|
|
35
|
+
</div>
|
|
36
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
Use the “left” and “right” slots to add system icons.
|
|
2
|
+
Show the search icon in either the left slot or right icon slot instead of the chevron icon (don’t show two icons on the right-hand side).
|
|
3
|
+
**Accessibility hint**: The label can be omitted for search input fields if a button (e.g., aria-label="Search") with a search icon is present.
|
|
4
|
+
|
|
5
|
+
```html
|
|
6
|
+
<div class="h-[400px] min-w-[200px] md:min-w-0 max-w-[400px]">
|
|
7
|
+
<sd-combobox size="lg" clearable label="Label">
|
|
8
|
+
<sd-icon slot="left" name="system/image" aria-hidden="true" color="currentColor"></sd-icon>
|
|
9
|
+
${createColorOptionsHtml()}
|
|
10
|
+
<button slot="right" aria-label="Search" class="sd-interactive flex">
|
|
11
|
+
<sd-icon name="system/magnifying-glass" aria-hidden="true" color="currentColor"></sd-icon>
|
|
12
|
+
</button>
|
|
13
|
+
</sd-combobox>
|
|
14
|
+
</div>
|
|
15
|
+
```
|