@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,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: alignment
|
|
3
|
+
order: 5
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Use the `align` prop to control how the tooltip aligns with the trigger.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<!-- Solid variant -->
|
|
10
|
+
<SkTooltip side="bottom" align="start">
|
|
11
|
+
Aligned to start
|
|
12
|
+
<template #trigger>
|
|
13
|
+
<SkButton>Start</SkButton>
|
|
14
|
+
</template>
|
|
15
|
+
</SkTooltip>
|
|
16
|
+
|
|
17
|
+
<!-- Outline variant -->
|
|
18
|
+
<SkTooltip side="bottom" align="start" kind="primary" variant="outline">
|
|
19
|
+
Outline aligned to start
|
|
20
|
+
<template #trigger>
|
|
21
|
+
<SkButton kind="primary">Start</SkButton>
|
|
22
|
+
</template>
|
|
23
|
+
</SkTooltip>
|
|
24
|
+
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: app-level-provider
|
|
3
|
+
order: 10
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
For app-wide tooltip coordination, wrap your entire app in SkTooltipProvider (typically in App.vue).
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<!-- App.vue - recommended setup -->
|
|
10
|
+
<template>
|
|
11
|
+
<SkTheme theme="colorful">
|
|
12
|
+
<SkTooltipProvider :delay-duration="300" :skip-delay-duration="100">
|
|
13
|
+
<RouterView />
|
|
14
|
+
</SkTooltipProvider>
|
|
15
|
+
</SkTheme>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script setup>
|
|
19
|
+
import { SkTheme, SkTooltipProvider } from '@skewedaspect/sleekspace-ui';
|
|
20
|
+
</script>
|
|
21
|
+
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: arrow
|
|
3
|
+
order: 6
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Hide the arrow indicator with `:show-arrow="false"`.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<SkTooltip :show-arrow="false">
|
|
10
|
+
This tooltip has no arrow
|
|
11
|
+
<template #trigger>
|
|
12
|
+
<SkButton>No Arrow</SkButton>
|
|
13
|
+
</template>
|
|
14
|
+
</SkTooltip>
|
|
15
|
+
<SkTooltip :show-arrow="false" kind="primary" variant="outline">
|
|
16
|
+
Outline with no arrow
|
|
17
|
+
<template #trigger>
|
|
18
|
+
<SkButton kind="primary">Outline No Arrow</SkButton>
|
|
19
|
+
</template>
|
|
20
|
+
</SkTooltip>
|
|
21
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: custom-colors
|
|
3
|
+
order: 7
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Use `baseColor` and `textColor` for full color control.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<!-- Solid variant -->
|
|
10
|
+
<SkTooltip base-color="oklch(0.5 0.25 300)" text-color="white">
|
|
11
|
+
Custom purple tooltip
|
|
12
|
+
<template #trigger>
|
|
13
|
+
<SkButton>Purple</SkButton>
|
|
14
|
+
</template>
|
|
15
|
+
</SkTooltip>
|
|
16
|
+
|
|
17
|
+
<!-- Outline variant -->
|
|
18
|
+
<SkTooltip base-color="oklch(0.5 0.25 300)" text-color="white" variant="outline">
|
|
19
|
+
Custom purple outline
|
|
20
|
+
<template #trigger>
|
|
21
|
+
<SkButton>Purple Outline</SkButton>
|
|
22
|
+
</template>
|
|
23
|
+
</SkTooltip>
|
|
24
|
+
```
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: delay
|
|
3
|
+
order: 8
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Control how long to wait before showing the tooltip with `delayDuration` (in milliseconds).
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<SkTooltip :delay-duration="0">
|
|
10
|
+
Instant tooltip (0ms)
|
|
11
|
+
<template #trigger>
|
|
12
|
+
<SkButton>Instant</SkButton>
|
|
13
|
+
</template>
|
|
14
|
+
</SkTooltip>
|
|
15
|
+
<SkTooltip :delay-duration="400">
|
|
16
|
+
Default delay (400ms)
|
|
17
|
+
<template #trigger>
|
|
18
|
+
<SkButton>Default</SkButton>
|
|
19
|
+
</template>
|
|
20
|
+
</SkTooltip>
|
|
21
|
+
<SkTooltip :delay-duration="1000">
|
|
22
|
+
Slow tooltip (1000ms)
|
|
23
|
+
<template #trigger>
|
|
24
|
+
<SkButton>Slow</SkButton>
|
|
25
|
+
</template>
|
|
26
|
+
</SkTooltip>
|
|
27
|
+
```
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: intro
|
|
3
|
+
order: 1
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# SkTooltip
|
|
7
|
+
|
|
8
|
+
A hover-triggered tooltip for displaying brief supplementary information next to a trigger element. Supports standalone and provider modes for coordinated tooltip behavior. Built on RekaUI's Tooltip primitive and uses a portal.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: kinds
|
|
3
|
+
order: 3
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Seven semantic kinds for different contexts and purposes.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<SkTooltip kind="neutral">
|
|
10
|
+
Neutral information
|
|
11
|
+
<template #trigger>
|
|
12
|
+
<SkButton kind="neutral">Neutral</SkButton>
|
|
13
|
+
</template>
|
|
14
|
+
</SkTooltip>
|
|
15
|
+
<SkTooltip kind="primary">
|
|
16
|
+
Primary action hint
|
|
17
|
+
<template #trigger>
|
|
18
|
+
<SkButton kind="primary">Primary</SkButton>
|
|
19
|
+
</template>
|
|
20
|
+
</SkTooltip>
|
|
21
|
+
<SkTooltip kind="info">
|
|
22
|
+
Informational message
|
|
23
|
+
<template #trigger>
|
|
24
|
+
<SkButton kind="info">Info</SkButton>
|
|
25
|
+
</template>
|
|
26
|
+
</SkTooltip>
|
|
27
|
+
```
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: positioning
|
|
3
|
+
order: 4
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Control the tooltip position with the `side` prop. Tooltips automatically adjust to stay within viewport bounds.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<!-- Solid variant -->
|
|
10
|
+
<SkTooltip side="top">
|
|
11
|
+
Appears on top
|
|
12
|
+
<template #trigger>
|
|
13
|
+
<SkButton>Top</SkButton>
|
|
14
|
+
</template>
|
|
15
|
+
</SkTooltip>
|
|
16
|
+
|
|
17
|
+
<!-- Outline variant -->
|
|
18
|
+
<SkTooltip side="top" kind="primary" variant="outline">
|
|
19
|
+
Outline on top
|
|
20
|
+
<template #trigger>
|
|
21
|
+
<SkButton kind="primary">Top</SkButton>
|
|
22
|
+
</template>
|
|
23
|
+
</SkTooltip>
|
|
24
|
+
```
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: provider
|
|
3
|
+
order: 9
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Wrap multiple tooltips in SkTooltipProvider for coordinated "skip delay" behavior -- after viewing one tooltip, moving to another shows it instantly.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<!-- Without provider: each tooltip has independent delay -->
|
|
10
|
+
<SkTooltip>...</SkTooltip>
|
|
11
|
+
<SkTooltip>...</SkTooltip>
|
|
12
|
+
<SkTooltip>...</SkTooltip>
|
|
13
|
+
|
|
14
|
+
<!-- With provider: skip delay when moving between tooltips -->
|
|
15
|
+
<SkTooltipProvider :delay-duration="400" :skip-delay-duration="300">
|
|
16
|
+
<SkTooltip kind="primary">
|
|
17
|
+
Tooltip 1
|
|
18
|
+
<template #trigger><SkButton>A</SkButton></template>
|
|
19
|
+
</SkTooltip>
|
|
20
|
+
<SkTooltip kind="primary">
|
|
21
|
+
Tooltip 2
|
|
22
|
+
<template #trigger><SkButton>B</SkButton></template>
|
|
23
|
+
</SkTooltip>
|
|
24
|
+
<!-- More tooltips... -->
|
|
25
|
+
</SkTooltipProvider>
|
|
26
|
+
```
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: real-world
|
|
3
|
+
order: 11
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Common tooltip use cases in applications: icon buttons, help text, and disabled button explanations.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<!-- Icon buttons with tooltips -->
|
|
10
|
+
<SkTooltip>
|
|
11
|
+
Save changes
|
|
12
|
+
<template #trigger>
|
|
13
|
+
<SkButton variant="ghost" size="sm">Save</SkButton>
|
|
14
|
+
</template>
|
|
15
|
+
</SkTooltip>
|
|
16
|
+
|
|
17
|
+
<!-- Help text -->
|
|
18
|
+
<SkTooltip kind="info" side="right">
|
|
19
|
+
Your username must be 3-20 characters and can only contain letters, numbers, and underscores.
|
|
20
|
+
<template #trigger>
|
|
21
|
+
<span class="text-info cursor-help">Info</span>
|
|
22
|
+
</template>
|
|
23
|
+
</SkTooltip>
|
|
24
|
+
|
|
25
|
+
<!-- Disabled button explanation -->
|
|
26
|
+
<SkTooltip kind="warning">
|
|
27
|
+
Complete all required fields to enable this button
|
|
28
|
+
<template #trigger>
|
|
29
|
+
<SkButton disabled>Submit</SkButton>
|
|
30
|
+
</template>
|
|
31
|
+
</SkTooltip>
|
|
32
|
+
```
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: usage
|
|
3
|
+
order: 2
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Wrap any element with a tooltip to provide additional information on hover.
|
|
7
|
+
|
|
8
|
+
```vue
|
|
9
|
+
<SkTooltip>
|
|
10
|
+
Hover over me for a helpful hint
|
|
11
|
+
<template #trigger>
|
|
12
|
+
<SkButton>Hover Me</SkButton>
|
|
13
|
+
</template>
|
|
14
|
+
</SkTooltip>
|
|
15
|
+
```
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: AI & LLMs
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# AI & LLMs
|
|
6
|
+
|
|
7
|
+
SleekSpace UI ships with LLM-friendly documentation files that make it easy for AI assistants like Claude, ChatGPT, GitHub Copilot, and Cursor to understand and help with the library.
|
|
8
|
+
|
|
9
|
+
## Available Files
|
|
10
|
+
|
|
11
|
+
Two documentation files are available, optimized for different use cases:
|
|
12
|
+
|
|
13
|
+
| File | Size | Best For |
|
|
14
|
+
|------|------|----------|
|
|
15
|
+
| `llms.txt` | ~7 KB | Quick context, token-efficient prompts |
|
|
16
|
+
| `llms-full.txt` | ~196 KB | Complete reference, in-depth help |
|
|
17
|
+
|
|
18
|
+
**llms.txt** is a concise index with component summaries. It gives AI assistants enough context to understand what the library offers and how components work together.
|
|
19
|
+
|
|
20
|
+
**llms-full.txt** is the complete reference. It includes all guide documentation, every component's usage examples, and full API reference tables with all props, slots, and events.
|
|
21
|
+
|
|
22
|
+
## How to Use
|
|
23
|
+
|
|
24
|
+
### AI-Powered IDEs (Claude Code, Cursor, Windsurf)
|
|
25
|
+
|
|
26
|
+
Point your AI assistant to fetch the documentation from our docs site:
|
|
27
|
+
|
|
28
|
+
- https://sleekspace-ui.skewedaspect.com/llms.txt
|
|
29
|
+
- https://sleekspace-ui.skewedaspect.com/llms-full.txt
|
|
30
|
+
|
|
31
|
+
Example: "Fetch https://sleekspace-ui.skewedaspect.com/llms.txt and help me create a form with validation."
|
|
32
|
+
|
|
33
|
+
### Web-Based AI (ChatGPT, Claude.ai)
|
|
34
|
+
|
|
35
|
+
Direct the AI to read the documentation URLs:
|
|
36
|
+
|
|
37
|
+
Example prompt:
|
|
38
|
+
|
|
39
|
+
> "Read https://sleekspace-ui.skewedaspect.com/llms.txt and then help me create a themed dashboard layout."
|
|
40
|
+
|
|
41
|
+
### Paste Into Context
|
|
42
|
+
|
|
43
|
+
For quick questions, copy the content of `llms.txt` and paste it into your conversation. For in-depth help with complex implementations, use `llms-full.txt`.
|
|
44
|
+
|
|
45
|
+
## What's Included
|
|
46
|
+
|
|
47
|
+
The documentation files contain:
|
|
48
|
+
|
|
49
|
+
- **All guides** -- Installation, theming, design tokens, custom colors
|
|
50
|
+
- **Every component** -- Usage examples and documentation for all 46 components
|
|
51
|
+
- **Complete API reference** -- Props, slots, and events in structured tables
|
|
52
|
+
- **Best practices** -- Common patterns and recommended approaches
|
|
53
|
+
|
|
54
|
+
The files are auto-generated from the source documentation, so they stay in sync with the library.
|
|
55
|
+
|
|
56
|
+
## Why This Matters
|
|
57
|
+
|
|
58
|
+
AI assistants work best when they have accurate, up-to-date context about the tools you are using. With these files:
|
|
59
|
+
|
|
60
|
+
- **Accurate help** -- AI responses are based on real documentation, not training data that may be outdated
|
|
61
|
+
- **No hallucinations** -- Props, events, and usage patterns match what the library actually provides
|
|
62
|
+
- **Better suggestions** -- AI can recommend appropriate components, theming approaches, and composition patterns
|
|
63
|
+
- **Faster development** -- Get library-specific help without searching through documentation manually
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: advanced
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Advanced Topics
|
|
6
|
+
|
|
7
|
+
### Custom Colors via Props
|
|
8
|
+
|
|
9
|
+
Components support custom colors without modifying tokens:
|
|
10
|
+
|
|
11
|
+
```vue
|
|
12
|
+
<SkButton :base-color="'oklch(0.7 0.25 300)'">
|
|
13
|
+
Custom Purple Button
|
|
14
|
+
</SkButton>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Adding New Foundation Colors
|
|
18
|
+
|
|
19
|
+
Add new color primitives in `_foundation-colors.scss`:
|
|
20
|
+
|
|
21
|
+
```css
|
|
22
|
+
/* Teal */
|
|
23
|
+
--sk-color-teal-05: oklch(0.9 0.05 180);
|
|
24
|
+
--sk-color-teal-10: oklch(0.85 0.08 180);
|
|
25
|
+
/* ... define all 11 shades */
|
|
26
|
+
--sk-color-teal-95: oklch(0.1 0.02 180);
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Creating a New Theme
|
|
30
|
+
|
|
31
|
+
1. Create `src/styles/themes/_mytheme.scss`
|
|
32
|
+
2. Define all 7 semantic kinds with the `[data-scheme="mytheme"]` selector
|
|
33
|
+
3. Import in `themes/index.scss`: `@forward 'mytheme';`
|
|
34
|
+
4. Add to TypeScript types: `export type SkThemeName = 'greyscale' | 'colorful' | 'mytheme';`
|
|
35
|
+
5. Use: `<SkTheme theme="mytheme">`
|
|
36
|
+
|
|
37
|
+
### Component Token Overrides
|
|
38
|
+
|
|
39
|
+
Override component tokens for one-off customizations:
|
|
40
|
+
|
|
41
|
+
```vue
|
|
42
|
+
<SkButton
|
|
43
|
+
style="--sk-button-bg: var(--sk-color-purple-40);
|
|
44
|
+
--sk-button-text: white;"
|
|
45
|
+
>
|
|
46
|
+
Custom Button
|
|
47
|
+
</SkButton>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Scale Multipliers
|
|
51
|
+
|
|
52
|
+
Global multipliers allow users to scale the entire design system proportionally:
|
|
53
|
+
|
|
54
|
+
```css
|
|
55
|
+
--sk-space-scale: 1 /* Scales all spacing */
|
|
56
|
+
--sk-font-size-scale: 1 /* Scales all font sizes */
|
|
57
|
+
--sk-radius-scale: 1 /* Scales all border radii */
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Set `--sk-space-scale: 1.25` to make the entire UI 25% larger!
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: architecture
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Three-Tier Architecture
|
|
6
|
+
|
|
7
|
+
**Foundation Tokens** are raw, immutable values that never change. They include 121 OKLCH color primitives (11 families × 11 shades), spacing scales, typography, borders, shadows, and transitions. Example: `--sk-color-blue-50`.
|
|
8
|
+
|
|
9
|
+
**Semantic Tokens** are theme-aware mappings that give meaning to foundation tokens. They include 7 semantic kinds (neutral, primary, accent, etc.), 10 color kinds for direct palette access, surface and interactive states, and derived hover/active states via `color-mix()`. Example: `--sk-primary-base`.
|
|
10
|
+
|
|
11
|
+
**Component Tokens** are component-specific values that reference semantic tokens. They are scoped to individual components, enable component-level customization, and can be overridden per instance. Example: `--sk-button-bg`.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: best-practices
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Best Practices
|
|
6
|
+
|
|
7
|
+
### Do
|
|
8
|
+
|
|
9
|
+
- Use semantic kinds for theme-aware components
|
|
10
|
+
- Reference higher-tier tokens in lower tiers (component → semantic → foundation)
|
|
11
|
+
- Use `color-mix()` for dynamic color derivation
|
|
12
|
+
- Keep token naming consistent and predictable
|
|
13
|
+
- Document custom tokens with comments
|
|
14
|
+
|
|
15
|
+
### Don't
|
|
16
|
+
|
|
17
|
+
- Reference foundation tokens directly in components (breaks theming)
|
|
18
|
+
- Create circular token references
|
|
19
|
+
- Hardcode color values in components
|
|
20
|
+
- Mix naming conventions (stick to `--sk-*`)
|
|
21
|
+
- Define semantic tokens outside theme files
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: component-tokens
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Component Tokens
|
|
6
|
+
|
|
7
|
+
Each component defines its own tokens that reference semantic tokens. This provides a layer of indirection for component-level customization.
|
|
8
|
+
|
|
9
|
+
### Example: Button Component
|
|
10
|
+
|
|
11
|
+
```scss
|
|
12
|
+
.sk-button {
|
|
13
|
+
/* Component tokens reference semantic tokens */
|
|
14
|
+
--sk-button-bg: var(--sk-button-color-base);
|
|
15
|
+
--sk-button-text: var(--sk-neutral-text);
|
|
16
|
+
--sk-button-border-width: var(--sk-border-width-thin);
|
|
17
|
+
|
|
18
|
+
/* Calculated values */
|
|
19
|
+
--sk-button-bg-hover: color-mix(
|
|
20
|
+
in oklch,
|
|
21
|
+
var(--sk-button-bg) 92%,
|
|
22
|
+
white 8%
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
/* Usage */
|
|
26
|
+
background-color: var(--sk-button-bg);
|
|
27
|
+
color: var(--sk-button-text);
|
|
28
|
+
border-width: var(--sk-button-border-width);
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
### Component Token Pattern
|
|
33
|
+
|
|
34
|
+
- Always prefix with component name: `--sk-button-*`
|
|
35
|
+
- Reference semantic tokens by default
|
|
36
|
+
- Override in kind mixins for different colors
|
|
37
|
+
- Can be customized via inline styles if needed
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: foundation-colors
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Foundation Tokens
|
|
6
|
+
|
|
7
|
+
Foundation tokens are the bedrock of the design system. They define exact values using modern CSS features like OKLCH color space.
|
|
8
|
+
|
|
9
|
+
### Color Primitives
|
|
10
|
+
|
|
11
|
+
**110 tokens** across **10 color families**, each with 11 shades (05, 10, 20, 30, 40, 50, 60, 70, 80, 90, 95). Shade 50 is typically the most vibrant.
|
|
12
|
+
|
|
13
|
+
The color families are: gray, blue, red, orange, yellow, green, mint, cyan, purple, and pink. Each follows the pattern `--sk-color-{family}-{shade}`.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: foundation-other
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
### Other Foundation Tokens
|
|
6
|
+
|
|
7
|
+
Beyond colors, foundation tokens cover spacing, borders, typography, transitions, glows, shadows, and scale multipliers.
|
|
8
|
+
|
|
9
|
+
```css
|
|
10
|
+
/* Spacing */
|
|
11
|
+
--sk-space-3xs: 0.125rem /* 2px */
|
|
12
|
+
--sk-space-2xs: 0.25rem /* 4px */
|
|
13
|
+
--sk-space-xs: 0.5rem /* 8px */
|
|
14
|
+
--sk-space-sm: 0.75rem /* 12px */
|
|
15
|
+
--sk-space-md: 1rem /* 16px */
|
|
16
|
+
--sk-space-lg: 1.5rem /* 24px */
|
|
17
|
+
--sk-space-xl: 2rem /* 32px */
|
|
18
|
+
--sk-space-2xl: 3rem /* 48px */
|
|
19
|
+
--sk-space-3xl: 4rem /* 64px */
|
|
20
|
+
|
|
21
|
+
/* Border Widths */
|
|
22
|
+
--sk-border-width-none: 0
|
|
23
|
+
--sk-border-width-thin: 1px
|
|
24
|
+
--sk-border-width-normal: 2px
|
|
25
|
+
--sk-border-width-thick: 4px
|
|
26
|
+
--sk-border-width-heavy: 6px
|
|
27
|
+
|
|
28
|
+
/* Typography */
|
|
29
|
+
--sk-font-family-base: 'Titillium Web', ui-sans-serif, system-ui, sans-serif
|
|
30
|
+
--sk-font-size-xs: 0.75rem
|
|
31
|
+
--sk-font-size-sm: 0.875rem
|
|
32
|
+
--sk-font-size-md: 1rem
|
|
33
|
+
--sk-font-size-lg: 1.125rem
|
|
34
|
+
--sk-font-size-xl: 1.25rem
|
|
35
|
+
|
|
36
|
+
/* Transitions */
|
|
37
|
+
--sk-transition-duration-instant: 0ms
|
|
38
|
+
--sk-transition-duration-fast: 150ms
|
|
39
|
+
--sk-transition-duration-normal: 200ms
|
|
40
|
+
--sk-transition-duration-slow: 300ms
|
|
41
|
+
```
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: intro
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Design Tokens
|
|
6
|
+
|
|
7
|
+
A comprehensive token system for scalable, themeable design. Inspired by Web Awesome's three-tier architecture.
|
|
8
|
+
|
|
9
|
+
Design tokens are the visual design atoms of the design system — specifically, they are named entities that store visual design attributes. They provide a single source of truth for colors, spacing, typography, and other design decisions.
|
|
10
|
+
|
|
11
|
+
**Token Philosophy:** Tokens are organized in a three-tier hierarchy: Foundation → Semantic → Component. This separation enables powerful theming while maintaining consistency.
|
|
12
|
+
|
|
13
|
+
This token system addresses common design system challenges:
|
|
14
|
+
|
|
15
|
+
- **Consistency** — Single source of truth eliminates duplicate formulas and hard-coded values
|
|
16
|
+
- **Maintainability** — Clear hierarchy makes global updates simple
|
|
17
|
+
- **Scalability** — Easy to add new components and extend the palette
|
|
18
|
+
- **Customization** — Scale multipliers allow flexible theming without breaking the system
|
|
19
|
+
- **Developer Experience** — Intuitive naming and comprehensive documentation
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: semantic-kinds
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Semantic Tokens
|
|
6
|
+
|
|
7
|
+
Semantic tokens provide meaning and context to foundation tokens. They enable theming by mapping different foundation colors to the same semantic purpose.
|
|
8
|
+
|
|
9
|
+
### Semantic Kinds (Themeable)
|
|
10
|
+
|
|
11
|
+
These change based on the active theme. Each kind has 5 tokens: base, hover, active, text, and text-contrast.
|
|
12
|
+
|
|
13
|
+
- **neutral** — Default/neutral UI elements
|
|
14
|
+
- **primary** — Primary actions & brand
|
|
15
|
+
- **accent** — Secondary emphasis
|
|
16
|
+
- **info** — Informational content
|
|
17
|
+
- **success** — Success states
|
|
18
|
+
- **warning** — Warning states
|
|
19
|
+
- **danger** — Error/destructive actions
|
|
20
|
+
|
|
21
|
+
```css
|
|
22
|
+
--sk-{kind}-base /* Main color */
|
|
23
|
+
--sk-{kind}-hover /* Hover state (auto-derived) */
|
|
24
|
+
--sk-{kind}-active /* Active state (auto-derived) */
|
|
25
|
+
--sk-{kind}-text /* Text color (white) */
|
|
26
|
+
--sk-{kind}-text-contrast /* Alternative text (dark) */
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
### Color Kinds (Non-Themeable)
|
|
30
|
+
|
|
31
|
+
Direct access to specific colors, regardless of theme. Use these when you need a fixed color that doesn't change with theming.
|
|
32
|
+
|
|
33
|
+
boulder, neon-blue, light-blue, neon-orange, neon-purple, neon-green, neon-mint, neon-pink, yellow, red
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
section: semantic-states
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
### Automatic State Derivation
|
|
6
|
+
|
|
7
|
+
Hover and active states are automatically calculated using CSS `color-mix()`:
|
|
8
|
+
|
|
9
|
+
```css
|
|
10
|
+
--sk-primary-hover: color-mix(
|
|
11
|
+
in oklch,
|
|
12
|
+
var(--sk-primary-base),
|
|
13
|
+
var(--sk-color-gray-10)
|
|
14
|
+
var(--sk-mix-amount-moderate) /* 15% */
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
--sk-primary-active: color-mix(
|
|
18
|
+
in oklch,
|
|
19
|
+
var(--sk-primary-base),
|
|
20
|
+
var(--sk-color-gray-10)
|
|
21
|
+
var(--sk-mix-amount-strong) /* 25% */
|
|
22
|
+
);
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### Surface & Text Semantics
|
|
26
|
+
|
|
27
|
+
Background and text colors for layouts and content, separate from interactive component colors.
|
|
28
|
+
|
|
29
|
+
```css
|
|
30
|
+
/* Surface Colors */
|
|
31
|
+
--sk-surface-base: var(--sk-color-gray-10)
|
|
32
|
+
--sk-surface-raised: var(--sk-color-gray-05)
|
|
33
|
+
--sk-surface-overlay: var(--sk-color-gray-20)
|
|
34
|
+
|
|
35
|
+
/* Text Colors */
|
|
36
|
+
--sk-text-primary: var(--sk-color-gray-95)
|
|
37
|
+
--sk-text-secondary: var(--sk-color-gray-70)
|
|
38
|
+
--sk-text-tertiary: var(--sk-color-gray-50)
|
|
39
|
+
--sk-text-disabled: var(--sk-color-gray-40)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Interactive State Semantics
|
|
43
|
+
|
|
44
|
+
Unified focus and selection states across all interactive components.
|
|
45
|
+
|
|
46
|
+
```css
|
|
47
|
+
/* Focus Ring */
|
|
48
|
+
--sk-focus-ring-color: var(--sk-primary-base)
|
|
49
|
+
--sk-focus-ring-width: var(--sk-border-width-normal)
|
|
50
|
+
--sk-focus-ring-offset: 2px
|
|
51
|
+
|
|
52
|
+
/* Selection */
|
|
53
|
+
--sk-selection-background: var(--sk-primary-base)
|
|
54
|
+
--sk-selection-text: var(--sk-primary-text)
|
|
55
|
+
```
|