@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
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ClassSpec } from './classes';
|
|
2
|
+
export interface RenderSpec {
|
|
3
|
+
tag: string;
|
|
4
|
+
classSpec: ClassSpec;
|
|
5
|
+
extraAttrs?: Record<string, string>;
|
|
6
|
+
void?: boolean;
|
|
7
|
+
customColorVars?: {
|
|
8
|
+
base?: string;
|
|
9
|
+
text?: string;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export declare function render(spec: RenderSpec, props: Record<string, unknown>, children: string): string;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export type SemanticKind = 'neutral' | 'primary' | 'accent' | 'danger' | 'info' | 'success' | 'warning';
|
|
2
|
+
export type ColorKind = 'boulder' | 'neon-blue' | 'light-blue' | 'neon-orange' | 'neon-purple' | 'neon-green' | 'neon-mint' | 'neon-pink' | 'yellow' | 'red';
|
|
3
|
+
export type ComponentKind = SemanticKind | ColorKind;
|
|
4
|
+
export type ComponentSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
5
|
+
export type ComponentVariant = 'solid' | 'outline' | 'subtle' | 'ghost' | 'link';
|
|
6
|
+
export interface StaticCustomColors {
|
|
7
|
+
baseColor?: string;
|
|
8
|
+
textColor?: string;
|
|
9
|
+
}
|
|
10
|
+
export type HtmlString = string;
|
|
11
|
+
export type AlertKind = ComponentKind;
|
|
12
|
+
export type AvatarSize = ComponentSize;
|
|
13
|
+
export type BreadcrumbsKind = ComponentKind;
|
|
14
|
+
export type ButtonKind = ComponentKind;
|
|
15
|
+
export type ButtonSize = ComponentSize;
|
|
16
|
+
export type ButtonVariant = ComponentVariant;
|
|
17
|
+
export type ButtonType = 'button' | 'submit' | 'reset';
|
|
18
|
+
export type CardKind = ComponentKind;
|
|
19
|
+
export type DividerOrientation = 'horizontal' | 'vertical';
|
|
20
|
+
export type DividerVariant = 'subtle';
|
|
21
|
+
export type FieldLabelPosition = 'top' | 'left';
|
|
22
|
+
export type GroupOrientation = 'horizontal' | 'vertical';
|
|
23
|
+
export type NavBarKind = ComponentKind;
|
|
24
|
+
export type PagePanelMode = 'auto' | 'persistent' | 'drawer';
|
|
25
|
+
export type PaginationKind = ComponentKind;
|
|
26
|
+
export type PanelKind = ComponentKind;
|
|
27
|
+
export type PanelSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
28
|
+
export type PanelCorner = 'top-left' | 'top-right' | 'bottom-right' | 'bottom-left';
|
|
29
|
+
export type ProgressSize = ComponentSize;
|
|
30
|
+
export type SidebarKind = ComponentKind;
|
|
31
|
+
export type SidebarSide = 'left' | 'right';
|
|
32
|
+
export type SpinnerSize = ComponentSize;
|
|
33
|
+
export type SpinnerVariant = 'circular' | 'dots' | 'crosshair';
|
|
34
|
+
export type TableKind = ComponentKind;
|
|
35
|
+
export type TableVariant = 'default' | 'compact' | 'comfortable';
|
|
36
|
+
export type TagVariant = 'solid' | 'outline' | 'subtle' | 'ghost';
|
|
37
|
+
export type TagSize = 'sm' | 'md' | 'lg' | 'xl';
|
|
38
|
+
export type ToolbarKind = ComponentKind;
|
|
39
|
+
export type ToolbarOrientation = 'horizontal' | 'vertical';
|
|
40
|
+
export type ToolbarCorner = 'top-left' | 'top-right' | 'bottom-right' | 'bottom-left';
|
|
41
|
+
export type TooltipKind = ComponentKind;
|
|
42
|
+
export type TooltipVariant = ComponentVariant;
|
|
43
|
+
export type TooltipSide = 'top' | 'right' | 'bottom' | 'left';
|
package/dist/tokens.css
CHANGED
|
@@ -528,6 +528,14 @@
|
|
|
528
528
|
* Reference theme with gray neutral colors and blue primary.
|
|
529
529
|
* This is the default, more subdued theme.
|
|
530
530
|
*/
|
|
531
|
+
/**
|
|
532
|
+
* Theme shade-scale helper
|
|
533
|
+
*
|
|
534
|
+
* Shared map + mixin that each theme uses to emit Tailwind-style shade aliases
|
|
535
|
+
* (`--sk-primary-50`, `--sk-primary-200`, ..., `--sk-primary-950`) for the semantic kinds.
|
|
536
|
+
* The aliases point at foundation primitives (`--sk-color-<family>-05..95`) so they always
|
|
537
|
+
* follow the theme's chosen color family.
|
|
538
|
+
*/
|
|
531
539
|
[data-scheme=greyscale] {
|
|
532
540
|
/* Neutral Kind */
|
|
533
541
|
--sk-neutral-base: var(--sk-color-gray-50);
|
|
@@ -571,8 +579,101 @@
|
|
|
571
579
|
--sk-info-active: color-mix(in oklch, var(--sk-info-base), var(--sk-color-gray-10) var(--sk-mix-amount-strong));
|
|
572
580
|
--sk-info-text: oklch(1 0 0);
|
|
573
581
|
--sk-info-text-contrast: var(--sk-color-gray-95);
|
|
582
|
+
/* Short aliases for the semantic kinds defined above. Must live inside the theme block so
|
|
583
|
+
* that `var(--sk-<kind>-base)` resolves on this element's cascade. */
|
|
584
|
+
--sk-neutral: var(--sk-neutral-base);
|
|
585
|
+
--sk-primary: var(--sk-primary-base);
|
|
586
|
+
--sk-accent: var(--sk-accent-base);
|
|
587
|
+
--sk-info: var(--sk-info-base);
|
|
588
|
+
--sk-success: var(--sk-success-base);
|
|
589
|
+
--sk-warning: var(--sk-warning-base);
|
|
590
|
+
--sk-danger: var(--sk-danger-base);
|
|
591
|
+
/* Tailwind-style shade scale (`--sk-primary-50`..`--sk-primary-950`, and so on). */
|
|
592
|
+
--sk-neutral-50: var(--sk-color-gray-05);
|
|
593
|
+
--sk-neutral-100: var(--sk-color-gray-10);
|
|
594
|
+
--sk-neutral-200: var(--sk-color-gray-20);
|
|
595
|
+
--sk-neutral-300: var(--sk-color-gray-30);
|
|
596
|
+
--sk-neutral-400: var(--sk-color-gray-40);
|
|
597
|
+
--sk-neutral-500: var(--sk-color-gray-50);
|
|
598
|
+
--sk-neutral-600: var(--sk-color-gray-60);
|
|
599
|
+
--sk-neutral-700: var(--sk-color-gray-70);
|
|
600
|
+
--sk-neutral-800: var(--sk-color-gray-80);
|
|
601
|
+
--sk-neutral-900: var(--sk-color-gray-90);
|
|
602
|
+
--sk-neutral-950: var(--sk-color-gray-95);
|
|
603
|
+
--sk-primary-50: var(--sk-color-blue-05);
|
|
604
|
+
--sk-primary-100: var(--sk-color-blue-10);
|
|
605
|
+
--sk-primary-200: var(--sk-color-blue-20);
|
|
606
|
+
--sk-primary-300: var(--sk-color-blue-30);
|
|
607
|
+
--sk-primary-400: var(--sk-color-blue-40);
|
|
608
|
+
--sk-primary-500: var(--sk-color-blue-50);
|
|
609
|
+
--sk-primary-600: var(--sk-color-blue-60);
|
|
610
|
+
--sk-primary-700: var(--sk-color-blue-70);
|
|
611
|
+
--sk-primary-800: var(--sk-color-blue-80);
|
|
612
|
+
--sk-primary-900: var(--sk-color-blue-90);
|
|
613
|
+
--sk-primary-950: var(--sk-color-blue-95);
|
|
614
|
+
--sk-accent-50: var(--sk-color-orange-05);
|
|
615
|
+
--sk-accent-100: var(--sk-color-orange-10);
|
|
616
|
+
--sk-accent-200: var(--sk-color-orange-20);
|
|
617
|
+
--sk-accent-300: var(--sk-color-orange-30);
|
|
618
|
+
--sk-accent-400: var(--sk-color-orange-40);
|
|
619
|
+
--sk-accent-500: var(--sk-color-orange-50);
|
|
620
|
+
--sk-accent-600: var(--sk-color-orange-60);
|
|
621
|
+
--sk-accent-700: var(--sk-color-orange-70);
|
|
622
|
+
--sk-accent-800: var(--sk-color-orange-80);
|
|
623
|
+
--sk-accent-900: var(--sk-color-orange-90);
|
|
624
|
+
--sk-accent-950: var(--sk-color-orange-95);
|
|
625
|
+
--sk-info-50: var(--sk-color-cyan-05);
|
|
626
|
+
--sk-info-100: var(--sk-color-cyan-10);
|
|
627
|
+
--sk-info-200: var(--sk-color-cyan-20);
|
|
628
|
+
--sk-info-300: var(--sk-color-cyan-30);
|
|
629
|
+
--sk-info-400: var(--sk-color-cyan-40);
|
|
630
|
+
--sk-info-500: var(--sk-color-cyan-50);
|
|
631
|
+
--sk-info-600: var(--sk-color-cyan-60);
|
|
632
|
+
--sk-info-700: var(--sk-color-cyan-70);
|
|
633
|
+
--sk-info-800: var(--sk-color-cyan-80);
|
|
634
|
+
--sk-info-900: var(--sk-color-cyan-90);
|
|
635
|
+
--sk-info-950: var(--sk-color-cyan-95);
|
|
636
|
+
--sk-success-50: var(--sk-color-green-05);
|
|
637
|
+
--sk-success-100: var(--sk-color-green-10);
|
|
638
|
+
--sk-success-200: var(--sk-color-green-20);
|
|
639
|
+
--sk-success-300: var(--sk-color-green-30);
|
|
640
|
+
--sk-success-400: var(--sk-color-green-40);
|
|
641
|
+
--sk-success-500: var(--sk-color-green-50);
|
|
642
|
+
--sk-success-600: var(--sk-color-green-60);
|
|
643
|
+
--sk-success-700: var(--sk-color-green-70);
|
|
644
|
+
--sk-success-800: var(--sk-color-green-80);
|
|
645
|
+
--sk-success-900: var(--sk-color-green-90);
|
|
646
|
+
--sk-success-950: var(--sk-color-green-95);
|
|
647
|
+
--sk-warning-50: var(--sk-color-yellow-05);
|
|
648
|
+
--sk-warning-100: var(--sk-color-yellow-10);
|
|
649
|
+
--sk-warning-200: var(--sk-color-yellow-20);
|
|
650
|
+
--sk-warning-300: var(--sk-color-yellow-30);
|
|
651
|
+
--sk-warning-400: var(--sk-color-yellow-40);
|
|
652
|
+
--sk-warning-500: var(--sk-color-yellow-50);
|
|
653
|
+
--sk-warning-600: var(--sk-color-yellow-60);
|
|
654
|
+
--sk-warning-700: var(--sk-color-yellow-70);
|
|
655
|
+
--sk-warning-800: var(--sk-color-yellow-80);
|
|
656
|
+
--sk-warning-900: var(--sk-color-yellow-90);
|
|
657
|
+
--sk-warning-950: var(--sk-color-yellow-95);
|
|
658
|
+
--sk-danger-50: var(--sk-color-red-05);
|
|
659
|
+
--sk-danger-100: var(--sk-color-red-10);
|
|
660
|
+
--sk-danger-200: var(--sk-color-red-20);
|
|
661
|
+
--sk-danger-300: var(--sk-color-red-30);
|
|
662
|
+
--sk-danger-400: var(--sk-color-red-40);
|
|
663
|
+
--sk-danger-500: var(--sk-color-red-50);
|
|
664
|
+
--sk-danger-600: var(--sk-color-red-60);
|
|
665
|
+
--sk-danger-700: var(--sk-color-red-70);
|
|
666
|
+
--sk-danger-800: var(--sk-color-red-80);
|
|
667
|
+
--sk-danger-900: var(--sk-color-red-90);
|
|
668
|
+
--sk-danger-950: var(--sk-color-red-95);
|
|
574
669
|
}
|
|
575
670
|
|
|
671
|
+
/**
|
|
672
|
+
* Greyscale Theme
|
|
673
|
+
*
|
|
674
|
+
* Reference theme with gray neutral colors and blue primary.
|
|
675
|
+
* This is the default, more subdued theme.
|
|
676
|
+
*/
|
|
576
677
|
/**
|
|
577
678
|
* Colorful Theme
|
|
578
679
|
*
|
|
@@ -622,6 +723,93 @@
|
|
|
622
723
|
--sk-info-active: color-mix(in oklch, var(--sk-info-base), var(--sk-color-gray-10) var(--sk-mix-amount-strong));
|
|
623
724
|
--sk-info-text: oklch(1 0 0);
|
|
624
725
|
--sk-info-text-contrast: var(--sk-color-gray-95);
|
|
726
|
+
/* Short aliases for the semantic kinds defined above. Must live inside the theme block so
|
|
727
|
+
* that `var(--sk-<kind>-base)` resolves on this element's cascade. */
|
|
728
|
+
--sk-neutral: var(--sk-neutral-base);
|
|
729
|
+
--sk-primary: var(--sk-primary-base);
|
|
730
|
+
--sk-accent: var(--sk-accent-base);
|
|
731
|
+
--sk-info: var(--sk-info-base);
|
|
732
|
+
--sk-success: var(--sk-success-base);
|
|
733
|
+
--sk-warning: var(--sk-warning-base);
|
|
734
|
+
--sk-danger: var(--sk-danger-base);
|
|
735
|
+
/* Tailwind-style shade scale (`--sk-primary-50`..`--sk-primary-950`, and so on). */
|
|
736
|
+
--sk-neutral-50: var(--sk-color-blue-05);
|
|
737
|
+
--sk-neutral-100: var(--sk-color-blue-10);
|
|
738
|
+
--sk-neutral-200: var(--sk-color-blue-20);
|
|
739
|
+
--sk-neutral-300: var(--sk-color-blue-30);
|
|
740
|
+
--sk-neutral-400: var(--sk-color-blue-40);
|
|
741
|
+
--sk-neutral-500: var(--sk-color-blue-50);
|
|
742
|
+
--sk-neutral-600: var(--sk-color-blue-60);
|
|
743
|
+
--sk-neutral-700: var(--sk-color-blue-70);
|
|
744
|
+
--sk-neutral-800: var(--sk-color-blue-80);
|
|
745
|
+
--sk-neutral-900: var(--sk-color-blue-90);
|
|
746
|
+
--sk-neutral-950: var(--sk-color-blue-95);
|
|
747
|
+
--sk-primary-50: var(--sk-color-orange-05);
|
|
748
|
+
--sk-primary-100: var(--sk-color-orange-10);
|
|
749
|
+
--sk-primary-200: var(--sk-color-orange-20);
|
|
750
|
+
--sk-primary-300: var(--sk-color-orange-30);
|
|
751
|
+
--sk-primary-400: var(--sk-color-orange-40);
|
|
752
|
+
--sk-primary-500: var(--sk-color-orange-50);
|
|
753
|
+
--sk-primary-600: var(--sk-color-orange-60);
|
|
754
|
+
--sk-primary-700: var(--sk-color-orange-70);
|
|
755
|
+
--sk-primary-800: var(--sk-color-orange-80);
|
|
756
|
+
--sk-primary-900: var(--sk-color-orange-90);
|
|
757
|
+
--sk-primary-950: var(--sk-color-orange-95);
|
|
758
|
+
--sk-accent-50: var(--sk-color-blue-05);
|
|
759
|
+
--sk-accent-100: var(--sk-color-blue-10);
|
|
760
|
+
--sk-accent-200: var(--sk-color-blue-20);
|
|
761
|
+
--sk-accent-300: var(--sk-color-blue-30);
|
|
762
|
+
--sk-accent-400: var(--sk-color-blue-40);
|
|
763
|
+
--sk-accent-500: var(--sk-color-blue-50);
|
|
764
|
+
--sk-accent-600: var(--sk-color-blue-60);
|
|
765
|
+
--sk-accent-700: var(--sk-color-blue-70);
|
|
766
|
+
--sk-accent-800: var(--sk-color-blue-80);
|
|
767
|
+
--sk-accent-900: var(--sk-color-blue-90);
|
|
768
|
+
--sk-accent-950: var(--sk-color-blue-95);
|
|
769
|
+
--sk-info-50: var(--sk-color-cyan-05);
|
|
770
|
+
--sk-info-100: var(--sk-color-cyan-10);
|
|
771
|
+
--sk-info-200: var(--sk-color-cyan-20);
|
|
772
|
+
--sk-info-300: var(--sk-color-cyan-30);
|
|
773
|
+
--sk-info-400: var(--sk-color-cyan-40);
|
|
774
|
+
--sk-info-500: var(--sk-color-cyan-50);
|
|
775
|
+
--sk-info-600: var(--sk-color-cyan-60);
|
|
776
|
+
--sk-info-700: var(--sk-color-cyan-70);
|
|
777
|
+
--sk-info-800: var(--sk-color-cyan-80);
|
|
778
|
+
--sk-info-900: var(--sk-color-cyan-90);
|
|
779
|
+
--sk-info-950: var(--sk-color-cyan-95);
|
|
780
|
+
--sk-success-50: var(--sk-color-green-05);
|
|
781
|
+
--sk-success-100: var(--sk-color-green-10);
|
|
782
|
+
--sk-success-200: var(--sk-color-green-20);
|
|
783
|
+
--sk-success-300: var(--sk-color-green-30);
|
|
784
|
+
--sk-success-400: var(--sk-color-green-40);
|
|
785
|
+
--sk-success-500: var(--sk-color-green-50);
|
|
786
|
+
--sk-success-600: var(--sk-color-green-60);
|
|
787
|
+
--sk-success-700: var(--sk-color-green-70);
|
|
788
|
+
--sk-success-800: var(--sk-color-green-80);
|
|
789
|
+
--sk-success-900: var(--sk-color-green-90);
|
|
790
|
+
--sk-success-950: var(--sk-color-green-95);
|
|
791
|
+
--sk-warning-50: var(--sk-color-yellow-05);
|
|
792
|
+
--sk-warning-100: var(--sk-color-yellow-10);
|
|
793
|
+
--sk-warning-200: var(--sk-color-yellow-20);
|
|
794
|
+
--sk-warning-300: var(--sk-color-yellow-30);
|
|
795
|
+
--sk-warning-400: var(--sk-color-yellow-40);
|
|
796
|
+
--sk-warning-500: var(--sk-color-yellow-50);
|
|
797
|
+
--sk-warning-600: var(--sk-color-yellow-60);
|
|
798
|
+
--sk-warning-700: var(--sk-color-yellow-70);
|
|
799
|
+
--sk-warning-800: var(--sk-color-yellow-80);
|
|
800
|
+
--sk-warning-900: var(--sk-color-yellow-90);
|
|
801
|
+
--sk-warning-950: var(--sk-color-yellow-95);
|
|
802
|
+
--sk-danger-50: var(--sk-color-red-05);
|
|
803
|
+
--sk-danger-100: var(--sk-color-red-10);
|
|
804
|
+
--sk-danger-200: var(--sk-color-red-20);
|
|
805
|
+
--sk-danger-300: var(--sk-color-red-30);
|
|
806
|
+
--sk-danger-400: var(--sk-color-red-40);
|
|
807
|
+
--sk-danger-500: var(--sk-color-red-50);
|
|
808
|
+
--sk-danger-600: var(--sk-color-red-60);
|
|
809
|
+
--sk-danger-700: var(--sk-color-red-70);
|
|
810
|
+
--sk-danger-800: var(--sk-color-red-80);
|
|
811
|
+
--sk-danger-900: var(--sk-color-red-90);
|
|
812
|
+
--sk-danger-950: var(--sk-color-red-95);
|
|
625
813
|
}
|
|
626
814
|
|
|
627
815
|
/**
|
|
@@ -714,6 +902,140 @@
|
|
|
714
902
|
--sk-red-active: color-mix(in oklch, var(--sk-red-base), var(--sk-color-gray-10) var(--sk-mix-amount-strong));
|
|
715
903
|
--sk-red-text: oklch(1 0 0);
|
|
716
904
|
--sk-red-text-contrast: var(--sk-color-gray-95);
|
|
905
|
+
/* ===================================================================
|
|
906
|
+
* Short Aliases
|
|
907
|
+
*
|
|
908
|
+
* Shorthand names so consumers can write `var(--sk-neon-pink)` directly
|
|
909
|
+
* instead of `var(--sk-neon-pink-base)`. Semantic kinds (primary, accent,
|
|
910
|
+
* etc.) are aliased inside each theme block so `var(--sk-<kind>-base)`
|
|
911
|
+
* resolves against the theme's actual values.
|
|
912
|
+
* =================================================================== */
|
|
913
|
+
--sk-boulder: var(--sk-boulder-base);
|
|
914
|
+
--sk-neon-blue: var(--sk-neon-blue-base);
|
|
915
|
+
--sk-light-blue: var(--sk-light-blue-base);
|
|
916
|
+
--sk-neon-orange: var(--sk-neon-orange-base);
|
|
917
|
+
--sk-neon-purple: var(--sk-neon-purple-base);
|
|
918
|
+
--sk-neon-green: var(--sk-neon-green-base);
|
|
919
|
+
--sk-neon-mint: var(--sk-neon-mint-base);
|
|
920
|
+
--sk-neon-pink: var(--sk-neon-pink-base);
|
|
921
|
+
--sk-yellow: var(--sk-yellow-base);
|
|
922
|
+
--sk-red: var(--sk-red-base);
|
|
923
|
+
/* ===================================================================
|
|
924
|
+
* Tailwind-style shade scale for color kinds
|
|
925
|
+
*
|
|
926
|
+
* `--sk-neon-pink-500` = palette 50 (= base); `--sk-neon-pink-200` is two steps lighter,
|
|
927
|
+
* `--sk-neon-pink-800` is much darker, etc. Full scale: 50, 100..900, 950.
|
|
928
|
+
* =================================================================== */
|
|
929
|
+
--sk-boulder-50: var(--sk-color-gray-05);
|
|
930
|
+
--sk-boulder-100: var(--sk-color-gray-10);
|
|
931
|
+
--sk-boulder-200: var(--sk-color-gray-20);
|
|
932
|
+
--sk-boulder-300: var(--sk-color-gray-30);
|
|
933
|
+
--sk-boulder-400: var(--sk-color-gray-40);
|
|
934
|
+
--sk-boulder-500: var(--sk-color-gray-50);
|
|
935
|
+
--sk-boulder-600: var(--sk-color-gray-60);
|
|
936
|
+
--sk-boulder-700: var(--sk-color-gray-70);
|
|
937
|
+
--sk-boulder-800: var(--sk-color-gray-80);
|
|
938
|
+
--sk-boulder-900: var(--sk-color-gray-90);
|
|
939
|
+
--sk-boulder-950: var(--sk-color-gray-95);
|
|
940
|
+
--sk-neon-blue-50: var(--sk-color-blue-05);
|
|
941
|
+
--sk-neon-blue-100: var(--sk-color-blue-10);
|
|
942
|
+
--sk-neon-blue-200: var(--sk-color-blue-20);
|
|
943
|
+
--sk-neon-blue-300: var(--sk-color-blue-30);
|
|
944
|
+
--sk-neon-blue-400: var(--sk-color-blue-40);
|
|
945
|
+
--sk-neon-blue-500: var(--sk-color-blue-50);
|
|
946
|
+
--sk-neon-blue-600: var(--sk-color-blue-60);
|
|
947
|
+
--sk-neon-blue-700: var(--sk-color-blue-70);
|
|
948
|
+
--sk-neon-blue-800: var(--sk-color-blue-80);
|
|
949
|
+
--sk-neon-blue-900: var(--sk-color-blue-90);
|
|
950
|
+
--sk-neon-blue-950: var(--sk-color-blue-95);
|
|
951
|
+
--sk-light-blue-50: var(--sk-color-cyan-05);
|
|
952
|
+
--sk-light-blue-100: var(--sk-color-cyan-10);
|
|
953
|
+
--sk-light-blue-200: var(--sk-color-cyan-20);
|
|
954
|
+
--sk-light-blue-300: var(--sk-color-cyan-30);
|
|
955
|
+
--sk-light-blue-400: var(--sk-color-cyan-40);
|
|
956
|
+
--sk-light-blue-500: var(--sk-color-cyan-50);
|
|
957
|
+
--sk-light-blue-600: var(--sk-color-cyan-60);
|
|
958
|
+
--sk-light-blue-700: var(--sk-color-cyan-70);
|
|
959
|
+
--sk-light-blue-800: var(--sk-color-cyan-80);
|
|
960
|
+
--sk-light-blue-900: var(--sk-color-cyan-90);
|
|
961
|
+
--sk-light-blue-950: var(--sk-color-cyan-95);
|
|
962
|
+
--sk-neon-orange-50: var(--sk-color-orange-05);
|
|
963
|
+
--sk-neon-orange-100: var(--sk-color-orange-10);
|
|
964
|
+
--sk-neon-orange-200: var(--sk-color-orange-20);
|
|
965
|
+
--sk-neon-orange-300: var(--sk-color-orange-30);
|
|
966
|
+
--sk-neon-orange-400: var(--sk-color-orange-40);
|
|
967
|
+
--sk-neon-orange-500: var(--sk-color-orange-50);
|
|
968
|
+
--sk-neon-orange-600: var(--sk-color-orange-60);
|
|
969
|
+
--sk-neon-orange-700: var(--sk-color-orange-70);
|
|
970
|
+
--sk-neon-orange-800: var(--sk-color-orange-80);
|
|
971
|
+
--sk-neon-orange-900: var(--sk-color-orange-90);
|
|
972
|
+
--sk-neon-orange-950: var(--sk-color-orange-95);
|
|
973
|
+
--sk-neon-purple-50: var(--sk-color-purple-05);
|
|
974
|
+
--sk-neon-purple-100: var(--sk-color-purple-10);
|
|
975
|
+
--sk-neon-purple-200: var(--sk-color-purple-20);
|
|
976
|
+
--sk-neon-purple-300: var(--sk-color-purple-30);
|
|
977
|
+
--sk-neon-purple-400: var(--sk-color-purple-40);
|
|
978
|
+
--sk-neon-purple-500: var(--sk-color-purple-50);
|
|
979
|
+
--sk-neon-purple-600: var(--sk-color-purple-60);
|
|
980
|
+
--sk-neon-purple-700: var(--sk-color-purple-70);
|
|
981
|
+
--sk-neon-purple-800: var(--sk-color-purple-80);
|
|
982
|
+
--sk-neon-purple-900: var(--sk-color-purple-90);
|
|
983
|
+
--sk-neon-purple-950: var(--sk-color-purple-95);
|
|
984
|
+
--sk-neon-green-50: var(--sk-color-green-05);
|
|
985
|
+
--sk-neon-green-100: var(--sk-color-green-10);
|
|
986
|
+
--sk-neon-green-200: var(--sk-color-green-20);
|
|
987
|
+
--sk-neon-green-300: var(--sk-color-green-30);
|
|
988
|
+
--sk-neon-green-400: var(--sk-color-green-40);
|
|
989
|
+
--sk-neon-green-500: var(--sk-color-green-50);
|
|
990
|
+
--sk-neon-green-600: var(--sk-color-green-60);
|
|
991
|
+
--sk-neon-green-700: var(--sk-color-green-70);
|
|
992
|
+
--sk-neon-green-800: var(--sk-color-green-80);
|
|
993
|
+
--sk-neon-green-900: var(--sk-color-green-90);
|
|
994
|
+
--sk-neon-green-950: var(--sk-color-green-95);
|
|
995
|
+
--sk-neon-mint-50: var(--sk-color-mint-05);
|
|
996
|
+
--sk-neon-mint-100: var(--sk-color-mint-10);
|
|
997
|
+
--sk-neon-mint-200: var(--sk-color-mint-20);
|
|
998
|
+
--sk-neon-mint-300: var(--sk-color-mint-30);
|
|
999
|
+
--sk-neon-mint-400: var(--sk-color-mint-40);
|
|
1000
|
+
--sk-neon-mint-500: var(--sk-color-mint-50);
|
|
1001
|
+
--sk-neon-mint-600: var(--sk-color-mint-60);
|
|
1002
|
+
--sk-neon-mint-700: var(--sk-color-mint-70);
|
|
1003
|
+
--sk-neon-mint-800: var(--sk-color-mint-80);
|
|
1004
|
+
--sk-neon-mint-900: var(--sk-color-mint-90);
|
|
1005
|
+
--sk-neon-mint-950: var(--sk-color-mint-95);
|
|
1006
|
+
--sk-neon-pink-50: var(--sk-color-pink-05);
|
|
1007
|
+
--sk-neon-pink-100: var(--sk-color-pink-10);
|
|
1008
|
+
--sk-neon-pink-200: var(--sk-color-pink-20);
|
|
1009
|
+
--sk-neon-pink-300: var(--sk-color-pink-30);
|
|
1010
|
+
--sk-neon-pink-400: var(--sk-color-pink-40);
|
|
1011
|
+
--sk-neon-pink-500: var(--sk-color-pink-50);
|
|
1012
|
+
--sk-neon-pink-600: var(--sk-color-pink-60);
|
|
1013
|
+
--sk-neon-pink-700: var(--sk-color-pink-70);
|
|
1014
|
+
--sk-neon-pink-800: var(--sk-color-pink-80);
|
|
1015
|
+
--sk-neon-pink-900: var(--sk-color-pink-90);
|
|
1016
|
+
--sk-neon-pink-950: var(--sk-color-pink-95);
|
|
1017
|
+
--sk-yellow-50: var(--sk-color-yellow-05);
|
|
1018
|
+
--sk-yellow-100: var(--sk-color-yellow-10);
|
|
1019
|
+
--sk-yellow-200: var(--sk-color-yellow-20);
|
|
1020
|
+
--sk-yellow-300: var(--sk-color-yellow-30);
|
|
1021
|
+
--sk-yellow-400: var(--sk-color-yellow-40);
|
|
1022
|
+
--sk-yellow-500: var(--sk-color-yellow-50);
|
|
1023
|
+
--sk-yellow-600: var(--sk-color-yellow-60);
|
|
1024
|
+
--sk-yellow-700: var(--sk-color-yellow-70);
|
|
1025
|
+
--sk-yellow-800: var(--sk-color-yellow-80);
|
|
1026
|
+
--sk-yellow-900: var(--sk-color-yellow-90);
|
|
1027
|
+
--sk-yellow-950: var(--sk-color-yellow-95);
|
|
1028
|
+
--sk-red-50: var(--sk-color-red-05);
|
|
1029
|
+
--sk-red-100: var(--sk-color-red-10);
|
|
1030
|
+
--sk-red-200: var(--sk-color-red-20);
|
|
1031
|
+
--sk-red-300: var(--sk-color-red-30);
|
|
1032
|
+
--sk-red-400: var(--sk-color-red-40);
|
|
1033
|
+
--sk-red-500: var(--sk-color-red-50);
|
|
1034
|
+
--sk-red-600: var(--sk-color-red-60);
|
|
1035
|
+
--sk-red-700: var(--sk-color-red-70);
|
|
1036
|
+
--sk-red-800: var(--sk-color-red-80);
|
|
1037
|
+
--sk-red-900: var(--sk-color-red-90);
|
|
1038
|
+
--sk-red-950: var(--sk-color-red-95);
|
|
717
1039
|
}
|
|
718
1040
|
|
|
719
1041
|
/**
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export type ComponentSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
2
|
+
export type SemanticKind = 'neutral' | 'primary' | 'accent' | 'danger' | 'info' | 'success' | 'warning';
|
|
3
|
+
export type ColorKind = 'boulder' | 'neon-blue' | 'light-blue' | 'neon-orange' | 'neon-purple' | 'neon-green' | 'neon-mint' | 'neon-pink' | 'yellow' | 'red';
|
|
4
|
+
export type ComponentKind = SemanticKind | ColorKind;
|
|
5
|
+
export type ComponentVariant = 'solid' | 'outline' | 'subtle' | 'ghost' | 'link';
|
|
6
|
+
/**
|
|
7
|
+
* Custom color props interface for components.
|
|
8
|
+
* Allows overriding component colors with either a SleekSpace kind name or any CSS color value.
|
|
9
|
+
*/
|
|
10
|
+
export interface ComponentCustomColors {
|
|
11
|
+
/**
|
|
12
|
+
* Base color for the component. Accepts either:
|
|
13
|
+
* - A SleekSpace kind name: `"neutral"`, `"primary"`, `"accent"`, `"info"`, `"success"`,
|
|
14
|
+
* `"warning"`, `"danger"`, `"neon-blue"`, `"light-blue"`, `"neon-orange"`,
|
|
15
|
+
* `"neon-purple"`, `"neon-green"`, `"neon-mint"`, `"neon-pink"`, `"yellow"`, `"red"`,
|
|
16
|
+
* `"boulder"` — resolves to the matching `--sk-<kind>-base` token.
|
|
17
|
+
* - Any CSS color value: hex (`"#8B5CF6"`), oklch (`"oklch(0.7 0.25 300)"`),
|
|
18
|
+
* rgb/hsl (`"rgb(139, 92, 246)"`), a CSS variable (`"var(--my-color)"`), or a
|
|
19
|
+
* named color (`"rebeccapurple"`).
|
|
20
|
+
*
|
|
21
|
+
* When provided, this overrides the color from the `kind` prop.
|
|
22
|
+
*/
|
|
23
|
+
baseColor?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Text/foreground color for the component. Accepts the same kind names and CSS color values
|
|
26
|
+
* as `baseColor`. If not provided, falls back to the theme's neutral text color for legibility
|
|
27
|
+
* on arbitrary custom backgrounds.
|
|
28
|
+
*/
|
|
29
|
+
textColor?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Border color for the component. Accepts the same kind names and CSS color values as
|
|
32
|
+
* `baseColor`. Only honoured by components that render a visible border (panels, cards,
|
|
33
|
+
* inputs, etc.); ignored elsewhere.
|
|
34
|
+
*/
|
|
35
|
+
borderColor?: string;
|
|
36
|
+
}
|
|
@@ -48,13 +48,19 @@ This registers all SleekSpace CSS custom properties with Tailwind's `@theme` sys
|
|
|
48
48
|
|
|
49
49
|
## TypeScript Support
|
|
50
50
|
|
|
51
|
-
For VS Code with Volar,
|
|
51
|
+
For VS Code with Volar, wire up the global component type augmentation. The recommended approach is a one-line triple-slash reference in one of your own `.d.ts` files (for example `src/shims.d.ts` or `env.d.ts`):
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
/// <reference types="@skewedaspect/sleekspace-ui/global" />
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Alternatively, include the declaration file directly in your `tsconfig.json`:
|
|
52
58
|
|
|
53
59
|
```json
|
|
54
60
|
{
|
|
55
61
|
"include": [
|
|
56
62
|
"src/**/*",
|
|
57
|
-
"node_modules/@skewedaspect/sleekspace-ui/
|
|
63
|
+
"node_modules/@skewedaspect/sleekspace-ui/dist/global.d.ts"
|
|
58
64
|
]
|
|
59
65
|
}
|
|
60
66
|
```
|