@skewedaspect/sleekspace-ui 0.2.0-beta.1 → 0.2.0-beta.2
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/dist/components/Accordion/SkAccordion.vue.d.ts +65 -0
- package/dist/components/Accordion/SkAccordionItem.vue.d.ts +52 -0
- package/dist/components/Accordion/index.d.ts +3 -0
- package/dist/components/Accordion/types.d.ts +3 -0
- package/dist/components/Alert/SkAlert.vue.d.ts +39 -0
- package/dist/components/Alert/types.d.ts +4 -0
- package/dist/components/Avatar/SkAvatar.vue.d.ts +75 -0
- package/dist/components/Avatar/index.d.ts +2 -0
- package/dist/components/Avatar/types.d.ts +20 -0
- package/dist/components/Breadcrumbs/SkBreadcrumbItem.vue.d.ts +51 -0
- package/dist/components/Breadcrumbs/SkBreadcrumbSeparator.vue.d.ts +13 -0
- package/dist/components/Breadcrumbs/SkBreadcrumbs.vue.d.ts +24 -0
- package/dist/components/Breadcrumbs/index.d.ts +4 -0
- package/dist/components/Breadcrumbs/types.d.ts +18 -0
- package/dist/components/Button/SkButton.vue.d.ts +97 -0
- package/dist/components/Button/types.d.ts +5 -0
- package/dist/components/Card/SkCard.vue.d.ts +88 -0
- package/dist/components/Card/types.d.ts +2 -0
- package/dist/components/Checkbox/SkCheckbox.vue.d.ts +71 -0
- package/dist/components/Checkbox/index.d.ts +2 -0
- package/dist/components/Checkbox/types.d.ts +3 -0
- package/dist/components/Collapsible/SkCollapsible.vue.d.ts +70 -0
- package/dist/components/Collapsible/index.d.ts +2 -0
- package/dist/components/Collapsible/types.d.ts +2 -0
- package/dist/components/Divider/SkDivider.vue.d.ts +39 -0
- package/dist/components/Divider/types.d.ts +8 -0
- package/dist/components/Dropdown/SkDropdown.vue.d.ts +63 -0
- package/dist/components/Dropdown/SkDropdownMenuItem.vue.d.ts +32 -0
- package/dist/components/Dropdown/SkDropdownMenuSeparator.vue.d.ts +2 -0
- package/dist/components/Dropdown/SkDropdownSubmenu.vue.d.ts +34 -0
- package/dist/components/Dropdown/index.d.ts +5 -0
- package/dist/components/Dropdown/types.d.ts +4 -0
- package/dist/components/Field/SkField.vue.d.ts +99 -0
- package/dist/components/Field/index.d.ts +2 -0
- package/dist/components/Field/types.d.ts +1 -0
- package/dist/components/Group/SkGroup.vue.d.ts +29 -0
- package/dist/components/Group/types.d.ts +4 -0
- package/dist/components/Input/SkInput.vue.d.ts +84 -0
- package/dist/components/Input/index.d.ts +2 -0
- package/dist/components/Input/types.d.ts +4 -0
- package/dist/components/Listbox/SkListbox.vue.d.ts +62 -0
- package/dist/components/Listbox/SkListboxItem.vue.d.ts +34 -0
- package/dist/components/Listbox/SkListboxSeparator.vue.d.ts +2 -0
- package/dist/components/Listbox/index.d.ts +4 -0
- package/dist/components/Listbox/types.d.ts +3 -0
- package/dist/components/Modal/SkModal.vue.d.ts +108 -0
- package/dist/components/Modal/index.d.ts +2 -0
- package/dist/components/Modal/types.d.ts +3 -0
- package/dist/components/NavBar/SkNavBar.vue.d.ts +40 -0
- package/dist/components/NavBar/index.d.ts +2 -0
- package/dist/components/NavBar/types.d.ts +6 -0
- package/dist/components/NumberInput/SkNumberInput.vue.d.ts +93 -0
- package/dist/components/NumberInput/index.d.ts +2 -0
- package/dist/components/NumberInput/types.d.ts +3 -0
- package/dist/components/Page/SkPage.vue.d.ts +55 -0
- package/dist/components/Page/index.d.ts +2 -0
- package/dist/components/Page/types.d.ts +13 -0
- package/dist/components/Pagination/SkPagination.vue.d.ts +79 -0
- package/dist/components/Pagination/SkPaginationItem.vue.d.ts +44 -0
- package/dist/components/Pagination/index.d.ts +3 -0
- package/dist/components/Pagination/types.d.ts +24 -0
- package/dist/components/Panel/SkPanel.vue.d.ts +55 -0
- package/dist/components/Panel/types.d.ts +3 -0
- package/dist/components/Popover/SkPopover.vue.d.ts +94 -0
- package/dist/components/Popover/index.d.ts +2 -0
- package/dist/components/Popover/types.d.ts +4 -0
- package/dist/components/Progress/SkProgress.vue.d.ts +66 -0
- package/dist/components/Progress/index.d.ts +2 -0
- package/dist/components/Progress/types.d.ts +22 -0
- package/dist/components/Radio/SkRadio.vue.d.ts +59 -0
- package/dist/components/Radio/SkRadioGroup.vue.d.ts +85 -0
- package/dist/components/Radio/index.d.ts +3 -0
- package/dist/components/Radio/types.d.ts +4 -0
- package/dist/components/Sidebar/SkSidebar.vue.d.ts +38 -0
- package/dist/components/Sidebar/SkSidebarItem.vue.d.ts +37 -0
- package/dist/components/Sidebar/SkSidebarSection.vue.d.ts +44 -0
- package/dist/components/Sidebar/types.d.ts +2 -0
- package/dist/components/Skeleton/SkSkeleton.vue.d.ts +55 -0
- package/dist/components/Skeleton/index.d.ts +2 -0
- package/dist/components/Skeleton/types.d.ts +21 -0
- package/dist/components/Slider/SkSlider.vue.d.ts +100 -0
- package/dist/components/Slider/index.d.ts +2 -0
- package/dist/components/Slider/types.d.ts +32 -0
- package/dist/components/Spinner/SkSpinner.vue.d.ts +39 -0
- package/dist/components/Spinner/index.d.ts +2 -0
- package/dist/components/Spinner/types.d.ts +16 -0
- package/dist/components/Switch/SkSwitch.vue.d.ts +120 -0
- package/dist/components/Switch/index.d.ts +2 -0
- package/dist/components/Switch/types.d.ts +3 -0
- package/dist/components/Table/SkTable.vue.d.ts +86 -0
- package/dist/components/Table/index.d.ts +2 -0
- package/dist/components/Table/types.d.ts +3 -0
- package/dist/components/Tabs/SkTab.vue.d.ts +49 -0
- package/dist/components/Tabs/SkTabList.vue.d.ts +28 -0
- package/dist/components/Tabs/SkTabPanel.vue.d.ts +33 -0
- package/dist/components/Tabs/SkTabPanels.vue.d.ts +17 -0
- package/dist/components/Tabs/SkTabs.vue.d.ts +60 -0
- package/dist/components/Tabs/types.d.ts +5 -0
- package/dist/components/Tag/SkTag.vue.d.ts +58 -0
- package/dist/components/Tag/types.d.ts +8 -0
- package/dist/components/TagsInput/SkTagsInput.vue.d.ts +77 -0
- package/dist/components/TagsInput/index.d.ts +2 -0
- package/dist/components/TagsInput/types.d.ts +3 -0
- package/dist/components/Textarea/SkTextarea.vue.d.ts +85 -0
- package/dist/components/Textarea/index.d.ts +2 -0
- package/dist/components/Textarea/types.d.ts +3 -0
- package/dist/components/Theme/SkTheme.vue.d.ts +20 -0
- package/dist/components/Theme/types.d.ts +16 -0
- package/dist/components/Theme/useTheme.d.ts +84 -0
- package/dist/components/Toast/SkToast.vue.d.ts +42 -0
- package/dist/components/Toast/SkToastProvider.vue.d.ts +62 -0
- package/dist/components/Toast/index.d.ts +3 -0
- package/dist/components/Toast/types.d.ts +35 -0
- package/dist/components/Toast/useToast.d.ts +33 -0
- package/dist/components/Tooltip/SkTooltip.vue.d.ts +81 -0
- package/dist/components/Tooltip/SkTooltipProvider.vue.d.ts +70 -0
- package/dist/components/Tooltip/index.d.ts +3 -0
- package/dist/components/Tooltip/types.d.ts +4 -0
- package/dist/composables/useCustomColors.d.ts +74 -0
- package/dist/composables/useCustomColors.test.d.ts +1 -0
- package/dist/composables/usePortalContext.d.ts +75 -0
- package/dist/composables/usePortalContext.test.d.ts +1 -0
- package/dist/index.d.ts +149 -0
- package/dist/sleekspace-ui.css +2 -2
- package/dist/sleekspace-ui.es.js +43 -42
- package/dist/sleekspace-ui.umd.js +43 -42
- package/dist/tokens.css +968 -0
- package/dist/types.d.ts +29 -0
- package/docs/components/accordion/_meta.yaml +9 -0
- package/docs/components/accordion/custom-colors.md +20 -0
- package/docs/components/accordion/intro.md +8 -0
- package/docs/components/accordion/kinds.md +30 -0
- package/docs/components/accordion/multiple.md +28 -0
- package/docs/components/accordion/real-world.md +31 -0
- package/docs/components/accordion/usage.md +28 -0
- package/docs/components/alert/_meta.yaml +10 -0
- package/docs/components/alert/custom-colors.md +30 -0
- package/docs/components/alert/custom-icons.md +17 -0
- package/docs/components/alert/intro.md +8 -0
- package/docs/components/alert/kinds.md +24 -0
- package/docs/components/alert/prominent.md +16 -0
- package/docs/components/alert/rich-content.md +19 -0
- package/docs/components/alert/usage.md +12 -0
- package/docs/components/avatar/_meta.yaml +10 -0
- package/docs/components/avatar/custom-colors.md +14 -0
- package/docs/components/avatar/images.md +12 -0
- package/docs/components/avatar/intro.md +8 -0
- package/docs/components/avatar/kinds.md +16 -0
- package/docs/components/avatar/real-world.md +25 -0
- package/docs/components/avatar/sizes.md +14 -0
- package/docs/components/avatar/usage.md +15 -0
- package/docs/components/breadcrumbs/_meta.yaml +9 -0
- package/docs/components/breadcrumbs/custom-colors.md +14 -0
- package/docs/components/breadcrumbs/intro.md +8 -0
- package/docs/components/breadcrumbs/kinds.md +16 -0
- package/docs/components/breadcrumbs/real-world.md +33 -0
- package/docs/components/breadcrumbs/separators.md +13 -0
- package/docs/components/breadcrumbs/usage.md +15 -0
- package/docs/components/card/_meta.yaml +10 -0
- package/docs/components/card/intro.md +8 -0
- package/docs/components/card/kinds.md +24 -0
- package/docs/components/card/media.md +25 -0
- package/docs/components/card/neon-kinds.md +24 -0
- package/docs/components/card/no-decoration.md +15 -0
- package/docs/components/card/scrollable.md +23 -0
- package/docs/components/card/usage.md +12 -0
- package/docs/components/checkbox/_meta.yaml +11 -0
- package/docs/components/checkbox/color-kinds.md +17 -0
- package/docs/components/checkbox/custom-colors.md +21 -0
- package/docs/components/checkbox/form-example.md +24 -0
- package/docs/components/checkbox/intro.md +8 -0
- package/docs/components/checkbox/kinds.md +16 -0
- package/docs/components/checkbox/sizes.md +13 -0
- package/docs/components/checkbox/states.md +14 -0
- package/docs/components/checkbox/usage.md +17 -0
- package/docs/components/collapsible/_meta.yaml +9 -0
- package/docs/components/collapsible/accessibility.md +6 -0
- package/docs/components/collapsible/custom-colors.md +16 -0
- package/docs/components/collapsible/custom-trigger.md +35 -0
- package/docs/components/collapsible/intro.md +8 -0
- package/docs/components/collapsible/kinds.md +16 -0
- package/docs/components/collapsible/usage.md +22 -0
- package/docs/components/divider/_meta.yaml +10 -0
- package/docs/components/divider/accessibility.md +6 -0
- package/docs/components/divider/intro.md +8 -0
- package/docs/components/divider/kinds.md +16 -0
- package/docs/components/divider/orientation.md +18 -0
- package/docs/components/divider/sizes.md +24 -0
- package/docs/components/divider/usage.md +14 -0
- package/docs/components/divider/variants.md +14 -0
- package/docs/components/dropdown/_meta.yaml +11 -0
- package/docs/components/dropdown/accessibility.md +6 -0
- package/docs/components/dropdown/custom-colors.md +17 -0
- package/docs/components/dropdown/custom-trigger.md +18 -0
- package/docs/components/dropdown/intro.md +8 -0
- package/docs/components/dropdown/kinds.md +23 -0
- package/docs/components/dropdown/positioning.md +23 -0
- package/docs/components/dropdown/submenus.md +28 -0
- package/docs/components/dropdown/usage.md +24 -0
- package/docs/components/field/_meta.yaml +10 -0
- package/docs/components/field/accessibility.md +6 -0
- package/docs/components/field/description.md +15 -0
- package/docs/components/field/intro.md +8 -0
- package/docs/components/field/label-position.md +16 -0
- package/docs/components/field/required.md +12 -0
- package/docs/components/field/usage.md +19 -0
- package/docs/components/field/validation.md +32 -0
- package/docs/components/group/_meta.yaml +7 -0
- package/docs/components/group/accessibility.md +6 -0
- package/docs/components/group/intro.md +8 -0
- package/docs/components/group/orientation.md +22 -0
- package/docs/components/group/usage.md +14 -0
- package/docs/components/input/_meta.yaml +11 -0
- package/docs/components/input/accessibility.md +6 -0
- package/docs/components/input/custom-colors.md +21 -0
- package/docs/components/input/intro.md +8 -0
- package/docs/components/input/kinds.md +16 -0
- package/docs/components/input/sizes.md +13 -0
- package/docs/components/input/states.md +12 -0
- package/docs/components/input/types.md +15 -0
- package/docs/components/input/usage.md +17 -0
- package/docs/components/listbox/_meta.yaml +12 -0
- package/docs/components/listbox/color-kinds.md +27 -0
- package/docs/components/listbox/custom-colors.md +18 -0
- package/docs/components/listbox/form-example.md +36 -0
- package/docs/components/listbox/intro.md +8 -0
- package/docs/components/listbox/kinds.md +30 -0
- package/docs/components/listbox/separators.md +19 -0
- package/docs/components/listbox/sizes.md +24 -0
- package/docs/components/listbox/states.md +19 -0
- package/docs/components/listbox/usage.md +23 -0
- package/docs/components/modal/_meta.yaml +13 -0
- package/docs/components/modal/close-behaviors.md +49 -0
- package/docs/components/modal/confirmation.md +19 -0
- package/docs/components/modal/controlled-state.md +29 -0
- package/docs/components/modal/custom-colors.md +25 -0
- package/docs/components/modal/custom-trigger.md +28 -0
- package/docs/components/modal/form-modal.md +23 -0
- package/docs/components/modal/intro.md +8 -0
- package/docs/components/modal/kinds.md +30 -0
- package/docs/components/modal/sizes.md +21 -0
- package/docs/components/modal/usage.md +15 -0
- package/docs/components/navbar/_meta.yaml +11 -0
- package/docs/components/navbar/complex-layouts.md +34 -0
- package/docs/components/navbar/custom-colors.md +24 -0
- package/docs/components/navbar/icons.md +33 -0
- package/docs/components/navbar/intro.md +8 -0
- package/docs/components/navbar/kinds.md +24 -0
- package/docs/components/navbar/neon-colors.md +24 -0
- package/docs/components/navbar/sticky.md +22 -0
- package/docs/components/navbar/usage.md +25 -0
- package/docs/components/number-input/_meta.yaml +12 -0
- package/docs/components/number-input/color-kinds.md +17 -0
- package/docs/components/number-input/custom-colors.md +21 -0
- package/docs/components/number-input/form-example.md +55 -0
- package/docs/components/number-input/intro.md +8 -0
- package/docs/components/number-input/kinds.md +16 -0
- package/docs/components/number-input/min-max-step.md +11 -0
- package/docs/components/number-input/sizes.md +13 -0
- package/docs/components/number-input/states.md +12 -0
- package/docs/components/number-input/usage.md +18 -0
- package/docs/components/page/_meta.yaml +9 -0
- package/docs/components/page/custom-width.md +17 -0
- package/docs/components/page/fixed-header.md +17 -0
- package/docs/components/page/intro.md +8 -0
- package/docs/components/page/real-world.md +37 -0
- package/docs/components/page/sidebar-position.md +18 -0
- package/docs/components/page/usage.md +33 -0
- package/docs/components/pagination/_meta.yaml +12 -0
- package/docs/components/pagination/config-options.md +17 -0
- package/docs/components/pagination/custom-colors.md +15 -0
- package/docs/components/pagination/intro.md +8 -0
- package/docs/components/pagination/kinds.md +13 -0
- package/docs/components/pagination/sizes.md +14 -0
- package/docs/components/pagination/states.md +10 -0
- package/docs/components/pagination/table-example.md +28 -0
- package/docs/components/pagination/usage.md +10 -0
- package/docs/components/pagination/variants.md +13 -0
- package/docs/components/panel/_meta.yaml +10 -0
- package/docs/components/panel/custom-colors.md +18 -0
- package/docs/components/panel/decoration.md +20 -0
- package/docs/components/panel/intro.md +8 -0
- package/docs/components/panel/kinds.md +23 -0
- package/docs/components/panel/scrollable.md +18 -0
- package/docs/components/panel/sizes.md +20 -0
- package/docs/components/panel/usage.md +13 -0
- package/docs/components/popover/_meta.yaml +9 -0
- package/docs/components/popover/arrow.md +15 -0
- package/docs/components/popover/custom-colors.md +19 -0
- package/docs/components/popover/intro.md +8 -0
- package/docs/components/popover/kinds.md +24 -0
- package/docs/components/popover/positioning.md +36 -0
- package/docs/components/popover/usage.md +15 -0
- package/docs/components/progress/_meta.yaml +10 -0
- package/docs/components/progress/custom-colors.md +14 -0
- package/docs/components/progress/indeterminate.md +11 -0
- package/docs/components/progress/intro.md +8 -0
- package/docs/components/progress/kinds.md +16 -0
- package/docs/components/progress/sizes.md +14 -0
- package/docs/components/progress/usage.md +13 -0
- package/docs/components/progress/value-label.md +12 -0
- package/docs/components/radio/_meta.yaml +10 -0
- package/docs/components/radio/custom-colors.md +24 -0
- package/docs/components/radio/intro.md +8 -0
- package/docs/components/radio/kinds.md +23 -0
- package/docs/components/radio/orientation.md +22 -0
- package/docs/components/radio/sizes.md +23 -0
- package/docs/components/radio/states.md +21 -0
- package/docs/components/radio/usage.md +21 -0
- package/docs/components/sidebar/_meta.yaml +10 -0
- package/docs/components/sidebar/active-state.md +35 -0
- package/docs/components/sidebar/custom-colors.md +20 -0
- package/docs/components/sidebar/intro.md +8 -0
- package/docs/components/sidebar/kinds.md +22 -0
- package/docs/components/sidebar/router.md +24 -0
- package/docs/components/sidebar/sections.md +24 -0
- package/docs/components/sidebar/usage.md +25 -0
- package/docs/components/skeleton/_meta.yaml +8 -0
- package/docs/components/skeleton/animations.md +17 -0
- package/docs/components/skeleton/composition.md +22 -0
- package/docs/components/skeleton/intro.md +8 -0
- package/docs/components/skeleton/usage.md +12 -0
- package/docs/components/skeleton/variants.md +17 -0
- package/docs/components/slider/_meta.yaml +12 -0
- package/docs/components/slider/accessibility.md +6 -0
- package/docs/components/slider/custom-colors.md +14 -0
- package/docs/components/slider/intro.md +8 -0
- package/docs/components/slider/kinds.md +16 -0
- package/docs/components/slider/range.md +16 -0
- package/docs/components/slider/sizes.md +14 -0
- package/docs/components/slider/step.md +13 -0
- package/docs/components/slider/usage.md +16 -0
- package/docs/components/slider/vertical.md +14 -0
- package/docs/components/spinner/_meta.yaml +10 -0
- package/docs/components/spinner/accessibility.md +6 -0
- package/docs/components/spinner/custom-colors.md +13 -0
- package/docs/components/spinner/intro.md +8 -0
- package/docs/components/spinner/kinds.md +16 -0
- package/docs/components/spinner/sizes.md +14 -0
- package/docs/components/spinner/usage.md +10 -0
- package/docs/components/spinner/variants.md +12 -0
- package/docs/components/switch/_meta.yaml +12 -0
- package/docs/components/switch/accessibility.md +6 -0
- package/docs/components/switch/custom-colors.md +29 -0
- package/docs/components/switch/disabled.md +11 -0
- package/docs/components/switch/dynamic-labels.md +12 -0
- package/docs/components/switch/intro.md +8 -0
- package/docs/components/switch/kinds.md +16 -0
- package/docs/components/switch/sizes.md +14 -0
- package/docs/components/switch/thumb-color.md +16 -0
- package/docs/components/switch/usage.md +18 -0
- package/docs/components/table/_meta.yaml +12 -0
- package/docs/components/table/accessibility.md +6 -0
- package/docs/components/table/borders.md +17 -0
- package/docs/components/table/hoverable.md +26 -0
- package/docs/components/table/intro.md +8 -0
- package/docs/components/table/kinds.md +18 -0
- package/docs/components/table/striped.md +28 -0
- package/docs/components/table/subtle.md +26 -0
- package/docs/components/table/usage.md +30 -0
- package/docs/components/table/variants.md +23 -0
- package/docs/components/tabs/_meta.yaml +10 -0
- package/docs/components/tabs/accessibility.md +6 -0
- package/docs/components/tabs/custom-colors.md +23 -0
- package/docs/components/tabs/icons.md +23 -0
- package/docs/components/tabs/intro.md +8 -0
- package/docs/components/tabs/kinds.md +30 -0
- package/docs/components/tabs/usage.md +38 -0
- package/docs/components/tabs/vertical.md +23 -0
- package/docs/components/tag/_meta.yaml +11 -0
- package/docs/components/tag/accessibility.md +6 -0
- package/docs/components/tag/custom-colors.md +32 -0
- package/docs/components/tag/intro.md +8 -0
- package/docs/components/tag/kinds.md +16 -0
- package/docs/components/tag/removable.md +33 -0
- package/docs/components/tag/sizes.md +13 -0
- package/docs/components/tag/usage.md +13 -0
- package/docs/components/tag/variants.md +13 -0
- package/docs/components/tags-input/_meta.yaml +13 -0
- package/docs/components/tags-input/color-kinds.md +17 -0
- package/docs/components/tags-input/custom-colors.md +21 -0
- package/docs/components/tags-input/form-example.md +30 -0
- package/docs/components/tags-input/intro.md +8 -0
- package/docs/components/tags-input/kinds.md +16 -0
- package/docs/components/tags-input/max-tags.md +10 -0
- package/docs/components/tags-input/sizes.md +13 -0
- package/docs/components/tags-input/states.md +10 -0
- package/docs/components/tags-input/tag-customization.md +17 -0
- package/docs/components/tags-input/usage.md +17 -0
- package/docs/components/textarea/_meta.yaml +12 -0
- package/docs/components/textarea/color-kinds.md +17 -0
- package/docs/components/textarea/custom-colors.md +21 -0
- package/docs/components/textarea/form-example.md +37 -0
- package/docs/components/textarea/intro.md +8 -0
- package/docs/components/textarea/kinds.md +16 -0
- package/docs/components/textarea/rows.md +12 -0
- package/docs/components/textarea/sizes.md +13 -0
- package/docs/components/textarea/states.md +12 -0
- package/docs/components/textarea/usage.md +17 -0
- package/docs/components/theme/_meta.yaml +9 -0
- package/docs/components/theme/available-themes.md +16 -0
- package/docs/components/theme/intro.md +8 -0
- package/docs/components/theme/nested-themes.md +16 -0
- package/docs/components/theme/portal-components.md +19 -0
- package/docs/components/theme/programmatic-switching.md +19 -0
- package/docs/components/theme/usage.md +16 -0
- package/docs/components/toast/_meta.yaml +11 -0
- package/docs/components/toast/dismiss.md +15 -0
- package/docs/components/toast/duration.md +23 -0
- package/docs/components/toast/intro.md +8 -0
- package/docs/components/toast/kinds.md +13 -0
- package/docs/components/toast/real-world.md +23 -0
- package/docs/components/toast/setup.md +16 -0
- package/docs/components/toast/usage.md +18 -0
- package/docs/components/toast/with-title.md +14 -0
- package/docs/components/tooltip/_meta.yaml +14 -0
- package/docs/components/tooltip/alignment.md +24 -0
- package/docs/components/tooltip/app-level-provider.md +21 -0
- package/docs/components/tooltip/arrow.md +21 -0
- package/docs/components/tooltip/custom-colors.md +24 -0
- package/docs/components/tooltip/delay.md +27 -0
- package/docs/components/tooltip/intro.md +8 -0
- package/docs/components/tooltip/kinds.md +27 -0
- package/docs/components/tooltip/positioning.md +24 -0
- package/docs/components/tooltip/provider.md +26 -0
- package/docs/components/tooltip/real-world.md +32 -0
- package/docs/components/tooltip/usage.md +15 -0
- package/docs/guides/ai-llms.md +63 -0
- package/docs/guides/design-tokens/_meta.yaml +14 -0
- package/docs/guides/design-tokens/advanced.md +60 -0
- package/docs/guides/design-tokens/architecture.md +11 -0
- package/docs/guides/design-tokens/best-practices.md +21 -0
- package/docs/guides/design-tokens/component-tokens.md +37 -0
- package/docs/guides/design-tokens/foundation-colors.md +13 -0
- package/docs/guides/design-tokens/foundation-other.md +41 -0
- package/docs/guides/design-tokens/intro.md +19 -0
- package/docs/guides/design-tokens/semantic-kinds.md +33 -0
- package/docs/guides/design-tokens/semantic-states.md +55 -0
- package/docs/guides/design-tokens/themes.md +38 -0
- package/docs/guides/design-tokens/usage.md +55 -0
- package/package.json +2 -4
- package/src/components/Accordion/SkAccordion.vue +51 -37
- package/src/components/Accordion/SkAccordionItem.vue +40 -20
- package/src/components/Alert/SkAlert.vue +37 -27
- package/src/components/Avatar/SkAvatar.vue +69 -10
- package/src/components/Breadcrumbs/SkBreadcrumbItem.vue +63 -1
- package/src/components/Breadcrumbs/SkBreadcrumbSeparator.vue +32 -3
- package/src/components/Breadcrumbs/SkBreadcrumbs.vue +36 -0
- package/src/components/Button/SkButton.vue +83 -17
- package/src/components/Card/SkCard.vue +84 -17
- package/src/components/Checkbox/SkCheckbox.vue +52 -12
- package/src/components/Collapsible/SkCollapsible.vue +65 -27
- package/src/components/Divider/SkDivider.vue +51 -11
- package/src/components/Dropdown/SkDropdown.vue +54 -11
- package/src/components/Dropdown/SkDropdownMenuItem.vue +25 -6
- package/src/components/Dropdown/SkDropdownMenuSeparator.vue +16 -2
- package/src/components/Dropdown/SkDropdownSubmenu.vue +30 -8
- package/src/components/Field/SkField.vue +83 -15
- package/src/components/Group/SkGroup.vue +24 -9
- package/src/components/Input/SkInput.vue +77 -15
- package/src/components/Listbox/SkListbox.vue +48 -10
- package/src/components/Listbox/SkListboxItem.vue +28 -7
- package/src/components/Listbox/SkListboxSeparator.vue +16 -2
- package/src/components/Modal/SkModal.vue +85 -36
- package/src/components/NavBar/SkNavBar.vue +39 -9
- package/src/components/NumberInput/SkNumberInput.vue +85 -16
- package/src/components/Page/SkPage.vue +55 -6
- package/src/components/Pagination/SkPagination.vue +88 -0
- package/src/components/Pagination/SkPaginationItem.vue +51 -1
- package/src/components/Panel/SkPanel.vue +46 -12
- package/src/components/Popover/SkPopover.vue +91 -36
- package/src/components/Progress/SkProgress.vue +74 -10
- package/src/components/Radio/SkRadio.vue +48 -12
- package/src/components/Radio/SkRadioGroup.vue +69 -13
- package/src/components/Sidebar/SkSidebar.vue +36 -29
- package/src/components/Sidebar/SkSidebarItem.vue +34 -9
- package/src/components/Sidebar/SkSidebarSection.vue +22 -8
- package/src/components/Skeleton/SkSkeleton.vue +75 -8
- package/src/components/Slider/SkSlider.vue +91 -15
- package/src/components/Spinner/SkSpinner.vue +50 -6
- package/src/components/Switch/SkSwitch.vue +98 -35
- package/src/components/Table/SkTable.vue +79 -15
- package/src/components/Tabs/SkTab.vue +41 -11
- package/src/components/Tabs/SkTabList.vue +24 -8
- package/src/components/Tabs/SkTabPanel.vue +31 -9
- package/src/components/Tabs/SkTabPanels.vue +21 -4
- package/src/components/Tabs/SkTabs.vue +49 -37
- package/src/components/Tag/SkTag.vue +57 -32
- package/src/components/TagsInput/SkTagsInput.vue +75 -14
- package/src/components/Textarea/SkTextarea.vue +78 -15
- package/src/components/Theme/SkTheme.vue +27 -3
- package/src/components/Theme/types.ts +14 -5
- package/src/components/Toast/SkToast.vue +56 -9
- package/src/components/Toast/SkToastProvider.vue +43 -17
- package/src/components/Tooltip/SkTooltip.vue +66 -35
- package/src/components/Tooltip/SkTooltipProvider.vue +36 -36
- package/web-types.json +302 -282
- package/docs/components/accordion.md +0 -92
- package/docs/components/alert.md +0 -72
- package/docs/components/avatar.md +0 -69
- package/docs/components/breadcrumbs.md +0 -65
- package/docs/components/button.md +0 -110
- package/docs/components/card.md +0 -87
- package/docs/components/checkbox.md +0 -77
- package/docs/components/collapsible.md +0 -71
- package/docs/components/divider.md +0 -62
- package/docs/components/dropdown.md +0 -88
- package/docs/components/field.md +0 -80
- package/docs/components/group.md +0 -41
- package/docs/components/input.md +0 -84
- package/docs/components/listbox.md +0 -82
- package/docs/components/modal.md +0 -101
- package/docs/components/navbar.md +0 -64
- package/docs/components/number-input.md +0 -78
- package/docs/components/page.md +0 -77
- package/docs/components/pagination.md +0 -88
- package/docs/components/panel.md +0 -74
- package/docs/components/popover.md +0 -93
- package/docs/components/progress.md +0 -76
- package/docs/components/radio.md +0 -86
- package/docs/components/sidebar.md +0 -74
- package/docs/components/skeleton.md +0 -76
- package/docs/components/slider.md +0 -94
- package/docs/components/spinner.md +0 -59
- package/docs/components/switch.md +0 -97
- package/docs/components/table.md +0 -91
- package/docs/components/tabs.md +0 -108
- package/docs/components/tag.md +0 -75
- package/docs/components/tags-input.md +0 -88
- package/docs/components/textarea.md +0 -80
- package/docs/components/theme.md +0 -65
- package/docs/components/toast.md +0 -95
- package/docs/components/tooltip.md +0 -90
- package/docs/guides/design-tokens.md +0 -105
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: accessibility
|
|
3
|
+
order: 7
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Generates a unique `id` for the input (or uses a provided one). Links the label via `for`, provides `aria-describedby` pointing to the description or error message, and sets `aria-invalid` when an error is present. All these attributes are passed to the default slot.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: description
|
|
3
|
+
order: 3
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Add helper text to guide users with the `description` prop. The description appears below the input.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<SkField
|
|
10
|
+
label="Username"
|
|
11
|
+
description="Your username must be unique and at least 3 characters."
|
|
12
|
+
>
|
|
13
|
+
<SkInput v-model="username" placeholder="Enter username" />
|
|
14
|
+
</SkField>
|
|
15
|
+
```
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: label-position
|
|
3
|
+
order: 6
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Labels can be positioned above (default) or to the left of the input using the `labelPosition` prop.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<SkField label="Top Label (default)" labelPosition="top">
|
|
10
|
+
<SkInput v-model="value" placeholder="Label above" />
|
|
11
|
+
</SkField>
|
|
12
|
+
|
|
13
|
+
<SkField label="Left Label" labelPosition="left">
|
|
14
|
+
<SkInput v-model="value" placeholder="Label to the left" />
|
|
15
|
+
</SkField>
|
|
16
|
+
```
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: required
|
|
3
|
+
order: 5
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Mark required fields with an asterisk using the `required` prop. This adds a visual indicator but does not enforce validation.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<SkField label="Full Name" required>
|
|
10
|
+
<SkInput v-model="name" placeholder="John Doe" />
|
|
11
|
+
</SkField>
|
|
12
|
+
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: usage
|
|
3
|
+
order: 2
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Wrap any input component with SkField to add a label. The field automatically generates IDs and accessibility attributes.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<script setup>
|
|
10
|
+
import { ref } from 'vue'
|
|
11
|
+
const email = ref('')
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<template>
|
|
15
|
+
<SkField label="Email Address">
|
|
16
|
+
<SkInput v-model="email" type="email" placeholder="you@example.com" />
|
|
17
|
+
</SkField>
|
|
18
|
+
</template>
|
|
19
|
+
```
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: validation
|
|
3
|
+
order: 4
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Use the `state` prop to automatically apply success (green) or error (red) styling. When `error` is provided, it replaces the description. Child inputs automatically inherit the validation kind.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<script setup>
|
|
10
|
+
import { ref } from 'vue'
|
|
11
|
+
const validEmail = ref('user@example.com')
|
|
12
|
+
const invalidPassword = ref('123')
|
|
13
|
+
const neutralValue = ref('')
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<template>
|
|
17
|
+
<!-- Valid state (green) -->
|
|
18
|
+
<SkField label="Valid Email" :state="true" description="Email format is correct.">
|
|
19
|
+
<SkInput v-model="validEmail" type="email" />
|
|
20
|
+
</SkField>
|
|
21
|
+
|
|
22
|
+
<!-- Invalid state (red) -->
|
|
23
|
+
<SkField label="Invalid Password" :state="false" error="Password must be at least 8 characters.">
|
|
24
|
+
<SkInput v-model="invalidPassword" type="password" />
|
|
25
|
+
</SkField>
|
|
26
|
+
|
|
27
|
+
<!-- Neutral state (default) -->
|
|
28
|
+
<SkField label="Neutral Field" :state="null" description="No validation state.">
|
|
29
|
+
<SkInput v-model="neutralValue" />
|
|
30
|
+
</SkField>
|
|
31
|
+
</template>
|
|
32
|
+
```
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: orientation
|
|
3
|
+
order: 3
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Set `orientation="vertical"` for stacked button groups, useful for sidebars or dropdown-style menus.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<!-- Horizontal (default) -->
|
|
10
|
+
<SkGroup orientation="horizontal">
|
|
11
|
+
<SkButton>A</SkButton>
|
|
12
|
+
<SkButton>B</SkButton>
|
|
13
|
+
<SkButton>C</SkButton>
|
|
14
|
+
</SkGroup>
|
|
15
|
+
|
|
16
|
+
<!-- Vertical -->
|
|
17
|
+
<SkGroup orientation="vertical">
|
|
18
|
+
<SkButton>A</SkButton>
|
|
19
|
+
<SkButton>B</SkButton>
|
|
20
|
+
<SkButton>C</SkButton>
|
|
21
|
+
</SkGroup>
|
|
22
|
+
```
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: usage
|
|
3
|
+
order: 2
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Wrap related elements in SkGroup for consistent spacing and alignment. Most commonly used for button groups.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<SkGroup>
|
|
10
|
+
<SkButton>First</SkButton>
|
|
11
|
+
<SkButton>Second</SkButton>
|
|
12
|
+
<SkButton>Third</SkButton>
|
|
13
|
+
</SkGroup>
|
|
14
|
+
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: custom-colors
|
|
3
|
+
order: 7
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Override input colors with custom OKLCH, hex, or CSS variable values using `baseColor` and `textColor` props.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<SkInput
|
|
10
|
+
v-model="value"
|
|
11
|
+
base-color="oklch(0.7 0.25 300)"
|
|
12
|
+
text-color="white"
|
|
13
|
+
placeholder="Custom purple"
|
|
14
|
+
/>
|
|
15
|
+
<SkInput
|
|
16
|
+
v-model="value"
|
|
17
|
+
base-color="#10b981"
|
|
18
|
+
text-color="white"
|
|
19
|
+
placeholder="Custom green"
|
|
20
|
+
/>
|
|
21
|
+
```
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: kinds
|
|
3
|
+
order: 4
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Use semantic kinds for validation states and different contexts. These are theme-aware. Inputs also support direct color palette kinds for vibrant cyberpunk colors.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<SkInput v-model="value" kind="neutral" placeholder="Neutral" />
|
|
10
|
+
<SkInput v-model="value" kind="primary" placeholder="Primary" />
|
|
11
|
+
<SkInput v-model="value" kind="accent" placeholder="Accent" />
|
|
12
|
+
<SkInput v-model="value" kind="info" placeholder="Info" />
|
|
13
|
+
<SkInput v-model="value" kind="success" placeholder="Success" />
|
|
14
|
+
<SkInput v-model="value" kind="warning" placeholder="Warning" />
|
|
15
|
+
<SkInput v-model="value" kind="danger" placeholder="Danger" />
|
|
16
|
+
```
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: sizes
|
|
3
|
+
order: 5
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Inputs come in four sizes to fit different contexts: `sm`, `md` (default), `lg`, and `xl`.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<SkInput v-model="value" kind="primary" size="sm" placeholder="Small" />
|
|
10
|
+
<SkInput v-model="value" kind="primary" size="md" placeholder="Medium" />
|
|
11
|
+
<SkInput v-model="value" kind="primary" size="lg" placeholder="Large" />
|
|
12
|
+
<SkInput v-model="value" kind="primary" size="xl" placeholder="Extra Large" />
|
|
13
|
+
```
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: states
|
|
3
|
+
order: 6
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Inputs support `disabled` and `readonly` states for different use cases.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<SkInput v-model="normal" kind="primary" placeholder="Normal" />
|
|
10
|
+
<SkInput v-model="disabled" kind="primary" disabled placeholder="Disabled" />
|
|
11
|
+
<SkInput v-model="readonly" kind="primary" readonly placeholder="Readonly" />
|
|
12
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: types
|
|
3
|
+
order: 3
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Input supports various HTML5 input types for different data formats: `text` (default), `email`, `password`, `url`, `tel`, `search`, and `number`.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<SkInput v-model="value" type="text" placeholder="Text" />
|
|
10
|
+
<SkInput v-model="email" type="email" placeholder="Email" />
|
|
11
|
+
<SkInput v-model="password" type="password" placeholder="Password" />
|
|
12
|
+
<SkInput v-model="url" type="url" placeholder="URL" />
|
|
13
|
+
<SkInput v-model="tel" type="tel" placeholder="Phone" />
|
|
14
|
+
<SkInput v-model="search" type="search" placeholder="Search" />
|
|
15
|
+
```
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: usage
|
|
3
|
+
order: 2
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Simple text input with placeholder. Use `v-model` for two-way binding.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<script setup>
|
|
10
|
+
import { ref } from 'vue'
|
|
11
|
+
const value = ref('')
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<template>
|
|
15
|
+
<SkInput v-model="value" placeholder="Enter your name" />
|
|
16
|
+
</template>
|
|
17
|
+
```
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: color-kinds
|
|
3
|
+
order: 5
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Listboxes also support direct color palette kinds for vibrant cyberpunk colors. These are fixed colors that don't change with themes.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<SkListbox v-model="value" kind="neon-blue" placeholder="Neon Blue">
|
|
10
|
+
<SkListboxItem value="1">Item 1</SkListboxItem>
|
|
11
|
+
</SkListbox>
|
|
12
|
+
<SkListbox v-model="value" kind="neon-purple" placeholder="Neon Purple">
|
|
13
|
+
<SkListboxItem value="1">Item 1</SkListboxItem>
|
|
14
|
+
</SkListbox>
|
|
15
|
+
<SkListbox v-model="value" kind="neon-orange" placeholder="Neon Orange">
|
|
16
|
+
<SkListboxItem value="1">Item 1</SkListboxItem>
|
|
17
|
+
</SkListbox>
|
|
18
|
+
<SkListbox v-model="value" kind="neon-green" placeholder="Neon Green">
|
|
19
|
+
<SkListboxItem value="1">Item 1</SkListboxItem>
|
|
20
|
+
</SkListbox>
|
|
21
|
+
<SkListbox v-model="value" kind="neon-mint" placeholder="Neon Mint">
|
|
22
|
+
<SkListboxItem value="1">Item 1</SkListboxItem>
|
|
23
|
+
</SkListbox>
|
|
24
|
+
<SkListbox v-model="value" kind="neon-pink" placeholder="Neon Pink">
|
|
25
|
+
<SkListboxItem value="1">Item 1</SkListboxItem>
|
|
26
|
+
</SkListbox>
|
|
27
|
+
```
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: custom-colors
|
|
3
|
+
order: 8
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Override colors with custom OKLCH, hex, or CSS variable values using `baseColor` and `textColor` props.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<SkListbox
|
|
10
|
+
v-model="value"
|
|
11
|
+
base-color="oklch(0.7 0.25 300)"
|
|
12
|
+
text-color="white"
|
|
13
|
+
placeholder="Custom purple"
|
|
14
|
+
>
|
|
15
|
+
<SkListboxItem value="1">Item 1</SkListboxItem>
|
|
16
|
+
<SkListboxItem value="2">Item 2</SkListboxItem>
|
|
17
|
+
</SkListbox>
|
|
18
|
+
```
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: form-example
|
|
3
|
+
order: 9
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Pair with SkField for labels and validation. The listbox inherits the field's validation state and displays appropriate styling.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<script setup>
|
|
10
|
+
import { ref } from 'vue';
|
|
11
|
+
|
|
12
|
+
const country = ref('');
|
|
13
|
+
const valid = ref(null);
|
|
14
|
+
|
|
15
|
+
const validate = () => {
|
|
16
|
+
valid.value = !!country.value;
|
|
17
|
+
};
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
<template>
|
|
21
|
+
<SkField
|
|
22
|
+
label="Country"
|
|
23
|
+
required
|
|
24
|
+
:state="valid"
|
|
25
|
+
:error="valid === false ? 'Please select a country' : undefined"
|
|
26
|
+
>
|
|
27
|
+
<SkListbox v-model="country" placeholder="Select your country..." @update:model-value="validate">
|
|
28
|
+
<SkListboxItem value="us">United States</SkListboxItem>
|
|
29
|
+
<SkListboxItem value="ca">Canada</SkListboxItem>
|
|
30
|
+
<SkListboxItem value="uk">United Kingdom</SkListboxItem>
|
|
31
|
+
<SkListboxItem value="de">Germany</SkListboxItem>
|
|
32
|
+
<SkListboxItem value="fr">France</SkListboxItem>
|
|
33
|
+
</SkListbox>
|
|
34
|
+
</SkField>
|
|
35
|
+
</template>
|
|
36
|
+
```
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: intro
|
|
3
|
+
order: 1
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SkListbox
|
|
7
|
+
|
|
8
|
+
A searchable select component for choosing from a list of predefined options. Features a combobox-style input with a dropdown list of items. Built on RekaUI's Combobox primitive and uses a portal for the dropdown.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: kinds
|
|
3
|
+
order: 4
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Listboxes support all semantic kinds (`neutral`, `primary`, `accent`, `info`, `success`, `warning`, `danger`). These are theme-aware and will adapt to light/dark modes. When nested inside SkField, the kind is automatically injected based on field validation state.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<SkListbox v-model="value" kind="neutral" placeholder="Neutral">
|
|
10
|
+
<SkListboxItem value="1">Item 1</SkListboxItem>
|
|
11
|
+
</SkListbox>
|
|
12
|
+
<SkListbox v-model="value" kind="primary" placeholder="Primary">
|
|
13
|
+
<SkListboxItem value="1">Item 1</SkListboxItem>
|
|
14
|
+
</SkListbox>
|
|
15
|
+
<SkListbox v-model="value" kind="accent" placeholder="Accent">
|
|
16
|
+
<SkListboxItem value="1">Item 1</SkListboxItem>
|
|
17
|
+
</SkListbox>
|
|
18
|
+
<SkListbox v-model="value" kind="info" placeholder="Info">
|
|
19
|
+
<SkListboxItem value="1">Item 1</SkListboxItem>
|
|
20
|
+
</SkListbox>
|
|
21
|
+
<SkListbox v-model="value" kind="success" placeholder="Success">
|
|
22
|
+
<SkListboxItem value="1">Item 1</SkListboxItem>
|
|
23
|
+
</SkListbox>
|
|
24
|
+
<SkListbox v-model="value" kind="warning" placeholder="Warning">
|
|
25
|
+
<SkListboxItem value="1">Item 1</SkListboxItem>
|
|
26
|
+
</SkListbox>
|
|
27
|
+
<SkListbox v-model="value" kind="danger" placeholder="Danger">
|
|
28
|
+
<SkListboxItem value="1">Item 1</SkListboxItem>
|
|
29
|
+
</SkListbox>
|
|
30
|
+
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: separators
|
|
3
|
+
order: 6
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Use `SkListboxSeparator` to visually divide option groups within the dropdown.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<SkListbox v-model="value" placeholder="Select an action...">
|
|
10
|
+
<SkListboxItem value="new">New File</SkListboxItem>
|
|
11
|
+
<SkListboxItem value="open">Open</SkListboxItem>
|
|
12
|
+
<SkListboxItem value="save">Save</SkListboxItem>
|
|
13
|
+
<SkListboxSeparator />
|
|
14
|
+
<SkListboxItem value="export">Export</SkListboxItem>
|
|
15
|
+
<SkListboxItem value="import">Import</SkListboxItem>
|
|
16
|
+
<SkListboxSeparator />
|
|
17
|
+
<SkListboxItem value="exit">Exit</SkListboxItem>
|
|
18
|
+
</SkListbox>
|
|
19
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: sizes
|
|
3
|
+
order: 3
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Listboxes come in four sizes (`sm`, `md`, `lg`, `xl`) matching other form inputs for consistent layouts.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<SkListbox v-model="value" kind="primary" size="sm" placeholder="Small">
|
|
10
|
+
<SkListboxItem value="1">Item 1</SkListboxItem>
|
|
11
|
+
</SkListbox>
|
|
12
|
+
|
|
13
|
+
<SkListbox v-model="value" kind="primary" size="md" placeholder="Medium">
|
|
14
|
+
<SkListboxItem value="1">Item 1</SkListboxItem>
|
|
15
|
+
</SkListbox>
|
|
16
|
+
|
|
17
|
+
<SkListbox v-model="value" kind="primary" size="lg" placeholder="Large">
|
|
18
|
+
<SkListboxItem value="1">Item 1</SkListboxItem>
|
|
19
|
+
</SkListbox>
|
|
20
|
+
|
|
21
|
+
<SkListbox v-model="value" kind="primary" size="xl" placeholder="Extra Large">
|
|
22
|
+
<SkListboxItem value="1">Item 1</SkListboxItem>
|
|
23
|
+
</SkListbox>
|
|
24
|
+
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: states
|
|
3
|
+
order: 7
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
The entire listbox or individual items can be disabled. Disabled items cannot be selected and are visually dimmed.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<SkListbox v-model="value" disabled placeholder="Disabled listbox">
|
|
10
|
+
<SkListboxItem value="1">Item 1</SkListboxItem>
|
|
11
|
+
<SkListboxItem value="2">Item 2</SkListboxItem>
|
|
12
|
+
</SkListbox>
|
|
13
|
+
|
|
14
|
+
<SkListbox v-model="value" placeholder="With disabled item">
|
|
15
|
+
<SkListboxItem value="1">Enabled Item</SkListboxItem>
|
|
16
|
+
<SkListboxItem value="2" disabled>Disabled Item</SkListboxItem>
|
|
17
|
+
<SkListboxItem value="3">Another Enabled</SkListboxItem>
|
|
18
|
+
</SkListbox>
|
|
19
|
+
```
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: usage
|
|
3
|
+
order: 2
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Click to open, type to filter, select an item. The input field filters options as you type with RekaUI handling the filtering behavior internally.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<script setup>
|
|
10
|
+
import { ref } from 'vue';
|
|
11
|
+
|
|
12
|
+
const selected = ref('');
|
|
13
|
+
</script>
|
|
14
|
+
|
|
15
|
+
<template>
|
|
16
|
+
<SkListbox v-model="selected" placeholder="Select a framework...">
|
|
17
|
+
<SkListboxItem value="react">React</SkListboxItem>
|
|
18
|
+
<SkListboxItem value="vue">Vue</SkListboxItem>
|
|
19
|
+
<SkListboxItem value="angular">Angular</SkListboxItem>
|
|
20
|
+
<SkListboxItem value="svelte">Svelte</SkListboxItem>
|
|
21
|
+
</SkListbox>
|
|
22
|
+
</template>
|
|
23
|
+
```
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: close-behaviors
|
|
3
|
+
order: 10
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Control how the modal can be dismissed using `no-close-on-escape` and `no-close-on-overlay`. Use the `close` slot prop to close programmatically from within the modal.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<!-- Escape key disabled -->
|
|
10
|
+
<SkModal
|
|
11
|
+
title="Escape Disabled"
|
|
12
|
+
trigger-text="No Escape Close"
|
|
13
|
+
kind="warning"
|
|
14
|
+
no-close-on-escape
|
|
15
|
+
>
|
|
16
|
+
<p>This modal cannot be closed by pressing Escape.</p>
|
|
17
|
+
<template #footer="{ close }">
|
|
18
|
+
<SkButton kind="warning" @click="close">Close Modal</SkButton>
|
|
19
|
+
</template>
|
|
20
|
+
</SkModal>
|
|
21
|
+
|
|
22
|
+
<!-- Overlay click disabled -->
|
|
23
|
+
<SkModal
|
|
24
|
+
title="Overlay Click Disabled"
|
|
25
|
+
trigger-text="No Overlay Close"
|
|
26
|
+
kind="warning"
|
|
27
|
+
no-close-on-overlay
|
|
28
|
+
>
|
|
29
|
+
<p>This modal cannot be closed by clicking the overlay.</p>
|
|
30
|
+
<template #footer="{ close }">
|
|
31
|
+
<SkButton kind="warning" @click="close">Close Modal</SkButton>
|
|
32
|
+
</template>
|
|
33
|
+
</SkModal>
|
|
34
|
+
|
|
35
|
+
<!-- Both disabled - requires explicit action -->
|
|
36
|
+
<SkModal
|
|
37
|
+
title="Required Action"
|
|
38
|
+
trigger-text="Strict Modal"
|
|
39
|
+
kind="danger"
|
|
40
|
+
no-close-on-escape
|
|
41
|
+
no-close-on-overlay
|
|
42
|
+
>
|
|
43
|
+
<p>This modal requires explicit user action to close.</p>
|
|
44
|
+
<template #footer="{ close }">
|
|
45
|
+
<SkButton kind="neutral" variant="ghost" @click="close">Cancel</SkButton>
|
|
46
|
+
<SkButton kind="danger" @click="close">Confirm Action</SkButton>
|
|
47
|
+
</template>
|
|
48
|
+
</SkModal>
|
|
49
|
+
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: confirmation
|
|
3
|
+
order: 6
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
A common pattern for delete confirmations or destructive actions. Use the `danger` kind with clear messaging and explicit cancel/confirm buttons.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<SkModal kind="danger" title="Delete Account" trigger-text="Delete Account">
|
|
10
|
+
<p>
|
|
11
|
+
Are you sure you want to delete your account? This action cannot be undone and all your data will be
|
|
12
|
+
permanently removed.
|
|
13
|
+
</p>
|
|
14
|
+
<template #footer>
|
|
15
|
+
<SkButton kind="neutral" variant="ghost">Cancel</SkButton>
|
|
16
|
+
<SkButton kind="danger">Delete Account</SkButton>
|
|
17
|
+
</template>
|
|
18
|
+
</SkModal>
|
|
19
|
+
```
|