@aggc/ui 0.6.0 → 0.7.1
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/chunks/{UiSkeleton.vue_vue_type_script_setup_true_lang-B61z8swg.js → UiSkeleton.vue_vue_type_script_setup_true_lang-DUse1KRc.js} +285 -285
- package/dist/chunks/{pageHeader-D9KF7WOO.js → pageHeader-YZ3BV9dQ.js} +156 -62
- package/dist/components/StatusBadge.styles.d.ts +5 -0
- package/dist/components/StatusBadge.vue.d.ts +2 -2
- package/dist/components/UiButton.styles.d.ts +28 -1
- package/dist/components/UiButton.vue.d.ts +4 -0
- package/dist/components/UiCheckbox.styles.d.ts +2 -4
- package/dist/components/UiSegmentedControl.styles.d.ts +5 -1
- package/dist/components/UiSelect.styles.d.ts +10 -3
- package/dist/components/UiSkeleton.styles.d.ts +1 -33
- package/dist/components.js +1 -1
- package/dist/index.js +2 -2
- package/dist/styles/recipes/badge.recipe.d.ts +5 -0
- package/dist/styles/recipes/button.recipe.d.ts +28 -1
- package/dist/styles/recipes/card.recipe.d.ts +23 -12
- package/dist/styles/recipes/dropdown.recipe.d.ts +6 -6
- package/dist/styles/recipes/input.recipe.d.ts +0 -3
- package/dist/styles.js +118 -92
- package/dist/tokens/colors.d.ts +30 -0
- package/dist/tokens/core-colors.d.ts +30 -0
- package/dist/tokens/motion.d.ts +20 -0
- package/dist/tokens/radius.d.ts +9 -0
- package/dist/tokens-core.js +21 -5
- package/dist/ui.css +320 -207
- package/package.json +1 -1
- package/src/components/ResultPanel.styles.ts +7 -2
- package/src/components/SectionCard.styles.ts +1 -1
- package/src/components/StatusBadge.styles.ts +10 -8
- package/src/components/StatusBadge.vue +1 -1
- package/src/components/UiButton.vue +5 -1
- package/src/components/UiCheckbox.styles.ts +7 -11
- package/src/components/UiField.styles.ts +2 -2
- package/src/components/UiLoadingState.styles.ts +2 -2
- package/src/components/UiSegmentedControl.styles.ts +14 -4
- package/src/components/UiSelect.styles.ts +24 -10
- package/src/components/UiSkeleton.styles.ts +7 -36
- package/src/css/base.css +44 -9
- package/src/styles/layouts/page.ts +5 -0
- package/src/styles/primitives/feedback.ts +1 -0
- package/src/styles/primitives/fields.ts +21 -11
- package/src/styles/primitives/surfaces.ts +12 -5
- package/src/styles/primitives/typography.ts +5 -4
- package/src/styles/recipes/badge.recipe.ts +5 -5
- package/src/styles/recipes/button.recipe.ts +87 -8
- package/src/styles/recipes/card.recipe.ts +24 -13
- package/src/styles/recipes/dropdown.recipe.ts +11 -8
- package/src/styles/recipes/input.recipe.ts +10 -6
- package/src/tokens/core-colors.ts +5 -0
- package/src/tokens/motion.ts +8 -0
- package/src/tokens/radius.ts +3 -0
package/package.json
CHANGED
|
@@ -6,6 +6,9 @@ export const resultPanelClass = cva({
|
|
|
6
6
|
base: {
|
|
7
7
|
borderWidth: "1px",
|
|
8
8
|
padding: "5",
|
|
9
|
+
_dark: {
|
|
10
|
+
borderColor: "border.default",
|
|
11
|
+
},
|
|
9
12
|
},
|
|
10
13
|
variants: {
|
|
11
14
|
ok: {
|
|
@@ -40,12 +43,13 @@ export const resultPanelSummaryClass = css({
|
|
|
40
43
|
|
|
41
44
|
export const resultPanelIconClass = cva({
|
|
42
45
|
base: {
|
|
43
|
-
width: "
|
|
44
|
-
height: "
|
|
46
|
+
width: "9",
|
|
47
|
+
height: "9",
|
|
45
48
|
borderRadius: "full",
|
|
46
49
|
display: "flex",
|
|
47
50
|
alignItems: "center",
|
|
48
51
|
justifyContent: "center",
|
|
52
|
+
flexShrink: "0",
|
|
49
53
|
},
|
|
50
54
|
variants: {
|
|
51
55
|
ok: {
|
|
@@ -65,6 +69,7 @@ export const resultPanelTitleClass = css({
|
|
|
65
69
|
fontSize: "lg",
|
|
66
70
|
fontWeight: "700",
|
|
67
71
|
color: "text.primary",
|
|
72
|
+
lineHeight: "1.3",
|
|
68
73
|
});
|
|
69
74
|
|
|
70
75
|
export const resultPanelSectionClass = cva({
|
|
@@ -7,17 +7,14 @@ export const statusBadgeClass = cva({
|
|
|
7
7
|
justifyContent: "center",
|
|
8
8
|
borderRadius: "full",
|
|
9
9
|
borderWidth: "1px",
|
|
10
|
-
px: "
|
|
11
|
-
py: "1
|
|
10
|
+
px: "2.5",
|
|
11
|
+
py: "1",
|
|
12
12
|
fontSize: "xs",
|
|
13
13
|
fontWeight: "700",
|
|
14
14
|
textTransform: "uppercase",
|
|
15
|
-
letterSpacing: "0.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
_dark: {
|
|
19
|
-
boxShadow: "inset 0 1px 0 rgba(255,255,255,0.04)",
|
|
20
|
-
},
|
|
15
|
+
letterSpacing: "0.06em",
|
|
16
|
+
lineHeight: "1",
|
|
17
|
+
whiteSpace: "nowrap",
|
|
21
18
|
},
|
|
22
19
|
variants: {
|
|
23
20
|
tone: {
|
|
@@ -41,6 +38,11 @@ export const statusBadgeClass = cva({
|
|
|
41
38
|
color: "badge.neutralText",
|
|
42
39
|
borderColor: "badge.neutralBorder",
|
|
43
40
|
},
|
|
41
|
+
danger: {
|
|
42
|
+
bg: "badge.dangerBg",
|
|
43
|
+
color: "badge.dangerText",
|
|
44
|
+
borderColor: "badge.dangerBorder",
|
|
45
|
+
},
|
|
44
46
|
},
|
|
45
47
|
},
|
|
46
48
|
defaultVariants: {
|
|
@@ -10,6 +10,8 @@ import {
|
|
|
10
10
|
withDefaults(
|
|
11
11
|
defineProps<{
|
|
12
12
|
variant?: "solid" | "outline" | "subtle";
|
|
13
|
+
size?: "sm" | "md" | "lg";
|
|
14
|
+
tone?: "default" | "danger";
|
|
13
15
|
loading?: boolean;
|
|
14
16
|
loadingLabel?: string;
|
|
15
17
|
disabled?: boolean;
|
|
@@ -18,6 +20,8 @@ withDefaults(
|
|
|
18
20
|
}>(),
|
|
19
21
|
{
|
|
20
22
|
variant: "solid",
|
|
23
|
+
size: "md",
|
|
24
|
+
tone: "default",
|
|
21
25
|
loading: false,
|
|
22
26
|
loadingLabel: "Working...",
|
|
23
27
|
disabled: false,
|
|
@@ -33,7 +37,7 @@ withDefaults(
|
|
|
33
37
|
:disabled="disabled || loading"
|
|
34
38
|
:aria-busy="loading || undefined"
|
|
35
39
|
:aria-label="ariaLabel"
|
|
36
|
-
:class="uiButtonClass({ variant, disabled, loading })"
|
|
40
|
+
:class="uiButtonClass({ variant, size, tone, disabled, loading })"
|
|
37
41
|
>
|
|
38
42
|
<span :class="[uiButtonContentClass, loading ? uiButtonHiddenContentClass : undefined]">
|
|
39
43
|
<slot />
|
|
@@ -7,30 +7,28 @@ export const uiCheckboxRootClass = cva({
|
|
|
7
7
|
alignItems: "flex-start",
|
|
8
8
|
gap: "3",
|
|
9
9
|
textAlign: "left",
|
|
10
|
-
borderRadius: "
|
|
10
|
+
borderRadius: "xl",
|
|
11
11
|
borderWidth: "1px",
|
|
12
12
|
px: "4",
|
|
13
13
|
py: "3.5",
|
|
14
14
|
color: "text.primary",
|
|
15
|
-
transition: "
|
|
15
|
+
transition: "border-color 160ms cubic-bezier(0.25, 0.1, 0.25, 1), background-color 160ms cubic-bezier(0.25, 0.1, 0.25, 1), box-shadow 160ms cubic-bezier(0.25, 0.1, 0.25, 1)",
|
|
16
16
|
},
|
|
17
17
|
variants: {
|
|
18
18
|
checked: {
|
|
19
19
|
true: {
|
|
20
20
|
borderColor: "border.accent",
|
|
21
21
|
bg: "bg.selected",
|
|
22
|
-
boxShadow: "0 18px 40px -30px rgba(49,94,255,0.56)",
|
|
23
22
|
},
|
|
24
23
|
false: {
|
|
25
24
|
borderColor: "border.default",
|
|
26
25
|
bg: "bg.input",
|
|
27
|
-
boxShadow: "0 14px 32px -30px rgba(15,23,42,0.42)",
|
|
28
26
|
},
|
|
29
27
|
},
|
|
30
28
|
disabled: {
|
|
31
29
|
true: {
|
|
32
30
|
cursor: "not-allowed",
|
|
33
|
-
opacity: 0.
|
|
31
|
+
opacity: 0.45,
|
|
34
32
|
},
|
|
35
33
|
false: {
|
|
36
34
|
cursor: "pointer",
|
|
@@ -44,7 +42,6 @@ export const uiCheckboxRootClass = cva({
|
|
|
44
42
|
css: {
|
|
45
43
|
_hover: {
|
|
46
44
|
borderColor: "border.accent",
|
|
47
|
-
transform: "translateY(-1px)",
|
|
48
45
|
},
|
|
49
46
|
},
|
|
50
47
|
},
|
|
@@ -54,7 +51,6 @@ export const uiCheckboxRootClass = cva({
|
|
|
54
51
|
css: {
|
|
55
52
|
_hover: {
|
|
56
53
|
borderColor: "border.strong",
|
|
57
|
-
transform: "translateY(-1px)",
|
|
58
54
|
},
|
|
59
55
|
},
|
|
60
56
|
},
|
|
@@ -72,11 +68,11 @@ export const uiCheckboxIndicatorClass = cva({
|
|
|
72
68
|
width: "22px",
|
|
73
69
|
height: "22px",
|
|
74
70
|
borderRadius: "md",
|
|
75
|
-
borderWidth: "
|
|
71
|
+
borderWidth: "1.5px",
|
|
76
72
|
display: "flex",
|
|
77
73
|
alignItems: "center",
|
|
78
74
|
justifyContent: "center",
|
|
79
|
-
transition: "
|
|
75
|
+
transition: "border-color 160ms cubic-bezier(0.25, 0.1, 0.25, 1), background-color 160ms cubic-bezier(0.25, 0.1, 0.25, 1), color 160ms cubic-bezier(0.25, 0.1, 0.25, 1), transform 160ms cubic-bezier(0.25, 0.1, 0.25, 1)",
|
|
80
76
|
},
|
|
81
77
|
variants: {
|
|
82
78
|
checked: {
|
|
@@ -84,13 +80,13 @@ export const uiCheckboxIndicatorClass = cva({
|
|
|
84
80
|
borderColor: "border.accent",
|
|
85
81
|
bg: "bg.accentStrong",
|
|
86
82
|
color: "text.inverse",
|
|
87
|
-
|
|
83
|
+
transform: "scale(1)",
|
|
88
84
|
},
|
|
89
85
|
false: {
|
|
90
86
|
borderColor: "border.default",
|
|
91
87
|
bg: "bg.buttonOutline",
|
|
92
88
|
color: "transparent",
|
|
93
|
-
|
|
89
|
+
transform: "scale(1)",
|
|
94
90
|
},
|
|
95
91
|
},
|
|
96
92
|
},
|
|
@@ -16,7 +16,7 @@ export const uiFieldTopRowClass = css({
|
|
|
16
16
|
|
|
17
17
|
export const uiFieldLabelWrapClass = css({
|
|
18
18
|
display: "grid",
|
|
19
|
-
gap: "
|
|
19
|
+
gap: "0.5",
|
|
20
20
|
minWidth: "0",
|
|
21
21
|
});
|
|
22
22
|
|
|
@@ -24,7 +24,7 @@ export const uiFieldEyebrowClass = eyebrowClass;
|
|
|
24
24
|
|
|
25
25
|
export const uiFieldLabelClass = css({
|
|
26
26
|
fontSize: "sm",
|
|
27
|
-
fontWeight: "
|
|
27
|
+
fontWeight: "600",
|
|
28
28
|
color: "text.primary",
|
|
29
29
|
});
|
|
30
30
|
|
|
@@ -21,8 +21,8 @@ export const uiLoadingStatePulseClass = css({
|
|
|
21
21
|
borderRadius: "full",
|
|
22
22
|
flexShrink: "0",
|
|
23
23
|
bg: "text.accent",
|
|
24
|
-
boxShadow: "0 0 0 0 rgba(49,94,255,0.
|
|
25
|
-
animation: "loadingPulse 1.
|
|
24
|
+
boxShadow: "0 0 0 0 var(--colors-bg-accentSoft, rgba(49, 94, 255, 0.3))",
|
|
25
|
+
animation: "loadingPulse 1.4s cubic-bezier(0.25, 0.1, 0.25, 1) infinite",
|
|
26
26
|
});
|
|
27
27
|
|
|
28
28
|
export const uiLoadingStateContentClass = css({
|
|
@@ -9,8 +9,9 @@ export const segmentedControlContainerClass = css({
|
|
|
9
9
|
bg: "bg.input",
|
|
10
10
|
padding: "1",
|
|
11
11
|
gap: "1",
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
_dark: {
|
|
13
|
+
borderColor: "border.strong",
|
|
14
|
+
},
|
|
14
15
|
});
|
|
15
16
|
|
|
16
17
|
export const segmentedControlOptionClass = cva({
|
|
@@ -22,7 +23,12 @@ export const segmentedControlOptionClass = cva({
|
|
|
22
23
|
fontWeight: "600",
|
|
23
24
|
cursor: "pointer",
|
|
24
25
|
borderWidth: "1px",
|
|
25
|
-
transition: "
|
|
26
|
+
transition: "background-color 160ms cubic-bezier(0.25, 0.1, 0.25, 1), border-color 160ms cubic-bezier(0.25, 0.1, 0.25, 1), color 160ms cubic-bezier(0.25, 0.1, 0.25, 1), box-shadow 160ms cubic-bezier(0.25, 0.1, 0.25, 1)",
|
|
27
|
+
_focusVisible: {
|
|
28
|
+
outline: "2px solid",
|
|
29
|
+
outlineColor: "text.accent",
|
|
30
|
+
outlineOffset: "2px",
|
|
31
|
+
},
|
|
26
32
|
},
|
|
27
33
|
variants: {
|
|
28
34
|
active: {
|
|
@@ -30,10 +36,14 @@ export const segmentedControlOptionClass = cva({
|
|
|
30
36
|
borderColor: "border.accent",
|
|
31
37
|
bg: "bg.accentStrong",
|
|
32
38
|
color: "text.inverse",
|
|
33
|
-
boxShadow: "0 14px 26px -16px rgba(49,94,255,0.68)",
|
|
34
39
|
_hover: {
|
|
35
40
|
bg: "bg.accentStrong",
|
|
36
41
|
},
|
|
42
|
+
_dark: {
|
|
43
|
+
bg: "rgba(138, 180, 255, 0.2)",
|
|
44
|
+
color: "text.accent",
|
|
45
|
+
borderColor: "border.accent",
|
|
46
|
+
},
|
|
37
47
|
},
|
|
38
48
|
false: {
|
|
39
49
|
borderColor: "transparent",
|
|
@@ -26,8 +26,7 @@ export const uiSelectTriggerClass = cva({
|
|
|
26
26
|
borderWidth: "1px",
|
|
27
27
|
fontSize: "sm",
|
|
28
28
|
overflow: "hidden",
|
|
29
|
-
|
|
30
|
-
transition: "all 160ms ease",
|
|
29
|
+
transition: "border-color 160ms cubic-bezier(0.25, 0.1, 0.25, 1), background-color 160ms cubic-bezier(0.25, 0.1, 0.25, 1), box-shadow 160ms cubic-bezier(0.25, 0.1, 0.25, 1)",
|
|
31
30
|
},
|
|
32
31
|
variants: {
|
|
33
32
|
size: {
|
|
@@ -48,12 +47,14 @@ export const uiSelectTriggerClass = cva({
|
|
|
48
47
|
true: {
|
|
49
48
|
borderColor: "border.accent",
|
|
50
49
|
bg: "bg.cardStrong",
|
|
51
|
-
|
|
50
|
+
_dark: {
|
|
51
|
+
borderColor: "border.accent",
|
|
52
|
+
bg: "bg.input",
|
|
53
|
+
},
|
|
52
54
|
},
|
|
53
55
|
false: {
|
|
54
56
|
borderColor: "border.default",
|
|
55
57
|
bg: "bg.input",
|
|
56
|
-
boxShadow: "inset 0 1px 0 rgba(255,255,255,0.22)",
|
|
57
58
|
},
|
|
58
59
|
},
|
|
59
60
|
selected: {
|
|
@@ -63,10 +64,15 @@ export const uiSelectTriggerClass = cva({
|
|
|
63
64
|
disabled: {
|
|
64
65
|
true: {
|
|
65
66
|
cursor: "not-allowed",
|
|
66
|
-
opacity: 0.
|
|
67
|
+
opacity: 0.45,
|
|
67
68
|
},
|
|
68
69
|
false: {
|
|
69
70
|
cursor: "pointer",
|
|
71
|
+
_focusVisible: {
|
|
72
|
+
outline: "2px solid",
|
|
73
|
+
outlineColor: "text.accent",
|
|
74
|
+
outlineOffset: "2px",
|
|
75
|
+
},
|
|
70
76
|
},
|
|
71
77
|
},
|
|
72
78
|
},
|
|
@@ -77,6 +83,9 @@ export const uiSelectTriggerClass = cva({
|
|
|
77
83
|
_hover: {
|
|
78
84
|
borderColor: "border.strong",
|
|
79
85
|
bg: "bg.cardStrong",
|
|
86
|
+
_dark: {
|
|
87
|
+
bg: "bg.input",
|
|
88
|
+
},
|
|
80
89
|
},
|
|
81
90
|
},
|
|
82
91
|
},
|
|
@@ -120,7 +129,7 @@ export const uiSelectValueTextClass = css({
|
|
|
120
129
|
export const uiSelectChevronClass = cva({
|
|
121
130
|
base: {
|
|
122
131
|
color: "text.muted",
|
|
123
|
-
transition: "transform 160ms
|
|
132
|
+
transition: "transform 160ms cubic-bezier(0.25, 0.1, 0.25, 1)",
|
|
124
133
|
},
|
|
125
134
|
variants: {
|
|
126
135
|
open: {
|
|
@@ -141,20 +150,25 @@ export const uiSelectOptionClass = cva({
|
|
|
141
150
|
justifyContent: "space-between",
|
|
142
151
|
gap: "3",
|
|
143
152
|
textAlign: "left",
|
|
144
|
-
borderRadius: "
|
|
153
|
+
borderRadius: "lg",
|
|
145
154
|
px: "3",
|
|
146
155
|
borderWidth: "1px",
|
|
147
156
|
cursor: "pointer",
|
|
148
|
-
transition: "
|
|
157
|
+
transition: "border-color 140ms cubic-bezier(0.25, 0.1, 0.25, 1), background-color 140ms cubic-bezier(0.25, 0.1, 0.25, 1), color 140ms cubic-bezier(0.25, 0.1, 0.25, 1)",
|
|
149
158
|
_hover: {
|
|
150
159
|
bg: "bg.selected",
|
|
151
160
|
borderColor: "border.accent",
|
|
152
161
|
},
|
|
162
|
+
_focusVisible: {
|
|
163
|
+
outline: "2px solid",
|
|
164
|
+
outlineColor: "text.accent",
|
|
165
|
+
outlineOffset: "-2px",
|
|
166
|
+
},
|
|
153
167
|
},
|
|
154
168
|
variants: {
|
|
155
169
|
size: {
|
|
156
170
|
sm: { py: "2.5" },
|
|
157
|
-
md: { py: "
|
|
171
|
+
md: { py: "2.5" },
|
|
158
172
|
},
|
|
159
173
|
active: {
|
|
160
174
|
true: {
|
|
@@ -200,7 +214,7 @@ export const uiSelectOptionDescriptionClass = css({
|
|
|
200
214
|
export const uiSelectCheckClass = cva({
|
|
201
215
|
base: {
|
|
202
216
|
color: "text.accent",
|
|
203
|
-
transition: "opacity 140ms
|
|
217
|
+
transition: "opacity 140ms cubic-bezier(0.25, 0.1, 0.25, 1)",
|
|
204
218
|
},
|
|
205
219
|
variants: {
|
|
206
220
|
selected: {
|
|
@@ -4,19 +4,22 @@ export const skeletonClass = cva({
|
|
|
4
4
|
base: {
|
|
5
5
|
position: "relative",
|
|
6
6
|
overflow: "hidden",
|
|
7
|
+
bg: "bg.cardAlt",
|
|
8
|
+
borderRadius: "md",
|
|
7
9
|
_before: {
|
|
8
10
|
content: "\"\"",
|
|
9
11
|
position: "absolute",
|
|
10
12
|
inset: "0",
|
|
11
13
|
background:
|
|
12
|
-
"linear-gradient(90deg,
|
|
14
|
+
"linear-gradient(90deg, transparent 0%, var(--colors-bg-overlay, rgba(255,255,255,0.36)) 50%, transparent 100%)",
|
|
13
15
|
transform: "translateX(-100%)",
|
|
14
|
-
animation: "aggc-shimmer 1.
|
|
16
|
+
animation: "aggc-shimmer 1.6s cubic-bezier(0.25, 0.1, 0.25, 1) infinite",
|
|
15
17
|
},
|
|
16
18
|
_dark: {
|
|
19
|
+
bg: "rgba(255, 255, 255, 0.04)",
|
|
17
20
|
_before: {
|
|
18
21
|
background:
|
|
19
|
-
"linear-gradient(90deg,
|
|
22
|
+
"linear-gradient(90deg, transparent 0%, rgba(186, 204, 236, 0.1) 50%, transparent 100%)",
|
|
20
23
|
},
|
|
21
24
|
},
|
|
22
25
|
},
|
|
@@ -25,65 +28,33 @@ export const skeletonClass = cva({
|
|
|
25
28
|
text: {
|
|
26
29
|
width: "100%",
|
|
27
30
|
height: "0.875rem",
|
|
28
|
-
borderRadius: "md",
|
|
29
|
-
bg: "rgba(127, 146, 184, 0.14)",
|
|
30
|
-
_dark: {
|
|
31
|
-
bg: "rgba(210, 220, 240, 0.09)",
|
|
32
|
-
},
|
|
33
31
|
},
|
|
34
32
|
title: {
|
|
35
33
|
width: "100%",
|
|
36
34
|
height: "1.75rem",
|
|
37
|
-
borderRadius: "
|
|
38
|
-
bg: "rgba(127, 146, 184, 0.14)",
|
|
39
|
-
_dark: {
|
|
40
|
-
bg: "rgba(210, 220, 240, 0.09)",
|
|
41
|
-
},
|
|
35
|
+
borderRadius: "md",
|
|
42
36
|
},
|
|
43
37
|
rect: {
|
|
44
38
|
width: "100%",
|
|
45
39
|
height: "5rem",
|
|
46
|
-
borderRadius: "xl",
|
|
47
|
-
bg: "rgba(127, 146, 184, 0.14)",
|
|
48
|
-
_dark: {
|
|
49
|
-
bg: "rgba(210, 220, 240, 0.09)",
|
|
50
|
-
},
|
|
51
40
|
},
|
|
52
41
|
pill: {
|
|
53
42
|
width: "5rem",
|
|
54
43
|
height: "1.75rem",
|
|
55
44
|
borderRadius: "999px",
|
|
56
|
-
bg: "rgba(127, 146, 184, 0.14)",
|
|
57
|
-
_dark: {
|
|
58
|
-
bg: "rgba(210, 220, 240, 0.09)",
|
|
59
|
-
},
|
|
60
45
|
},
|
|
61
46
|
circle: {
|
|
62
47
|
width: "2.75rem",
|
|
63
48
|
height: "2.75rem",
|
|
64
49
|
borderRadius: "999px",
|
|
65
|
-
bg: "rgba(127, 146, 184, 0.14)",
|
|
66
|
-
_dark: {
|
|
67
|
-
bg: "rgba(210, 220, 240, 0.09)",
|
|
68
|
-
},
|
|
69
50
|
},
|
|
70
51
|
stat: {
|
|
71
52
|
width: "100%",
|
|
72
53
|
height: "4.75rem",
|
|
73
|
-
borderRadius: "xl",
|
|
74
|
-
bg: "rgba(117, 138, 178, 0.16)",
|
|
75
|
-
_dark: {
|
|
76
|
-
bg: "rgba(210, 220, 240, 0.11)",
|
|
77
|
-
},
|
|
78
54
|
},
|
|
79
55
|
action: {
|
|
80
56
|
width: "100%",
|
|
81
57
|
height: "2.75rem",
|
|
82
|
-
borderRadius: "xl",
|
|
83
|
-
bg: "rgba(127, 146, 184, 0.14)",
|
|
84
|
-
_dark: {
|
|
85
|
-
bg: "rgba(210, 220, 240, 0.09)",
|
|
86
|
-
},
|
|
87
58
|
},
|
|
88
59
|
},
|
|
89
60
|
},
|
package/src/css/base.css
CHANGED
|
@@ -8,14 +8,17 @@ html {
|
|
|
8
8
|
|
|
9
9
|
body {
|
|
10
10
|
margin: 0;
|
|
11
|
+
-webkit-font-smoothing: antialiased;
|
|
12
|
+
-moz-osx-font-smoothing: grayscale;
|
|
13
|
+
text-rendering: optimizeLegibility;
|
|
11
14
|
}
|
|
12
15
|
|
|
13
16
|
.aggc-spin {
|
|
14
|
-
animation: aggc-spin
|
|
17
|
+
animation: aggc-spin 700ms linear infinite;
|
|
15
18
|
}
|
|
16
19
|
|
|
17
20
|
[data-ui-loading-pulse] {
|
|
18
|
-
animation: loadingPulse 1.
|
|
21
|
+
animation: loadingPulse 1.4s cubic-bezier(0.25, 0.1, 0.25, 1) infinite;
|
|
19
22
|
}
|
|
20
23
|
|
|
21
24
|
[data-ui-skeleton]::before {
|
|
@@ -29,25 +32,57 @@ body {
|
|
|
29
32
|
|
|
30
33
|
@keyframes loadingPulse {
|
|
31
34
|
0% {
|
|
32
|
-
transform: scale(0.
|
|
33
|
-
box-shadow: 0 0 0 0 rgba(49, 94, 255, 0.
|
|
35
|
+
transform: scale(0.92);
|
|
36
|
+
box-shadow: 0 0 0 0 var(--colors-text-accent, rgba(49, 94, 255, 0.3));
|
|
34
37
|
}
|
|
35
|
-
|
|
38
|
+
50% {
|
|
36
39
|
transform: scale(1);
|
|
37
|
-
|
|
40
|
+
}
|
|
41
|
+
70% {
|
|
42
|
+
box-shadow: 0 0 0 8px var(--colors-text-accent, rgba(49, 94, 255, 0));
|
|
38
43
|
}
|
|
39
44
|
100% {
|
|
40
|
-
transform: scale(0.
|
|
41
|
-
box-shadow: 0 0 0 0 rgba(49, 94, 255, 0);
|
|
45
|
+
transform: scale(0.92);
|
|
46
|
+
box-shadow: 0 0 0 0 var(--colors-text-accent, rgba(49, 94, 255, 0));
|
|
42
47
|
}
|
|
43
48
|
}
|
|
44
49
|
|
|
45
50
|
@keyframes aggc-shimmer {
|
|
51
|
+
0% {
|
|
52
|
+
transform: translateX(-100%);
|
|
53
|
+
}
|
|
46
54
|
100% {
|
|
47
55
|
transform: translateX(100%);
|
|
48
56
|
}
|
|
49
57
|
}
|
|
50
58
|
|
|
59
|
+
@keyframes aggc-fade-in {
|
|
60
|
+
from { opacity: 0; }
|
|
61
|
+
to { opacity: 1; }
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@keyframes aggc-slide-up {
|
|
65
|
+
from {
|
|
66
|
+
opacity: 0;
|
|
67
|
+
transform: translateY(6px);
|
|
68
|
+
}
|
|
69
|
+
to {
|
|
70
|
+
opacity: 1;
|
|
71
|
+
transform: translateY(0);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@keyframes aggc-scale-in {
|
|
76
|
+
from {
|
|
77
|
+
opacity: 0;
|
|
78
|
+
transform: scale(0.96);
|
|
79
|
+
}
|
|
80
|
+
to {
|
|
81
|
+
opacity: 1;
|
|
82
|
+
transform: scale(1);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
51
86
|
@media (prefers-reduced-motion: reduce) {
|
|
52
87
|
.aggc-spin,
|
|
53
88
|
[data-ui-loading-pulse] {
|
|
@@ -57,6 +92,6 @@ body {
|
|
|
57
92
|
[data-ui-skeleton]::before {
|
|
58
93
|
animation: none !important;
|
|
59
94
|
transform: translateX(0);
|
|
60
|
-
opacity: 0.
|
|
95
|
+
opacity: 0.4;
|
|
61
96
|
}
|
|
62
97
|
}
|
|
@@ -19,4 +19,9 @@ export const pageScrollRegionClass = css({
|
|
|
19
19
|
overflowY: "auto",
|
|
20
20
|
paddingRight: "1",
|
|
21
21
|
alignContent: "start",
|
|
22
|
+
scrollbarWidth: "thin",
|
|
23
|
+
scrollbarColor: "rgba(148, 163, 184, 0.3) transparent",
|
|
24
|
+
_dark: {
|
|
25
|
+
scrollbarColor: "rgba(255, 255, 255, 0.12) transparent",
|
|
26
|
+
},
|
|
22
27
|
});
|
|
@@ -12,17 +12,20 @@ export const fieldControlClass = css({
|
|
|
12
12
|
lineHeight: "1.5",
|
|
13
13
|
px: "4",
|
|
14
14
|
py: "3",
|
|
15
|
-
|
|
16
|
-
boxShadow: "inset 0 1px 0 rgba(255,255,255,0.24), 0 14px 28px -28px rgba(15,23,42,0.42)",
|
|
17
|
-
transition: "border-color 160ms ease, background 160ms ease, transform 160ms ease",
|
|
15
|
+
transition: "border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease",
|
|
18
16
|
_hover: {
|
|
19
17
|
borderColor: "border.strong",
|
|
20
18
|
},
|
|
21
19
|
_placeholder: {
|
|
22
20
|
color: "text.muted",
|
|
23
21
|
},
|
|
22
|
+
_focusVisible: {
|
|
23
|
+
outline: "none",
|
|
24
|
+
borderColor: "border.accent",
|
|
25
|
+
boxShadow: "0 0 0 3px rgba(82, 121, 255, 0.18)",
|
|
26
|
+
},
|
|
24
27
|
_dark: {
|
|
25
|
-
|
|
28
|
+
borderColor: "border.strong",
|
|
26
29
|
},
|
|
27
30
|
});
|
|
28
31
|
|
|
@@ -38,17 +41,20 @@ export const fieldControlSmClass = css({
|
|
|
38
41
|
lineHeight: "1.45",
|
|
39
42
|
px: "3",
|
|
40
43
|
py: "2.5",
|
|
41
|
-
|
|
42
|
-
boxShadow: "inset 0 1px 0 rgba(255,255,255,0.2)",
|
|
43
|
-
transition: "border-color 160ms ease, background 160ms ease",
|
|
44
|
+
transition: "border-color 160ms ease, background-color 160ms ease",
|
|
44
45
|
_hover: {
|
|
45
46
|
borderColor: "border.strong",
|
|
46
47
|
},
|
|
47
48
|
_placeholder: {
|
|
48
49
|
color: "text.muted",
|
|
49
50
|
},
|
|
51
|
+
_focusVisible: {
|
|
52
|
+
outline: "none",
|
|
53
|
+
borderColor: "border.accent",
|
|
54
|
+
boxShadow: "0 0 0 3px rgba(82, 121, 255, 0.18)",
|
|
55
|
+
},
|
|
50
56
|
_dark: {
|
|
51
|
-
|
|
57
|
+
borderColor: "border.strong",
|
|
52
58
|
},
|
|
53
59
|
});
|
|
54
60
|
|
|
@@ -65,12 +71,16 @@ export const fieldTextareaClass = css({
|
|
|
65
71
|
lineHeight: "1.6",
|
|
66
72
|
px: "4",
|
|
67
73
|
py: "4",
|
|
68
|
-
|
|
69
|
-
boxShadow: "inset 0 1px 0 rgba(255,255,255,0.24), 0 18px 36px -32px rgba(15,23,42,0.42)",
|
|
74
|
+
transition: "border-color 160ms ease, background-color 160ms ease",
|
|
70
75
|
_hover: {
|
|
71
76
|
borderColor: "border.strong",
|
|
72
77
|
},
|
|
78
|
+
_focusVisible: {
|
|
79
|
+
outline: "none",
|
|
80
|
+
borderColor: "border.accent",
|
|
81
|
+
boxShadow: "0 0 0 3px rgba(82, 121, 255, 0.18)",
|
|
82
|
+
},
|
|
73
83
|
_dark: {
|
|
74
|
-
|
|
84
|
+
borderColor: "border.strong",
|
|
75
85
|
},
|
|
76
86
|
});
|