@pantoia/ui 0.1.0 → 0.2.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/accordion/AGENTS.md +5 -5
- package/accordion/index.tsx +17 -9
- package/alert-dialog/AGENTS.md +7 -7
- package/alert-dialog/index.tsx +20 -10
- package/badge/AGENTS.md +5 -5
- package/badge/index.tsx +7 -7
- package/button/AGENTS.md +7 -7
- package/button/index.tsx +36 -36
- package/callout/AGENTS.md +4 -5
- package/callout/index.tsx +13 -14
- package/checkbox/AGENTS.md +5 -5
- package/checkbox/index.tsx +15 -13
- package/combobox/AGENTS.md +13 -13
- package/combobox/index.tsx +82 -38
- package/command-palette/AGENTS.md +3 -2
- package/command-palette/index.tsx +4 -2
- package/dialog/AGENTS.md +6 -6
- package/dialog/index.tsx +11 -5
- package/dist/index.js +63 -34
- package/drawer/AGENTS.md +5 -5
- package/drawer/index.tsx +8 -4
- package/dropdown-menu/AGENTS.md +12 -12
- package/dropdown-menu/index.tsx +23 -11
- package/field/AGENTS.md +8 -8
- package/field/index.tsx +27 -9
- package/input/AGENTS.md +4 -4
- package/input/index.tsx +8 -8
- package/kbd/AGENTS.md +1 -1
- package/kbd/index.tsx +6 -2
- package/label/AGENTS.md +1 -1
- package/label/index.tsx +3 -1
- package/number-field/AGENTS.md +6 -6
- package/number-field/index.tsx +22 -16
- package/package.json +3 -6
- package/popover/AGENTS.md +4 -4
- package/popover/index.tsx +14 -4
- package/press.css +7 -7
- package/radio-group/AGENTS.md +8 -8
- package/radio-group/index.tsx +20 -16
- package/registry.json +3 -51
- package/select/AGENTS.md +10 -10
- package/select/index.tsx +41 -23
- package/styles.css +291 -139
- package/switch/AGENTS.md +4 -4
- package/switch/index.tsx +13 -13
- package/table/AGENTS.md +9 -9
- package/table/index.tsx +17 -7
- package/tabs/AGENTS.md +4 -4
- package/tabs/index.module.css +1 -1
- package/tabs/index.tsx +17 -9
- package/textarea/AGENTS.md +4 -4
- package/textarea/index.tsx +8 -8
- package/toast/AGENTS.md +5 -13
- package/toast/index.tsx +31 -37
- package/toggle/AGENTS.md +4 -4
- package/toggle/index.tsx +10 -9
- package/tooltip/AGENTS.md +2 -2
- package/tooltip/index.tsx +14 -4
- package/code-block/AGENTS.md +0 -60
- package/code-block/index.module.css +0 -46
- package/code-block/index.tsx +0 -127
- package/copy-button/AGENTS.md +0 -43
- package/copy-button/index.tsx +0 -119
package/select/index.tsx
CHANGED
|
@@ -8,17 +8,17 @@ import { tv } from '../tv'
|
|
|
8
8
|
|
|
9
9
|
export const selectTrigger = tv({
|
|
10
10
|
base: 'flex w-full items-center justify-between gap-tight rounded-r8'
|
|
11
|
-
+ ' text-value text-
|
|
11
|
+
+ ' text-value text-foreground'
|
|
12
12
|
+ ' transition-state'
|
|
13
|
-
+ ' invalid:ring-2 invalid:ring-danger'
|
|
14
|
-
+ ' focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring'
|
|
15
|
-
+ ' disabled:bg-disabled disabled:text-
|
|
16
|
-
+ ' unset:text-
|
|
13
|
+
+ ' invalid:ring-2 invalid:ring-line-danger'
|
|
14
|
+
+ ' focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-line-focus-ring'
|
|
15
|
+
+ ' disabled:bg-bg-neutral-disabled disabled:text-foreground-disabled disabled:cursor-not-allowed'
|
|
16
|
+
+ ' unset:text-foreground-placeholder',
|
|
17
17
|
|
|
18
18
|
variants: {
|
|
19
19
|
surface: {
|
|
20
20
|
bare: 'bg-transparent ring-1 ring-inset ring-line-strong',
|
|
21
|
-
well: 'bg-well',
|
|
21
|
+
well: 'bg-background-well',
|
|
22
22
|
},
|
|
23
23
|
size: {
|
|
24
24
|
sm: 'h-8 px-3',
|
|
@@ -72,48 +72,56 @@ export function Select({
|
|
|
72
72
|
<span className="min-w-0 truncate">
|
|
73
73
|
<SelectPrimitive.Value placeholder={placeholder} />
|
|
74
74
|
</span>
|
|
75
|
-
<SelectPrimitive.Icon className="text-
|
|
75
|
+
<SelectPrimitive.Icon className="text-foreground-subtle">
|
|
76
76
|
<ChevronDown className="size-4" />
|
|
77
77
|
</SelectPrimitive.Icon>
|
|
78
78
|
</SelectPrimitive.Trigger>
|
|
79
79
|
|
|
80
80
|
<SelectPrimitive.Portal>
|
|
81
81
|
<SelectPrimitive.Content
|
|
82
|
-
className="
|
|
83
|
-
min-w-(--radix-select-trigger-width)
|
|
82
|
+
className="float text-foreground rounded-float z-overlay
|
|
83
|
+
min-w-(--radix-select-trigger-width) py-1
|
|
84
84
|
open:animate-enter closed:animate-exit"
|
|
85
85
|
position="popper"
|
|
86
86
|
sideOffset={8}
|
|
87
87
|
arrowPadding={16}
|
|
88
88
|
>
|
|
89
|
-
<SelectPrimitive.ScrollUpButton className="text-
|
|
89
|
+
<SelectPrimitive.ScrollUpButton className="text-foreground-subtle flex h-6 cursor-default items-center justify-center">
|
|
90
90
|
<ChevronUp className="size-4" />
|
|
91
91
|
</SelectPrimitive.ScrollUpButton>
|
|
92
92
|
|
|
93
|
-
<SelectPrimitive.Viewport className="flex flex-col gap-px">
|
|
93
|
+
<SelectPrimitive.Viewport className="flex flex-col gap-px px-1">
|
|
94
94
|
{children}
|
|
95
95
|
</SelectPrimitive.Viewport>
|
|
96
96
|
|
|
97
|
-
<SelectPrimitive.ScrollDownButton className="text-
|
|
97
|
+
<SelectPrimitive.ScrollDownButton className="text-foreground-subtle flex h-6 cursor-default items-center justify-center">
|
|
98
98
|
<ChevronDown className="size-4" />
|
|
99
99
|
</SelectPrimitive.ScrollDownButton>
|
|
100
100
|
|
|
101
|
-
{arrow &&
|
|
101
|
+
{arrow && (
|
|
102
|
+
<SelectPrimitive.Arrow asChild width={12} height={6}>
|
|
103
|
+
<svg viewBox="0 0 12 6" preserveAspectRatio="none" className="fill-background-panel -translate-y-px">
|
|
104
|
+
<path d="M0 0L4.58579 4.58579C5.36683 5.36683 6.63316 5.36684 7.41421 4.58579L12 0" className="stroke-line stroke-1" />
|
|
105
|
+
</svg>
|
|
106
|
+
</SelectPrimitive.Arrow>
|
|
107
|
+
)}
|
|
102
108
|
</SelectPrimitive.Content>
|
|
103
109
|
</SelectPrimitive.Portal>
|
|
104
110
|
</SelectPrimitive.Root>
|
|
105
111
|
)
|
|
106
112
|
}
|
|
107
113
|
|
|
114
|
+
const selectGroup = tv({ base: 'flex flex-col gap-px' })
|
|
115
|
+
|
|
108
116
|
export function SelectGroup({ label, className, children }: {
|
|
109
117
|
label?: string
|
|
110
118
|
className?: string
|
|
111
119
|
children?: ReactNode
|
|
112
120
|
}) {
|
|
113
121
|
return (
|
|
114
|
-
<SelectPrimitive.Group className={
|
|
122
|
+
<SelectPrimitive.Group className={selectGroup({ className })}>
|
|
115
123
|
{label && (
|
|
116
|
-
<SelectPrimitive.Label className="text-caption text-
|
|
124
|
+
<SelectPrimitive.Label className="text-caption text-foreground-subtle px-2 pb-1 pt-2">
|
|
117
125
|
{label}
|
|
118
126
|
</SelectPrimitive.Label>
|
|
119
127
|
)}
|
|
@@ -122,6 +130,13 @@ export function SelectGroup({ label, className, children }: {
|
|
|
122
130
|
)
|
|
123
131
|
}
|
|
124
132
|
|
|
133
|
+
const selectItem = tv({
|
|
134
|
+
base: 'flex min-h-9 cursor-default items-center justify-between gap-stack'
|
|
135
|
+
+ ' rounded-r8 px-2 py-1 transition-state'
|
|
136
|
+
+ ' data-highlighted:bg-bg-neutral-hover data-highlighted:outline-none'
|
|
137
|
+
+ ' data-disabled:text-foreground-disabled data-disabled:pointer-events-none',
|
|
138
|
+
})
|
|
139
|
+
|
|
125
140
|
export function SelectItem({ value, disabled, className, children }: {
|
|
126
141
|
value: string
|
|
127
142
|
disabled?: boolean
|
|
@@ -132,38 +147,41 @@ export function SelectItem({ value, disabled, className, children }: {
|
|
|
132
147
|
<SelectPrimitive.Item
|
|
133
148
|
value={value}
|
|
134
149
|
disabled={disabled}
|
|
135
|
-
className={
|
|
136
|
-
+ ' rounded-r8 px-2 py-1 transition-state'
|
|
137
|
-
+ ' data-highlighted:bg-hover data-highlighted:outline-none'
|
|
138
|
-
+ ' data-disabled:text-fg-disabled data-disabled:pointer-events-none' })({ className })}
|
|
150
|
+
className={selectItem({ className })}
|
|
139
151
|
>
|
|
140
152
|
<span className="flex min-w-0 flex-col">
|
|
141
153
|
{children}
|
|
142
154
|
</span>
|
|
143
155
|
|
|
144
|
-
<SelectPrimitive.ItemIndicator className="text-
|
|
156
|
+
<SelectPrimitive.ItemIndicator className="text-foreground-muted flex shrink-0">
|
|
145
157
|
<Check className="size-4" />
|
|
146
158
|
</SelectPrimitive.ItemIndicator>
|
|
147
159
|
</SelectPrimitive.Item>
|
|
148
160
|
)
|
|
149
161
|
}
|
|
150
162
|
|
|
163
|
+
const selectItemText = tv({ base: 'text-label text-foreground' })
|
|
164
|
+
|
|
151
165
|
export function SelectItemText({ className, children }: { className?: string, children?: ReactNode }) {
|
|
152
166
|
return (
|
|
153
|
-
<SelectPrimitive.ItemText className={
|
|
167
|
+
<SelectPrimitive.ItemText className={selectItemText({ className })}>
|
|
154
168
|
{children}
|
|
155
169
|
</SelectPrimitive.ItemText>
|
|
156
170
|
)
|
|
157
171
|
}
|
|
158
172
|
|
|
173
|
+
const selectItemDescription = tv({ base: 'text-caption text-foreground-subtle' })
|
|
174
|
+
|
|
159
175
|
export function SelectItemDescription({ className, children }: { className?: string, children?: ReactNode }) {
|
|
160
176
|
return (
|
|
161
|
-
<span className={
|
|
177
|
+
<span className={selectItemDescription({ className })}>
|
|
162
178
|
{children}
|
|
163
179
|
</span>
|
|
164
180
|
)
|
|
165
181
|
}
|
|
166
182
|
|
|
183
|
+
const selectSeparator = tv({ base: 'bg-line -mx-1 my-1 h-px' })
|
|
184
|
+
|
|
167
185
|
export function SelectSeparator({ className }: { className?: string }) {
|
|
168
|
-
return <SelectPrimitive.Separator className={
|
|
186
|
+
return <SelectPrimitive.Separator className={selectSeparator({ className })} />
|
|
169
187
|
}
|
package/styles.css
CHANGED
|
@@ -23,55 +23,118 @@
|
|
|
23
23
|
@custom-variant menu-gutter (.menu:has(.menu-lead) &:not(:has(.menu-lead)));
|
|
24
24
|
|
|
25
25
|
:root, .light {
|
|
26
|
-
--gray-50:#f9fafb; --gray-100:#f2f4f6; --gray-200:#e5e8eb; --gray-300:#d1d6db;
|
|
27
|
-
--gray-400:#b0b8c1; --gray-500:#8b95a1; --gray-600:#6b7684; --gray-700:#4e5968;
|
|
28
|
-
--gray-800:#333d4b; --gray-900:#191f28;
|
|
26
|
+
--pds-gray-50:#f9fafb; --pds-gray-100:#f2f4f6; --pds-gray-200:#e5e8eb; --pds-gray-300:#d1d6db;
|
|
27
|
+
--pds-gray-400:#b0b8c1; --pds-gray-500:#8b95a1; --pds-gray-600:#6b7684; --pds-gray-700:#4e5968;
|
|
28
|
+
--pds-gray-800:#333d4b; --pds-gray-900:#191f28;
|
|
29
29
|
|
|
30
|
-
--
|
|
31
|
-
--
|
|
32
|
-
--
|
|
30
|
+
--pds-brand-50:#f5f1fd; --pds-brand-100:#e4d6ff; --pds-brand-200:#ceb0ff; --pds-brand-300:#bb8ffa;
|
|
31
|
+
--pds-brand-400:#aa74f2; --pds-brand-500:#9c63e4; --pds-brand-600:#8750c9; --pds-brand-700:#7543b0;
|
|
32
|
+
--pds-brand-800:#633997; --pds-brand-900:#54317f;
|
|
33
33
|
|
|
34
|
-
--blue-50:#e8f3ff; --blue-100:#c9e2ff; --blue-200:#90c2ff; --blue-300:#64a8ff;
|
|
35
|
-
--blue-400:#4593fc; --blue-500:#3182f6; --blue-600:#2272eb; --blue-700:#1b64da;
|
|
36
|
-
--blue-800:#1957c2; --blue-900:#194aa6;
|
|
34
|
+
--pds-blue-50:#e8f3ff; --pds-blue-100:#c9e2ff; --pds-blue-200:#90c2ff; --pds-blue-300:#64a8ff;
|
|
35
|
+
--pds-blue-400:#4593fc; --pds-blue-500:#3182f6; --pds-blue-600:#2272eb; --pds-blue-700:#1b64da;
|
|
36
|
+
--pds-blue-800:#1957c2; --pds-blue-900:#194aa6;
|
|
37
37
|
|
|
38
|
-
--green-50:#f0faf6; --green-100:#aeefd5; --green-200:#76e4b8; --green-300:#3fd599;
|
|
39
|
-
--green-400:#15c47e; --green-500:#03b26c; --green-600:#02a262; --green-700:#029359;
|
|
40
|
-
--green-800:#028450; --green-900:#027648;
|
|
38
|
+
--pds-green-50:#f0faf6; --pds-green-100:#aeefd5; --pds-green-200:#76e4b8; --pds-green-300:#3fd599;
|
|
39
|
+
--pds-green-400:#15c47e; --pds-green-500:#03b26c; --pds-green-600:#02a262; --pds-green-700:#029359;
|
|
40
|
+
--pds-green-800:#028450; --pds-green-900:#027648;
|
|
41
41
|
|
|
42
|
-
--orange-50:#fff3e0; --orange-100:#ffe0b0; --orange-200:#ffcd80; --orange-300:#ffbd51;
|
|
43
|
-
--orange-400:#ffa927; --orange-500:#fe9800; --orange-600:#fb8800; --orange-700:#f57800;
|
|
44
|
-
--orange-800:#ed6700; --orange-900:#e45600;
|
|
42
|
+
--pds-orange-50:#fff3e0; --pds-orange-100:#ffe0b0; --pds-orange-200:#ffcd80; --pds-orange-300:#ffbd51;
|
|
43
|
+
--pds-orange-400:#ffa927; --pds-orange-500:#fe9800; --pds-orange-600:#fb8800; --pds-orange-700:#f57800;
|
|
44
|
+
--pds-orange-800:#ed6700; --pds-orange-900:#e45600;
|
|
45
45
|
|
|
46
|
-
--red-50:#ffeeee; --red-100:#ffd4d6; --red-200:#feafb4; --red-300:#fb8890;
|
|
47
|
-
--red-400:#f66570; --red-500:#f04452; --red-600:#e42939; --red-700:#d22030;
|
|
48
|
-
--red-800:#bc1b2a; --red-900:#a51926;
|
|
46
|
+
--pds-red-50:#ffeeee; --pds-red-100:#ffd4d6; --pds-red-200:#feafb4; --pds-red-300:#fb8890;
|
|
47
|
+
--pds-red-400:#f66570; --pds-red-500:#f04452; --pds-red-600:#e42939; --pds-red-700:#d22030;
|
|
48
|
+
--pds-red-800:#bc1b2a; --pds-red-900:#a51926;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
.dark {
|
|
52
|
-
--gray-50:#202027; --gray-100:#2c2c35; --gray-200:#3c3c47; --gray-300:#4d4d59;
|
|
53
|
-
--gray-400:#62626d; --gray-500:#7e7e87; --gray-600:#9e9ea4; --gray-700:#c3c3c6;
|
|
54
|
-
--gray-800:#e4e4e5; --gray-900:#ffffff;
|
|
52
|
+
--pds-gray-50:#202027; --pds-gray-100:#2c2c35; --pds-gray-200:#3c3c47; --pds-gray-300:#4d4d59;
|
|
53
|
+
--pds-gray-400:#62626d; --pds-gray-500:#7e7e87; --pds-gray-600:#9e9ea4; --pds-gray-700:#c3c3c6;
|
|
54
|
+
--pds-gray-800:#e4e4e5; --pds-gray-900:#ffffff;
|
|
55
55
|
|
|
56
|
-
--
|
|
57
|
-
--
|
|
58
|
-
--
|
|
56
|
+
--pds-brand-50:#362949; --pds-brand-100:#462e66; --pds-brand-200:#583682; --pds-brand-300:#6b3fa0;
|
|
57
|
+
--pds-brand-400:#8451c4; --pds-brand-500:#9c63e4; --pds-brand-600:#ad75f7; --pds-brand-700:#c094ff;
|
|
58
|
+
--pds-brand-800:#d6baff; --pds-brand-900:#eadeff;
|
|
59
59
|
|
|
60
|
-
--blue-50:#202c4d; --blue-100:#23386a; --blue-200:#25478c; --blue-300:#265ab3;
|
|
61
|
-
--blue-400:#2970d9; --blue-500:#3485fa; --blue-600:#449bff; --blue-700:#61b0ff;
|
|
62
|
-
--blue-800:#8fcdff; --blue-900:#c8e7ff;
|
|
60
|
+
--pds-blue-50:#202c4d; --pds-blue-100:#23386a; --pds-blue-200:#25478c; --pds-blue-300:#265ab3;
|
|
61
|
+
--pds-blue-400:#2970d9; --pds-blue-500:#3485fa; --pds-blue-600:#449bff; --pds-blue-700:#61b0ff;
|
|
62
|
+
--pds-blue-800:#8fcdff; --pds-blue-900:#c8e7ff;
|
|
63
63
|
|
|
64
|
-
--green-50:#153729; --green-100:#135338; --green-200:#136d47; --green-300:#138a59;
|
|
65
|
-
--green-400:#13a065; --green-500:#16bb76; --green-600:#26cf88; --green-700:#4ee4a6;
|
|
66
|
-
--green-800:#82f6c5; --green-900:#ccffea;
|
|
64
|
+
--pds-green-50:#153729; --pds-green-100:#135338; --pds-green-200:#136d47; --pds-green-300:#138a59;
|
|
65
|
+
--pds-green-400:#13a065; --pds-green-500:#16bb76; --pds-green-600:#26cf88; --pds-green-700:#4ee4a6;
|
|
66
|
+
--pds-green-800:#82f6c5; --pds-green-900:#ccffea;
|
|
67
67
|
|
|
68
|
-
--orange-50:#3d2500; --orange-100:#563200; --orange-200:#804600; --orange-300:#a85f00;
|
|
69
|
-
--orange-400:#cf7200; --orange-500:#f18600; --orange-600:#fd9528; --orange-700:#ffa861;
|
|
70
|
-
--orange-800:#ffc39e; --orange-900:#ffe4d6;
|
|
68
|
+
--pds-orange-50:#3d2500; --pds-orange-100:#563200; --pds-orange-200:#804600; --pds-orange-300:#a85f00;
|
|
69
|
+
--pds-orange-400:#cf7200; --pds-orange-500:#f18600; --pds-orange-600:#fd9528; --pds-orange-700:#ffa861;
|
|
70
|
+
--pds-orange-800:#ffc39e; --pds-orange-900:#ffe4d6;
|
|
71
71
|
|
|
72
|
-
--red-50:#3c2020; --red-100:#562025; --red-200:#7a242d; --red-300:#9e2733;
|
|
73
|
-
--red-400:#ca2f3d; --red-500:#f04251; --red-600:#fa616d; --red-700:#fe818b;
|
|
74
|
-
--red-800:#ffa8ad; --red-900:#ffd1d3;
|
|
72
|
+
--pds-red-50:#3c2020; --pds-red-100:#562025; --pds-red-200:#7a242d; --pds-red-300:#9e2733;
|
|
73
|
+
--pds-red-400:#ca2f3d; --pds-red-500:#f04251; --pds-red-600:#fa616d; --pds-red-700:#fe818b;
|
|
74
|
+
--pds-red-800:#ffa8ad; --pds-red-900:#ffd1d3;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
@theme inline {
|
|
78
|
+
--color-pds-gray-50: var(--pds-gray-50);
|
|
79
|
+
--color-pds-gray-100: var(--pds-gray-100);
|
|
80
|
+
--color-pds-gray-200: var(--pds-gray-200);
|
|
81
|
+
--color-pds-gray-300: var(--pds-gray-300);
|
|
82
|
+
--color-pds-gray-400: var(--pds-gray-400);
|
|
83
|
+
--color-pds-gray-500: var(--pds-gray-500);
|
|
84
|
+
--color-pds-gray-600: var(--pds-gray-600);
|
|
85
|
+
--color-pds-gray-700: var(--pds-gray-700);
|
|
86
|
+
--color-pds-gray-800: var(--pds-gray-800);
|
|
87
|
+
--color-pds-gray-900: var(--pds-gray-900);
|
|
88
|
+
--color-pds-brand-50: var(--pds-brand-50);
|
|
89
|
+
--color-pds-brand-100: var(--pds-brand-100);
|
|
90
|
+
--color-pds-brand-200: var(--pds-brand-200);
|
|
91
|
+
--color-pds-brand-300: var(--pds-brand-300);
|
|
92
|
+
--color-pds-brand-400: var(--pds-brand-400);
|
|
93
|
+
--color-pds-brand-500: var(--pds-brand-500);
|
|
94
|
+
--color-pds-brand-600: var(--pds-brand-600);
|
|
95
|
+
--color-pds-brand-700: var(--pds-brand-700);
|
|
96
|
+
--color-pds-brand-800: var(--pds-brand-800);
|
|
97
|
+
--color-pds-brand-900: var(--pds-brand-900);
|
|
98
|
+
--color-pds-blue-50: var(--pds-blue-50);
|
|
99
|
+
--color-pds-blue-100: var(--pds-blue-100);
|
|
100
|
+
--color-pds-blue-200: var(--pds-blue-200);
|
|
101
|
+
--color-pds-blue-300: var(--pds-blue-300);
|
|
102
|
+
--color-pds-blue-400: var(--pds-blue-400);
|
|
103
|
+
--color-pds-blue-500: var(--pds-blue-500);
|
|
104
|
+
--color-pds-blue-600: var(--pds-blue-600);
|
|
105
|
+
--color-pds-blue-700: var(--pds-blue-700);
|
|
106
|
+
--color-pds-blue-800: var(--pds-blue-800);
|
|
107
|
+
--color-pds-blue-900: var(--pds-blue-900);
|
|
108
|
+
--color-pds-green-50: var(--pds-green-50);
|
|
109
|
+
--color-pds-green-100: var(--pds-green-100);
|
|
110
|
+
--color-pds-green-200: var(--pds-green-200);
|
|
111
|
+
--color-pds-green-300: var(--pds-green-300);
|
|
112
|
+
--color-pds-green-400: var(--pds-green-400);
|
|
113
|
+
--color-pds-green-500: var(--pds-green-500);
|
|
114
|
+
--color-pds-green-600: var(--pds-green-600);
|
|
115
|
+
--color-pds-green-700: var(--pds-green-700);
|
|
116
|
+
--color-pds-green-800: var(--pds-green-800);
|
|
117
|
+
--color-pds-green-900: var(--pds-green-900);
|
|
118
|
+
--color-pds-orange-50: var(--pds-orange-50);
|
|
119
|
+
--color-pds-orange-100: var(--pds-orange-100);
|
|
120
|
+
--color-pds-orange-200: var(--pds-orange-200);
|
|
121
|
+
--color-pds-orange-300: var(--pds-orange-300);
|
|
122
|
+
--color-pds-orange-400: var(--pds-orange-400);
|
|
123
|
+
--color-pds-orange-500: var(--pds-orange-500);
|
|
124
|
+
--color-pds-orange-600: var(--pds-orange-600);
|
|
125
|
+
--color-pds-orange-700: var(--pds-orange-700);
|
|
126
|
+
--color-pds-orange-800: var(--pds-orange-800);
|
|
127
|
+
--color-pds-orange-900: var(--pds-orange-900);
|
|
128
|
+
--color-pds-red-50: var(--pds-red-50);
|
|
129
|
+
--color-pds-red-100: var(--pds-red-100);
|
|
130
|
+
--color-pds-red-200: var(--pds-red-200);
|
|
131
|
+
--color-pds-red-300: var(--pds-red-300);
|
|
132
|
+
--color-pds-red-400: var(--pds-red-400);
|
|
133
|
+
--color-pds-red-500: var(--pds-red-500);
|
|
134
|
+
--color-pds-red-600: var(--pds-red-600);
|
|
135
|
+
--color-pds-red-700: var(--pds-red-700);
|
|
136
|
+
--color-pds-red-800: var(--pds-red-800);
|
|
137
|
+
--color-pds-red-900: var(--pds-red-900);
|
|
75
138
|
}
|
|
76
139
|
|
|
77
140
|
@theme {
|
|
@@ -137,8 +200,6 @@
|
|
|
137
200
|
src: url("@fontsource/jetbrains-mono/files/jetbrains-mono-latin-400-normal.woff2") format("woff2");
|
|
138
201
|
font-weight: 400;
|
|
139
202
|
font-display: swap;
|
|
140
|
-
/* [TODO] size-adjust 를 지운다 — 시각 기준 이미지가 서고 나서 */
|
|
141
|
-
size-adjust: 96%;
|
|
142
203
|
unicode-range: U+0000-00FF, U+2000-206F;
|
|
143
204
|
}
|
|
144
205
|
|
|
@@ -147,94 +208,194 @@
|
|
|
147
208
|
.dark { color-scheme: dark; }
|
|
148
209
|
|
|
149
210
|
body {
|
|
150
|
-
background-color: var(--color-
|
|
151
|
-
color: var(--color-
|
|
211
|
+
background-color: var(--color-background);
|
|
212
|
+
color: var(--color-foreground);
|
|
152
213
|
font-family: var(--font-sans);
|
|
153
214
|
}
|
|
154
215
|
|
|
155
216
|
code, pre, kbd, samp { font-family: var(--font-mono); }
|
|
156
217
|
}
|
|
157
218
|
|
|
158
|
-
@theme inline {
|
|
159
|
-
--color-white:#ffffff;
|
|
160
|
-
--color-black:#000000;
|
|
161
|
-
|
|
162
|
-
--color-canvas: var(--ui-canvas);
|
|
163
|
-
--color-well: var(--ui-well);
|
|
164
|
-
--color-panel: var(--ui-panel);
|
|
165
|
-
--color-float: var(--ui-float);
|
|
166
|
-
--color-disabled: var(--gray-200);
|
|
167
|
-
|
|
168
|
-
--color-hover: var(--ui-hover);
|
|
169
|
-
--color-selected: var(--ui-selected);
|
|
170
|
-
--color-selected-hover: var(--ui-selected-hover);
|
|
171
|
-
|
|
172
|
-
--color-control-on: var(--gray-900);
|
|
173
|
-
--color-control-on-hover: var(--gray-800);
|
|
174
|
-
--color-control-on-disabled: var(--gray-600);
|
|
175
|
-
--color-fg-on-control: var(--gray-50);
|
|
176
|
-
|
|
177
|
-
--color-fg: var(--gray-900);
|
|
178
|
-
--color-fg-muted: var(--gray-700);
|
|
179
|
-
--color-fg-subtle: var(--gray-500);
|
|
180
|
-
--color-fg-placeholder: var(--gray-400);
|
|
181
|
-
--color-fg-disabled: var(--gray-600);
|
|
182
|
-
--color-fg-on-solid:#ffffff;
|
|
183
|
-
|
|
184
|
-
--color-line: var(--gray-200);
|
|
185
|
-
--color-line-strong: var(--gray-300);
|
|
186
|
-
--color-ring: var(--blue-500);
|
|
187
|
-
|
|
188
|
-
--color-neutral-solid: var(--gray-900);
|
|
189
|
-
--color-neutral-solid-hover: var(--gray-800);
|
|
190
|
-
|
|
191
|
-
--color-primary-solid: var(--purple-500);
|
|
192
|
-
--color-primary-solid-hover: var(--purple-600);
|
|
193
|
-
--color-primary-weak: var(--purple-50);
|
|
194
|
-
--color-primary-on-weak: var(--purple-700);
|
|
195
|
-
--color-primary-stroke: var(--purple-200);
|
|
196
|
-
|
|
197
|
-
--color-info: var(--blue-500);
|
|
198
|
-
--color-info-weak: var(--blue-50);
|
|
199
|
-
--color-info-on-weak: var(--blue-700);
|
|
200
|
-
--color-info-stroke: var(--blue-200);
|
|
201
|
-
|
|
202
|
-
--color-success: var(--green-500);
|
|
203
|
-
--color-success-weak: var(--green-50);
|
|
204
|
-
--color-success-on-weak: var(--green-700);
|
|
205
|
-
--color-success-stroke: var(--green-200);
|
|
206
|
-
|
|
207
|
-
--color-warning: var(--orange-500);
|
|
208
|
-
--color-warning-weak: var(--orange-50);
|
|
209
|
-
--color-warning-on-weak: var(--orange-700);
|
|
210
|
-
--color-warning-stroke: var(--orange-200);
|
|
211
|
-
|
|
212
|
-
--color-danger: var(--red-500);
|
|
213
|
-
--color-danger-weak: var(--red-50);
|
|
214
|
-
--color-danger-on-weak: var(--red-700);
|
|
215
|
-
--color-danger-stroke: var(--red-200);
|
|
216
|
-
--color-danger-solid: var(--red-500);
|
|
217
|
-
--color-danger-solid-hover: var(--red-600);
|
|
218
|
-
}
|
|
219
|
-
|
|
220
219
|
:root, .light {
|
|
221
|
-
--
|
|
222
|
-
--
|
|
223
|
-
--
|
|
224
|
-
--
|
|
225
|
-
|
|
226
|
-
--
|
|
227
|
-
--
|
|
220
|
+
--pds-background: #ffffff;
|
|
221
|
+
--pds-background-overlay: rgba(0,0,0,0.2);
|
|
222
|
+
--pds-background-panel: #ffffff;
|
|
223
|
+
--pds-background-well: #f2f4f6;
|
|
224
|
+
|
|
225
|
+
--pds-bg-brand-solid: var(--pds-brand-500);
|
|
226
|
+
--pds-bg-brand-solid-hover: var(--pds-brand-600);
|
|
227
|
+
--pds-bg-brand-weak: var(--pds-brand-50);
|
|
228
|
+
--pds-bg-danger-solid: var(--pds-red-500);
|
|
229
|
+
--pds-bg-danger-solid-hover: var(--pds-red-600);
|
|
230
|
+
--pds-bg-danger-weak: var(--pds-red-50);
|
|
231
|
+
--pds-bg-info-solid: var(--pds-blue-500);
|
|
232
|
+
--pds-bg-info-weak: var(--pds-blue-50);
|
|
233
|
+
--pds-bg-neutral-disabled: var(--pds-gray-200);
|
|
234
|
+
--pds-bg-neutral-hover: rgba(0,23,51,0.02);
|
|
235
|
+
--pds-bg-neutral-knob: #ffffff;
|
|
236
|
+
--pds-bg-neutral-selected: rgba(2,32,71,0.05);
|
|
237
|
+
--pds-bg-neutral-selected-hover: rgba(0,27,55,0.1);
|
|
238
|
+
--pds-bg-neutral-solid: var(--pds-gray-900);
|
|
239
|
+
--pds-bg-neutral-solid-checked-disabled: var(--pds-gray-600);
|
|
240
|
+
--pds-bg-neutral-solid-hover: var(--pds-gray-800);
|
|
241
|
+
--pds-bg-success-solid: var(--pds-green-500);
|
|
242
|
+
--pds-bg-success-weak: var(--pds-green-50);
|
|
243
|
+
--pds-bg-warning-solid: var(--pds-orange-500);
|
|
244
|
+
--pds-bg-warning-weak: var(--pds-orange-50);
|
|
245
|
+
|
|
246
|
+
--pds-fg-brand-contrast: var(--pds-brand-700);
|
|
247
|
+
--pds-fg-brand-solid-contrast: #ffffff;
|
|
248
|
+
--pds-fg-danger: var(--pds-red-500);
|
|
249
|
+
--pds-fg-danger-contrast: var(--pds-red-700);
|
|
250
|
+
--pds-fg-info: var(--pds-blue-500);
|
|
251
|
+
--pds-fg-info-contrast: var(--pds-blue-700);
|
|
252
|
+
--pds-fg-neutral-solid-contrast: var(--pds-gray-50);
|
|
253
|
+
--pds-fg-success: var(--pds-green-500);
|
|
254
|
+
--pds-fg-success-contrast: var(--pds-green-700);
|
|
255
|
+
--pds-fg-warning: var(--pds-orange-500);
|
|
256
|
+
--pds-fg-warning-contrast: var(--pds-orange-700);
|
|
257
|
+
|
|
258
|
+
--pds-line-brand-weak: var(--pds-brand-200);
|
|
259
|
+
--pds-line-danger: var(--pds-red-500);
|
|
260
|
+
--pds-line-danger-weak: var(--pds-red-200);
|
|
261
|
+
--pds-line-focus-ring: var(--pds-blue-500);
|
|
262
|
+
--pds-line-info: var(--pds-blue-500);
|
|
263
|
+
--pds-line-info-weak: var(--pds-blue-200);
|
|
264
|
+
--pds-line-neutral-solid: var(--pds-gray-900);
|
|
265
|
+
--pds-line-strong: var(--pds-gray-300);
|
|
266
|
+
--pds-line-success: var(--pds-green-500);
|
|
267
|
+
--pds-line-success-weak: var(--pds-green-200);
|
|
268
|
+
--pds-line-warning: var(--pds-orange-500);
|
|
269
|
+
--pds-line-warning-weak: var(--pds-orange-200);
|
|
270
|
+
|
|
271
|
+
--pds-black: #000000;
|
|
272
|
+
--pds-foreground: var(--pds-gray-900);
|
|
273
|
+
--pds-foreground-disabled: var(--pds-gray-600);
|
|
274
|
+
--pds-foreground-muted: var(--pds-gray-700);
|
|
275
|
+
--pds-foreground-placeholder: var(--pds-gray-400);
|
|
276
|
+
--pds-foreground-subtle: var(--pds-gray-500);
|
|
277
|
+
--pds-line: var(--pds-gray-200);
|
|
278
|
+
--pds-white: #ffffff;
|
|
228
279
|
}
|
|
229
280
|
|
|
230
281
|
.dark {
|
|
231
|
-
--
|
|
232
|
-
--
|
|
233
|
-
--
|
|
234
|
-
--
|
|
235
|
-
|
|
236
|
-
--
|
|
237
|
-
--
|
|
282
|
+
--pds-background: #17171c;
|
|
283
|
+
--pds-background-overlay: rgba(0,0,0,0.56);
|
|
284
|
+
--pds-background-panel: #202027;
|
|
285
|
+
--pds-background-well: #101013;
|
|
286
|
+
|
|
287
|
+
--pds-bg-brand-solid: var(--pds-brand-500);
|
|
288
|
+
--pds-bg-brand-solid-hover: var(--pds-brand-600);
|
|
289
|
+
--pds-bg-brand-weak: var(--pds-brand-50);
|
|
290
|
+
--pds-bg-danger-solid: var(--pds-red-500);
|
|
291
|
+
--pds-bg-danger-solid-hover: var(--pds-red-600);
|
|
292
|
+
--pds-bg-danger-weak: var(--pds-red-50);
|
|
293
|
+
--pds-bg-info-solid: var(--pds-blue-500);
|
|
294
|
+
--pds-bg-info-weak: var(--pds-blue-50);
|
|
295
|
+
--pds-bg-neutral-disabled: var(--pds-gray-200);
|
|
296
|
+
--pds-bg-neutral-hover: rgba(209,209,253,0.05);
|
|
297
|
+
--pds-bg-neutral-knob: #2c2c35;
|
|
298
|
+
--pds-bg-neutral-selected: rgba(217,217,255,0.11);
|
|
299
|
+
--pds-bg-neutral-selected-hover: rgba(222,222,255,0.19);
|
|
300
|
+
--pds-bg-neutral-solid: var(--pds-gray-900);
|
|
301
|
+
--pds-bg-neutral-solid-checked-disabled: var(--pds-gray-600);
|
|
302
|
+
--pds-bg-neutral-solid-hover: var(--pds-gray-800);
|
|
303
|
+
--pds-bg-success-solid: var(--pds-green-500);
|
|
304
|
+
--pds-bg-success-weak: var(--pds-green-50);
|
|
305
|
+
--pds-bg-warning-solid: var(--pds-orange-500);
|
|
306
|
+
--pds-bg-warning-weak: var(--pds-orange-50);
|
|
307
|
+
|
|
308
|
+
--pds-fg-brand-contrast: var(--pds-brand-700);
|
|
309
|
+
--pds-fg-brand-solid-contrast: #ffffff;
|
|
310
|
+
--pds-fg-danger: var(--pds-red-500);
|
|
311
|
+
--pds-fg-danger-contrast: var(--pds-red-700);
|
|
312
|
+
--pds-fg-info: var(--pds-blue-500);
|
|
313
|
+
--pds-fg-info-contrast: var(--pds-blue-700);
|
|
314
|
+
--pds-fg-neutral-solid-contrast: var(--pds-gray-50);
|
|
315
|
+
--pds-fg-success: var(--pds-green-500);
|
|
316
|
+
--pds-fg-success-contrast: var(--pds-green-700);
|
|
317
|
+
--pds-fg-warning: var(--pds-orange-500);
|
|
318
|
+
--pds-fg-warning-contrast: var(--pds-orange-700);
|
|
319
|
+
|
|
320
|
+
--pds-line-brand-weak: var(--pds-brand-200);
|
|
321
|
+
--pds-line-danger: var(--pds-red-500);
|
|
322
|
+
--pds-line-danger-weak: var(--pds-red-200);
|
|
323
|
+
--pds-line-focus-ring: var(--pds-blue-500);
|
|
324
|
+
--pds-line-info: var(--pds-blue-500);
|
|
325
|
+
--pds-line-info-weak: var(--pds-blue-200);
|
|
326
|
+
--pds-line-neutral-solid: var(--pds-gray-900);
|
|
327
|
+
--pds-line-strong: var(--pds-gray-300);
|
|
328
|
+
--pds-line-success: var(--pds-green-500);
|
|
329
|
+
--pds-line-success-weak: var(--pds-green-200);
|
|
330
|
+
--pds-line-warning: var(--pds-orange-500);
|
|
331
|
+
--pds-line-warning-weak: var(--pds-orange-200);
|
|
332
|
+
|
|
333
|
+
--pds-black: #000000;
|
|
334
|
+
--pds-foreground: var(--pds-gray-900);
|
|
335
|
+
--pds-foreground-disabled: var(--pds-gray-600);
|
|
336
|
+
--pds-foreground-muted: var(--pds-gray-700);
|
|
337
|
+
--pds-foreground-placeholder: var(--pds-gray-400);
|
|
338
|
+
--pds-foreground-subtle: var(--pds-gray-500);
|
|
339
|
+
--pds-line: var(--pds-gray-200);
|
|
340
|
+
--pds-white: #ffffff;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
@theme inline {
|
|
344
|
+
--color-background: var(--pds-background);
|
|
345
|
+
--color-background-overlay: var(--pds-background-overlay);
|
|
346
|
+
--color-background-panel: var(--pds-background-panel);
|
|
347
|
+
--color-background-well: var(--pds-background-well);
|
|
348
|
+
--color-bg-brand-solid: var(--pds-bg-brand-solid);
|
|
349
|
+
--color-bg-brand-solid-hover: var(--pds-bg-brand-solid-hover);
|
|
350
|
+
--color-bg-brand-weak: var(--pds-bg-brand-weak);
|
|
351
|
+
--color-bg-danger-solid: var(--pds-bg-danger-solid);
|
|
352
|
+
--color-bg-danger-solid-hover: var(--pds-bg-danger-solid-hover);
|
|
353
|
+
--color-bg-danger-weak: var(--pds-bg-danger-weak);
|
|
354
|
+
--color-bg-info-solid: var(--pds-bg-info-solid);
|
|
355
|
+
--color-bg-info-weak: var(--pds-bg-info-weak);
|
|
356
|
+
--color-bg-neutral-disabled: var(--pds-bg-neutral-disabled);
|
|
357
|
+
--color-bg-neutral-hover: var(--pds-bg-neutral-hover);
|
|
358
|
+
--color-bg-neutral-knob: var(--pds-bg-neutral-knob);
|
|
359
|
+
--color-bg-neutral-selected: var(--pds-bg-neutral-selected);
|
|
360
|
+
--color-bg-neutral-selected-hover: var(--pds-bg-neutral-selected-hover);
|
|
361
|
+
--color-bg-neutral-solid: var(--pds-bg-neutral-solid);
|
|
362
|
+
--color-bg-neutral-solid-checked-disabled: var(--pds-bg-neutral-solid-checked-disabled);
|
|
363
|
+
--color-bg-neutral-solid-hover: var(--pds-bg-neutral-solid-hover);
|
|
364
|
+
--color-bg-success-solid: var(--pds-bg-success-solid);
|
|
365
|
+
--color-bg-success-weak: var(--pds-bg-success-weak);
|
|
366
|
+
--color-bg-warning-solid: var(--pds-bg-warning-solid);
|
|
367
|
+
--color-bg-warning-weak: var(--pds-bg-warning-weak);
|
|
368
|
+
--color-fg-brand-contrast: var(--pds-fg-brand-contrast);
|
|
369
|
+
--color-fg-brand-solid-contrast: var(--pds-fg-brand-solid-contrast);
|
|
370
|
+
--color-fg-danger: var(--pds-fg-danger);
|
|
371
|
+
--color-fg-danger-contrast: var(--pds-fg-danger-contrast);
|
|
372
|
+
--color-fg-info: var(--pds-fg-info);
|
|
373
|
+
--color-fg-info-contrast: var(--pds-fg-info-contrast);
|
|
374
|
+
--color-fg-neutral-solid-contrast: var(--pds-fg-neutral-solid-contrast);
|
|
375
|
+
--color-fg-success: var(--pds-fg-success);
|
|
376
|
+
--color-fg-success-contrast: var(--pds-fg-success-contrast);
|
|
377
|
+
--color-fg-warning: var(--pds-fg-warning);
|
|
378
|
+
--color-fg-warning-contrast: var(--pds-fg-warning-contrast);
|
|
379
|
+
--color-line-brand-weak: var(--pds-line-brand-weak);
|
|
380
|
+
--color-line-danger: var(--pds-line-danger);
|
|
381
|
+
--color-line-danger-weak: var(--pds-line-danger-weak);
|
|
382
|
+
--color-line-focus-ring: var(--pds-line-focus-ring);
|
|
383
|
+
--color-line-info: var(--pds-line-info);
|
|
384
|
+
--color-line-info-weak: var(--pds-line-info-weak);
|
|
385
|
+
--color-line-neutral-solid: var(--pds-line-neutral-solid);
|
|
386
|
+
--color-line-strong: var(--pds-line-strong);
|
|
387
|
+
--color-line-success: var(--pds-line-success);
|
|
388
|
+
--color-line-success-weak: var(--pds-line-success-weak);
|
|
389
|
+
--color-line-warning: var(--pds-line-warning);
|
|
390
|
+
--color-line-warning-weak: var(--pds-line-warning-weak);
|
|
391
|
+
--color-black: var(--pds-black);
|
|
392
|
+
--color-foreground: var(--pds-foreground);
|
|
393
|
+
--color-foreground-disabled: var(--pds-foreground-disabled);
|
|
394
|
+
--color-foreground-muted: var(--pds-foreground-muted);
|
|
395
|
+
--color-foreground-placeholder: var(--pds-foreground-placeholder);
|
|
396
|
+
--color-foreground-subtle: var(--pds-foreground-subtle);
|
|
397
|
+
--color-line: var(--pds-line);
|
|
398
|
+
--color-white: var(--pds-white);
|
|
238
399
|
}
|
|
239
400
|
|
|
240
401
|
@theme {
|
|
@@ -309,39 +470,30 @@
|
|
|
309
470
|
@theme {
|
|
310
471
|
--shadow-*: initial;
|
|
311
472
|
|
|
312
|
-
--shadow-s1: 0 1px 4px 0 var(--
|
|
313
|
-
--shadow-s2: 0 2px 10px 0 var(--
|
|
314
|
-
--shadow-s3: 0 4px 16px 0 var(--
|
|
473
|
+
--shadow-s1: 0 1px 4px 0 var(--pds-shadow-1);
|
|
474
|
+
--shadow-s2: 0 2px 10px 0 var(--pds-shadow-2);
|
|
475
|
+
--shadow-s3: 0 4px 16px 0 var(--pds-shadow-3);
|
|
315
476
|
}
|
|
316
477
|
|
|
317
|
-
:root, .light { --
|
|
318
|
-
.dark { --
|
|
319
|
-
|
|
320
|
-
@theme inline {
|
|
321
|
-
--color-overlay: var(--ui-overlay);
|
|
322
|
-
}
|
|
323
|
-
:root, .light { --ui-overlay: rgba(0,0,0,0.2); }
|
|
324
|
-
.dark { --ui-overlay: rgba(0,0,0,0.56); }
|
|
478
|
+
:root, .light { --pds-shadow-1:#00000014; --pds-shadow-2:#0000001a; --pds-shadow-3:#0000001f; }
|
|
479
|
+
.dark { --pds-shadow-1:#00000080; --pds-shadow-2:#000000ad; --pds-shadow-3:#000000cc; }
|
|
325
480
|
|
|
326
481
|
@utility z-sticky { z-index: 10; }
|
|
327
482
|
@utility z-overlay { z-index: 50; }
|
|
328
483
|
@utility z-toast { z-index: 60; }
|
|
329
484
|
|
|
330
|
-
|
|
485
|
+
@utility frame {
|
|
486
|
+
@apply bg-background-panel border border-line;
|
|
487
|
+
}
|
|
331
488
|
|
|
332
|
-
@utility
|
|
333
|
-
|
|
334
|
-
top: var(--header-h);
|
|
335
|
-
max-height: calc(100dvh - var(--header-h));
|
|
336
|
-
overflow-y: auto;
|
|
489
|
+
@utility card {
|
|
490
|
+
@apply bg-background-panel shadow-s3;
|
|
337
491
|
}
|
|
338
492
|
|
|
339
|
-
@utility
|
|
340
|
-
|
|
341
|
-
scrollbar-color: var(--color-line-strong) transparent;
|
|
493
|
+
@utility float {
|
|
494
|
+
@apply bg-background-panel border border-line shadow-s3;
|
|
342
495
|
}
|
|
343
496
|
|
|
344
|
-
@utility
|
|
345
|
-
|
|
346
|
-
&::-webkit-scrollbar { display: none; }
|
|
497
|
+
@utility sheet {
|
|
498
|
+
@apply bg-background-panel;
|
|
347
499
|
}
|