@brijbyte/agentic-ui 0.0.1 → 0.0.2
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 +183 -111
- package/dist/accordion/accordion.css +6 -10
- package/dist/accordion/accordion.module.js.map +1 -1
- package/dist/alert-dialog/alert-dialog.css +84 -0
- package/dist/alert-dialog/alert-dialog.d.ts +44 -0
- package/dist/alert-dialog/alert-dialog.d.ts.map +1 -0
- package/dist/alert-dialog/alert-dialog.js +46 -0
- package/dist/alert-dialog/alert-dialog.js.map +1 -0
- package/dist/alert-dialog/alert-dialog.module.css.d.ts +2 -0
- package/dist/alert-dialog/alert-dialog.module.js +14 -0
- package/dist/alert-dialog/alert-dialog.module.js.map +1 -0
- package/dist/alert-dialog/index.d.ts +3 -0
- package/dist/alert-dialog/index.js +4 -0
- package/dist/alert-dialog/parts.d.ts +28 -0
- package/dist/alert-dialog/parts.d.ts.map +1 -0
- package/dist/alert-dialog/parts.js +62 -0
- package/dist/alert-dialog/parts.js.map +1 -0
- package/dist/badge/badge.css +3 -7
- package/dist/badge/badge.module.js.map +1 -1
- package/dist/button/button.css +14 -14
- package/dist/button/button.module.js.map +1 -1
- package/dist/card/card.css +5 -9
- package/dist/card/card.module.js.map +1 -1
- package/dist/checkbox/checkbox.css +3 -7
- package/dist/checkbox/checkbox.module.js.map +1 -1
- package/dist/collapsible/collapsible.css +7 -11
- package/dist/collapsible/collapsible.module.js.map +1 -1
- package/dist/context-menu/context-menu.css +151 -0
- package/dist/context-menu/context-menu.d.ts +36 -0
- package/dist/context-menu/context-menu.d.ts.map +1 -0
- package/dist/context-menu/context-menu.js +54 -0
- package/dist/context-menu/context-menu.js.map +1 -0
- package/dist/context-menu/context-menu.module.css.d.ts +2 -0
- package/dist/context-menu/context-menu.module.js +18 -0
- package/dist/context-menu/context-menu.module.js.map +1 -0
- package/dist/context-menu/index.d.ts +3 -0
- package/dist/context-menu/index.js +4 -0
- package/dist/context-menu/parts.d.ts +38 -0
- package/dist/context-menu/parts.d.ts.map +1 -0
- package/dist/context-menu/parts.js +91 -0
- package/dist/context-menu/parts.js.map +1 -0
- package/dist/dialog/dialog.css +27 -22
- package/dist/dialog/dialog.d.ts +8 -0
- package/dist/dialog/dialog.d.ts.map +1 -1
- package/dist/dialog/dialog.js +7 -4
- package/dist/dialog/dialog.js.map +1 -1
- package/dist/dialog/dialog.module.js +2 -0
- package/dist/dialog/dialog.module.js.map +1 -1
- package/dist/drawer/drawer.css +9 -13
- package/dist/drawer/drawer.module.js.map +1 -1
- package/dist/index.css +1630 -1353
- package/dist/index.d.ts +24 -18
- package/dist/index.js +10 -1
- package/dist/input/input.css +5 -9
- package/dist/input/input.module.js.map +1 -1
- package/dist/layer-order.css +22 -0
- package/dist/menu/menu.css +13 -17
- package/dist/menu/menu.module.js.map +1 -1
- package/dist/number-field/number-field.css +12 -16
- package/dist/number-field/number-field.module.js.map +1 -1
- package/dist/progress/progress.css +1 -5
- package/dist/progress/progress.module.js.map +1 -1
- package/dist/reset.css +6 -6
- package/dist/select/select.css +14 -16
- package/dist/select/select.d.ts +5 -2
- package/dist/select/select.d.ts.map +1 -1
- package/dist/select/select.js +11 -2
- package/dist/select/select.js.map +1 -1
- package/dist/select/select.module.js.map +1 -1
- package/dist/separator/separator.css +1 -5
- package/dist/separator/separator.module.js.map +1 -1
- package/dist/slider/index.d.ts +3 -0
- package/dist/slider/index.js +4 -0
- package/dist/slider/parts.d.ts +38 -0
- package/dist/slider/parts.d.ts.map +1 -0
- package/dist/slider/parts.js +69 -0
- package/dist/slider/parts.js.map +1 -0
- package/dist/slider/slider.css +97 -0
- package/dist/slider/slider.d.ts +38 -0
- package/dist/slider/slider.d.ts.map +1 -0
- package/dist/slider/slider.js +41 -0
- package/dist/slider/slider.js.map +1 -0
- package/dist/slider/slider.module.css.d.ts +2 -0
- package/dist/slider/slider.module.js +15 -0
- package/dist/slider/slider.module.js.map +1 -0
- package/dist/styles/reset.css +6 -6
- package/dist/styles/tokens.css +73 -71
- package/dist/switch/switch.css +2 -6
- package/dist/switch/switch.module.js.map +1 -1
- package/dist/tabs/tabs.css +5 -9
- package/dist/tabs/tabs.module.js.map +1 -1
- package/dist/tailwind-theme.css +23 -23
- package/dist/toast/toast.css +11 -15
- package/dist/toast/toast.module.js.map +1 -1
- package/dist/tokens.css +79 -75
- package/dist/tooltip/tooltip.css +7 -11
- package/dist/tooltip/tooltip.module.js.map +1 -1
- package/package.json +17 -1
- package/src/accordion/accordion.module.css +6 -20
- package/src/alert-dialog/alert-dialog.module.css +91 -0
- package/src/alert-dialog/alert-dialog.tsx +69 -0
- package/src/alert-dialog/index.ts +7 -0
- package/src/alert-dialog/parts.tsx +73 -0
- package/src/badge/badge.module.css +3 -13
- package/src/button/button.module.css +15 -51
- package/src/card/card.module.css +5 -16
- package/src/checkbox/checkbox.module.css +3 -14
- package/src/collapsible/collapsible.module.css +7 -20
- package/src/context-menu/context-menu.module.css +168 -0
- package/src/context-menu/context-menu.tsx +75 -0
- package/src/context-menu/index.ts +21 -0
- package/src/context-menu/parts.tsx +99 -0
- package/src/dialog/dialog.module.css +26 -33
- package/src/dialog/dialog.tsx +14 -1
- package/src/drawer/drawer.module.css +9 -58
- package/src/index.ts +48 -0
- package/src/input/input.module.css +5 -21
- package/src/menu/menu.module.css +13 -43
- package/src/number-field/number-field.module.css +12 -28
- package/src/progress/progress.module.css +1 -10
- package/src/select/select.module.css +14 -35
- package/src/select/select.tsx +14 -5
- package/src/separator/separator.module.css +1 -5
- package/src/slider/index.ts +14 -0
- package/src/slider/parts.tsx +90 -0
- package/src/slider/slider.module.css +110 -0
- package/src/slider/slider.tsx +68 -0
- package/src/styles/layer-order.css +22 -0
- package/src/styles/reset.css +6 -6
- package/src/styles/tailwind-theme.css +23 -23
- package/src/styles/tokens.css +79 -75
- package/src/switch/switch.module.css +2 -12
- package/src/tabs/tabs.module.css +5 -18
- package/src/toast/toast.module.css +11 -51
- package/src/tooltip/tooltip.module.css +7 -18
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Styled primitives for AlertDialog.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```tsx
|
|
6
|
+
* import { AlertDialog as BaseAlertDialog } from '@base-ui/react/alert-dialog';
|
|
7
|
+
* import { Button } from '@brijbyte/agentic-ui/button';
|
|
8
|
+
* import { AlertDialogBackdrop, AlertDialogPopup, AlertDialogTitle, AlertDialogDescription } from '@brijbyte/agentic-ui/alert-dialog';
|
|
9
|
+
*
|
|
10
|
+
* <BaseAlertDialog.Root>
|
|
11
|
+
* <BaseAlertDialog.Trigger render={<button>Open</button>} />
|
|
12
|
+
* <BaseAlertDialog.Portal>
|
|
13
|
+
* <AlertDialogBackdrop />
|
|
14
|
+
* <AlertDialogPopup>
|
|
15
|
+
* <AlertDialogTitle>Delete account?</AlertDialogTitle>
|
|
16
|
+
* <AlertDialogDescription>This cannot be undone.</AlertDialogDescription>
|
|
17
|
+
* <div>
|
|
18
|
+
* <BaseAlertDialog.Close render={<Button variant="soft" tone="destructive" size="sm" />}>Delete</BaseAlertDialog.Close>
|
|
19
|
+
* <BaseAlertDialog.Close render={<Button variant="outline" size="sm" />}>Cancel</BaseAlertDialog.Close>
|
|
20
|
+
* </div>
|
|
21
|
+
* </AlertDialogPopup>
|
|
22
|
+
* </BaseAlertDialog.Portal>
|
|
23
|
+
* </BaseAlertDialog.Root>
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
import { forwardRef } from "react";
|
|
27
|
+
import type { ComponentRef, ComponentPropsWithoutRef } from "react";
|
|
28
|
+
import { AlertDialog as BaseAlertDialog } from "@base-ui/react/alert-dialog";
|
|
29
|
+
import styles from "./alert-dialog.module.css";
|
|
30
|
+
|
|
31
|
+
type BaseBackdropProps = ComponentPropsWithoutRef<typeof BaseAlertDialog.Backdrop>;
|
|
32
|
+
type BasePopupProps = ComponentPropsWithoutRef<typeof BaseAlertDialog.Popup>;
|
|
33
|
+
type BaseTitleProps = ComponentPropsWithoutRef<typeof BaseAlertDialog.Title>;
|
|
34
|
+
type BaseDescriptionProps = ComponentPropsWithoutRef<typeof BaseAlertDialog.Description>;
|
|
35
|
+
|
|
36
|
+
export interface AlertDialogBackdropProps extends Omit<BaseBackdropProps, "className"> {
|
|
37
|
+
className?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface AlertDialogPopupProps extends Omit<BasePopupProps, "className"> {
|
|
40
|
+
className?: string;
|
|
41
|
+
}
|
|
42
|
+
export interface AlertDialogTitleProps extends Omit<BaseTitleProps, "className"> {
|
|
43
|
+
className?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface AlertDialogDescriptionProps extends Omit<BaseDescriptionProps, "className"> {
|
|
46
|
+
className?: string;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export const AlertDialogBackdrop = forwardRef<ComponentRef<typeof BaseAlertDialog.Backdrop>, AlertDialogBackdropProps>(
|
|
50
|
+
function AlertDialogBackdrop({ className, ...props }, ref) {
|
|
51
|
+
return <BaseAlertDialog.Backdrop ref={ref} className={`${styles.backdrop} ${className ?? ""}`} {...props} />;
|
|
52
|
+
},
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
export const AlertDialogPopup = forwardRef<ComponentRef<typeof BaseAlertDialog.Popup>, AlertDialogPopupProps>(function AlertDialogPopup(
|
|
56
|
+
{ className, ...props },
|
|
57
|
+
ref,
|
|
58
|
+
) {
|
|
59
|
+
return <BaseAlertDialog.Popup ref={ref} className={`${styles.popup} ${className ?? ""}`} {...props} />;
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
export const AlertDialogTitle = forwardRef<ComponentRef<typeof BaseAlertDialog.Title>, AlertDialogTitleProps>(function AlertDialogTitle(
|
|
63
|
+
{ className, ...props },
|
|
64
|
+
ref,
|
|
65
|
+
) {
|
|
66
|
+
return <BaseAlertDialog.Title ref={ref} className={`${styles.title} ${className ?? ""}`} {...props} />;
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
export const AlertDialogDescription = forwardRef<ComponentRef<typeof BaseAlertDialog.Description>, AlertDialogDescriptionProps>(
|
|
70
|
+
function AlertDialogDescription({ className, ...props }, ref) {
|
|
71
|
+
return <BaseAlertDialog.Description ref={ref} className={`${styles.description} ${className ?? ""}`} {...props} />;
|
|
72
|
+
},
|
|
73
|
+
);
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
@layer theme, base, components, utilities;
|
|
2
|
-
|
|
3
1
|
@layer components {
|
|
4
2
|
.root {
|
|
5
3
|
display: inline-flex;
|
|
@@ -15,50 +13,42 @@
|
|
|
15
13
|
padding: 2px var(--space-1-5);
|
|
16
14
|
white-space: nowrap;
|
|
17
15
|
}
|
|
18
|
-
|
|
19
16
|
/* Variants */
|
|
20
17
|
.variant-default {
|
|
21
18
|
background-color: var(--color-surface-3);
|
|
22
|
-
border-color: var(--color-
|
|
23
|
-
color: var(--color-
|
|
19
|
+
border-color: var(--color-line);
|
|
20
|
+
color: var(--color-secondary);
|
|
24
21
|
}
|
|
25
|
-
|
|
26
22
|
.variant-solid {
|
|
27
23
|
background-color: var(--color-accent);
|
|
28
24
|
border-color: var(--color-accent);
|
|
29
|
-
color: var(--color-
|
|
25
|
+
color: var(--color-on-accent);
|
|
30
26
|
}
|
|
31
|
-
|
|
32
27
|
.variant-soft {
|
|
33
28
|
background-color: var(--color-accent-tint);
|
|
34
29
|
border-color: var(--color-accent-tint-hover);
|
|
35
30
|
color: var(--color-accent);
|
|
36
31
|
}
|
|
37
|
-
|
|
38
32
|
.variant-success {
|
|
39
33
|
background-color: var(--color-success-bg);
|
|
40
34
|
border-color: var(--color-success-border);
|
|
41
35
|
color: var(--color-success-text);
|
|
42
36
|
}
|
|
43
|
-
|
|
44
37
|
.variant-warning {
|
|
45
38
|
background-color: var(--color-warning-bg);
|
|
46
39
|
border-color: var(--color-warning-border);
|
|
47
40
|
color: var(--color-warning-text);
|
|
48
41
|
}
|
|
49
|
-
|
|
50
42
|
.variant-error {
|
|
51
43
|
background-color: var(--color-error-bg);
|
|
52
44
|
border-color: var(--color-error-border);
|
|
53
45
|
color: var(--color-error-text);
|
|
54
46
|
}
|
|
55
|
-
|
|
56
47
|
.variant-info {
|
|
57
48
|
background-color: var(--color-info-bg);
|
|
58
49
|
border-color: var(--color-info-border);
|
|
59
50
|
color: var(--color-info-text);
|
|
60
51
|
}
|
|
61
|
-
|
|
62
52
|
/* Dot indicator */
|
|
63
53
|
.dot {
|
|
64
54
|
width: 5px;
|
|
@@ -25,49 +25,40 @@
|
|
|
25
25
|
outline: none;
|
|
26
26
|
position: relative;
|
|
27
27
|
}
|
|
28
|
-
|
|
29
28
|
.root:active:not([data-disabled]) {
|
|
30
29
|
transform: scale(0.97);
|
|
31
30
|
}
|
|
32
|
-
|
|
33
31
|
.root:focus-visible {
|
|
34
32
|
box-shadow: var(--shadow-focus);
|
|
35
33
|
}
|
|
36
|
-
|
|
37
34
|
.root[data-disabled] {
|
|
38
35
|
cursor: not-allowed;
|
|
39
36
|
opacity: 0.44;
|
|
40
37
|
pointer-events: none;
|
|
41
38
|
}
|
|
42
|
-
|
|
43
39
|
/* ─── Sizes ──────────────────────────────────────────────────────── */
|
|
44
|
-
|
|
45
40
|
.size-xs {
|
|
46
41
|
height: 22px;
|
|
47
42
|
padding-inline: var(--space-2);
|
|
48
43
|
font-size: var(--font-size-xs);
|
|
49
44
|
border-radius: var(--radius-sm);
|
|
50
45
|
}
|
|
51
|
-
|
|
52
46
|
.size-sm {
|
|
53
47
|
height: 26px;
|
|
54
48
|
padding-inline: var(--space-2-5);
|
|
55
49
|
font-size: var(--font-size-sm);
|
|
56
50
|
}
|
|
57
|
-
|
|
58
51
|
.size-md {
|
|
59
52
|
height: 30px;
|
|
60
53
|
padding-inline: var(--space-3);
|
|
61
54
|
font-size: var(--font-size-md);
|
|
62
55
|
}
|
|
63
|
-
|
|
64
56
|
.size-lg {
|
|
65
57
|
height: 36px;
|
|
66
58
|
padding-inline: var(--space-4);
|
|
67
59
|
font-size: var(--font-size-lg);
|
|
68
60
|
border-radius: var(--radius-lg);
|
|
69
61
|
}
|
|
70
|
-
|
|
71
62
|
/* Icon-only */
|
|
72
63
|
.icon-only.size-xs {
|
|
73
64
|
width: 22px;
|
|
@@ -85,7 +76,6 @@
|
|
|
85
76
|
width: 36px;
|
|
86
77
|
padding-inline: 0;
|
|
87
78
|
}
|
|
88
|
-
|
|
89
79
|
/* ─── Tones — set scoped color tokens ────────────────────────────── */
|
|
90
80
|
/*
|
|
91
81
|
* Each tone exposes four custom properties consumed by the variants below:
|
|
@@ -96,25 +86,22 @@
|
|
|
96
86
|
* --btn-tint-hover soft bg hover
|
|
97
87
|
* --btn-on-color text on solid bg
|
|
98
88
|
*/
|
|
99
|
-
|
|
100
89
|
.tone-primary {
|
|
101
90
|
--btn-color: var(--color-accent);
|
|
102
91
|
--btn-color-hover: var(--color-accent-hover);
|
|
103
92
|
--btn-color-pressed: var(--color-accent-pressed);
|
|
104
93
|
--btn-tint: var(--color-accent-tint);
|
|
105
94
|
--btn-tint-hover: var(--color-accent-tint-hover);
|
|
106
|
-
--btn-on-color: var(--color-
|
|
95
|
+
--btn-on-color: var(--color-on-accent);
|
|
107
96
|
}
|
|
108
|
-
|
|
109
97
|
.tone-secondary {
|
|
110
|
-
--btn-color: var(--color-
|
|
111
|
-
--btn-color-hover: var(--color-
|
|
112
|
-
--btn-color-pressed: var(--color-
|
|
113
|
-
--btn-tint: var(--color-
|
|
114
|
-
--btn-tint-hover: var(--color-
|
|
115
|
-
--btn-on-color: var(--color-
|
|
116
|
-
}
|
|
117
|
-
|
|
98
|
+
--btn-color: var(--color-secondary);
|
|
99
|
+
--btn-color-hover: var(--color-primary);
|
|
100
|
+
--btn-color-pressed: var(--color-primary);
|
|
101
|
+
--btn-tint: var(--color-hover);
|
|
102
|
+
--btn-tint-hover: var(--color-active);
|
|
103
|
+
--btn-on-color: var(--color-canvas);
|
|
104
|
+
}
|
|
118
105
|
.tone-destructive {
|
|
119
106
|
--btn-color: var(--color-error-solid);
|
|
120
107
|
--btn-color-hover: var(--color-error-solid);
|
|
@@ -123,7 +110,6 @@
|
|
|
123
110
|
--btn-tint-hover: var(--color-error-bg);
|
|
124
111
|
--btn-on-color: #ffffff;
|
|
125
112
|
}
|
|
126
|
-
|
|
127
113
|
.tone-success {
|
|
128
114
|
--btn-color: var(--color-success-solid);
|
|
129
115
|
--btn-color-hover: var(--color-success-solid);
|
|
@@ -132,7 +118,6 @@
|
|
|
132
118
|
--btn-tint-hover: var(--color-success-bg);
|
|
133
119
|
--btn-on-color: #ffffff;
|
|
134
120
|
}
|
|
135
|
-
|
|
136
121
|
.tone-warning {
|
|
137
122
|
--btn-color: var(--color-warning-solid);
|
|
138
123
|
--btn-color-hover: var(--color-warning-solid);
|
|
@@ -141,93 +126,76 @@
|
|
|
141
126
|
--btn-tint-hover: var(--color-warning-bg);
|
|
142
127
|
--btn-on-color: #ffffff;
|
|
143
128
|
}
|
|
144
|
-
|
|
145
129
|
/* ─── Variants — consume tone tokens ────────────────────────────── */
|
|
146
|
-
|
|
147
130
|
.variant-solid {
|
|
148
131
|
background-color: var(--btn-color);
|
|
149
132
|
border-color: var(--btn-color);
|
|
150
133
|
color: var(--btn-on-color);
|
|
151
134
|
}
|
|
152
|
-
|
|
153
135
|
.variant-solid:hover:not([data-disabled]) {
|
|
154
136
|
background-color: var(--btn-color-hover);
|
|
155
137
|
border-color: var(--btn-color-hover);
|
|
156
138
|
filter: brightness(0.92);
|
|
157
139
|
}
|
|
158
|
-
|
|
159
140
|
.variant-solid:active:not([data-disabled]),
|
|
160
141
|
.variant-solid[data-pressed]:not([data-disabled]) {
|
|
161
142
|
background-color: var(--btn-color-pressed);
|
|
162
143
|
border-color: var(--btn-color-pressed);
|
|
163
144
|
filter: brightness(0.84);
|
|
164
145
|
}
|
|
165
|
-
|
|
166
146
|
/* primary solid gets its own hover tokens instead of filter */
|
|
167
147
|
.variant-solid.tone-primary:hover:not([data-disabled]) {
|
|
168
148
|
background-color: var(--btn-color-hover);
|
|
169
149
|
border-color: var(--btn-color-hover);
|
|
170
150
|
filter: none;
|
|
171
151
|
}
|
|
172
|
-
|
|
173
152
|
.variant-solid.tone-primary:active:not([data-disabled]),
|
|
174
153
|
.variant-solid.tone-primary[data-pressed]:not([data-disabled]) {
|
|
175
154
|
background-color: var(--btn-color-pressed);
|
|
176
155
|
border-color: var(--btn-color-pressed);
|
|
177
156
|
filter: none;
|
|
178
157
|
}
|
|
179
|
-
|
|
180
158
|
.variant-soft {
|
|
181
159
|
background-color: var(--btn-tint);
|
|
182
160
|
border-color: transparent;
|
|
183
161
|
color: var(--btn-color);
|
|
184
162
|
}
|
|
185
|
-
|
|
186
163
|
.variant-soft:hover:not([data-disabled]) {
|
|
187
164
|
background-color: var(--btn-tint-hover);
|
|
188
165
|
}
|
|
189
|
-
|
|
190
166
|
.variant-soft:active:not([data-disabled]),
|
|
191
167
|
.variant-soft[data-pressed]:not([data-disabled]) {
|
|
192
168
|
background-color: var(--btn-tint-hover);
|
|
193
169
|
filter: brightness(0.95);
|
|
194
170
|
}
|
|
195
|
-
|
|
196
171
|
.variant-outline {
|
|
197
172
|
background-color: transparent;
|
|
198
|
-
border-color: var(--color-
|
|
199
|
-
color: var(--color-
|
|
173
|
+
border-color: var(--color-line-strong);
|
|
174
|
+
color: var(--color-primary);
|
|
200
175
|
}
|
|
201
|
-
|
|
202
176
|
.variant-outline:hover:not([data-disabled]) {
|
|
203
|
-
background-color: var(--color-
|
|
177
|
+
background-color: var(--color-hover);
|
|
204
178
|
border-color: var(--btn-color);
|
|
205
179
|
color: var(--btn-color);
|
|
206
180
|
}
|
|
207
|
-
|
|
208
181
|
.variant-outline:active:not([data-disabled]),
|
|
209
182
|
.variant-outline[data-pressed]:not([data-disabled]) {
|
|
210
|
-
background-color: var(--color-
|
|
183
|
+
background-color: var(--color-active);
|
|
211
184
|
}
|
|
212
|
-
|
|
213
185
|
.variant-ghost {
|
|
214
186
|
background-color: transparent;
|
|
215
187
|
border-color: transparent;
|
|
216
|
-
color: var(--color-
|
|
188
|
+
color: var(--color-secondary);
|
|
217
189
|
}
|
|
218
|
-
|
|
219
190
|
.variant-ghost:hover:not([data-disabled]) {
|
|
220
|
-
background-color: var(--color-
|
|
191
|
+
background-color: var(--color-hover);
|
|
221
192
|
color: var(--btn-color);
|
|
222
193
|
}
|
|
223
|
-
|
|
224
194
|
.variant-ghost:active:not([data-disabled]),
|
|
225
195
|
.variant-ghost[data-pressed]:not([data-disabled]) {
|
|
226
|
-
background-color: var(--color-
|
|
196
|
+
background-color: var(--color-active);
|
|
227
197
|
}
|
|
228
|
-
|
|
229
198
|
/* ─── Loader ─────────────────────────────────────────────────────── */
|
|
230
|
-
|
|
231
199
|
/* Always in the DOM, always position:absolute so it never affects layout */
|
|
232
200
|
.loader {
|
|
233
201
|
position: absolute;
|
|
@@ -238,21 +206,17 @@
|
|
|
238
206
|
opacity: 0;
|
|
239
207
|
pointer-events: none;
|
|
240
208
|
}
|
|
241
|
-
|
|
242
209
|
.loader-visible {
|
|
243
210
|
opacity: 1;
|
|
244
211
|
}
|
|
245
|
-
|
|
246
212
|
.content-loading {
|
|
247
213
|
visibility: hidden;
|
|
248
214
|
}
|
|
249
|
-
|
|
250
215
|
@keyframes spin {
|
|
251
216
|
to {
|
|
252
217
|
transform: rotate(360deg);
|
|
253
218
|
}
|
|
254
219
|
}
|
|
255
|
-
|
|
256
220
|
.spinner {
|
|
257
221
|
width: 12px;
|
|
258
222
|
height: 12px;
|
package/src/card/card.module.css
CHANGED
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
@layer theme, base, components, utilities;
|
|
2
|
-
|
|
3
1
|
@layer components {
|
|
4
2
|
.root {
|
|
5
3
|
background-color: var(--color-surface-1);
|
|
6
|
-
border: var(--border-width-base) solid var(--color-
|
|
4
|
+
border: var(--border-width-base) solid var(--color-line);
|
|
7
5
|
border-radius: var(--radius-xl);
|
|
8
6
|
overflow: hidden;
|
|
9
7
|
}
|
|
10
|
-
|
|
11
8
|
.root-elevated {
|
|
12
9
|
box-shadow: var(--shadow-sm);
|
|
13
10
|
}
|
|
14
|
-
|
|
15
11
|
.root-interactive {
|
|
16
12
|
cursor: pointer;
|
|
17
13
|
transition:
|
|
@@ -19,47 +15,40 @@
|
|
|
19
15
|
box-shadow var(--duration-fast) var(--easing-standard),
|
|
20
16
|
transform var(--duration-fast) var(--easing-standard);
|
|
21
17
|
}
|
|
22
|
-
|
|
23
18
|
.root-interactive:hover {
|
|
24
19
|
border-color: var(--color-accent);
|
|
25
20
|
box-shadow: var(--shadow-md);
|
|
26
21
|
}
|
|
27
|
-
|
|
28
22
|
.root-interactive:active {
|
|
29
23
|
transform: scale(0.995);
|
|
30
24
|
}
|
|
31
|
-
|
|
32
25
|
.header {
|
|
33
26
|
padding: var(--space-4) var(--space-5);
|
|
34
|
-
border-bottom: var(--border-width-base) solid var(--color-
|
|
27
|
+
border-bottom: var(--border-width-base) solid var(--color-line-subtle);
|
|
35
28
|
display: flex;
|
|
36
29
|
flex-direction: column;
|
|
37
30
|
gap: var(--space-0-5);
|
|
38
31
|
}
|
|
39
|
-
|
|
40
32
|
.title {
|
|
41
33
|
font-family: var(--font-mono);
|
|
42
34
|
font-size: var(--font-size-md);
|
|
43
35
|
font-weight: var(--font-weight-semibold);
|
|
44
|
-
color: var(--color-
|
|
36
|
+
color: var(--color-primary);
|
|
45
37
|
line-height: var(--line-height-tight);
|
|
46
38
|
letter-spacing: var(--letter-spacing-tight);
|
|
47
39
|
}
|
|
48
|
-
|
|
49
40
|
.description {
|
|
50
41
|
font-family: var(--font-mono);
|
|
51
42
|
font-size: var(--font-size-sm);
|
|
52
|
-
color: var(--color-
|
|
43
|
+
color: var(--color-secondary);
|
|
53
44
|
line-height: var(--line-height-normal);
|
|
54
45
|
}
|
|
55
|
-
|
|
56
46
|
.body {
|
|
57
47
|
padding: var(--space-4) var(--space-5);
|
|
58
48
|
}
|
|
59
|
-
|
|
60
49
|
.footer {
|
|
61
50
|
padding: var(--space-3) var(--space-5);
|
|
62
|
-
border-top: var(--border-width-base) solid var(--color-
|
|
51
|
+
border-top: var(--border-width-base) solid var(--color-line-subtle);
|
|
63
52
|
display: flex;
|
|
64
53
|
align-items: center;
|
|
65
54
|
gap: var(--space-2);
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
@layer theme, base, components, utilities;
|
|
2
|
-
|
|
3
1
|
@layer components {
|
|
4
2
|
.root {
|
|
5
3
|
display: flex;
|
|
@@ -8,18 +6,16 @@
|
|
|
8
6
|
cursor: pointer;
|
|
9
7
|
user-select: none;
|
|
10
8
|
}
|
|
11
|
-
|
|
12
9
|
.root[data-disabled] {
|
|
13
10
|
opacity: 0.44;
|
|
14
11
|
cursor: not-allowed;
|
|
15
12
|
}
|
|
16
|
-
|
|
17
13
|
.indicator {
|
|
18
14
|
flex-shrink: 0;
|
|
19
15
|
width: 16px;
|
|
20
16
|
height: 16px;
|
|
21
17
|
border-radius: var(--radius-sm);
|
|
22
|
-
border: var(--border-width-base) solid var(--color-
|
|
18
|
+
border: var(--border-width-base) solid var(--color-line-strong);
|
|
23
19
|
background-color: var(--color-surface-1);
|
|
24
20
|
display: flex;
|
|
25
21
|
align-items: center;
|
|
@@ -31,50 +27,43 @@
|
|
|
31
27
|
outline: none;
|
|
32
28
|
position: relative;
|
|
33
29
|
}
|
|
34
|
-
|
|
35
30
|
.indicator:focus-visible {
|
|
36
31
|
box-shadow: var(--shadow-focus);
|
|
37
32
|
border-color: var(--color-accent);
|
|
38
33
|
}
|
|
39
|
-
|
|
40
34
|
.indicator:hover:not([data-disabled]) {
|
|
41
35
|
border-color: var(--color-accent);
|
|
42
36
|
}
|
|
43
|
-
|
|
44
37
|
.indicator[data-checked],
|
|
45
38
|
.indicator[data-indeterminate] {
|
|
46
39
|
background-color: var(--color-accent);
|
|
47
40
|
border-color: var(--color-accent);
|
|
48
41
|
}
|
|
49
|
-
|
|
50
42
|
.indicator[data-checked]:hover,
|
|
51
43
|
.indicator[data-indeterminate]:hover {
|
|
52
44
|
background-color: var(--color-accent-hover);
|
|
53
45
|
border-color: var(--color-accent-hover);
|
|
54
46
|
}
|
|
55
|
-
|
|
56
47
|
/* Checkmark SVG */
|
|
57
48
|
.icon {
|
|
58
49
|
width: 10px;
|
|
59
50
|
height: 10px;
|
|
60
|
-
color: var(--color-
|
|
51
|
+
color: var(--color-on-accent);
|
|
61
52
|
opacity: 0;
|
|
62
53
|
transform: scale(0.9);
|
|
63
54
|
transition:
|
|
64
55
|
opacity var(--duration-fast) var(--easing-standard),
|
|
65
56
|
transform var(--duration-fast) var(--easing-spring);
|
|
66
57
|
}
|
|
67
|
-
|
|
68
58
|
.indicator[data-checked] .icon,
|
|
69
59
|
.indicator[data-indeterminate] .icon {
|
|
70
60
|
opacity: 1;
|
|
71
61
|
transform: scale(1);
|
|
72
62
|
}
|
|
73
|
-
|
|
74
63
|
.label {
|
|
75
64
|
font-family: var(--font-mono);
|
|
76
65
|
font-size: var(--font-size-sm);
|
|
77
|
-
color: var(--color-
|
|
66
|
+
color: var(--color-primary);
|
|
78
67
|
line-height: var(--line-height-normal);
|
|
79
68
|
}
|
|
80
69
|
}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
@layer theme, base, components, utilities;
|
|
2
|
-
|
|
3
1
|
@layer components {
|
|
4
2
|
.root {
|
|
5
3
|
display: flex;
|
|
6
4
|
flex-direction: column;
|
|
7
5
|
gap: 0;
|
|
8
6
|
}
|
|
9
|
-
|
|
10
7
|
.trigger {
|
|
11
8
|
display: flex;
|
|
12
9
|
align-items: center;
|
|
@@ -15,9 +12,9 @@
|
|
|
15
12
|
font-family: var(--font-mono);
|
|
16
13
|
font-size: var(--font-size-sm);
|
|
17
14
|
font-weight: var(--font-weight-medium);
|
|
18
|
-
color: var(--color-
|
|
15
|
+
color: var(--color-primary);
|
|
19
16
|
background: var(--color-surface-1);
|
|
20
|
-
border: var(--border-width-base) solid var(--color-
|
|
17
|
+
border: var(--border-width-base) solid var(--color-line);
|
|
21
18
|
border-radius: var(--radius-md);
|
|
22
19
|
cursor: pointer;
|
|
23
20
|
outline: none;
|
|
@@ -29,7 +26,6 @@
|
|
|
29
26
|
border-bottom-right-radius var(--duration-normal) var(--easing-standard) var(--duration-normal),
|
|
30
27
|
border-bottom-color var(--duration-normal) var(--easing-standard) var(--duration-normal);
|
|
31
28
|
}
|
|
32
|
-
|
|
33
29
|
.trigger[data-panel-open] {
|
|
34
30
|
border-bottom-left-radius: 0;
|
|
35
31
|
border-bottom-right-radius: 0;
|
|
@@ -40,55 +36,46 @@
|
|
|
40
36
|
border-bottom-right-radius var(--duration-normal) var(--easing-standard),
|
|
41
37
|
border-bottom-color var(--duration-normal) var(--easing-standard);
|
|
42
38
|
}
|
|
43
|
-
|
|
44
39
|
.trigger:hover {
|
|
45
|
-
background-color: var(--color-
|
|
40
|
+
background-color: var(--color-hover);
|
|
46
41
|
}
|
|
47
|
-
|
|
48
42
|
.trigger:focus-visible {
|
|
49
43
|
box-shadow: var(--shadow-focus);
|
|
50
44
|
}
|
|
51
|
-
|
|
52
45
|
.trigger[data-disabled] {
|
|
53
46
|
opacity: 0.44;
|
|
54
47
|
cursor: not-allowed;
|
|
55
48
|
}
|
|
56
|
-
|
|
57
49
|
.trigger-icon {
|
|
58
|
-
color: var(--color-
|
|
50
|
+
color: var(--color-tertiary);
|
|
59
51
|
flex-shrink: 0;
|
|
60
52
|
transition: transform var(--duration-normal) var(--easing-standard);
|
|
61
53
|
}
|
|
62
|
-
|
|
63
54
|
.trigger[data-panel-open] .trigger-icon {
|
|
64
55
|
transform: rotate(90deg);
|
|
65
56
|
}
|
|
66
|
-
|
|
67
57
|
.panel {
|
|
68
58
|
height: var(--collapsible-panel-height);
|
|
69
59
|
overflow: hidden;
|
|
70
60
|
transition: height var(--duration-normal) var(--easing-standard);
|
|
71
61
|
}
|
|
72
|
-
|
|
73
62
|
/* hide when not using hidden="until-found" */
|
|
74
63
|
.panel[hidden]:not([hidden="until-found"]) {
|
|
75
64
|
display: none;
|
|
76
65
|
}
|
|
77
|
-
|
|
78
66
|
.panel[data-starting-style],
|
|
79
67
|
.panel[data-ending-style] {
|
|
80
68
|
height: 0;
|
|
81
69
|
}
|
|
82
|
-
|
|
83
70
|
.panel-content {
|
|
84
71
|
padding: var(--space-3) var(--space-3) var(--space-3) var(--space-3);
|
|
85
72
|
font-family: var(--font-mono);
|
|
86
73
|
font-size: var(--font-size-sm);
|
|
87
|
-
color: var(--color-
|
|
74
|
+
color: var(--color-secondary);
|
|
88
75
|
line-height: var(--line-height-relaxed);
|
|
89
|
-
border: var(--border-width-base) solid var(--color-
|
|
76
|
+
border: var(--border-width-base) solid var(--color-line);
|
|
90
77
|
border-top: none;
|
|
91
78
|
border-radius: 0 0 var(--radius-md) var(--radius-md);
|
|
92
|
-
background: var(--color-
|
|
79
|
+
background: var(--color-elevated);
|
|
93
80
|
}
|
|
94
81
|
}
|