@techsio/ui-kit 0.0.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/README.md +165 -0
- package/dist/atoms/badge.js +66 -0
- package/dist/atoms/button.js +275 -0
- package/dist/atoms/error-text.js +38 -0
- package/dist/atoms/extra-text.js +27 -0
- package/dist/atoms/icon.js +42 -0
- package/dist/atoms/image.js +11 -0
- package/dist/atoms/input.js +83 -0
- package/dist/atoms/label.js +43 -0
- package/dist/atoms/link-button.js +51 -0
- package/dist/atoms/link.js +23 -0
- package/dist/atoms/numeric-input.js +221 -0
- package/dist/atoms/rating.js +117 -0
- package/dist/atoms/textarea.js +81 -0
- package/dist/atoms/tooltip.js +119 -0
- package/dist/molecules/accordion.js +245 -0
- package/dist/molecules/breadcrumb.js +168 -0
- package/dist/molecules/carousel.js +333 -0
- package/dist/molecules/checkbox.js +92 -0
- package/dist/molecules/color-select.js +159 -0
- package/dist/molecules/combobox.js +253 -0
- package/dist/molecules/dialog.js +313 -0
- package/dist/molecules/form-checkbox.js +59 -0
- package/dist/molecules/form-input.js +55 -0
- package/dist/molecules/form-numeric-input.js +47 -0
- package/dist/molecules/form-textarea.js +54 -0
- package/dist/molecules/menu.js +302 -0
- package/dist/molecules/pagination.js +184 -0
- package/dist/molecules/popover.js +152 -0
- package/dist/molecules/product-card.js +194 -0
- package/dist/molecules/search-form.js +106 -0
- package/dist/molecules/select.js +217 -0
- package/dist/molecules/slider.js +249 -0
- package/dist/molecules/steps.js +178 -0
- package/dist/molecules/switch.js +109 -0
- package/dist/molecules/tabs.js +211 -0
- package/dist/molecules/toast.js +126 -0
- package/dist/molecules/tree-view.js +451 -0
- package/dist/organisms/footer.js +209 -0
- package/dist/organisms/header.js +245 -0
- package/dist/organisms/table.js +233 -0
- package/dist/src/atoms/badge.d.ts +59 -0
- package/dist/src/atoms/badge.d.ts.map +1 -0
- package/dist/src/atoms/button.d.ts +97 -0
- package/dist/src/atoms/button.d.ts.map +1 -0
- package/dist/src/atoms/error-text.d.ts +29 -0
- package/dist/src/atoms/error-text.d.ts.map +1 -0
- package/dist/src/atoms/extra-text.d.ts +27 -0
- package/dist/src/atoms/extra-text.d.ts.map +1 -0
- package/dist/src/atoms/icon.d.ts +65 -0
- package/dist/src/atoms/icon.d.ts.map +1 -0
- package/dist/src/atoms/image.d.ts +17 -0
- package/dist/src/atoms/image.d.ts.map +1 -0
- package/dist/src/atoms/input.d.ts +78 -0
- package/dist/src/atoms/input.d.ts.map +1 -0
- package/dist/src/atoms/label.d.ts +41 -0
- package/dist/src/atoms/label.d.ts.map +1 -0
- package/dist/src/atoms/link-button.d.ts +129 -0
- package/dist/src/atoms/link-button.d.ts.map +1 -0
- package/dist/src/atoms/link.d.ts +17 -0
- package/dist/src/atoms/link.d.ts.map +1 -0
- package/dist/src/atoms/numeric-input.d.ts +64 -0
- package/dist/src/atoms/numeric-input.d.ts.map +1 -0
- package/dist/src/atoms/rating.d.ts +108 -0
- package/dist/src/atoms/rating.d.ts.map +1 -0
- package/dist/src/atoms/textarea.d.ts +81 -0
- package/dist/src/atoms/textarea.d.ts.map +1 -0
- package/dist/src/atoms/tooltip.d.ts +88 -0
- package/dist/src/atoms/tooltip.d.ts.map +1 -0
- package/dist/src/molecules/accordion.d.ts +182 -0
- package/dist/src/molecules/accordion.d.ts.map +1 -0
- package/dist/src/molecules/breadcrumb.d.ts +117 -0
- package/dist/src/molecules/breadcrumb.d.ts.map +1 -0
- package/dist/src/molecules/carousel.d.ts +261 -0
- package/dist/src/molecules/carousel.d.ts.map +1 -0
- package/dist/src/molecules/checkbox.d.ts +19 -0
- package/dist/src/molecules/checkbox.d.ts.map +1 -0
- package/dist/src/molecules/color-select.d.ts +20 -0
- package/dist/src/molecules/color-select.d.ts.map +1 -0
- package/dist/src/molecules/combobox.d.ts +141 -0
- package/dist/src/molecules/combobox.d.ts.map +1 -0
- package/dist/src/molecules/dialog.d.ts +234 -0
- package/dist/src/molecules/dialog.d.ts.map +1 -0
- package/dist/src/molecules/form-checkbox.d.ts +15 -0
- package/dist/src/molecules/form-checkbox.d.ts.map +1 -0
- package/dist/src/molecules/form-input.d.ts +14 -0
- package/dist/src/molecules/form-input.d.ts.map +1 -0
- package/dist/src/molecules/form-numeric-input.d.ts +14 -0
- package/dist/src/molecules/form-numeric-input.d.ts.map +1 -0
- package/dist/src/molecules/form-textarea.d.ts +14 -0
- package/dist/src/molecules/form-textarea.d.ts.map +1 -0
- package/dist/src/molecules/menu.d.ts +153 -0
- package/dist/src/molecules/menu.d.ts.map +1 -0
- package/dist/src/molecules/pagination.d.ts +123 -0
- package/dist/src/molecules/pagination.d.ts.map +1 -0
- package/dist/src/molecules/popover.d.ts +124 -0
- package/dist/src/molecules/popover.d.ts.map +1 -0
- package/dist/src/molecules/product-card.d.ts +160 -0
- package/dist/src/molecules/product-card.d.ts.map +1 -0
- package/dist/src/molecules/search-form.d.ts +39 -0
- package/dist/src/molecules/search-form.d.ts.map +1 -0
- package/dist/src/molecules/select.d.ts +126 -0
- package/dist/src/molecules/select.d.ts.map +1 -0
- package/dist/src/molecules/slider.d.ts +120 -0
- package/dist/src/molecules/slider.d.ts.map +1 -0
- package/dist/src/molecules/steps.d.ts +96 -0
- package/dist/src/molecules/steps.d.ts.map +1 -0
- package/dist/src/molecules/switch.d.ts +71 -0
- package/dist/src/molecules/switch.d.ts.map +1 -0
- package/dist/src/molecules/tabs.d.ts +207 -0
- package/dist/src/molecules/tabs.d.ts.map +1 -0
- package/dist/src/molecules/toast.d.ts +83 -0
- package/dist/src/molecules/toast.d.ts.map +1 -0
- package/dist/src/molecules/tree-view.d.ts +202 -0
- package/dist/src/molecules/tree-view.d.ts.map +1 -0
- package/dist/src/organisms/footer.d.ts +254 -0
- package/dist/src/organisms/footer.d.ts.map +1 -0
- package/dist/src/organisms/header.d.ts +186 -0
- package/dist/src/organisms/header.d.ts.map +1 -0
- package/dist/src/organisms/table.d.ts +250 -0
- package/dist/src/organisms/table.d.ts.map +1 -0
- package/dist/src/templates/accordion.d.ts +15 -0
- package/dist/src/templates/accordion.d.ts.map +1 -0
- package/dist/src/templates/carousel.d.ts +13 -0
- package/dist/src/templates/carousel.d.ts.map +1 -0
- package/dist/src/templates/numeric-input.d.ts +14 -0
- package/dist/src/templates/numeric-input.d.ts.map +1 -0
- package/dist/src/templates/product-card.d.ts +33 -0
- package/dist/src/templates/product-card.d.ts.map +1 -0
- package/dist/src/templates/tabs.d.ts +16 -0
- package/dist/src/templates/tabs.d.ts.map +1 -0
- package/dist/src/types/zag.d.ts +19 -0
- package/dist/src/types/zag.d.ts.map +1 -0
- package/dist/src/utils.d.ts +4 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/templates/accordion.js +37 -0
- package/dist/templates/carousel.js +55 -0
- package/dist/templates/numeric-input.js +49 -0
- package/dist/templates/product-card.js +92 -0
- package/dist/templates/tabs.js +34 -0
- package/dist/types/zag.js +0 -0
- package/dist/utils.js +20 -0
- package/package.json +126 -0
- package/src/tokens/_base.css +25 -0
- package/src/tokens/_colors.css +5 -0
- package/src/tokens/_layout.css +34 -0
- package/src/tokens/_semantic.css +360 -0
- package/src/tokens/_spacing.css +22 -0
- package/src/tokens/_typography.css +17 -0
- package/src/tokens/components/atoms/_badge.css +61 -0
- package/src/tokens/components/atoms/_button.css +215 -0
- package/src/tokens/components/atoms/_icon.css +122 -0
- package/src/tokens/components/atoms/_input.css +125 -0
- package/src/tokens/components/atoms/_numeric-input.css +57 -0
- package/src/tokens/components/atoms/_rating.css +33 -0
- package/src/tokens/components/atoms/_textarea.css +93 -0
- package/src/tokens/components/atoms/_tooltip.css +21 -0
- package/src/tokens/components/components.css +32 -0
- package/src/tokens/components/molecules/_accordion.css +85 -0
- package/src/tokens/components/molecules/_breadcrumb.css +44 -0
- package/src/tokens/components/molecules/_carousel.css +72 -0
- package/src/tokens/components/molecules/_checkbox.css +29 -0
- package/src/tokens/components/molecules/_color-select.css +61 -0
- package/src/tokens/components/molecules/_combobox.css +116 -0
- package/src/tokens/components/molecules/_dialog.css +75 -0
- package/src/tokens/components/molecules/_menu.css +48 -0
- package/src/tokens/components/molecules/_pagination.css +75 -0
- package/src/tokens/components/molecules/_popover.css +39 -0
- package/src/tokens/components/molecules/_product-card.css +85 -0
- package/src/tokens/components/molecules/_search-form.css +10 -0
- package/src/tokens/components/molecules/_select.css +88 -0
- package/src/tokens/components/molecules/_slider.css +75 -0
- package/src/tokens/components/molecules/_steps.css +54 -0
- package/src/tokens/components/molecules/_switch.css +62 -0
- package/src/tokens/components/molecules/_tabs.css +69 -0
- package/src/tokens/components/molecules/_toast.css +77 -0
- package/src/tokens/components/molecules/_tree-view.css +80 -0
- package/src/tokens/components/molecules/index.css +2 -0
- package/src/tokens/components/organisms/_footer.css +90 -0
- package/src/tokens/components/organisms/_header.css +86 -0
- package/src/tokens/components/organisms/_table.css +63 -0
- package/src/tokens/index.css +67 -0
- package/src/tokens/tokens-only.css +66 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
@theme static {
|
|
2
|
+
--opacity-borderless: 60%;
|
|
3
|
+
/* === BASE COLOR MAPPING === */
|
|
4
|
+
--color-textarea-base: var(--color-fill-base);
|
|
5
|
+
--color-textarea-accent: var(--color-primary);
|
|
6
|
+
--color-textarea-success: var(--color-success);
|
|
7
|
+
--color-textarea-warning: var(--color-warning);
|
|
8
|
+
--color-textarea-danger: var(--color-danger);
|
|
9
|
+
|
|
10
|
+
/* === DERIVED COLORS === */
|
|
11
|
+
/* Background colors - using reference layer */
|
|
12
|
+
--color-textarea-bg: var(--color-textarea-base);
|
|
13
|
+
--color-textarea-bg-borderless: --alpha(
|
|
14
|
+
var(--color-textarea-base) /
|
|
15
|
+
var(--opacity-borderless)
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
/* Foreground colors */
|
|
19
|
+
--color-textarea-fg: var(--color-fg-primary);
|
|
20
|
+
--color-textarea-placeholder: --alpha(
|
|
21
|
+
var(--color-fg-primary) /
|
|
22
|
+
var(--opacity-placeholder)
|
|
23
|
+
);
|
|
24
|
+
--color-textarea-fg-disabled: var(--color-disabled-fg);
|
|
25
|
+
|
|
26
|
+
/* Border colors */
|
|
27
|
+
--color-textarea-border: var(--color-border-primary);
|
|
28
|
+
--color-textarea-border-success: var(--color-textarea-success);
|
|
29
|
+
--color-textarea-border-warning: var(--color-textarea-warning);
|
|
30
|
+
--color-textarea-border-danger: var(--color-textarea-danger);
|
|
31
|
+
--color-textarea-border-disabled: var(--color-disabled-border);
|
|
32
|
+
|
|
33
|
+
/* === STATE VARIATIONS === */
|
|
34
|
+
/* Default hover/focus states */
|
|
35
|
+
--color-textarea-bg-hover: oklch(
|
|
36
|
+
from var(--color-textarea-base) calc(l + var(--state-hover)) c h
|
|
37
|
+
);
|
|
38
|
+
--color-textarea-bg-focus: oklch(
|
|
39
|
+
from var(--color-textarea-base) calc(l + var(--state-active)) c h
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
/* Border states */
|
|
43
|
+
--color-textarea-border-hover: var(--color-textarea-accent);
|
|
44
|
+
--color-textarea-border-focus: var(--color-textarea-accent);
|
|
45
|
+
|
|
46
|
+
/* === VALIDATION STATES === */
|
|
47
|
+
/* Success variant */
|
|
48
|
+
--color-textarea-border-success-hover: oklch(
|
|
49
|
+
from var(--color-textarea-success) calc(l + var(--state-hover)) c h
|
|
50
|
+
);
|
|
51
|
+
--color-textarea-border-success-focus: var(--color-textarea-success);
|
|
52
|
+
|
|
53
|
+
/* Warning variant */
|
|
54
|
+
--color-textarea-border-warning-hover: oklch(
|
|
55
|
+
from var(--color-textarea-warning) calc(l + var(--state-hover)) c h
|
|
56
|
+
);
|
|
57
|
+
--color-textarea-border-warning-focus: var(--color-textarea-warning);
|
|
58
|
+
|
|
59
|
+
/* Danger variant */
|
|
60
|
+
--color-textarea-border-danger-hover: oklch(
|
|
61
|
+
from var(--color-textarea-danger) calc(l + var(--state-hover)) c h
|
|
62
|
+
);
|
|
63
|
+
--color-textarea-border-danger-focus: var(--color-textarea-danger);
|
|
64
|
+
--color-textarea-placeholder-danger: --alpha(
|
|
65
|
+
var(--color-textarea-danger) /
|
|
66
|
+
var(--opacity-placeholder)
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
/* Borderless variant */
|
|
70
|
+
--color-textarea-bg-borderless-hover: var(--color-textarea-base);
|
|
71
|
+
|
|
72
|
+
--color-textarea-bg-borderless-focus: var(--color-textarea-base);
|
|
73
|
+
|
|
74
|
+
/* === DISABLED STATES === */
|
|
75
|
+
--color-textarea-bg-disabled: var(--color-disabled-bg);
|
|
76
|
+
|
|
77
|
+
/* === SPACING === */
|
|
78
|
+
--padding-textarea-sm: var(--spacing-100) var(--spacing-150);
|
|
79
|
+
--padding-textarea-md: var(--spacing-150) var(--spacing-200);
|
|
80
|
+
--padding-textarea-lg: var(--spacing-150) var(--spacing-250);
|
|
81
|
+
|
|
82
|
+
/* === TYPOGRAPHY === */
|
|
83
|
+
--text-textarea-sm: var(--text-sm);
|
|
84
|
+
--text-textarea-md: var(--text-md);
|
|
85
|
+
--text-textarea-lg: var(--text-lg);
|
|
86
|
+
|
|
87
|
+
/* === BORDERS & RADIUS === */
|
|
88
|
+
--border-textarea-width: 1px;
|
|
89
|
+
--radius-textarea: var(--radius-md);
|
|
90
|
+
|
|
91
|
+
/* === FOCUS RING === */
|
|
92
|
+
--color-textarea-ring: var(--color-ring);
|
|
93
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
@theme static {
|
|
2
|
+
/* === BASE TOKEN MAPPING === */
|
|
3
|
+
--color-tooltip-bg: var(--color-overlay);
|
|
4
|
+
--color-tooltip-border: var(--color-border-primary);
|
|
5
|
+
|
|
6
|
+
/* === SIZING & SPACING === */
|
|
7
|
+
--padding-tooltip-sm: var(--spacing-150) var(--spacing-200);
|
|
8
|
+
--padding-tooltip-md: var(--spacing-200) var(--spacing-250);
|
|
9
|
+
--padding-tooltip-lg: var(--spacing-250) var(--spacing-350);
|
|
10
|
+
|
|
11
|
+
--text-tooltip-sm: var(--text-xs);
|
|
12
|
+
--text-tooltip-md: var(--text-sm);
|
|
13
|
+
--text-tooltip-lg: var(--text-md);
|
|
14
|
+
|
|
15
|
+
--radius-tooltip: var(--radius-md);
|
|
16
|
+
--shadow-tooltip: var(--shadow-md);
|
|
17
|
+
|
|
18
|
+
/* Required for Zag.js */
|
|
19
|
+
--tooltip-arrow-size: var(--spacing-150);
|
|
20
|
+
--tooltip-arrow-background: var(--color-tooltip-bg);
|
|
21
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
@import "./atoms/_badge.css";
|
|
2
|
+
@import "./atoms/_button.css";
|
|
3
|
+
@import "./atoms/_icon.css";
|
|
4
|
+
@import "./atoms/_input.css";
|
|
5
|
+
@import "./atoms/_numeric-input.css";
|
|
6
|
+
@import "./atoms/_rating.css";
|
|
7
|
+
@import "./atoms/_textarea.css";
|
|
8
|
+
@import "./atoms/_tooltip.css";
|
|
9
|
+
|
|
10
|
+
@import "./molecules/_accordion.css";
|
|
11
|
+
@import "./molecules/_breadcrumb.css";
|
|
12
|
+
@import "./molecules/_carousel.css";
|
|
13
|
+
@import "./molecules/_checkbox.css";
|
|
14
|
+
@import "./molecules/_color-select.css";
|
|
15
|
+
@import "./molecules/_combobox.css";
|
|
16
|
+
@import "./molecules/_dialog.css";
|
|
17
|
+
@import "./molecules/_pagination.css";
|
|
18
|
+
@import "./molecules/_popover.css";
|
|
19
|
+
@import "./molecules/_menu.css";
|
|
20
|
+
@import "./molecules/_tabs.css";
|
|
21
|
+
@import "./molecules/_product-card.css";
|
|
22
|
+
@import "./molecules/_slider.css";
|
|
23
|
+
@import "./molecules/_search-form.css";
|
|
24
|
+
@import "./molecules/_select.css";
|
|
25
|
+
@import "./molecules/_steps.css";
|
|
26
|
+
@import "./molecules/_switch.css";
|
|
27
|
+
@import "./molecules/_toast.css";
|
|
28
|
+
@import "./molecules/_tree-view.css";
|
|
29
|
+
|
|
30
|
+
@import "./organisms/_table.css";
|
|
31
|
+
@import "./organisms/_footer.css";
|
|
32
|
+
@import "./organisms/_header.css";
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
@theme static {
|
|
2
|
+
/* === BASE COLOR MAPPING === */
|
|
3
|
+
--color-accordion-base: var(--color-surface);
|
|
4
|
+
--color-accordion-border: var(--color-border-primary);
|
|
5
|
+
--color-accordion-accent: var(--color-primary);
|
|
6
|
+
|
|
7
|
+
/* === DERIVED COLORS === */
|
|
8
|
+
/* Background colors */
|
|
9
|
+
--color-accordion-bg: var(--color-accordion-base);
|
|
10
|
+
--color-accordion-title-bg: var(--color-accordion-bg);
|
|
11
|
+
--color-accordion-content-bg: var(--color-accordion-bg);
|
|
12
|
+
|
|
13
|
+
/* Foreground colors */
|
|
14
|
+
--color-accordion-fg: var(--color-fg-primary);
|
|
15
|
+
--color-accordion-title-fg: var(--color-accordion-fg);
|
|
16
|
+
--color-accordion-subtitle-fg: --alpha(
|
|
17
|
+
var(--color-accordion-fg) /
|
|
18
|
+
var(--opacity-text-secondary)
|
|
19
|
+
);
|
|
20
|
+
--color-accordion-content-fg: var(--color-accordion-fg);
|
|
21
|
+
|
|
22
|
+
/* === STATE VARIATIONS === */
|
|
23
|
+
--color-accordion-bg-hover: oklch(
|
|
24
|
+
from var(--color-accordion-bg) calc(l + var(--state-hover)) c h
|
|
25
|
+
);
|
|
26
|
+
--color-accordion-title-bg-hover: var(--color-accordion-bg-hover);
|
|
27
|
+
|
|
28
|
+
/* === COMPONENT VARIANTS === */
|
|
29
|
+
/* Component variants will be added here when needed */
|
|
30
|
+
|
|
31
|
+
/* === VALIDATION STATES === */
|
|
32
|
+
/* Validation states will be added here when needed */
|
|
33
|
+
|
|
34
|
+
/* === DISABLED STATES === */
|
|
35
|
+
--color-accordion-fg-disabled: --alpha(
|
|
36
|
+
var(--color-disabled-fg) /
|
|
37
|
+
var(--opacity-disabled)
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
/* === SPACING === */
|
|
41
|
+
--padding-accordion-title-sm: var(--spacing-100) var(--spacing-150);
|
|
42
|
+
--padding-accordion-title-md: var(--spacing-150) var(--spacing-200);
|
|
43
|
+
--padding-accordion-title-lg: var(--spacing-200) var(--spacing-250);
|
|
44
|
+
|
|
45
|
+
--padding-accordion-content-sm: var(--spacing-100) var(--spacing-100);
|
|
46
|
+
--padding-accordion-content-md: var(--spacing-150) var(--spacing-200);
|
|
47
|
+
--padding-accordion-content-lg: var(--spacing-200) var(--spacing-300);
|
|
48
|
+
|
|
49
|
+
--padding-accordion-icon: var(--spacing-200);
|
|
50
|
+
|
|
51
|
+
/* === TYPOGRAPHY === */
|
|
52
|
+
/* Font weights */
|
|
53
|
+
--font-weight-accordion-title: var(--font-weight-medium);
|
|
54
|
+
|
|
55
|
+
/* Default sizes */
|
|
56
|
+
--text-accordion-title-md: var(--text-md);
|
|
57
|
+
--text-accordion-content-md: var(--text-md);
|
|
58
|
+
--text-accordion-subtitle-md: var(--text-sm);
|
|
59
|
+
|
|
60
|
+
/* Size variants */
|
|
61
|
+
--text-accordion-title-lg: var(--text-lg);
|
|
62
|
+
--text-accordion-content-lg: var(--text-lg);
|
|
63
|
+
--text-accordion-subtitle-lg: var(--text-md);
|
|
64
|
+
--text-accordion-title-sm: var(--text-sm);
|
|
65
|
+
--text-accordion-content-sm: var(--text-sm);
|
|
66
|
+
--text-accordion-subtitle-sm: var(--text-xs);
|
|
67
|
+
|
|
68
|
+
/* === BORDERS & RADIUS === */
|
|
69
|
+
--border-width-accordion: var(--border-width-sm);
|
|
70
|
+
--radius-accordion: var(--radius-sm);
|
|
71
|
+
|
|
72
|
+
/* === SHADOWS === */
|
|
73
|
+
--shadow-accordion-root-sm: var(--shadow-primary);
|
|
74
|
+
--shadow-accordion-root-md: var(--shadow-xl);
|
|
75
|
+
--shadow-accordion-content-sm: var(--shadow-sm);
|
|
76
|
+
--shadow-accordion-content-md: var(--shadow-primary);
|
|
77
|
+
|
|
78
|
+
/* === FOCUS RINGS === */
|
|
79
|
+
--color-accordion-ring: var(--color-ring);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/* Semantic tokens for accordion icons */
|
|
83
|
+
@utility token-icon-accordion-chevron {
|
|
84
|
+
@apply icon-[mdi--chevron-down];
|
|
85
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
@theme static {
|
|
2
|
+
/* === BASE COLOR MAPPING === */
|
|
3
|
+
/* Reference layer - single source of truth for theming */
|
|
4
|
+
--color-breadcrumb: var(--color-surface);
|
|
5
|
+
--color-breadcrumb-accent: var(--color-primary);
|
|
6
|
+
|
|
7
|
+
/* === DERIVED COLORS === */
|
|
8
|
+
/* Background colors */
|
|
9
|
+
--color-breadcrumb-bg: var(--color-breadcrumb);
|
|
10
|
+
|
|
11
|
+
/* Foreground colors */
|
|
12
|
+
--color-breadcrumb-fg: var(--color-fg-primary);
|
|
13
|
+
--color-breadcrumb-fg-secondary: var(--color-fg-secondary);
|
|
14
|
+
--color-breadcrumb-fg-current: var(--color-breadcrumb-accent);
|
|
15
|
+
|
|
16
|
+
/* Slot-specific colors */
|
|
17
|
+
--color-breadcrumb-item-fg: var(--color-breadcrumb-fg);
|
|
18
|
+
--color-breadcrumb-separator-fg: var(--color-breadcrumb-fg-secondary);
|
|
19
|
+
--color-breadcrumb-ellipsis-fg: var(--color-breadcrumb-fg-secondary);
|
|
20
|
+
|
|
21
|
+
/* === STATE VARIATIONS === */
|
|
22
|
+
--color-breadcrumb-fg-hover: var(--color-breadcrumb-accent);
|
|
23
|
+
|
|
24
|
+
/* === SPACING === */
|
|
25
|
+
--spacing-breadcrumb-sm: var(--spacing-100);
|
|
26
|
+
--spacing-breadcrumb-md: var(--spacing-150);
|
|
27
|
+
--spacing-breadcrumb-lg: var(--spacing-200);
|
|
28
|
+
|
|
29
|
+
/* === TYPOGRAPHY === */
|
|
30
|
+
--text-breadcrumb-sm: var(--text-xs);
|
|
31
|
+
--text-breadcrumb-md: var(--text-sm);
|
|
32
|
+
--text-breadcrumb-lg: var(--text-md);
|
|
33
|
+
|
|
34
|
+
/* === FOCUS RINGS === */
|
|
35
|
+
--color-breadcrumb-ring: var(--color-ring);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@utility token-icon-breadcrumb-separator {
|
|
39
|
+
@apply icon-[mdi--chevron-right];
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@utility token-icon-breadcrumb-ellipsis {
|
|
43
|
+
@apply icon-[mdi--ellipsis-horizontal];
|
|
44
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
@theme static {
|
|
2
|
+
/* === BASE COLOR MAPPING === */
|
|
3
|
+
/* Reference layer - single source of truth for theming */
|
|
4
|
+
--color-carousel: var(--color-surface);
|
|
5
|
+
--color-carousel-accent: var(--color-primary);
|
|
6
|
+
|
|
7
|
+
/* === DERIVED COLORS === */
|
|
8
|
+
/* Background colors - using reference layer */
|
|
9
|
+
--color-carousel-trigger-bg: oklch(
|
|
10
|
+
from var(--color-carousel) calc(l - var(--surface-increment) * 4) c h
|
|
11
|
+
);
|
|
12
|
+
--color-carousel-trigger-bg-hover: oklch(
|
|
13
|
+
from var(--color-carousel) calc(l - var(--surface-increment) * 8) c h
|
|
14
|
+
);
|
|
15
|
+
--color-carousel-control-bg: oklch(
|
|
16
|
+
from var(--color-carousel) calc(l - var(--surface-increment) * 2) c h
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
/* Foreground colors */
|
|
20
|
+
--color-carousel-trigger-fg: var(--color-fg-dark);
|
|
21
|
+
--color-carousel-trigger-fg-hover: var(--color-fg-dark);
|
|
22
|
+
|
|
23
|
+
/* Indicator colors */
|
|
24
|
+
--color-carousel-indicator-bg: oklch(
|
|
25
|
+
from var(--color-carousel) calc(l - var(--surface-increment) * 4) c h
|
|
26
|
+
);
|
|
27
|
+
--color-carousel-indicator-bg-active: var(--color-carousel-accent);
|
|
28
|
+
--color-carousel-indicator-border: transparent;
|
|
29
|
+
--color-carousel-indicator-border-active: transparent;
|
|
30
|
+
|
|
31
|
+
/* === SPACING === */
|
|
32
|
+
/* Root spacing */
|
|
33
|
+
--spacing-carousel-root-sm: var(--container-3xs);
|
|
34
|
+
--spacing-carousel-root-md: var(--container-sm);
|
|
35
|
+
--spacing-carousel-root-lg: var(--container-lg);
|
|
36
|
+
|
|
37
|
+
--spacing-carousel-trigger-top: var(--spacing-100);
|
|
38
|
+
--spacing-carousel-trigger-right: var(--spacing-100);
|
|
39
|
+
|
|
40
|
+
/* Control spacing */
|
|
41
|
+
--padding-carousel-control: var(--spacing-100);
|
|
42
|
+
--gap-carousel-control: var(--spacing-200);
|
|
43
|
+
|
|
44
|
+
/* Trigger spacing */
|
|
45
|
+
--padding-carousel-trigger: 0 0;
|
|
46
|
+
|
|
47
|
+
/* Indicator spacing */
|
|
48
|
+
--gap-carousel-indicator: var(--spacing-100);
|
|
49
|
+
--width-carousel-indicator: var(--spacing-200);
|
|
50
|
+
|
|
51
|
+
/* === BORDERS & RADIUS === */
|
|
52
|
+
--radius-carousel: var(--radius-sm);
|
|
53
|
+
--radius-carousel-indicator: 50%;
|
|
54
|
+
|
|
55
|
+
/* === TYPOGRAPHY === */
|
|
56
|
+
--text-carousel-trigger-size: var(--text-md);
|
|
57
|
+
|
|
58
|
+
/* === FOCUS RINGS === */
|
|
59
|
+
--color-carousel-ring: var(--color-ring);
|
|
60
|
+
|
|
61
|
+
/* === ASPECT RATIO === */
|
|
62
|
+
/* Additional section for aspect ratios */
|
|
63
|
+
--aspect-carousel-indicator: var(--aspect-square);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
@utility token-icon-carousel-prev {
|
|
67
|
+
@apply icon-[mdi--chevron-left];
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@utility token-icon-carousel-next {
|
|
71
|
+
@apply icon-[mdi--chevron-right];
|
|
72
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
@theme static {
|
|
2
|
+
/* === BASE TOKEN MAPPING === */
|
|
3
|
+
--color-checkbox: var(--color-fill-active);
|
|
4
|
+
--color-checkbox-error: var(--color-danger);
|
|
5
|
+
--color-checkbox-checked: var(--color-success);
|
|
6
|
+
--color-checkbox-border: var(--color-border-primary);
|
|
7
|
+
--opacity-checkbox-disabled: var(--opacity-disabled);
|
|
8
|
+
|
|
9
|
+
--color-checkbox-indeterminate: var(--color-primary);
|
|
10
|
+
|
|
11
|
+
--color-checkbox-ring: var(--color-ring);
|
|
12
|
+
--color-checkbox-border-error: var(--color-checkbox-error);
|
|
13
|
+
|
|
14
|
+
--spacing-checkbox: var(--spacing-200);
|
|
15
|
+
--color-icon-fg: var(--color-fg-dark);
|
|
16
|
+
--text-checkbox-icon-md: var(--text-xs);
|
|
17
|
+
--radius-checkbox: var(--radius-sm);
|
|
18
|
+
|
|
19
|
+
--width-indeterminate: 60%;
|
|
20
|
+
--height-indeterminate: 2px;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@utility token-icon-checkbox {
|
|
24
|
+
@apply icon-[mdi--check-bold];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@utility token-icon-checkbox-indeterminate {
|
|
28
|
+
@apply icon-[mdi--minus];
|
|
29
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--cols-num: 4;
|
|
3
|
+
/*breakpoint md*/
|
|
4
|
+
@media (width < 48rem) {
|
|
5
|
+
--cols-num: 3;
|
|
6
|
+
}
|
|
7
|
+
/*breakpoint xs*/
|
|
8
|
+
@media (width < 30rem) {
|
|
9
|
+
--cols-num: 2;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@theme static {
|
|
14
|
+
/* === DERIVED COLORS === */
|
|
15
|
+
--color-color-select-accent: var(--color-primary);
|
|
16
|
+
--color-color-select-border: var(--color-highlight);
|
|
17
|
+
--color-color-select-border-hover: var(--color-color-select-accent);
|
|
18
|
+
--color-color-select-selected: var(--color-color-select-accent);
|
|
19
|
+
--color-color-select-fg-check: var(--color-white);
|
|
20
|
+
--color-color-select-ring: var(--color-ring);
|
|
21
|
+
--color-color-select-label-fg: var(--color-fg-secondary);
|
|
22
|
+
|
|
23
|
+
/* === SPACING === */
|
|
24
|
+
--padding-color-select-atom: 0 0;
|
|
25
|
+
--spacing-color-select-group-sm: var(--spacing-100);
|
|
26
|
+
--spacing-color-select-group-md: var(--spacing-200);
|
|
27
|
+
--spacing-color-select-group-lg: var(--spacing-300);
|
|
28
|
+
|
|
29
|
+
--spacing-color-select-sm: var(--spacing-250);
|
|
30
|
+
--spacing-color-select-md: var(--spacing-350);
|
|
31
|
+
--spacing-color-select-lg: var(--spacing-450);
|
|
32
|
+
|
|
33
|
+
/* === TYPOGRAPHY === */
|
|
34
|
+
--text-color-select-sm: var(--text-xs);
|
|
35
|
+
--text-color-select-md: var(--text-sm);
|
|
36
|
+
--text-color-select-lg: var(--text-md);
|
|
37
|
+
--size-color-select-icon: 50%;
|
|
38
|
+
|
|
39
|
+
/* === BORDERS & RADIUS === */
|
|
40
|
+
--radius-color-select-full: var(--radius-full);
|
|
41
|
+
--radius-color-select-sm: var(--radius-sm);
|
|
42
|
+
--radius-color-select-md: var(--radius-md);
|
|
43
|
+
--radius-color-select-lg: var(--radius-2xl);
|
|
44
|
+
|
|
45
|
+
/* === SHADOWS === */
|
|
46
|
+
--shadow-color-select: var(--shadow-sm);
|
|
47
|
+
|
|
48
|
+
/* === LAYOUT === */
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@utility token-icon-color-select {
|
|
52
|
+
@apply icon-[mdi--check-bold];
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@utility select-disabled {
|
|
56
|
+
@apply grayscale-75;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@utility color-select-grid {
|
|
60
|
+
grid-template-columns: repeat(var(--cols-num), minmax(0, 1fr));
|
|
61
|
+
}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
@theme static {
|
|
2
|
+
/* === BASE COLOR MAPPING === */
|
|
3
|
+
/* Reference layer - single source of truth for theming */
|
|
4
|
+
--color-combobox: var(--color-surface);
|
|
5
|
+
--color-combobox-success-fg: var(--color-success);
|
|
6
|
+
--color-combobox-warning-fg: var(--color-warning);
|
|
7
|
+
--color-combobox-danger-fg: var(--color-danger);
|
|
8
|
+
|
|
9
|
+
/* === DERIVED COLORS === */
|
|
10
|
+
/* Background colors - using reference layer */
|
|
11
|
+
--color-combobox-bg: var(--color-combobox);
|
|
12
|
+
|
|
13
|
+
/* Foreground colors */
|
|
14
|
+
--color-combobox-fg: var(--color-fg-primary);
|
|
15
|
+
--color-combobox-placeholder: --alpha(
|
|
16
|
+
var(--color-combobox-fg) /
|
|
17
|
+
var(--opacity-placeholder)
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
/* Border colors */
|
|
21
|
+
--color-combobox-border: var(--color-border-primary);
|
|
22
|
+
--color-combobox-border-hover: oklch(
|
|
23
|
+
from var(--color-combobox-border) calc(l + var(--state-hover)) c h
|
|
24
|
+
);
|
|
25
|
+
--color-combobox-border-focus: var(--color-combobox-accent);
|
|
26
|
+
|
|
27
|
+
/* === STATE VARIATIONS === */
|
|
28
|
+
/* Auto-calculated using semantic state modifiers */
|
|
29
|
+
--color-combobox-bg-hover: oklch(
|
|
30
|
+
from var(--color-combobox) calc(l + var(--state-hover)) c h
|
|
31
|
+
);
|
|
32
|
+
--color-combobox-bg-focus: oklch(
|
|
33
|
+
from var(--color-combobox) calc(l + var(--state-active)) c h
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
/* Input slot states */
|
|
37
|
+
--color-combobox-input-bg: transparent;
|
|
38
|
+
--color-combobox-input-bg-hover: var(--color-combobox-input-bg);
|
|
39
|
+
--color-combobox-input-bg-focused: var(--color-combobox-input-bg);
|
|
40
|
+
|
|
41
|
+
/* Trigger button states */
|
|
42
|
+
--color-combobox-trigger: var(--color-combobox-fg);
|
|
43
|
+
--color-combobox-trigger-hover: oklch(
|
|
44
|
+
from var(--color-combobox) min(l - 0.4, 1) c h
|
|
45
|
+
);
|
|
46
|
+
--color-combobox-trigger-bg: transparent;
|
|
47
|
+
--color-combobox-trigger-bg-hover: var(--color-combobox-trigger-bg);
|
|
48
|
+
--color-combobox-trigger-bg-active: var(--color-combobox-trigger-bg);
|
|
49
|
+
|
|
50
|
+
/* === COMPONENT VARIANTS === */
|
|
51
|
+
/* Dropdown content */
|
|
52
|
+
--color-combobox-content-bg: var(--color-combobox);
|
|
53
|
+
|
|
54
|
+
/* Dropdown items */
|
|
55
|
+
--color-combobox-item-fg: var(--color-combobox-fg);
|
|
56
|
+
--color-combobox-item-bg-selected: var(--color-combobox-bg-focus);
|
|
57
|
+
--color-combobox-item-bg-hover: var(--color-combobox-bg-hover);
|
|
58
|
+
|
|
59
|
+
/* === VALIDATION STATES === */
|
|
60
|
+
/* Success, warning, danger states - defined in BASE COLOR MAPPING */
|
|
61
|
+
|
|
62
|
+
/* === DISABLED STATES === */
|
|
63
|
+
/* Disabled appearance */
|
|
64
|
+
--color-combobox-bg-disabled: var(--color-disabled-bg);
|
|
65
|
+
--color-combobox-fg-disabled: var(--color-disabled-fg);
|
|
66
|
+
--color-combobox-border-disabled: var(--color-disabled-border);
|
|
67
|
+
|
|
68
|
+
/* === SPACING === */
|
|
69
|
+
/* Padding, margin, gap values */
|
|
70
|
+
--spacing-combobox-root-sm: var(--spacing-100);
|
|
71
|
+
--spacing-combobox-root-md: var(--spacing-150);
|
|
72
|
+
--spacing-combobox-root-lg: var(--spacing-200);
|
|
73
|
+
|
|
74
|
+
--padding-combobox-input-sm: var(--spacing-50);
|
|
75
|
+
--padding-combobox-input-md: var(--spacing-100);
|
|
76
|
+
--padding-combobox-input-lg: var(--spacing-150);
|
|
77
|
+
|
|
78
|
+
--padding-combobox-item-sm: var(--spacing-50) var(--spacing-150);
|
|
79
|
+
--padding-combobox-item-md: var(--spacing-50) var(--spacing-200);
|
|
80
|
+
--padding-combobox-item-lg: var(--spacing-50) var(--spacing-250);
|
|
81
|
+
|
|
82
|
+
--padding-combobox-trigger: 0 var(--spacing-100);
|
|
83
|
+
|
|
84
|
+
--spacing-combobox-clear-right: var(--spacing-250);
|
|
85
|
+
|
|
86
|
+
/* === TYPOGRAPHY === */
|
|
87
|
+
/* Font sizes and weights */
|
|
88
|
+
--text-combobox-trigger-size: var(--text-lg);
|
|
89
|
+
--text-combobox-content-sm: var(--text-sm);
|
|
90
|
+
--text-combobox-content-md: var(--text-md);
|
|
91
|
+
--text-combobox-content-lg: var(--text-lg);
|
|
92
|
+
|
|
93
|
+
/* === BORDERS & RADIUS === */
|
|
94
|
+
/* Border widths and radius values */
|
|
95
|
+
--radius-combobox: var(--radius-sm);
|
|
96
|
+
--border-width-combobox: var(--border-width-input);
|
|
97
|
+
|
|
98
|
+
/* === SHADOWS === */
|
|
99
|
+
/* Box shadow definitions - none for combobox */
|
|
100
|
+
|
|
101
|
+
/* === FOCUS RINGS === */
|
|
102
|
+
/* Focus ring colors and styles */
|
|
103
|
+
--color-combobox-ring: var(--color-ring);
|
|
104
|
+
|
|
105
|
+
/* Z-index */
|
|
106
|
+
--z-combobox-content: 20;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/* Semantic tokens for combobox icons */
|
|
110
|
+
@utility token-icon-combobox-chevron {
|
|
111
|
+
@apply icon-[mdi--chevron-down];
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
@utility token-icon-combobox-clear {
|
|
115
|
+
@apply icon-[mdi--close];
|
|
116
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--opacity-backdrop: 10%;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
@theme static {
|
|
6
|
+
/* === BASE COLOR MAPPING === */
|
|
7
|
+
/* Reference layer - single source of truth for theming */
|
|
8
|
+
--color-dialog: var(--color-surface);
|
|
9
|
+
--color-dialog-accent: var(--color-primary);
|
|
10
|
+
|
|
11
|
+
/* === DERIVED COLORS === */
|
|
12
|
+
/* Background colors - using reference layer */
|
|
13
|
+
--color-dialog-bg: var(--color-dialog);
|
|
14
|
+
--color-dialog-fg: var(--color-fg-primary);
|
|
15
|
+
--color-dialog-backdrop-bg: --alpha(
|
|
16
|
+
var(--color-fg-primary) /
|
|
17
|
+
var(--opacity-backdrop)
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
/* Content colors */
|
|
21
|
+
--color-dialog-content-bg: var(--color-dialog-bg);
|
|
22
|
+
--color-dialog-content-fg: var(--color-dialog-fg);
|
|
23
|
+
--color-dialog-content-border: var(--color-border-primary);
|
|
24
|
+
|
|
25
|
+
/* Foreground colors */
|
|
26
|
+
--color-dialog-title-fg: var(--color-dialog-fg);
|
|
27
|
+
--color-dialog-description-fg: var(--color-dialog-fg);
|
|
28
|
+
--color-dialog-close-trigger-fg: var(--color-dialog-fg);
|
|
29
|
+
|
|
30
|
+
/* === SPACING === */
|
|
31
|
+
--padding-dialog-content: var(--spacing-450);
|
|
32
|
+
--gap-dialog-content: var(--spacing-250);
|
|
33
|
+
--padding-dialog-actions: var(--spacing-150);
|
|
34
|
+
--gap-dialog-actions: var(--spacing-100);
|
|
35
|
+
--spacing-dialog-close-trigger-padding: var(--spacing-150);
|
|
36
|
+
--spacing-dialog-close-trigger-offset: var(--spacing-250);
|
|
37
|
+
|
|
38
|
+
/* === TYPOGRAPHY === */
|
|
39
|
+
--text-dialog-title-size: var(--text-xl);
|
|
40
|
+
--text-dialog-description-size: var(--text-md);
|
|
41
|
+
--font-weight-dialog-title: var(--font-weight-semibold);
|
|
42
|
+
|
|
43
|
+
/* === SIZES === */
|
|
44
|
+
--container-dialog-xs: var(--container-xs);
|
|
45
|
+
--container-dialog-sm: var(--container-sm);
|
|
46
|
+
--container-dialog-md: var(--container-md);
|
|
47
|
+
--container-dialog-lg: var(--container-lg);
|
|
48
|
+
--container-dialog-xl: var(--container-xl);
|
|
49
|
+
--container-dialog-center-h-max: 80svh;
|
|
50
|
+
--container-dialog-center-w-max: var(--container-2xl);
|
|
51
|
+
|
|
52
|
+
/* === BORDERS & RADIUS === */
|
|
53
|
+
--border-width-dialog: var(--border-width-sm);
|
|
54
|
+
--radius-dialog-center: var(--radius-sm);
|
|
55
|
+
--radius-dialog-left: 0 0 0 0;
|
|
56
|
+
--radius-dialog-right: 0 0 0 0;
|
|
57
|
+
--radius-dialog-top: 0 0 0 0;
|
|
58
|
+
--radius-dialog-bottom: 0 0 0 0;
|
|
59
|
+
--radius-dialog-close-trigger: var(--radius-full);
|
|
60
|
+
|
|
61
|
+
/* === SHADOWS === */
|
|
62
|
+
--shadow-dialog-content: var(--shadow-primary);
|
|
63
|
+
|
|
64
|
+
/* === Z-INDEX === */
|
|
65
|
+
--z-dialog-backdrop: 10;
|
|
66
|
+
--z-dialog-positioner: 20;
|
|
67
|
+
|
|
68
|
+
/* === FOCUS RINGS === */
|
|
69
|
+
--color-dialog-ring: var(--color-ring);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/* Semantic tokens for dialog icons */
|
|
73
|
+
@utility token-icon-dialog-close {
|
|
74
|
+
@apply token-icon-close;
|
|
75
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
@theme static {
|
|
2
|
+
/* ===== MENU CONTENT PANEL ===== */
|
|
3
|
+
--color-menu-content-bg: var(--color-surface);
|
|
4
|
+
--color-menu-content-border: var(--color-border-primary);
|
|
5
|
+
--radius-menu: var(--radius-sm);
|
|
6
|
+
--shadow-menu-content-shadow: var(--shadow-lg);
|
|
7
|
+
|
|
8
|
+
--padding-menu-content: var(--spacing-200);
|
|
9
|
+
|
|
10
|
+
/* ===== MENU ITEM ===== */
|
|
11
|
+
--color-menu-item-fg: var(--color-fg-primary);
|
|
12
|
+
--color-menu-item-hover: var(--color-surface-hover);
|
|
13
|
+
--radius-menu-item: var(--radius-xs);
|
|
14
|
+
|
|
15
|
+
--padding-menu-item-x: var(--spacing-250);
|
|
16
|
+
--padding-menu-item-y: var(--spacing-200);
|
|
17
|
+
--gap-menu-item: var(--spacing-200);
|
|
18
|
+
|
|
19
|
+
/* ===== MENU ITEM ICON ===== */
|
|
20
|
+
--text-menu-item-icon-size: var(--text-lg);
|
|
21
|
+
--color-menu-item-icon-fg: var(--color-fg-secondary);
|
|
22
|
+
|
|
23
|
+
/* ===== MENU SEPARATOR ===== */
|
|
24
|
+
--color-menu-separator-bg: var(--color-border-primary);
|
|
25
|
+
--height-menu-separator: 1px;
|
|
26
|
+
--margin-menu-separator: var(--spacing-200);
|
|
27
|
+
|
|
28
|
+
/* ===== MENU SUBMENU INDICATOR ===== */
|
|
29
|
+
--color-menu-submenu-indicator-fg: var(--color-fg-secondary);
|
|
30
|
+
--spacing-menu-submenu-indicator: var(--spacing-250);
|
|
31
|
+
--spacing-menu-submenu-offset: var(--spacing-200);
|
|
32
|
+
|
|
33
|
+
/* ===== MENU DISABLED STATE ===== */
|
|
34
|
+
--opacity-menu-disabled: 50%;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/* Semantic tokens for menu icons */
|
|
38
|
+
@utility token-icon-menu-trigger {
|
|
39
|
+
@apply token-icon-chevron-down;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@utility token-icon-menu-submenu {
|
|
43
|
+
@apply token-icon-chevron-right;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@utility token-icon-menu-check {
|
|
47
|
+
@apply token-icon-check;
|
|
48
|
+
}
|