@teseor/css 1.8.0 → 1.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/compiled.css +1 -1
- package/dist/index.css +115 -115
- package/package.json +1 -1
- package/src/components/actions/button/button.api.json +29 -32
- package/src/components/actions/button/index.scss +36 -11
- package/src/components/actions/button-group/button-group.api.json +3 -1
- package/src/components/actions/button-group/index.scss +4 -0
- package/src/components/actions/close-button/close-button.api.json +31 -18
- package/src/components/actions/close-button/index.scss +26 -6
- package/src/components/content/divider/divider.api.json +12 -7
- package/src/components/content/divider/index.scss +11 -4
- package/src/components/content/scroll-area/index.scss +15 -1
- package/src/components/content/scroll-area/scroll-area-visual.png +0 -0
- package/src/components/content/scroll-area/scroll-area.api.json +33 -22
- package/src/components/content/scroll-area/scroll-area.docs.json +70 -1
- package/src/components/content/spacer/index.scss +6 -1
- package/src/components/content/spacer/spacer.api.json +8 -1
- package/src/components/data-display/avatar/avatar.api.json +36 -17
- package/src/components/data-display/avatar/index.scss +20 -2
- package/src/components/data-display/badge/badge.api.json +30 -48
- package/src/components/data-display/badge/index.scss +13 -0
- package/src/components/data-display/card/card.api.json +21 -23
- package/src/components/data-display/card/index.scss +19 -4
- package/src/components/data-display/data-list/data-list.api.json +9 -4
- package/src/components/data-display/data-list/index.scss +28 -11
- package/src/components/data-display/icon/icon.api.json +11 -22
- package/src/components/data-display/icon/index.scss +9 -4
- package/src/components/data-display/image/image.api.json +40 -26
- package/src/components/data-display/image/image.docs.json +1 -1
- package/src/components/data-display/image/index.scss +15 -1
- package/src/components/data-display/stat/index.scss +13 -1
- package/src/components/data-display/stat/stat.api.json +45 -7
- package/src/components/data-display/status/index.scss +8 -0
- package/src/components/data-display/status/status.api.json +10 -6
- package/src/components/data-display/table/index.scss +20 -6
- package/src/components/data-display/table/table.api.json +11 -5
- package/src/components/data-display/tag/index.scss +28 -3
- package/src/components/data-display/tag/tag.api.json +48 -22
- package/src/components/disclosure/accordion/accordion.api.json +7 -3
- package/src/components/disclosure/accordion/index.scss +8 -2
- package/src/components/disclosure/disclosure/disclosure.api.json +15 -8
- package/src/components/disclosure/disclosure/index.scss +21 -6
- package/src/components/feedback/alert/alert.api.json +40 -65
- package/src/components/feedback/alert/index.scss +26 -7
- package/src/components/feedback/progress/index.scss +16 -3
- package/src/components/feedback/progress/progress.api.json +13 -8
- package/src/components/feedback/progress-circle/index.scss +15 -2
- package/src/components/feedback/progress-circle/progress-circle.api.json +17 -8
- package/src/components/feedback/skeleton/index.scss +9 -2
- package/src/components/feedback/skeleton/skeleton.api.json +8 -4
- package/src/components/feedback/spinner/index.scss +14 -1
- package/src/components/feedback/spinner/spinner.api.json +27 -13
- package/src/components/feedback/toast/index.scss +39 -15
- package/src/components/feedback/toast/toast.api.json +39 -13
- package/src/components/forms/checkbox/checkbox.api.json +22 -11
- package/src/components/forms/checkbox/index.scss +27 -9
- package/src/components/forms/checkbox-group/checkbox-group.api.json +33 -14
- package/src/components/forms/checkbox-group/index.scss +22 -5
- package/src/components/forms/field/field.api.json +5 -3
- package/src/components/forms/field/index.scss +4 -0
- package/src/components/forms/fieldset/fieldset.api.json +29 -10
- package/src/components/forms/fieldset/index.scss +21 -4
- package/src/components/forms/form/form.api.json +15 -11
- package/src/components/forms/form/index.scss +10 -0
- package/src/components/forms/form-error/form-error.api.json +7 -3
- package/src/components/forms/form-error/index.scss +7 -1
- package/src/components/forms/form-helper/form-helper.api.json +7 -3
- package/src/components/forms/form-helper/index.scss +7 -1
- package/src/components/forms/input/index.scss +43 -12
- package/src/components/forms/input/input.api.json +36 -38
- package/src/components/forms/label/index.scss +14 -5
- package/src/components/forms/label/label.api.json +9 -4
- package/src/components/forms/number-input/index.scss +40 -15
- package/src/components/forms/number-input/number-input-visual.png +0 -0
- package/src/components/forms/number-input/number-input.api.json +48 -19
- package/src/components/forms/number-input/number-input.docs.json +49 -0
- package/src/components/forms/password-input/index.scss +44 -13
- package/src/components/forms/password-input/password-input-visual.png +0 -0
- package/src/components/forms/password-input/password-input.api.json +56 -25
- package/src/components/forms/password-input/password-input.docs.json +40 -0
- package/src/components/forms/radio/index.scss +27 -10
- package/src/components/forms/radio/radio.api.json +20 -10
- package/src/components/forms/radio-group/index.scss +22 -5
- package/src/components/forms/radio-group/radio-group.api.json +33 -14
- package/src/components/forms/search-input/index.scss +42 -11
- package/src/components/forms/search-input/search-input-visual.png +0 -0
- package/src/components/forms/search-input/search-input.api.json +66 -25
- package/src/components/forms/search-input/search-input.docs.json +36 -0
- package/src/components/forms/select/index.scss +40 -11
- package/src/components/forms/select/select.api.json +35 -17
- package/src/components/forms/slider/index.scss +28 -10
- package/src/components/forms/slider/slider.api.json +35 -20
- package/src/components/forms/textarea/index.scss +40 -9
- package/src/components/forms/textarea/textarea.api.json +40 -20
- package/src/components/forms/toggle/index.scss +18 -6
- package/src/components/forms/toggle/toggle.api.json +17 -8
- package/src/components/navigation/breadcrumb/breadcrumb.api.json +25 -11
- package/src/components/navigation/breadcrumb/index.scss +17 -4
- package/src/components/navigation/dropdown-menu/dropdown-menu-visual.png +0 -0
- package/src/components/navigation/dropdown-menu/dropdown-menu.api.json +7 -3
- package/src/components/navigation/dropdown-menu/dropdown-menu.docs.json +18 -0
- package/src/components/navigation/dropdown-menu/index.scss +15 -5
- package/src/components/navigation/menu/index.scss +41 -17
- package/src/components/navigation/menu/menu.api.json +24 -13
- package/src/components/navigation/nav/index.scss +30 -11
- package/src/components/navigation/nav/nav.api.json +42 -18
- package/src/components/navigation/pagination/index.scss +21 -5
- package/src/components/navigation/pagination/pagination.api.json +21 -12
- package/src/components/navigation/tabs/index.scss +43 -15
- package/src/components/navigation/tabs/tabs.api.json +49 -22
- package/src/components/overlays/dialog/dialog.api.json +9 -4
- package/src/components/overlays/dialog/index.scss +12 -3
- package/src/components/overlays/drawer/drawer-visual.png +0 -0
- package/src/components/overlays/drawer/drawer.api.json +26 -13
- package/src/components/overlays/drawer/index.scss +51 -26
- package/src/components/overlays/modal/index.scss +18 -3
- package/src/components/overlays/modal/modal.api.json +22 -12
- package/src/components/overlays/overlay/index.scss +17 -5
- package/src/components/overlays/overlay/overlay.api.json +11 -6
- package/src/components/overlays/popover/index.scss +26 -9
- package/src/components/overlays/popover/popover.api.json +18 -9
- package/src/components/overlays/tooltip/index.scss +17 -2
- package/src/components/overlays/tooltip/tooltip.api.json +19 -10
- package/src/components/typography/blockquote/blockquote.api.json +34 -7
- package/src/components/typography/blockquote/index.scss +17 -4
- package/src/components/typography/code/code.api.json +26 -11
- package/src/components/typography/code/index.scss +23 -6
- package/src/components/typography/code-block/code-block-visual.png +0 -0
- package/src/components/typography/code-block/code-block.api.json +31 -12
- package/src/components/typography/code-block/code-block.docs.json +18 -0
- package/src/components/typography/code-block/index.scss +26 -7
- package/src/components/typography/heading/heading.api.json +37 -18
- package/src/components/typography/heading/index.scss +18 -0
- package/src/components/typography/kbd/index.scss +14 -2
- package/src/components/typography/kbd/kbd.api.json +41 -8
- package/src/components/typography/link/index.scss +16 -3
- package/src/components/typography/link/link.api.json +17 -9
- package/src/components/typography/list/index.scss +7 -0
- package/src/components/typography/list/list.api.json +12 -7
- package/src/components/typography/list/list.docs.json +3 -0
- package/src/components/typography/mark/index.scss +7 -0
- package/src/components/typography/mark/mark.api.json +26 -5
- package/src/config/tokens/_variables.scss +44 -0
- package/src/config/tokens/motion/index.scss +2 -0
- package/src/config/tokens/zindex/index.scss +1 -0
- package/src/debug/grid-overlay.scss +4 -3
- package/src/layout/app-shell/app-shell-visual.png +0 -0
- package/src/layout/app-shell/app-shell.api.json +6 -26
- package/src/layout/app-shell/app-shell.docs.json +18 -0
- package/src/layout/app-shell/index.scss +4 -0
- package/src/layout/aspect-ratio/aspect-ratio.api.json +2 -7
- package/src/layout/aspect-ratio/index.scss +4 -0
- package/src/layout/box/box.api.json +25 -8
- package/src/layout/box/index.scss +26 -8
- package/src/layout/center/center.api.json +1 -0
- package/src/layout/center/index.scss +3 -0
- package/src/layout/column/column.api.json +2 -1
- package/src/layout/column/index.scss +15 -6
- package/src/layout/container/container.api.json +4 -3
- package/src/layout/container/index.scss +13 -6
- package/src/layout/content/content.api.json +7 -3
- package/src/layout/content/index.scss +10 -1
- package/src/layout/footer/footer-visual.png +0 -0
- package/src/layout/footer/footer.api.json +11 -5
- package/src/layout/footer/footer.docs.json +9 -0
- package/src/layout/footer/index.scss +21 -5
- package/src/layout/grid/grid.api.json +2 -1
- package/src/layout/grid/index.scss +6 -1
- package/src/layout/main/index.scss +8 -2
- package/src/layout/main/main.api.json +1 -0
- package/src/layout/nav-rail/index.scss +14 -3
- package/src/layout/nav-rail/nav-rail.api.json +11 -5
- package/src/layout/page-header/index.scss +21 -6
- package/src/layout/page-header/page-header.api.json +9 -4
- package/src/layout/row/index.scss +13 -5
- package/src/layout/row/row.api.json +2 -1
- package/src/layout/sidebar/index.scss +18 -8
- package/src/layout/sidebar/sidebar.api.json +1 -0
- package/src/layout/sidebar/sidebar.docs.json +2 -1
- package/src/layout/sidebar-nav/index.scss +56 -18
- package/src/layout/sidebar-nav/sidebar-nav.api.json +90 -11
- package/src/layout/topbar/index.scss +20 -5
- package/src/layout/topbar/topbar.api.json +11 -5
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
"$schema": "Auto-generated from index.scss annotations. Do not edit manually — run: pnpm generate:api",
|
|
2
3
|
"name": "alert",
|
|
3
4
|
"element": "div",
|
|
4
5
|
"modifiers": {
|
|
@@ -13,108 +14,82 @@
|
|
|
13
14
|
}
|
|
14
15
|
},
|
|
15
16
|
"elements": {
|
|
17
|
+
"icon": {},
|
|
16
18
|
"content": {},
|
|
17
19
|
"title": {},
|
|
18
20
|
"description": {},
|
|
19
|
-
"icon": {},
|
|
20
21
|
"close": {}
|
|
21
22
|
},
|
|
22
23
|
"cssVars": [
|
|
24
|
+
{
|
|
25
|
+
"name": "--ui-alert-accent",
|
|
26
|
+
"default": "var(--ui-color-border)",
|
|
27
|
+
"description": "Accent color"
|
|
28
|
+
},
|
|
23
29
|
{
|
|
24
30
|
"name": "--ui-alert-padding",
|
|
25
|
-
"default": "var(--ui-space-2)"
|
|
31
|
+
"default": "var(--ui-space-2)",
|
|
32
|
+
"description": "Padding on all sides"
|
|
26
33
|
},
|
|
27
34
|
{
|
|
28
35
|
"name": "--ui-alert-border-width",
|
|
29
|
-
"default": "var(--ui-border-width-sm)"
|
|
36
|
+
"default": "var(--ui-border-width-sm)",
|
|
37
|
+
"description": "Border thickness"
|
|
30
38
|
},
|
|
31
39
|
{
|
|
32
40
|
"name": "--ui-alert-gap",
|
|
33
|
-
"default": "var(--ui-space-1)"
|
|
41
|
+
"default": "var(--ui-space-1)",
|
|
42
|
+
"description": "Gap between children"
|
|
34
43
|
},
|
|
35
44
|
{
|
|
36
45
|
"name": "--ui-alert-radius",
|
|
37
|
-
"default": "var(--ui-radius-md)"
|
|
38
|
-
|
|
39
|
-
{
|
|
40
|
-
"name": "--ui-alert-bg",
|
|
41
|
-
"default": "var(--ui-color-bg-subtle)"
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"name": "--ui-alert-border-color",
|
|
45
|
-
"default": "var(--ui-color-border)"
|
|
46
|
+
"default": "var(--ui-radius-md)",
|
|
47
|
+
"description": "Corner radius"
|
|
46
48
|
},
|
|
47
49
|
{
|
|
48
50
|
"name": "--ui-alert-color",
|
|
49
|
-
"default": "var(--ui-color-text)"
|
|
51
|
+
"default": "var(--ui-color-text)",
|
|
52
|
+
"description": "Text color"
|
|
50
53
|
},
|
|
51
54
|
{
|
|
52
|
-
"name": "--ui-alert-
|
|
53
|
-
"default": "
|
|
55
|
+
"name": "--ui-alert-font-size",
|
|
56
|
+
"default": "inherit",
|
|
57
|
+
"description": "Font size"
|
|
54
58
|
},
|
|
55
59
|
{
|
|
56
60
|
"name": "--ui-alert-padding-sm",
|
|
57
|
-
"default": "var(--ui-space-1)"
|
|
58
|
-
|
|
59
|
-
{
|
|
60
|
-
"name": "--ui-alert-font-size-sm",
|
|
61
|
-
"default": "var(--ui-font-size-sm)"
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
"name": "--ui-alert-padding-lg",
|
|
65
|
-
"default": "var(--ui-space-4)"
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
"name": "--ui-alert-font-size-lg",
|
|
69
|
-
"default": "var(--ui-font-size-lg)"
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"name": "--ui-alert-info-bg",
|
|
73
|
-
"default": "var(--ui-color-bg-subtle)"
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
"name": "--ui-alert-info-border",
|
|
77
|
-
"default": "var(--ui-color-primary)"
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
"name": "--ui-alert-info-icon",
|
|
81
|
-
"default": "var(--ui-color-primary)"
|
|
82
|
-
},
|
|
83
|
-
{
|
|
84
|
-
"name": "--ui-alert-success-bg",
|
|
85
|
-
"default": "var(--ui-color-bg-subtle)"
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"name": "--ui-alert-success-border",
|
|
89
|
-
"default": "var(--ui-color-success)"
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
"name": "--ui-alert-success-icon",
|
|
93
|
-
"default": "var(--ui-color-success)"
|
|
61
|
+
"default": "var(--ui-space-1)",
|
|
62
|
+
"description": "Padding on all sides at small size"
|
|
94
63
|
},
|
|
95
64
|
{
|
|
96
|
-
"name": "--ui-alert-
|
|
97
|
-
"default": "var(--ui-
|
|
65
|
+
"name": "--ui-alert-gap-sm",
|
|
66
|
+
"default": "calc(var(--ui-unit) * 0.5)",
|
|
67
|
+
"description": "Gap between children at small size"
|
|
98
68
|
},
|
|
99
69
|
{
|
|
100
|
-
"name": "--ui-alert-
|
|
101
|
-
"default": "var(--ui-
|
|
70
|
+
"name": "--ui-alert-font-size-sm",
|
|
71
|
+
"default": "var(--ui-font-size-sm)",
|
|
72
|
+
"description": "Font size at small size"
|
|
102
73
|
},
|
|
103
74
|
{
|
|
104
|
-
"name": "--ui-alert-
|
|
105
|
-
"default": "var(--ui-
|
|
75
|
+
"name": "--ui-alert-padding-lg",
|
|
76
|
+
"default": "var(--ui-space-4)",
|
|
77
|
+
"description": "Padding on all sides at large size"
|
|
106
78
|
},
|
|
107
79
|
{
|
|
108
|
-
"name": "--ui-alert-
|
|
109
|
-
"default": "var(--ui-
|
|
80
|
+
"name": "--ui-alert-gap-lg",
|
|
81
|
+
"default": "var(--ui-space-2)",
|
|
82
|
+
"description": "Gap between children at large size"
|
|
110
83
|
},
|
|
111
84
|
{
|
|
112
|
-
"name": "--ui-alert-
|
|
113
|
-
"default": "var(--ui-
|
|
85
|
+
"name": "--ui-alert-font-size-lg",
|
|
86
|
+
"default": "var(--ui-font-size-lg)",
|
|
87
|
+
"description": "Font size at large size"
|
|
114
88
|
},
|
|
115
89
|
{
|
|
116
|
-
"name": "--ui-alert-
|
|
117
|
-
"default": "var(--ui-
|
|
90
|
+
"name": "--ui-alert-padding-end",
|
|
91
|
+
"default": "calc(var(--ui-unit) * 5)",
|
|
92
|
+
"description": "Padding end"
|
|
118
93
|
}
|
|
119
94
|
]
|
|
120
95
|
}
|
|
@@ -5,16 +5,28 @@
|
|
|
5
5
|
|
|
6
6
|
@layer components.tokens {
|
|
7
7
|
.alert {
|
|
8
|
+
--_weight-medium: var(--ui-weight-medium, #{t.$weight-medium});
|
|
9
|
+
--_row-1: var(--ui-row-1, #{t.$row});
|
|
10
|
+
--_font-size-sm: var(--ui-font-size-sm, #{t.$font-size-sm});
|
|
11
|
+
--_color-text-muted: var(--ui-color-text-muted, #{t.$color-text-muted});
|
|
12
|
+
--_color-text: var(--ui-color-text, #{t.$color-text});
|
|
8
13
|
// Single accent color - variants override, bg/border derived via color-mix
|
|
14
|
+
// @desc Accent color
|
|
9
15
|
--_accent: var(--ui-alert-accent, var(--ui-color-border, #{t.$color-border}));
|
|
10
16
|
|
|
17
|
+
// @desc Padding on all sides
|
|
11
18
|
--_padding: var(--ui-alert-padding, var(--ui-space-2, #{t.$space-2}));
|
|
19
|
+
// @desc Border thickness
|
|
12
20
|
--_border-width: var(--ui-alert-border-width, var(--ui-border-width-sm, #{t.$border-width-sm}));
|
|
21
|
+
// @desc Gap between children
|
|
13
22
|
--_gap: var(--ui-alert-gap, var(--ui-space-1, #{t.$space-1}));
|
|
23
|
+
// @desc Corner radius
|
|
14
24
|
--_radius: var(--ui-alert-radius, var(--ui-radius-md, #{t.$radius-md}));
|
|
15
25
|
--_bg: color-mix(in oklch, var(--_accent) 8%, white);
|
|
16
26
|
--_border-color: var(--_accent);
|
|
27
|
+
// @desc Text color
|
|
17
28
|
--_color: var(--ui-alert-color, var(--ui-color-text, #{t.$color-text}));
|
|
29
|
+
// @desc Font size
|
|
18
30
|
--_font-size: var(--ui-alert-font-size, inherit);
|
|
19
31
|
--_padding-end: 0;
|
|
20
32
|
--_icon-color: var(--_accent);
|
|
@@ -39,19 +51,26 @@
|
|
|
39
51
|
|
|
40
52
|
// @modifier size
|
|
41
53
|
.alert--sm {
|
|
54
|
+
// @desc Padding on all sides at small size
|
|
42
55
|
--_padding: var(--ui-alert-padding-sm, var(--ui-space-1, #{t.$space-1}));
|
|
56
|
+
// @desc Gap between children at small size
|
|
43
57
|
--_gap: var(--ui-alert-gap-sm, calc(#{t.$unit} * 0.5));
|
|
58
|
+
// @desc Font size at small size
|
|
44
59
|
--_font-size: var(--ui-alert-font-size-sm, var(--ui-font-size-sm, #{t.$font-size-sm}));
|
|
45
60
|
}
|
|
46
61
|
|
|
47
62
|
.alert--lg {
|
|
63
|
+
// @desc Padding on all sides at large size
|
|
48
64
|
--_padding: var(--ui-alert-padding-lg, var(--ui-space-4, #{t.$space-4}));
|
|
65
|
+
// @desc Gap between children at large size
|
|
49
66
|
--_gap: var(--ui-alert-gap-lg, var(--ui-space-2, #{t.$space-2}));
|
|
67
|
+
// @desc Font size at large size
|
|
50
68
|
--_font-size: var(--ui-alert-font-size-lg, var(--ui-font-size-lg, #{t.$font-size-lg}));
|
|
51
69
|
}
|
|
52
70
|
|
|
53
71
|
// @modifier boolean dismissible
|
|
54
72
|
.alert--dismissible {
|
|
73
|
+
// @desc Padding end
|
|
55
74
|
--_padding-end: var(--ui-alert-padding-end, calc(#{t.$unit} * 5));
|
|
56
75
|
}
|
|
57
76
|
}
|
|
@@ -91,19 +110,19 @@
|
|
|
91
110
|
.alert__title {
|
|
92
111
|
margin: 0;
|
|
93
112
|
|
|
94
|
-
font-weight: var(--
|
|
113
|
+
font-weight: var(--_weight-medium);
|
|
95
114
|
// Line-height aligned to grid (24px = 3 units)
|
|
96
|
-
line-height: var(--
|
|
115
|
+
line-height: var(--_row-1);
|
|
97
116
|
}
|
|
98
117
|
|
|
99
118
|
.alert__description {
|
|
100
119
|
margin: 0;
|
|
101
120
|
margin-block-start: calc(#{t.$unit} * 1);
|
|
102
121
|
|
|
103
|
-
font-size: var(--
|
|
122
|
+
font-size: var(--_font-size-sm);
|
|
104
123
|
// Line-height aligned to grid (16px = 2 units for smaller text)
|
|
105
|
-
line-height: var(--
|
|
106
|
-
color: var(--
|
|
124
|
+
line-height: var(--_row-1);
|
|
125
|
+
color: var(--_color-text-muted);
|
|
107
126
|
}
|
|
108
127
|
|
|
109
128
|
.alert__close {
|
|
@@ -112,14 +131,14 @@
|
|
|
112
131
|
|
|
113
132
|
padding: 0;
|
|
114
133
|
|
|
115
|
-
color: var(--
|
|
134
|
+
color: var(--_color-text-muted);
|
|
116
135
|
|
|
117
136
|
background: none;
|
|
118
137
|
border: none;
|
|
119
138
|
cursor: pointer;
|
|
120
139
|
|
|
121
140
|
&:hover {
|
|
122
|
-
color: var(--
|
|
141
|
+
color: var(--_color-text);
|
|
123
142
|
}
|
|
124
143
|
}
|
|
125
144
|
}
|
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
@use '../../../config/tokens/variables' as t;
|
|
2
|
+
// @component progress
|
|
3
|
+
// @element div
|
|
2
4
|
|
|
3
5
|
// Progress - progress bar indicator
|
|
4
6
|
// Shows completion status of a task
|
|
5
7
|
|
|
6
8
|
@layer components.tokens {
|
|
7
9
|
.progress {
|
|
10
|
+
--_duration-normal: var(--ui-duration-normal, #{t.$duration-normal});
|
|
11
|
+
--_ease-default: var(--ui-ease-default, ease);
|
|
12
|
+
// @desc Overall height
|
|
8
13
|
--_height: var(--ui-progress-height, calc(#{t.$unit} * 1));
|
|
9
|
-
|
|
14
|
+
// @desc Background color
|
|
15
|
+
--_bg: var(--ui-progress-bg, var(--ui-color-bg-subtle, #{t.$overlay-bg-subtle}));
|
|
16
|
+
// @desc Fill
|
|
10
17
|
--_fill: var(--ui-progress-fill, var(--ui-color-primary));
|
|
11
|
-
|
|
18
|
+
// @desc Corner radius
|
|
19
|
+
--_radius: var(--ui-progress-radius, var(--ui-radius-full, #{t.$radius-full}));
|
|
12
20
|
}
|
|
13
21
|
|
|
22
|
+
// @modifier size
|
|
14
23
|
.progress--sm {
|
|
15
24
|
--_height: calc(#{t.$unit} * 1);
|
|
16
25
|
}
|
|
@@ -37,10 +46,11 @@
|
|
|
37
46
|
background: var(--_fill);
|
|
38
47
|
border-radius: var(--_radius);
|
|
39
48
|
|
|
40
|
-
transition: inline-size var(--
|
|
49
|
+
transition: inline-size var(--_duration-normal) var(--_ease-default);
|
|
41
50
|
}
|
|
42
51
|
|
|
43
52
|
// Indeterminate state - animated stripe
|
|
53
|
+
// @modifier boolean indeterminate
|
|
44
54
|
.progress--indeterminate .progress__bar {
|
|
45
55
|
inline-size: 30%;
|
|
46
56
|
|
|
@@ -58,6 +68,7 @@
|
|
|
58
68
|
}
|
|
59
69
|
|
|
60
70
|
// Striped variant
|
|
71
|
+
// @modifier boolean striped
|
|
61
72
|
.progress--striped .progress__bar {
|
|
62
73
|
background-image: linear-gradient(
|
|
63
74
|
45deg,
|
|
@@ -73,6 +84,7 @@
|
|
|
73
84
|
}
|
|
74
85
|
|
|
75
86
|
// Animated stripes
|
|
87
|
+
// @modifier boolean animated
|
|
76
88
|
.progress--animated .progress__bar {
|
|
77
89
|
animation: progress-stripes 1s linear infinite;
|
|
78
90
|
}
|
|
@@ -98,6 +110,7 @@
|
|
|
98
110
|
}
|
|
99
111
|
|
|
100
112
|
// Color variants
|
|
113
|
+
// @modifier variant
|
|
101
114
|
.progress--success {
|
|
102
115
|
--_fill: var(--ui-color-success);
|
|
103
116
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
|
+
"$schema": "Auto-generated from index.scss annotations. Do not edit manually — run: pnpm generate:api",
|
|
2
3
|
"name": "progress",
|
|
3
4
|
"element": "div",
|
|
4
5
|
"modifiers": {
|
|
5
6
|
"size": {
|
|
6
7
|
"values": ["sm", "lg"]
|
|
7
8
|
},
|
|
8
|
-
"
|
|
9
|
-
"
|
|
9
|
+
"indeterminate": {
|
|
10
|
+
"type": "boolean"
|
|
10
11
|
},
|
|
11
12
|
"striped": {
|
|
12
13
|
"type": "boolean"
|
|
@@ -14,8 +15,8 @@
|
|
|
14
15
|
"animated": {
|
|
15
16
|
"type": "boolean"
|
|
16
17
|
},
|
|
17
|
-
"
|
|
18
|
-
"
|
|
18
|
+
"variant": {
|
|
19
|
+
"values": ["success", "warning", "danger"]
|
|
19
20
|
}
|
|
20
21
|
},
|
|
21
22
|
"elements": {
|
|
@@ -24,19 +25,23 @@
|
|
|
24
25
|
"cssVars": [
|
|
25
26
|
{
|
|
26
27
|
"name": "--ui-progress-height",
|
|
27
|
-
"default": "calc(var(--ui-unit) * 1"
|
|
28
|
+
"default": "calc(var(--ui-unit) * 1)",
|
|
29
|
+
"description": "Overall height"
|
|
28
30
|
},
|
|
29
31
|
{
|
|
30
32
|
"name": "--ui-progress-bg",
|
|
31
|
-
"default": "var(--ui-color-bg-subtle)"
|
|
33
|
+
"default": "var(--ui-color-bg-subtle)",
|
|
34
|
+
"description": "Background color"
|
|
32
35
|
},
|
|
33
36
|
{
|
|
34
37
|
"name": "--ui-progress-fill",
|
|
35
|
-
"default": "var(--ui-color-primary)"
|
|
38
|
+
"default": "var(--ui-color-primary)",
|
|
39
|
+
"description": "Fill"
|
|
36
40
|
},
|
|
37
41
|
{
|
|
38
42
|
"name": "--ui-progress-radius",
|
|
39
|
-
"default": "var(--ui-radius-full)"
|
|
43
|
+
"default": "var(--ui-radius-full)",
|
|
44
|
+
"description": "Corner radius"
|
|
40
45
|
}
|
|
41
46
|
]
|
|
42
47
|
}
|
|
@@ -1,28 +1,40 @@
|
|
|
1
1
|
@use '../../../config/tokens/variables' as t;
|
|
2
|
+
// @component progress-circle
|
|
3
|
+
// @element svg
|
|
2
4
|
|
|
3
5
|
// Progress Circle - circular progress indicator
|
|
4
6
|
// Uses SVG circles with stroke-dasharray/dashoffset driven by --ui-progress-circle-value
|
|
5
7
|
|
|
6
8
|
@layer components.tokens {
|
|
7
9
|
.progress-circle {
|
|
10
|
+
--_duration-slow: var(--ui-duration-slow, #{t.$duration-slow});
|
|
11
|
+
--_ease-default: var(--ui-ease-default, ease);
|
|
12
|
+
// @desc Overall size
|
|
8
13
|
--_size: var(--ui-progress-circle-size, calc(var(--ui-unit) * 6));
|
|
9
|
-
|
|
14
|
+
// @desc Stroke width
|
|
15
|
+
--_stroke-width: var(--ui-progress-circle-stroke-width, #{t.$progress-circle-stroke-width});
|
|
16
|
+
// @desc Fill area text color
|
|
10
17
|
--_fill-color: var(--ui-progress-circle-fill-color, var(--ui-color-primary));
|
|
18
|
+
// @desc Track text color
|
|
11
19
|
--_track-color: var(--ui-progress-circle-track-color, var(--ui-color-border));
|
|
20
|
+
// @desc Value
|
|
12
21
|
--_value: var(--ui-progress-circle-value, 0);
|
|
13
22
|
--_circumference: 282.743;
|
|
14
23
|
}
|
|
15
24
|
|
|
16
25
|
// @modifier size
|
|
17
26
|
.progress-circle--sm {
|
|
27
|
+
// @desc Overall size at small size
|
|
18
28
|
--_size: var(--ui-progress-circle-size-sm, calc(var(--ui-unit) * 4));
|
|
19
29
|
}
|
|
20
30
|
|
|
21
31
|
.progress-circle--lg {
|
|
32
|
+
// @desc Overall size at large size
|
|
22
33
|
--_size: var(--ui-progress-circle-size-lg, calc(var(--ui-unit) * 8));
|
|
23
34
|
}
|
|
24
35
|
|
|
25
36
|
.progress-circle--xl {
|
|
37
|
+
// @desc Overall size at extra-large size
|
|
26
38
|
--_size: var(--ui-progress-circle-size-xl, calc(var(--ui-unit) * 12));
|
|
27
39
|
}
|
|
28
40
|
|
|
@@ -66,10 +78,11 @@
|
|
|
66
78
|
stroke-dasharray: var(--_circumference);
|
|
67
79
|
stroke-dashoffset: calc(var(--_circumference) * (1 - var(--_value) / 100));
|
|
68
80
|
|
|
69
|
-
transition: stroke-dashoffset var(--
|
|
81
|
+
transition: stroke-dashoffset var(--_duration-slow) var(--_ease-default);
|
|
70
82
|
}
|
|
71
83
|
|
|
72
84
|
// Indeterminate - rotating partial arc
|
|
85
|
+
// @modifier boolean indeterminate
|
|
73
86
|
.progress-circle--indeterminate {
|
|
74
87
|
animation: progress-circle-rotate 1.4s linear infinite;
|
|
75
88
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
+
"$schema": "Auto-generated from index.scss annotations. Do not edit manually — run: pnpm generate:api",
|
|
2
3
|
"name": "progress-circle",
|
|
3
4
|
"element": "svg",
|
|
4
5
|
"modifiers": {
|
|
@@ -19,35 +20,43 @@
|
|
|
19
20
|
"cssVars": [
|
|
20
21
|
{
|
|
21
22
|
"name": "--ui-progress-circle-size",
|
|
22
|
-
"default": "calc(var(--ui-unit) * 6)"
|
|
23
|
+
"default": "calc(var(--ui-unit) * 6)",
|
|
24
|
+
"description": "Overall size"
|
|
23
25
|
},
|
|
24
26
|
{
|
|
25
27
|
"name": "--ui-progress-circle-stroke-width",
|
|
26
|
-
"default": "
|
|
28
|
+
"default": "var(--ui-progress-circle-stroke-width)",
|
|
29
|
+
"description": "Stroke width"
|
|
27
30
|
},
|
|
28
31
|
{
|
|
29
32
|
"name": "--ui-progress-circle-fill-color",
|
|
30
|
-
"default": "var(--ui-color-primary)"
|
|
33
|
+
"default": "var(--ui-color-primary)",
|
|
34
|
+
"description": "Fill area text color"
|
|
31
35
|
},
|
|
32
36
|
{
|
|
33
37
|
"name": "--ui-progress-circle-track-color",
|
|
34
|
-
"default": "var(--ui-color-border)"
|
|
38
|
+
"default": "var(--ui-color-border)",
|
|
39
|
+
"description": "Track text color"
|
|
35
40
|
},
|
|
36
41
|
{
|
|
37
42
|
"name": "--ui-progress-circle-value",
|
|
38
|
-
"default": "0"
|
|
43
|
+
"default": "0",
|
|
44
|
+
"description": "Value"
|
|
39
45
|
},
|
|
40
46
|
{
|
|
41
47
|
"name": "--ui-progress-circle-size-sm",
|
|
42
|
-
"default": "calc(var(--ui-unit) * 4)"
|
|
48
|
+
"default": "calc(var(--ui-unit) * 4)",
|
|
49
|
+
"description": "Overall size at small size"
|
|
43
50
|
},
|
|
44
51
|
{
|
|
45
52
|
"name": "--ui-progress-circle-size-lg",
|
|
46
|
-
"default": "calc(var(--ui-unit) * 8)"
|
|
53
|
+
"default": "calc(var(--ui-unit) * 8)",
|
|
54
|
+
"description": "Overall size at large size"
|
|
47
55
|
},
|
|
48
56
|
{
|
|
49
57
|
"name": "--ui-progress-circle-size-xl",
|
|
50
|
-
"default": "calc(var(--ui-unit) * 12)"
|
|
58
|
+
"default": "calc(var(--ui-unit) * 12)",
|
|
59
|
+
"description": "Overall size at extra-large size"
|
|
51
60
|
}
|
|
52
61
|
]
|
|
53
62
|
}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
@use '../../../config/tokens/variables' as t;
|
|
2
|
+
// @component skeleton
|
|
3
|
+
// @element div
|
|
2
4
|
|
|
3
5
|
// Skeleton - loading placeholder
|
|
4
6
|
// Animated shimmer effect for content loading states
|
|
5
7
|
|
|
6
8
|
@layer components.tokens {
|
|
7
9
|
.skeleton {
|
|
8
|
-
|
|
9
|
-
--
|
|
10
|
+
// @desc Background color
|
|
11
|
+
--_bg: var(--ui-skeleton-bg, var(--ui-color-bg-subtle, #{t.$overlay-bg-subtle}));
|
|
12
|
+
// @desc Shimmer
|
|
13
|
+
--_shimmer: var(--ui-skeleton-shimmer, #{t.$skeleton-shimmer});
|
|
14
|
+
// @desc Corner radius
|
|
10
15
|
--_radius: var(--ui-skeleton-radius, var(--ui-radius-sm, calc(#{t.$unit} / 2)));
|
|
11
16
|
}
|
|
12
17
|
}
|
|
@@ -47,6 +52,7 @@
|
|
|
47
52
|
}
|
|
48
53
|
|
|
49
54
|
// Text line variant
|
|
55
|
+
// @modifier variant
|
|
50
56
|
.skeleton--text {
|
|
51
57
|
block-size: calc(#{t.$unit} * 2);
|
|
52
58
|
inline-size: 100%;
|
|
@@ -78,6 +84,7 @@
|
|
|
78
84
|
}
|
|
79
85
|
|
|
80
86
|
// Pulse animation alternative
|
|
87
|
+
// @modifier boolean pulse
|
|
81
88
|
.skeleton--pulse {
|
|
82
89
|
animation: skeleton-pulse 1.5s infinite ease-in-out;
|
|
83
90
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
|
+
"$schema": "Auto-generated from index.scss annotations. Do not edit manually — run: pnpm generate:api",
|
|
2
3
|
"name": "skeleton",
|
|
3
4
|
"element": "div",
|
|
4
5
|
"modifiers": {
|
|
5
6
|
"variant": {
|
|
6
|
-
"values": ["text", "
|
|
7
|
+
"values": ["text", "heading", "circle", "rect", "static"]
|
|
7
8
|
},
|
|
8
9
|
"pulse": {
|
|
9
10
|
"type": "boolean"
|
|
@@ -12,15 +13,18 @@
|
|
|
12
13
|
"cssVars": [
|
|
13
14
|
{
|
|
14
15
|
"name": "--ui-skeleton-bg",
|
|
15
|
-
"default": "var(--ui-color-bg-subtle)"
|
|
16
|
+
"default": "var(--ui-color-bg-subtle)",
|
|
17
|
+
"description": "Background color"
|
|
16
18
|
},
|
|
17
19
|
{
|
|
18
20
|
"name": "--ui-skeleton-shimmer",
|
|
19
|
-
"default": "
|
|
21
|
+
"default": "var(--ui-skeleton-shimmer)",
|
|
22
|
+
"description": "Shimmer"
|
|
20
23
|
},
|
|
21
24
|
{
|
|
22
25
|
"name": "--ui-skeleton-radius",
|
|
23
|
-
"default": "var(--ui-radius-sm)"
|
|
26
|
+
"default": "var(--ui-radius-sm)",
|
|
27
|
+
"description": "Corner radius"
|
|
24
28
|
}
|
|
25
29
|
]
|
|
26
30
|
}
|
|
@@ -5,31 +5,44 @@
|
|
|
5
5
|
|
|
6
6
|
@layer components.tokens {
|
|
7
7
|
.spinner {
|
|
8
|
+
// @desc Overall size
|
|
8
9
|
--_size: var(--ui-spinner-size, calc(var(--ui-unit) * 4));
|
|
10
|
+
// @desc Border thickness
|
|
9
11
|
--_border-width: var(--ui-spinner-border-width, var(--ui-border-width-md));
|
|
12
|
+
// @desc Text color
|
|
10
13
|
--_color: var(--ui-spinner-color, currentcolor);
|
|
14
|
+
// @desc Track text color
|
|
11
15
|
--_track-color: var(--ui-spinner-track-color, transparent);
|
|
12
|
-
|
|
16
|
+
// @desc Animation duration
|
|
17
|
+
--_duration: var(--ui-spinner-duration, #{t.$spinner-duration});
|
|
13
18
|
}
|
|
14
19
|
|
|
15
20
|
// @modifier size
|
|
16
21
|
.spinner--xs {
|
|
22
|
+
// @desc Overall size at extra-small size
|
|
17
23
|
--_size: var(--ui-spinner-size-xs, calc(var(--ui-unit) * 2));
|
|
24
|
+
// @desc Border thickness at extra-small size
|
|
18
25
|
--_border-width: var(--ui-spinner-border-width-xs, var(--ui-border-width-sm));
|
|
19
26
|
}
|
|
20
27
|
|
|
21
28
|
.spinner--sm {
|
|
29
|
+
// @desc Overall size at small size
|
|
22
30
|
--_size: var(--ui-spinner-size-sm, calc(var(--ui-unit) * 3));
|
|
31
|
+
// @desc Border thickness at small size
|
|
23
32
|
--_border-width: var(--ui-spinner-border-width-sm, var(--ui-border-width-md));
|
|
24
33
|
}
|
|
25
34
|
|
|
26
35
|
.spinner--lg {
|
|
36
|
+
// @desc Overall size at large size
|
|
27
37
|
--_size: var(--ui-spinner-size-lg, calc(var(--ui-unit) * 5));
|
|
38
|
+
// @desc Border thickness at large size
|
|
28
39
|
--_border-width: var(--ui-spinner-border-width-lg, var(--ui-border-width-md));
|
|
29
40
|
}
|
|
30
41
|
|
|
31
42
|
.spinner--xl {
|
|
43
|
+
// @desc Overall size at extra-large size
|
|
32
44
|
--_size: var(--ui-spinner-size-xl, calc(var(--ui-unit) * 6));
|
|
45
|
+
// @desc Border thickness at extra-large size
|
|
33
46
|
--_border-width: var(--ui-spinner-border-width-xl, var(--ui-border-width-lg));
|
|
34
47
|
}
|
|
35
48
|
}
|