@skewedaspect/sleekspace-ui 0.8.1 → 0.9.0
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/Dropdown/SkDropdown.vue.d.ts +9 -1
- package/dist/components/Dropdown/types.d.ts +2 -1
- package/dist/components/NavBar/SkNavBar.vue.d.ts +9 -1
- package/dist/components/NavBar/context.d.ts +2 -0
- package/dist/components/NavBar/types.d.ts +5 -1
- package/dist/components/Page/SkPage.vue.d.ts +9 -0
- package/dist/components/ScrollArea/SkScrollArea.vue.d.ts +105 -4
- package/dist/composables/useCustomColors.d.ts +18 -56
- package/{src → dist}/global.d.ts +6 -2
- package/dist/sleekspace-ui.css +4253 -1251
- package/dist/sleekspace-ui.es.js +204 -109
- package/dist/sleekspace-ui.umd.js +204 -109
- package/dist/static/classes.d.ts +18 -0
- package/dist/static/components/alert.d.ts +12 -0
- package/dist/static/components/avatar.d.ts +9 -0
- package/dist/static/components/breadcrumbs.d.ts +6 -0
- package/dist/static/components/button.d.ts +13 -0
- package/dist/static/components/card.d.ts +5 -0
- package/dist/static/components/checkbox.d.ts +10 -0
- package/dist/static/components/colorPicker.d.ts +8 -0
- package/dist/static/components/divider.d.ts +8 -0
- package/dist/static/components/dropdown.d.ts +8 -0
- package/dist/static/components/field.d.ts +15 -0
- package/dist/static/components/group.d.ts +5 -0
- package/dist/static/components/input.d.ts +14 -0
- package/dist/static/components/navBar.d.ts +16 -0
- package/dist/static/components/numberInput.d.ts +15 -0
- package/dist/static/components/page.d.ts +9 -0
- package/dist/static/components/pagination.d.ts +5 -0
- package/dist/static/components/panel.d.ts +11 -0
- package/dist/static/components/progress.d.ts +9 -0
- package/dist/static/components/radio.d.ts +11 -0
- package/dist/static/components/select.d.ts +10 -0
- package/dist/static/components/sidebar.d.ts +9 -0
- package/dist/static/components/skeleton.d.ts +11 -0
- package/dist/static/components/slider.d.ts +12 -0
- package/dist/static/components/spinner.d.ts +12 -0
- package/dist/static/components/switchInput.d.ts +10 -0
- package/dist/static/components/table.d.ts +12 -0
- package/dist/static/components/tag.d.ts +8 -0
- package/dist/static/components/tagsInput.d.ts +7 -0
- package/dist/static/components/textarea.d.ts +12 -0
- package/dist/static/components/toolbar.d.ts +12 -0
- package/dist/static/components/tooltip.d.ts +7 -0
- package/dist/static/escape.d.ts +2 -0
- package/dist/static/index.cjs.js +1 -0
- package/dist/static/index.d.ts +68 -0
- package/dist/static/index.es.js +732 -0
- package/dist/static/render.d.ts +12 -0
- package/dist/static/specs.d.ts +2 -0
- package/dist/static/types.d.ts +43 -0
- package/dist/tokens.css +322 -0
- package/dist/types/index.d.ts +36 -0
- package/docs/guides/installation.md +8 -2
- package/docs/guides/pure-css/_meta.yaml +8 -0
- package/docs/guides/pure-css/class-api.md +1070 -0
- package/docs/guides/pure-css/custom-elements.md +574 -0
- package/docs/guides/pure-css/index.md +86 -0
- package/docs/guides/pure-css/limitations.md +152 -0
- package/docs/guides/pure-css/static-helpers.md +1203 -0
- package/llms-full.txt +3736 -261
- package/package.json +16 -5
- package/src/components/Card/SkCard.vue +1 -0
- package/src/components/ContextMenu/SkContextMenuRadioGroup.vue +4 -1
- package/src/components/Dropdown/SkDropdown.vue +20 -3
- package/src/components/Dropdown/SkDropdownRadioGroup.vue +4 -1
- package/src/components/Dropdown/types.ts +2 -1
- package/src/components/NavBar/SkNavBar.vue +14 -4
- package/src/components/NavBar/context.ts +4 -2
- package/src/components/NavBar/types.ts +6 -1
- package/src/components/Page/SkPage.vue +11 -0
- package/src/components/Panel/SkPanel.vue +2 -1
- package/src/components/ScrollArea/SkScrollArea.vue +78 -5
- package/src/components/TreeView/SkTreeView.vue +7 -2
- package/src/composables/useCustomColors.ts +86 -77
- package/src/composables/usePortalContext.test.ts +0 -2
- package/src/shims.d.ts +10 -0
- package/src/static/__tests__/parity.test.ts +717 -0
- package/src/static/__tests__/parityHarness.test.ts +98 -0
- package/src/static/__tests__/parityHarness.ts +260 -0
- package/src/static/classes.test.ts +82 -0
- package/src/static/classes.ts +111 -0
- package/src/static/components/__tests__/helpers.test.ts +837 -0
- package/src/static/components/alert.ts +117 -0
- package/src/static/components/avatar.ts +86 -0
- package/src/static/components/breadcrumbs.ts +28 -0
- package/src/static/components/button.ts +75 -0
- package/src/static/components/card.ts +27 -0
- package/src/static/components/checkbox.ts +48 -0
- package/src/static/components/colorPicker.ts +45 -0
- package/src/static/components/divider.ts +39 -0
- package/src/static/components/dropdown.ts +36 -0
- package/src/static/components/field.ts +86 -0
- package/src/static/components/group.ts +27 -0
- package/src/static/components/input.ts +55 -0
- package/src/static/components/navBar.ts +94 -0
- package/src/static/components/numberInput.ts +64 -0
- package/src/static/components/page.ts +31 -0
- package/src/static/components/pagination.ts +27 -0
- package/src/static/components/panel.ts +33 -0
- package/src/static/components/progress.ts +31 -0
- package/src/static/components/radio.ts +53 -0
- package/src/static/components/select.ts +51 -0
- package/src/static/components/sidebar.ts +85 -0
- package/src/static/components/skeleton.ts +66 -0
- package/src/static/components/slider.ts +50 -0
- package/src/static/components/spinner.ts +94 -0
- package/src/static/components/switchInput.ts +49 -0
- package/src/static/components/table.ts +88 -0
- package/src/static/components/tag.ts +76 -0
- package/src/static/components/tagsInput.ts +35 -0
- package/src/static/components/textarea.ts +53 -0
- package/src/static/components/toolbar.ts +74 -0
- package/src/static/components/tooltip.ts +29 -0
- package/src/static/escape.test.ts +53 -0
- package/src/static/escape.ts +28 -0
- package/src/static/generated/defaults.ts +378 -0
- package/src/static/generated/propTypes.ts +425 -0
- package/src/static/index.ts +116 -0
- package/src/static/render.test.ts +83 -0
- package/src/static/render.ts +76 -0
- package/src/static/specs.test.ts +58 -0
- package/src/static/specs.ts +230 -0
- package/src/static/types.ts +176 -0
- package/src/styles/__tests__/testHelpers.ts +97 -0
- package/src/styles/base/_custom-elements.scss +51 -0
- package/src/styles/base/_index.scss +4 -0
- package/src/styles/components/__tests__/componentSelectors.test.ts +2575 -0
- package/src/styles/components/_alert.scss +82 -39
- package/src/styles/components/_avatar.scss +102 -47
- package/src/styles/components/_breadcrumbs.scss +39 -37
- package/src/styles/components/_button.scss +58 -5
- package/src/styles/components/_card.scss +64 -2
- package/src/styles/components/_checkbox.scss +35 -5
- package/src/styles/components/_color-picker.scss +48 -13
- package/src/styles/components/_divider.scss +86 -52
- package/src/styles/components/_dropdown.scss +214 -0
- package/src/styles/components/_field.scss +76 -23
- package/src/styles/components/_group.scss +190 -79
- package/src/styles/components/_index.scss +1 -0
- package/src/styles/components/_input.scss +81 -5
- package/src/styles/components/_menu.scss +1 -1
- package/src/styles/components/_navbar.scss +76 -45
- package/src/styles/components/_number-input.scss +88 -83
- package/src/styles/components/_page.scss +82 -23
- package/src/styles/components/_pagination.scss +240 -212
- package/src/styles/components/_panel.scss +268 -122
- package/src/styles/components/_progress.scss +120 -70
- package/src/styles/components/_radio.scss +35 -5
- package/src/styles/components/_scroll-area.scss +50 -22
- package/src/styles/components/_select.scss +40 -9
- package/src/styles/components/_sidebar.scss +59 -34
- package/src/styles/components/_skeleton.scss +111 -65
- package/src/styles/components/_slider.scss +34 -10
- package/src/styles/components/_spinner.scss +107 -56
- package/src/styles/components/_switch.scss +36 -5
- package/src/styles/components/_table.scss +150 -166
- package/src/styles/components/_tag.scss +244 -154
- package/src/styles/components/_tags-input.scss +46 -12
- package/src/styles/components/_textarea.scss +36 -5
- package/src/styles/components/_toolbar.scss +85 -31
- package/src/styles/components/_tooltip.scss +172 -3
- package/src/styles/mixins/_cut-border.scss +18 -4
- package/src/styles/mixins/_dual-selector.scss +192 -0
- package/src/styles/mixins/_index.scss +1 -0
- package/src/styles/mixins/dualSelector.test.ts +151 -0
- package/src/styles/themes/_colorful.scss +25 -0
- package/src/styles/themes/_greyscale.scss +25 -0
- package/src/styles/themes/_shade-scale.scss +39 -0
- package/src/styles/tokens/_semantic-color-kinds.scss +66 -0
- package/src/{types.ts → types/index.ts} +19 -11
- package/web-types.json +970 -137
- package/dist/composables/useCustomColors.test.d.ts +0 -1
- package/dist/composables/useFocusTrap.test.d.ts +0 -1
- package/dist/composables/usePortalContext.test.d.ts +0 -1
- package/dist/styles/mixins/fluidSize.test.d.ts +0 -1
- package/dist/types.d.ts +0 -29
package/web-types.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
+
"$schema": "http://json.schemastore.org/web-types",
|
|
2
3
|
"framework": "vue",
|
|
3
4
|
"name": "@skewedaspect/sleekspace-ui",
|
|
4
|
-
"version": "0.
|
|
5
|
+
"version": "0.9.0",
|
|
5
6
|
"contributions": {
|
|
6
7
|
"html": {
|
|
7
8
|
"description-markup": "markdown",
|
|
@@ -9,8 +10,35 @@
|
|
|
9
10
|
"tags": [
|
|
10
11
|
{
|
|
11
12
|
"name": "SkAccordion",
|
|
12
|
-
"description": "",
|
|
13
|
+
"description": "A collapsible content container that organizes information into expandable sections. Built on\nRekaUI's Accordion primitive with smooth height animations and full keyboard accessibility. Supports two\nmodes: single (only one item open at a time) or multiple (any number of items can be open simultaneously).\n\n**Example:**\n\n```vue\n<SkAccordion v-model=\"openItem\" kind=\"primary\">\n <SkAccordionItem value=\"faq-1\" title=\"What is SleekSpace?\">\n A Vue 3 component library with cyberpunk aesthetic.\n </SkAccordionItem>\n <SkAccordionItem value=\"faq-2\" title=\"How do I get started?\">\n Install via npm and import the components you need.\n </SkAccordionItem>\n</SkAccordion>\n```",
|
|
13
14
|
"attributes": [
|
|
15
|
+
{
|
|
16
|
+
"name": "borderColor",
|
|
17
|
+
"required": false,
|
|
18
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
19
|
+
"value": {
|
|
20
|
+
"kind": "expression",
|
|
21
|
+
"type": "string"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"name": "textColor",
|
|
26
|
+
"required": false,
|
|
27
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
28
|
+
"value": {
|
|
29
|
+
"kind": "expression",
|
|
30
|
+
"type": "string"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "baseColor",
|
|
35
|
+
"required": false,
|
|
36
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
37
|
+
"value": {
|
|
38
|
+
"kind": "expression",
|
|
39
|
+
"type": "string"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
14
42
|
{
|
|
15
43
|
"name": "type",
|
|
16
44
|
"required": false,
|
|
@@ -69,7 +97,8 @@
|
|
|
69
97
|
],
|
|
70
98
|
"slots": [
|
|
71
99
|
{
|
|
72
|
-
"name": "default"
|
|
100
|
+
"name": "default",
|
|
101
|
+
"description": "Container for SkAccordionItem components. Each item becomes a collapsible section."
|
|
73
102
|
}
|
|
74
103
|
],
|
|
75
104
|
"source": {
|
|
@@ -79,7 +108,7 @@
|
|
|
79
108
|
},
|
|
80
109
|
{
|
|
81
110
|
"name": "SkAccordionItem",
|
|
82
|
-
"description": "",
|
|
111
|
+
"description": "An individual collapsible section within an SkAccordion container. Each item consists of a\nclickable header that toggles the visibility of its content panel. Features smooth height animations,\nan animated chevron indicator, and full keyboard navigation support (Enter/Space to toggle, arrow keys\nto navigate between items).\n\n**Example:**\n\n```vue\n<SkAccordionItem value=\"shipping\" title=\"Shipping Information\">\n <p>We ship worldwide with tracking included.</p>\n</SkAccordionItem>\n```",
|
|
83
112
|
"attributes": [
|
|
84
113
|
{
|
|
85
114
|
"name": "value",
|
|
@@ -123,10 +152,12 @@
|
|
|
123
152
|
],
|
|
124
153
|
"slots": [
|
|
125
154
|
{
|
|
126
|
-
"name": "title"
|
|
155
|
+
"name": "title",
|
|
156
|
+
"description": "Custom header content. Receives `{ open: boolean }` indicating the current expanded state.\n Use this for complex headers with icons, badges, or conditional styling."
|
|
127
157
|
},
|
|
128
158
|
{
|
|
129
|
-
"name": "default"
|
|
159
|
+
"name": "default",
|
|
160
|
+
"description": "The collapsible content displayed when the item is expanded. Can contain any content."
|
|
130
161
|
}
|
|
131
162
|
],
|
|
132
163
|
"source": {
|
|
@@ -136,8 +167,35 @@
|
|
|
136
167
|
},
|
|
137
168
|
{
|
|
138
169
|
"name": "SkAlert",
|
|
139
|
-
"description": "",
|
|
170
|
+
"description": "A contextual feedback component for displaying informational, success, warning, or error messages.\nFeatures automatic icon selection based on alert kind and supports prominent (default) and subtle visual styles.\nUse alerts to communicate important status updates, validation results, or system messages to users.\n\n**Example:**\n\n```vue\n<SkAlert kind=\"success\">Your changes have been saved!</SkAlert>\n```\n\n**Example:**\n\nSubtle info alert\n```vue\n<SkAlert kind=\"info\" subtle>\n A helpful tip for the user.\n</SkAlert>\n```",
|
|
140
171
|
"attributes": [
|
|
172
|
+
{
|
|
173
|
+
"name": "borderColor",
|
|
174
|
+
"required": false,
|
|
175
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
176
|
+
"value": {
|
|
177
|
+
"kind": "expression",
|
|
178
|
+
"type": "string"
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"name": "textColor",
|
|
183
|
+
"required": false,
|
|
184
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
185
|
+
"value": {
|
|
186
|
+
"kind": "expression",
|
|
187
|
+
"type": "string"
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"name": "baseColor",
|
|
192
|
+
"required": false,
|
|
193
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
194
|
+
"value": {
|
|
195
|
+
"kind": "expression",
|
|
196
|
+
"type": "string"
|
|
197
|
+
}
|
|
198
|
+
},
|
|
141
199
|
{
|
|
142
200
|
"name": "kind",
|
|
143
201
|
"required": false,
|
|
@@ -171,10 +229,12 @@
|
|
|
171
229
|
],
|
|
172
230
|
"slots": [
|
|
173
231
|
{
|
|
174
|
-
"name": "icon"
|
|
232
|
+
"name": "icon",
|
|
233
|
+
"description": "Custom icon to override the default kind-based icon. Receives no slot props."
|
|
175
234
|
},
|
|
176
235
|
{
|
|
177
|
-
"name": "default"
|
|
236
|
+
"name": "default",
|
|
237
|
+
"description": "The alert message content. Can include text, links, or any HTML content."
|
|
178
238
|
}
|
|
179
239
|
],
|
|
180
240
|
"source": {
|
|
@@ -184,7 +244,7 @@
|
|
|
184
244
|
},
|
|
185
245
|
{
|
|
186
246
|
"name": "SkAvatar",
|
|
187
|
-
"description": "",
|
|
247
|
+
"description": "A user profile avatar component displaying an image, initials, or placeholder icon. Features a\ndistinctive square shape with beveled top-left and bottom-right corners matching the SleekSpace design system.\nImplements graceful degradation: shows image if provided and loads successfully, falls back to initials if\nspecified, otherwise displays a generic user icon. Supports all semantic color kinds and custom colors.\n\n**Example:**\n\n```vue\n<!-- With image -->\n<SkAvatar src=\"/avatars/user.jpg\" alt=\"Jane Doe\" size=\"lg\" />\n\n<!-- With initials fallback -->\n<SkAvatar src=\"/avatars/user.jpg\" initials=\"JD\" kind=\"primary\" />\n\n<!-- Initials only -->\n<SkAvatar initials=\"AB\" kind=\"accent\" size=\"xl\" />\n\n<!-- Custom icon fallback -->\n<SkAvatar kind=\"info\">\n <template #icon><RobotIcon /></template>\n</SkAvatar>\n```",
|
|
188
248
|
"attributes": [
|
|
189
249
|
{
|
|
190
250
|
"name": "src",
|
|
@@ -259,7 +319,8 @@
|
|
|
259
319
|
],
|
|
260
320
|
"slots": [
|
|
261
321
|
{
|
|
262
|
-
"name": "icon"
|
|
322
|
+
"name": "icon",
|
|
323
|
+
"description": "Custom fallback icon displayed when no image or initials are provided. Defaults to a generic\n user silhouette icon. Use for bots, system users, or other non-person entities."
|
|
263
324
|
}
|
|
264
325
|
],
|
|
265
326
|
"source": {
|
|
@@ -269,7 +330,7 @@
|
|
|
269
330
|
},
|
|
270
331
|
{
|
|
271
332
|
"name": "SkBreadcrumbItem",
|
|
272
|
-
"description": "",
|
|
333
|
+
"description": "A single item within a breadcrumb navigation trail representing one level in the hierarchy.\nAutomatically renders as the appropriate element type based on props: `RouterLink` for Vue Router\nnavigation, `<a>` for external links, `<span>` for current/disabled items, or `<button>` for click handlers.\n\n**Example:**\n\n```vue\n<!-- Vue Router link -->\n<SkBreadcrumbItem to=\"/dashboard\">Dashboard</SkBreadcrumbItem>\n\n<!-- External link -->\n<SkBreadcrumbItem href=\"https://docs.example.com\">Docs</SkBreadcrumbItem>\n\n<!-- Current page (non-interactive) -->\n<SkBreadcrumbItem current>Settings</SkBreadcrumbItem>\n\n<!-- With icon -->\n<SkBreadcrumbItem to=\"/\">\n <template #icon><HomeIcon /></template>\n Home\n</SkBreadcrumbItem>\n```",
|
|
273
334
|
"attributes": [
|
|
274
335
|
{
|
|
275
336
|
"name": "to",
|
|
@@ -314,10 +375,12 @@
|
|
|
314
375
|
],
|
|
315
376
|
"slots": [
|
|
316
377
|
{
|
|
317
|
-
"name": "icon"
|
|
378
|
+
"name": "icon",
|
|
379
|
+
"description": "Optional icon displayed before the label. Useful for home icons or category indicators."
|
|
318
380
|
},
|
|
319
381
|
{
|
|
320
|
-
"name": "default"
|
|
382
|
+
"name": "default",
|
|
383
|
+
"description": "The breadcrumb label text or custom content."
|
|
321
384
|
}
|
|
322
385
|
],
|
|
323
386
|
"source": {
|
|
@@ -327,7 +390,7 @@
|
|
|
327
390
|
},
|
|
328
391
|
{
|
|
329
392
|
"name": "SkBreadcrumbSeparator",
|
|
330
|
-
"description": "",
|
|
393
|
+
"description": "A visual separator displayed between breadcrumb items. Typically used internally by\n`SkBreadcrumbs`, but can be used directly when you need custom separator patterns or want to\nplace separators manually. The separator is hidden from screen readers via `aria-hidden`.\n\n**Example:**\n\n```vue\n<!-- Manual separator usage -->\n<SkBreadcrumbItem to=\"/\">Home</SkBreadcrumbItem>\n<SkBreadcrumbSeparator separator=\">\" />\n<SkBreadcrumbItem current>Settings</SkBreadcrumbItem>\n```",
|
|
331
394
|
"attributes": [
|
|
332
395
|
{
|
|
333
396
|
"name": "separator",
|
|
@@ -347,8 +410,17 @@
|
|
|
347
410
|
},
|
|
348
411
|
{
|
|
349
412
|
"name": "SkBreadcrumbs",
|
|
350
|
-
"description": "",
|
|
413
|
+
"description": "A navigation component that displays a hierarchical trail of links showing the user's current\nlocation within an application. Automatically inserts separators between breadcrumb items and provides\nARIA-compliant navigation landmarks for screen readers.\n\n**Example:**\n\n```vue\n<SkBreadcrumbs kind=\"primary\">\n <SkBreadcrumbItem to=\"/\">Home</SkBreadcrumbItem>\n <SkBreadcrumbItem to=\"/products\">Products</SkBreadcrumbItem>\n <SkBreadcrumbItem current>Widget Pro</SkBreadcrumbItem>\n</SkBreadcrumbs>\n```",
|
|
351
414
|
"attributes": [
|
|
415
|
+
{
|
|
416
|
+
"name": "borderColor",
|
|
417
|
+
"required": false,
|
|
418
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
419
|
+
"value": {
|
|
420
|
+
"kind": "expression",
|
|
421
|
+
"type": "string"
|
|
422
|
+
}
|
|
423
|
+
},
|
|
352
424
|
{
|
|
353
425
|
"name": "textColor",
|
|
354
426
|
"required": false,
|
|
@@ -388,6 +460,12 @@
|
|
|
388
460
|
"default": "'/'"
|
|
389
461
|
}
|
|
390
462
|
],
|
|
463
|
+
"slots": [
|
|
464
|
+
{
|
|
465
|
+
"name": "default",
|
|
466
|
+
"description": "Contains `SkBreadcrumbItem` components representing each level in the navigation hierarchy."
|
|
467
|
+
}
|
|
468
|
+
],
|
|
391
469
|
"source": {
|
|
392
470
|
"module": "./src/components/Breadcrumbs/SkBreadcrumbs.vue",
|
|
393
471
|
"symbol": "default"
|
|
@@ -395,8 +473,35 @@
|
|
|
395
473
|
},
|
|
396
474
|
{
|
|
397
475
|
"name": "SkButton",
|
|
398
|
-
"description": "",
|
|
476
|
+
"description": "A versatile button component supporting multiple visual variants, sizes, and interactive states.\nAutomatically renders as a `<button>`, `<a>`, or `<router-link>` based on the props provided. Use for\nprimary actions, navigation, form submissions, and toggleable controls with full keyboard accessibility.\n\n**Example:**\n\n```vue\n<SkButton kind=\"primary\" @click=\"save\">Save Changes</SkButton>\n<SkButton variant=\"outline\" href=\"/docs\">Documentation</SkButton>\n<SkButton :loading=\"isSaving\" kind=\"accent\">Submit</SkButton>\n```",
|
|
399
477
|
"attributes": [
|
|
478
|
+
{
|
|
479
|
+
"name": "borderColor",
|
|
480
|
+
"required": false,
|
|
481
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
482
|
+
"value": {
|
|
483
|
+
"kind": "expression",
|
|
484
|
+
"type": "string"
|
|
485
|
+
}
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
"name": "textColor",
|
|
489
|
+
"required": false,
|
|
490
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
491
|
+
"value": {
|
|
492
|
+
"kind": "expression",
|
|
493
|
+
"type": "string"
|
|
494
|
+
}
|
|
495
|
+
},
|
|
496
|
+
{
|
|
497
|
+
"name": "baseColor",
|
|
498
|
+
"required": false,
|
|
499
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
500
|
+
"value": {
|
|
501
|
+
"kind": "expression",
|
|
502
|
+
"type": "string"
|
|
503
|
+
}
|
|
504
|
+
},
|
|
400
505
|
{
|
|
401
506
|
"name": "type",
|
|
402
507
|
"required": false,
|
|
@@ -500,16 +605,20 @@
|
|
|
500
605
|
],
|
|
501
606
|
"slots": [
|
|
502
607
|
{
|
|
503
|
-
"name": "leading"
|
|
608
|
+
"name": "leading",
|
|
609
|
+
"description": "Icon or element displayed before the button text. Ideal for action icons."
|
|
504
610
|
},
|
|
505
611
|
{
|
|
506
|
-
"name": "icon"
|
|
612
|
+
"name": "icon",
|
|
613
|
+
"description": "Icon for icon-only buttons. When used without the default slot, creates a square icon button."
|
|
507
614
|
},
|
|
508
615
|
{
|
|
509
|
-
"name": "default"
|
|
616
|
+
"name": "default",
|
|
617
|
+
"description": "Button label text or content. Supports text, icons, or any inline elements."
|
|
510
618
|
},
|
|
511
619
|
{
|
|
512
|
-
"name": "trailing"
|
|
620
|
+
"name": "trailing",
|
|
621
|
+
"description": "Icon or element displayed after the button text. Useful for arrows or indicators."
|
|
513
622
|
}
|
|
514
623
|
],
|
|
515
624
|
"source": {
|
|
@@ -519,8 +628,35 @@
|
|
|
519
628
|
},
|
|
520
629
|
{
|
|
521
630
|
"name": "SkCard",
|
|
522
|
-
"description": "",
|
|
631
|
+
"description": "A structured card component with distinct header, media, content, and footer sections. Built on top\nof SkPanel, cards are ideal for displaying grouped information like product listings, user profiles, or article\npreviews. Supports scrollable content areas for fixed-height layouts.\n\n**Example:**\n\n```vue\n<SkCard title=\"Product Details\" kind=\"primary\">\n <template #media>\n <img src=\"/product.jpg\" alt=\"Product\" />\n </template>\n <p>Product description goes here.</p>\n <template #footer>\n <SkButton>Add to Cart</SkButton>\n </template>\n</SkCard>\n```",
|
|
523
632
|
"attributes": [
|
|
633
|
+
{
|
|
634
|
+
"name": "borderColor",
|
|
635
|
+
"required": false,
|
|
636
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
637
|
+
"value": {
|
|
638
|
+
"kind": "expression",
|
|
639
|
+
"type": "string"
|
|
640
|
+
}
|
|
641
|
+
},
|
|
642
|
+
{
|
|
643
|
+
"name": "textColor",
|
|
644
|
+
"required": false,
|
|
645
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
646
|
+
"value": {
|
|
647
|
+
"kind": "expression",
|
|
648
|
+
"type": "string"
|
|
649
|
+
}
|
|
650
|
+
},
|
|
651
|
+
{
|
|
652
|
+
"name": "baseColor",
|
|
653
|
+
"required": false,
|
|
654
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
655
|
+
"value": {
|
|
656
|
+
"kind": "expression",
|
|
657
|
+
"type": "string"
|
|
658
|
+
}
|
|
659
|
+
},
|
|
524
660
|
{
|
|
525
661
|
"name": "kind",
|
|
526
662
|
"required": false,
|
|
@@ -624,16 +760,20 @@
|
|
|
624
760
|
],
|
|
625
761
|
"slots": [
|
|
626
762
|
{
|
|
627
|
-
"name": "header"
|
|
763
|
+
"name": "header",
|
|
764
|
+
"description": "Custom header content. Renders alongside or instead of the `title` prop. Use for action buttons,\n badges, or complex header layouts."
|
|
628
765
|
},
|
|
629
766
|
{
|
|
630
|
-
"name": "media"
|
|
767
|
+
"name": "media",
|
|
768
|
+
"description": "Media content area (images, videos, etc.) that spans the full width without padding. Displays\n between the header and content sections."
|
|
631
769
|
},
|
|
632
770
|
{
|
|
633
|
-
"name": "default"
|
|
771
|
+
"name": "default",
|
|
772
|
+
"description": "The main content area of the card. Displays below the header and media sections."
|
|
634
773
|
},
|
|
635
774
|
{
|
|
636
|
-
"name": "footer"
|
|
775
|
+
"name": "footer",
|
|
776
|
+
"description": "Footer content area for actions, links, or metadata. Displays at the bottom of the card with\n appropriate spacing."
|
|
637
777
|
}
|
|
638
778
|
],
|
|
639
779
|
"source": {
|
|
@@ -643,8 +783,35 @@
|
|
|
643
783
|
},
|
|
644
784
|
{
|
|
645
785
|
"name": "SkCheckbox",
|
|
646
|
-
"description": "",
|
|
786
|
+
"description": "A checkbox input component supporting boolean and indeterminate states. Built on RekaUI's\nCheckbox primitive with beveled corner styling and full keyboard accessibility. Use with `v-model` for\ntwo-way binding of the checked state.\n\n**Example:**\n\n```vue\n<SkCheckbox v-model=\"accepted\" label=\"Accept terms\" kind=\"primary\" />\n```",
|
|
647
787
|
"attributes": [
|
|
788
|
+
{
|
|
789
|
+
"name": "borderColor",
|
|
790
|
+
"required": false,
|
|
791
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
792
|
+
"value": {
|
|
793
|
+
"kind": "expression",
|
|
794
|
+
"type": "string"
|
|
795
|
+
}
|
|
796
|
+
},
|
|
797
|
+
{
|
|
798
|
+
"name": "textColor",
|
|
799
|
+
"required": false,
|
|
800
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
801
|
+
"value": {
|
|
802
|
+
"kind": "expression",
|
|
803
|
+
"type": "string"
|
|
804
|
+
}
|
|
805
|
+
},
|
|
806
|
+
{
|
|
807
|
+
"name": "baseColor",
|
|
808
|
+
"required": false,
|
|
809
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
810
|
+
"value": {
|
|
811
|
+
"kind": "expression",
|
|
812
|
+
"type": "string"
|
|
813
|
+
}
|
|
814
|
+
},
|
|
648
815
|
{
|
|
649
816
|
"name": "kind",
|
|
650
817
|
"required": false,
|
|
@@ -708,7 +875,8 @@
|
|
|
708
875
|
],
|
|
709
876
|
"slots": [
|
|
710
877
|
{
|
|
711
|
-
"name": "default"
|
|
878
|
+
"name": "default",
|
|
879
|
+
"description": "Custom label content. Overrides the `label` prop when provided."
|
|
712
880
|
}
|
|
713
881
|
],
|
|
714
882
|
"source": {
|
|
@@ -718,8 +886,35 @@
|
|
|
718
886
|
},
|
|
719
887
|
{
|
|
720
888
|
"name": "SkCollapsible",
|
|
721
|
-
"description": "",
|
|
889
|
+
"description": "An expandable/collapsible container that reveals or hides content with smooth height animations.\nBuilt on RekaUI's Collapsible primitive for robust accessibility and keyboard support. Use for FAQ sections,\nexpandable details, or any content that should be hidden by default to reduce visual clutter.\n\n**Example:**\n\n```vue\n<SkCollapsible v-model:open=\"showDetails\" trigger-text=\"Show Details\" kind=\"primary\">\n <p>This content is hidden until the user clicks the trigger.</p>\n</SkCollapsible>\n```\n\n**Example:**\n\nCustom trigger with slot\n```vue\n<SkCollapsible v-model:open=\"isExpanded\">\n <template #trigger=\"{ open }\">\n <SkButton variant=\"outline\">\n {{ open ? 'Hide' : 'Show' }} Advanced Options\n </SkButton>\n </template>\n <div class=\"options-panel\">\n <!-- Advanced options content -->\n </div>\n</SkCollapsible>\n```",
|
|
722
890
|
"attributes": [
|
|
891
|
+
{
|
|
892
|
+
"name": "borderColor",
|
|
893
|
+
"required": false,
|
|
894
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
895
|
+
"value": {
|
|
896
|
+
"kind": "expression",
|
|
897
|
+
"type": "string"
|
|
898
|
+
}
|
|
899
|
+
},
|
|
900
|
+
{
|
|
901
|
+
"name": "textColor",
|
|
902
|
+
"required": false,
|
|
903
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
904
|
+
"value": {
|
|
905
|
+
"kind": "expression",
|
|
906
|
+
"type": "string"
|
|
907
|
+
}
|
|
908
|
+
},
|
|
909
|
+
{
|
|
910
|
+
"name": "baseColor",
|
|
911
|
+
"required": false,
|
|
912
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
913
|
+
"value": {
|
|
914
|
+
"kind": "expression",
|
|
915
|
+
"type": "string"
|
|
916
|
+
}
|
|
917
|
+
},
|
|
723
918
|
{
|
|
724
919
|
"name": "open",
|
|
725
920
|
"required": false,
|
|
@@ -778,10 +973,12 @@
|
|
|
778
973
|
],
|
|
779
974
|
"slots": [
|
|
780
975
|
{
|
|
781
|
-
"name": "trigger"
|
|
976
|
+
"name": "trigger",
|
|
977
|
+
"description": "Custom trigger element. Receives `{ open: boolean }` slot props to allow the trigger to\n reflect the current state. When not provided, a default SkButton with chevron icon is rendered."
|
|
782
978
|
},
|
|
783
979
|
{
|
|
784
|
-
"name": "default"
|
|
980
|
+
"name": "default",
|
|
981
|
+
"description": "The collapsible content that is shown/hidden. This content animates smoothly when the\n collapsed state changes."
|
|
785
982
|
}
|
|
786
983
|
],
|
|
787
984
|
"source": {
|
|
@@ -793,6 +990,33 @@
|
|
|
793
990
|
"name": "SkColorPicker",
|
|
794
991
|
"description": "",
|
|
795
992
|
"attributes": [
|
|
993
|
+
{
|
|
994
|
+
"name": "borderColor",
|
|
995
|
+
"required": false,
|
|
996
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
997
|
+
"value": {
|
|
998
|
+
"kind": "expression",
|
|
999
|
+
"type": "string"
|
|
1000
|
+
}
|
|
1001
|
+
},
|
|
1002
|
+
{
|
|
1003
|
+
"name": "textColor",
|
|
1004
|
+
"required": false,
|
|
1005
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
1006
|
+
"value": {
|
|
1007
|
+
"kind": "expression",
|
|
1008
|
+
"type": "string"
|
|
1009
|
+
}
|
|
1010
|
+
},
|
|
1011
|
+
{
|
|
1012
|
+
"name": "baseColor",
|
|
1013
|
+
"required": false,
|
|
1014
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
1015
|
+
"value": {
|
|
1016
|
+
"kind": "expression",
|
|
1017
|
+
"type": "string"
|
|
1018
|
+
}
|
|
1019
|
+
},
|
|
796
1020
|
{
|
|
797
1021
|
"name": "kind",
|
|
798
1022
|
"required": false,
|
|
@@ -866,6 +1090,33 @@
|
|
|
866
1090
|
"name": "SkContextMenu",
|
|
867
1091
|
"description": "",
|
|
868
1092
|
"attributes": [
|
|
1093
|
+
{
|
|
1094
|
+
"name": "borderColor",
|
|
1095
|
+
"required": false,
|
|
1096
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
1097
|
+
"value": {
|
|
1098
|
+
"kind": "expression",
|
|
1099
|
+
"type": "string"
|
|
1100
|
+
}
|
|
1101
|
+
},
|
|
1102
|
+
{
|
|
1103
|
+
"name": "textColor",
|
|
1104
|
+
"required": false,
|
|
1105
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
1106
|
+
"value": {
|
|
1107
|
+
"kind": "expression",
|
|
1108
|
+
"type": "string"
|
|
1109
|
+
}
|
|
1110
|
+
},
|
|
1111
|
+
{
|
|
1112
|
+
"name": "baseColor",
|
|
1113
|
+
"required": false,
|
|
1114
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
1115
|
+
"value": {
|
|
1116
|
+
"kind": "expression",
|
|
1117
|
+
"type": "string"
|
|
1118
|
+
}
|
|
1119
|
+
},
|
|
869
1120
|
{
|
|
870
1121
|
"name": "kind",
|
|
871
1122
|
"required": false,
|
|
@@ -1072,7 +1323,7 @@
|
|
|
1072
1323
|
},
|
|
1073
1324
|
{
|
|
1074
1325
|
"name": "SkDivider",
|
|
1075
|
-
"description": "",
|
|
1326
|
+
"description": "A visual separator component used to divide content into distinct sections. Renders as a semantic\n`<hr>` element with proper ARIA attributes for accessibility. Use horizontal dividers to separate stacked\ncontent, or vertical dividers to separate inline elements like toolbar buttons.\n\n**Example:**\n\n```vue\n<div>\n <p>First section content</p>\n <SkDivider kind=\"primary\" />\n <p>Second section content</p>\n</div>\n```\n\n**Example:**\n\nVertical divider in a toolbar\n```vue\n<SkGroup orientation=\"horizontal\">\n <SkButton>Edit</SkButton>\n <SkDivider orientation=\"vertical\" variant=\"subtle\" />\n <SkButton>Delete</SkButton>\n</SkGroup>\n```",
|
|
1076
1327
|
"attributes": [
|
|
1077
1328
|
{
|
|
1078
1329
|
"name": "orientation",
|
|
@@ -1122,8 +1373,35 @@
|
|
|
1122
1373
|
},
|
|
1123
1374
|
{
|
|
1124
1375
|
"name": "SkDropdown",
|
|
1125
|
-
"description": "",
|
|
1376
|
+
"description": "A dropdown menu component that displays a list of actions or options when triggered. Built on\nRekaUI's dropdown primitives with full keyboard navigation, focus management, and accessibility. The menu\ncontent is portaled to the document body to prevent overflow issues. Supports nested submenus via\nSkDropdownSubmenu.\n\n**Example:**\n\n```vue\n<SkDropdown trigger-text=\"Actions\" kind=\"primary\">\n <SkDropdownMenuItem @click=\"handleEdit\">Edit</SkDropdownMenuItem>\n <SkDropdownMenuItem @click=\"handleDuplicate\">Duplicate</SkDropdownMenuItem>\n <SkDropdownMenuSeparator />\n <SkDropdownMenuItem @click=\"handleDelete\">Delete</SkDropdownMenuItem>\n</SkDropdown>\n```",
|
|
1126
1377
|
"attributes": [
|
|
1378
|
+
{
|
|
1379
|
+
"name": "borderColor",
|
|
1380
|
+
"required": false,
|
|
1381
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
1382
|
+
"value": {
|
|
1383
|
+
"kind": "expression",
|
|
1384
|
+
"type": "string"
|
|
1385
|
+
}
|
|
1386
|
+
},
|
|
1387
|
+
{
|
|
1388
|
+
"name": "textColor",
|
|
1389
|
+
"required": false,
|
|
1390
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
1391
|
+
"value": {
|
|
1392
|
+
"kind": "expression",
|
|
1393
|
+
"type": "string"
|
|
1394
|
+
}
|
|
1395
|
+
},
|
|
1396
|
+
{
|
|
1397
|
+
"name": "baseColor",
|
|
1398
|
+
"required": false,
|
|
1399
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
1400
|
+
"value": {
|
|
1401
|
+
"kind": "expression",
|
|
1402
|
+
"type": "string"
|
|
1403
|
+
}
|
|
1404
|
+
},
|
|
1127
1405
|
{
|
|
1128
1406
|
"name": "kind",
|
|
1129
1407
|
"required": false,
|
|
@@ -1173,14 +1451,26 @@
|
|
|
1173
1451
|
"type": "number"
|
|
1174
1452
|
},
|
|
1175
1453
|
"default": "4"
|
|
1454
|
+
},
|
|
1455
|
+
{
|
|
1456
|
+
"name": "size",
|
|
1457
|
+
"required": false,
|
|
1458
|
+
"description": "Size of the default trigger button. When omitted and the dropdown is rendered inside\nan SkNavBar, falls back to the navbar's `size` prop so the trigger naturally matches\nsurrounding nav controls. Ignored when the `trigger` slot is used.",
|
|
1459
|
+
"value": {
|
|
1460
|
+
"kind": "expression",
|
|
1461
|
+
"type": "SkDropdownSize"
|
|
1462
|
+
},
|
|
1463
|
+
"default": "undefined"
|
|
1176
1464
|
}
|
|
1177
1465
|
],
|
|
1178
1466
|
"slots": [
|
|
1179
1467
|
{
|
|
1180
|
-
"name": "trigger"
|
|
1468
|
+
"name": "trigger",
|
|
1469
|
+
"description": "Custom trigger element. When provided, replaces the default SkButton trigger.\n The slot content should be an interactive element (button, link, etc.)."
|
|
1181
1470
|
},
|
|
1182
1471
|
{
|
|
1183
|
-
"name": "default"
|
|
1472
|
+
"name": "default",
|
|
1473
|
+
"description": "Menu content containing SkDropdownMenuItem, SkDropdownMenuSeparator, and/or\n SkDropdownSubmenu components."
|
|
1184
1474
|
}
|
|
1185
1475
|
],
|
|
1186
1476
|
"source": {
|
|
@@ -1228,7 +1518,7 @@
|
|
|
1228
1518
|
},
|
|
1229
1519
|
{
|
|
1230
1520
|
"name": "SkDropdownMenuItem",
|
|
1231
|
-
"description": "",
|
|
1521
|
+
"description": "An individual menu item for use inside SkDropdown or SkDropdownSubmenu. Provides keyboard\nnavigation support (arrow keys, Enter/Space to select) and proper focus management. Menu items automatically\nclose the dropdown when clicked unless the event is prevented.\n\n**Example:**\n\n```vue\n<SkDropdown trigger-text=\"File\">\n <SkDropdownMenuItem @click=\"handleNew\">New Document</SkDropdownMenuItem>\n <SkDropdownMenuItem @click=\"handleOpen\">Open...</SkDropdownMenuItem>\n <SkDropdownMenuItem disabled>Save (disabled)</SkDropdownMenuItem>\n</SkDropdown>\n```",
|
|
1232
1522
|
"attributes": [
|
|
1233
1523
|
{
|
|
1234
1524
|
"name": "disabled",
|
|
@@ -1248,7 +1538,8 @@
|
|
|
1248
1538
|
],
|
|
1249
1539
|
"slots": [
|
|
1250
1540
|
{
|
|
1251
|
-
"name": "default"
|
|
1541
|
+
"name": "default",
|
|
1542
|
+
"description": "The menu item label content. Can include text, icons, keyboard shortcuts, or any inline elements."
|
|
1252
1543
|
}
|
|
1253
1544
|
],
|
|
1254
1545
|
"source": {
|
|
@@ -1271,7 +1562,7 @@
|
|
|
1271
1562
|
},
|
|
1272
1563
|
{
|
|
1273
1564
|
"name": "SkDropdownMenuSeparator",
|
|
1274
|
-
"description": "",
|
|
1565
|
+
"description": "A visual divider line for grouping related menu items within SkDropdown or SkDropdownSubmenu.\nUse separators to create logical sections in longer menus, improving scannability and organization.\nThis is a purely visual component with no interactive behavior.\n\n**Example:**\n\n```vue\n<SkDropdown trigger-text=\"Edit\">\n <SkDropdownMenuItem>Undo</SkDropdownMenuItem>\n <SkDropdownMenuItem>Redo</SkDropdownMenuItem>\n <SkDropdownMenuSeparator />\n <SkDropdownMenuItem>Cut</SkDropdownMenuItem>\n <SkDropdownMenuItem>Copy</SkDropdownMenuItem>\n <SkDropdownMenuItem>Paste</SkDropdownMenuItem>\n</SkDropdown>\n```",
|
|
1275
1566
|
"source": {
|
|
1276
1567
|
"module": "./src/components/Dropdown/SkDropdownMenuSeparator.vue",
|
|
1277
1568
|
"symbol": "default"
|
|
@@ -1340,7 +1631,7 @@
|
|
|
1340
1631
|
},
|
|
1341
1632
|
{
|
|
1342
1633
|
"name": "SkDropdownSubmenu",
|
|
1343
|
-
"description": "",
|
|
1634
|
+
"description": "A nested submenu component that expands from a parent SkDropdown or another SkDropdownSubmenu.\nThe submenu opens to the side when the trigger item is hovered or focused, with full keyboard navigation\nsupport (arrow keys to navigate, Enter/Space or Right arrow to open, Left arrow or Escape to close).\nContent is portaled to prevent overflow clipping.\n\n**Example:**\n\n```vue\n<SkDropdown trigger-text=\"Options\">\n <SkDropdownMenuItem>Simple Action</SkDropdownMenuItem>\n <SkDropdownSubmenu trigger-text=\"More Actions\">\n <SkDropdownMenuItem>Nested Item 1</SkDropdownMenuItem>\n <SkDropdownMenuItem>Nested Item 2</SkDropdownMenuItem>\n </SkDropdownSubmenu>\n</SkDropdown>\n```",
|
|
1344
1635
|
"attributes": [
|
|
1345
1636
|
{
|
|
1346
1637
|
"name": "triggerText",
|
|
@@ -1364,7 +1655,8 @@
|
|
|
1364
1655
|
],
|
|
1365
1656
|
"slots": [
|
|
1366
1657
|
{
|
|
1367
|
-
"name": "default"
|
|
1658
|
+
"name": "default",
|
|
1659
|
+
"description": "Menu content containing SkDropdownMenuItem, SkDropdownMenuSeparator, or further\n nested SkDropdownSubmenu components."
|
|
1368
1660
|
}
|
|
1369
1661
|
],
|
|
1370
1662
|
"source": {
|
|
@@ -1374,7 +1666,7 @@
|
|
|
1374
1666
|
},
|
|
1375
1667
|
{
|
|
1376
1668
|
"name": "SkField",
|
|
1377
|
-
"description": "",
|
|
1669
|
+
"description": "A form field wrapper that provides consistent label, description, and error message layout.\nAutomatically generates unique IDs and wires up ARIA attributes (aria-describedby, aria-invalid) for\naccessibility. Child input components (SkInput, SkTextarea, etc.) automatically inherit the validation\nkind based on the `state` prop.\n\n**Example:**\n\n```vue\n<SkField label=\"Email\" description=\"We'll never share your email\" :error=\"errors.email\">\n <SkInput v-model=\"email\" type=\"email\" />\n</SkField>\n\n<SkField label=\"Username\" required :state=\"isValid\" label-position=\"left\">\n <SkInput v-model=\"username\" />\n</SkField>\n```",
|
|
1378
1670
|
"attributes": [
|
|
1379
1671
|
{
|
|
1380
1672
|
"name": "label",
|
|
@@ -1469,7 +1761,8 @@
|
|
|
1469
1761
|
],
|
|
1470
1762
|
"slots": [
|
|
1471
1763
|
{
|
|
1472
|
-
"name": "default"
|
|
1764
|
+
"name": "default",
|
|
1765
|
+
"description": "The form input component (SkInput, SkTextarea, SkNumberInput, etc.). Receives slot props:\n `id` (string) - unique ID for the input, `aria-describedby` (string) - ID of description/error element,\n `aria-invalid` (string) - \"true\" when error present, `kind` (string) - semantic kind based on state."
|
|
1473
1766
|
}
|
|
1474
1767
|
],
|
|
1475
1768
|
"source": {
|
|
@@ -1479,7 +1772,7 @@
|
|
|
1479
1772
|
},
|
|
1480
1773
|
{
|
|
1481
1774
|
"name": "SkGroup",
|
|
1482
|
-
"description": "",
|
|
1775
|
+
"description": "A flexbox-based layout container that groups child elements with consistent spacing and alignment.\nUse SkGroup to arrange buttons, form controls, or any elements that should be visually grouped together.\nThe component uses CSS gap for reliable spacing that works correctly regardless of conditional rendering.\n\n**Example:**\n\n```vue\n<SkGroup orientation=\"horizontal\">\n <SkButton>Save</SkButton>\n <SkButton variant=\"outline\">Cancel</SkButton>\n</SkGroup>\n```",
|
|
1483
1776
|
"attributes": [
|
|
1484
1777
|
{
|
|
1485
1778
|
"name": "orientation",
|
|
@@ -1494,7 +1787,8 @@
|
|
|
1494
1787
|
],
|
|
1495
1788
|
"slots": [
|
|
1496
1789
|
{
|
|
1497
|
-
"name": "default"
|
|
1790
|
+
"name": "default",
|
|
1791
|
+
"description": "The child elements to be grouped. All direct children will be arranged according to the\n orientation prop with consistent spacing between them."
|
|
1498
1792
|
}
|
|
1499
1793
|
],
|
|
1500
1794
|
"source": {
|
|
@@ -1504,8 +1798,35 @@
|
|
|
1504
1798
|
},
|
|
1505
1799
|
{
|
|
1506
1800
|
"name": "SkInput",
|
|
1507
|
-
"description": "",
|
|
1801
|
+
"description": "A single-line text input component with semantic color theming and validation state support.\nSupports various HTML input types (text, email, password, etc.) and integrates with SkField for labels\nand error messages. Use with `v-model` for two-way data binding of the input value.\n\n**Example:**\n\n```vue\n<SkInput v-model=\"email\" type=\"email\" placeholder=\"Enter your email\" />\n<SkInput v-model=\"search\" kind=\"primary\" size=\"lg\" />\n<SkField label=\"Username\" :error=\"errors.username\">\n <SkInput v-model=\"username\" name=\"username\" required />\n</SkField>\n```",
|
|
1508
1802
|
"attributes": [
|
|
1803
|
+
{
|
|
1804
|
+
"name": "borderColor",
|
|
1805
|
+
"required": false,
|
|
1806
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
1807
|
+
"value": {
|
|
1808
|
+
"kind": "expression",
|
|
1809
|
+
"type": "string"
|
|
1810
|
+
}
|
|
1811
|
+
},
|
|
1812
|
+
{
|
|
1813
|
+
"name": "textColor",
|
|
1814
|
+
"required": false,
|
|
1815
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
1816
|
+
"value": {
|
|
1817
|
+
"kind": "expression",
|
|
1818
|
+
"type": "string"
|
|
1819
|
+
}
|
|
1820
|
+
},
|
|
1821
|
+
{
|
|
1822
|
+
"name": "baseColor",
|
|
1823
|
+
"required": false,
|
|
1824
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
1825
|
+
"value": {
|
|
1826
|
+
"kind": "expression",
|
|
1827
|
+
"type": "string"
|
|
1828
|
+
}
|
|
1829
|
+
},
|
|
1509
1830
|
{
|
|
1510
1831
|
"name": "type",
|
|
1511
1832
|
"required": false,
|
|
@@ -1604,8 +1925,35 @@
|
|
|
1604
1925
|
},
|
|
1605
1926
|
{
|
|
1606
1927
|
"name": "SkListbox",
|
|
1607
|
-
"description": "",
|
|
1928
|
+
"description": "A searchable dropdown listbox for selecting from predefined options. Features a text input\nfor filtering options and a dropdown panel displaying matching items. Built on RekaUI's Combobox\nprimitive with full keyboard navigation, type-ahead search, and portal rendering for proper z-index.\n\n**Example:**\n\n```vue\n<SkListbox v-model=\"selectedCountry\" kind=\"primary\" placeholder=\"Select a country...\">\n <SkListboxItem value=\"us\">United States</SkListboxItem>\n <SkListboxItem value=\"uk\">United Kingdom</SkListboxItem>\n <SkListboxItem value=\"ca\">Canada</SkListboxItem>\n</SkListbox>\n```",
|
|
1608
1929
|
"attributes": [
|
|
1930
|
+
{
|
|
1931
|
+
"name": "borderColor",
|
|
1932
|
+
"required": false,
|
|
1933
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
1934
|
+
"value": {
|
|
1935
|
+
"kind": "expression",
|
|
1936
|
+
"type": "string"
|
|
1937
|
+
}
|
|
1938
|
+
},
|
|
1939
|
+
{
|
|
1940
|
+
"name": "textColor",
|
|
1941
|
+
"required": false,
|
|
1942
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
1943
|
+
"value": {
|
|
1944
|
+
"kind": "expression",
|
|
1945
|
+
"type": "string"
|
|
1946
|
+
}
|
|
1947
|
+
},
|
|
1948
|
+
{
|
|
1949
|
+
"name": "baseColor",
|
|
1950
|
+
"required": false,
|
|
1951
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
1952
|
+
"value": {
|
|
1953
|
+
"kind": "expression",
|
|
1954
|
+
"type": "string"
|
|
1955
|
+
}
|
|
1956
|
+
},
|
|
1609
1957
|
{
|
|
1610
1958
|
"name": "kind",
|
|
1611
1959
|
"required": false,
|
|
@@ -1649,7 +1997,8 @@
|
|
|
1649
1997
|
],
|
|
1650
1998
|
"slots": [
|
|
1651
1999
|
{
|
|
1652
|
-
"name": "default"
|
|
2000
|
+
"name": "default",
|
|
2001
|
+
"description": "SkListboxItem components representing the available options. Use SkListboxSeparator\n to create visual dividers between groups of options."
|
|
1653
2002
|
}
|
|
1654
2003
|
],
|
|
1655
2004
|
"source": {
|
|
@@ -1659,7 +2008,7 @@
|
|
|
1659
2008
|
},
|
|
1660
2009
|
{
|
|
1661
2010
|
"name": "SkListboxItem",
|
|
1662
|
-
"description": "",
|
|
2011
|
+
"description": "A selectable option within an SkListbox dropdown. When selected, the item displays a\ncheckmark indicator and its value is set as the listbox's v-model. Built on RekaUI's ComboboxItem\nwith keyboard navigation and type-ahead search support.\n\n**Example:**\n\n```vue\n<SkListbox v-model=\"selected\">\n <SkListboxItem value=\"option1\">First Option</SkListboxItem>\n <SkListboxItem value=\"option2\">Second Option</SkListboxItem>\n <SkListboxItem value=\"option3\" disabled>Unavailable Option</SkListboxItem>\n</SkListbox>\n```",
|
|
1663
2012
|
"attributes": [
|
|
1664
2013
|
{
|
|
1665
2014
|
"name": "value",
|
|
@@ -1683,7 +2032,8 @@
|
|
|
1683
2032
|
],
|
|
1684
2033
|
"slots": [
|
|
1685
2034
|
{
|
|
1686
|
-
"name": "default"
|
|
2035
|
+
"name": "default",
|
|
2036
|
+
"description": "The display content for this option. Can be plain text or rich content including\n icons, formatted text, or custom layouts. This is what users see in the dropdown."
|
|
1687
2037
|
}
|
|
1688
2038
|
],
|
|
1689
2039
|
"source": {
|
|
@@ -1693,7 +2043,7 @@
|
|
|
1693
2043
|
},
|
|
1694
2044
|
{
|
|
1695
2045
|
"name": "SkListboxSeparator",
|
|
1696
|
-
"description": "",
|
|
2046
|
+
"description": "A visual divider for organizing options within an SkListbox dropdown. Use to create\nlogical groups of related options without affecting selection behavior. Renders as a horizontal\nline between items with appropriate spacing.\n\n**Example:**\n\n```vue\n<SkListbox v-model=\"selected\">\n <SkListboxItem value=\"recent1\">Recent Document 1</SkListboxItem>\n <SkListboxItem value=\"recent2\">Recent Document 2</SkListboxItem>\n <SkListboxSeparator />\n <SkListboxItem value=\"all\">Browse All Documents...</SkListboxItem>\n</SkListbox>\n```",
|
|
1697
2047
|
"source": {
|
|
1698
2048
|
"module": "./src/components/Listbox/SkListboxSeparator.vue",
|
|
1699
2049
|
"symbol": "default"
|
|
@@ -1701,8 +2051,35 @@
|
|
|
1701
2051
|
},
|
|
1702
2052
|
{
|
|
1703
2053
|
"name": "SkModal",
|
|
1704
|
-
"description": "",
|
|
2054
|
+
"description": "A modal dialog component for displaying focused content in an overlay. Built on RekaUI's Dialog\nprimitive with full accessibility support including focus trapping and ARIA attributes. Modals interrupt the\nuser workflow to capture attention for important information, confirmations, or forms.\n\n**Example:**\n\n```vue\n<SkModal v-model:open=\"showModal\" title=\"Confirm Action\">\n <p>Are you sure you want to proceed?</p>\n <template #footer=\"{ close }\">\n <SkButton @click=\"close\">Cancel</SkButton>\n <SkButton kind=\"primary\" @click=\"confirm(); close()\">Confirm</SkButton>\n </template>\n</SkModal>\n```\n\n**Example:**\n\nWith trigger button\n```vue\n<SkModal title=\"Settings\" trigger-text=\"Open Settings\" kind=\"primary\">\n <SettingsForm />\n</SkModal>\n```",
|
|
1705
2055
|
"attributes": [
|
|
2056
|
+
{
|
|
2057
|
+
"name": "borderColor",
|
|
2058
|
+
"required": false,
|
|
2059
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
2060
|
+
"value": {
|
|
2061
|
+
"kind": "expression",
|
|
2062
|
+
"type": "string"
|
|
2063
|
+
}
|
|
2064
|
+
},
|
|
2065
|
+
{
|
|
2066
|
+
"name": "textColor",
|
|
2067
|
+
"required": false,
|
|
2068
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
2069
|
+
"value": {
|
|
2070
|
+
"kind": "expression",
|
|
2071
|
+
"type": "string"
|
|
2072
|
+
}
|
|
2073
|
+
},
|
|
2074
|
+
{
|
|
2075
|
+
"name": "baseColor",
|
|
2076
|
+
"required": false,
|
|
2077
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
2078
|
+
"value": {
|
|
2079
|
+
"kind": "expression",
|
|
2080
|
+
"type": "string"
|
|
2081
|
+
}
|
|
2082
|
+
},
|
|
1706
2083
|
{
|
|
1707
2084
|
"name": "kind",
|
|
1708
2085
|
"required": false,
|
|
@@ -1801,16 +2178,20 @@
|
|
|
1801
2178
|
],
|
|
1802
2179
|
"slots": [
|
|
1803
2180
|
{
|
|
1804
|
-
"name": "trigger"
|
|
2181
|
+
"name": "trigger",
|
|
2182
|
+
"description": "Custom trigger element to open the modal. Receives no slot props. If not provided, uses\n a default SkButton with `triggerText`."
|
|
1805
2183
|
},
|
|
1806
2184
|
{
|
|
1807
|
-
"name": "title"
|
|
2185
|
+
"name": "title",
|
|
2186
|
+
"description": "Custom title content. Receives `{ close }` slot prop for programmatic closing."
|
|
1808
2187
|
},
|
|
1809
2188
|
{
|
|
1810
|
-
"name": "default"
|
|
2189
|
+
"name": "default",
|
|
2190
|
+
"description": "The main modal body content. Receives `{ close }` slot prop for programmatic closing."
|
|
1811
2191
|
},
|
|
1812
2192
|
{
|
|
1813
|
-
"name": "footer"
|
|
2193
|
+
"name": "footer",
|
|
2194
|
+
"description": "Footer content, typically containing action buttons. Receives `{ close }` slot prop."
|
|
1814
2195
|
}
|
|
1815
2196
|
],
|
|
1816
2197
|
"source": {
|
|
@@ -1820,8 +2201,35 @@
|
|
|
1820
2201
|
},
|
|
1821
2202
|
{
|
|
1822
2203
|
"name": "SkNavBar",
|
|
1823
|
-
"description": "",
|
|
2204
|
+
"description": "A horizontal navigation bar component for site-wide header navigation. Provides a structured\nlayout with three distinct zones: brand/logo area (left), main navigation links (center), and action\nbuttons (right). Supports sticky positioning to remain visible while scrolling and adapts to your\ntheme's semantic colors.\n\n**Example:**\n\n```vue\n<SkNavBar kind=\"primary\">\n <template #brand>\n <img src=\"/logo.svg\" alt=\"Logo\" />\n </template>\n <SkButton as=\"a\" href=\"/features\">Features</SkButton>\n <SkButton as=\"a\" href=\"/pricing\">Pricing</SkButton>\n <template #actions>\n <SkButton kind=\"accent\">Sign Up</SkButton>\n </template>\n</SkNavBar>\n```",
|
|
1824
2205
|
"attributes": [
|
|
2206
|
+
{
|
|
2207
|
+
"name": "borderColor",
|
|
2208
|
+
"required": false,
|
|
2209
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
2210
|
+
"value": {
|
|
2211
|
+
"kind": "expression",
|
|
2212
|
+
"type": "string"
|
|
2213
|
+
}
|
|
2214
|
+
},
|
|
2215
|
+
{
|
|
2216
|
+
"name": "textColor",
|
|
2217
|
+
"required": false,
|
|
2218
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
2219
|
+
"value": {
|
|
2220
|
+
"kind": "expression",
|
|
2221
|
+
"type": "string"
|
|
2222
|
+
}
|
|
2223
|
+
},
|
|
2224
|
+
{
|
|
2225
|
+
"name": "baseColor",
|
|
2226
|
+
"required": false,
|
|
2227
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
2228
|
+
"value": {
|
|
2229
|
+
"kind": "expression",
|
|
2230
|
+
"type": "string"
|
|
2231
|
+
}
|
|
2232
|
+
},
|
|
1825
2233
|
{
|
|
1826
2234
|
"name": "kind",
|
|
1827
2235
|
"required": false,
|
|
@@ -1841,20 +2249,34 @@
|
|
|
1841
2249
|
"type": "boolean"
|
|
1842
2250
|
},
|
|
1843
2251
|
"default": "true"
|
|
2252
|
+
},
|
|
2253
|
+
{
|
|
2254
|
+
"name": "size",
|
|
2255
|
+
"required": false,
|
|
2256
|
+
"description": "Default size for descendant components (buttons, dropdowns, sidebar toggles, etc.) that\nread the navbar context. Picks a size that fits the navbar's 4rem height without\noverflowing. Descendants can still override with their own `size` prop.",
|
|
2257
|
+
"value": {
|
|
2258
|
+
"kind": "expression",
|
|
2259
|
+
"type": "SkNavBarSize"
|
|
2260
|
+
},
|
|
2261
|
+
"default": "'md'"
|
|
1844
2262
|
}
|
|
1845
2263
|
],
|
|
1846
2264
|
"slots": [
|
|
1847
2265
|
{
|
|
1848
|
-
"name": "leading"
|
|
2266
|
+
"name": "leading",
|
|
2267
|
+
"description": "Far-left area, rendered before the brand. Canonical placement for a\n sidebar-drawer toggle (SkPageSidebarToggle). Empty by default."
|
|
1849
2268
|
},
|
|
1850
2269
|
{
|
|
1851
|
-
"name": "brand"
|
|
2270
|
+
"name": "brand",
|
|
2271
|
+
"description": "Left-aligned area for your logo, site name, or brand identity. Typically contains an\n image or text link to the homepage."
|
|
1852
2272
|
},
|
|
1853
2273
|
{
|
|
1854
|
-
"name": "default"
|
|
2274
|
+
"name": "default",
|
|
2275
|
+
"description": "Center area for main navigation items. Place navigation buttons, links, or menu\n triggers here. Items are displayed in a horizontal row."
|
|
1855
2276
|
},
|
|
1856
2277
|
{
|
|
1857
|
-
"name": "actions"
|
|
2278
|
+
"name": "actions",
|
|
2279
|
+
"description": "Right-aligned area for call-to-action buttons, user menus, or utility controls.\n Ideal for login buttons, shopping carts, or profile dropdowns."
|
|
1858
2280
|
}
|
|
1859
2281
|
],
|
|
1860
2282
|
"source": {
|
|
@@ -1864,8 +2286,35 @@
|
|
|
1864
2286
|
},
|
|
1865
2287
|
{
|
|
1866
2288
|
"name": "SkNumberInput",
|
|
1867
|
-
"description": "",
|
|
2289
|
+
"description": "A numeric input component with built-in increment/decrement stepper buttons. Built on RekaUI's\nNumberField primitive with full keyboard accessibility (arrow keys, page up/down, home/end). Supports\nmin/max constraints and configurable step values. Use with `v-model` for two-way binding of the numeric value.\n\n**Example:**\n\n```vue\n<SkNumberInput v-model=\"quantity\" :min=\"1\" :max=\"100\" />\n<SkNumberInput v-model=\"price\" :step=\"0.01\" :min=\"0\" placeholder=\"0.00\" />\n<SkField label=\"Age\" :error=\"errors.age\">\n <SkNumberInput v-model=\"age\" name=\"age\" :min=\"0\" :max=\"150\" />\n</SkField>\n```",
|
|
1868
2290
|
"attributes": [
|
|
2291
|
+
{
|
|
2292
|
+
"name": "borderColor",
|
|
2293
|
+
"required": false,
|
|
2294
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
2295
|
+
"value": {
|
|
2296
|
+
"kind": "expression",
|
|
2297
|
+
"type": "string"
|
|
2298
|
+
}
|
|
2299
|
+
},
|
|
2300
|
+
{
|
|
2301
|
+
"name": "textColor",
|
|
2302
|
+
"required": false,
|
|
2303
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
2304
|
+
"value": {
|
|
2305
|
+
"kind": "expression",
|
|
2306
|
+
"type": "string"
|
|
2307
|
+
}
|
|
2308
|
+
},
|
|
2309
|
+
{
|
|
2310
|
+
"name": "baseColor",
|
|
2311
|
+
"required": false,
|
|
2312
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
2313
|
+
"value": {
|
|
2314
|
+
"kind": "expression",
|
|
2315
|
+
"type": "string"
|
|
2316
|
+
}
|
|
2317
|
+
},
|
|
1869
2318
|
{
|
|
1870
2319
|
"name": "kind",
|
|
1871
2320
|
"required": false,
|
|
@@ -1974,7 +2423,7 @@
|
|
|
1974
2423
|
},
|
|
1975
2424
|
{
|
|
1976
2425
|
"name": "SkPage",
|
|
1977
|
-
"description": "",
|
|
2426
|
+
"description": "Full-page layout shell with symmetric panels: a left sidebar and a right aside, each with\nits own header/body/footer slot trio, and each independently persistent, drawer-based, or responsive.\nWraps header / subheader / main content (with optional `main-header` and `main-footer` strips) / footer.\nSidebar slides in from the left; aside slides in from the right, with backdrop, focus trap, and\nESC-to-close. Drop `<SkPageSidebarToggle />` into the navbar's `#leading` for the sidebar and\n`<SkPageSidebarToggle side=\"aside\" />` into `#actions` for the aside.\n\n**Example:**\n\nApp shell with both panels\n```vue\n<SkPage fixed-header>\n <template #header>\n <SkNavBar>\n <template #leading><SkPageSidebarToggle /></template>\n <template #brand>AppName</template>\n <template #actions><SkPageSidebarToggle side=\"aside\" /></template>\n </SkNavBar>\n </template>\n <template #sidebar><SkSidebar>...</SkSidebar></template>\n <template #aside>...</template>\n <MainContent />\n</SkPage>\n```",
|
|
1978
2427
|
"attributes": [
|
|
1979
2428
|
{
|
|
1980
2429
|
"name": "fixedHeader",
|
|
@@ -2095,6 +2544,16 @@
|
|
|
2095
2544
|
"type": "boolean"
|
|
2096
2545
|
},
|
|
2097
2546
|
"default": "false"
|
|
2547
|
+
},
|
|
2548
|
+
{
|
|
2549
|
+
"name": "noBounce",
|
|
2550
|
+
"required": false,
|
|
2551
|
+
"description": "When true, disables the bouncy overscroll / rubber-band effect on the page's scroll\ncontainers (main content, sidebar body, aside body). Applies `overscroll-behavior: none`\nto every scrollable region owned by SkPage. Note: the document-level bounce from scrolling\nthe page itself (outside SkPage's containers) can only be killed on `html`/`body`.",
|
|
2552
|
+
"value": {
|
|
2553
|
+
"kind": "expression",
|
|
2554
|
+
"type": "boolean"
|
|
2555
|
+
},
|
|
2556
|
+
"default": "false"
|
|
2098
2557
|
}
|
|
2099
2558
|
],
|
|
2100
2559
|
"events": [
|
|
@@ -2107,40 +2566,52 @@
|
|
|
2107
2566
|
],
|
|
2108
2567
|
"slots": [
|
|
2109
2568
|
{
|
|
2110
|
-
"name": "header"
|
|
2569
|
+
"name": "header",
|
|
2570
|
+
"description": "Top-of-page header. Typically a SkNavBar."
|
|
2111
2571
|
},
|
|
2112
2572
|
{
|
|
2113
|
-
"name": "subheader"
|
|
2573
|
+
"name": "subheader",
|
|
2574
|
+
"description": "Full-width strip between the header and the main row. Good for breadcrumbs or sub-tabs."
|
|
2114
2575
|
},
|
|
2115
2576
|
{
|
|
2116
|
-
"name": "sidebar-header"
|
|
2577
|
+
"name": "sidebar-header",
|
|
2578
|
+
"description": "Pinned top of the sidebar (e.g. logo, search). Renders in the drawer too.\n Slot props: `{ isDrawer: boolean }`."
|
|
2117
2579
|
},
|
|
2118
2580
|
{
|
|
2119
|
-
"name": "sidebar"
|
|
2581
|
+
"name": "sidebar",
|
|
2582
|
+
"description": "Left sidebar body. Renders inline when persistent, inside a drawer when in drawer mode.\n Slot props: `{ isDrawer: boolean }` — true when this invocation is the off-canvas drawer."
|
|
2120
2583
|
},
|
|
2121
2584
|
{
|
|
2122
|
-
"name": "sidebar-footer"
|
|
2585
|
+
"name": "sidebar-footer",
|
|
2586
|
+
"description": "Pinned bottom of the sidebar (e.g. user menu). Renders in the drawer too.\n Slot props: `{ isDrawer: boolean }`."
|
|
2123
2587
|
},
|
|
2124
2588
|
{
|
|
2125
|
-
"name": "main-header"
|
|
2589
|
+
"name": "main-header",
|
|
2590
|
+
"description": "Pinned top of the center column (e.g. breadcrumbs, sub-tabs). Does not scroll."
|
|
2126
2591
|
},
|
|
2127
2592
|
{
|
|
2128
|
-
"name": "default"
|
|
2593
|
+
"name": "default",
|
|
2594
|
+
"description": "Main content. Scrolls inside the content area and receives the default content padding."
|
|
2129
2595
|
},
|
|
2130
2596
|
{
|
|
2131
|
-
"name": "main-footer"
|
|
2597
|
+
"name": "main-footer",
|
|
2598
|
+
"description": "Pinned bottom of the center column (e.g. status bar). Does not scroll."
|
|
2132
2599
|
},
|
|
2133
2600
|
{
|
|
2134
|
-
"name": "aside-header"
|
|
2601
|
+
"name": "aside-header",
|
|
2602
|
+
"description": "Pinned top of the aside (e.g. panel title). Renders in the drawer too.\n Slot props: `{ isDrawer: boolean }`."
|
|
2135
2603
|
},
|
|
2136
2604
|
{
|
|
2137
|
-
"name": "aside"
|
|
2605
|
+
"name": "aside",
|
|
2606
|
+
"description": "Right aside body. Persistent or drawer, mirror of the sidebar on the opposite side.\n Slot props: `{ isDrawer: boolean }` — use to add chrome only when rendering in the drawer."
|
|
2138
2607
|
},
|
|
2139
2608
|
{
|
|
2140
|
-
"name": "aside-footer"
|
|
2609
|
+
"name": "aside-footer",
|
|
2610
|
+
"description": "Pinned bottom of the aside (e.g. action buttons). Renders in the drawer too.\n Slot props: `{ isDrawer: boolean }`."
|
|
2141
2611
|
},
|
|
2142
2612
|
{
|
|
2143
|
-
"name": "footer"
|
|
2613
|
+
"name": "footer",
|
|
2614
|
+
"description": "Bottom-of-page footer."
|
|
2144
2615
|
}
|
|
2145
2616
|
],
|
|
2146
2617
|
"source": {
|
|
@@ -2150,7 +2621,7 @@
|
|
|
2150
2621
|
},
|
|
2151
2622
|
{
|
|
2152
2623
|
"name": "SkPageSidebarToggle",
|
|
2153
|
-
"description": "",
|
|
2624
|
+
"description": "Button that toggles one of SkPage's drawers. Thin wrapper around SkButton -- inherits the\ndesign system's chrome and ghost-variant hover/pressed behavior. Auto-connects to the nearest SkPage\nvia provide/inject, so no wiring is required; hides itself when the targeted panel is persistent.\nUse `side=\"sidebar\"` (default) for the left drawer and `side=\"aside\"` for the right. Default glyph is\na hamburger for the sidebar and a vertical kebab for the aside so both toggles can live in the same\nnavbar without visual collision; override via the default slot if you want something else.\n\n**Example:**\n\nTwin toggles in a navbar\n```vue\n<SkNavBar>\n <template #leading><SkPageSidebarToggle /></template>\n <template #brand>MyApp</template>\n <template #actions><SkPageSidebarToggle side=\"aside\" /></template>\n</SkNavBar>\n```",
|
|
2154
2625
|
"attributes": [
|
|
2155
2626
|
{
|
|
2156
2627
|
"name": "side",
|
|
@@ -2185,7 +2656,8 @@
|
|
|
2185
2656
|
],
|
|
2186
2657
|
"slots": [
|
|
2187
2658
|
{
|
|
2188
|
-
"name": "default"
|
|
2659
|
+
"name": "default",
|
|
2660
|
+
"description": "Custom glyph. Replaces the built-in SVG. Should be inline-sized and inherit\n `currentColor`."
|
|
2189
2661
|
}
|
|
2190
2662
|
],
|
|
2191
2663
|
"source": {
|
|
@@ -2195,8 +2667,17 @@
|
|
|
2195
2667
|
},
|
|
2196
2668
|
{
|
|
2197
2669
|
"name": "SkPagination",
|
|
2198
|
-
"description": "",
|
|
2670
|
+
"description": "A pagination navigation component for splitting content across multiple pages. Automatically\ncalculates page ranges with ellipsis for large page counts and provides first/last and previous/next navigation\nbuttons. Use with `v-model` for two-way binding of the current page number.\n\n**Example:**\n\n```vue\n<SkPagination v-model=\"currentPage\" :total=\"50\" kind=\"primary\" />\n```\n\n**Example:**\n\nMinimal pagination (no first/last buttons)\n```vue\n<SkPagination\n v-model=\"page\"\n :total=\"10\"\n :show-first-last=\"false\"\n variant=\"outline\"\n/>\n```",
|
|
2199
2671
|
"attributes": [
|
|
2672
|
+
{
|
|
2673
|
+
"name": "borderColor",
|
|
2674
|
+
"required": false,
|
|
2675
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
2676
|
+
"value": {
|
|
2677
|
+
"kind": "expression",
|
|
2678
|
+
"type": "string"
|
|
2679
|
+
}
|
|
2680
|
+
},
|
|
2200
2681
|
{
|
|
2201
2682
|
"name": "textColor",
|
|
2202
2683
|
"required": false,
|
|
@@ -2317,7 +2798,7 @@
|
|
|
2317
2798
|
},
|
|
2318
2799
|
{
|
|
2319
2800
|
"name": "SkPaginationItem",
|
|
2320
|
-
"description": "",
|
|
2801
|
+
"description": "An individual pagination button used internally by SkPagination. Renders different content based\non its type: page numbers, navigation arrows, or ellipsis indicators. Inherits styling from the parent\nSkPagination component via Vue's provide/inject. Not typically used directly—use SkPagination instead.\n\n**Example:**\n\n```vue\n<!-- Used internally by SkPagination -->\n<SkPaginationItem type=\"page\" :page=\"5\" :active=\"true\" />\n<SkPaginationItem type=\"prev\" :page=\"4\" />\n<SkPaginationItem type=\"ellipsis\" />\n```",
|
|
2321
2802
|
"attributes": [
|
|
2322
2803
|
{
|
|
2323
2804
|
"name": "page",
|
|
@@ -2372,8 +2853,35 @@
|
|
|
2372
2853
|
},
|
|
2373
2854
|
{
|
|
2374
2855
|
"name": "SkPanel",
|
|
2375
|
-
"description": "",
|
|
2856
|
+
"description": "A foundational container component with beveled corners, borders, background colors, and an optional\ndecorative accent stripe. Panels serve as the base building block for higher-level components like SkCard and\nSkSidebar, providing consistent styling and theming across the design system.\n\n**Example:**\n\n```vue\n<SkPanel kind=\"primary\" size=\"lg\">\n <p>Panel content goes here</p>\n</SkPanel>\n```",
|
|
2376
2857
|
"attributes": [
|
|
2858
|
+
{
|
|
2859
|
+
"name": "borderColor",
|
|
2860
|
+
"required": false,
|
|
2861
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
2862
|
+
"value": {
|
|
2863
|
+
"kind": "expression",
|
|
2864
|
+
"type": "string"
|
|
2865
|
+
}
|
|
2866
|
+
},
|
|
2867
|
+
{
|
|
2868
|
+
"name": "textColor",
|
|
2869
|
+
"required": false,
|
|
2870
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
2871
|
+
"value": {
|
|
2872
|
+
"kind": "expression",
|
|
2873
|
+
"type": "string"
|
|
2874
|
+
}
|
|
2875
|
+
},
|
|
2876
|
+
{
|
|
2877
|
+
"name": "baseColor",
|
|
2878
|
+
"required": false,
|
|
2879
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
2880
|
+
"value": {
|
|
2881
|
+
"kind": "expression",
|
|
2882
|
+
"type": "string"
|
|
2883
|
+
}
|
|
2884
|
+
},
|
|
2377
2885
|
{
|
|
2378
2886
|
"name": "kind",
|
|
2379
2887
|
"required": false,
|
|
@@ -2437,7 +2945,8 @@
|
|
|
2437
2945
|
],
|
|
2438
2946
|
"slots": [
|
|
2439
2947
|
{
|
|
2440
|
-
"name": "default"
|
|
2948
|
+
"name": "default",
|
|
2949
|
+
"description": "The main content of the panel. Accepts any valid Vue content including text, components, or HTML."
|
|
2441
2950
|
}
|
|
2442
2951
|
],
|
|
2443
2952
|
"source": {
|
|
@@ -2447,8 +2956,35 @@
|
|
|
2447
2956
|
},
|
|
2448
2957
|
{
|
|
2449
2958
|
"name": "SkPopover",
|
|
2450
|
-
"description": "",
|
|
2959
|
+
"description": "A floating panel component for displaying rich interactive content anchored to a trigger element.\nCombines tooltip-like positioning with a card-like structure including optional header, body, and footer\nsections. Built on RekaUI's Popover primitive with full accessibility support, smart collision detection,\nand keyboard navigation. Use for contextual menus, confirmations, mini-forms, or any content that benefits\nfrom staying connected to its trigger.\n\n**Example:**\n\n```vue\n<SkPopover title=\"Quick Settings\" kind=\"primary\">\n <template #trigger>\n <SkButton icon><GearIcon /></SkButton>\n </template>\n <SkSwitch v-model=\"darkMode\" label=\"Dark mode\" />\n <SkSwitch v-model=\"notifications\" label=\"Notifications\" />\n <template #footer>\n <SkButton variant=\"ghost\" size=\"sm\">Reset</SkButton>\n <SkButton kind=\"primary\" size=\"sm\">Apply</SkButton>\n </template>\n</SkPopover>\n```",
|
|
2451
2960
|
"attributes": [
|
|
2961
|
+
{
|
|
2962
|
+
"name": "borderColor",
|
|
2963
|
+
"required": false,
|
|
2964
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
2965
|
+
"value": {
|
|
2966
|
+
"kind": "expression",
|
|
2967
|
+
"type": "string"
|
|
2968
|
+
}
|
|
2969
|
+
},
|
|
2970
|
+
{
|
|
2971
|
+
"name": "textColor",
|
|
2972
|
+
"required": false,
|
|
2973
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
2974
|
+
"value": {
|
|
2975
|
+
"kind": "expression",
|
|
2976
|
+
"type": "string"
|
|
2977
|
+
}
|
|
2978
|
+
},
|
|
2979
|
+
{
|
|
2980
|
+
"name": "baseColor",
|
|
2981
|
+
"required": false,
|
|
2982
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
2983
|
+
"value": {
|
|
2984
|
+
"kind": "expression",
|
|
2985
|
+
"type": "string"
|
|
2986
|
+
}
|
|
2987
|
+
},
|
|
2452
2988
|
{
|
|
2453
2989
|
"name": "kind",
|
|
2454
2990
|
"required": false,
|
|
@@ -2537,16 +3073,20 @@
|
|
|
2537
3073
|
],
|
|
2538
3074
|
"slots": [
|
|
2539
3075
|
{
|
|
2540
|
-
"name": "trigger"
|
|
3076
|
+
"name": "trigger",
|
|
3077
|
+
"description": "The element that opens the popover when clicked. Uses `as-child` behavior so your\n trigger element becomes the actual clickable trigger. Required slot."
|
|
2541
3078
|
},
|
|
2542
3079
|
{
|
|
2543
|
-
"name": "header"
|
|
3080
|
+
"name": "header",
|
|
3081
|
+
"description": "Optional header content displayed after the title. Use for additional header elements\n like badges, status indicators, or secondary actions."
|
|
2544
3082
|
},
|
|
2545
3083
|
{
|
|
2546
|
-
"name": "default"
|
|
3084
|
+
"name": "default",
|
|
3085
|
+
"description": "Main body content of the popover. Can include any components, forms, or interactive content.\n Scrolls if content exceeds available space."
|
|
2547
3086
|
},
|
|
2548
3087
|
{
|
|
2549
|
-
"name": "footer"
|
|
3088
|
+
"name": "footer",
|
|
3089
|
+
"description": "Optional footer content, typically for action buttons. Commonly contains Cancel/Confirm\n button pairs or other closing actions."
|
|
2550
3090
|
}
|
|
2551
3091
|
],
|
|
2552
3092
|
"source": {
|
|
@@ -2556,7 +3096,7 @@
|
|
|
2556
3096
|
},
|
|
2557
3097
|
{
|
|
2558
3098
|
"name": "SkProgress",
|
|
2559
|
-
"description": "",
|
|
3099
|
+
"description": "A progress bar component for displaying completion status or loading states. Supports both\ndeterminate mode (showing specific progress percentage) and indeterminate mode (animated loading indicator\nwhen progress is unknown). Built on RekaUI's Progress primitive with beveled corner styling.\n\n**Example:**\n\n```vue\n<SkProgress :value=\"75\" kind=\"primary\" show-value />\n```\n\n**Example:**\n\nIndeterminate loading state\n```vue\n<SkProgress :value=\"null\" kind=\"accent\" />\n```\n\n**Example:**\n\nCustom colors with file upload\n```vue\n<SkProgress\n :value=\"uploadProgress\"\n base-color=\"oklch(0.7 0.2 145)\"\n track-color=\"oklch(0.3 0.05 145)\"\n show-value\n value-position=\"right\"\n/>\n```",
|
|
2560
3100
|
"attributes": [
|
|
2561
3101
|
{
|
|
2562
3102
|
"name": "value",
|
|
@@ -2646,8 +3186,35 @@
|
|
|
2646
3186
|
},
|
|
2647
3187
|
{
|
|
2648
3188
|
"name": "SkRadio",
|
|
2649
|
-
"description": "",
|
|
3189
|
+
"description": "An individual radio button for mutually exclusive selection within a group. Must be used as\na child of SkRadioGroup, which manages the selection state and keyboard navigation. Built on RekaUI's\nRadioGroup primitive with beveled corner styling and full accessibility support.\n\n**Example:**\n\n```vue\n<SkRadioGroup v-model=\"selectedSize\" kind=\"primary\">\n <SkRadio value=\"sm\" label=\"Small\" />\n <SkRadio value=\"md\" label=\"Medium\" />\n <SkRadio value=\"lg\" label=\"Large\" />\n</SkRadioGroup>\n```",
|
|
2650
3190
|
"attributes": [
|
|
3191
|
+
{
|
|
3192
|
+
"name": "borderColor",
|
|
3193
|
+
"required": false,
|
|
3194
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
3195
|
+
"value": {
|
|
3196
|
+
"kind": "expression",
|
|
3197
|
+
"type": "string"
|
|
3198
|
+
}
|
|
3199
|
+
},
|
|
3200
|
+
{
|
|
3201
|
+
"name": "textColor",
|
|
3202
|
+
"required": false,
|
|
3203
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
3204
|
+
"value": {
|
|
3205
|
+
"kind": "expression",
|
|
3206
|
+
"type": "string"
|
|
3207
|
+
}
|
|
3208
|
+
},
|
|
3209
|
+
{
|
|
3210
|
+
"name": "baseColor",
|
|
3211
|
+
"required": false,
|
|
3212
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
3213
|
+
"value": {
|
|
3214
|
+
"kind": "expression",
|
|
3215
|
+
"type": "string"
|
|
3216
|
+
}
|
|
3217
|
+
},
|
|
2651
3218
|
{
|
|
2652
3219
|
"name": "value",
|
|
2653
3220
|
"required": true,
|
|
@@ -2700,7 +3267,8 @@
|
|
|
2700
3267
|
],
|
|
2701
3268
|
"slots": [
|
|
2702
3269
|
{
|
|
2703
|
-
"name": "default"
|
|
3270
|
+
"name": "default",
|
|
3271
|
+
"description": "Custom label content. Overrides the `label` prop when provided, allowing for rich\n formatting, icons, or complex layouts alongside the radio button."
|
|
2704
3272
|
}
|
|
2705
3273
|
],
|
|
2706
3274
|
"source": {
|
|
@@ -2710,7 +3278,7 @@
|
|
|
2710
3278
|
},
|
|
2711
3279
|
{
|
|
2712
3280
|
"name": "SkRadioGroup",
|
|
2713
|
-
"description": "",
|
|
3281
|
+
"description": "A container for SkRadio components that manages exclusive selection state and keyboard\nnavigation. Only one radio option can be selected at a time within a group. Built on RekaUI's\nRadioGroup primitive with full accessibility support including arrow key navigation and focus management.\n\n**Example:**\n\n```vue\n<SkRadioGroup v-model=\"paymentMethod\" kind=\"primary\" orientation=\"vertical\">\n <SkRadio value=\"credit\" label=\"Credit Card\" />\n <SkRadio value=\"debit\" label=\"Debit Card\" />\n <SkRadio value=\"paypal\" label=\"PayPal\" />\n</SkRadioGroup>\n```",
|
|
2714
3282
|
"attributes": [
|
|
2715
3283
|
{
|
|
2716
3284
|
"name": "orientation",
|
|
@@ -2785,7 +3353,8 @@
|
|
|
2785
3353
|
],
|
|
2786
3354
|
"slots": [
|
|
2787
3355
|
{
|
|
2788
|
-
"name": "default"
|
|
3356
|
+
"name": "default",
|
|
3357
|
+
"description": "The SkRadio components that make up the group. Each radio should have a unique\n `value` prop. Other content like labels or descriptions can also be included."
|
|
2789
3358
|
}
|
|
2790
3359
|
],
|
|
2791
3360
|
"source": {
|
|
@@ -2845,7 +3414,7 @@
|
|
|
2845
3414
|
{
|
|
2846
3415
|
"name": "fade",
|
|
2847
3416
|
"required": false,
|
|
2848
|
-
"description": "When true, fade the scrollable edges with a CSS mask so content visibly tapers\ninto/out of the viewport.
|
|
3417
|
+
"description": "When true, fade the scrollable edges with a CSS mask so content visibly tapers\ninto/out of the viewport. Only edges with more content to scroll toward get the\nfade -- the top fade disappears at scrollTop=0, bottom fade at scroll end, etc.\nOverride the fade distance via the `--sk-scroll-area-fade` custom property\n(default 1rem).",
|
|
2849
3418
|
"value": {
|
|
2850
3419
|
"kind": "expression",
|
|
2851
3420
|
"type": "boolean"
|
|
@@ -2865,8 +3434,35 @@
|
|
|
2865
3434
|
},
|
|
2866
3435
|
{
|
|
2867
3436
|
"name": "SkSelect",
|
|
2868
|
-
"description": "",
|
|
3437
|
+
"description": "A simple dropdown select for picking from predefined options. Unlike SkListbox which includes\na search input for filtering, SkSelect provides a clean trigger button that opens a dropdown panel.\nBuilt on RekaUI's Select primitive with full keyboard navigation and portal rendering.\n\n**Example:**\n\n```vue\n<SkSelect v-model=\"selectedCountry\" kind=\"primary\" placeholder=\"Select a country...\">\n <SkSelectItem value=\"us\">United States</SkSelectItem>\n <SkSelectItem value=\"uk\">United Kingdom</SkSelectItem>\n <SkSelectItem value=\"ca\">Canada</SkSelectItem>\n</SkSelect>\n```",
|
|
2869
3438
|
"attributes": [
|
|
3439
|
+
{
|
|
3440
|
+
"name": "borderColor",
|
|
3441
|
+
"required": false,
|
|
3442
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
3443
|
+
"value": {
|
|
3444
|
+
"kind": "expression",
|
|
3445
|
+
"type": "string"
|
|
3446
|
+
}
|
|
3447
|
+
},
|
|
3448
|
+
{
|
|
3449
|
+
"name": "textColor",
|
|
3450
|
+
"required": false,
|
|
3451
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
3452
|
+
"value": {
|
|
3453
|
+
"kind": "expression",
|
|
3454
|
+
"type": "string"
|
|
3455
|
+
}
|
|
3456
|
+
},
|
|
3457
|
+
{
|
|
3458
|
+
"name": "baseColor",
|
|
3459
|
+
"required": false,
|
|
3460
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
3461
|
+
"value": {
|
|
3462
|
+
"kind": "expression",
|
|
3463
|
+
"type": "string"
|
|
3464
|
+
}
|
|
3465
|
+
},
|
|
2870
3466
|
{
|
|
2871
3467
|
"name": "kind",
|
|
2872
3468
|
"required": false,
|
|
@@ -2910,7 +3506,8 @@
|
|
|
2910
3506
|
],
|
|
2911
3507
|
"slots": [
|
|
2912
3508
|
{
|
|
2913
|
-
"name": "default"
|
|
3509
|
+
"name": "default",
|
|
3510
|
+
"description": "SkSelectItem components representing the available options. Use SkSelectSeparator\n to create visual dividers between groups of options."
|
|
2914
3511
|
}
|
|
2915
3512
|
],
|
|
2916
3513
|
"source": {
|
|
@@ -2920,7 +3517,7 @@
|
|
|
2920
3517
|
},
|
|
2921
3518
|
{
|
|
2922
3519
|
"name": "SkSelectItem",
|
|
2923
|
-
"description": "",
|
|
3520
|
+
"description": "A selectable option within an SkSelect dropdown. When selected, the item displays a\ncheckmark indicator and its value is set as the select's v-model. Built on RekaUI's SelectItem\nwith keyboard navigation support.\n\n**Example:**\n\n```vue\n<SkSelect v-model=\"selected\">\n <SkSelectItem value=\"option1\">First Option</SkSelectItem>\n <SkSelectItem value=\"option2\">Second Option</SkSelectItem>\n <SkSelectItem value=\"option3\" disabled>Unavailable Option</SkSelectItem>\n</SkSelect>\n```",
|
|
2924
3521
|
"attributes": [
|
|
2925
3522
|
{
|
|
2926
3523
|
"name": "value",
|
|
@@ -2944,7 +3541,8 @@
|
|
|
2944
3541
|
],
|
|
2945
3542
|
"slots": [
|
|
2946
3543
|
{
|
|
2947
|
-
"name": "default"
|
|
3544
|
+
"name": "default",
|
|
3545
|
+
"description": "The display content for this option. Can be plain text or rich content including\n icons, formatted text, or custom layouts. This is what users see in the dropdown."
|
|
2948
3546
|
}
|
|
2949
3547
|
],
|
|
2950
3548
|
"source": {
|
|
@@ -2954,7 +3552,7 @@
|
|
|
2954
3552
|
},
|
|
2955
3553
|
{
|
|
2956
3554
|
"name": "SkSelectSeparator",
|
|
2957
|
-
"description": "",
|
|
3555
|
+
"description": "A visual divider for organizing options within an SkSelect dropdown. Use to create\nlogical groups of related options without affecting selection behavior. Renders as a horizontal\nline between items with appropriate spacing.\n\n**Example:**\n\n```vue\n<SkSelect v-model=\"selected\">\n <SkSelectItem value=\"recent1\">Recent Document 1</SkSelectItem>\n <SkSelectItem value=\"recent2\">Recent Document 2</SkSelectItem>\n <SkSelectSeparator />\n <SkSelectItem value=\"all\">Browse All Documents...</SkSelectItem>\n</SkSelect>\n```",
|
|
2958
3556
|
"source": {
|
|
2959
3557
|
"module": "./src/components/Select/SkSelectSeparator.vue",
|
|
2960
3558
|
"symbol": "default"
|
|
@@ -2962,8 +3560,35 @@
|
|
|
2962
3560
|
},
|
|
2963
3561
|
{
|
|
2964
3562
|
"name": "SkSidebar",
|
|
2965
|
-
"description": "",
|
|
3563
|
+
"description": "A vertical navigation container designed for persistent page-level navigation. Built on\nSkPanel, it provides a scrollable area with a sticky position that remains visible as users scroll\nthe main content. Organize navigation links using SkSidebarSection for grouped items and SkSidebarItem\nfor individual navigation links.\n\n**Example:**\n\n```vue\n<SkSidebar kind=\"primary\" width=\"200px\">\n <SkSidebarSection title=\"Getting Started\">\n <SkSidebarItem as=\"RouterLink\" to=\"/docs/install\">Installation</SkSidebarItem>\n <SkSidebarItem as=\"RouterLink\" to=\"/docs/usage\">Basic Usage</SkSidebarItem>\n </SkSidebarSection>\n <SkSidebarSection title=\"Components\">\n <SkSidebarItem as=\"RouterLink\" to=\"/docs/button\">Button</SkSidebarItem>\n <SkSidebarItem as=\"RouterLink\" to=\"/docs/input\">Input</SkSidebarItem>\n </SkSidebarSection>\n</SkSidebar>\n```",
|
|
2966
3564
|
"attributes": [
|
|
3565
|
+
{
|
|
3566
|
+
"name": "borderColor",
|
|
3567
|
+
"required": false,
|
|
3568
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
3569
|
+
"value": {
|
|
3570
|
+
"kind": "expression",
|
|
3571
|
+
"type": "string"
|
|
3572
|
+
}
|
|
3573
|
+
},
|
|
3574
|
+
{
|
|
3575
|
+
"name": "textColor",
|
|
3576
|
+
"required": false,
|
|
3577
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
3578
|
+
"value": {
|
|
3579
|
+
"kind": "expression",
|
|
3580
|
+
"type": "string"
|
|
3581
|
+
}
|
|
3582
|
+
},
|
|
3583
|
+
{
|
|
3584
|
+
"name": "baseColor",
|
|
3585
|
+
"required": false,
|
|
3586
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
3587
|
+
"value": {
|
|
3588
|
+
"kind": "expression",
|
|
3589
|
+
"type": "string"
|
|
3590
|
+
}
|
|
3591
|
+
},
|
|
2967
3592
|
{
|
|
2968
3593
|
"name": "kind",
|
|
2969
3594
|
"required": false,
|
|
@@ -3007,7 +3632,8 @@
|
|
|
3007
3632
|
],
|
|
3008
3633
|
"slots": [
|
|
3009
3634
|
{
|
|
3010
|
-
"name": "default"
|
|
3635
|
+
"name": "default",
|
|
3636
|
+
"description": "Container for SkSidebarSection and/or SkSidebarItem components. Content is wrapped\n in a scrollable nav element, allowing long navigation lists to scroll independently\n of the main page content."
|
|
3011
3637
|
}
|
|
3012
3638
|
],
|
|
3013
3639
|
"source": {
|
|
@@ -3017,7 +3643,7 @@
|
|
|
3017
3643
|
},
|
|
3018
3644
|
{
|
|
3019
3645
|
"name": "SkSidebarItem",
|
|
3020
|
-
"description": "",
|
|
3646
|
+
"description": "A navigation link item for use within SkSidebar. Renders as a polymorphic component that\ncan be an anchor tag, Vue Router's RouterLink, a button, or any other element/component. Provides\nconsistent styling with hover and active states that match the parent sidebar's theme.\n\n**Example:**\n\n```vue\n<!-- As a regular anchor -->\n<SkSidebarItem as=\"a\" href=\"/about\">About Us</SkSidebarItem>\n\n<!-- As Vue Router link -->\n<SkSidebarItem as=\"RouterLink\" to=\"/dashboard\" :active=\"route.path === '/dashboard'\">\n Dashboard\n</SkSidebarItem>\n\n<!-- As a button for actions -->\n<SkSidebarItem as=\"button\" @click=\"openSettings\">Settings</SkSidebarItem>\n```",
|
|
3021
3647
|
"attributes": [
|
|
3022
3648
|
{
|
|
3023
3649
|
"name": "as",
|
|
@@ -3042,7 +3668,8 @@
|
|
|
3042
3668
|
],
|
|
3043
3669
|
"slots": [
|
|
3044
3670
|
{
|
|
3045
|
-
"name": "default"
|
|
3671
|
+
"name": "default",
|
|
3672
|
+
"description": "The navigation item's label content. Can be plain text or include icons and badges."
|
|
3046
3673
|
}
|
|
3047
3674
|
],
|
|
3048
3675
|
"source": {
|
|
@@ -3052,7 +3679,7 @@
|
|
|
3052
3679
|
},
|
|
3053
3680
|
{
|
|
3054
3681
|
"name": "SkSidebarSection",
|
|
3055
|
-
"description": "",
|
|
3682
|
+
"description": "A grouping container for organizing related sidebar items under a common heading. Use\nsections to create logical categories in your navigation, such as \"Getting Started\", \"Components\",\nor \"Settings\". The section title appears as a small, muted heading above its items.\n\n**Example:**\n\n```vue\n<SkSidebarSection title=\"Documentation\">\n <SkSidebarItem as=\"RouterLink\" to=\"/docs/intro\">Introduction</SkSidebarItem>\n <SkSidebarItem as=\"RouterLink\" to=\"/docs/install\">Installation</SkSidebarItem>\n <SkSidebarItem as=\"RouterLink\" to=\"/docs/config\">Configuration</SkSidebarItem>\n</SkSidebarSection>\n```",
|
|
3056
3683
|
"attributes": [
|
|
3057
3684
|
{
|
|
3058
3685
|
"name": "title",
|
|
@@ -3066,7 +3693,8 @@
|
|
|
3066
3693
|
],
|
|
3067
3694
|
"slots": [
|
|
3068
3695
|
{
|
|
3069
|
-
"name": "default"
|
|
3696
|
+
"name": "default",
|
|
3697
|
+
"description": "Container for SkSidebarItem components. Items are rendered as a vertical list\n below the section title (if provided)."
|
|
3070
3698
|
}
|
|
3071
3699
|
],
|
|
3072
3700
|
"source": {
|
|
@@ -3076,7 +3704,7 @@
|
|
|
3076
3704
|
},
|
|
3077
3705
|
{
|
|
3078
3706
|
"name": "SkSkeleton",
|
|
3079
|
-
"description": "",
|
|
3707
|
+
"description": "A loading placeholder component that displays animated shapes to indicate content is being fetched.\nSkeletons improve perceived performance by showing users the expected layout before data arrives. Supports\nmultiple shape variants (text, rectangular, circular, square) with customizable dimensions and beveled corners\nto match the design system aesthetic.\n\n**Example:**\n\n```vue\n<!-- Text placeholder -->\n<SkSkeleton variant=\"text\" width=\"200px\" />\n\n<!-- Avatar placeholder -->\n<SkSkeleton variant=\"circular\" width=\"48px\" />\n\n<!-- Card image placeholder with beveled corners -->\n<SkSkeleton\n variant=\"rectangular\"\n width=\"100%\"\n height=\"200px\"\n :corners=\"['top-left', 'top-right']\"\n/>\n```\n\n**Example:**\n\nLoading card skeleton\n```vue\n<SkCard>\n <template #media>\n <SkSkeleton variant=\"rectangular\" height=\"180px\" />\n </template>\n <SkSkeleton variant=\"text\" width=\"70%\" />\n <SkSkeleton variant=\"text\" width=\"100%\" />\n <SkSkeleton variant=\"text\" width=\"40%\" />\n</SkCard>\n```",
|
|
3080
3708
|
"attributes": [
|
|
3081
3709
|
{
|
|
3082
3710
|
"name": "variant",
|
|
@@ -3146,7 +3774,7 @@
|
|
|
3146
3774
|
},
|
|
3147
3775
|
{
|
|
3148
3776
|
"name": "SkSlider",
|
|
3149
|
-
"description": "",
|
|
3777
|
+
"description": "A range slider component for selecting numeric values within a defined range. Supports both\nsingle-value selection and multi-thumb range selection modes. Built on RekaUI's Slider primitive with\nfull keyboard accessibility, beveled styling, and horizontal or vertical orientation.\n\n**Example:**\n\n```vue\n<!-- Single value slider -->\n<SkSlider v-model=\"volume\" :min=\"0\" :max=\"100\" kind=\"primary\" />\n\n<!-- Range slider with two thumbs -->\n<SkSlider v-model=\"priceRange\" :min=\"0\" :max=\"1000\" :step=\"10\" />\n```",
|
|
3150
3778
|
"attributes": [
|
|
3151
3779
|
{
|
|
3152
3780
|
"name": "modelValue",
|
|
@@ -3280,7 +3908,7 @@
|
|
|
3280
3908
|
},
|
|
3281
3909
|
{
|
|
3282
3910
|
"name": "SkSpinner",
|
|
3283
|
-
"description": "",
|
|
3911
|
+
"description": "An animated loading indicator component with multiple visual variants. Use spinners to indicate\nthat content is loading or an action is in progress. The component includes appropriate ARIA attributes\n(role=\"status\", aria-live=\"polite\") for screen reader accessibility.\n\n**Example:**\n\n```vue\n<SkSpinner kind=\"primary\" />\n```\n\n**Example:**\n\nDifferent variants\n```vue\n<SkSpinner variant=\"circular\" />\n<SkSpinner variant=\"dots\" />\n<SkSpinner variant=\"crosshair\" />\n```\n\n**Example:**\n\nLoading button state\n```vue\n<SkButton :disabled=\"loading\">\n <SkSpinner v-if=\"loading\" size=\"sm\" color=\"currentColor\" />\n <span v-else>Submit</span>\n</SkButton>\n```",
|
|
3284
3912
|
"attributes": [
|
|
3285
3913
|
{
|
|
3286
3914
|
"name": "kind",
|
|
@@ -3460,8 +4088,35 @@
|
|
|
3460
4088
|
},
|
|
3461
4089
|
{
|
|
3462
4090
|
"name": "SkSwitch",
|
|
3463
|
-
"description": "",
|
|
4091
|
+
"description": "A toggle switch component for binary on/off choices. Built on RekaUI's Switch primitive with\nfull keyboard accessibility (Space/Enter to toggle). Supports dynamic labels that animate when the state\nchanges and separate theming for the track and thumb. Use with `v-model` for two-way binding.\n\n**Example:**\n\n```vue\n<SkSwitch v-model=\"enabled\" label=\"Enable notifications\" />\n<SkSwitch v-model=\"darkMode\" label-on=\"Dark\" label-off=\"Light\" kind=\"primary\" />\n<SkSwitch v-model=\"premium\" base-color=\"oklch(0.7 0.25 45)\" label=\"Premium\" />\n```",
|
|
3464
4092
|
"attributes": [
|
|
4093
|
+
{
|
|
4094
|
+
"name": "borderColor",
|
|
4095
|
+
"required": false,
|
|
4096
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
4097
|
+
"value": {
|
|
4098
|
+
"kind": "expression",
|
|
4099
|
+
"type": "string"
|
|
4100
|
+
}
|
|
4101
|
+
},
|
|
4102
|
+
{
|
|
4103
|
+
"name": "textColor",
|
|
4104
|
+
"required": false,
|
|
4105
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
4106
|
+
"value": {
|
|
4107
|
+
"kind": "expression",
|
|
4108
|
+
"type": "string"
|
|
4109
|
+
}
|
|
4110
|
+
},
|
|
4111
|
+
{
|
|
4112
|
+
"name": "baseColor",
|
|
4113
|
+
"required": false,
|
|
4114
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
4115
|
+
"value": {
|
|
4116
|
+
"kind": "expression",
|
|
4117
|
+
"type": "string"
|
|
4118
|
+
}
|
|
4119
|
+
},
|
|
3465
4120
|
{
|
|
3466
4121
|
"name": "modelValue",
|
|
3467
4122
|
"required": true,
|
|
@@ -3589,13 +4244,16 @@
|
|
|
3589
4244
|
],
|
|
3590
4245
|
"slots": [
|
|
3591
4246
|
{
|
|
3592
|
-
"name": "default"
|
|
4247
|
+
"name": "default",
|
|
4248
|
+
"description": "Custom label content that overrides all label props. Use for complex labels with icons."
|
|
3593
4249
|
},
|
|
3594
4250
|
{
|
|
3595
|
-
"name": "label-on"
|
|
4251
|
+
"name": "label-on",
|
|
4252
|
+
"description": "Custom content for the \"on\" state label. Overrides `labelOn` prop when provided."
|
|
3596
4253
|
},
|
|
3597
4254
|
{
|
|
3598
|
-
"name": "label-off"
|
|
4255
|
+
"name": "label-off",
|
|
4256
|
+
"description": "Custom content for the \"off\" state label. Overrides `labelOff` prop when provided."
|
|
3599
4257
|
}
|
|
3600
4258
|
],
|
|
3601
4259
|
"source": {
|
|
@@ -3605,7 +4263,7 @@
|
|
|
3605
4263
|
},
|
|
3606
4264
|
{
|
|
3607
4265
|
"name": "SkTab",
|
|
3608
|
-
"description": "",
|
|
4266
|
+
"description": "An individual tab trigger button used within `SkTabList` to switch between tab panels.\nClicking a tab activates the corresponding `SkTabPanel` with a matching `name`. Supports keyboard\nnavigation (arrow keys), focus management, and disabled states.\n\n**Example:**\n\n```vue\n<SkTabList>\n <SkTab name=\"files\" label=\"Files\" />\n <SkTab name=\"settings\" kind=\"accent\">\n <template #icon><GearIcon /></template>\n Settings\n </SkTab>\n <SkTab name=\"help\" disabled>Help</SkTab>\n</SkTabList>\n```",
|
|
3609
4267
|
"attributes": [
|
|
3610
4268
|
{
|
|
3611
4269
|
"name": "name",
|
|
@@ -3649,10 +4307,12 @@
|
|
|
3649
4307
|
],
|
|
3650
4308
|
"slots": [
|
|
3651
4309
|
{
|
|
3652
|
-
"name": "icon"
|
|
4310
|
+
"name": "icon",
|
|
4311
|
+
"description": "Optional icon displayed before the tab label. Useful for visual indicators."
|
|
3653
4312
|
},
|
|
3654
4313
|
{
|
|
3655
|
-
"name": "default"
|
|
4314
|
+
"name": "default",
|
|
4315
|
+
"description": "Custom tab label content. Overrides the `label` prop when provided."
|
|
3656
4316
|
}
|
|
3657
4317
|
],
|
|
3658
4318
|
"source": {
|
|
@@ -3662,7 +4322,7 @@
|
|
|
3662
4322
|
},
|
|
3663
4323
|
{
|
|
3664
4324
|
"name": "SkTabList",
|
|
3665
|
-
"description": "",
|
|
4325
|
+
"description": "A container component that holds and arranges `SkTab` trigger buttons. Provides the visual\ntab bar with appropriate ARIA `tablist` role. The orientation determines whether tabs are arranged\nhorizontally (row) or vertically (column) and affects keyboard navigation direction.\n\n**Example:**\n\n```vue\n<SkTabs v-model=\"activeTab\">\n <SkTabList>\n <SkTab name=\"tab1\">First Tab</SkTab>\n <SkTab name=\"tab2\">Second Tab</SkTab>\n </SkTabList>\n <SkTabPanels>\n <!-- Panels here -->\n </SkTabPanels>\n</SkTabs>\n```",
|
|
3666
4326
|
"attributes": [
|
|
3667
4327
|
{
|
|
3668
4328
|
"name": "orientation",
|
|
@@ -3677,7 +4337,8 @@
|
|
|
3677
4337
|
],
|
|
3678
4338
|
"slots": [
|
|
3679
4339
|
{
|
|
3680
|
-
"name": "default"
|
|
4340
|
+
"name": "default",
|
|
4341
|
+
"description": "Contains `SkTab` components that make up the tab triggers."
|
|
3681
4342
|
}
|
|
3682
4343
|
],
|
|
3683
4344
|
"source": {
|
|
@@ -3687,7 +4348,7 @@
|
|
|
3687
4348
|
},
|
|
3688
4349
|
{
|
|
3689
4350
|
"name": "SkTabPanel",
|
|
3690
|
-
"description": "",
|
|
4351
|
+
"description": "A content container that displays when its corresponding `SkTab` is active. The panel is\nautomatically shown or hidden based on the active tab state in the parent `SkTabs`. By default, inactive\npanels are unmounted from the DOM to improve performance; use `keepAlive` to preserve state.\n\n**Example:**\n\n```vue\n<SkTabPanels>\n <SkTabPanel name=\"overview\">\n <h2>Overview</h2>\n <p>Welcome to the overview section.</p>\n </SkTabPanel>\n <SkTabPanel name=\"form\" keep-alive>\n <!-- Form state preserved when switching tabs -->\n <FormComponent />\n </SkTabPanel>\n</SkTabPanels>\n```",
|
|
3691
4352
|
"attributes": [
|
|
3692
4353
|
{
|
|
3693
4354
|
"name": "name",
|
|
@@ -3711,7 +4372,8 @@
|
|
|
3711
4372
|
],
|
|
3712
4373
|
"slots": [
|
|
3713
4374
|
{
|
|
3714
|
-
"name": "default"
|
|
4375
|
+
"name": "default",
|
|
4376
|
+
"description": "The content to display when this panel's tab is active."
|
|
3715
4377
|
}
|
|
3716
4378
|
],
|
|
3717
4379
|
"source": {
|
|
@@ -3721,10 +4383,11 @@
|
|
|
3721
4383
|
},
|
|
3722
4384
|
{
|
|
3723
4385
|
"name": "SkTabPanels",
|
|
3724
|
-
"description": "",
|
|
4386
|
+
"description": "A container component that groups `SkTabPanel` components together. Provides semantic structure\nand consistent styling for the content area of a tabbed interface. While technically optional, using this\nwrapper ensures proper layout and spacing between the tab list and content panels.\n\n**Example:**\n\n```vue\n<SkTabs v-model=\"activeTab\">\n <SkTabList>\n <SkTab name=\"a\">Tab A</SkTab>\n <SkTab name=\"b\">Tab B</SkTab>\n </SkTabList>\n <SkTabPanels>\n <SkTabPanel name=\"a\">Content for Tab A</SkTabPanel>\n <SkTabPanel name=\"b\">Content for Tab B</SkTabPanel>\n </SkTabPanels>\n</SkTabs>\n```",
|
|
3725
4387
|
"slots": [
|
|
3726
4388
|
{
|
|
3727
|
-
"name": "default"
|
|
4389
|
+
"name": "default",
|
|
4390
|
+
"description": "Contains `SkTabPanel` components, one for each tab in the interface."
|
|
3728
4391
|
}
|
|
3729
4392
|
],
|
|
3730
4393
|
"source": {
|
|
@@ -3734,8 +4397,35 @@
|
|
|
3734
4397
|
},
|
|
3735
4398
|
{
|
|
3736
4399
|
"name": "SkTable",
|
|
3737
|
-
"description": "",
|
|
4400
|
+
"description": "A flexible data table component with beveled corner styling and extensive visual customization.\nUse SkTable as a wrapper around standard HTML table elements (`<thead>`, `<tbody>`, `<tr>`, `<th>`, `<td>`).\nSupports row striping, hover highlighting, configurable borders, and adapts to both light and dark backgrounds.\n\n**Example:**\n\n```vue\n<SkTable striped hoverable>\n <thead>\n <tr><th>Name</th><th>Status</th></tr>\n </thead>\n <tbody>\n <tr><td>Item 1</td><td>Active</td></tr>\n <tr><td>Item 2</td><td>Pending</td></tr>\n </tbody>\n</SkTable>\n```",
|
|
3738
4401
|
"attributes": [
|
|
4402
|
+
{
|
|
4403
|
+
"name": "borderColor",
|
|
4404
|
+
"required": false,
|
|
4405
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
4406
|
+
"value": {
|
|
4407
|
+
"kind": "expression",
|
|
4408
|
+
"type": "string"
|
|
4409
|
+
}
|
|
4410
|
+
},
|
|
4411
|
+
{
|
|
4412
|
+
"name": "textColor",
|
|
4413
|
+
"required": false,
|
|
4414
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
4415
|
+
"value": {
|
|
4416
|
+
"kind": "expression",
|
|
4417
|
+
"type": "string"
|
|
4418
|
+
}
|
|
4419
|
+
},
|
|
4420
|
+
{
|
|
4421
|
+
"name": "baseColor",
|
|
4422
|
+
"required": false,
|
|
4423
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
4424
|
+
"value": {
|
|
4425
|
+
"kind": "expression",
|
|
4426
|
+
"type": "string"
|
|
4427
|
+
}
|
|
4428
|
+
},
|
|
3739
4429
|
{
|
|
3740
4430
|
"name": "kind",
|
|
3741
4431
|
"required": false,
|
|
@@ -3819,7 +4509,8 @@
|
|
|
3819
4509
|
],
|
|
3820
4510
|
"slots": [
|
|
3821
4511
|
{
|
|
3822
|
-
"name": "default"
|
|
4512
|
+
"name": "default",
|
|
4513
|
+
"description": "Standard HTML table content including `<thead>`, `<tbody>`, `<tfoot>`, `<tr>`, `<th>`,\n and `<td>` elements."
|
|
3823
4514
|
}
|
|
3824
4515
|
],
|
|
3825
4516
|
"source": {
|
|
@@ -3829,8 +4520,35 @@
|
|
|
3829
4520
|
},
|
|
3830
4521
|
{
|
|
3831
4522
|
"name": "SkTabs",
|
|
3832
|
-
"description": "",
|
|
4523
|
+
"description": "A tabbed interface component for organizing content into switchable panels. Built on RekaUI's\nTabs primitive with full keyboard navigation (arrow keys, Home, End) and ARIA tab pattern compliance.\nUse with `v-model` to control the active tab programmatically.\n\n**Example:**\n\n```vue\n<SkTabs v-model=\"activeTab\" kind=\"primary\">\n <SkTabList>\n <SkTab name=\"overview\">Overview</SkTab>\n <SkTab name=\"details\">Details</SkTab>\n </SkTabList>\n <SkTabPanels>\n <SkTabPanel name=\"overview\">Overview content here</SkTabPanel>\n <SkTabPanel name=\"details\">Details content here</SkTabPanel>\n </SkTabPanels>\n</SkTabs>\n```",
|
|
3833
4524
|
"attributes": [
|
|
4525
|
+
{
|
|
4526
|
+
"name": "borderColor",
|
|
4527
|
+
"required": false,
|
|
4528
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
4529
|
+
"value": {
|
|
4530
|
+
"kind": "expression",
|
|
4531
|
+
"type": "string"
|
|
4532
|
+
}
|
|
4533
|
+
},
|
|
4534
|
+
{
|
|
4535
|
+
"name": "textColor",
|
|
4536
|
+
"required": false,
|
|
4537
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
4538
|
+
"value": {
|
|
4539
|
+
"kind": "expression",
|
|
4540
|
+
"type": "string"
|
|
4541
|
+
}
|
|
4542
|
+
},
|
|
4543
|
+
{
|
|
4544
|
+
"name": "baseColor",
|
|
4545
|
+
"required": false,
|
|
4546
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
4547
|
+
"value": {
|
|
4548
|
+
"kind": "expression",
|
|
4549
|
+
"type": "string"
|
|
4550
|
+
}
|
|
4551
|
+
},
|
|
3834
4552
|
{
|
|
3835
4553
|
"name": "modelValue",
|
|
3836
4554
|
"required": true,
|
|
@@ -3888,7 +4606,8 @@
|
|
|
3888
4606
|
],
|
|
3889
4607
|
"slots": [
|
|
3890
4608
|
{
|
|
3891
|
-
"name": "default"
|
|
4609
|
+
"name": "default",
|
|
4610
|
+
"description": "Contains `SkTabList` and `SkTabPanels` components that make up the tabbed interface."
|
|
3892
4611
|
}
|
|
3893
4612
|
],
|
|
3894
4613
|
"source": {
|
|
@@ -3898,8 +4617,35 @@
|
|
|
3898
4617
|
},
|
|
3899
4618
|
{
|
|
3900
4619
|
"name": "SkTag",
|
|
3901
|
-
"description": "",
|
|
4620
|
+
"description": "A compact label component for displaying metadata, categories, or status information. Tags are\nideal for showing keywords, filter chips, selected items in multi-selects, or status indicators. Supports\nfour visual variants (solid, outline, subtle, ghost) and optional removable functionality with a dismiss button.\n\n**Example:**\n\n```vue\n<SkTag kind=\"primary\">Featured</SkTag>\n<SkTag kind=\"success\" removable @remove=\"handleRemove\">Active</SkTag>\n```",
|
|
3902
4621
|
"attributes": [
|
|
4622
|
+
{
|
|
4623
|
+
"name": "borderColor",
|
|
4624
|
+
"required": false,
|
|
4625
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
4626
|
+
"value": {
|
|
4627
|
+
"kind": "expression",
|
|
4628
|
+
"type": "string"
|
|
4629
|
+
}
|
|
4630
|
+
},
|
|
4631
|
+
{
|
|
4632
|
+
"name": "textColor",
|
|
4633
|
+
"required": false,
|
|
4634
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
4635
|
+
"value": {
|
|
4636
|
+
"kind": "expression",
|
|
4637
|
+
"type": "string"
|
|
4638
|
+
}
|
|
4639
|
+
},
|
|
4640
|
+
{
|
|
4641
|
+
"name": "baseColor",
|
|
4642
|
+
"required": false,
|
|
4643
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
4644
|
+
"value": {
|
|
4645
|
+
"kind": "expression",
|
|
4646
|
+
"type": "string"
|
|
4647
|
+
}
|
|
4648
|
+
},
|
|
3903
4649
|
{
|
|
3904
4650
|
"name": "kind",
|
|
3905
4651
|
"required": false,
|
|
@@ -3948,7 +4694,8 @@
|
|
|
3948
4694
|
],
|
|
3949
4695
|
"slots": [
|
|
3950
4696
|
{
|
|
3951
|
-
"name": "default"
|
|
4697
|
+
"name": "default",
|
|
4698
|
+
"description": "The tag label content. Can include text, icons, or any inline elements."
|
|
3952
4699
|
}
|
|
3953
4700
|
],
|
|
3954
4701
|
"source": {
|
|
@@ -3958,8 +4705,35 @@
|
|
|
3958
4705
|
},
|
|
3959
4706
|
{
|
|
3960
4707
|
"name": "SkTagsInput",
|
|
3961
|
-
"description": "",
|
|
4708
|
+
"description": "A multi-value tag input for collecting lists of string values. Users add tags by typing\nand pressing Enter (or pasting multiple values), and remove them by clicking the delete button or\npressing Backspace. Built on RekaUI's TagsInput primitive with full keyboard accessibility.\n\n**Example:**\n\n```vue\n<SkTagsInput\n v-model=\"skills\"\n kind=\"primary\"\n placeholder=\"Add a skill...\"\n :max=\"10\"\n/>\n```",
|
|
3962
4709
|
"attributes": [
|
|
4710
|
+
{
|
|
4711
|
+
"name": "borderColor",
|
|
4712
|
+
"required": false,
|
|
4713
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
4714
|
+
"value": {
|
|
4715
|
+
"kind": "expression",
|
|
4716
|
+
"type": "string"
|
|
4717
|
+
}
|
|
4718
|
+
},
|
|
4719
|
+
{
|
|
4720
|
+
"name": "textColor",
|
|
4721
|
+
"required": false,
|
|
4722
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
4723
|
+
"value": {
|
|
4724
|
+
"kind": "expression",
|
|
4725
|
+
"type": "string"
|
|
4726
|
+
}
|
|
4727
|
+
},
|
|
4728
|
+
{
|
|
4729
|
+
"name": "baseColor",
|
|
4730
|
+
"required": false,
|
|
4731
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
4732
|
+
"value": {
|
|
4733
|
+
"kind": "expression",
|
|
4734
|
+
"type": "string"
|
|
4735
|
+
}
|
|
4736
|
+
},
|
|
3963
4737
|
{
|
|
3964
4738
|
"name": "kind",
|
|
3965
4739
|
"required": false,
|
|
@@ -4048,8 +4822,35 @@
|
|
|
4048
4822
|
},
|
|
4049
4823
|
{
|
|
4050
4824
|
"name": "SkTextarea",
|
|
4051
|
-
"description": "",
|
|
4825
|
+
"description": "A multiline text input component for longer form content like descriptions, comments, or messages.\nFeatures semantic color theming, validation state support, and configurable height via the rows prop.\nIntegrates with SkField for labels and error messages. Use with `v-model` for two-way data binding.\n\n**Example:**\n\n```vue\n<SkTextarea v-model=\"description\" placeholder=\"Enter a description...\" :rows=\"6\" />\n<SkTextarea v-model=\"notes\" kind=\"primary\" size=\"lg\" />\n<SkField label=\"Bio\" :error=\"errors.bio\">\n <SkTextarea v-model=\"bio\" name=\"bio\" :rows=\"4\" />\n</SkField>\n```",
|
|
4052
4826
|
"attributes": [
|
|
4827
|
+
{
|
|
4828
|
+
"name": "borderColor",
|
|
4829
|
+
"required": false,
|
|
4830
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
4831
|
+
"value": {
|
|
4832
|
+
"kind": "expression",
|
|
4833
|
+
"type": "string"
|
|
4834
|
+
}
|
|
4835
|
+
},
|
|
4836
|
+
{
|
|
4837
|
+
"name": "textColor",
|
|
4838
|
+
"required": false,
|
|
4839
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
4840
|
+
"value": {
|
|
4841
|
+
"kind": "expression",
|
|
4842
|
+
"type": "string"
|
|
4843
|
+
}
|
|
4844
|
+
},
|
|
4845
|
+
{
|
|
4846
|
+
"name": "baseColor",
|
|
4847
|
+
"required": false,
|
|
4848
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
4849
|
+
"value": {
|
|
4850
|
+
"kind": "expression",
|
|
4851
|
+
"type": "string"
|
|
4852
|
+
}
|
|
4853
|
+
},
|
|
4053
4854
|
{
|
|
4054
4855
|
"name": "kind",
|
|
4055
4856
|
"required": false,
|
|
@@ -4148,7 +4949,7 @@
|
|
|
4148
4949
|
},
|
|
4149
4950
|
{
|
|
4150
4951
|
"name": "SkTheme",
|
|
4151
|
-
"description": "",
|
|
4952
|
+
"description": "A theme provider component that establishes the color scheme context for all child components.\nPlace SkTheme at the root of your application or wrap specific sections to apply different themes.\nThe component sets the `data-scheme` attribute and provides theme context to portal components\n(SkDropdown, SkModal, SkTooltip, etc.) so they render with correct colors even when portaled to the body.\n\n**Example:**\n\n```vue\n<SkTheme theme=\"colorful\">\n <SkButton kind=\"primary\">Themed Button</SkButton>\n <SkDropdown trigger-text=\"Menu\">\n <SkDropdownMenuItem>Item 1</SkDropdownMenuItem>\n </SkDropdown>\n</SkTheme>\n```",
|
|
4152
4953
|
"attributes": [
|
|
4153
4954
|
{
|
|
4154
4955
|
"name": "theme",
|
|
@@ -4163,7 +4964,8 @@
|
|
|
4163
4964
|
],
|
|
4164
4965
|
"slots": [
|
|
4165
4966
|
{
|
|
4166
|
-
"name": "default"
|
|
4967
|
+
"name": "default",
|
|
4968
|
+
"description": "All application content that should inherit this theme context. Nested SkTheme components\n can override the theme for subsections of the UI."
|
|
4167
4969
|
}
|
|
4168
4970
|
],
|
|
4169
4971
|
"source": {
|
|
@@ -4173,7 +4975,7 @@
|
|
|
4173
4975
|
},
|
|
4174
4976
|
{
|
|
4175
4977
|
"name": "SkToast",
|
|
4176
|
-
"description": "",
|
|
4978
|
+
"description": "Internal toast notification component used by SkToastProvider. This component renders individual\ntoast messages with an icon, title, message, and optional close button. Built on RekaUI's Toast primitive\nwith semantic color variants and auto-dismiss functionality. Not exported directly - use the `useToast()`\ncomposable to create toasts programmatically.\n\n**Example:**\n\n```vue\n<!-- Used internally by SkToastProvider - do not use directly -->\n<SkToast\n id=\"toast-1\"\n kind=\"success\"\n title=\"Success!\"\n message=\"Your changes have been saved.\"\n :duration=\"5000\"\n :closable=\"true\"\n @dismiss=\"handleDismiss\"\n/>\n```",
|
|
4177
4979
|
"attributes": [
|
|
4178
4980
|
{
|
|
4179
4981
|
"name": "id",
|
|
@@ -4242,7 +5044,7 @@
|
|
|
4242
5044
|
},
|
|
4243
5045
|
{
|
|
4244
5046
|
"name": "SkToastProvider",
|
|
4245
|
-
"description": "",
|
|
5047
|
+
"description": "Toast notification system provider that manages and displays toast messages. Wrap your application\n(or a section of it) with this component to enable toast notifications. Use the `useToast()` composable from\nanywhere within the provider tree to show notifications programmatically. Supports swipe-to-dismiss, keyboard\nnavigation, and configurable positioning.\n\n**Example:**\n\n```vue\n<!-- In your App.vue or layout component -->\n<SkTheme>\n <SkToastProvider position=\"bottom-right\" :duration=\"5000\">\n <RouterView />\n </SkToastProvider>\n</SkTheme>\n```\n\n**Example:**\n\nUsing the toast API in any child component\n```ts\nimport { useToast } from 'sleekspace-ui';\n\nconst toast = useToast();\ntoast.add({ kind: 'success', message: 'Settings saved!' });\n```",
|
|
4246
5048
|
"attributes": [
|
|
4247
5049
|
{
|
|
4248
5050
|
"name": "position",
|
|
@@ -4297,7 +5099,8 @@
|
|
|
4297
5099
|
],
|
|
4298
5100
|
"slots": [
|
|
4299
5101
|
{
|
|
4300
|
-
"name": "default"
|
|
5102
|
+
"name": "default",
|
|
5103
|
+
"description": "Your application content. All child components can access the toast API via useToast()."
|
|
4301
5104
|
}
|
|
4302
5105
|
],
|
|
4303
5106
|
"source": {
|
|
@@ -4478,8 +5281,35 @@
|
|
|
4478
5281
|
},
|
|
4479
5282
|
{
|
|
4480
5283
|
"name": "SkTooltip",
|
|
4481
|
-
"description": "",
|
|
5284
|
+
"description": "A tooltip component for displaying contextual hints on hover or focus. Built on RekaUI's Tooltip\nprimitive with beveled corner styling and full accessibility support. Works standalone with its own timing,\nor wrap multiple tooltips in SkTooltipProvider for coordinated \"skip delay\" behavior where moving quickly\nbetween tooltips shows them instantly.\n\n**Example:**\n\n```vue\n<SkTooltip side=\"right\" kind=\"primary\">\n <template #trigger>\n <SkButton icon>?</SkButton>\n </template>\n Click here to learn more about this feature.\n</SkTooltip>\n```",
|
|
4482
5285
|
"attributes": [
|
|
5286
|
+
{
|
|
5287
|
+
"name": "borderColor",
|
|
5288
|
+
"required": false,
|
|
5289
|
+
"description": "Border color for the component. Accepts the same kind names and CSS color values as\n`baseColor`. Only honoured by components that render a visible border (panels, cards,\ninputs, etc.); ignored elsewhere.",
|
|
5290
|
+
"value": {
|
|
5291
|
+
"kind": "expression",
|
|
5292
|
+
"type": "string"
|
|
5293
|
+
}
|
|
5294
|
+
},
|
|
5295
|
+
{
|
|
5296
|
+
"name": "textColor",
|
|
5297
|
+
"required": false,
|
|
5298
|
+
"description": "Text/foreground color for the component. Accepts the same kind names and CSS color values\nas `baseColor`. If not provided, falls back to the theme's neutral text color for legibility\non arbitrary custom backgrounds.",
|
|
5299
|
+
"value": {
|
|
5300
|
+
"kind": "expression",
|
|
5301
|
+
"type": "string"
|
|
5302
|
+
}
|
|
5303
|
+
},
|
|
5304
|
+
{
|
|
5305
|
+
"name": "baseColor",
|
|
5306
|
+
"required": false,
|
|
5307
|
+
"description": "Base color for the component. Accepts either:\n- A SleekSpace kind name: `\"neutral\"`, `\"primary\"`, `\"accent\"`, `\"info\"`, `\"success\"`,\n `\"warning\"`, `\"danger\"`, `\"neon-blue\"`, `\"light-blue\"`, `\"neon-orange\"`,\n `\"neon-purple\"`, `\"neon-green\"`, `\"neon-mint\"`, `\"neon-pink\"`, `\"yellow\"`, `\"red\"`,\n `\"boulder\"` — resolves to the matching `--sk-<kind>-base` token.\n- Any CSS color value: hex (`\"#8B5CF6\"`), oklch (`\"oklch(0.7 0.25 300)\"`),\n rgb/hsl (`\"rgb(139, 92, 246)\"`), a CSS variable (`\"var(--my-color)\"`), or a\n named color (`\"rebeccapurple\"`).\n\nWhen provided, this overrides the color from the `kind` prop.",
|
|
5308
|
+
"value": {
|
|
5309
|
+
"kind": "expression",
|
|
5310
|
+
"type": "string"
|
|
5311
|
+
}
|
|
5312
|
+
},
|
|
4483
5313
|
{
|
|
4484
5314
|
"name": "kind",
|
|
4485
5315
|
"required": false,
|
|
@@ -4553,10 +5383,12 @@
|
|
|
4553
5383
|
],
|
|
4554
5384
|
"slots": [
|
|
4555
5385
|
{
|
|
4556
|
-
"name": "trigger"
|
|
5386
|
+
"name": "trigger",
|
|
5387
|
+
"description": "The element that triggers the tooltip on hover/focus. Use `as-child` behavior - the trigger\n slot content becomes the actual trigger element. Required slot."
|
|
4557
5388
|
},
|
|
4558
5389
|
{
|
|
4559
|
-
"name": "default"
|
|
5390
|
+
"name": "default",
|
|
5391
|
+
"description": "The tooltip content to display. Can include text, formatted content, or simple components.\n Keep content brief for tooltips; use SkPopover for richer interactions."
|
|
4560
5392
|
}
|
|
4561
5393
|
],
|
|
4562
5394
|
"source": {
|
|
@@ -4566,7 +5398,7 @@
|
|
|
4566
5398
|
},
|
|
4567
5399
|
{
|
|
4568
5400
|
"name": "SkTooltipProvider",
|
|
4569
|
-
"description": "",
|
|
5401
|
+
"description": "Provider component that enables coordinated tooltip behavior across all child SkTooltip instances.\nWhen tooltips share a provider, they gain \"skip delay\" functionality - users can quickly move between tooltips\nwithout waiting for the delay each time. Also centralizes configuration like delay duration and accessibility\noptions. Optional but recommended for apps with multiple tooltips.\n\n**Example:**\n\n```vue\n<template>\n <SkTheme theme=\"colorful\">\n <SkTooltipProvider :delay-duration=\"300\" :skip-delay-duration=\"100\">\n <RouterView />\n </SkTooltipProvider>\n </SkTheme>\n</template>\n```",
|
|
4570
5402
|
"attributes": [
|
|
4571
5403
|
{
|
|
4572
5404
|
"name": "delayDuration",
|
|
@@ -4631,7 +5463,8 @@
|
|
|
4631
5463
|
],
|
|
4632
5464
|
"slots": [
|
|
4633
5465
|
{
|
|
4634
|
-
"name": "default"
|
|
5466
|
+
"name": "default",
|
|
5467
|
+
"description": "Your application content containing SkTooltip components. All descendant tooltips\n will share the provider's timing and behavior configuration."
|
|
4635
5468
|
}
|
|
4636
5469
|
],
|
|
4637
5470
|
"source": {
|
|
@@ -4788,4 +5621,4 @@
|
|
|
4788
5621
|
]
|
|
4789
5622
|
}
|
|
4790
5623
|
}
|
|
4791
|
-
}
|
|
5624
|
+
}
|