@una-ui/preset-edge 0.61.0-29182246.bc2c328 → 1.0.0-alpha.0-29173950.b6a8c03

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.
@@ -6,13 +6,13 @@ const staticAccordion = {
6
6
  "accordion-trailing-icon": "i-lucide-chevron-up",
7
7
  "accordion-button-padding": "p-(x-3 y-4)",
8
8
  "accordion-button-default-variant": "btn-text",
9
- "accordion-divider": "divide-(y base)",
10
- "accordion-border": "border-(~ base) rounded-md",
9
+ "accordion-divider": "divide-(y border)",
10
+ "accordion-border": "border-(~ border) rounded-md",
11
11
  // base
12
12
  "accordion": "flex-(~ col) relative w-full",
13
13
  "accordion-item": "w-full",
14
14
  "accordion-button": "justify-start",
15
- "accordion-panel": "text-(muted 0.875em) border-(t $c-divider) accordion-button-padding",
15
+ "accordion-panel": "text-(muted-foreground 0.875em) border-(t border) accordion-button-padding",
16
16
  "accordion-leading": "text-1.2em",
17
17
  "accordion-trailing": "flex transition items-center text-1em duration-300",
18
18
  "accordion-label": "flex w-full text-1em",
@@ -51,8 +51,8 @@ const staticAlert = {
51
51
  "alert-close-wrapper": "ml-auto pl-0.2em",
52
52
  "alert-close-inner-wrapper": "-mx-1.1 -my-1.1",
53
53
  // static variants
54
- "alert-solid-white": "rounded-md text-brand bg-base n-gray-950 dark:n-white border",
55
- "alert-solid-black": "rounded-md text-brand bg-inverted n-white dark:n-gray-950 border border-foreground"
54
+ "alert-solid-white": "rounded-md text-brand bg-background n-foreground border",
55
+ "alert-solid-black": "rounded-md text-brand bg-foreground n-background dark:n-gray-950 border border-foreground"
56
56
  };
57
57
  const dynamicAlert = [
58
58
  // variants
@@ -74,7 +74,7 @@ const staticAlertDialog = {
74
74
  "alert-dialog-overlay": "fixed inset-0 z-50 bg-black/80",
75
75
  "alert-dialog-content": "bg-background fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
76
76
  "alert-dialog-title": "text-lg font-semibold",
77
- "alert-dialog-description": "text-muted text-sm",
77
+ "alert-dialog-description": "text-muted-foreground text-sm",
78
78
  "alert-dialog-header": "flex flex-col gap-2 text-center sm:text-left",
79
79
  "alert-dialog-footer": "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end"
80
80
  };
@@ -90,12 +90,12 @@ const staticAspectRatio = {
90
90
  // base
91
91
  "aspect-ratio": "overflow-hidden",
92
92
  // static variants
93
- "aspect-ratio-soft-gray": "bg-muted border border-base",
94
- "aspect-ratio-outline-gray": "bg-base border border-base"
93
+ "aspect-ratio-soft-gray": "bg-muted border border-border",
94
+ "aspect-ratio-outline-gray": "bg-background border border-border"
95
95
  };
96
96
  const dynamicAspectRatio = [
97
- [/^aspect-ratio-soft(-(\S+))?$/, ([, , c = "gray"]) => `bg-${c}-50 dark:bg-${c}-900 border-${c}-200 dark:border-${c}-700/58`],
98
- [/^aspect-ratio-outline(-(\S+))?$/, ([, , c = "gray"]) => `border border-${c}-200 dark:border-${c}-700/58`]
97
+ [/^aspect-ratio-soft(-(\S+))?$/, ([, , c = "gray"]) => `bg-${c}-50 dark:bg-${c}-900 border-${c}-200 dark:border-${c}-800`],
98
+ [/^aspect-ratio-outline(-(\S+))?$/, ([, , c = "gray"]) => `border border-${c}-200 dark:border-${c}-800`]
99
99
  ];
100
100
  const aspectRatio = [
101
101
  ...dynamicAspectRatio,
@@ -110,12 +110,12 @@ const staticAvatar = {
110
110
  "avatar-label": "uppercase",
111
111
  "avatar-icon": "text-1em",
112
112
  // variants
113
- "avatar-solid-white": "bg-base text-base border border-base",
114
- "avatar-solid-black": "bg-inverted text-inverted"
113
+ "avatar-solid-white": "bg-background text-foreground border border-border",
114
+ "avatar-solid-black": "bg-foreground text-background"
115
115
  };
116
116
  const dynamicAvatar = [
117
117
  // variants
118
- [/^avatar-solid(-(\S+))?$/, ([, , c = "gray"]) => `bg-${c}-600 dark:bg-${c}-500 text-inverted`],
118
+ [/^avatar-solid(-(\S+))?$/, ([, , c = "gray"]) => `bg-${c}-600 dark:bg-${c}-500 text-background`],
119
119
  [/^avatar-soft(-(\S+))?$/, ([, , c = "gray"]) => `bg-${c}-50 text-${c}-700 dark:text-${c}-400 dark:bg-${c}-900`],
120
120
  [/^avatar-outline(-(\S+))?$/, ([, , c = "gray"]) => `bg-transparent text-${c}-500 dark:text-${c}-400 border border-${c}-500 dark:border-${c}-400`]
121
121
  ];
@@ -145,9 +145,9 @@ const staticBadge = {
145
145
  "badge-close": "relative rounded-sm h-1.16em w-1.16em grid place-items-center -mr-0.375em hover:bg-brand/20 bg-transparent",
146
146
  "badge-close-icon-base": "text-brand/75 group-hover:text-brand/90",
147
147
  // variants
148
- "badge-soft-gray": "bg-muted text-muted n-gray-900 dark:n-gray-50 ring-1 ring-gray-700/10 dark:ring-gray-400/30",
149
- "badge-solid-black": "bg-inverted text-inverted n-gray-300 dark:n-gray-600",
150
- "badge-outline-white": "bg-base text-base ring-1 ring-base n-gray-600 dark:n-gray-300"
148
+ "badge-soft-gray": "bg-muted text-muted-foreground n-gray-900 dark:n-gray-50 ring-1 ring-gray-700/10 dark:ring-gray-400/30",
149
+ "badge-solid-black": "bg-foreground text-background n-gray-300 dark:n-gray-600",
150
+ "badge-outline-white": "bg-background text-foreground ring-1 ring-ring n-gray-600 dark:n-gray-300"
151
151
  };
152
152
  const dynamicBadge = [
153
153
  // variants
@@ -169,7 +169,7 @@ const staticBreadcrumb = {
169
169
  "breadcrumb-ellipsis-icon": "i-radix-icons-dots-horizontal",
170
170
  // components
171
171
  "breadcrumb-root": "",
172
- "breadcrumb-list": "flex flex-wrap items-center break-words text-muted",
172
+ "breadcrumb-list": "flex flex-wrap items-center break-words text-muted-foreground",
173
173
  "breadcrumb-link": "transition-colors font-normal px-1.5 sm:px-2.5",
174
174
  "breadcrumb-item": "inline-flex items-center gap-1.5",
175
175
  "breadcrumb-separator": "flex",
@@ -197,7 +197,7 @@ const staticBtn = {
197
197
  "btn-default-variant": "btn-solid",
198
198
  "btn-loading-icon": "i-loading",
199
199
  // base
200
- "btn": "btn-rectangle bg-transparent transition-colors leading-1.4285714285714286em shrink-0 gap-x-0.5714285714285714em rounded-md whitespace-nowrap inline-flex justify-center items-center btn-disabled font-medium",
200
+ "btn": "text-foreground btn-rectangle bg-transparent transition-colors leading-1.4285714285714286em shrink-0 gap-x-0.5714285714285714em rounded-md whitespace-nowrap inline-flex justify-center items-center btn-disabled font-medium outline-none",
201
201
  "btn-disabled": "disabled:n-disabled",
202
202
  "btn-label": "",
203
203
  "btn-icon-label": "size-1.1428571428571428em",
@@ -210,33 +210,49 @@ const staticBtn = {
210
210
  "btn-block": "w-full",
211
211
  "btn-reverse": "flex-row-reverse",
212
212
  // variants
213
- "btn-solid-white": "bg-base text-base ring-1 ring-base ring-inset shadow-sm btn-focus hover:bg-muted",
214
- "btn-ghost-white": "text-base btn-focus hover:bg-$c-gray-50",
215
- "btn-outline-white": "text-base ring-1 ring-base ring-inset btn-focus hover:bg-$c-gray-50",
216
- "btn-solid-gray": "bg-$c-gray-50 text-$c-gray-800 ring-1 ring-base ring-inset shadow-sm btn-focus hover:bg-$c-gray-100",
217
- "btn-ghost-gray": "text-$c-gray-600 btn-focus hover:bg-$c-gray-100",
218
- "btn-soft-gray": "text-$c-gray-600 bg-$c-gray-50 btn-focus hover:bg-$c-gray-100",
219
- "btn-outline-gray": "text-muted hover:text-$c-gray-600 ring-1 ring-base ring-inset btn-focus hover:bg-$c-gray-50",
220
- "btn-link-gray": "text-muted btn-focus hover:text-base hover:underline underline-offset-4",
221
- "btn-text-gray": "text-$c-gray-600 btn-focus hover:text-$c-gray-900",
222
- "btn-solid-black": "bg-inverted text-inverted shadow-sm btn-focus",
223
- "btn-link-black": "text-base btn-focus hover:underline underline-offset-4",
224
- "btn-text-black": "text-base btn-focus",
225
- "btn-soft-black": "text-base bg-base btn-focus shadow-sm",
226
- "btn-text-muted": "text-muted btn-focus hover:text-accent",
227
- "btn-link-muted": "text-muted btn-focus hover:underline underline-offset-4",
228
- "btn-ghost-muted": "text-accent hover:text-muted btn-focus hover:bg-muted",
229
- "btn-soft-accent": "text-accent bg-accent btn-focus",
230
- "btn-text-accent": "text-accent btn-focus",
231
- "btn-link-accent": "text-accent btn-focus hover:underline underline-offset-4"
213
+ "btn-solid-primary": "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90 btn-focus",
214
+ "btn-solid": "btn-solid-primary",
215
+ "btn-solid-gray": "border bg-background dark:bg-input/50 shadow-xs bg-accent dark:hover:bg-input btn-focus",
216
+ "btn-solid-secondary": "btn-solid-gray",
217
+ "btn-solid-white": "border bg-background shadow-xs hover:bg-accent dark:border-input dark:hover:bg-input btn-focus",
218
+ "btn-solid-black": "bg-foreground text-background shadow-xs btn-focus",
219
+ "btn-outline-primary": "shadow-xs text-primary bg-background dark:bg-input/30 border border-primary hover:bg-primary/10 btn-focus",
220
+ "btn-outline": "btn-outline-primary",
221
+ "btn-outline-gray": "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 btn-focus",
222
+ "btn-outline-white": "text-foreground border shadow-xs hover:bg-input/50 btn-focus",
223
+ "btn-link-primary": "text-primary hover:underline underline-offset-4 btn-focus",
224
+ "btn-link": "btn-link-primary",
225
+ "btn-link-gray": "text-muted-foreground hover:text-foreground hover:underline underline-offset-4 btn-focus",
226
+ "btn-link-black": "text-foreground hover:underline underline-offset-4 btn-focus",
227
+ "btn-link-muted": "text-muted-foreground hover:underline underline-offset-4 btn-focus",
228
+ "btn-link-accent": "text-accent-foreground hover:underline underline-offset-4 btn-focus",
229
+ "btn-text-primary": "text-primary btn-focus",
230
+ "btn-text": "btn-text-primary",
231
+ "btn-text-gray": "text-muted-foreground hover:text-foreground btn-focus",
232
+ "btn-text-black": "text-foreground btn-focus",
233
+ "btn-text-muted": "text-muted-foreground btn-focus",
234
+ "btn-text-accent": "text-accent-foreground hover:text-accent-foreground/80 btn-focus",
235
+ "btn-soft-primary": "bg-primary/10 text-primary shadow-xs hover:bg-primary/15 btn-focus",
236
+ "btn-soft": "btn-soft-primary",
237
+ "btn-soft-gray": "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80 btn-focus",
238
+ "btn-soft-secondary": "btn-soft-gray",
239
+ "btn-soft-black": "text-foreground bg-background shadow-xs btn-focus",
240
+ "btn-soft-accent": "text-accent-foreground bg-accent btn-focus",
241
+ "btn-ghost-primary": "hover:bg-primary/10 text-primary dark:hover:bg-primary/15 btn-focus",
242
+ "btn-ghost": "btn-ghost-primary",
243
+ "btn-ghost-gray": "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50 btn-focus",
244
+ "btn-ghost-muted": "hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50 btn-focus",
245
+ "btn-ghost-white": "text-foreground hover:bg-secondary/50 btn-focus",
246
+ "btn-focus-primary": "focus-visible:ring-3px focus-visible:border focus-visible:border-ring focus-visible:ring-ring/50",
247
+ "btn-focus": "btn-focus-primary"
232
248
  };
233
249
  const dynamicBtn = [
234
250
  // base
235
- [/^btn-focus(-(\S+))?$/, ([, , c = "primary"]) => `focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-${c}-600 dark:focus-visible:ring-${c}-500`],
251
+ [/^btn-focus(-(\S+))?$/, ([, , c = "primary"]) => `focus-visible:ring-3px focus-visible:border focus-visible:border-${c}-400 dark:focus-visible:border-${c}-800 focus-visible:ring-${c}-400/50 dark:focus-visible:ring-${c}-800/50`],
236
252
  // variants
237
- [/^btn-solid(-(\S+))?$/, ([, , c = "primary"]) => `btn-focus-${c} text-inverted shadow-sm bg-${c}-600 hover:bg-${c}-500 dark:bg-${c}-500 dark:hover:bg-${c}-400`],
253
+ [/^btn-solid(-(\S+))?$/, ([, , c = "primary"]) => `btn-focus-${c} text-background shadow-xs bg-${c}-600 hover:bg-${c}-500 dark:bg-${c}-500 dark:hover:bg-${c}-400`],
238
254
  [/^btn-text(-(\S+))?$/, ([, , c = "primary"]) => `btn-focus-${c} text-${c}-600 dark:text-${c}-500 hover:text-${c}-500 dark:hover:text-${c}-400`],
239
- [/^btn-outline(-(\S+))?$/, ([, , c = "primary"]) => `btn-focus-${c} text-${c}-500 dark:text-${c}-400 ring-1 ring-inset ring-${c}-500 dark:ring-${c}-400 hover:bg-${c}-50 dark:hover:bg-${c}-950`],
255
+ [/^btn-outline(-(\S+))?$/, ([, , c = "primary"]) => `shadow-xs btn-focus-${c} text-${c}-500 dark:text-${c}-400 bg-background dark:bg-input/30 border border-${c}-500 dark:border-${c}-400 hover:bg-${c}-50 dark:hover:bg-${c}-950`],
240
256
  [/^btn-soft(-(\S+))?$/, ([, , c = "primary"]) => `btn-focus-${c} text-${c}-600 dark:text-${c}-400 bg-${c}-50 dark:bg-${c}-950 hover:bg-${c}-100 dark:hover:bg-${c}-900`],
241
257
  [/^btn-ghost(-(\S+))?$/, ([, , c = "primary"]) => `btn-focus-${c} text-${c}-600 dark:text-${c}-400 hover:bg-${c}-100 dark:hover:bg-${c}-900`],
242
258
  [/^btn-link(-(\S+))?$/, ([, , c = "primary"]) => `btn-focus-${c} text-${c}-600 dark:text-${c}-500 hover:underline underline-offset-4`]
@@ -248,20 +264,20 @@ const btn = [
248
264
 
249
265
  const staticCard = {
250
266
  // base
251
- "card": "rounded-xl shadow text-base",
267
+ "card": "rounded-xl shadow text-foreground",
252
268
  // components
253
269
  "card-header": "flex flex-col gap-y-1.5 p-6",
254
270
  "card-title": "font-semibold leading-none tracking-tight",
255
- "card-description": "text-sm text-muted",
271
+ "card-description": "text-sm text-muted-foreground",
256
272
  "card-content": "p-6 pt-0",
257
273
  "card-footer": "flex items-center p-6 pt-0",
258
274
  // static variants
259
- "card-soft-gray": "bg-muted border border-base",
260
- "card-outline-gray": "bg-base border border-base"
275
+ "card-soft-gray": "bg-card",
276
+ "card-outline-gray": "bg-card border"
261
277
  };
262
278
  const dynamicCard = [
263
- [/^card-soft(-(\S+))?$/, ([, , c = "gray"]) => `bg-${c}-50 dark:bg-${c}-900 border-${c}-200 dark:border-${c}-700/58`],
264
- [/^card-outline(-(\S+))?$/, ([, , c = "gray"]) => `border border-${c}-200 dark:border-${c}-700/58`]
279
+ [/^card-soft(-(\S+))?$/, ([, , c = "gray"]) => `bg-${c}-50 dark:bg-${c}-900 border-${c}-200 dark:border-${c}-800`],
280
+ [/^card-outline(-(\S+))?$/, ([, , c = "gray"]) => `border border-${c}-200 dark:border-${c}-800`]
265
281
  ];
266
282
  const card = [
267
283
  ...dynamicCard,
@@ -270,24 +286,28 @@ const card = [
270
286
 
271
287
  const staticCheckbox = {
272
288
  // base
273
- "checkbox": "checkbox-primary text-md w-1em h-1em shrink-0 rounded-sm ring-offset-base focus-visible:outline-none disabled:n-disabled border border-brand bg-brand text-inverted focus-visible:(ring-2 ring-brand ring-offset-2) data-[state=unchecked]:(bg-base text-base)",
289
+ "checkbox": "square-1em shrink-0 rounded-4px shadow-xs transition-shadow outline-none disabled:n-disabled border border-input dark:border-input",
274
290
  "checkbox-label": "block",
275
291
  "checkbox-reverse": "flex-row-reverse",
276
292
  // wrappers
277
293
  "checkbox-wrapper": "gap-x-3 relative inline-flex items-center hover:cursor-pointer",
278
294
  // icon
279
- "checkbox-indicator": "flex items-center justify-center h-full w-full data-[state=unchecked]:opacity-0 transition-base opacity-100 text-inverted",
280
- "checkbox-icon-base": "w-1em h-1em",
295
+ "checkbox-indicator": "flex items-center justify-center text-primary-foreground transition-none",
296
+ "checkbox-icon-base": "square-0.875rem",
281
297
  "checkbox-checked-icon": "i-check",
282
298
  "checkbox-unchecked-icon": "",
283
- "checkbox-indeterminate-icon": "i-lucide-minus"
299
+ "checkbox-indeterminate-icon": "i-lucide-minus",
300
+ "checkbox-focus-primary": "focus-visible:ring-3px focus-visible:border-ring focus-visible:ring-ring/50",
301
+ "checkbox-checked-primary": "data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary",
302
+ "checkbox-checked": "checkbox-checked-primary",
303
+ "checkbox-indeterminate-primary": "data-[state=indeterminate]:bg-primary data-[state=indeterminate]:text-primary-foreground data-[state=indeterminate]:border-primary",
304
+ "checkbox-indeterminate": "checkbox-indeterminate-primary"
284
305
  };
285
306
  const dynamicCheckbox = [
286
- [/^checkbox-(.*)$/, ([, body], { theme }) => {
287
- const color = parseColor(body, theme);
288
- if ((color?.cssColor?.type === "rgb" || color?.cssColor?.type === "rgba") && color.cssColor.components)
289
- return `n-${body}-600 dark:n-${body}-500`;
290
- }]
307
+ [/^checkbox(-(\S+))?$/, ([, , c = "primary"]) => `checkbox-focus-${c} checkbox-checked-${c} checkbox-indeterminate-${c}`],
308
+ [/^checkbox-focus(-(\S+))?$/, ([, , c = "primary"]) => `focus-visible:ring-3px focus-visible:border-${c}-200 dark:focus-visible:border-${c}-800 focus-visible:ring-${c}-200/50 dark:focus-visible:ring-${c}-800/50`],
309
+ [/^checkbox-indeterminate(-(\S+))?$/, ([, , c = "primary"]) => `data-[state=indeterminate]:(bg-${c}-600 text-${c}-50) dark:data-[state=indeterminate]:(bg-${c}-500 text-${c}-900)`],
310
+ [/^checkbox-checked(-(\S+))?$/, ([, , c = "primary"]) => `data-[state=checked]:(bg-${c}-600 text-${c}-50) dark:data-[state=checked]:(bg-${c}-500 text-${c}-900)`]
291
311
  ];
292
312
  const checkbox = [
293
313
  ...dynamicCheckbox,
@@ -317,15 +337,15 @@ const staticCombobox = {
317
337
  "combobox-trigger": "px-0.8571428571428571em min-w-200px w-full justify-between font-normal [&>span]:truncate",
318
338
  "combobox-trigger-trailing": "size-1.1428571428571428em data-[status=error]:text-error data-[status=success]:text-success data-[status=warning]:text-warning data-[status=info]:text-info data-[status=default]:(n-disabled) rtl:mr-auto ltr:ml-auto",
319
339
  "combobox-trigger-leading": "size-1.1428571428571428em",
320
- "combobox-item": "data-[highlighted]:bg-accent data-[highlighted]:text-accent relative flex cursor-default items-center gap-2 rounded-sm px-0.5em py-0.375em text-1em outline-none select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50",
340
+ "combobox-item": "data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm px-0.5em py-0.375em text-1em outline-none select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50",
321
341
  "combobox-item-indicator": "ml-auto",
322
342
  "combobox-item-indicator-icon": "",
323
343
  "combobox-item-indicator-icon-name": "i-check",
324
344
  "combobox-anchor": "w-full",
325
345
  "combobox-empty": "py-1.7142857142857142em text-center text-1em leading-1.4285714285714286em",
326
346
  "combobox-group": "overflow-hidden p-0.2857142857142857em text-foreground",
327
- "combobox-label": "px-0.6666666666666666em py-0.5em text-0.8571428571428571em leading-1.1428571428571428em text-muted font-medium px-2",
328
- "combobox-list": "z-50 w-[--reka-popper-anchor-width] rounded-md border bg-popover text-popover overflow-hidden shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
347
+ "combobox-label": "px-0.6666666666666666em py-0.5em text-0.8571428571428571em leading-1.1428571428571428em text-muted-foreground font-medium",
348
+ "combobox-list": "z-50 w-[--reka-popper-anchor-width] rounded-md border bg-popover text-popover-foreground overflow-hidden shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
329
349
  "combobox-separator": "bg-border -mx-1 h-px",
330
350
  "combobox-viewport": "max-h-300px scroll-py-1 overflow-x-hidden overflow-y-auto"
331
351
  };
@@ -344,10 +364,10 @@ const staticDialog = {
344
364
  "dialog-overlay": "fixed inset-0 z-50 bg-black/80",
345
365
  "dialog-content": "bg-background fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
346
366
  "dialog-scroll-overlay": "fixed inset-0 z-50 grid place-items-center overflow-y-auto bg-black/80",
347
- "dialog-scroll-content": "relative z-50 grid w-full max-w-lg my-8 gap-4 border border-base bg-base p-6 shadow-lg duration-200 sm:rounded-lg md:w-full",
367
+ "dialog-scroll-content": "relative z-50 grid w-full max-w-lg my-8 gap-4 border border-border bg-background p-6 shadow-lg duration-200 sm:rounded-lg md:w-full",
348
368
  "dialog-header": "flex flex-col gap-y-1.5 text-center sm:text-left",
349
369
  "dialog-title": "text-lg font-semibold leading-none tracking-tight",
350
- "dialog-description": "text-sm text-muted",
370
+ "dialog-description": "text-sm text-muted-foreground",
351
371
  "dialog-close": "absolute right-4 top-4",
352
372
  "dialog-footer": "flex flex-col-reverse sm:flex-row sm:justify-end gap-2"
353
373
  };
@@ -371,7 +391,7 @@ const staticDrawer = {
371
391
  "drawer-handle": "mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full bg-muted group-data-[vaul-drawer-direction=bottom]:block",
372
392
  "drawer-header": "flex flex-col gap-1.5 p-4",
373
393
  "drawer-title": "text-foreground font-semibold",
374
- "drawer-description": "text-muted text-sm",
394
+ "drawer-description": "text-muted-foreground text-sm",
375
395
  "drawer-footer": "mt-auto flex flex-col gap-2 p-4"
376
396
  };
377
397
  const dynamicDrawer = [
@@ -385,13 +405,13 @@ const drawer = [
385
405
  const staticDropdownMenu = {
386
406
  // configurations
387
407
  "dropdown-menu": "",
388
- "dropdown-menu-default-variant": "btn-solid-white",
408
+ "dropdown-menu-default-variant": "btn-outline-gray",
389
409
  // dropdown-menu-trigger
390
410
  "dropdown-menu-trigger": "",
391
411
  "dropdown-menu-trigger-leading": "",
392
412
  "dropdown-menu-trigger-trailing": "ml-auto",
393
413
  // dropdown-menu-content
394
- "dropdown-menu-content": "z-50 min-w-32 overflow-hidden rounded-md border border-base bg-popover p-1 text-popover shadow-md",
414
+ "dropdown-menu-content": "z-50 min-w-32 overflow-hidden rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-md",
395
415
  // dropdown-menu-item
396
416
  "dropdown-menu-item-base": "text-left transition-color focus-visible:outline-0 select-none",
397
417
  "dropdown-menu-item-leading": "",
@@ -410,7 +430,7 @@ const staticDropdownMenu = {
410
430
  "dropdown-menu-sub-trigger-leading": "",
411
431
  "dropdown-menu-sub-trigger-trailing": "ml-auto opacity-75",
412
432
  "dropdown-menu-sub-trigger-trailing-icon": "i-lucide-chevron-right",
413
- "dropdown-menu-sub-content": "z-50 min-w-32 overflow-hidden rounded-md border border-base bg-popover p-1 text-popover shadow-lg"
433
+ "dropdown-menu-sub-content": "z-50 min-w-32 overflow-hidden rounded-md border border-border bg-popover p-1 text-popover-foreground shadow-lg"
414
434
  };
415
435
  const dynamicDropdownMenu = [
416
436
  [/^dropdown-menu-([^-]+)-([^-]+)$/, ([, v = "solid", c = "white"]) => `btn-${v}-${c}`],
@@ -425,8 +445,8 @@ const staticForm = {
425
445
  // base
426
446
  "form": "",
427
447
  "form-field": "",
428
- "form-field-description": "text-muted",
429
- "form-field-hint": "text-sm leading-none text-muted",
448
+ "form-field-description": "text-muted-foreground",
449
+ "form-field-hint": "text-sm leading-none text-muted-foreground",
430
450
  "form-field-message": "",
431
451
  // wrappers
432
452
  "form-field-top-wrapper": "flex flex-col space-y-1.5 pb-0.5",
@@ -439,7 +459,7 @@ const staticForm = {
439
459
  "form-field-label-required": "after:content-['*'] after:-ms-0.9 after:text-error",
440
460
  "form-message": "text-0.8rem font-medium transition-all duration-1000 ease-in-out text-error",
441
461
  "form-label": "",
442
- "form-description": "text-sm text-muted",
462
+ "form-description": "text-sm text-muted-foreground",
443
463
  "form-item": "space-y-2"
444
464
  };
445
465
  const form = [
@@ -449,8 +469,8 @@ const form = [
449
469
  const staticFormGroup = {
450
470
  // base
451
471
  "form-group": "space-y-2",
452
- "form-group-description": "text-0.8rem text-muted",
453
- "form-group-hint": "text-sm leading-none text-muted",
472
+ "form-group-description": "text-0.8rem text-muted-foreground",
473
+ "form-group-hint": "text-sm leading-none text-muted-foreground",
454
474
  "form-group-message": "text-0.8em transition-all duration-1000 ease-in-out",
455
475
  // wrappers
456
476
  "form-group-top-wrapper": "flex flex-col space-y-1.5",
@@ -464,7 +484,7 @@ const staticFormGroup = {
464
484
  // counter
465
485
  "form-group-counter-wrapper": "text-0.8em",
466
486
  "form-group-counter-error": "text-error",
467
- "form-group-counter-current": "text-accent",
487
+ "form-group-counter-current": "text-accent-foreground",
468
488
  "form-group-counter-separator": "text-muted",
469
489
  "form-group-counter-max": "text-muted"
470
490
  };
@@ -487,14 +507,6 @@ const staticGeneral = {
487
507
  // text-size
488
508
  "text-md": "text-1rem leading-1.5rem",
489
509
  "size-md": "text-md",
490
- // text color
491
- "text-base": "text-$c-foreground",
492
- "text-inverted": "text-$c-background",
493
- "text-muted": "text-$c-muted-foreground",
494
- "text-accent": "text-$c-accent-foreground",
495
- "text-accent-foreground": "text-$c-accent",
496
- "text-popover": "text-$c-popover-foreground",
497
- "text-popover-foreground": "text-$c-popover",
498
510
  "text-info": "text-info-600 dark:text-info-500",
499
511
  "text-info-active": "text-info-500 dark:text-info-400",
500
512
  "text-error": "text-error-600 dark:text-error-500",
@@ -503,25 +515,6 @@ const staticGeneral = {
503
515
  "text-success-active": "text-success-500 dark:text-success-400",
504
516
  "text-warning": "text-warning-600 dark:text-warning-500",
505
517
  "text-warning-active": "text-warning-500 dark:text-warning-400",
506
- // ring
507
- "ring-base": "ring-$c-ring",
508
- "ring-offset-base": "ring-offset-$c-background",
509
- // border
510
- "border-base": "border-$c-border",
511
- "border-foreground": "border-$c-border-foreground",
512
- // divide
513
- "divide-base": "divide-$c-divider",
514
- // bg
515
- "bg-base": "bg-$c-background",
516
- "bg-inverted": "bg-$c-foreground",
517
- "bg-muted": "bg-$c-muted",
518
- "bg-border": "bg-$c-border",
519
- "bg-accent": "bg-$c-accent",
520
- "bg-accent-foreground": "bg-$c-accent-foreground",
521
- "bg-popover": "bg-$c-popover",
522
- "bg-popover-foreground": "bg-$c-popover-foreground",
523
- "fill-base": "fill-$c-background",
524
- "stroke-base": "stroke-$c-border",
525
518
  // transition
526
519
  "transition-base": "transition-all duration-100 ease-out",
527
520
  // overrides
@@ -543,15 +536,15 @@ const staticHoverCard = {
543
536
  "hover-card-default-variant": "outline-gray",
544
537
  // components
545
538
  "hover-card-trigger": "",
546
- "hover-card-content": "bg-base text-popover animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 rounded-md border p-4 shadow-md outline-hidden",
547
- "hover-card-arrow": "!bg-transparent !border-none -mt-1px fill-base stroke-base",
539
+ "hover-card-content": "bg-background text-popover-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 rounded-md border p-4 shadow-md outline-none",
540
+ "hover-card-arrow": "!bg-transparent !border-none -mt-1px fill-background stroke-border",
548
541
  // static variants
549
- "hover-card-soft-gray": "bg-muted border border-base",
550
- "hover-card-outline-gray": "bg-base border border-base"
542
+ "hover-card-soft-gray": "bg-muted border border-border",
543
+ "hover-card-outline-gray": "bg-background border border-border"
551
544
  };
552
545
  const dynamicHoverCard = [
553
- [/^hover-card-soft(-(\S+))?$/, ([, , c = "gray"]) => `bg-${c}-50 fill-${c}-50 stroke-${c}-200 border-${c}-200 dark:(bg-${c}-900 border-${c}-700/58 fill-${c}-900 stroke-${c}-700/58)`],
554
- [/^hover-card-outline(-(\S+))?$/, ([, , c = "gray"]) => `border stroke-${c}-200 border-${c}-200 dark:(border-${c}-700/58 stroke-${c}-700/58)`]
546
+ [/^hover-card-soft(-(\S+))?$/, ([, , c = "gray"]) => `bg-${c}-50 fill-${c}-50 stroke-${c}-200 border-${c}-200 dark:(bg-${c}-900 border-${c}-800 fill-${c}-900 stroke-${c}-800)`],
547
+ [/^hover-card-outline(-(\S+))?$/, ([, , c = "gray"]) => `border stroke-${c}-200 border-${c}-200 dark:(border-${c}-800 stroke-${c}-800)`]
555
548
  ];
556
549
  const hoverCard = [
557
550
  ...dynamicHoverCard,
@@ -573,7 +566,7 @@ const staticIndicator = {
573
566
  "indicator-default-variant": "indicator-solid",
574
567
  "indicator-default-placement": "indicator-top-right",
575
568
  // base
576
- "indicator": "absolute min-h-1.5em min-w-1.5em flex items-center justify-center rounded-full font-medium py-none px-0.3em ring-2 ring-$c-background",
569
+ "indicator": "absolute min-h-1.5em min-w-1.5em flex items-center justify-center rounded-full font-medium py-none px-0.3em ring-2 ring-background",
577
570
  // indicator type sizes
578
571
  "indicator-dot": "size-0.45em",
579
572
  "indicator-label": "size-0.75em",
@@ -583,10 +576,12 @@ const staticIndicator = {
583
576
  "indicator-top-right": "top-0 -ml-1.3em -mt-0.1em",
584
577
  "indicator-bottom-right": "bottom-0 -ml-1.3em -mb-0.1em",
585
578
  "indicator-top-left": "top-0 left-0 -mr-1.3em -mt-0.1em",
586
- "indicator-bottom-left": "bottom-0 left-0 -mr-1.3em -mb-0.1em"
579
+ "indicator-bottom-left": "bottom-0 left-0 -mr-1.3em -mb-0.1em",
580
+ "indicator-solid-primary": "bg-primary text-primary-foreground",
581
+ "indicator-solid": "indicator-solid-primary"
587
582
  };
588
583
  const dynamicIndicator = [
589
- [/^indicator-solid(-(\S+))?$/, ([, , c = "primary"]) => `bg-${c}-600 dark:bg-${c}-500 text-inverted`]
584
+ [/^indicator-solid(-(\S+))?$/, ([, , c = "primary"]) => `bg-${c}-600 dark:bg-${c}-500 text-background`]
590
585
  ];
591
586
  const indicator = [
592
587
  ...dynamicIndicator,
@@ -604,7 +599,7 @@ const staticInput = {
604
599
  "input-leading-padding": "pl-2.5714285714285716em",
605
600
  "input-trailing-padding": "pr-2.5714285714285716em",
606
601
  // base
607
- "input": "text-base text-0.875em leading-1.4285714285714286em px-0.8571428571428571em w-full focus-visible:outline-none input-disabled placeholder:text-muted block rounded-md shadow-sm bg-transparent transition-colors file:border-0 file:bg-transparent file:text-0.875em file:font-medium",
602
+ "input": "text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground text-0.875em leading-1.4285714285714286em px-0.8571428571428571em bg-transparent w-full focus-visible:outline-none input-disabled placeholder:text-muted-foreground block rounded-md shadow-xs transition-colors file:border-0 file:bg-transparent file:text-0.875em file:font-medium",
608
603
  "input-input": "h-2.5714285714285716em py-0.2857142857142857em",
609
604
  // role='input'
610
605
  "input-textarea": "min-h-4.285714285714286em py-0.5714285714em",
@@ -617,19 +612,20 @@ const staticInput = {
617
612
  "input-loading": "animate-spin square-1em",
618
613
  // wrappers
619
614
  "input-wrapper": "relative flex items-center",
620
- "input-leading-wrapper": "pointer-events-none absolute inset-y-0 start-0 flex items-center px-0.8571428571428571em text-muted",
621
- "input-trailing-wrapper": "pointer-events-none absolute inset-y-0 end-0 flex items-center px-0.8571428571428571em text-muted",
615
+ "input-leading-wrapper": "pointer-events-none absolute inset-y-0 start-0 flex items-center px-0.8571428571428571em text-muted-foreground",
616
+ "input-trailing-wrapper": "pointer-events-none absolute inset-y-0 end-0 flex items-center px-0.8571428571428571em text-muted-foreground",
622
617
  // variants
623
- "input-outline-gray": "border border-input focus-visible:ring-input focus-visible:ring-1",
624
- "input-outline-black": "border border-input focus:ring-$c-foreground focus-visible:ring-1"
618
+ "input-outline-gray": "border border-input focus-visible:ring-input/50 focus-visible:ring-3px",
619
+ "input-outline-black": "border border-ring focus-visible:ring-ring/50 focus-visible:ring-3px",
620
+ "input-focus-primary": "focus-visible:ring-3px focus-visible:border-ring focus-visible:ring-ring/50"
625
621
  };
626
622
  const dynamicInput = [
627
623
  // config
628
- [/^input-focus(-(\S+))?$/, ([, , c = "primary"]) => `focus-visible:ring-${c}-500 dark:focus-visible:ring-${c}-400 focus-visible:ring-1`],
624
+ [/^input-focus(-(\S+))?$/, ([, , c = "primary"]) => `focus-visible:ring-3px focus-visible:border-${c}-400 dark:focus-visible:border-${c}-800 focus-visible:ring-${c}-400/50 dark:focus-visible:ring-${c}-800/50`],
629
625
  [/^input-status(-(\S+))?$/, ([, , c = "info"]) => `text-${c}-700 dark:text-${c}-200 placeholder:text-${c}-500 dark:placeholder:text-${c}-400`],
630
626
  // variants
631
- [/^input-outline(-(\S+))?$/, ([, , c = "primary"]) => `border border-input input-focus-${c}`],
632
- [/^input-solid(-(\S+))?$/, ([, , c = "primary"]) => `input-focus-${c} border border-${c}-500 dark:border-${c}-400`]
627
+ [/^input-outline(-(\S+))?$/, ([, , c = "primary"]) => `border bg-transparent dark:bg-input/30 border-input input-focus-${c}`],
628
+ [/^input-solid(-(\S+))?$/, ([, , c = "primary"]) => `bg-transparent dark:bg-input/30 input-focus-${c} border border-${c}-500 dark:border-${c}-400`]
633
629
  ];
634
630
  const input = [
635
631
  ...dynamicInput,
@@ -644,7 +640,7 @@ const staticKbd = {
644
640
  };
645
641
  const dynamicKbd = [
646
642
  // modifiers
647
- [/^kbd-ring(-(\S+))?$/, ([, , c = "gray"]) => `ring-1 ring-inset ring-${c}-200 dark:ring-${c}-700/58`],
643
+ [/^kbd-ring(-(\S+))?$/, ([, , c = "gray"]) => `ring-1 ring-inset ring-${c}-200 dark:ring-${c}-800`],
648
644
  // variants
649
645
  [/^kbd-solid(-(\S+))?$/, ([, , c = "gray"]) => `kbd-ring-${c} bg-${c}-50 text-${c}-500 dark:bg-${c}-900 dark:text-${c}-400`],
650
646
  [/^kbd-outline(-(\S+))?$/, ([, , c = "gray"]) => `kbd-ring-${c} bg-transparent text-${c}-500 dark:text-${c}-400`]
@@ -684,9 +680,9 @@ const staticNavigationMenu = {
684
680
  "navigation-menu-disabled": "n-disabled",
685
681
  // components
686
682
  "navigation-menu-indicator": "absolute data-[state=hidden]:opacity-0 duration-200 top-full data-[state=visible]:animate-fadeIn data-[state=hidden]:animate-fadeOut w-[--reka-navigation-menu-indicator-size] translate-x-[--reka-navigation-menu-indicator-position] mt--3px z-100 flex h-10px items-end justify-center overflow-hidden transition-all",
687
- "navigation-menu-indicator-arrow": "relative top-70% h-12px w-12px rotate-45deg border bg-base",
683
+ "navigation-menu-indicator-arrow": "relative top-70% h-12px w-12px rotate-45deg border bg-background",
688
684
  "navigation-menu-content": "left-0 top-0 w-full md:absolute md:w-auto",
689
- "navigation-menu-viewport": "origin-top-center relative mt-1.5 h-[--reka-navigation-menu-viewport-height] w-full overflow-hidden rounded-md border bg-popover text-popover shadow md:w-[--reka-navigation-menu-viewport-width]",
685
+ "navigation-menu-viewport": "origin-top-center relative mt-1.5 h-[--reka-navigation-menu-viewport-height] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow md:w-[--reka-navigation-menu-viewport-width]",
690
686
  "navigation-menu-link": "",
691
687
  "navigation-menu-trigger": "",
692
688
  "navigation-menu-trigger-trailing": "size-5 transform shrink-0 group-data-[state=open]:rotate-180 transition-transform duration-200",
@@ -695,7 +691,7 @@ const staticNavigationMenu = {
695
691
  "navigation-menu-content-list": "grid w-400px gap-3 p-4 md:grid-cols-2 lg:w-600px md:w-500px",
696
692
  "navigation-menu-content-item-wrapper": "flex flex-col items-start gap-1",
697
693
  "navigation-menu-content-item-label": "font-semibold leading-none",
698
- "navigation-menu-content-item-description": "line-clamp-2 text-left text-muted leading-5",
694
+ "navigation-menu-content-item-description": "line-clamp-2 text-left text-muted-foreground leading-5",
699
695
  "navigation-menu-list-horizontal": "flex flex-1 list-none items-center justify-center gap-x-1",
700
696
  "navigation-menu-list-vertical": "max-w-none list-none flex-col items-start gap-1 space-x-0",
701
697
  "navigation-menu-viewport-wrapper": "",
@@ -711,23 +707,6 @@ const navigationMenu = [
711
707
  staticNavigationMenu
712
708
  ];
713
709
 
714
- const staticNumberField = {
715
- // base
716
- "number-field": "grid gap-1.5",
717
- "number-field-content": "relative [&>[data-slot=input]]:has-[[data-slot=increment]]:pr-1.25em [&>[data-slot=input]]:has-[[data-slot=decrement]]:pl-1.25em",
718
- "number-field-decrement": "grid place-items-center absolute top-1/2 -translate-y-1/2 left-0 p-0.75em disabled:cursor-not-allowed disabled:opacity-20",
719
- "number-field-input": "flex w-full rounded-md bg-transparent h-2.5714285714285716em py-0.2857142857142857em text-0.875em text-center shadow-sm transition-colors placeholder:text-muted disabled:n-disabled focus-visible:outline-none",
720
- "number-field-increment": "grid place-items-center absolute top-1/2 -translate-y-1/2 right-0 disabled:cursor-not-allowed disabled:opacity-20 p-0.75em"
721
- };
722
- const dynamicNumberField = [
723
- // dynamic preset
724
- [/^number-field-([^-]+)-([^-]+)$/, ([, v = "outline", c = "primary"]) => `input-${v}-${c}`]
725
- ];
726
- const numberField = [
727
- ...dynamicNumberField,
728
- staticNumberField
729
- ];
730
-
731
710
  const staticPagination = {
732
711
  // configurations
733
712
  "pagination": "overflow-hidden",
@@ -758,7 +737,7 @@ const dynamicPagination = [
758
737
  ],
759
738
  [
760
739
  /^pagination-unselected(?:-([^-]+))?(?:-([^-]+))?$/,
761
- ([, variant = "solid", color = "white"]) => `data-[selected=false]:btn-${variant}-${color}`
740
+ ([, variant = "solid", color = "gray"]) => `data-[selected=false]:btn-${variant}-${color}`
762
741
  ]
763
742
  ];
764
743
  const pagination = [
@@ -766,28 +745,8 @@ const pagination = [
766
745
  staticPagination
767
746
  ];
768
747
 
769
- const staticPinInput = {
770
- // configurations
771
- "pin-input": "flex items-center gap-2 has-disabled:opacity-50 disabled:cursor-not-allowed",
772
- "pin-input-separator-icon": "i-lucide-minus",
773
- // components
774
- "pin-input-slot": "relative flex square-2.5714285714285716em items-center justify-center bg-transparent shadow-sm border-y border-r first:rounded-l-md first:border-l last:rounded-r-md text-0.875em leading-1.4285714285714286em transition-all outline-none text-center",
775
- "pin-input-group": "flex items-center",
776
- "pin-input-separator": "grid"
777
- };
778
- const dynamicPinInput = [
779
- [/^pin-input-focus(-(\S+))?$/, ([, , c = "primary"]) => `focus-visible:ring-${c}-500 dark:focus-visible:ring-${c}-400 focus:z-10 focus:ring-1`],
780
- // dynamic preset
781
- [/^pin-input-outline(-(\S+))?$/, ([, , c = "primary"]) => `border-input pin-input-focus-${c}`],
782
- [/^pin-input-solid(-(\S+))?$/, ([, , c = "primary"]) => `border-${c}-500 focus:border dark:border-${c}-400 pin-input-focus-${c}`]
783
- ];
784
- const pinInput = [
785
- ...dynamicPinInput,
786
- staticPinInput
787
- ];
788
-
789
748
  const staticPopover = {
790
- "popover-content": "z-50 w-72 rounded-md border border-base bg-popover p-4 text-popover shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"
749
+ "popover-content": "z-50 w-72 rounded-md border border-border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"
791
750
  };
792
751
  const dynamicPopover = [
793
752
  // dynamic preset
@@ -804,13 +763,18 @@ const staticProgress = {
804
763
  "progress-root": "relative h-0.5em w-full overflow-hidden bg-brand/20",
805
764
  "progress-indicator": "h-full w-full flex-1 bg-brand transition-all",
806
765
  // static
807
- "progress-white": "bg-inverted",
808
- "progress-black": "bg-base"
766
+ "progress-foreground": "n-foreground",
767
+ "progress-background": "n-background",
768
+ "progress-primary": "n-primary",
769
+ "progress-secondary": "n-secondary",
770
+ "progress-accent": "n-accent",
771
+ "progress-destructive": "n-destructive",
772
+ "progress-muted": "n-muted"
809
773
  };
810
774
  const dynamicProgress = [
811
775
  [/^progress-(.*)$/, ([, body], { theme }) => {
812
776
  const color = parseColor(body, theme);
813
- if ((color?.cssColor?.type === "rgb" || color?.cssColor?.type === "rgba") && color.cssColor.components)
777
+ if (color?.color)
814
778
  return `n-${body}-600 dark:n-${body}-500`;
815
779
  }]
816
780
  ];
@@ -827,17 +791,21 @@ const staticRadioGroup = {
827
791
  // components
828
792
  "radio-group-item-root": "flex flex-col",
829
793
  "radio-group-item-wrapper": "flex items-center gap-2",
830
- "radio-group-item": "aspect-square rounded-full border border-brand text-brand shadow focus:outline-none focus-visible:ring-1 focus-visible:ring-base disabled:n-disabled",
794
+ "radio-group-item": "aspect-square rounded-full border border-brand text-brand shadow-xs focus:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:n-disabled",
831
795
  "radio-group-item-label": "text-0.875em font-medium",
832
- "radio-group-item-description": "text-0.875em text-muted ml-[calc(1.1em+0.5rem)]",
796
+ "radio-group-item-description": "text-0.875em text-muted-foreground ml-[calc(1.1em+0.5rem)]",
833
797
  "radio-group-indicator": "flex items-center justify-center",
834
798
  "radio-group-indicator-icon-base": "h-0.875em w-0.875em fill-brand",
835
- "radio-group-indicator-icon": "i-dot"
799
+ "radio-group-indicator-icon": "i-dot",
800
+ "radio-group-primary": "n-primary",
801
+ "radio-group-secondary": "n-secondary",
802
+ "radio-group-accent": "n-accent",
803
+ "radio-group-muted": "n-muted"
836
804
  };
837
805
  const dynamicRadioGroup = [
838
806
  [/^radio-group-(.*)$/, ([, body], { theme }) => {
839
807
  const color = parseColor(body, theme);
840
- if ((color?.cssColor?.type === "rgb" || color?.cssColor?.type === "rgba") && color.cssColor.components)
808
+ if (color?.color)
841
809
  return `n-${body}-600 dark:n-${body}-500`;
842
810
  }]
843
811
  ];
@@ -852,17 +820,17 @@ const staticResizable = {
852
820
  // base
853
821
  "resizable-panel-group": "flex h-full w-full data-[orientation=vertical]:flex-col",
854
822
  "resizable-panel": "",
855
- "resizable-handle": "relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:ring-offset-base focus-visible:outline-none data-[orientation=vertical]:h-px data-[orientation=vertical]:w-full data-[orientation=vertical]:after:left-0 data-[orientation=vertical]:after:h-1 data-[orientation=vertical]:after:w-full data-[orientation=vertical]:after:-translate-y-1/2 data-[orientation=vertical]:after:translate-x-0 [&[data-orientation=vertical]>div]:rotate-90",
823
+ "resizable-handle": "relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:ring-offset-background focus-visible:outline-none data-[orientation=vertical]:h-px data-[orientation=vertical]:w-full data-[orientation=vertical]:after:left-0 data-[orientation=vertical]:after:h-1 data-[orientation=vertical]:after:w-full data-[orientation=vertical]:after:-translate-y-1/2 data-[orientation=vertical]:after:translate-x-0 [&[data-orientation=vertical]>div]:rotate-90",
856
824
  "resizable-handle-icon-wrapper": "bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border",
857
825
  "resizable-handle-icon": "square-2.5",
858
826
  // static variants
859
827
  "resizable-handle-solid-gray": "bg-border focus-visible:ring-foreground/58",
860
- "resizable-handle-solid-black": "bg-inverted focus-visible:ring-foreground/58",
861
- "resizable-handle-outline-gray": "ring-1 ring-base focus-visible:ring-foreground/58"
828
+ "resizable-handle-solid-black": "bg-foreground focus-visible:ring-foreground/58",
829
+ "resizable-handle-outline-gray": "ring-1 ring-ring focus-visible:ring-foreground/58"
862
830
  };
863
831
  const dynamicResizable = [
864
- [/^resizable-handle-solid(-(\S+))?$/, ([, , c = "gray"]) => `bg-${c}-200 dark:bg-${c}-700/58 focus-visible:ring-${c}-200 dark:focus-visible:ring-${c}-700/58`],
865
- [/^resizable-handle-outline(-(\S+))?$/, ([, , c = "gray"]) => `ring-1 ring-${c}-200 dark:ring-${c}-700/58 focus-visible:ring-${c}-200 dark:focus-visible:ring-${c}-700/58`]
832
+ [/^resizable-handle-solid(-(\S+))?$/, ([, , c = "gray"]) => `bg-${c}-200 dark:bg-${c}-800 focus-visible:ring-${c}-200 dark:focus-visible:ring-${c}-800`],
833
+ [/^resizable-handle-outline(-(\S+))?$/, ([, , c = "gray"]) => `ring-1 ring-${c}-200 dark:ring-${c}-800 focus-visible:ring-${c}-200 dark:focus-visible:ring-${c}-800`]
866
834
  ];
867
835
  const resizable = [
868
836
  ...dynamicResizable,
@@ -885,8 +853,8 @@ const dynamicScrollArea = [
885
853
  // dynamic preset
886
854
  [/^scroll-area(-(\S+))?$/, ([, , c], { theme }) => {
887
855
  const parsedColor = parseColor$1(c, theme);
888
- if ((parsedColor?.cssColor?.type === "rgb" || parsedColor?.cssColor?.type === "rgba") && parsedColor.cssColor.components)
889
- return `bg-${c}-200 dark:bg-${c}-700/58`;
856
+ if (parsedColor?.color)
857
+ return `bg-${c}-200 dark:bg-${c}-800`;
890
858
  return void 0;
891
859
  }]
892
860
  ];
@@ -911,11 +879,11 @@ const staticSelect = {
911
879
  "select-trigger-trailing": "size-1.1428571428571428em data-[status=error]:text-error data-[status=success]:text-success data-[status=warning]:text-warning data-[status=info]:text-info data-[status=default]:(n-disabled) rtl:mr-auto ltr:ml-auto",
912
880
  "select-trigger-leading": "size-1.1428571428571428em",
913
881
  "select-value": "text-1em data-[status=error]:text-error-active data-[status=success]:text-success-active data-[status=warning]:text-warning-active data-[status=info]:text-info-active data-[placeholder]:n-disabled",
914
- "select-content": "relative z-50 max-h-96 min-w-32 overflow-hidden rounded-md border border-base bg-popover text-popover shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
882
+ "select-content": "relative z-50 max-h-96 min-w-32 overflow-hidden rounded-md border border-border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
915
883
  "select-content-popper": "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
916
884
  "select-group": "w-full",
917
885
  "select-separator": "-mx-1 my-1 h-px bg-muted",
918
- "select-item": "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-1em outline-none focus:bg-accent focus:text-accent data-[disabled]:pointer-events-none data-[disabled]:n-disabled",
886
+ "select-item": "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-1em outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:n-disabled",
919
887
  "select-item-indicator": "absolute right-2 size-1.1428571428571428em flex items-center justify-center",
920
888
  "select-item-indicator-icon": "i-check",
921
889
  "select-viewport": "p-1",
@@ -931,13 +899,13 @@ const staticSelect = {
931
899
  const dynamicSelect = [
932
900
  [/^select-([^-]+)-([^-]+)$/, ([, v = "solid", c = "gray"], { theme }) => {
933
901
  const parsedColor = parseColor$1(c, theme);
934
- if ((parsedColor?.cssColor?.type === "rgb" || parsedColor?.cssColor?.type === "rgba") && parsedColor.cssColor.components)
902
+ if (parsedColor?.color)
935
903
  return `btn-${v}-${c}`;
936
904
  return void 0;
937
905
  }],
938
906
  [/^select-item(-(\S+))?$/, ([, , c = "gray"], { theme }) => {
939
907
  const parsedColor = parseColor$1(c || "gray", theme);
940
- if ((parsedColor?.cssColor?.type === "rgb" || parsedColor?.cssColor?.type === "rgba") && parsedColor.cssColor.components)
908
+ if (parsedColor?.color)
941
909
  return `focus:bg-${c || "gray"}-100 focus:text-${c || "gray"}-800 dark:focus:bg-${c || "gray"}-800 dark:focus:text-${c || "gray"}-100`;
942
910
  return void 0;
943
911
  }]
@@ -951,7 +919,7 @@ const staticSeparator = {
951
919
  // base
952
920
  "separator": "text-md shrink-0 relative",
953
921
  "separator-default-variant": "separator-solid-gray",
954
- "separator-content": "text-0.75em text-muted bg-base absolute flex justify-center items-center",
922
+ "separator-content": "text-0.75em text-muted-foreground bg-background absolute flex justify-center items-center",
955
923
  // orientation states
956
924
  "separator-horizontal": "h-px my-4 w-full border-t-0.0625em",
957
925
  "separator-vertical": "w-px mx-4 h-full border-l-0.0625em",
@@ -965,13 +933,13 @@ const staticSeparator = {
965
933
  "separator-position-bottom": "bottom-4 left-1/2 -translate-x-1/2",
966
934
  "separator-position-top": "top-4 left-1/2 -translate-x-1/2",
967
935
  // static variants
968
- "separator-solid-gray": "border-base"
936
+ "separator-solid-gray": "border-border"
969
937
  };
970
938
  const dynamicSeparator = [
971
939
  // dynamic variants
972
- [/^separator-solid(-(\S+))?$/, ([, , c = "gray"]) => `border-solid border-${c}-200 dark:border-${c}-700/58`],
973
- [/^separator-dashed(-(\S+))?$/, ([, , c = "gray"]) => `border-dashed border-${c}-200 dark:border-${c}-700/58`],
974
- [/^separator-dotted(-(\S+))?$/, ([, , c = "gray"]) => `border-dotted border-${c}-200 dark:border-${c}-700/58`]
940
+ [/^separator-solid(-(\S+))?$/, ([, , c = "gray"]) => `border-solid border-${c}-200 dark:border-${c}-800`],
941
+ [/^separator-dashed(-(\S+))?$/, ([, , c = "gray"]) => `border-dashed border-${c}-200 dark:border-${c}-800`],
942
+ [/^separator-dotted(-(\S+))?$/, ([, , c = "gray"]) => `border-dotted border-${c}-200 dark:border-${c}-800`]
975
943
  ];
976
944
  const separator = [
977
945
  ...dynamicSeparator,
@@ -982,14 +950,14 @@ const staticSheet = {
982
950
  // base
983
951
  "sheet": "",
984
952
  // sub components
985
- "sheet-content": "fixed z-50 gap-4 bg-base p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
953
+ "sheet-content": "fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
986
954
  "sheet-portal": "",
987
955
  "sheet-overlay": "fixed inset-0 z-50 data-[state=closed]:animate-out data-[state=open]:animate-in bg-black/80 data-[state=open]:fade-in-0 data-[state=closed]:fade-out-0",
988
956
  "sheet-close": "absolute right-4 top-4",
989
- "sheet-description": "text-sm text-muted",
957
+ "sheet-description": "text-sm text-muted-foreground",
990
958
  "sheet-footer": "flex flex-col-reverse sm:flex-row sm:justify-end sm:gap-x-2",
991
959
  "sheet-header": "flex flex-col gap-y-2 text-center sm:text-left",
992
- "sheet-title": "text-lg font-semibold text-base",
960
+ "sheet-title": "text-lg font-semibold text-foreground",
993
961
  // static variants
994
962
  "sheet-top": "inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
995
963
  "sheet-right": "inset-y-0 right-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm",
@@ -1062,12 +1030,12 @@ const sidebar = [
1062
1030
 
1063
1031
  const staticSkeleton = {
1064
1032
  // base
1065
- skeleton: "skeleton-gray text-md animate-pulse rounded-md w-full h-0.5em bg-brand"
1033
+ skeleton: "text-md animate-pulse rounded-md w-full h-0.5em bg-brand"
1066
1034
  };
1067
1035
  const dynamicSkeleton = [
1068
1036
  [/^skeleton-(.*)$/, ([, body], { theme }) => {
1069
1037
  const color = parseColor(body, theme);
1070
- if ((color?.cssColor?.type === "rgb" || color?.cssColor?.type === "rgba") && color.cssColor.components)
1038
+ if (color?.color)
1071
1039
  return `n-${body}-100 dark:n-${body}-800`;
1072
1040
  }]
1073
1041
  ];
@@ -1077,23 +1045,20 @@ const skeleton = [
1077
1045
  ];
1078
1046
 
1079
1047
  const staticSlider = {
1080
- // configurations
1081
- "slider-disabled": "n-disabled",
1082
- "slider-root-vertical": "flex-col w-1em h-full",
1083
- "slider-track-vertical": "w-0.5em h-full",
1084
- "slider-range-vertical": "w-full",
1085
- "slider-thumb-vertical": "w-1.25em h-1.25em",
1086
1048
  // components
1087
- "slider-root": "relative flex w-full touch-none select-none items-center",
1088
- "slider-track": "h-0.5em relative w-full grow overflow-hidden rounded-full bg-muted",
1089
- "slider-range": "absolute h-full bg-brand",
1090
- "slider-thumb": "w-1.25em h-1.25em block border-2 border-brand rounded-full bg-base focus-visible:ring-base ring-offset-base transition-colors disabled:slider-disabled focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
1091
- "slider-accent": "n-gray-300 dark:n-gray-800"
1049
+ "slider-root": "relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",
1050
+ "slider-track": "bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5",
1051
+ "slider-range": "bg-brand absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full",
1052
+ "slider-thumb": "square-1em border-brand bg-background ring-ring/50 block size-4 shrink-0 rounded-full border shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-none disabled:n-disabled",
1053
+ "slider-primary": "n-primary",
1054
+ "slider-secondary": "n-secondary",
1055
+ "slider-accent": "n-accent",
1056
+ "slider-muted": "n-muted"
1092
1057
  };
1093
1058
  const dynamicSlider = [
1094
1059
  [/^slider-(.*)$/, ([, body], { theme }) => {
1095
1060
  const color = parseColor(body, theme);
1096
- if ((color?.cssColor?.type === "rgb" || color?.cssColor?.type === "rgba") && color.cssColor.components)
1061
+ if (color?.color)
1097
1062
  return `n-${body}-600 dark:n-${body}-500`;
1098
1063
  }]
1099
1064
  ];
@@ -1104,27 +1069,30 @@ const slider = [
1104
1069
 
1105
1070
  const staticSwitch = {
1106
1071
  // base
1107
- "switch": "h-1.25em w-2.25em switch-disabled inline-flex shrink-0 cursor-pointer items-center border-2 border-transparent rounded-full shadow-sm transition-colors",
1072
+ "switch": "h-1.25em w-2.25em switch-disabled inline-flex shrink-0 cursor-pointer items-center border-2 border-transparent rounded-full shadow-xs transition-colors",
1108
1073
  "switch-disabled": "data-[disabled]:n-disabled",
1109
1074
  // thumb
1110
- "switch-thumb": "square-1em flex items-center justify-center pointer-events-none block rounded-full bg-base shadow-lg ring-0 transition-transform",
1075
+ "switch-thumb": "square-1em flex items-center justify-center pointer-events-none block rounded-full bg-background ring-0 transition-transform",
1111
1076
  "switch-thumb-checked": "translate-x-1.01em",
1112
1077
  "switch-thumb-unchecked": "translate-x-0.03em",
1113
1078
  // icons
1114
1079
  "switch-icon": "text-0.7em",
1115
- "switch-icon-unchecked": "text-muted",
1116
- "switch-icon-checked": "text-muted",
1080
+ "switch-icon-unchecked": "text-muted-foreground",
1081
+ "switch-icon-checked": "text-muted-foreground",
1117
1082
  // loading
1118
- "switch-loading-icon": "text-gray animate-spin text-0.8em",
1083
+ "switch-loading-icon": "text-muted-foreground animate-spin text-0.8em",
1119
1084
  "switch-loading-icon-name": "i-loading",
1120
- "switch-focus-gray": "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-base focus-visible:ring-offset-2 focus-visible:ring-offset-background"
1085
+ "switch-checked-primary": "data-[state=checked]:bg-primary",
1086
+ "switch-checked": "switch-checked-primary",
1087
+ "switch-unchecked-gray": "data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80",
1088
+ "switch-unchecked": "switch-unchecked-gray"
1121
1089
  };
1122
1090
  const dynamicSwitch = [
1123
1091
  // base
1124
- [/^switch-focus(-(\S+))?$/, ([, , c = "primary"]) => `focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-${c}-600 dark:focus-visible:ring-${c}-500 focus-visible:ring-offset-2 focus-visible:ring-offset-background`],
1092
+ [/^switch-focus(-(\S+))?$/, ([, , c = "primary"]) => `focus-visible:ring-3px focus-visible:outline-none focus-visible:border focus-visible:border-${c}-200 dark:focus-visible:border-${c}-800 focus-visible:ring-${c}-200/50 dark:focus-visible:ring-${c}-800/50`],
1125
1093
  // variants
1126
1094
  [/^switch-checked(-(\S+))?$/, ([, , c = "primary"]) => `data-[state=checked]:switch-focus-${c} data-[state=checked]:bg-${c}-600 dark:data-[state=checked]:bg-${c}-500`],
1127
- [/^switch-unchecked(-(\S+))?$/, ([, , c = "gray"]) => `data-[state=unchecked]:switch-focus-${c} data-[state=unchecked]:bg-${c}-200 dark:data-[state=unchecked]:bg-${c}-700/58`]
1095
+ [/^switch-unchecked(-(\S+))?$/, ([, , c = "gray"]) => `data-[state=unchecked]:switch-focus-${c} data-[state=unchecked]:bg-${c}-200 dark:data-[state=unchecked]:bg-${c}-800/80`]
1128
1096
  ];
1129
1097
  const _switch = [
1130
1098
  ...dynamicSwitch,
@@ -1135,27 +1103,27 @@ const staticTable = {
1135
1103
  // config
1136
1104
  "table-default-variant": "table-solid-gray",
1137
1105
  // table-root
1138
- "table-root": "relative w-full overflow-x-auto overflow-y-hidden border border-base rounded-md",
1106
+ "table-root": "relative w-full overflow-x-auto overflow-y-hidden border border-border rounded-md",
1139
1107
  "table": "w-full caption-bottom text-sm",
1140
1108
  "table-body": "[&_tr:last-child]:border-0",
1141
- "table-caption": "mt-4 text-sm text-muted",
1109
+ "table-caption": "mt-4 text-sm text-muted-foreground",
1142
1110
  // table-head
1143
- "table-head": "h-12 px-4 text-left align-middle font-medium text-muted [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-0.5",
1144
- "table-head-pinned": "sticky bg-base",
1111
+ "table-head": "h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-0.5",
1112
+ "table-head-pinned": "sticky bg-background",
1145
1113
  "table-head-pinned-left": "left-0",
1146
1114
  "table-head-pinned-right": "right-0",
1147
1115
  // table-header
1148
- "table-header": "[&_tr]:border-b [&_tr]:border-base",
1116
+ "table-header": "[&_tr]:border-b [&_tr]:border-border",
1149
1117
  // table-row
1150
- "table-row": "border-b border-base transition-colors hover:bg-muted data-[filter=true]:hover:bg-base data-[state=selected]:bg-muted",
1118
+ "table-row": "border-b border-border transition-colors hover:bg-muted/50 data-[filter=true]:hover:bg-background data-[state=selected]:bg-muted",
1151
1119
  // table-cell
1152
1120
  "table-cell": "p-4 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-0.5",
1153
- "table-cell-pinned": "sticky bg-base",
1121
+ "table-cell-pinned": "sticky bg-background",
1154
1122
  "table-cell-pinned-left": "left-0",
1155
1123
  "table-cell-pinned-right": "right-0",
1156
1124
  // table-empty
1157
1125
  "table-empty-row": "",
1158
- "table-empty-cell": "p-4 whitespace-nowrap align-middle text-sm text-muted bg-base",
1126
+ "table-empty-cell": "p-4 whitespace-nowrap align-middle text-sm text-muted-foreground bg-background",
1159
1127
  "table-empty": "flex items-center justify-center py-10",
1160
1128
  // table-loading
1161
1129
  "table-loading-icon": "animate-spin text-lg",
@@ -1166,7 +1134,7 @@ const staticTable = {
1166
1134
  "table-loading-cell": "",
1167
1135
  "table-loading": "absolute inset-x-0 overflow-hidden p-0",
1168
1136
  // table-footer
1169
- "table-footer": "border-t border-base bg-muted font-medium [&>tr]:last:border-b-0"
1137
+ "table-footer": "border-t border-border bg-muted font-medium [&>tr]:last:border-b-0"
1170
1138
  };
1171
1139
  const dynamicTable = [];
1172
1140
  const table = [
@@ -1180,12 +1148,12 @@ const staticTabs = {
1180
1148
  "tabs-disabled": "n-disabled",
1181
1149
  // components
1182
1150
  "tabs-trigger": "py-0.25em h-[calc(100%-1px)]",
1183
- "tabs-list": "bg-muted text-muted inline-flex h-2.5714285714285716em w-fit items-center justify-center rounded-lg p-[3px]",
1151
+ "tabs-list": "bg-muted text-muted-foreground inline-flex h-2.5714285714285716em w-fit items-center justify-center rounded-lg p-[3px]",
1184
1152
  "tabs-content": "flex-1 outline-none"
1185
1153
  };
1186
1154
  const dynamicTabs = [
1187
- [/^tabs-active-([^-]+)-([^-]+)$/, ([, v = "solid", c = "primary"]) => `data-[state=active]:btn-${v}-${c}`],
1188
- [/^tabs-inactive-([^-]+)-([^-]+)$/, ([, v = "solid", c = "primary"]) => `data-[state=inactive]:btn-${v}-${c}`]
1155
+ [/^tabs-active-([^-]+)-([^-]+)$/, ([, v = "outline", c = "gray"]) => `data-[state=active]:btn-${v}-${c}`],
1156
+ [/^tabs-inactive-([^-]+)-([^-]+)$/, ([, v = "outline", c = "gray"]) => `data-[state=inactive]:btn-${v}-${c}`]
1189
1157
  ];
1190
1158
  const tabs = [
1191
1159
  ...dynamicTabs,
@@ -1211,7 +1179,7 @@ const dynamicToast = [
1211
1179
  // dynamic variants
1212
1180
  [/^toast-solid(-(\S+))?$/, ([, , c = "primary"]) => `alert-solid-${c}`],
1213
1181
  [/^toast-soft(-(\S+))?$/, ([, , c = "primary"]) => `alert-soft-${c}`],
1214
- [/^toast-outline(-(\S+))?$/, ([, , c = "primary"]) => `alert-outline-${c} bg-base`],
1182
+ [/^toast-outline(-(\S+))?$/, ([, , c = "primary"]) => `alert-outline-${c} bg-background`],
1215
1183
  [/^toast-border(-(\S+))?$/, ([, , c = "primary"]) => `alert-border-${c}`]
1216
1184
  ];
1217
1185
  const toast = [
@@ -1240,8 +1208,8 @@ const toggle = [
1240
1208
 
1241
1209
  const staticTooltip = {
1242
1210
  "tooltip-content": "z-50 overflow-hidden rounded-md px-0.75em py-0.375em text-xs shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
1243
- "tooltip-white": "border border-base bg-popover text-popover",
1244
- "tooltip-black": "border border-foreground bg-popover-foreground text-popover-foreground"
1211
+ "tooltip-white": "border border-border bg-popover text-popover-foreground",
1212
+ "tooltip-black": "border border-foreground bg-popover-foreground text-popover"
1245
1213
  };
1246
1214
  const dynamicTooltip = [
1247
1215
  [/^tooltip-(.*)$/, ([, c], { theme }) => {
@@ -1286,7 +1254,6 @@ const shortcuts = [
1286
1254
  ...popover,
1287
1255
  ...tooltip,
1288
1256
  ...pagination,
1289
- ...pinInput,
1290
1257
  ...toast,
1291
1258
  ...toggle,
1292
1259
  ...collapsible,
@@ -1295,7 +1262,6 @@ const shortcuts = [
1295
1262
  ...sheet,
1296
1263
  ...scrollArea,
1297
1264
  ...navigationMenu,
1298
- ...numberField,
1299
1265
  ...sidebar,
1300
1266
  ...aspectRatio,
1301
1267
  ...resizable,