@skewedaspect/sleekspace-ui 0.9.0 → 0.10.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.
Files changed (210) hide show
  1. package/dist/components/Accordion/context.d.ts +4 -0
  2. package/dist/components/Autocomplete/SkAutocomplete.vue.d.ts +87 -0
  3. package/dist/components/Autocomplete/SkAutocompleteEmpty.vue.d.ts +17 -0
  4. package/dist/components/Autocomplete/SkAutocompleteGroup.vue.d.ts +17 -0
  5. package/dist/components/Autocomplete/SkAutocompleteGroupLabel.vue.d.ts +17 -0
  6. package/dist/components/Autocomplete/SkAutocompleteItem.vue.d.ts +39 -0
  7. package/dist/components/Autocomplete/SkAutocompleteSeparator.vue.d.ts +2 -0
  8. package/dist/components/Autocomplete/index.d.ts +7 -0
  9. package/dist/components/Autocomplete/types.d.ts +3 -0
  10. package/dist/components/Breadcrumbs/context.d.ts +4 -0
  11. package/dist/components/Button/SkButton.vue.d.ts +8 -1
  12. package/dist/components/Button/types.d.ts +2 -0
  13. package/dist/components/Card/SkCard.vue.d.ts +1 -1
  14. package/dist/components/ContextMenu/context.d.ts +3 -0
  15. package/dist/components/Dropdown/SkDropdown.vue.d.ts +1 -1
  16. package/dist/components/Dropdown/context.d.ts +3 -0
  17. package/dist/components/Field/SkField.vue.d.ts +7 -6
  18. package/dist/components/Input/SkInput.vue.d.ts +9 -2
  19. package/dist/components/Input/types.d.ts +2 -0
  20. package/dist/components/InputGroup/SkInputGroup.vue.d.ts +23 -0
  21. package/dist/components/InputGroup/SkInputGroupAddon.vue.d.ts +33 -0
  22. package/dist/components/InputGroup/types.d.ts +13 -0
  23. package/dist/components/NumberInput/SkNumberInput.vue.d.ts +15 -1
  24. package/dist/components/NumberInput/types.d.ts +2 -0
  25. package/dist/components/Pagination/context.d.ts +5 -0
  26. package/dist/components/Panel/SkPanel.vue.d.ts +1 -1
  27. package/dist/components/Panel/types.d.ts +2 -1
  28. package/dist/components/Radio/context.d.ts +4 -0
  29. package/dist/components/Select/SkSelect.vue.d.ts +7 -1
  30. package/dist/components/Select/types.d.ts +2 -0
  31. package/dist/components/Sidebar/SkSidebar.vue.d.ts +1 -1
  32. package/dist/components/Tabs/context.d.ts +6 -0
  33. package/dist/components/Textarea/SkTextarea.vue.d.ts +1 -1
  34. package/dist/components/Tooltip/SkTooltip.vue.d.ts +1 -1
  35. package/dist/composables/injectionKeys.d.ts +9 -0
  36. package/dist/global.d.ts +4 -0
  37. package/dist/index.d.ts +18 -0
  38. package/dist/sleekspace-ui.css +836 -280
  39. package/dist/sleekspace-ui.es.js +3759 -2545
  40. package/dist/sleekspace-ui.umd.js +3765 -2543
  41. package/dist/static/components/alert.d.ts +2 -1
  42. package/dist/static/components/avatar.d.ts +2 -1
  43. package/dist/static/components/breadcrumbs.d.ts +2 -1
  44. package/dist/static/components/button.d.ts +4 -2
  45. package/dist/static/components/card.d.ts +2 -1
  46. package/dist/static/components/checkbox.d.ts +2 -1
  47. package/dist/static/components/colorPicker.d.ts +2 -1
  48. package/dist/static/components/divider.d.ts +2 -1
  49. package/dist/static/components/dropdown.d.ts +2 -1
  50. package/dist/static/components/field.d.ts +2 -1
  51. package/dist/static/components/group.d.ts +2 -1
  52. package/dist/static/components/input.d.ts +4 -2
  53. package/dist/static/components/inputGroup.d.ts +8 -0
  54. package/dist/static/components/inputGroupAddon.d.ts +7 -0
  55. package/dist/static/components/navBar.d.ts +2 -1
  56. package/dist/static/components/numberInput.d.ts +4 -2
  57. package/dist/static/components/page.d.ts +2 -1
  58. package/dist/static/components/pagination.d.ts +2 -1
  59. package/dist/static/components/panel.d.ts +2 -1
  60. package/dist/static/components/progress.d.ts +2 -1
  61. package/dist/static/components/radio.d.ts +2 -1
  62. package/dist/static/components/select.d.ts +4 -2
  63. package/dist/static/components/sidebar.d.ts +2 -1
  64. package/dist/static/components/skeleton.d.ts +2 -1
  65. package/dist/static/components/slider.d.ts +2 -1
  66. package/dist/static/components/spinner.d.ts +2 -1
  67. package/dist/static/components/switchInput.d.ts +2 -1
  68. package/dist/static/components/table.d.ts +2 -1
  69. package/dist/static/components/tag.d.ts +2 -1
  70. package/dist/static/components/tagsInput.d.ts +2 -1
  71. package/dist/static/components/textarea.d.ts +2 -1
  72. package/dist/static/components/toolbar.d.ts +2 -1
  73. package/dist/static/components/tooltip.d.ts +2 -1
  74. package/dist/static/h.d.ts +2 -0
  75. package/dist/static/index.cjs.js +1 -1
  76. package/dist/static/index.d.ts +6 -0
  77. package/dist/static/index.es.js +366 -216
  78. package/dist/static/render.d.ts +2 -1
  79. package/dist/static/stringH.d.ts +2 -0
  80. package/dist/static/types.d.ts +5 -0
  81. package/dist/tailwind.css +222 -0
  82. package/dist/tokens.css +0 -223
  83. package/dist/types/corners.d.ts +1 -0
  84. package/dist/utils/slots.d.ts +6 -0
  85. package/llms-full.txt +17 -9
  86. package/package.json +9 -3
  87. package/src/components/Accordion/SkAccordion.vue +5 -2
  88. package/src/components/Accordion/SkAccordionItem.vue +7 -4
  89. package/src/components/Accordion/context.ts +23 -0
  90. package/src/components/Alert/SkAlert.vue +4 -2
  91. package/src/components/Autocomplete/SkAutocomplete.test.ts +83 -0
  92. package/src/components/Autocomplete/SkAutocomplete.vue +305 -0
  93. package/src/components/Autocomplete/SkAutocompleteEmpty.vue +39 -0
  94. package/src/components/Autocomplete/SkAutocompleteGroup.vue +46 -0
  95. package/src/components/Autocomplete/SkAutocompleteGroupLabel.vue +39 -0
  96. package/src/components/Autocomplete/SkAutocompleteItem.vue +85 -0
  97. package/src/components/Autocomplete/SkAutocompleteSeparator.vue +39 -0
  98. package/src/components/Autocomplete/index.ts +13 -0
  99. package/src/components/Autocomplete/types.ts +10 -0
  100. package/src/components/Breadcrumbs/SkBreadcrumbItem.vue +8 -3
  101. package/src/components/Breadcrumbs/SkBreadcrumbSeparator.vue +8 -2
  102. package/src/components/Breadcrumbs/SkBreadcrumbs.vue +11 -14
  103. package/src/components/Breadcrumbs/context.ts +20 -0
  104. package/src/components/Button/SkButton.vue +54 -11
  105. package/src/components/Button/types.ts +6 -0
  106. package/src/components/Card/SkCard.vue +12 -5
  107. package/src/components/Checkbox/SkCheckbox.vue +9 -2
  108. package/src/components/ColorPicker/SkColorPicker.vue +27 -5
  109. package/src/components/ContextMenu/SkContextMenu.vue +4 -1
  110. package/src/components/ContextMenu/SkContextMenuSubmenu.vue +5 -2
  111. package/src/components/ContextMenu/context.ts +17 -0
  112. package/src/components/Dropdown/SkDropdown.vue +2 -1
  113. package/src/components/Dropdown/SkDropdownSubmenu.vue +4 -3
  114. package/src/components/Dropdown/context.ts +16 -0
  115. package/src/components/Field/SkField.test.ts +88 -0
  116. package/src/components/Field/SkField.vue +15 -7
  117. package/src/components/Input/SkInput.test.ts +61 -0
  118. package/src/components/Input/SkInput.vue +42 -7
  119. package/src/components/Input/types.ts +2 -0
  120. package/src/components/InputGroup/SkInputGroup.test.ts +171 -0
  121. package/src/components/InputGroup/SkInputGroup.vue +131 -0
  122. package/src/components/InputGroup/SkInputGroupAddon.test.ts +104 -0
  123. package/src/components/InputGroup/SkInputGroupAddon.vue +107 -0
  124. package/src/components/InputGroup/types.ts +27 -0
  125. package/src/components/Listbox/SkListbox.vue +27 -6
  126. package/src/components/Modal/SkModal.vue +11 -4
  127. package/src/components/NavBar/SkNavBar.vue +5 -4
  128. package/src/components/NumberInput/SkNumberInput.vue +49 -8
  129. package/src/components/NumberInput/types.ts +2 -0
  130. package/src/components/Page/SkPage.vue +18 -15
  131. package/src/components/Pagination/SkPagination.vue +6 -3
  132. package/src/components/Pagination/SkPaginationItem.vue +8 -5
  133. package/src/components/Pagination/context.ts +19 -0
  134. package/src/components/Panel/types.ts +3 -2
  135. package/src/components/Popover/SkPopover.vue +11 -4
  136. package/src/components/Radio/SkRadio.vue +14 -4
  137. package/src/components/Radio/SkRadioGroup.vue +4 -2
  138. package/src/components/Radio/context.ts +17 -0
  139. package/src/components/Select/SkSelect.vue +39 -7
  140. package/src/components/Select/types.ts +2 -0
  141. package/src/components/Switch/SkSwitch.vue +14 -13
  142. package/src/components/Tabs/SkTab.vue +10 -3
  143. package/src/components/Tabs/SkTabList.vue +4 -2
  144. package/src/components/Tabs/SkTabs.vue +5 -3
  145. package/src/components/Tabs/context.ts +19 -0
  146. package/src/components/TagsInput/SkTagsInput.vue +28 -7
  147. package/src/components/Textarea/SkTextarea.vue +27 -6
  148. package/src/components/TreeView/SkTreeItem.vue +10 -2
  149. package/src/composables/injectionKeys.ts +52 -0
  150. package/src/index.ts +28 -0
  151. package/src/static/__tests__/parity.test.ts +2 -1
  152. package/src/static/__tests__/parityHarness.ts +5 -2
  153. package/src/static/components/__tests__/helpers.test.ts +191 -99
  154. package/src/static/components/alert.ts +12 -11
  155. package/src/static/components/avatar.ts +15 -16
  156. package/src/static/components/breadcrumbs.ts +3 -2
  157. package/src/static/components/button.ts +23 -27
  158. package/src/static/components/card.ts +3 -2
  159. package/src/static/components/checkbox.ts +11 -14
  160. package/src/static/components/colorPicker.ts +7 -9
  161. package/src/static/components/divider.ts +4 -3
  162. package/src/static/components/dropdown.ts +15 -6
  163. package/src/static/components/field.ts +32 -15
  164. package/src/static/components/group.ts +3 -2
  165. package/src/static/components/input.ts +20 -15
  166. package/src/static/components/inputGroup.ts +30 -0
  167. package/src/static/components/inputGroupAddon.ts +29 -0
  168. package/src/static/components/navBar.ts +30 -17
  169. package/src/static/components/numberInput.ts +17 -17
  170. package/src/static/components/page.ts +3 -2
  171. package/src/static/components/pagination.ts +3 -2
  172. package/src/static/components/panel.ts +3 -2
  173. package/src/static/components/progress.ts +3 -2
  174. package/src/static/components/radio.ts +14 -20
  175. package/src/static/components/select.ts +18 -15
  176. package/src/static/components/sidebar.ts +9 -13
  177. package/src/static/components/skeleton.ts +7 -10
  178. package/src/static/components/slider.ts +7 -9
  179. package/src/static/components/spinner.ts +22 -22
  180. package/src/static/components/switchInput.ts +12 -14
  181. package/src/static/components/table.ts +8 -10
  182. package/src/static/components/tag.ts +17 -11
  183. package/src/static/components/tagsInput.ts +3 -3
  184. package/src/static/components/textarea.ts +8 -13
  185. package/src/static/components/toolbar.ts +7 -10
  186. package/src/static/components/tooltip.ts +3 -2
  187. package/src/static/generated/defaults.ts +25 -9
  188. package/src/static/generated/propTypes.ts +19 -2
  189. package/src/static/h.ts +16 -0
  190. package/src/static/index.ts +8 -0
  191. package/src/static/render.test.ts +14 -10
  192. package/src/static/render.ts +33 -18
  193. package/src/static/specs.test.ts +1 -0
  194. package/src/static/specs.ts +22 -2
  195. package/src/static/stringH.ts +104 -0
  196. package/src/static/types.ts +25 -0
  197. package/src/styles/components/_autocomplete.scss +498 -0
  198. package/src/styles/components/_button.scss +55 -6
  199. package/src/styles/components/_index.scss +2 -0
  200. package/src/styles/components/_input-group.scss +292 -0
  201. package/src/styles/components/_input.scss +57 -9
  202. package/src/styles/components/_number-input.scss +88 -14
  203. package/src/styles/components/_select.scss +56 -9
  204. package/src/styles/mixins/_cut-border.scss +83 -0
  205. package/src/styles/tailwind.scss +262 -0
  206. package/src/styles/tokens.scss +8 -255
  207. package/src/types/corners.ts +10 -0
  208. package/src/utils/slots.test.ts +89 -0
  209. package/src/utils/slots.ts +80 -0
  210. package/web-types.json +392 -12
@@ -0,0 +1,4 @@
1
+ import { ComputedRef, InjectionKey, Ref } from 'vue';
2
+ import { SkAccordionKind } from './types';
3
+ export declare const ACCORDION_KIND_KEY: InjectionKey<ComputedRef<SkAccordionKind | undefined>>;
4
+ export declare const ACCORDION_MODEL_VALUE_KEY: InjectionKey<Ref<string | string[] | undefined>>;
@@ -0,0 +1,87 @@
1
+ import { ComponentCustomColors } from '../../types';
2
+ import { SkAutocompleteKind, SkAutocompleteSize } from './types';
3
+ export interface SkAutocompleteComponentProps extends ComponentCustomColors {
4
+ /**
5
+ * Semantic color kind that controls the input border, focus ring, and highlighted
6
+ * suggestion appearance. When used inside SkField, inherits the field's kind if not
7
+ * explicitly set.
8
+ * @default 'neutral' (or inherited from parent SkField)
9
+ */
10
+ kind?: SkAutocompleteKind;
11
+ /**
12
+ * Size of the input field and dropdown content. Controls input height, text size,
13
+ * and option dimensions. Available sizes: 'sm', 'md', 'lg'.
14
+ * @default 'md'
15
+ */
16
+ size?: SkAutocompleteSize;
17
+ /**
18
+ * Placeholder text displayed in the input field when empty.
19
+ * @default 'Search...'
20
+ */
21
+ placeholder?: string;
22
+ /**
23
+ * When true, the autocomplete is disabled and cannot be interacted with.
24
+ * @default false
25
+ */
26
+ disabled?: boolean;
27
+ /**
28
+ * When true, opens the suggestion menu as soon as the input gains focus.
29
+ * Set to false to require typing before suggestions appear.
30
+ * @default true
31
+ */
32
+ openOnFocus?: boolean;
33
+ /**
34
+ * When true, opens the suggestion menu on click. RekaUI's default is false; opt in
35
+ * if you want a click-to-open UX in addition to focus-based opening.
36
+ * @default false
37
+ */
38
+ openOnClick?: boolean;
39
+ /**
40
+ * When true, displays a clear button inside the input that resets the typed value.
41
+ * @default false
42
+ */
43
+ clearable?: boolean;
44
+ /**
45
+ * When true, disables the built-in client-side filtering. Use this for async or
46
+ * server-driven suggestions, where you'll listen to `@update:search` and provide
47
+ * pre-filtered items.
48
+ * @default false
49
+ */
50
+ ignoreFilter?: boolean;
51
+ }
52
+ type __VLS_Props = SkAutocompleteComponentProps;
53
+ type __VLS_PublicProps = {
54
+ modelValue?: string;
55
+ } & __VLS_Props;
56
+ declare function __VLS_template(): {
57
+ attrs: Partial<{}>;
58
+ slots: {
59
+ default?(_: {}): any;
60
+ };
61
+ refs: {};
62
+ rootEl: any;
63
+ };
64
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
65
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
66
+ "update:modelValue": (value: string) => any;
67
+ "update:search": (value: string) => any;
68
+ }, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
69
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
70
+ "onUpdate:search"?: ((value: string) => any) | undefined;
71
+ }>, {
72
+ kind: SkAutocompleteKind;
73
+ disabled: boolean;
74
+ size: SkAutocompleteSize;
75
+ placeholder: string;
76
+ openOnFocus: boolean;
77
+ openOnClick: boolean;
78
+ clearable: boolean;
79
+ ignoreFilter: boolean;
80
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
81
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
82
+ export default _default;
83
+ type __VLS_WithTemplateSlots<T, S> = T & {
84
+ new (): {
85
+ $slots: S;
86
+ };
87
+ };
@@ -0,0 +1,17 @@
1
+ declare function __VLS_template(): {
2
+ attrs: Partial<{}>;
3
+ slots: {
4
+ default?(_: {}): any;
5
+ };
6
+ refs: {};
7
+ rootEl: any;
8
+ };
9
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
+ declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
11
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
12
+ export default _default;
13
+ type __VLS_WithTemplateSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1,17 @@
1
+ declare function __VLS_template(): {
2
+ attrs: Partial<{}>;
3
+ slots: {
4
+ default?(_: {}): any;
5
+ };
6
+ refs: {};
7
+ rootEl: any;
8
+ };
9
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
+ declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
11
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
12
+ export default _default;
13
+ type __VLS_WithTemplateSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1,17 @@
1
+ declare function __VLS_template(): {
2
+ attrs: Partial<{}>;
3
+ slots: {
4
+ default?(_: {}): any;
5
+ };
6
+ refs: {};
7
+ rootEl: any;
8
+ };
9
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
10
+ declare const __VLS_component: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
11
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
12
+ export default _default;
13
+ type __VLS_WithTemplateSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1,39 @@
1
+ export interface SkAutocompleteItemComponentProps {
2
+ /**
3
+ * The string written into the input when this item is selected. Must be unique
4
+ * within the autocomplete to ensure proper highlight/match behavior.
5
+ */
6
+ value: string;
7
+ /**
8
+ * When true, this suggestion is disabled and cannot be selected. Skipped during
9
+ * keyboard navigation.
10
+ * @default false
11
+ */
12
+ disabled?: boolean;
13
+ /**
14
+ * Optional override for filter/typeahead matching. Use when the slot content is
15
+ * non-textual (icons, custom layouts) and you need to specify what text the
16
+ * client-side filter should match against.
17
+ */
18
+ textValue?: string;
19
+ }
20
+ declare function __VLS_template(): {
21
+ attrs: Partial<{}>;
22
+ slots: {
23
+ default?(_: {}): any;
24
+ };
25
+ refs: {};
26
+ rootEl: any;
27
+ };
28
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
29
+ declare const __VLS_component: import('vue').DefineComponent<SkAutocompleteItemComponentProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<SkAutocompleteItemComponentProps> & Readonly<{}>, {
30
+ disabled: boolean;
31
+ textValue: string;
32
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
33
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
34
+ export default _default;
35
+ type __VLS_WithTemplateSlots<T, S> = T & {
36
+ new (): {
37
+ $slots: S;
38
+ };
39
+ };
@@ -0,0 +1,2 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,7 @@
1
+ export { default as SkAutocomplete } from './SkAutocomplete.vue';
2
+ export { default as SkAutocompleteEmpty } from './SkAutocompleteEmpty.vue';
3
+ export { default as SkAutocompleteGroup } from './SkAutocompleteGroup.vue';
4
+ export { default as SkAutocompleteGroupLabel } from './SkAutocompleteGroupLabel.vue';
5
+ export { default as SkAutocompleteItem } from './SkAutocompleteItem.vue';
6
+ export { default as SkAutocompleteSeparator } from './SkAutocompleteSeparator.vue';
7
+ export type { SkAutocompleteKind, SkAutocompleteSize } from './types';
@@ -0,0 +1,3 @@
1
+ import { ComponentKind, ComponentSize } from '../../types';
2
+ export type SkAutocompleteKind = ComponentKind;
3
+ export type SkAutocompleteSize = ComponentSize;
@@ -0,0 +1,4 @@
1
+ import { InjectionKey, Ref } from 'vue';
2
+ import { SkBreadcrumbsKind } from './types';
3
+ export declare const BREADCRUMBS_KIND_KEY: InjectionKey<Ref<SkBreadcrumbsKind | undefined>>;
4
+ export declare const BREADCRUMBS_SEPARATOR_KEY: InjectionKey<Ref<string | undefined>>;
@@ -1,5 +1,5 @@
1
1
  import { ComponentCustomColors } from '../../types';
2
- import { SkButtonKind, SkButtonSize, SkButtonType, SkButtonVariant } from './types';
2
+ import { SkButtonCorner, SkButtonKind, SkButtonSize, SkButtonType, SkButtonVariant } from './types';
3
3
  export interface SkButtonComponentProps extends ComponentCustomColors {
4
4
  /**
5
5
  * The HTML `type` attribute for the button element. Only applies when rendering as a `<button>`
@@ -57,6 +57,12 @@ export interface SkButtonComponentProps extends ComponentCustomColors {
57
57
  * @default false
58
58
  */
59
59
  dense?: boolean;
60
+ /**
61
+ * Which corners receive the beveled cut. Pass an empty array for square corners.
62
+ * When omitted, defaults to the button's standalone visual (`top-left` + `bottom-right`).
63
+ * @default undefined (renders as ['top-left', 'bottom-right'])
64
+ */
65
+ corners?: SkButtonCorner[];
60
66
  /**
61
67
  * URL for the button to navigate to. When provided, the button renders as an `<a>` element
62
68
  * instead of a `<button>`. Use for external links or simple navigation that doesn't require
@@ -95,6 +101,7 @@ declare const __VLS_component: import('vue').DefineComponent<SkButtonComponentPr
95
101
  loading: boolean;
96
102
  pressed: boolean;
97
103
  dense: boolean;
104
+ corners: SkButtonCorner[];
98
105
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
99
106
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
100
107
  export default _default;
@@ -1,5 +1,7 @@
1
1
  import { ComponentKind, ComponentSize, ComponentVariant } from '../../types';
2
+ import { SkCorner } from '../../types/corners';
2
3
  export type SkButtonType = 'button' | 'submit' | 'reset';
4
+ export type SkButtonCorner = SkCorner;
3
5
  export type SkButtonKind = ComponentKind;
4
6
  export type SkButtonVariant = ComponentVariant;
5
7
  export type SkButtonSize = ComponentSize;
@@ -83,9 +83,9 @@ declare const __VLS_component: import('vue').DefineComponent<SkCardComponentProp
83
83
  kind: SkCardKind;
84
84
  size: SkPanelSize;
85
85
  title: string;
86
+ corners: SkPanelCorner[];
86
87
  showDecoration: boolean;
87
88
  noBorder: boolean;
88
- corners: SkPanelCorner[];
89
89
  decorationCorner: SkPanelCorner;
90
90
  noDecoration: boolean;
91
91
  headerColor: string;
@@ -0,0 +1,3 @@
1
+ import { ComputedRef, InjectionKey } from 'vue';
2
+ import { SkContextMenuKind } from './types';
3
+ export declare const CONTEXT_MENU_KIND_KEY: InjectionKey<ComputedRef<SkContextMenuKind | undefined>>;
@@ -57,10 +57,10 @@ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
57
57
  declare const __VLS_component: import('vue').DefineComponent<SkDropdownComponentProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<SkDropdownComponentProps> & Readonly<{}>, {
58
58
  kind: SkDropdownKind;
59
59
  size: SkDropdownSize;
60
- triggerText: string;
61
60
  side: SkDropdownSide;
62
61
  sideOffset: number;
63
62
  align: SkDropdownAlign;
63
+ triggerText: string;
64
64
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
65
65
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
66
66
  export default _default;
@@ -0,0 +1,3 @@
1
+ import { ComputedRef, InjectionKey } from 'vue';
2
+ import { SkDropdownKind } from './types';
3
+ export declare const DROPDOWN_KIND_KEY: InjectionKey<ComputedRef<SkDropdownKind | undefined>>;
@@ -1,3 +1,4 @@
1
+ import { ComponentKind } from '../../types';
1
2
  import { SkFieldLabelPosition } from './types';
2
3
  export interface SkFieldComponentProps {
3
4
  /**
@@ -56,14 +57,14 @@ export interface SkFieldComponentProps {
56
57
  * inputs via Vue's provide/inject system.
57
58
  * @default 'success'
58
59
  */
59
- validKind?: string;
60
+ validKind?: ComponentKind;
60
61
  /**
61
62
  * Semantic kind to apply to the child input when `state` is `false` (invalid). Typically
62
63
  * 'danger' for red styling indicating validation errors. The kind is provided to child
63
64
  * inputs via Vue's provide/inject system.
64
65
  * @default 'danger'
65
66
  */
66
- invalidKind?: string;
67
+ invalidKind?: ComponentKind;
67
68
  }
68
69
  declare function __VLS_template(): {
69
70
  attrs: Partial<{}>;
@@ -72,7 +73,7 @@ declare function __VLS_template(): {
72
73
  id: string;
73
74
  ariaDescribedby: string | undefined;
74
75
  ariaInvalid: string | undefined;
75
- kind: string | undefined;
76
+ kind: ComponentKind | undefined;
76
77
  }): any;
77
78
  };
78
79
  refs: {};
@@ -82,13 +83,13 @@ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
82
83
  declare const __VLS_component: import('vue').DefineComponent<SkFieldComponentProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<SkFieldComponentProps> & Readonly<{}>, {
83
84
  label: string;
84
85
  required: boolean;
85
- id: string;
86
86
  description: string;
87
+ id: string;
87
88
  error: string;
88
89
  labelPosition: SkFieldLabelPosition;
89
90
  state: boolean | null;
90
- validKind: string;
91
- invalidKind: string;
91
+ validKind: ComponentKind;
92
+ invalidKind: ComponentKind;
92
93
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
93
94
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
94
95
  export default _default;
@@ -1,5 +1,5 @@
1
1
  import { ComponentCustomColors } from '../../types';
2
- import { SkInputKind, SkInputSize, SkInputType } from './types';
2
+ import { SkInputCorner, SkInputKind, SkInputSize, SkInputType } from './types';
3
3
  export interface SkInputComponentProps extends ComponentCustomColors {
4
4
  /**
5
5
  * The HTML input type attribute controlling the input behavior and keyboard on mobile devices.
@@ -21,6 +21,12 @@ export interface SkInputComponentProps extends ComponentCustomColors {
21
21
  * @default 'md'
22
22
  */
23
23
  size?: SkInputSize;
24
+ /**
25
+ * Which corners receive the beveled cut. Pass an empty array for square corners.
26
+ * When omitted, defaults to the input's standalone visual (`top-right` only).
27
+ * @default undefined (renders as ['top-right'])
28
+ */
29
+ corners?: SkInputCorner[];
24
30
  /**
25
31
  * Placeholder text displayed when the input is empty. Use to provide hints about expected
26
32
  * input format or example values. The placeholder disappears when the user begins typing.
@@ -78,7 +84,8 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {},
78
84
  placeholder: string;
79
85
  required: boolean;
80
86
  name: string;
81
- readonly: boolean;
82
87
  autocomplete: string;
88
+ corners: SkInputCorner[];
89
+ readonly: boolean;
83
90
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLInputElement>;
84
91
  export default _default;
@@ -1,4 +1,6 @@
1
1
  import { ComponentKind, ComponentSize } from '../../types';
2
+ import { SkCorner } from '../../types/corners';
2
3
  export type SkInputKind = ComponentKind;
3
4
  export type SkInputSize = ComponentSize;
4
5
  export type SkInputType = 'text' | 'email' | 'password' | 'url' | 'tel' | 'search' | 'number';
6
+ export type SkInputCorner = SkCorner;
@@ -0,0 +1,23 @@
1
+ import { SkInputGroupBaseProps, SkInputGroupCorner, SkInputGroupKind, SkInputGroupSize } from './types';
2
+ export type { SkInputGroupComponentProps } from './types';
3
+ declare function __VLS_template(): {
4
+ attrs: Partial<{}>;
5
+ slots: {
6
+ default?(_: {}): any;
7
+ };
8
+ refs: {};
9
+ rootEl: HTMLDivElement;
10
+ };
11
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
12
+ declare const __VLS_component: import('vue').DefineComponent<SkInputGroupBaseProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<SkInputGroupBaseProps> & Readonly<{}>, {
13
+ kind: SkInputGroupKind;
14
+ size: SkInputGroupSize;
15
+ corners: SkInputGroupCorner[];
16
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
17
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
18
+ export default _default;
19
+ type __VLS_WithTemplateSlots<T, S> = T & {
20
+ new (): {
21
+ $slots: S;
22
+ };
23
+ };
@@ -0,0 +1,33 @@
1
+ import { SkInputGroupAddonKind, SkInputGroupAddonSize } from './types';
2
+ export interface SkInputGroupAddonComponentProps {
3
+ /**
4
+ * Semantic color kind. Inherits from a parent SkInputGroup or SkField when not set.
5
+ * @default inherited or 'neutral'
6
+ */
7
+ kind?: SkInputGroupAddonKind;
8
+ /**
9
+ * Size of the addon. Inherits from a parent SkInputGroup when not set.
10
+ * @default inherited or 'md'
11
+ */
12
+ size?: SkInputGroupAddonSize;
13
+ }
14
+ declare function __VLS_template(): {
15
+ attrs: Partial<{}>;
16
+ slots: {
17
+ default?(_: {}): any;
18
+ };
19
+ refs: {};
20
+ rootEl: HTMLSpanElement;
21
+ };
22
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
23
+ declare const __VLS_component: import('vue').DefineComponent<SkInputGroupAddonComponentProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<SkInputGroupAddonComponentProps> & Readonly<{}>, {
24
+ kind: SkInputGroupAddonKind;
25
+ size: SkInputGroupAddonSize;
26
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLSpanElement>;
27
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
28
+ export default _default;
29
+ type __VLS_WithTemplateSlots<T, S> = T & {
30
+ new (): {
31
+ $slots: S;
32
+ };
33
+ };
@@ -0,0 +1,13 @@
1
+ import { ComponentCustomColors, ComponentKind, ComponentSize } from '../../types';
2
+ import { SkCorner } from '../../types/corners';
3
+ export type SkInputGroupKind = ComponentKind;
4
+ export type SkInputGroupSize = ComponentSize;
5
+ export type SkInputGroupCorner = SkCorner;
6
+ export type SkInputGroupAddonKind = SkInputGroupKind;
7
+ export type SkInputGroupAddonSize = SkInputGroupSize;
8
+ export interface SkInputGroupBaseProps extends ComponentCustomColors {
9
+ kind?: SkInputGroupKind;
10
+ size?: SkInputGroupSize;
11
+ corners?: SkInputGroupCorner[];
12
+ }
13
+ export type SkInputGroupComponentProps = SkInputGroupBaseProps;
@@ -1,5 +1,5 @@
1
1
  import { ComponentCustomColors } from '../../types';
2
- import { SkNumberInputKind, SkNumberInputSize } from './types';
2
+ import { SkNumberInputCorner, SkNumberInputKind, SkNumberInputSize } from './types';
3
3
  export interface SkNumberInputComponentProps extends ComponentCustomColors {
4
4
  /**
5
5
  * Semantic color kind for the input border and focus ring. Use semantic kinds like
@@ -69,6 +69,18 @@ export interface SkNumberInputComponentProps extends ComponentCustomColors {
69
69
  * @default 1
70
70
  */
71
71
  step?: number;
72
+ /**
73
+ * When true, renders the increment/decrement stepper buttons on the right side of the
74
+ * input. Set to false for a plain numeric text field (users can still use arrow keys
75
+ * and type values directly).
76
+ * @default true
77
+ */
78
+ showSteppers?: boolean;
79
+ /**
80
+ * Which corners receive the beveled cut. Pass an empty array for square corners.
81
+ * @default undefined (renders as ['top-right'])
82
+ */
83
+ corners?: SkNumberInputCorner[];
72
84
  }
73
85
  type __VLS_Props = SkNumberInputComponentProps;
74
86
  type __VLS_PublicProps = {
@@ -85,9 +97,11 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {},
85
97
  placeholder: string;
86
98
  required: boolean;
87
99
  name: string;
100
+ corners: SkNumberInputCorner[];
88
101
  readonly: boolean;
89
102
  min: number;
90
103
  max: number;
91
104
  step: number;
105
+ showSteppers: boolean;
92
106
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
93
107
  export default _default;
@@ -1,3 +1,5 @@
1
1
  import { ComponentKind, ComponentSize } from '../../types';
2
+ import { SkCorner } from '../../types/corners';
2
3
  export type SkNumberInputKind = ComponentKind;
3
4
  export type SkNumberInputSize = ComponentSize;
5
+ export type SkNumberInputCorner = SkCorner;
@@ -0,0 +1,5 @@
1
+ import { InjectionKey, Ref } from 'vue';
2
+ import { SkPaginationKind, SkPaginationSize, SkPaginationVariant } from './types';
3
+ export declare const PAGINATION_KIND_KEY: InjectionKey<Ref<SkPaginationKind | undefined>>;
4
+ export declare const PAGINATION_SIZE_KEY: InjectionKey<Ref<SkPaginationSize | undefined>>;
5
+ export declare const PAGINATION_VARIANT_KEY: InjectionKey<Ref<SkPaginationVariant | undefined>>;
@@ -55,9 +55,9 @@ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
55
55
  declare const __VLS_component: import('vue').DefineComponent<SkPanelComponentProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<SkPanelComponentProps> & Readonly<{}>, {
56
56
  kind: SkPanelKind;
57
57
  size: SkPanelSize;
58
+ corners: SkPanelCorner[];
58
59
  showDecoration: boolean;
59
60
  noBorder: boolean;
60
- corners: SkPanelCorner[];
61
61
  decorationCorner: SkPanelCorner;
62
62
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
63
63
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
@@ -1,4 +1,5 @@
1
1
  import { ComponentKind } from '../../types';
2
+ import { SkCorner } from '../../types/corners';
2
3
  export type SkPanelKind = ComponentKind;
3
4
  export type SkPanelSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
4
- export type SkPanelCorner = 'top-left' | 'top-right' | 'bottom-right' | 'bottom-left';
5
+ export type SkPanelCorner = SkCorner;
@@ -0,0 +1,4 @@
1
+ import { ComputedRef, InjectionKey } from 'vue';
2
+ import { SkRadioKind, SkRadioSize } from './types';
3
+ export declare const RADIO_KIND_KEY: InjectionKey<ComputedRef<SkRadioKind | undefined>>;
4
+ export declare const RADIO_SIZE_KEY: InjectionKey<ComputedRef<SkRadioSize | undefined>>;
@@ -1,5 +1,5 @@
1
1
  import { ComponentCustomColors } from '../../types';
2
- import { SkSelectKind, SkSelectSize } from './types';
2
+ import { SkSelectCorner, SkSelectKind, SkSelectSize } from './types';
3
3
  export interface SkSelectComponentProps extends ComponentCustomColors {
4
4
  /**
5
5
  * Semantic color kind that controls the trigger border, focus ring, and selected
@@ -28,6 +28,11 @@ export interface SkSelectComponentProps extends ComponentCustomColors {
28
28
  * @default false
29
29
  */
30
30
  disabled?: boolean;
31
+ /**
32
+ * Which corners receive the beveled cut. Pass an empty array for square corners.
33
+ * @default undefined (renders as ['top-right'])
34
+ */
35
+ corners?: SkSelectCorner[];
31
36
  }
32
37
  type __VLS_Props = SkSelectComponentProps;
33
38
  type __VLS_PublicProps = {
@@ -51,6 +56,7 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps,
51
56
  disabled: boolean;
52
57
  size: SkSelectSize;
53
58
  placeholder: string;
59
+ corners: SkSelectCorner[];
54
60
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
55
61
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
56
62
  export default _default;
@@ -1,3 +1,5 @@
1
1
  import { ComponentKind, ComponentSize } from '../../types';
2
+ import { SkCorner } from '../../types/corners';
2
3
  export type SkSelectKind = ComponentKind;
3
4
  export type SkSelectSize = ComponentSize;
5
+ export type SkSelectCorner = SkCorner;
@@ -40,8 +40,8 @@ declare function __VLS_template(): {
40
40
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
41
41
  declare const __VLS_component: import('vue').DefineComponent<SkSidebarComponentProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<SkSidebarComponentProps> & Readonly<{}>, {
42
42
  kind: SkSidebarKind;
43
- dense: boolean;
44
43
  side: SkSidebarSide;
44
+ dense: boolean;
45
45
  width: string;
46
46
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
47
47
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
@@ -0,0 +1,6 @@
1
+ import { ComputedRef, InjectionKey } from 'vue';
2
+ import { ComponentKind } from '../../types';
3
+ import { SkTabsOrientation, SkTabsPlacement } from './types';
4
+ export declare const TABS_KIND_KEY: InjectionKey<ComputedRef<ComponentKind | undefined>>;
5
+ export declare const TABS_ORIENTATION_KEY: InjectionKey<ComputedRef<SkTabsOrientation>>;
6
+ export declare const TABS_PLACEMENT_KEY: InjectionKey<ComputedRef<SkTabsPlacement>>;
@@ -78,8 +78,8 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {}, {},
78
78
  placeholder: string;
79
79
  required: boolean;
80
80
  name: string;
81
- readonly: boolean;
82
81
  autocomplete: string;
82
+ readonly: boolean;
83
83
  rows: number;
84
84
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLTextAreaElement>;
85
85
  export default _default;
@@ -65,10 +65,10 @@ declare function __VLS_template(): {
65
65
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
66
66
  declare const __VLS_component: import('vue').DefineComponent<SkTooltipComponentProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<SkTooltipComponentProps> & Readonly<{}>, {
67
67
  kind: ComponentKind;
68
- variant: "solid" | "outline";
69
68
  side: SkTooltipSide;
70
69
  sideOffset: number;
71
70
  align: "start" | "center" | "end";
71
+ variant: "solid" | "outline";
72
72
  showArrow: boolean;
73
73
  delayDuration: number;
74
74
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
@@ -0,0 +1,9 @@
1
+ import { ComputedRef, InjectionKey } from 'vue';
2
+ import { ComponentKind, ComponentSize } from '../types';
3
+ export type KindContext = ComputedRef<ComponentKind | undefined>;
4
+ export type SizeContext = ComputedRef<ComponentSize | undefined>;
5
+ export declare const validationKindKey: InjectionKey<KindContext>;
6
+ export declare const inheritedKindKey: InjectionKey<KindContext>;
7
+ export declare const inputGroupSizeKey: InjectionKey<SizeContext>;
8
+ export declare const NO_KIND: KindContext;
9
+ export declare const NO_SIZE: SizeContext;
package/dist/global.d.ts CHANGED
@@ -26,6 +26,8 @@ declare module '@vue/runtime-core' {
26
26
  SkAccordion: DefineComponent<import('./components/Accordion/SkAccordion.vue').SkAccordionComponentProps>;
27
27
  SkAccordionItem: DefineComponent<import('./components/Accordion/SkAccordionItem.vue').SkAccordionItemComponentProps>;
28
28
  SkAlert: DefineComponent<import('./components/Alert/SkAlert.vue').SkAlertComponentProps>;
29
+ SkAutocomplete: DefineComponent<import('./components/Autocomplete/SkAutocomplete.vue').SkAutocompleteComponentProps>;
30
+ SkAutocompleteItem: DefineComponent<import('./components/Autocomplete/SkAutocompleteItem.vue').SkAutocompleteItemComponentProps>;
29
31
  SkAvatar: DefineComponent<import('./components/Avatar/SkAvatar.vue').SkAvatarComponentProps>;
30
32
  SkBreadcrumbItem: DefineComponent<import('./components/Breadcrumbs/SkBreadcrumbItem.vue').SkBreadcrumbItemComponentProps>;
31
33
  SkBreadcrumbs: DefineComponent<import('./components/Breadcrumbs/SkBreadcrumbs.vue').SkBreadcrumbsComponentProps>;
@@ -50,6 +52,8 @@ declare module '@vue/runtime-core' {
50
52
  SkField: DefineComponent<import('./components/Field/SkField.vue').SkFieldComponentProps>;
51
53
  SkGroup: DefineComponent<import('./components/Group/SkGroup.vue').SkGroupComponentProps>;
52
54
  SkInput: DefineComponent<import('./components/Input/SkInput.vue').SkInputComponentProps>;
55
+ SkInputGroup: DefineComponent<import('./components/InputGroup/SkInputGroup.vue').SkInputGroupComponentProps>;
56
+ SkInputGroupAddon: DefineComponent<import('./components/InputGroup/SkInputGroupAddon.vue').SkInputGroupAddonComponentProps>;
53
57
  SkListbox: DefineComponent<import('./components/Listbox/SkListbox.vue').SkListboxComponentProps>;
54
58
  SkListboxItem: DefineComponent<import('./components/Listbox/SkListboxItem.vue').SkListboxItemComponentProps>;
55
59
  SkModal: DefineComponent<import('./components/Modal/SkModal.vue').SkModalComponentProps>;