@stasho/ds 0.8.0 → 0.9.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/package.json +1 -1
- package/src/components/alert/alert.tsx +1 -1
- package/src/components/badge/badge.tsx +1 -1
- package/src/components/button/button.tsx +1 -1
- package/src/components/checkbox/checkbox.tsx +3 -3
- package/src/components/combobox/combobox.tsx +3 -3
- package/src/components/copyable-text/copyable-text.tsx +2 -2
- package/src/components/dialog/dialog.tsx +2 -2
- package/src/components/input/input.tsx +1 -1
- package/src/components/multi-select/multi-select.tsx +7 -7
- package/src/components/pagination/pagination.tsx +2 -2
- package/src/components/select/select.tsx +3 -3
- package/src/components/slider/slider.tsx +1 -1
- package/src/components/stepper/stepper.tsx +1 -1
- package/src/components/switch/switch.tsx +2 -2
- package/src/components/table/table.tsx +34 -37
- package/src/components/tabs/tabs.tsx +6 -6
- package/src/components/textarea/textarea.tsx +1 -1
- package/src/components/tooltip/tooltip.tsx +1 -1
- package/src/components/ui/skeleton.tsx +1 -1
- package/src/styles/tokens.css +10 -10
package/package.json
CHANGED
|
@@ -30,7 +30,7 @@ const VARIANT_BG_CLASS: Record<AlertVariant, string> = {
|
|
|
30
30
|
|
|
31
31
|
const alertVariants = cva(
|
|
32
32
|
[
|
|
33
|
-
"relative overflow-hidden rounded-
|
|
33
|
+
"relative overflow-hidden rounded-sm border",
|
|
34
34
|
"px-3 py-2",
|
|
35
35
|
"transition-all duration-200",
|
|
36
36
|
"motion-reduce:transition-none",
|
|
@@ -5,7 +5,7 @@ import { cn } from "@ac/lib/cn";
|
|
|
5
5
|
const badgeVariants = cva(
|
|
6
6
|
[
|
|
7
7
|
"inline-flex items-center justify-center gap-1.5",
|
|
8
|
-
"rounded-
|
|
8
|
+
"rounded-sm font-mono uppercase tracking-wider",
|
|
9
9
|
"whitespace-nowrap select-none",
|
|
10
10
|
].join(" "),
|
|
11
11
|
{
|
|
@@ -12,7 +12,7 @@ import { cn } from "@ac/lib/cn";
|
|
|
12
12
|
const buttonVariants = cva(
|
|
13
13
|
[
|
|
14
14
|
"inline-flex items-center font-body font-bold leading-none",
|
|
15
|
-
"rounded-
|
|
15
|
+
"rounded-sm border-0 text-white",
|
|
16
16
|
"transition-[background,box-shadow,transform] duration-150 ease-out",
|
|
17
17
|
"active:translate-y-px",
|
|
18
18
|
"focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2",
|
|
@@ -26,9 +26,9 @@ const checkboxVariants = cva(
|
|
|
26
26
|
{
|
|
27
27
|
variants: {
|
|
28
28
|
size: {
|
|
29
|
-
xs: "size-3.5 rounded-
|
|
30
|
-
sm: "size-4 rounded-
|
|
31
|
-
md: "size-5 rounded-
|
|
29
|
+
xs: "size-3.5 rounded-sm",
|
|
30
|
+
sm: "size-4 rounded-sm",
|
|
31
|
+
md: "size-5 rounded-sm",
|
|
32
32
|
},
|
|
33
33
|
},
|
|
34
34
|
defaultVariants: {
|
|
@@ -10,7 +10,7 @@ const triggerVariants = cva(
|
|
|
10
10
|
"inline-flex items-center justify-between",
|
|
11
11
|
"w-full font-sans text-foreground",
|
|
12
12
|
"bg-background dark:bg-surface",
|
|
13
|
-
"border border-edge rounded-
|
|
13
|
+
"border border-edge rounded-sm",
|
|
14
14
|
"hover:border-edge-hover",
|
|
15
15
|
"focus-visible:outline-none",
|
|
16
16
|
"focus-visible:border-accent-700 dark:focus-visible:border-accent",
|
|
@@ -112,7 +112,7 @@ const Combobox = forwardRef<HTMLButtonElement, ComboboxProps>(
|
|
|
112
112
|
<Popover.Content
|
|
113
113
|
className={cn(
|
|
114
114
|
"z-50 w-[var(--radix-popover-trigger-width)]",
|
|
115
|
-
"overflow-hidden rounded-
|
|
115
|
+
"overflow-hidden rounded-sm",
|
|
116
116
|
"bg-popover-bg border border-popover-border shadow",
|
|
117
117
|
)}
|
|
118
118
|
sideOffset={4}
|
|
@@ -141,7 +141,7 @@ const Combobox = forwardRef<HTMLButtonElement, ComboboxProps>(
|
|
|
141
141
|
setOpen(false);
|
|
142
142
|
}}
|
|
143
143
|
className={cn(
|
|
144
|
-
"relative flex items-center rounded-
|
|
144
|
+
"relative flex items-center rounded-sm px-4 py-2",
|
|
145
145
|
"text-sm text-foreground cursor-pointer select-none",
|
|
146
146
|
"outline-none",
|
|
147
147
|
"data-[selected=true]:bg-muted",
|
|
@@ -162,7 +162,7 @@ const CopyableText = forwardRef<HTMLSpanElement, CopyableTextProps>(
|
|
|
162
162
|
onClick={handleCopy}
|
|
163
163
|
className={cn(
|
|
164
164
|
"relative inline-flex items-center justify-center",
|
|
165
|
-
"rounded-
|
|
165
|
+
"rounded-sm cursor-pointer shrink-0",
|
|
166
166
|
"hover:bg-foreground/10 transition-colors",
|
|
167
167
|
btnCn,
|
|
168
168
|
)}
|
|
@@ -207,7 +207,7 @@ const CopyableText = forwardRef<HTMLSpanElement, CopyableTextProps>(
|
|
|
207
207
|
rel="noopener noreferrer"
|
|
208
208
|
onClick={(e) => e.stopPropagation()}
|
|
209
209
|
className={cn(
|
|
210
|
-
"inline-flex items-center justify-center rounded-
|
|
210
|
+
"inline-flex items-center justify-center rounded-sm shrink-0",
|
|
211
211
|
"text-muted-foreground hover:text-foreground",
|
|
212
212
|
"hover:bg-foreground/10 transition-colors",
|
|
213
213
|
btnCn,
|
|
@@ -38,7 +38,7 @@ const DialogContent = forwardRef<HTMLDivElement, DialogContentProps>(
|
|
|
38
38
|
<DialogPrimitive.Content
|
|
39
39
|
ref={ref}
|
|
40
40
|
className={cn(
|
|
41
|
-
"relative w-full max-w-md rounded-xl bg-surface p-6",
|
|
41
|
+
"relative w-full max-w-md rounded-xl border border-edge bg-surface p-6",
|
|
42
42
|
"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
|
|
43
43
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
|
|
44
44
|
"motion-reduce:animate-none",
|
|
@@ -56,7 +56,7 @@ const DialogContent = forwardRef<HTMLDivElement, DialogContentProps>(
|
|
|
56
56
|
{locked ? null : (
|
|
57
57
|
<DialogPrimitive.Close
|
|
58
58
|
className={cn(
|
|
59
|
-
"absolute top-4 right-4 rounded-
|
|
59
|
+
"absolute top-4 right-4 rounded-sm",
|
|
60
60
|
"text-muted-foreground transition-colors hover:text-foreground",
|
|
61
61
|
"focus-visible:outline-2 focus-visible:outline-accent focus-visible:outline-offset-2",
|
|
62
62
|
)}
|
|
@@ -6,7 +6,7 @@ const inputVariants = cva(
|
|
|
6
6
|
[
|
|
7
7
|
"w-full font-sans text-foreground",
|
|
8
8
|
"bg-background dark:bg-surface",
|
|
9
|
-
"border border-edge rounded-
|
|
9
|
+
"border border-edge rounded-sm",
|
|
10
10
|
"placeholder:text-muted-foreground",
|
|
11
11
|
"focus-visible:outline-none",
|
|
12
12
|
"focus-visible:border-accent-700 dark:focus-visible:border-accent",
|
|
@@ -10,7 +10,7 @@ const triggerVariants = cva(
|
|
|
10
10
|
"inline-flex items-center gap-1.5",
|
|
11
11
|
"w-full font-sans text-foreground",
|
|
12
12
|
"bg-background dark:bg-surface",
|
|
13
|
-
"border border-edge rounded-
|
|
13
|
+
"border border-edge rounded-sm",
|
|
14
14
|
"hover:border-edge-hover",
|
|
15
15
|
"focus-visible:outline-none",
|
|
16
16
|
"focus-visible:border-accent-700 dark:focus-visible:border-accent",
|
|
@@ -35,7 +35,7 @@ const triggerVariants = cva(
|
|
|
35
35
|
|
|
36
36
|
const tagVariants = cva(
|
|
37
37
|
[
|
|
38
|
-
"inline-flex items-center gap-1 rounded-
|
|
38
|
+
"inline-flex items-center gap-1 rounded-sm bg-muted",
|
|
39
39
|
"text-foreground max-w-32 select-none",
|
|
40
40
|
].join(" "),
|
|
41
41
|
{
|
|
@@ -165,7 +165,7 @@ const MultiSelect = forwardRef<HTMLDivElement, MultiSelectProps>(
|
|
|
165
165
|
aria-label={`Remove ${opt.label}`}
|
|
166
166
|
onClick={(e) => removeTag(e, opt.value)}
|
|
167
167
|
className={cn(
|
|
168
|
-
"shrink-0 rounded-
|
|
168
|
+
"shrink-0 rounded-sm",
|
|
169
169
|
"hover:bg-foreground/10 transition-colors",
|
|
170
170
|
size === "sm" ? "size-3.5" : "size-4",
|
|
171
171
|
)}
|
|
@@ -195,7 +195,7 @@ const MultiSelect = forwardRef<HTMLDivElement, MultiSelectProps>(
|
|
|
195
195
|
aria-label="Clear all"
|
|
196
196
|
onClick={clearAll}
|
|
197
197
|
className={cn(
|
|
198
|
-
"shrink-0 rounded-
|
|
198
|
+
"shrink-0 rounded-sm",
|
|
199
199
|
"text-muted-foreground",
|
|
200
200
|
"hover:text-foreground transition-colors",
|
|
201
201
|
size === "sm" ? "size-4" : "size-5",
|
|
@@ -232,7 +232,7 @@ const MultiSelect = forwardRef<HTMLDivElement, MultiSelectProps>(
|
|
|
232
232
|
<Popover.Content
|
|
233
233
|
className={cn(
|
|
234
234
|
"z-50 w-[var(--radix-popover-trigger-width)]",
|
|
235
|
-
"overflow-hidden rounded-
|
|
235
|
+
"overflow-hidden rounded-sm",
|
|
236
236
|
"bg-popover-bg border border-popover-border shadow",
|
|
237
237
|
)}
|
|
238
238
|
sideOffset={4}
|
|
@@ -268,7 +268,7 @@ const MultiSelect = forwardRef<HTMLDivElement, MultiSelectProps>(
|
|
|
268
268
|
onSelect={() => toggle(option.value)}
|
|
269
269
|
className={cn(
|
|
270
270
|
"relative flex items-center gap-2",
|
|
271
|
-
"rounded-
|
|
271
|
+
"rounded-sm px-3 py-2",
|
|
272
272
|
"text-sm text-foreground",
|
|
273
273
|
"cursor-pointer select-none",
|
|
274
274
|
"outline-none",
|
|
@@ -281,7 +281,7 @@ const MultiSelect = forwardRef<HTMLDivElement, MultiSelectProps>(
|
|
|
281
281
|
className={cn(
|
|
282
282
|
"flex size-4 shrink-0 items-center",
|
|
283
283
|
"justify-center",
|
|
284
|
-
"rounded-
|
|
284
|
+
"rounded-sm border transition-colors",
|
|
285
285
|
selected
|
|
286
286
|
? "border-accent bg-accent text-accent-foreground"
|
|
287
287
|
: "border-edge bg-surface",
|
|
@@ -80,7 +80,7 @@ type PaginationProps = Omit<HTMLAttributes<HTMLElement>, "onChange"> & {
|
|
|
80
80
|
|
|
81
81
|
const NAV_BUTTON = [
|
|
82
82
|
"inline-flex items-center justify-center",
|
|
83
|
-
"size-8 rounded-
|
|
83
|
+
"size-8 rounded-sm",
|
|
84
84
|
"text-foreground/60 hover:text-accent-500 dark:hover:text-accent",
|
|
85
85
|
"transition-colors cursor-pointer",
|
|
86
86
|
"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-accent",
|
|
@@ -90,7 +90,7 @@ const NAV_DISABLED = "text-foreground/30 cursor-not-allowed";
|
|
|
90
90
|
|
|
91
91
|
const PAGE_BUTTON = [
|
|
92
92
|
"inline-flex items-center justify-center",
|
|
93
|
-
"size-[26px] rounded-
|
|
93
|
+
"size-[26px] rounded-sm",
|
|
94
94
|
"font-mono text-sm",
|
|
95
95
|
"text-foreground/60 hover:text-accent-500 dark:hover:text-accent",
|
|
96
96
|
"transition-colors cursor-pointer",
|
|
@@ -9,7 +9,7 @@ const triggerVariants = cva(
|
|
|
9
9
|
"inline-flex items-center justify-between",
|
|
10
10
|
"w-full font-sans text-foreground",
|
|
11
11
|
"bg-background dark:bg-surface",
|
|
12
|
-
"border border-edge rounded-
|
|
12
|
+
"border border-edge rounded-sm",
|
|
13
13
|
"hover:border-edge-hover",
|
|
14
14
|
"focus-visible:outline-none",
|
|
15
15
|
"focus-visible:border-accent-700 dark:focus-visible:border-accent",
|
|
@@ -89,7 +89,7 @@ const Select = forwardRef<HTMLButtonElement, SelectProps>(
|
|
|
89
89
|
<SelectPrimitive.Portal>
|
|
90
90
|
<SelectPrimitive.Content
|
|
91
91
|
className={cn(
|
|
92
|
-
"z-50 overflow-hidden rounded-
|
|
92
|
+
"z-50 overflow-hidden rounded-sm",
|
|
93
93
|
"bg-popover-bg border border-popover-border shadow",
|
|
94
94
|
)}
|
|
95
95
|
position="popper"
|
|
@@ -102,7 +102,7 @@ const Select = forwardRef<HTMLButtonElement, SelectProps>(
|
|
|
102
102
|
value={option.value}
|
|
103
103
|
disabled={option.disabled ?? false}
|
|
104
104
|
className={cn(
|
|
105
|
-
"relative flex items-center rounded-
|
|
105
|
+
"relative flex items-center rounded-sm px-4 py-2",
|
|
106
106
|
"text-sm text-foreground cursor-pointer select-none",
|
|
107
107
|
"outline-none",
|
|
108
108
|
"data-[highlighted]:bg-muted",
|
|
@@ -114,7 +114,7 @@ const Slider = forwardRef<
|
|
|
114
114
|
<span
|
|
115
115
|
className={cn(
|
|
116
116
|
"absolute bottom-full left-1/2 -translate-x-1/2 mb-2",
|
|
117
|
-
"rounded-
|
|
117
|
+
"rounded-sm bg-popover-bg border border-popover-border px-2 py-1",
|
|
118
118
|
"text-xs text-foreground whitespace-nowrap pointer-events-none",
|
|
119
119
|
)}
|
|
120
120
|
>
|
|
@@ -115,7 +115,7 @@ const StepperIndicator = forwardRef<HTMLDivElement, StepperIndicatorProps>(
|
|
|
115
115
|
ref={ref}
|
|
116
116
|
data-state={state}
|
|
117
117
|
className={cn(
|
|
118
|
-
"relative flex size-8 items-center justify-center rounded-
|
|
118
|
+
"relative flex size-8 items-center justify-center rounded-sm",
|
|
119
119
|
"font-sans text-sm font-semibold",
|
|
120
120
|
"border border-edge text-foreground/45 bg-transparent",
|
|
121
121
|
"data-[state=active]:border-accent data-[state=active]:text-accent-500 dark:data-[state=active]:text-accent",
|
|
@@ -6,7 +6,7 @@ import { cn } from "@ac/lib/cn";
|
|
|
6
6
|
const switchVariants = cva(
|
|
7
7
|
[
|
|
8
8
|
"peer inline-flex shrink-0 cursor-pointer",
|
|
9
|
-
"items-center rounded-
|
|
9
|
+
"items-center rounded-sm",
|
|
10
10
|
"border border-edge bg-muted dark:bg-neutral-900",
|
|
11
11
|
"[box-shadow:inset_0_1px_0_rgba(255,255,255,0.7),inset_0_-1px_0_rgba(0,0,0,0.10)]",
|
|
12
12
|
"dark:[box-shadow:inset_0_1px_0_rgba(255,255,255,0.06),inset_0_-1px_0_rgba(0,0,0,0.4)]",
|
|
@@ -34,7 +34,7 @@ const switchVariants = cva(
|
|
|
34
34
|
|
|
35
35
|
const thumbVariants = cva(
|
|
36
36
|
[
|
|
37
|
-
"pointer-events-none block rounded-
|
|
37
|
+
"pointer-events-none block rounded-sm",
|
|
38
38
|
"bg-edge data-[state=checked]:bg-accent",
|
|
39
39
|
"transition-all motion-reduce:transition-none",
|
|
40
40
|
"data-[state=unchecked]:translate-x-0.5",
|
|
@@ -221,43 +221,40 @@ export function Table<T>({
|
|
|
221
221
|
</td>
|
|
222
222
|
</tr>
|
|
223
223
|
) : (
|
|
224
|
-
sortedData.map((row) =>
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
"cursor-pointer
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
))}
|
|
259
|
-
</tr>
|
|
260
|
-
))
|
|
224
|
+
sortedData.map((row) => {
|
|
225
|
+
const isActive = activeKey === keyExtractor(row);
|
|
226
|
+
return (
|
|
227
|
+
<tr
|
|
228
|
+
key={keyExtractor(row)}
|
|
229
|
+
className={cn(
|
|
230
|
+
"border-b border-edge transition-all",
|
|
231
|
+
isActive
|
|
232
|
+
? "bg-accent/15 shadow-[inset_3px_0_0_var(--accent)] hover:bg-accent/20"
|
|
233
|
+
: "even:bg-muted/30 hover:bg-muted/50",
|
|
234
|
+
onRowClick && "cursor-pointer",
|
|
235
|
+
)}
|
|
236
|
+
aria-current={isActive ? "true" : undefined}
|
|
237
|
+
style={{ transitionDuration: "var(--duration-fast)" }}
|
|
238
|
+
tabIndex={onRowClick ? 0 : undefined}
|
|
239
|
+
onClick={onRowClick ? () => onRowClick(row) : undefined}
|
|
240
|
+
onKeyDown={
|
|
241
|
+
onRowClick ? (e) => handleRowKeyDown(e, row) : undefined
|
|
242
|
+
}
|
|
243
|
+
>
|
|
244
|
+
{columns.map((col) => (
|
|
245
|
+
<td
|
|
246
|
+
key={col.id ?? col.header}
|
|
247
|
+
className={cn(
|
|
248
|
+
"px-4 py-3 text-sm",
|
|
249
|
+
alignClass[col.align ?? "left"],
|
|
250
|
+
)}
|
|
251
|
+
>
|
|
252
|
+
{col.accessor(row)}
|
|
253
|
+
</td>
|
|
254
|
+
))}
|
|
255
|
+
</tr>
|
|
256
|
+
);
|
|
257
|
+
})
|
|
261
258
|
)}
|
|
262
259
|
</tbody>
|
|
263
260
|
</table>
|
|
@@ -211,7 +211,7 @@ const OverflowTrigger = forwardRef<HTMLButtonElement, OverflowTriggerProps>(
|
|
|
211
211
|
"motion-reduce:transition-none",
|
|
212
212
|
isPill
|
|
213
213
|
? cn(
|
|
214
|
-
"relative z-10 rounded-
|
|
214
|
+
"relative z-10 rounded-sm",
|
|
215
215
|
isSmall ? "px-2 py-0.5 text-xs" : "px-3 py-1.5 text-sm",
|
|
216
216
|
)
|
|
217
217
|
: isSmall
|
|
@@ -227,7 +227,7 @@ const OverflowTrigger = forwardRef<HTMLButtonElement, OverflowTriggerProps>(
|
|
|
227
227
|
<DropdownMenu.Content
|
|
228
228
|
className={cn(
|
|
229
229
|
"z-50 min-w-[8rem]",
|
|
230
|
-
"rounded-
|
|
230
|
+
"rounded-sm bg-popover-bg border border-popover-border shadow",
|
|
231
231
|
"p-1",
|
|
232
232
|
"motion-reduce:transition-none",
|
|
233
233
|
)}
|
|
@@ -252,7 +252,7 @@ const OverflowTrigger = forwardRef<HTMLButtonElement, OverflowTriggerProps>(
|
|
|
252
252
|
});
|
|
253
253
|
}}
|
|
254
254
|
className={cn(
|
|
255
|
-
"flex w-full items-center rounded-
|
|
255
|
+
"flex w-full items-center rounded-sm px-3 py-2",
|
|
256
256
|
"text-sm text-foreground cursor-pointer select-none",
|
|
257
257
|
"outline-none",
|
|
258
258
|
"hover:bg-muted focus-visible:bg-muted",
|
|
@@ -360,7 +360,7 @@ const TabsList = forwardRef<HTMLDivElement, TabsListProps>(
|
|
|
360
360
|
"group relative flex",
|
|
361
361
|
isPill
|
|
362
362
|
? [
|
|
363
|
-
"rounded-
|
|
363
|
+
"rounded-sm bg-muted border border-edge",
|
|
364
364
|
isSmall ? "p-0.5" : "p-1",
|
|
365
365
|
!isCollapse && "inline-flex",
|
|
366
366
|
]
|
|
@@ -387,7 +387,7 @@ const TabsList = forwardRef<HTMLDivElement, TabsListProps>(
|
|
|
387
387
|
isPill
|
|
388
388
|
? [
|
|
389
389
|
isSmall ? "inset-y-0.5" : "inset-y-1",
|
|
390
|
-
"rounded-
|
|
390
|
+
"rounded-sm bg-accent/15",
|
|
391
391
|
ready ? "opacity-100" : "opacity-0",
|
|
392
392
|
ready
|
|
393
393
|
? "transition-[transform,width,opacity] duration-200 ease-out"
|
|
@@ -435,7 +435,7 @@ const TabsTrigger = forwardRef<
|
|
|
435
435
|
"group-data-[size=sm]:text-sm group-data-[size=sm]:gap-1.5",
|
|
436
436
|
// Pill variant overrides (via group data attribute on TabsList)
|
|
437
437
|
"group-data-[variant=pill]:relative group-data-[variant=pill]:z-10",
|
|
438
|
-
"group-data-[variant=pill]:rounded-
|
|
438
|
+
"group-data-[variant=pill]:rounded-sm",
|
|
439
439
|
"group-data-[variant=pill]:px-5 group-data-[variant=pill]:py-1.5",
|
|
440
440
|
"group-data-[variant=pill]:text-sm",
|
|
441
441
|
"group-data-[variant=pill]:text-muted-foreground",
|
|
@@ -6,7 +6,7 @@ const textareaVariants = cva(
|
|
|
6
6
|
[
|
|
7
7
|
"w-full font-sans text-foreground",
|
|
8
8
|
"bg-background dark:bg-surface",
|
|
9
|
-
"border border-edge rounded-
|
|
9
|
+
"border border-edge rounded-sm",
|
|
10
10
|
"placeholder:text-muted-foreground",
|
|
11
11
|
"focus-visible:outline-none",
|
|
12
12
|
"focus-visible:border-accent-700 dark:focus-visible:border-accent",
|
|
@@ -16,7 +16,7 @@ const TooltipContent = forwardRef<
|
|
|
16
16
|
sideOffset={sideOffset}
|
|
17
17
|
className={cn(
|
|
18
18
|
[
|
|
19
|
-
"z-50 rounded-
|
|
19
|
+
"z-50 rounded-sm bg-popover-bg border border-popover-border px-3 py-1.5",
|
|
20
20
|
"text-sm text-foreground shadow-sm",
|
|
21
21
|
"animate-in fade-in-0 zoom-in-95",
|
|
22
22
|
"data-[state=closed]:animate-out data-[state=closed]:fade-out-0",
|
|
@@ -9,7 +9,7 @@ const Skeleton = forwardRef<HTMLDivElement, SkeletonProps>(
|
|
|
9
9
|
<div
|
|
10
10
|
ref={ref}
|
|
11
11
|
aria-hidden="true"
|
|
12
|
-
className={cn("animate-pulse motion-reduce:animate-none rounded-
|
|
12
|
+
className={cn("animate-pulse motion-reduce:animate-none rounded-sm bg-muted", className)}
|
|
13
13
|
{...rest}
|
|
14
14
|
/>
|
|
15
15
|
);
|
package/src/styles/tokens.css
CHANGED
|
@@ -119,11 +119,11 @@
|
|
|
119
119
|
--font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;
|
|
120
120
|
--font-mono: "Departure Mono", ui-monospace, monospace;
|
|
121
121
|
|
|
122
|
-
/* Radius vocabulary (Abyssal Void —
|
|
123
|
-
--radius-sm:
|
|
124
|
-
--radius-md:
|
|
125
|
-
--radius-lg:
|
|
126
|
-
--radius-xl:
|
|
122
|
+
/* Radius vocabulary (Abyssal Void — 4/6/8 hard floor, full reserved for round-by-design) */
|
|
123
|
+
--radius-sm: 4px;
|
|
124
|
+
--radius-md: 4px;
|
|
125
|
+
--radius-lg: 6px;
|
|
126
|
+
--radius-xl: 8px;
|
|
127
127
|
}
|
|
128
128
|
|
|
129
129
|
/* ──────────────────────────────────────────────
|
|
@@ -148,8 +148,8 @@
|
|
|
148
148
|
--muted-foreground: oklch(0.55 0.014 270);
|
|
149
149
|
--surface: oklch(0.94 0.009 270);
|
|
150
150
|
--surface-foreground: oklch(0.22 0.015 270);
|
|
151
|
-
--edge:
|
|
152
|
-
--edge-hover:
|
|
151
|
+
--edge: rgba(0, 0, 0, 0.14);
|
|
152
|
+
--edge-hover: rgba(0, 0, 0, 0.22);
|
|
153
153
|
--popover-bg: var(--surface);
|
|
154
154
|
--popover-border: var(--edge);
|
|
155
155
|
|
|
@@ -180,8 +180,8 @@
|
|
|
180
180
|
--muted-foreground: oklch(0.62 0.012 273);
|
|
181
181
|
--surface: oklch(0.18 0.005 273);
|
|
182
182
|
--surface-foreground: #f3f3f3;
|
|
183
|
-
--edge: rgba(255, 255, 255, 0.
|
|
184
|
-
--edge-hover: rgba(255, 255, 255, 0.
|
|
183
|
+
--edge: rgba(255, 255, 255, 0.10);
|
|
184
|
+
--edge-hover: rgba(255, 255, 255, 0.20);
|
|
185
185
|
--popover-bg: var(--surface);
|
|
186
186
|
--popover-border: var(--edge);
|
|
187
187
|
|
|
@@ -223,7 +223,7 @@
|
|
|
223
223
|
detected from source files. This directive feeds
|
|
224
224
|
them directly into the candidate list.
|
|
225
225
|
────────────────────────────────────────────── */
|
|
226
|
-
@source inline("group-data-[variant=pill]:relative group-data-[variant=pill]:z-10 group-data-[variant=pill]:rounded-
|
|
226
|
+
@source inline("group-data-[variant=pill]:relative group-data-[variant=pill]:z-10 group-data-[variant=pill]:rounded-sm group-data-[variant=pill]:px-5 group-data-[variant=pill]:py-1.5 group-data-[variant=pill]:text-sm group-data-[variant=pill]:text-muted-foreground group-data-[variant=pill]:translate-y-0 group-data-[variant=pill]:hover:text-accent-500 dark:group-data-[variant=pill]:hover:text-accent group-data-[variant=pill]:data-[state=active]:text-accent-500 dark:group-data-[variant=pill]:data-[state=active]:text-accent group-data-[variant=pill]:data-[state=active]:translate-y-0");
|
|
227
227
|
|
|
228
228
|
/* ──────────────────────────────────────────────
|
|
229
229
|
Utilities: gradient border effects
|