@nuxt/ui 3.0.2 → 3.1.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.
Files changed (221) hide show
  1. package/.nuxt/ui/accordion.ts +2 -2
  2. package/.nuxt/ui/alert.ts +29 -29
  3. package/.nuxt/ui/avatar-group.ts +1 -1
  4. package/.nuxt/ui/avatar.ts +3 -3
  5. package/.nuxt/ui/badge.ts +33 -33
  6. package/.nuxt/ui/breadcrumb.ts +5 -5
  7. package/.nuxt/ui/button.ts +43 -43
  8. package/.nuxt/ui/calendar.ts +17 -17
  9. package/.nuxt/ui/card.ts +5 -5
  10. package/.nuxt/ui/carousel.ts +6 -6
  11. package/.nuxt/ui/checkbox-group.ts +61 -0
  12. package/.nuxt/ui/checkbox.ts +140 -27
  13. package/.nuxt/ui/chip.ts +8 -8
  14. package/.nuxt/ui/color-picker.ts +3 -3
  15. package/.nuxt/ui/command-palette.ts +14 -14
  16. package/.nuxt/ui/context-menu.ts +33 -33
  17. package/.nuxt/ui/drawer.ts +10 -10
  18. package/.nuxt/ui/dropdown-menu.ts +34 -34
  19. package/.nuxt/ui/form-field.ts +6 -6
  20. package/.nuxt/ui/index.ts +1 -0
  21. package/.nuxt/ui/input-menu.ts +42 -42
  22. package/.nuxt/ui/input-number.ts +20 -20
  23. package/.nuxt/ui/input.ts +23 -23
  24. package/.nuxt/ui/kbd.ts +4 -4
  25. package/.nuxt/ui/link.ts +3 -3
  26. package/.nuxt/ui/modal.ts +5 -5
  27. package/.nuxt/ui/navigation-menu.ts +78 -80
  28. package/.nuxt/ui/pin-input.ts +20 -20
  29. package/.nuxt/ui/popover.ts +2 -2
  30. package/.nuxt/ui/progress.ts +17 -17
  31. package/.nuxt/ui/radio-group.ts +250 -35
  32. package/.nuxt/ui/select-menu.ts +36 -33
  33. package/.nuxt/ui/select.ts +32 -32
  34. package/.nuxt/ui/separator.ts +8 -8
  35. package/.nuxt/ui/skeleton.ts +1 -1
  36. package/.nuxt/ui/slideover.ts +4 -4
  37. package/.nuxt/ui/slider.ts +16 -16
  38. package/.nuxt/ui/stepper.ts +18 -18
  39. package/.nuxt/ui/switch.ts +20 -20
  40. package/.nuxt/ui/table.ts +15 -15
  41. package/.nuxt/ui/tabs.ts +32 -32
  42. package/.nuxt/ui/textarea.ts +40 -35
  43. package/.nuxt/ui/toast.ts +24 -24
  44. package/.nuxt/ui/tooltip.ts +2 -2
  45. package/.nuxt/ui/tree.ts +18 -18
  46. package/.nuxt/ui.css +63 -12
  47. package/README.md +15 -0
  48. package/cli/templates.mjs +18 -17
  49. package/dist/module.json +5 -5
  50. package/dist/module.mjs +12 -7
  51. package/dist/runtime/components/Accordion.vue +36 -93
  52. package/dist/runtime/components/Accordion.vue.d.ts +75 -0
  53. package/dist/runtime/components/Alert.vue +37 -100
  54. package/dist/runtime/components/Alert.vue.d.ts +81 -0
  55. package/dist/runtime/components/App.vue +28 -34
  56. package/dist/runtime/components/App.vue.d.ts +24 -0
  57. package/dist/runtime/components/Avatar.vue +42 -75
  58. package/dist/runtime/components/Avatar.vue.d.ts +39 -0
  59. package/dist/runtime/components/AvatarGroup.vue +40 -77
  60. package/dist/runtime/components/AvatarGroup.vue.d.ts +31 -0
  61. package/dist/runtime/components/Badge.vue +33 -62
  62. package/dist/runtime/components/Badge.vue.d.ts +41 -0
  63. package/dist/runtime/components/Breadcrumb.vue +37 -90
  64. package/dist/runtime/components/Breadcrumb.vue.d.ts +64 -0
  65. package/dist/runtime/components/Button.vue +95 -104
  66. package/dist/runtime/components/Button.vue.d.ts +48 -0
  67. package/dist/runtime/components/ButtonGroup.vue +20 -46
  68. package/dist/runtime/components/ButtonGroup.vue.d.ts +34 -0
  69. package/dist/runtime/components/Calendar.vue +67 -150
  70. package/dist/runtime/components/Calendar.vue.d.ts +111 -0
  71. package/dist/runtime/components/Card.vue +18 -40
  72. package/dist/runtime/components/Card.vue.d.ts +29 -0
  73. package/dist/runtime/components/Carousel.vue +112 -234
  74. package/dist/runtime/components/Carousel.vue.d.ts +122 -0
  75. package/dist/runtime/components/Checkbox.vue +52 -93
  76. package/dist/runtime/components/Checkbox.vue.d.ts +73 -0
  77. package/dist/runtime/components/CheckboxGroup.vue +121 -0
  78. package/dist/runtime/components/CheckboxGroup.vue.d.ts +78 -0
  79. package/dist/runtime/components/Chip.vue +26 -69
  80. package/dist/runtime/components/Chip.vue.d.ts +57 -0
  81. package/dist/runtime/components/Collapsible.vue +22 -41
  82. package/dist/runtime/components/Collapsible.vue.d.ts +35 -0
  83. package/dist/runtime/components/ColorPicker.vue +111 -197
  84. package/dist/runtime/components/ColorPicker.vue.d.ts +48 -0
  85. package/dist/runtime/components/CommandPalette.vue +96 -237
  86. package/dist/runtime/components/CommandPalette.vue.d.ts +161 -0
  87. package/dist/runtime/components/Container.vue +15 -28
  88. package/dist/runtime/components/Container.vue.d.ts +18 -0
  89. package/dist/runtime/components/ContextMenu.vue +34 -133
  90. package/dist/runtime/components/ContextMenu.vue.d.ts +107 -0
  91. package/dist/runtime/components/ContextMenuContent.vue +73 -81
  92. package/dist/runtime/components/ContextMenuContent.vue.d.ts +65 -0
  93. package/dist/runtime/components/Drawer.vue +49 -83
  94. package/dist/runtime/components/Drawer.vue.d.ts +78 -0
  95. package/dist/runtime/components/DropdownMenu.vue +39 -142
  96. package/dist/runtime/components/DropdownMenu.vue.d.ts +117 -0
  97. package/dist/runtime/components/DropdownMenuContent.vue +78 -88
  98. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +68 -0
  99. package/dist/runtime/components/Form.vue +135 -220
  100. package/dist/runtime/components/Form.vue.d.ts +69 -0
  101. package/dist/runtime/components/FormField.vue +35 -77
  102. package/dist/runtime/components/FormField.vue.d.ts +61 -0
  103. package/dist/runtime/components/Icon.vue +12 -19
  104. package/dist/runtime/components/Icon.vue.d.ts +8 -0
  105. package/dist/runtime/components/Input.vue +82 -140
  106. package/dist/runtime/components/Input.vue.d.ts +76 -0
  107. package/dist/runtime/components/InputMenu.vue +185 -332
  108. package/dist/runtime/components/InputMenu.vue.d.ts +324 -0
  109. package/dist/runtime/components/InputNumber.vue +71 -133
  110. package/dist/runtime/components/InputNumber.vue.d.ts +182 -0
  111. package/dist/runtime/components/Kbd.vue +20 -46
  112. package/dist/runtime/components/Kbd.vue.d.ts +34 -0
  113. package/dist/runtime/components/Link.vue +98 -176
  114. package/dist/runtime/components/Link.vue.d.ts +93 -0
  115. package/dist/runtime/components/LinkBase.vue +33 -42
  116. package/dist/runtime/components/LinkBase.vue.d.ts +25 -0
  117. package/dist/runtime/components/Modal.vue +53 -116
  118. package/dist/runtime/components/Modal.vue.d.ts +93 -0
  119. package/dist/runtime/components/NavigationMenu.vue +77 -209
  120. package/dist/runtime/components/NavigationMenu.vue.d.ts +139 -0
  121. package/dist/runtime/components/OverlayProvider.vue +14 -18
  122. package/dist/runtime/components/OverlayProvider.vue.d.ts +2 -0
  123. package/dist/runtime/components/Pagination.vue +46 -140
  124. package/dist/runtime/components/Pagination.vue.d.ts +119 -0
  125. package/dist/runtime/components/PinInput.vue +61 -78
  126. package/dist/runtime/components/PinInput.vue.d.ts +57 -0
  127. package/dist/runtime/components/Popover.vue +47 -84
  128. package/dist/runtime/components/Popover.vue.d.ts +63 -0
  129. package/dist/runtime/components/Progress.vue +70 -131
  130. package/dist/runtime/components/Progress.vue.d.ts +66 -0
  131. package/dist/runtime/components/RadioGroup.vue +70 -132
  132. package/dist/runtime/components/RadioGroup.vue.d.ts +91 -0
  133. package/dist/runtime/components/Select.vue +110 -224
  134. package/dist/runtime/components/Select.vue.d.ts +145 -0
  135. package/dist/runtime/components/SelectMenu.vue +161 -310
  136. package/dist/runtime/components/SelectMenu.vue.d.ts +196 -0
  137. package/dist/runtime/components/Separator.vue +29 -71
  138. package/dist/runtime/components/Separator.vue.d.ts +54 -0
  139. package/dist/runtime/components/Skeleton.vue +21 -23
  140. package/dist/runtime/components/Skeleton.vue.d.ts +17 -0
  141. package/dist/runtime/components/Slideover.vue +53 -120
  142. package/dist/runtime/components/Slideover.vue.d.ts +94 -0
  143. package/dist/runtime/components/Slider.vue +46 -84
  144. package/dist/runtime/components/Slider.vue.d.ts +52 -0
  145. package/dist/runtime/components/Stepper.vue +45 -115
  146. package/dist/runtime/components/Stepper.vue.d.ts +83 -0
  147. package/dist/runtime/components/Switch.vue +45 -93
  148. package/dist/runtime/components/Switch.vue.d.ts +70 -0
  149. package/dist/runtime/components/Table.vue +163 -267
  150. package/dist/runtime/components/Table.vue.d.ts +183 -0
  151. package/dist/runtime/components/Tabs.vue +41 -107
  152. package/dist/runtime/components/Tabs.vue.d.ts +88 -0
  153. package/dist/runtime/components/Textarea.vue +113 -158
  154. package/dist/runtime/components/Textarea.vue.d.ts +78 -0
  155. package/dist/runtime/components/Toast.vue +49 -110
  156. package/dist/runtime/components/Toast.vue.d.ts +157 -0
  157. package/dist/runtime/components/Toaster.vue +70 -107
  158. package/dist/runtime/components/Toaster.vue.d.ts +38 -0
  159. package/dist/runtime/components/Tooltip.vue +38 -65
  160. package/dist/runtime/components/Tooltip.vue.d.ts +50 -0
  161. package/dist/runtime/components/Tree.vue +59 -166
  162. package/dist/runtime/components/Tree.vue.d.ts +111 -0
  163. package/dist/runtime/composables/defineShortcuts.d.ts +1 -1
  164. package/dist/runtime/composables/defineShortcuts.js +6 -0
  165. package/dist/runtime/composables/useAvatarGroup.d.ts +1 -1
  166. package/dist/runtime/composables/useButtonGroup.d.ts +2 -2
  167. package/dist/runtime/composables/useFormField.d.ts +2 -2
  168. package/dist/runtime/composables/useKbd.d.ts +1 -0
  169. package/dist/runtime/composables/useKbd.js +4 -3
  170. package/dist/runtime/composables/useOverlay.d.ts +14 -8
  171. package/dist/runtime/composables/useOverlay.js +20 -7
  172. package/dist/runtime/composables/usePortal.d.ts +6 -0
  173. package/dist/runtime/composables/usePortal.js +17 -0
  174. package/dist/runtime/index.css +1 -1
  175. package/dist/runtime/inertia/components/Link.vue +146 -0
  176. package/dist/runtime/inertia/components/Link.vue.d.ts +63 -0
  177. package/dist/runtime/inertia/stubs.d.ts +43 -0
  178. package/dist/runtime/inertia/stubs.js +82 -0
  179. package/dist/runtime/locale/bg.d.ts +3 -0
  180. package/dist/runtime/locale/bg.js +54 -0
  181. package/dist/runtime/locale/index.d.ts +5 -1
  182. package/dist/runtime/locale/index.js +5 -1
  183. package/dist/runtime/locale/kk.d.ts +3 -0
  184. package/dist/runtime/locale/kk.js +54 -0
  185. package/dist/runtime/locale/tj.d.ts +3 -0
  186. package/dist/runtime/locale/tj.js +54 -0
  187. package/dist/runtime/locale/ug_cn.d.ts +3 -0
  188. package/dist/runtime/locale/ug_cn.js +55 -0
  189. package/dist/runtime/types/form.d.ts +4 -1
  190. package/dist/runtime/types/index.d.ts +1 -0
  191. package/dist/runtime/types/index.js +1 -0
  192. package/dist/runtime/types/tv.d.ts +53 -0
  193. package/dist/runtime/types/tv.js +0 -0
  194. package/dist/runtime/types/utils.d.ts +7 -17
  195. package/dist/runtime/types/utils.js +1 -0
  196. package/dist/runtime/utils/link.d.ts +3 -3
  197. package/dist/runtime/utils/link.js +1 -0
  198. package/dist/runtime/utils/tv.js +2 -2
  199. package/dist/runtime/vue/components/Icon.vue +7 -8
  200. package/dist/runtime/vue/components/Icon.vue.d.ts +5 -0
  201. package/dist/runtime/vue/components/Link.vue +118 -202
  202. package/dist/runtime/vue/components/Link.vue.d.ts +93 -0
  203. package/dist/runtime/vue/stubs.d.ts +2 -2
  204. package/dist/shared/{ui.BkNUP964.mjs → ui.CbtTMMzt.mjs} +631 -366
  205. package/dist/types.d.mts +3 -5
  206. package/dist/unplugin.d.mts +6 -2
  207. package/dist/unplugin.mjs +25 -4
  208. package/dist/vite.d.mts +1 -1
  209. package/dist/vite.mjs +2 -2
  210. package/package.json +96 -54
  211. package/dist/module.cjs +0 -62
  212. package/dist/module.d.cts +0 -45
  213. package/dist/module.d.ts +0 -45
  214. package/dist/shared/ui.BL-XB3u1.cjs +0 -3555
  215. package/dist/types.d.ts +0 -7
  216. package/dist/unplugin.cjs +0 -232
  217. package/dist/unplugin.d.cts +0 -62
  218. package/dist/unplugin.d.ts +0 -62
  219. package/dist/vite.cjs +0 -23
  220. package/dist/vite.d.cts +0 -15
  221. package/dist/vite.d.ts +0 -15
@@ -4,6 +4,7 @@ import { kebabCase } from 'scule';
4
4
  import { addTypeTemplate, addTemplate } from '@nuxt/kit';
5
5
  import { defuFn, defu } from 'defu';
6
6
  import colors from 'tailwindcss/colors';
7
+ import { genExport } from 'knitwork';
7
8
 
8
9
  const icons = {
9
10
  arrowLeft: "i-lucide-arrow-left",
@@ -54,9 +55,9 @@ const resolveColors = (colors) => {
54
55
  const accordion = {
55
56
  slots: {
56
57
  root: "w-full",
57
- item: "border-b border-(--ui-border) last:border-b-0",
58
+ item: "border-b border-default last:border-b-0",
58
59
  header: "flex",
59
- trigger: "group flex-1 flex items-center gap-1.5 font-medium text-sm py-3.5 focus-visible:outline-(--ui-primary) min-w-0",
60
+ trigger: "group flex-1 flex items-center gap-1.5 font-medium text-sm py-3.5 focus-visible:outline-primary min-w-0",
60
61
  content: "data-[state=open]:animate-[accordion-down_200ms_ease-out] data-[state=closed]:animate-[accordion-up_200ms_ease-out] overflow-hidden focus:outline-none",
61
62
  body: "text-sm pb-3.5",
62
63
  leadingIcon: "shrink-0 size-5",
@@ -74,7 +75,7 @@ const accordion = {
74
75
 
75
76
  const alert = (options) => ({
76
77
  slots: {
77
- root: "relative overflow-hidden w-full rounded-[calc(var(--ui-radius)*2)] p-4 flex gap-2.5",
78
+ root: "relative overflow-hidden w-full rounded-lg p-4 flex gap-2.5",
78
79
  wrapper: "min-w-0 flex-1 flex flex-col",
79
80
  title: "text-sm font-medium",
80
81
  description: "text-sm opacity-90",
@@ -115,49 +116,49 @@ const alert = (options) => ({
115
116
  color,
116
117
  variant: "solid",
117
118
  class: {
118
- root: `bg-(--ui-${color}) text-(--ui-bg)`
119
+ root: `bg-${color} text-inverted`
119
120
  }
120
121
  })), ...(options.theme.colors || []).map((color) => ({
121
122
  color,
122
123
  variant: "outline",
123
124
  class: {
124
- root: `text-(--ui-${color}) ring ring-inset ring-(--ui-${color})/25`
125
+ root: `text-${color} ring ring-inset ring-${color}/25`
125
126
  }
126
127
  })), ...(options.theme.colors || []).map((color) => ({
127
128
  color,
128
129
  variant: "soft",
129
130
  class: {
130
- root: `bg-(--ui-${color})/10 text-(--ui-${color})`
131
+ root: `bg-${color}/10 text-${color}`
131
132
  }
132
133
  })), ...(options.theme.colors || []).map((color) => ({
133
134
  color,
134
135
  variant: "subtle",
135
136
  class: {
136
- root: `bg-(--ui-${color})/10 text-(--ui-${color}) ring ring-inset ring-(--ui-${color})/25`
137
+ root: `bg-${color}/10 text-${color} ring ring-inset ring-${color}/25`
137
138
  }
138
139
  })), {
139
140
  color: "neutral",
140
141
  variant: "solid",
141
142
  class: {
142
- root: "text-(--ui-bg) bg-(--ui-bg-inverted)"
143
+ root: "text-inverted bg-inverted"
143
144
  }
144
145
  }, {
145
146
  color: "neutral",
146
147
  variant: "outline",
147
148
  class: {
148
- root: "text-(--ui-text-highlighted) bg-(--ui-bg) ring ring-inset ring-(--ui-border)"
149
+ root: "text-highlighted bg-default ring ring-inset ring-default"
149
150
  }
150
151
  }, {
151
152
  color: "neutral",
152
153
  variant: "soft",
153
154
  class: {
154
- root: "text-(--ui-text-highlighted) bg-(--ui-bg-elevated)/50"
155
+ root: "text-highlighted bg-elevated/50"
155
156
  }
156
157
  }, {
157
158
  color: "neutral",
158
159
  variant: "subtle",
159
160
  class: {
160
- root: "text-(--ui-text-highlighted) bg-(--ui-bg-elevated)/50 ring ring-inset ring-(--ui-border-accented)"
161
+ root: "text-highlighted bg-elevated/50 ring ring-inset ring-accented"
161
162
  }
162
163
  }],
163
164
  defaultVariants: {
@@ -168,10 +169,10 @@ const alert = (options) => ({
168
169
 
169
170
  const avatar = {
170
171
  slots: {
171
- root: "inline-flex items-center justify-center shrink-0 select-none overflow-hidden rounded-full align-middle bg-(--ui-bg-elevated)",
172
+ root: "inline-flex items-center justify-center shrink-0 select-none overflow-hidden rounded-full align-middle bg-elevated",
172
173
  image: "h-full w-full rounded-[inherit] object-cover",
173
- fallback: "font-medium leading-none text-(--ui-text-muted) truncate",
174
- icon: "text-(--ui-text-muted) shrink-0"
174
+ fallback: "font-medium leading-none text-muted truncate",
175
+ icon: "text-muted shrink-0"
175
176
  },
176
177
  variants: {
177
178
  size: {
@@ -212,7 +213,7 @@ const avatar = {
212
213
  const avatarGroup = {
213
214
  slots: {
214
215
  root: "inline-flex flex-row-reverse justify-end",
215
- base: "relative rounded-full ring-(--ui-bg) first:me-0"
216
+ base: "relative rounded-full ring-bg first:me-0"
216
217
  },
217
218
  variants: {
218
219
  size: {
@@ -308,31 +309,31 @@ const badge = (options) => ({
308
309
  },
309
310
  size: {
310
311
  xs: {
311
- base: "text-[8px]/3 px-1 py-0.5 gap-1 rounded-[calc(var(--ui-radius))]",
312
+ base: "text-[8px]/3 px-1 py-0.5 gap-1 rounded-sm",
312
313
  leadingIcon: "size-3",
313
314
  leadingAvatarSize: "3xs",
314
315
  trailingIcon: "size-3"
315
316
  },
316
317
  sm: {
317
- base: "text-[10px]/3 px-1.5 py-1 gap-1 rounded-[calc(var(--ui-radius))]",
318
+ base: "text-[10px]/3 px-1.5 py-1 gap-1 rounded-sm",
318
319
  leadingIcon: "size-3",
319
320
  leadingAvatarSize: "3xs",
320
321
  trailingIcon: "size-3"
321
322
  },
322
323
  md: {
323
- base: "text-xs px-2 py-1 gap-1 rounded-[calc(var(--ui-radius)*1.5)]",
324
+ base: "text-xs px-2 py-1 gap-1 rounded-md",
324
325
  leadingIcon: "size-4",
325
326
  leadingAvatarSize: "3xs",
326
327
  trailingIcon: "size-4"
327
328
  },
328
329
  lg: {
329
- base: "text-sm px-2 py-1 gap-1.5 rounded-[calc(var(--ui-radius)*1.5)]",
330
+ base: "text-sm px-2 py-1 gap-1.5 rounded-md",
330
331
  leadingIcon: "size-5",
331
332
  leadingAvatarSize: "2xs",
332
333
  trailingIcon: "size-5"
333
334
  },
334
335
  xl: {
335
- base: "text-base px-2.5 py-1 gap-1.5 rounded-[calc(var(--ui-radius)*1.5)]",
336
+ base: "text-base px-2.5 py-1 gap-1.5 rounded-md",
336
337
  leadingIcon: "size-6",
337
338
  leadingAvatarSize: "2xs",
338
339
  trailingIcon: "size-6"
@@ -342,35 +343,35 @@ const badge = (options) => ({
342
343
  compoundVariants: [...(options.theme.colors || []).map((color) => ({
343
344
  color,
344
345
  variant: "solid",
345
- class: `bg-(--ui-${color}) text-(--ui-bg)`
346
+ class: `bg-${color} text-inverted`
346
347
  })), ...(options.theme.colors || []).map((color) => ({
347
348
  color,
348
349
  variant: "outline",
349
- class: `text-(--ui-${color}) ring ring-inset ring-(--ui-${color})/50`
350
+ class: `text-${color} ring ring-inset ring-${color}/50`
350
351
  })), ...(options.theme.colors || []).map((color) => ({
351
352
  color,
352
353
  variant: "soft",
353
- class: `bg-(--ui-${color})/10 text-(--ui-${color})`
354
+ class: `bg-${color}/10 text-${color}`
354
355
  })), ...(options.theme.colors || []).map((color) => ({
355
356
  color,
356
357
  variant: "subtle",
357
- class: `bg-(--ui-${color})/10 text-(--ui-${color}) ring ring-inset ring-(--ui-${color})/25`
358
+ class: `bg-${color}/10 text-${color} ring ring-inset ring-${color}/25`
358
359
  })), {
359
360
  color: "neutral",
360
361
  variant: "solid",
361
- class: "text-(--ui-bg) bg-(--ui-bg-inverted)"
362
+ class: "text-inverted bg-inverted"
362
363
  }, {
363
364
  color: "neutral",
364
365
  variant: "outline",
365
- class: "ring ring-inset ring-(--ui-border-accented) text-(--ui-text) bg-(--ui-bg)"
366
+ class: "ring ring-inset ring-accented text-default bg-default"
366
367
  }, {
367
368
  color: "neutral",
368
369
  variant: "soft",
369
- class: "text-(--ui-text) bg-(--ui-bg-elevated)"
370
+ class: "text-default bg-elevated"
370
371
  }, {
371
372
  color: "neutral",
372
373
  variant: "subtle",
373
- class: "ring ring-inset ring-(--ui-border-accented) text-(--ui-text) bg-(--ui-bg-elevated)"
374
+ class: "ring ring-inset ring-accented text-default bg-elevated"
374
375
  }],
375
376
  defaultVariants: {
376
377
  color: "primary",
@@ -384,21 +385,21 @@ const breadcrumb = (options) => ({
384
385
  root: "relative min-w-0",
385
386
  list: "flex items-center gap-1.5",
386
387
  item: "flex min-w-0",
387
- link: "group relative flex items-center gap-1.5 text-sm min-w-0 focus-visible:outline-(--ui-primary)",
388
+ link: "group relative flex items-center gap-1.5 text-sm min-w-0 focus-visible:outline-primary",
388
389
  linkLeadingIcon: "shrink-0 size-5",
389
390
  linkLeadingAvatar: "shrink-0",
390
391
  linkLeadingAvatarSize: "2xs",
391
392
  linkLabel: "truncate",
392
393
  separator: "flex",
393
- separatorIcon: "shrink-0 size-5 text-(--ui-text-muted)"
394
+ separatorIcon: "shrink-0 size-5 text-muted"
394
395
  },
395
396
  variants: {
396
397
  active: {
397
398
  true: {
398
- link: "text-(--ui-primary) font-semibold"
399
+ link: "text-primary font-semibold"
399
400
  },
400
401
  false: {
401
- link: "text-(--ui-text-muted) font-medium"
402
+ link: "text-muted font-medium"
402
403
  }
403
404
  },
404
405
  disabled: {
@@ -415,14 +416,14 @@ const breadcrumb = (options) => ({
415
416
  active: false,
416
417
  to: true,
417
418
  class: {
418
- link: ["hover:text-(--ui-text)", options.theme.transitions && "transition-colors"]
419
+ link: ["hover:text-default", options.theme.transitions && "transition-colors"]
419
420
  }
420
421
  }]
421
422
  });
422
423
 
423
424
  const button = (options) => ({
424
425
  slots: {
425
- base: ["rounded-[calc(var(--ui-radius)*1.5)] font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75", options.theme.transitions && "transition-colors"],
426
+ base: ["rounded-md font-medium inline-flex items-center disabled:cursor-not-allowed aria-disabled:cursor-not-allowed disabled:opacity-75 aria-disabled:opacity-75", options.theme.transitions && "transition-colors"],
426
427
  label: "truncate",
427
428
  leadingIcon: "shrink-0",
428
429
  leadingAvatar: "shrink-0",
@@ -505,51 +506,51 @@ const button = (options) => ({
505
506
  compoundVariants: [...(options.theme.colors || []).map((color) => ({
506
507
  color,
507
508
  variant: "solid",
508
- class: `text-(--ui-bg) bg-(--ui-${color}) hover:bg-(--ui-${color})/75 disabled:bg-(--ui-${color}) aria-disabled:bg-(--ui-${color}) focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-(--ui-${color})`
509
+ class: `text-inverted bg-${color} hover:bg-${color}/75 disabled:bg-${color} aria-disabled:bg-${color} focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-${color}`
509
510
  })), ...(options.theme.colors || []).map((color) => ({
510
511
  color,
511
512
  variant: "outline",
512
- class: `ring ring-inset ring-(--ui-${color})/50 text-(--ui-${color}) hover:bg-(--ui-${color})/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent focus:outline-none focus-visible:ring-2 focus-visible:ring-(--ui-${color})`
513
+ class: `ring ring-inset ring-${color}/50 text-${color} hover:bg-${color}/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent focus:outline-none focus-visible:ring-2 focus-visible:ring-${color}`
513
514
  })), ...(options.theme.colors || []).map((color) => ({
514
515
  color,
515
516
  variant: "soft",
516
- class: `text-(--ui-${color}) bg-(--ui-${color})/10 hover:bg-(--ui-${color})/15 focus:outline-none focus-visible:bg-(--ui-${color})/15 disabled:bg-(--ui-${color})/10 aria-disabled:bg-(--ui-${color})/10`
517
+ class: `text-${color} bg-${color}/10 hover:bg-${color}/15 focus:outline-none focus-visible:bg-${color}/15 disabled:bg-${color}/10 aria-disabled:bg-${color}/10`
517
518
  })), ...(options.theme.colors || []).map((color) => ({
518
519
  color,
519
520
  variant: "subtle",
520
- class: `text-(--ui-${color}) ring ring-inset ring-(--ui-${color})/25 bg-(--ui-${color})/10 hover:bg-(--ui-${color})/15 disabled:bg-(--ui-${color})/10 aria-disabled:bg-(--ui-${color})/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-(--ui-${color})`
521
+ class: `text-${color} ring ring-inset ring-${color}/25 bg-${color}/10 hover:bg-${color}/15 disabled:bg-${color}/10 aria-disabled:bg-${color}/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-${color}`
521
522
  })), ...(options.theme.colors || []).map((color) => ({
522
523
  color,
523
524
  variant: "ghost",
524
- class: `text-(--ui-${color}) hover:bg-(--ui-${color})/10 focus:outline-none focus-visible:bg-(--ui-${color})/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent`
525
+ class: `text-${color} hover:bg-${color}/10 focus:outline-none focus-visible:bg-${color}/10 disabled:bg-transparent aria-disabled:bg-transparent dark:disabled:bg-transparent dark:aria-disabled:bg-transparent`
525
526
  })), ...(options.theme.colors || []).map((color) => ({
526
527
  color,
527
528
  variant: "link",
528
- class: `text-(--ui-${color}) hover:text-(--ui-${color})/75 disabled:text-(--ui-${color}) aria-disabled:text-(--ui-${color}) focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-(--ui-${color})`
529
+ class: `text-${color} hover:text-${color}/75 disabled:text-${color} aria-disabled:text-${color} focus:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-${color}`
529
530
  })), {
530
531
  color: "neutral",
531
532
  variant: "solid",
532
- class: "text-(--ui-bg) bg-(--ui-bg-inverted) hover:bg-(--ui-bg-inverted)/90 disabled:bg-(--ui-bg-inverted) aria-disabled:bg-(--ui-bg-inverted) focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-(--ui-border-inverted)"
533
+ class: "text-inverted bg-inverted hover:bg-inverted/90 disabled:bg-inverted aria-disabled:bg-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-inverted"
533
534
  }, {
534
535
  color: "neutral",
535
536
  variant: "outline",
536
- class: "ring ring-inset ring-(--ui-border-accented) text-(--ui-text) bg-(--ui-bg) hover:bg-(--ui-bg-elevated) disabled:bg-(--ui-bg) aria-disabled:bg-(--ui-bg) focus:outline-none focus-visible:ring-2 focus-visible:ring-(--ui-border-inverted)"
537
+ class: "ring ring-inset ring-accented text-default bg-default hover:bg-elevated disabled:bg-default aria-disabled:bg-default focus:outline-none focus-visible:ring-2 focus-visible:ring-inverted"
537
538
  }, {
538
539
  color: "neutral",
539
540
  variant: "soft",
540
- class: "text-(--ui-text) bg-(--ui-bg-elevated) hover:bg-(--ui-bg-accented)/75 focus:outline-none focus-visible:bg-(--ui-bg-accented)/75 disabled:bg-(--ui-bg-elevated) aria-disabled:bg-(--ui-bg-elevated)"
541
+ class: "text-default bg-elevated hover:bg-accented/75 focus:outline-none focus-visible:bg-accented/75 disabled:bg-elevated aria-disabled:bg-elevated"
541
542
  }, {
542
543
  color: "neutral",
543
544
  variant: "subtle",
544
- class: "ring ring-inset ring-(--ui-border-accented) text-(--ui-text) bg-(--ui-bg-elevated) hover:bg-(--ui-bg-accented)/75 disabled:bg-(--ui-bg-elevated) aria-disabled:bg-(--ui-bg-elevated) focus:outline-none focus-visible:ring-2 focus-visible:ring-(--ui-border-inverted)"
545
+ class: "ring ring-inset ring-accented text-default bg-elevated hover:bg-accented/75 disabled:bg-elevated aria-disabled:bg-elevated focus:outline-none focus-visible:ring-2 focus-visible:ring-inverted"
545
546
  }, {
546
547
  color: "neutral",
547
548
  variant: "ghost",
548
- class: "text-(--ui-text) hover:bg-(--ui-bg-elevated) focus:outline-none focus-visible:bg-(--ui-bg-elevated) hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent"
549
+ class: "text-default hover:bg-elevated focus:outline-none focus-visible:bg-elevated hover:disabled:bg-transparent dark:hover:disabled:bg-transparent hover:aria-disabled:bg-transparent dark:hover:aria-disabled:bg-transparent"
549
550
  }, {
550
551
  color: "neutral",
551
552
  variant: "link",
552
- class: "text-(--ui-text-muted) hover:text-(--ui-text) disabled:text-(--ui-text-muted) aria-disabled:text-(--ui-text-muted) focus:outline-none focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-(--ui-border-inverted)"
553
+ class: "text-muted hover:text-default disabled:text-muted aria-disabled:text-muted focus:outline-none focus-visible:ring-inset focus-visible:ring-2 focus-visible:ring-inverted"
553
554
  }, {
554
555
  size: "xs",
555
556
  square: true,
@@ -598,22 +599,22 @@ const calendar = (options) => ({
598
599
  body: "flex flex-col space-y-4 pt-4 sm:flex-row sm:space-x-4 sm:space-y-0",
599
600
  heading: "text-center font-medium truncate mx-auto",
600
601
  grid: "w-full border-collapse select-none space-y-1 focus:outline-none",
601
- gridRow: "grid grid-cols-7",
602
+ gridRow: "grid grid-cols-7 place-items-center",
602
603
  gridWeekDaysRow: "mb-1 grid w-full grid-cols-7",
603
604
  gridBody: "grid",
604
- headCell: "rounded-[calc(var(--ui-radius)*1.5)]",
605
+ headCell: "rounded-md",
605
606
  cell: "relative text-center",
606
- cellTrigger: ["m-0.5 relative flex items-center justify-center rounded-full whitespace-nowrap focus-visible:ring-2 focus:outline-none data-disabled:text-(--ui-text-muted) data-unavailable:line-through data-unavailable:text-(--ui-text-muted) data-unavailable:pointer-events-none data-[selected]:text-(--ui-bg) data-today:font-semibold data-[outside-view]:text-(--ui-text-muted)", options.theme.transitions && "transition"]
607
+ cellTrigger: ["m-0.5 relative flex items-center justify-center rounded-full whitespace-nowrap focus-visible:ring-2 focus:outline-none data-disabled:text-muted data-unavailable:line-through data-unavailable:text-muted data-unavailable:pointer-events-none data-[selected]:text-inverted data-today:font-semibold data-[outside-view]:text-muted", options.theme.transitions && "transition"]
607
608
  },
608
609
  variants: {
609
610
  color: {
610
611
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
611
- headCell: `text-(--ui-${color})`,
612
- cellTrigger: `focus-visible:ring-(--ui-${color}) data-[selected]:bg-(--ui-${color}) data-today:not-data-[selected]:text-(--ui-${color}) data-[highlighted]:bg-(--ui-${color})/20 hover:not-data-[selected]:bg-(--ui-${color})/20`
612
+ headCell: `text-${color}`,
613
+ cellTrigger: `focus-visible:ring-${color} data-[selected]:bg-${color} data-today:not-data-[selected]:text-${color} data-[highlighted]:bg-${color}/20 hover:not-data-[selected]:bg-${color}/20`
613
614
  }])),
614
615
  neutral: {
615
- headCell: "text-(--ui-bg-inverted)",
616
- cellTrigger: "focus-visible:ring-(--ui-border-inverted) data-[selected]:bg-(--ui-bg-inverted) data-today:not-data-[selected]:text-(--ui-bg-inverted) data-[highlighted]:bg-(--ui-bg-inverted)/20 hover:not-data-[selected]:bg-(--ui-bg-inverted)/10"
616
+ headCell: "text-highlighted",
617
+ cellTrigger: "focus-visible:ring-inverted data-[selected]:bg-inverted data-today:not-data-[selected]:text-inverted data-[highlighted]:bg-inverted/20 hover:not-data-[selected]:bg-inverted/10"
617
618
  }
618
619
  },
619
620
  size: {
@@ -656,7 +657,7 @@ const calendar = (options) => ({
656
657
 
657
658
  const card = {
658
659
  slots: {
659
- root: "rounded-[calc(var(--ui-radius)*2)]",
660
+ root: "rounded-lg",
660
661
  header: "p-4 sm:px-6",
661
662
  body: "p-4 sm:p-6",
662
663
  footer: "p-4 sm:px-6"
@@ -664,16 +665,16 @@ const card = {
664
665
  variants: {
665
666
  variant: {
666
667
  solid: {
667
- root: "bg-(--ui-bg-inverted) text-(--ui-bg)"
668
+ root: "bg-inverted text-inverted"
668
669
  },
669
670
  outline: {
670
- root: "bg-(--ui-bg) ring ring-(--ui-border) divide-y divide-(--ui-border)"
671
+ root: "bg-default ring ring-default divide-y divide-default"
671
672
  },
672
673
  soft: {
673
- root: "bg-(--ui-bg-elevated)/50 divide-y divide-(--ui-border)"
674
+ root: "bg-elevated/50 divide-y divide-default"
674
675
  },
675
676
  subtle: {
676
- root: "bg-(--ui-bg-elevated)/50 ring ring-(--ui-border) divide-y divide-(--ui-border)"
677
+ root: "bg-elevated/50 ring ring-default divide-y divide-default"
677
678
  }
678
679
  }
679
680
  },
@@ -693,26 +694,26 @@ const carousel = (options) => ({
693
694
  prev: "absolute rounded-full",
694
695
  next: "absolute rounded-full",
695
696
  dots: "absolute inset-x-0 -bottom-7 flex flex-wrap items-center justify-center gap-3",
696
- dot: ["cursor-pointer size-3 bg-(--ui-border-accented) rounded-full", options.theme.transitions && "transition"]
697
+ dot: ["cursor-pointer size-3 bg-accented rounded-full", options.theme.transitions && "transition"]
697
698
  },
698
699
  variants: {
699
700
  orientation: {
700
701
  vertical: {
701
702
  container: "flex-col -mt-4",
702
703
  item: "pt-4",
703
- prev: "-top-12 left-1/2 -translate-x-1/2 rotate-90 rtl:-rotate-90",
704
- next: "-bottom-12 left-1/2 -translate-x-1/2 rotate-90 rtl:-rotate-90"
704
+ prev: "top-4 sm:-top-12 left-1/2 -translate-x-1/2 rotate-90 rtl:-rotate-90",
705
+ next: "bottom-4 sm:-bottom-12 left-1/2 -translate-x-1/2 rotate-90 rtl:-rotate-90"
705
706
  },
706
707
  horizontal: {
707
708
  container: "flex-row -ms-4",
708
709
  item: "ps-4",
709
- prev: "-start-12 top-1/2 -translate-y-1/2",
710
- next: "-end-12 top-1/2 -translate-y-1/2"
710
+ prev: "start-4 sm:-start-12 top-1/2 -translate-y-1/2",
711
+ next: "end-4 sm:-end-12 top-1/2 -translate-y-1/2"
711
712
  }
712
713
  },
713
714
  active: {
714
715
  true: {
715
- dot: "bg-(--ui-border-inverted)"
716
+ dot: "bg-inverted"
716
717
  }
717
718
  }
718
719
  }
@@ -721,17 +722,46 @@ const carousel = (options) => ({
721
722
  const checkbox = (options) => ({
722
723
  slots: {
723
724
  root: "relative flex items-start",
724
- base: "shrink-0 flex items-center justify-center rounded-(--ui-radius) text-(--ui-bg) ring ring-inset ring-(--ui-border-accented) focus-visible:outline-2 focus-visible:outline-offset-2",
725
725
  container: "flex items-center",
726
- wrapper: "ms-2",
726
+ base: "rounded-sm ring ring-inset ring-accented overflow-hidden focus-visible:outline-2 focus-visible:outline-offset-2",
727
+ indicator: "flex items-center justify-center size-full text-inverted",
727
728
  icon: "shrink-0 size-full",
728
- label: "block font-medium text-(--ui-text)",
729
- description: "text-(--ui-text-muted)"
729
+ wrapper: "w-full",
730
+ label: "block font-medium text-default",
731
+ description: "text-muted"
730
732
  },
731
733
  variants: {
732
734
  color: {
733
- ...Object.fromEntries((options.theme.colors || []).map((color) => [color, `focus-visible:outline-(--ui-${color})`])),
734
- neutral: "focus-visible:outline-(--ui-border-inverted)"
735
+ ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
736
+ base: `focus-visible:outline-${color}`,
737
+ indicator: `bg-${color}`
738
+ }])),
739
+ neutral: {
740
+ base: "focus-visible:outline-inverted",
741
+ indicator: "bg-inverted"
742
+ }
743
+ },
744
+ variant: {
745
+ list: {
746
+ root: ""
747
+ },
748
+ card: {
749
+ root: "border border-muted rounded-lg"
750
+ }
751
+ },
752
+ indicator: {
753
+ start: {
754
+ root: "flex-row",
755
+ wrapper: "ms-2"
756
+ },
757
+ end: {
758
+ root: "flex-row-reverse",
759
+ wrapper: "me-2"
760
+ },
761
+ hidden: {
762
+ base: "sr-only",
763
+ wrapper: "text-center"
764
+ }
735
765
  },
736
766
  size: {
737
767
  xs: {
@@ -762,7 +792,7 @@ const checkbox = (options) => ({
762
792
  },
763
793
  required: {
764
794
  true: {
765
- label: "after:content-['*'] after:ms-0.5 after:text-(--ui-error)"
795
+ label: "after:content-['*'] after:ms-0.5 after:text-error"
766
796
  }
767
797
  },
768
798
  disabled: {
@@ -776,30 +806,100 @@ const checkbox = (options) => ({
776
806
  true: ""
777
807
  }
778
808
  },
779
- compoundVariants: [...(options.theme.colors || []).map((color) => ({
780
- color,
781
- checked: true,
782
- class: `ring-2 ring-(--ui-${color}) bg-(--ui-${color})`
783
- })), {
784
- color: "neutral",
785
- checked: true,
786
- class: "ring-2 ring-(--ui-border-inverted) bg-(--ui-bg-inverted)"
787
- }],
809
+ compoundVariants: [
810
+ { size: "xs", variant: "card", class: { root: "p-2.5" } },
811
+ { size: "sm", variant: "card", class: { root: "p-3" } },
812
+ { size: "md", variant: "card", class: { root: "p-3.5" } },
813
+ { size: "lg", variant: "card", class: { root: "p-4" } },
814
+ { size: "xl", variant: "card", class: { root: "p-4.5" } },
815
+ ...(options.theme.colors || []).map((color) => ({
816
+ color,
817
+ variant: "card",
818
+ class: {
819
+ root: `has-data-[state=checked]:border-${color}`
820
+ }
821
+ })),
822
+ {
823
+ color: "neutral",
824
+ variant: "card",
825
+ class: {
826
+ root: "has-data-[state=checked]:border-inverted"
827
+ }
828
+ },
829
+ {
830
+ variant: "card",
831
+ disabled: true,
832
+ class: {
833
+ root: "cursor-not-allowed opacity-75"
834
+ }
835
+ }
836
+ ],
788
837
  defaultVariants: {
789
838
  size: "md",
790
- color: "primary"
839
+ color: "primary",
840
+ variant: "list",
841
+ indicator: "start"
791
842
  }
792
843
  });
793
844
 
845
+ const checkboxGroup = {
846
+ slots: {
847
+ root: "relative",
848
+ fieldset: "flex gap-x-2",
849
+ legend: "mb-1 block font-medium text-default",
850
+ item: ""
851
+ },
852
+ variants: {
853
+ orientation: {
854
+ horizontal: {
855
+ fieldset: "flex-row"
856
+ },
857
+ vertical: {
858
+ fieldset: "flex-col"
859
+ }
860
+ },
861
+ size: {
862
+ xs: {
863
+ fieldset: "gap-y-0.5",
864
+ legend: "text-xs"
865
+ },
866
+ sm: {
867
+ fieldset: "gap-y-0.5",
868
+ legend: "text-xs"
869
+ },
870
+ md: {
871
+ fieldset: "gap-y-1",
872
+ legend: "text-sm"
873
+ },
874
+ lg: {
875
+ fieldset: "gap-y-1",
876
+ legend: "text-sm"
877
+ },
878
+ xl: {
879
+ fieldset: "gap-y-1.5",
880
+ legend: "text-base"
881
+ }
882
+ },
883
+ required: {
884
+ true: {
885
+ legend: "after:content-['*'] after:ms-0.5 after:text-error"
886
+ }
887
+ }
888
+ },
889
+ defaultVariants: {
890
+ size: "md"
891
+ }
892
+ };
893
+
794
894
  const chip = (options) => ({
795
895
  slots: {
796
896
  root: "relative inline-flex items-center justify-center shrink-0",
797
- base: "rounded-full ring ring-(--ui-bg) flex items-center justify-center text-(--ui-bg) font-medium whitespace-nowrap"
897
+ base: "rounded-full ring ring-bg flex items-center justify-center text-inverted font-medium whitespace-nowrap"
798
898
  },
799
899
  variants: {
800
900
  color: {
801
- ...Object.fromEntries((options.theme.colors || []).map((color) => [color, `bg-(--ui-${color})`])),
802
- neutral: "bg-(--ui-text-muted)"
901
+ ...Object.fromEntries((options.theme.colors || []).map((color) => [color, `bg-${color}`])),
902
+ neutral: "bg-inverted"
803
903
  },
804
904
  size: {
805
905
  "3xs": "h-[4px] min-w-[4px] text-[4px]",
@@ -860,10 +960,10 @@ const colorPicker = {
860
960
  slots: {
861
961
  root: "data-[disabled]:opacity-75",
862
962
  picker: "flex gap-4",
863
- selector: "rounded-[calc(var(--ui-radius)*1.5)]",
864
- selectorBackground: "w-full h-full relative rounded-[calc(var(--ui-radius)*1.2)]",
963
+ selector: "rounded-md",
964
+ selectorBackground: "w-full h-full relative rounded-md",
865
965
  selectorThumb: "-translate-y-1/2 -translate-x-1/2 absolute size-4 ring-2 ring-(--color-white) rounded-full cursor-pointer data-[disabled]:cursor-not-allowed",
866
- track: "w-[8px] relative rounded-[calc(var(--ui-radius)*1.5)]",
966
+ track: "w-[8px] relative rounded-md",
867
967
  trackThumb: "absolute transform -translate-y-1/2 -translate-x-[4px] rtl:translate-x-[4px] size-4 rounded-full ring-2 ring-(--color-white) cursor-pointer data-[disabled]:cursor-not-allowed"
868
968
  },
869
969
  variants: {
@@ -898,15 +998,15 @@ const colorPicker = {
898
998
 
899
999
  const commandPalette = (options) => ({
900
1000
  slots: {
901
- root: "flex flex-col min-h-0 min-w-0 divide-y divide-(--ui-border)",
1001
+ root: "flex flex-col min-h-0 min-w-0 divide-y divide-default",
902
1002
  input: "[&>input]:h-12",
903
1003
  close: "",
904
1004
  content: "relative overflow-hidden flex flex-col",
905
- viewport: "relative divide-y divide-(--ui-border) scroll-py-1 overflow-y-auto flex-1 focus:outline-none",
1005
+ viewport: "relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1 focus:outline-none",
906
1006
  group: "p-1 isolate",
907
- empty: "py-6 text-center text-sm text-(--ui-text-muted)",
908
- label: "px-2 py-1.5 text-xs font-semibold text-(--ui-text-highlighted)",
909
- item: "group relative w-full flex items-center gap-2 px-2 py-1.5 text-sm select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-[calc(var(--ui-radius)*1.5)] data-disabled:cursor-not-allowed data-disabled:opacity-75",
1007
+ empty: "py-6 text-center text-sm text-muted",
1008
+ label: "p-1.5 text-xs font-semibold text-highlighted",
1009
+ item: "group relative w-full flex items-center gap-1.5 p-1.5 text-sm select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75",
910
1010
  itemLeadingIcon: "shrink-0 size-5",
911
1011
  itemLeadingAvatar: "shrink-0",
912
1012
  itemLeadingAvatarSize: "2xs",
@@ -914,23 +1014,23 @@ const commandPalette = (options) => ({
914
1014
  itemLeadingChipSize: "md",
915
1015
  itemTrailing: "ms-auto inline-flex gap-1.5 items-center",
916
1016
  itemTrailingIcon: "shrink-0 size-5",
917
- itemTrailingHighlightedIcon: "shrink-0 size-5 text-(--ui-text-dimmed) hidden group-data-highlighted:inline-flex",
1017
+ itemTrailingHighlightedIcon: "shrink-0 size-5 text-dimmed hidden group-data-highlighted:inline-flex",
918
1018
  itemTrailingKbds: "hidden lg:inline-flex items-center shrink-0 gap-0.5",
919
1019
  itemTrailingKbdsSize: "md",
920
- itemLabel: "truncate space-x-1 rtl:space-x-reverse text-(--ui-text-dimmed)",
921
- itemLabelBase: "text-(--ui-text-highlighted) [&>mark]:text-(--ui-bg) [&>mark]:bg-(--ui-primary)",
922
- itemLabelPrefix: "text-(--ui-text)",
923
- itemLabelSuffix: "text-(--ui-text-dimmed) [&>mark]:text-(--ui-bg) [&>mark]:bg-(--ui-primary)"
1020
+ itemLabel: "truncate space-x-1 rtl:space-x-reverse text-dimmed",
1021
+ itemLabelBase: "text-highlighted [&>mark]:text-inverted [&>mark]:bg-primary",
1022
+ itemLabelPrefix: "text-default",
1023
+ itemLabelSuffix: "text-dimmed [&>mark]:text-inverted [&>mark]:bg-primary"
924
1024
  },
925
1025
  variants: {
926
1026
  active: {
927
1027
  true: {
928
- item: "text-(--ui-text-highlighted) before:bg-(--ui-bg-elevated)",
929
- itemLeadingIcon: "text-(--ui-text)"
1028
+ item: "text-highlighted before:bg-elevated",
1029
+ itemLeadingIcon: "text-default"
930
1030
  },
931
1031
  false: {
932
- item: ["text-(--ui-text) data-highlighted:text-(--ui-text-highlighted) data-highlighted:before:bg-(--ui-bg-elevated)/50", options.theme.transitions && "transition-colors before:transition-colors"],
933
- itemLeadingIcon: ["text-(--ui-text-dimmed) group-data-highlighted:text-(--ui-text)", options.theme.transitions && "transition-colors"]
1032
+ item: ["text-default data-highlighted:not-data-disabled:text-highlighted data-highlighted:not-data-disabled:before:bg-elevated/50", options.theme.transitions && "transition-colors before:transition-colors"],
1033
+ itemLeadingIcon: ["text-dimmed group-data-highlighted:not-group-data-disabled:text-default", options.theme.transitions && "transition-colors"]
934
1034
  }
935
1035
  },
936
1036
  loading: {
@@ -947,11 +1047,11 @@ const container = {
947
1047
 
948
1048
  const contextMenu = (options) => ({
949
1049
  slots: {
950
- content: "min-w-32 bg-(--ui-bg) shadow-lg rounded-[calc(var(--ui-radius)*1.5)] ring ring-(--ui-border) divide-y divide-(--ui-border) overflow-y-auto scroll-py-1 data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in]",
1050
+ content: "min-w-32 bg-default shadow-lg rounded-md ring ring-default divide-y divide-default overflow-y-auto scroll-py-1 data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-context-menu-content-transform-origin)",
951
1051
  group: "p-1 isolate",
952
- label: "w-full flex items-center font-semibold text-(--ui-text-highlighted)",
953
- separator: "-mx-1 my-1 h-px bg-(--ui-border)",
954
- item: "group relative w-full flex items-center select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-[calc(var(--ui-radius)*1.5)] data-disabled:cursor-not-allowed data-disabled:opacity-75",
1052
+ label: "w-full flex items-center font-semibold text-highlighted",
1053
+ separator: "-mx-1 my-1 h-px bg-border",
1054
+ item: "group relative w-full flex items-center select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75",
955
1055
  itemLeadingIcon: "shrink-0",
956
1056
  itemLeadingAvatar: "shrink-0",
957
1057
  itemLeadingAvatarSize: "",
@@ -960,7 +1060,7 @@ const contextMenu = (options) => ({
960
1060
  itemTrailingKbds: "hidden lg:inline-flex items-center shrink-0",
961
1061
  itemTrailingKbdsSize: "",
962
1062
  itemLabel: "truncate",
963
- itemLabelExternalIcon: "inline-block size-3 align-top text-(--ui-text-dimmed)"
1063
+ itemLabelExternalIcon: "inline-block size-3 align-top text-dimmed"
964
1064
  },
965
1065
  variants: {
966
1066
  color: {
@@ -969,12 +1069,12 @@ const contextMenu = (options) => ({
969
1069
  },
970
1070
  active: {
971
1071
  true: {
972
- item: "text-(--ui-text-highlighted) before:bg-(--ui-bg-elevated)",
973
- itemLeadingIcon: "text-(--ui-text)"
1072
+ item: "text-highlighted before:bg-elevated",
1073
+ itemLeadingIcon: "text-default"
974
1074
  },
975
1075
  false: {
976
- item: ["text-(--ui-text) data-highlighted:text-(--ui-text-highlighted) data-[state=open]:text-(--ui-text-highlighted) data-highlighted:before:bg-(--ui-bg-elevated)/50 data-[state=open]:before:bg-(--ui-bg-elevated)/50", options.theme.transitions && "transition-colors before:transition-colors"],
977
- itemLeadingIcon: ["text-(--ui-text-dimmed) group-data-highlighted:text-(--ui-text) group-data-[state=open]:text-(--ui-text)", options.theme.transitions && "transition-colors"]
1076
+ item: ["text-default data-highlighted:text-highlighted data-[state=open]:text-highlighted data-highlighted:before:bg-elevated/50 data-[state=open]:before:bg-elevated/50", options.theme.transitions && "transition-colors before:transition-colors"],
1077
+ itemLeadingIcon: ["text-dimmed group-data-highlighted:text-default group-data-[state=open]:text-default", options.theme.transitions && "transition-colors"]
978
1078
  }
979
1079
  },
980
1080
  loading: {
@@ -1034,15 +1134,15 @@ const contextMenu = (options) => ({
1034
1134
  color,
1035
1135
  active: false,
1036
1136
  class: {
1037
- item: `text-(--ui-${color}) data-highlighted:text-(--ui-${color}) data-highlighted:before:bg-(--ui-${color})/10 data-[state=open]:before:bg-(--ui-${color})/10`,
1038
- itemLeadingIcon: `text-(--ui-${color})/75 group-data-highlighted:text-(--ui-${color}) group-data-[state=open]:text-(--ui-${color})`
1137
+ item: `text-${color} data-highlighted:text-${color} data-highlighted:before:bg-${color}/10 data-[state=open]:before:bg-${color}/10`,
1138
+ itemLeadingIcon: `text-${color}/75 group-data-highlighted:text-${color} group-data-[state=open]:text-${color}`
1039
1139
  }
1040
1140
  })), ...(options.theme.colors || []).map((color) => ({
1041
1141
  color,
1042
1142
  active: true,
1043
1143
  class: {
1044
- item: `text-(--ui-${color}) before:bg-(--ui-${color})/10`,
1045
- itemLeadingIcon: `text-(--ui-${color})`
1144
+ item: `text-${color} before:bg-${color}/10`,
1145
+ itemLeadingIcon: `text-${color}`
1046
1146
  }
1047
1147
  }))],
1048
1148
  defaultVariants: {
@@ -1052,13 +1152,13 @@ const contextMenu = (options) => ({
1052
1152
 
1053
1153
  const drawer = (options) => ({
1054
1154
  slots: {
1055
- overlay: "fixed inset-0 bg-(--ui-bg-elevated)/75",
1056
- content: "fixed bg-(--ui-bg) ring ring-(--ui-border) flex focus:outline-none",
1057
- handle: ["shrink-0 !bg-(--ui-bg-accented)", options.theme.transitions && "transition-opacity"],
1155
+ overlay: "fixed inset-0 bg-elevated/75",
1156
+ content: "fixed bg-default ring ring-default flex focus:outline-none",
1157
+ handle: ["shrink-0 !bg-accented", options.theme.transitions && "transition-opacity"],
1058
1158
  container: "w-full flex flex-col gap-4 p-4 overflow-y-auto",
1059
1159
  header: "",
1060
- title: "text-(--ui-text-highlighted) font-semibold",
1061
- description: "mt-1 text-(--ui-text-muted) text-sm",
1160
+ title: "text-highlighted font-semibold",
1161
+ description: "mt-1 text-muted text-sm",
1062
1162
  body: "flex-1",
1063
1163
  footer: "flex flex-col gap-1.5"
1064
1164
  },
@@ -1083,7 +1183,7 @@ const drawer = (options) => ({
1083
1183
  },
1084
1184
  inset: {
1085
1185
  true: {
1086
- content: "rounded-[calc(var(--ui-radius)*2)] after:hidden"
1186
+ content: "rounded-lg after:hidden"
1087
1187
  }
1088
1188
  }
1089
1189
  },
@@ -1109,7 +1209,7 @@ const drawer = (options) => ({
1109
1209
  direction: "top",
1110
1210
  inset: false,
1111
1211
  class: {
1112
- content: "inset-x-0 top-0 rounded-b-[calc(var(--ui-radius)*2)]"
1212
+ content: "inset-x-0 top-0 rounded-b-lg"
1113
1213
  }
1114
1214
  }, {
1115
1215
  direction: "bottom",
@@ -1121,7 +1221,7 @@ const drawer = (options) => ({
1121
1221
  direction: "bottom",
1122
1222
  inset: false,
1123
1223
  class: {
1124
- content: "inset-x-0 bottom-0 rounded-t-[calc(var(--ui-radius)*2)]"
1224
+ content: "inset-x-0 bottom-0 rounded-t-lg"
1125
1225
  }
1126
1226
  }, {
1127
1227
  direction: "left",
@@ -1133,7 +1233,7 @@ const drawer = (options) => ({
1133
1233
  direction: "left",
1134
1234
  inset: false,
1135
1235
  class: {
1136
- content: "inset-y-0 left-0 rounded-r-[calc(var(--ui-radius)*2)]"
1236
+ content: "inset-y-0 left-0 rounded-r-lg"
1137
1237
  }
1138
1238
  }, {
1139
1239
  direction: "right",
@@ -1145,19 +1245,19 @@ const drawer = (options) => ({
1145
1245
  direction: "right",
1146
1246
  inset: false,
1147
1247
  class: {
1148
- content: "inset-y-0 right-0 rounded-l-[calc(var(--ui-radius)*2)]"
1248
+ content: "inset-y-0 right-0 rounded-l-lg"
1149
1249
  }
1150
1250
  }]
1151
1251
  });
1152
1252
 
1153
1253
  const dropdownMenu = (options) => ({
1154
1254
  slots: {
1155
- content: "min-w-32 bg-(--ui-bg) shadow-lg rounded-[calc(var(--ui-radius)*1.5)] ring ring-(--ui-border) divide-y divide-(--ui-border) overflow-y-auto scroll-py-1 data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in]",
1156
- arrow: "fill-(--ui-border)",
1255
+ content: "min-w-32 bg-default shadow-lg rounded-md ring ring-default divide-y divide-default overflow-y-auto scroll-py-1 data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-dropdown-menu-content-transform-origin)",
1256
+ arrow: "fill-default",
1157
1257
  group: "p-1 isolate",
1158
- label: "w-full flex items-center font-semibold text-(--ui-text-highlighted)",
1159
- separator: "-mx-1 my-1 h-px bg-(--ui-border)",
1160
- item: "group relative w-full flex items-center select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-[calc(var(--ui-radius)*1.5)] data-disabled:cursor-not-allowed data-disabled:opacity-75",
1258
+ label: "w-full flex items-center font-semibold text-highlighted",
1259
+ separator: "-mx-1 my-1 h-px bg-border",
1260
+ item: "group relative w-full flex items-center select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75",
1161
1261
  itemLeadingIcon: "shrink-0",
1162
1262
  itemLeadingAvatar: "shrink-0",
1163
1263
  itemLeadingAvatarSize: "",
@@ -1166,7 +1266,7 @@ const dropdownMenu = (options) => ({
1166
1266
  itemTrailingKbds: "hidden lg:inline-flex items-center shrink-0",
1167
1267
  itemTrailingKbdsSize: "",
1168
1268
  itemLabel: "truncate",
1169
- itemLabelExternalIcon: "inline-block size-3 align-top text-(--ui-text-dimmed)"
1269
+ itemLabelExternalIcon: "inline-block size-3 align-top text-dimmed"
1170
1270
  },
1171
1271
  variants: {
1172
1272
  color: {
@@ -1175,12 +1275,12 @@ const dropdownMenu = (options) => ({
1175
1275
  },
1176
1276
  active: {
1177
1277
  true: {
1178
- item: "text-(--ui-text-highlighted) before:bg-(--ui-bg-elevated)",
1179
- itemLeadingIcon: "text-(--ui-text)"
1278
+ item: "text-highlighted before:bg-elevated",
1279
+ itemLeadingIcon: "text-default"
1180
1280
  },
1181
1281
  false: {
1182
- item: ["text-(--ui-text) data-highlighted:text-(--ui-text-highlighted) data-[state=open]:text-(--ui-text-highlighted) data-highlighted:before:bg-(--ui-bg-elevated)/50 data-[state=open]:before:bg-(--ui-bg-elevated)/50", options.theme.transitions && "transition-colors before:transition-colors"],
1183
- itemLeadingIcon: ["text-(--ui-text-dimmed) group-data-highlighted:text-(--ui-text) group-data-[state=open]:text-(--ui-text)", options.theme.transitions && "transition-colors"]
1282
+ item: ["text-default data-highlighted:text-highlighted data-[state=open]:text-highlighted data-highlighted:before:bg-elevated/50 data-[state=open]:before:bg-elevated/50", options.theme.transitions && "transition-colors before:transition-colors"],
1283
+ itemLeadingIcon: ["text-dimmed group-data-highlighted:text-default group-data-[state=open]:text-default", options.theme.transitions && "transition-colors"]
1184
1284
  }
1185
1285
  },
1186
1286
  loading: {
@@ -1240,15 +1340,15 @@ const dropdownMenu = (options) => ({
1240
1340
  color,
1241
1341
  active: false,
1242
1342
  class: {
1243
- item: `text-(--ui-${color}) data-highlighted:text-(--ui-${color}) data-highlighted:before:bg-(--ui-${color})/10 data-[state=open]:before:bg-(--ui-${color})/10`,
1244
- itemLeadingIcon: `text-(--ui-${color})/75 group-data-highlighted:text-(--ui-${color}) group-data-[state=open]:text-(--ui-${color})`
1343
+ item: `text-${color} data-highlighted:text-${color} data-highlighted:before:bg-${color}/10 data-[state=open]:before:bg-${color}/10`,
1344
+ itemLeadingIcon: `text-${color}/75 group-data-highlighted:text-${color} group-data-[state=open]:text-${color}`
1245
1345
  }
1246
1346
  })), ...(options.theme.colors || []).map((color) => ({
1247
1347
  color,
1248
1348
  active: true,
1249
1349
  class: {
1250
- item: `text-(--ui-${color}) before:bg-(--ui-${color})/10`,
1251
- itemLeadingIcon: `text-(--ui-${color})`
1350
+ item: `text-${color} before:bg-${color}/10`,
1351
+ itemLeadingIcon: `text-${color}`
1252
1352
  }
1253
1353
  }))],
1254
1354
  defaultVariants: {
@@ -1265,12 +1365,12 @@ const formField = {
1265
1365
  root: "",
1266
1366
  wrapper: "",
1267
1367
  labelWrapper: "flex content-center items-center justify-between",
1268
- label: "block font-medium text-(--ui-text)",
1368
+ label: "block font-medium text-default",
1269
1369
  container: "mt-1 relative",
1270
- description: "text-(--ui-text-muted)",
1271
- error: "mt-2 text-(--ui-error)",
1272
- hint: "text-(--ui-text-muted)",
1273
- help: "mt-2 text-(--ui-text-muted)"
1370
+ description: "text-muted",
1371
+ error: "mt-2 text-error",
1372
+ hint: "text-muted",
1373
+ help: "mt-2 text-muted"
1274
1374
  },
1275
1375
  variants: {
1276
1376
  size: {
@@ -1282,7 +1382,7 @@ const formField = {
1282
1382
  },
1283
1383
  required: {
1284
1384
  true: {
1285
- label: `after:content-['*'] after:ms-0.5 after:text-(--ui-error)`
1385
+ label: `after:content-['*'] after:ms-0.5 after:text-error`
1286
1386
  }
1287
1387
  }
1288
1388
  },
@@ -1294,13 +1394,13 @@ const formField = {
1294
1394
  const input = (options) => ({
1295
1395
  slots: {
1296
1396
  root: "relative inline-flex items-center",
1297
- base: ["w-full rounded-[calc(var(--ui-radius)*1.5)] border-0 placeholder:text-(--ui-text-dimmed) focus:outline-none disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
1397
+ base: ["w-full rounded-md border-0 placeholder:text-dimmed focus:outline-none disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
1298
1398
  leading: "absolute inset-y-0 start-0 flex items-center",
1299
- leadingIcon: "shrink-0 text-(--ui-text-dimmed)",
1399
+ leadingIcon: "shrink-0 text-dimmed",
1300
1400
  leadingAvatar: "shrink-0",
1301
1401
  leadingAvatarSize: "",
1302
1402
  trailing: "absolute inset-y-0 end-0 flex items-center",
1303
- trailingIcon: "shrink-0 text-(--ui-text-dimmed)"
1403
+ trailingIcon: "shrink-0 text-dimmed"
1304
1404
  },
1305
1405
  variants: {
1306
1406
  ...buttonGroupVariantWithRoot,
@@ -1347,11 +1447,11 @@ const input = (options) => ({
1347
1447
  }
1348
1448
  },
1349
1449
  variant: {
1350
- outline: "text-(--ui-text-highlighted) bg-(--ui-bg) ring ring-inset ring-(--ui-border-accented)",
1351
- soft: "text-(--ui-text-highlighted) bg-(--ui-bg-elevated)/50 hover:bg-(--ui-bg-elevated) focus:bg-(--ui-bg-elevated) disabled:bg-(--ui-bg-elevated)/50",
1352
- subtle: "text-(--ui-text-highlighted) bg-(--ui-bg-elevated) ring ring-inset ring-(--ui-border-accented)",
1353
- ghost: "text-(--ui-text-highlighted) bg-transparent hover:bg-(--ui-bg-elevated) focus:bg-(--ui-bg-elevated) disabled:bg-transparent dark:disabled:bg-transparent",
1354
- none: "text-(--ui-text-highlighted) bg-transparent"
1450
+ outline: "text-highlighted bg-default ring ring-inset ring-accented",
1451
+ soft: "text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50",
1452
+ subtle: "text-highlighted bg-elevated ring ring-inset ring-accented",
1453
+ ghost: "text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",
1454
+ none: "text-highlighted bg-transparent"
1355
1455
  },
1356
1456
  color: {
1357
1457
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, ""])),
@@ -1370,25 +1470,25 @@ const input = (options) => ({
1370
1470
  true: ""
1371
1471
  },
1372
1472
  type: {
1373
- file: "file:me-1.5 file:font-medium file:text-(--ui-text-muted) file:outline-none"
1473
+ file: "file:me-1.5 file:font-medium file:text-muted file:outline-none"
1374
1474
  }
1375
1475
  },
1376
1476
  compoundVariants: [...(options.theme.colors || []).map((color) => ({
1377
1477
  color,
1378
1478
  variant: ["outline", "subtle"],
1379
- class: `focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-(--ui-${color})`
1479
+ class: `focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-${color}`
1380
1480
  })), ...(options.theme.colors || []).map((color) => ({
1381
1481
  color,
1382
1482
  highlight: true,
1383
- class: `ring ring-inset ring-(--ui-${color})`
1483
+ class: `ring ring-inset ring-${color}`
1384
1484
  })), {
1385
1485
  color: "neutral",
1386
1486
  variant: ["outline", "subtle"],
1387
- class: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-(--ui-border-inverted)"
1487
+ class: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted"
1388
1488
  }, {
1389
1489
  color: "neutral",
1390
1490
  highlight: true,
1391
- class: "ring ring-inset ring-(--ui-border-inverted)"
1491
+ class: "ring ring-inset ring-inverted"
1392
1492
  }, {
1393
1493
  leading: true,
1394
1494
  size: "xs",
@@ -1453,17 +1553,17 @@ const input = (options) => ({
1453
1553
  const inputMenu = (options) => {
1454
1554
  return defuFn({
1455
1555
  slots: {
1456
- base: () => ["rounded-[calc(var(--ui-radius)*1.5)]", options.theme.transitions && "transition-colors"],
1556
+ base: () => ["rounded-md", options.theme.transitions && "transition-colors"],
1457
1557
  trailing: "group absolute inset-y-0 end-0 flex items-center disabled:cursor-not-allowed disabled:opacity-75",
1458
- arrow: "fill-(--ui-border)",
1459
- content: "max-h-60 w-(--reka-popper-anchor-width) bg-(--ui-bg) shadow-lg rounded-[calc(var(--ui-radius)*1.5)] ring ring-(--ui-border) overflow-hidden data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] pointer-events-auto",
1460
- viewport: "divide-y divide-(--ui-border) scroll-py-1",
1558
+ arrow: "fill-default",
1559
+ content: "max-h-60 w-(--reka-combobox-trigger-width) bg-default shadow-lg rounded-md ring ring-default overflow-hidden data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-combobox-content-transform-origin) pointer-events-auto",
1560
+ viewport: "divide-y divide-default scroll-py-1",
1461
1561
  group: "p-1 isolate",
1462
- empty: "py-2 text-center text-sm text-(--ui-text-muted)",
1463
- label: "font-semibold text-(--ui-text-highlighted)",
1464
- separator: "-mx-1 my-1 h-px bg-(--ui-border)",
1465
- item: ["group relative w-full flex items-center gap-1.5 p-1.5 text-sm select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-[calc(var(--ui-radius)*1.5)] data-disabled:cursor-not-allowed data-disabled:opacity-75 text-(--ui-text) data-highlighted:text-(--ui-text-highlighted) data-highlighted:before:bg-(--ui-bg-elevated)/50", options.theme.transitions && "transition-colors before:transition-colors"],
1466
- itemLeadingIcon: ["shrink-0 text-(--ui-text-dimmed) group-data-highlighted:text-(--ui-text)", options.theme.transitions && "transition-colors"],
1562
+ empty: "py-2 text-center text-sm text-muted",
1563
+ label: "font-semibold text-highlighted",
1564
+ separator: "-mx-1 my-1 h-px bg-border",
1565
+ item: ["group relative w-full flex items-center gap-1.5 p-1.5 text-sm select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75 text-default data-highlighted:not-data-disabled:text-highlighted data-highlighted:not-data-disabled:before:bg-elevated/50", options.theme.transitions && "transition-colors before:transition-colors"],
1566
+ itemLeadingIcon: ["shrink-0 text-dimmed group-data-highlighted:not-group-data-disabled:text-default", options.theme.transitions && "transition-colors"],
1467
1567
  itemLeadingAvatar: "shrink-0",
1468
1568
  itemLeadingAvatarSize: "",
1469
1569
  itemLeadingChip: "shrink-0",
@@ -1471,9 +1571,9 @@ const inputMenu = (options) => {
1471
1571
  itemTrailing: "ms-auto inline-flex gap-1.5 items-center",
1472
1572
  itemTrailingIcon: "shrink-0",
1473
1573
  itemLabel: "truncate",
1474
- tagsItem: "px-1.5 py-0.5 rounded-(--ui-radius) font-medium inline-flex items-center gap-0.5 ring ring-inset ring-(--ui-border-accented) bg-(--ui-bg-elevated) text-(--ui-text) data-disabled:cursor-not-allowed data-disabled:opacity-75",
1574
+ tagsItem: "px-1.5 py-0.5 rounded-sm font-medium inline-flex items-center gap-0.5 ring ring-inset ring-accented bg-elevated text-default data-disabled:cursor-not-allowed data-disabled:opacity-75",
1475
1575
  tagsItemText: "truncate",
1476
- tagsItemDelete: ["inline-flex items-center rounded-[calc(var(--ui-radius)/2)] text-(--ui-text-dimmed) hover:text-(--ui-text) hover:bg-(--ui-bg-accented)/75 disabled:pointer-events-none", options.theme.transitions && "transition-colors"],
1576
+ tagsItemDelete: ["inline-flex items-center rounded-xs text-dimmed hover:text-default hover:bg-accented/75 disabled:pointer-events-none", options.theme.transitions && "transition-colors"],
1477
1577
  tagsItemDeleteIcon: "",
1478
1578
  tagsInput: ""
1479
1579
  },
@@ -1481,10 +1581,10 @@ const inputMenu = (options) => {
1481
1581
  multiple: {
1482
1582
  true: {
1483
1583
  root: "flex-wrap",
1484
- tagsInput: "border-0 bg-transparent placeholder:text-(--ui-text-dimmed) focus:outline-none disabled:cursor-not-allowed disabled:opacity-75"
1584
+ tagsInput: "border-0 bg-transparent placeholder:text-dimmed focus:outline-none disabled:cursor-not-allowed disabled:opacity-75"
1485
1585
  },
1486
1586
  false: {
1487
- base: "w-full border-0 placeholder:text-(--ui-text-dimmed) focus:outline-none disabled:cursor-not-allowed disabled:opacity-75"
1587
+ base: "w-full border-0 placeholder:text-dimmed focus:outline-none disabled:cursor-not-allowed disabled:opacity-75"
1488
1588
  }
1489
1589
  },
1490
1590
  size: {
@@ -1549,12 +1649,12 @@ const inputMenu = (options) => {
1549
1649
  color,
1550
1650
  multiple: true,
1551
1651
  variant: ["outline", "subtle"],
1552
- class: `has-focus-visible:ring-2 has-focus-visible:ring-(--ui-${color})`
1652
+ class: `has-focus-visible:ring-2 has-focus-visible:ring-${color}`
1553
1653
  })), {
1554
1654
  color: "neutral",
1555
1655
  multiple: true,
1556
1656
  variant: ["outline", "subtle"],
1557
- class: "has-focus-visible:ring-2 has-focus-visible:ring-(--ui-border-inverted)"
1657
+ class: "has-focus-visible:ring-2 has-focus-visible:ring-inverted"
1558
1658
  }]
1559
1659
  }, input(options));
1560
1660
  };
@@ -1564,7 +1664,7 @@ const inputNumber = (options) => {
1564
1664
  return {
1565
1665
  slots: {
1566
1666
  root: "relative inline-flex items-center",
1567
- base: ["w-full rounded-[calc(var(--ui-radius)*1.5)] border-0 placeholder:text-(--ui-text-dimmed) focus:outline-none disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
1667
+ base: ["w-full rounded-md border-0 placeholder:text-dimmed focus:outline-none disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
1568
1668
  increment: "absolute flex items-center",
1569
1669
  decrement: "absolute flex items-center"
1570
1670
  },
@@ -1607,19 +1707,19 @@ const inputNumber = (options) => {
1607
1707
  compoundVariants: [...(options.theme.colors || []).map((color) => ({
1608
1708
  color,
1609
1709
  variant: ["outline", "subtle"],
1610
- class: `focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-(--ui-${color})`
1710
+ class: `focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-${color}`
1611
1711
  })), ...(options.theme.colors || []).map((color) => ({
1612
1712
  color,
1613
1713
  highlight: true,
1614
- class: `ring ring-inset ring-(--ui-${color})`
1714
+ class: `ring ring-inset ring-${color}`
1615
1715
  })), {
1616
1716
  color: "neutral",
1617
1717
  variant: ["outline", "subtle"],
1618
- class: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-(--ui-border-inverted)"
1718
+ class: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted"
1619
1719
  }, {
1620
1720
  color: "neutral",
1621
1721
  highlight: true,
1622
- class: "ring ring-inset ring-(--ui-border-inverted)"
1722
+ class: "ring ring-inset ring-inverted"
1623
1723
  }, {
1624
1724
  orientation: "horizontal",
1625
1725
  size: "xs",
@@ -1670,12 +1770,12 @@ const inputNumber = (options) => {
1670
1770
  };
1671
1771
 
1672
1772
  const kbd = {
1673
- base: "inline-flex items-center justify-center px-1 rounded-(--ui-radius) font-medium font-sans",
1773
+ base: "inline-flex items-center justify-center px-1 rounded-sm font-medium font-sans",
1674
1774
  variants: {
1675
1775
  variant: {
1676
- solid: "bg-(--ui-bg-inverted) text-(--ui-bg)",
1677
- outline: "bg-(--ui-bg) text-(--ui-text-highlighted) ring ring-inset ring-(--ui-border-accented)",
1678
- subtle: "bg-(--ui-bg-elevated) text-(--ui-text) ring ring-inset ring-(--ui-border-accented)"
1776
+ solid: "bg-inverted text-inverted",
1777
+ outline: "bg-default text-highlighted ring ring-inset ring-accented",
1778
+ subtle: "bg-elevated text-default ring ring-inset ring-accented"
1679
1779
  },
1680
1780
  size: {
1681
1781
  sm: "h-4 min-w-[16px] text-[10px]",
@@ -1690,11 +1790,11 @@ const kbd = {
1690
1790
  };
1691
1791
 
1692
1792
  const link = (options) => ({
1693
- base: "focus-visible:outline-(--ui-primary)",
1793
+ base: "focus-visible:outline-primary",
1694
1794
  variants: {
1695
1795
  active: {
1696
- true: "text-(--ui-primary)",
1697
- false: ["text-(--ui-text-muted) hover:text-(--ui-text)", options.theme.transitions && "transition-colors"]
1796
+ true: "text-primary",
1797
+ false: ["text-muted hover:text-default", options.theme.transitions && "transition-colors"]
1698
1798
  },
1699
1799
  disabled: {
1700
1800
  true: "cursor-not-allowed opacity-75"
@@ -1704,14 +1804,14 @@ const link = (options) => ({
1704
1804
 
1705
1805
  const modal = {
1706
1806
  slots: {
1707
- overlay: "fixed inset-0 bg-(--ui-bg-elevated)/75",
1708
- content: "fixed bg-(--ui-bg) divide-y divide-(--ui-border) flex flex-col focus:outline-none",
1807
+ overlay: "fixed inset-0 bg-elevated/75",
1808
+ content: "fixed bg-default divide-y divide-default flex flex-col focus:outline-none",
1709
1809
  header: "flex items-center gap-1.5 p-4 sm:px-6 min-h-16",
1710
1810
  wrapper: "",
1711
1811
  body: "flex-1 overflow-y-auto p-4 sm:p-6",
1712
1812
  footer: "flex items-center gap-1.5 p-4 sm:px-6",
1713
- title: "text-(--ui-text-highlighted) font-semibold",
1714
- description: "mt-1 text-(--ui-text-muted) text-sm",
1813
+ title: "text-highlighted font-semibold",
1814
+ description: "mt-1 text-muted text-sm",
1715
1815
  close: "absolute top-4 end-4"
1716
1816
  },
1717
1817
  variants: {
@@ -1726,7 +1826,7 @@ const modal = {
1726
1826
  content: "inset-0"
1727
1827
  },
1728
1828
  false: {
1729
- content: "top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[calc(100vw-2rem)] max-w-lg max-h-[calc(100dvh-2rem)] sm:max-h-[calc(100dvh-4rem)] rounded-[calc(var(--ui-radius)*2)] shadow-lg ring ring-(--ui-border)"
1829
+ content: "top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[calc(100vw-2rem)] max-w-lg max-h-[calc(100dvh-2rem)] sm:max-h-[calc(100dvh-4rem)] rounded-lg shadow-lg ring ring-default"
1730
1830
  }
1731
1831
  }
1732
1832
  }
@@ -1736,9 +1836,9 @@ const navigationMenu = (options) => ({
1736
1836
  slots: {
1737
1837
  root: "relative flex gap-1.5 [&>div]:min-w-0",
1738
1838
  list: "isolate min-w-0",
1739
- label: "w-full flex items-center gap-1.5 font-semibold text-xs/5 text-(--ui-text-highlighted) px-2.5 py-1.5",
1839
+ label: "w-full flex items-center gap-1.5 font-semibold text-xs/5 text-highlighted px-2.5 py-1.5",
1740
1840
  item: "min-w-0",
1741
- link: "group relative w-full flex items-center gap-1.5 font-medium text-sm before:absolute before:z-[-1] before:rounded-[calc(var(--ui-radius)*1.5)] focus:outline-none focus-visible:outline-none dark:focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2",
1841
+ link: "group relative w-full flex items-center gap-1.5 font-medium text-sm before:absolute before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none dark:focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2",
1742
1842
  linkLeadingIcon: "shrink-0 size-5",
1743
1843
  linkLeadingAvatar: "shrink-0",
1744
1844
  linkLeadingAvatarSize: "2xs",
@@ -1747,31 +1847,31 @@ const navigationMenu = (options) => ({
1747
1847
  linkTrailingBadgeSize: "sm",
1748
1848
  linkTrailingIcon: "size-5 transform shrink-0 group-data-[state=open]:rotate-180 transition-transform duration-200",
1749
1849
  linkLabel: "truncate",
1750
- linkLabelExternalIcon: "inline-block size-3 align-top text-(--ui-text-dimmed)",
1850
+ linkLabelExternalIcon: "inline-block size-3 align-top text-dimmed",
1751
1851
  childList: "",
1752
1852
  childItem: "",
1753
- childLink: "group size-full px-3 py-2 rounded-[calc(var(--ui-radius)*1.5)] flex items-start gap-2 text-start",
1853
+ childLink: "group size-full px-3 py-2 rounded-md flex items-start gap-2 text-start",
1754
1854
  childLinkWrapper: "flex flex-col items-start",
1755
1855
  childLinkIcon: "size-5 shrink-0",
1756
1856
  childLinkLabel: "font-semibold text-sm relative inline-flex",
1757
- childLinkLabelExternalIcon: "inline-block size-3 align-top text-(--ui-text-dimmed)",
1758
- childLinkDescription: "text-sm text-(--ui-text-muted)",
1759
- separator: "px-2 h-px bg-(--ui-border)",
1857
+ childLinkLabelExternalIcon: "inline-block size-3 align-top text-dimmed",
1858
+ childLinkDescription: "text-sm text-muted",
1859
+ separator: "px-2 h-px bg-border",
1760
1860
  viewportWrapper: "absolute top-full left-0 flex w-full",
1761
- viewport: "relative overflow-hidden bg-(--ui-bg) shadow-lg rounded-[calc(var(--ui-radius)*1.5)] ring ring-(--ui-border) h-(--reka-navigation-menu-viewport-height) w-full transition-[width,height,left] duration-200 origin-[top_center] data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] z-[1]",
1861
+ viewport: "relative overflow-hidden bg-default shadow-lg rounded-md ring ring-default h-(--reka-navigation-menu-viewport-height) w-full transition-[width,height,left] duration-200 origin-[top_center] data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] z-[1]",
1762
1862
  content: "absolute top-0 left-0 w-full",
1763
1863
  indicator: "absolute data-[state=visible]:animate-[fade-in_100ms_ease-out] data-[state=hidden]:animate-[fade-out_100ms_ease-in] data-[state=hidden]:opacity-0 bottom-0 z-[2] w-(--reka-navigation-menu-indicator-size) translate-x-(--reka-navigation-menu-indicator-position) flex h-2.5 items-end justify-center overflow-hidden transition-[translate,width] duration-200",
1764
- arrow: "relative top-[50%] size-2.5 rotate-45 border border-(--ui-border) bg-(--ui-bg) z-[1] rounded-[calc(var(--ui-radius)/2)]"
1864
+ arrow: "relative top-[50%] size-2.5 rotate-45 border border-default bg-default z-[1] rounded-xs"
1765
1865
  },
1766
1866
  variants: {
1767
1867
  color: {
1768
1868
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
1769
- link: `focus-visible:before:ring-(--ui-${color})`,
1770
- childLink: `focus-visible:outline-(--ui-${color})`
1869
+ link: `focus-visible:before:ring-${color}`,
1870
+ childLink: `focus-visible:outline-${color}`
1771
1871
  }])),
1772
1872
  neutral: {
1773
- link: "focus-visible:before:ring-(--ui-border-inverted)",
1774
- childLink: "focus-visible:outline-(--ui-border-inverted)"
1873
+ link: "focus-visible:before:ring-inverted",
1874
+ childLink: "focus-visible:outline-inverted"
1775
1875
  }
1776
1876
  },
1777
1877
  highlightColor: {
@@ -1797,25 +1897,23 @@ const navigationMenu = (options) => ({
1797
1897
  },
1798
1898
  contentOrientation: {
1799
1899
  horizontal: {
1800
- viewport: "",
1801
1900
  viewportWrapper: "justify-center",
1802
1901
  content: "data-[motion=from-start]:animate-[enter-from-left_200ms_ease] data-[motion=from-end]:animate-[enter-from-right_200ms_ease] data-[motion=to-start]:animate-[exit-to-left_200ms_ease] data-[motion=to-end]:animate-[exit-to-right_200ms_ease]"
1803
1902
  },
1804
1903
  vertical: {
1805
- viewport: "sm:w-(--reka-navigation-menu-viewport-width) left-(--reka-navigation-menu-viewport-left)",
1806
- content: ""
1904
+ viewport: "sm:w-(--reka-navigation-menu-viewport-width) left-(--reka-navigation-menu-viewport-left)"
1807
1905
  }
1808
1906
  },
1809
1907
  active: {
1810
1908
  true: {
1811
- childLink: "bg-(--ui-bg-elevated) text-(--ui-text-highlighted)",
1812
- childLinkIcon: "text-(--ui-text)"
1909
+ childLink: "bg-elevated text-highlighted",
1910
+ childLinkIcon: "text-default"
1813
1911
  },
1814
1912
  false: {
1815
- link: "text-(--ui-text-muted)",
1816
- linkLeadingIcon: "text-(--ui-text-dimmed)",
1817
- childLink: ["hover:bg-(--ui-bg-elevated)/50 text-(--ui-text) hover:text-(--ui-text-highlighted)", options.theme.transitions && "transition-colors"],
1818
- childLinkIcon: ["text-(--ui-text-dimmed) group-hover:text-(--ui-text)", options.theme.transitions && "transition-colors"]
1913
+ link: "text-muted",
1914
+ linkLeadingIcon: "text-dimmed",
1915
+ childLink: ["hover:bg-elevated/50 text-default hover:text-highlighted", options.theme.transitions && "transition-colors"],
1916
+ childLinkIcon: ["text-dimmed group-hover:text-default", options.theme.transitions && "transition-colors"]
1819
1917
  }
1820
1918
  },
1821
1919
  disabled: {
@@ -1864,8 +1962,8 @@ const navigationMenu = (options) => ({
1864
1962
  active: false,
1865
1963
  variant: "pill",
1866
1964
  class: {
1867
- link: ["hover:text-(--ui-text-highlighted) hover:before:bg-(--ui-bg-elevated)/50", options.theme.transitions && "transition-colors before:transition-colors"],
1868
- linkLeadingIcon: ["group-hover:text-(--ui-text)", options.theme.transitions && "transition-colors"]
1965
+ link: ["hover:text-highlighted hover:before:bg-elevated/50", options.theme.transitions && "transition-colors before:transition-colors"],
1966
+ linkLeadingIcon: ["group-hover:text-default", options.theme.transitions && "transition-colors"]
1869
1967
  }
1870
1968
  }, {
1871
1969
  disabled: false,
@@ -1873,8 +1971,8 @@ const navigationMenu = (options) => ({
1873
1971
  variant: "pill",
1874
1972
  orientation: "horizontal",
1875
1973
  class: {
1876
- link: "data-[state=open]:text-(--ui-text-highlighted)",
1877
- linkLeadingIcon: "group-data-[state=open]:text-(--ui-text)"
1974
+ link: "data-[state=open]:text-highlighted",
1975
+ linkLeadingIcon: "group-data-[state=open]:text-default"
1878
1976
  }
1879
1977
  }, {
1880
1978
  disabled: false,
@@ -1882,7 +1980,7 @@ const navigationMenu = (options) => ({
1882
1980
  highlight: true,
1883
1981
  orientation: "horizontal",
1884
1982
  class: {
1885
- link: "data-[state=open]:before:bg-(--ui-bg-elevated)/50"
1983
+ link: "data-[state=open]:before:bg-elevated/50"
1886
1984
  }
1887
1985
  }, {
1888
1986
  disabled: false,
@@ -1891,45 +1989,45 @@ const navigationMenu = (options) => ({
1891
1989
  active: false,
1892
1990
  orientation: "horizontal",
1893
1991
  class: {
1894
- link: "data-[state=open]:before:bg-(--ui-bg-elevated)/50"
1992
+ link: "data-[state=open]:before:bg-elevated/50"
1895
1993
  }
1896
1994
  }, ...(options.theme.colors || []).map((color) => ({
1897
1995
  color,
1898
1996
  variant: "pill",
1899
1997
  active: true,
1900
1998
  class: {
1901
- link: `text-(--ui-${color})`,
1902
- linkLeadingIcon: `text-(--ui-${color}) group-data-[state=open]:text-(--ui-${color})`
1999
+ link: `text-${color}`,
2000
+ linkLeadingIcon: `text-${color} group-data-[state=open]:text-${color}`
1903
2001
  }
1904
2002
  })), {
1905
2003
  color: "neutral",
1906
2004
  variant: "pill",
1907
2005
  active: true,
1908
2006
  class: {
1909
- link: "text-(--ui-text-highlighted)",
1910
- linkLeadingIcon: "text-(--ui-text-highlighted) group-data-[state=open]:text-(--ui-text-highlighted)"
2007
+ link: "text-highlighted",
2008
+ linkLeadingIcon: "text-highlighted group-data-[state=open]:text-highlighted"
1911
2009
  }
1912
2010
  }, {
1913
2011
  variant: "pill",
1914
2012
  active: true,
1915
2013
  highlight: false,
1916
2014
  class: {
1917
- link: "before:bg-(--ui-bg-elevated)"
2015
+ link: "before:bg-elevated"
1918
2016
  }
1919
2017
  }, {
1920
2018
  variant: "pill",
1921
2019
  active: true,
1922
2020
  highlight: true,
1923
2021
  class: {
1924
- link: ["hover:before:bg-(--ui-bg-elevated)/50", options.theme.transitions && "before:transition-colors"]
2022
+ link: ["hover:before:bg-elevated/50", options.theme.transitions && "before:transition-colors"]
1925
2023
  }
1926
2024
  }, {
1927
2025
  disabled: false,
1928
2026
  active: false,
1929
2027
  variant: "link",
1930
2028
  class: {
1931
- link: ["hover:text-(--ui-text-highlighted)", options.theme.transitions && "transition-colors"],
1932
- linkLeadingIcon: ["group-hover:text-(--ui-text)", options.theme.transitions && "transition-colors"]
2029
+ link: ["hover:text-highlighted", options.theme.transitions && "transition-colors"],
2030
+ linkLeadingIcon: ["group-hover:text-default", options.theme.transitions && "transition-colors"]
1933
2031
  }
1934
2032
  }, {
1935
2033
  disabled: false,
@@ -1937,24 +2035,24 @@ const navigationMenu = (options) => ({
1937
2035
  variant: "link",
1938
2036
  orientation: "horizontal",
1939
2037
  class: {
1940
- link: "data-[state=open]:text-(--ui-text-highlighted)",
1941
- linkLeadingIcon: "group-data-[state=open]:text-(--ui-text)"
2038
+ link: "data-[state=open]:text-highlighted",
2039
+ linkLeadingIcon: "group-data-[state=open]:text-default"
1942
2040
  }
1943
2041
  }, ...(options.theme.colors || []).map((color) => ({
1944
2042
  color,
1945
2043
  variant: "link",
1946
2044
  active: true,
1947
2045
  class: {
1948
- link: `text-(--ui-${color})`,
1949
- linkLeadingIcon: `text-(--ui-${color}) group-data-[state=open]:text-(--ui-${color})`
2046
+ link: `text-${color}`,
2047
+ linkLeadingIcon: `text-${color} group-data-[state=open]:text-${color}`
1950
2048
  }
1951
2049
  })), {
1952
2050
  color: "neutral",
1953
2051
  variant: "link",
1954
2052
  active: true,
1955
2053
  class: {
1956
- link: "text-(--ui-text-highlighted)",
1957
- linkLeadingIcon: "text-(--ui-text-highlighted) group-data-[state=open]:text-(--ui-text-highlighted)"
2054
+ link: "text-highlighted",
2055
+ linkLeadingIcon: "text-highlighted group-data-[state=open]:text-highlighted"
1958
2056
  }
1959
2057
  }, ...(options.theme.colors || []).map((highlightColor) => ({
1960
2058
  highlightColor,
@@ -1962,7 +2060,7 @@ const navigationMenu = (options) => ({
1962
2060
  level: true,
1963
2061
  active: true,
1964
2062
  class: {
1965
- link: `after:bg-(--ui-${highlightColor})`
2063
+ link: `after:bg-${highlightColor}`
1966
2064
  }
1967
2065
  })), {
1968
2066
  highlightColor: "neutral",
@@ -1970,13 +2068,13 @@ const navigationMenu = (options) => ({
1970
2068
  level: true,
1971
2069
  active: true,
1972
2070
  class: {
1973
- link: "after:bg-(--ui-bg-inverted)"
2071
+ link: "after:bg-inverted"
1974
2072
  }
1975
2073
  }, {
1976
2074
  orientation: "vertical",
1977
2075
  collapsed: false,
1978
2076
  class: {
1979
- childList: "ms-5 border-s border-(--ui-border)",
2077
+ childList: "ms-5 border-s border-default",
1980
2078
  childItem: "ps-1.5 -ms-px"
1981
2079
  }
1982
2080
  }, {
@@ -2010,7 +2108,7 @@ const pagination = {
2010
2108
  const pinInput = (options) => ({
2011
2109
  slots: {
2012
2110
  root: "relative inline-flex items-center gap-1.5",
2013
- base: ["rounded-[calc(var(--ui-radius)*1.5)] border-0 placeholder:text-(--ui-text-dimmed) text-center focus:outline-none disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"]
2111
+ base: ["rounded-md border-0 placeholder:text-dimmed text-center focus:outline-none disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"]
2014
2112
  },
2015
2113
  variants: {
2016
2114
  size: {
@@ -2031,11 +2129,11 @@ const pinInput = (options) => ({
2031
2129
  }
2032
2130
  },
2033
2131
  variant: {
2034
- outline: "text-(--ui-text-highlighted) bg-(--ui-bg) ring ring-inset ring-(--ui-border-accented)",
2035
- soft: "text-(--ui-text-highlighted) bg-(--ui-bg-elevated)/50 hover:bg-(--ui-bg-elevated) focus:bg-(--ui-bg-elevated) disabled:bg-(--ui-bg-elevated)/50",
2036
- subtle: "text-(--ui-text-highlighted) bg-(--ui-bg-elevated) ring ring-inset ring-(--ui-border-accented)",
2037
- ghost: "text-(--ui-text-highlighted) bg-transparent hover:bg-(--ui-bg-elevated) focus:bg-(--ui-bg-elevated) disabled:bg-transparent dark:disabled:bg-transparent",
2038
- none: "text-(--ui-text-highlighted) bg-transparent"
2132
+ outline: "text-highlighted bg-default ring ring-inset ring-accented",
2133
+ soft: "text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50",
2134
+ subtle: "text-highlighted bg-elevated ring ring-inset ring-accented",
2135
+ ghost: "text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",
2136
+ none: "text-highlighted bg-transparent"
2039
2137
  },
2040
2138
  color: {
2041
2139
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, ""])),
@@ -2048,19 +2146,19 @@ const pinInput = (options) => ({
2048
2146
  compoundVariants: [...(options.theme.colors || []).map((color) => ({
2049
2147
  color,
2050
2148
  variant: ["outline", "subtle"],
2051
- class: `focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-(--ui-${color})`
2149
+ class: `focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-${color}`
2052
2150
  })), ...(options.theme.colors || []).map((color) => ({
2053
2151
  color,
2054
2152
  highlight: true,
2055
- class: `ring ring-inset ring-(--ui-${color})`
2153
+ class: `ring ring-inset ring-${color}`
2056
2154
  })), {
2057
2155
  color: "neutral",
2058
2156
  variant: ["outline", "subtle"],
2059
- class: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-(--ui-border-inverted)"
2157
+ class: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted"
2060
2158
  }, {
2061
2159
  color: "neutral",
2062
2160
  highlight: true,
2063
- class: "ring ring-inset ring-(--ui-border-inverted)"
2161
+ class: "ring ring-inset ring-inverted"
2064
2162
  }],
2065
2163
  defaultVariants: {
2066
2164
  size: "md",
@@ -2071,17 +2169,17 @@ const pinInput = (options) => ({
2071
2169
 
2072
2170
  const popover = {
2073
2171
  slots: {
2074
- content: "bg-(--ui-bg) shadow-lg rounded-[calc(var(--ui-radius)*1.5)] ring ring-(--ui-border) data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] focus:outline-none pointer-events-auto",
2075
- arrow: "fill-(--ui-border)"
2172
+ content: "bg-default shadow-lg rounded-md ring ring-default data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-popover-content-transform-origin) focus:outline-none pointer-events-auto",
2173
+ arrow: "fill-default"
2076
2174
  }
2077
2175
  };
2078
2176
 
2079
2177
  const progress = (options) => ({
2080
2178
  slots: {
2081
2179
  root: "gap-2",
2082
- base: "relative overflow-hidden rounded-full bg-(--ui-bg-accented)",
2180
+ base: "relative overflow-hidden rounded-full bg-accented",
2083
2181
  indicator: "rounded-full size-full transition-transform duration-200 ease-out",
2084
- status: "flex justify-end text-(--ui-text-dimmed) transition-[width] duration-200",
2182
+ status: "flex justify-end text-dimmed transition-[width] duration-200",
2085
2183
  steps: "grid items-end",
2086
2184
  step: "truncate text-end row-start-1 col-start-1 transition-opacity"
2087
2185
  },
@@ -2094,12 +2192,12 @@ const progress = (options) => ({
2094
2192
  },
2095
2193
  color: {
2096
2194
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
2097
- indicator: `bg-(--ui-${color})`,
2098
- steps: `text-(--ui-${color})`
2195
+ indicator: `bg-${color}`,
2196
+ steps: `text-${color}`
2099
2197
  }])),
2100
2198
  neutral: {
2101
- indicator: "bg-(--ui-bg-inverted)",
2102
- steps: "text-(--ui-bg)"
2199
+ indicator: "bg-inverted",
2200
+ steps: "text-inverted"
2103
2201
  }
2104
2202
  },
2105
2203
  size: {
@@ -2137,7 +2235,7 @@ const progress = (options) => ({
2137
2235
  step: "opacity-100"
2138
2236
  },
2139
2237
  first: {
2140
- step: "opacity-100 text-(--ui-text-muted)"
2238
+ step: "opacity-100 text-muted"
2141
2239
  },
2142
2240
  other: {
2143
2241
  step: "opacity-0"
@@ -2293,39 +2391,63 @@ const progress = (options) => ({
2293
2391
  const radioGroup = (options) => ({
2294
2392
  slots: {
2295
2393
  root: "relative",
2296
- fieldset: "flex",
2297
- legend: "mb-1 block font-medium text-(--ui-text)",
2394
+ fieldset: "flex gap-x-2",
2395
+ legend: "mb-1 block font-medium text-default",
2298
2396
  item: "flex items-start",
2299
- base: "rounded-full ring ring-inset ring-(--ui-border-accented) focus-visible:outline-2 focus-visible:outline-offset-2",
2300
- indicator: "flex items-center justify-center size-full rounded-full after:bg-(--ui-bg) after:rounded-full",
2301
2397
  container: "flex items-center",
2302
- wrapper: "ms-2",
2303
- label: "block font-medium text-(--ui-text)",
2304
- description: "text-(--ui-text-muted)"
2398
+ base: "rounded-full ring ring-inset ring-accented overflow-hidden focus-visible:outline-2 focus-visible:outline-offset-2",
2399
+ indicator: "flex items-center justify-center size-full after:bg-default after:rounded-full",
2400
+ wrapper: "w-full",
2401
+ label: "block font-medium text-default",
2402
+ description: "text-muted"
2305
2403
  },
2306
2404
  variants: {
2307
2405
  color: {
2308
2406
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
2309
- base: `focus-visible:outline-(--ui-${color})`,
2310
- indicator: `bg-(--ui-${color})`
2407
+ base: `focus-visible:outline-${color}`,
2408
+ indicator: `bg-${color}`
2311
2409
  }])),
2312
2410
  neutral: {
2313
- base: "focus-visible:outline-(--ui-border-inverted)",
2314
- indicator: "bg-(--ui-bg-inverted)"
2411
+ base: "focus-visible:outline-inverted",
2412
+ indicator: "bg-inverted"
2413
+ }
2414
+ },
2415
+ variant: {
2416
+ list: {
2417
+ item: ""
2418
+ },
2419
+ card: {
2420
+ item: "border border-muted rounded-lg"
2421
+ },
2422
+ table: {
2423
+ item: "border border-muted"
2315
2424
  }
2316
2425
  },
2317
2426
  orientation: {
2318
2427
  horizontal: {
2319
- fieldset: "flex-row",
2320
- wrapper: "me-2"
2428
+ fieldset: "flex-row"
2321
2429
  },
2322
2430
  vertical: {
2323
2431
  fieldset: "flex-col"
2324
2432
  }
2325
2433
  },
2434
+ indicator: {
2435
+ start: {
2436
+ item: "flex-row",
2437
+ wrapper: "ms-2"
2438
+ },
2439
+ end: {
2440
+ item: "flex-row-reverse",
2441
+ wrapper: "me-2"
2442
+ },
2443
+ hidden: {
2444
+ base: "sr-only",
2445
+ wrapper: "text-center"
2446
+ }
2447
+ },
2326
2448
  size: {
2327
2449
  xs: {
2328
- fieldset: "gap-0.5",
2450
+ fieldset: "gap-y-0.5",
2329
2451
  legend: "text-xs",
2330
2452
  base: "size-3",
2331
2453
  item: "text-xs",
@@ -2333,7 +2455,7 @@ const radioGroup = (options) => ({
2333
2455
  indicator: "after:size-1"
2334
2456
  },
2335
2457
  sm: {
2336
- fieldset: "gap-0.5",
2458
+ fieldset: "gap-y-0.5",
2337
2459
  legend: "text-xs",
2338
2460
  base: "size-3.5",
2339
2461
  item: "text-xs",
@@ -2341,7 +2463,7 @@ const radioGroup = (options) => ({
2341
2463
  indicator: "after:size-1"
2342
2464
  },
2343
2465
  md: {
2344
- fieldset: "gap-1",
2466
+ fieldset: "gap-y-1",
2345
2467
  legend: "text-sm",
2346
2468
  base: "size-4",
2347
2469
  item: "text-sm",
@@ -2349,7 +2471,7 @@ const radioGroup = (options) => ({
2349
2471
  indicator: "after:size-1.5"
2350
2472
  },
2351
2473
  lg: {
2352
- fieldset: "gap-1",
2474
+ fieldset: "gap-y-1",
2353
2475
  legend: "text-sm",
2354
2476
  base: "size-4.5",
2355
2477
  item: "text-sm",
@@ -2357,7 +2479,7 @@ const radioGroup = (options) => ({
2357
2479
  indicator: "after:size-1.5"
2358
2480
  },
2359
2481
  xl: {
2360
- fieldset: "gap-1.5",
2482
+ fieldset: "gap-y-1.5",
2361
2483
  legend: "text-base",
2362
2484
  base: "size-5",
2363
2485
  item: "text-base",
@@ -2373,13 +2495,74 @@ const radioGroup = (options) => ({
2373
2495
  },
2374
2496
  required: {
2375
2497
  true: {
2376
- legend: "after:content-['*'] after:ms-0.5 after:text-(--ui-error)"
2498
+ legend: "after:content-['*'] after:ms-0.5 after:text-error"
2377
2499
  }
2378
2500
  }
2379
2501
  },
2502
+ compoundVariants: [
2503
+ { size: "xs", variant: ["card", "table"], class: { item: "p-2.5" } },
2504
+ { size: "sm", variant: ["card", "table"], class: { item: "p-3" } },
2505
+ { size: "md", variant: ["card", "table"], class: { item: "p-3.5" } },
2506
+ { size: "lg", variant: ["card", "table"], class: { item: "p-4" } },
2507
+ { size: "xl", variant: ["card", "table"], class: { item: "p-4.5" } },
2508
+ {
2509
+ orientation: "horizontal",
2510
+ variant: "table",
2511
+ class: {
2512
+ item: "first-of-type:rounded-l-lg last-of-type:rounded-r-lg",
2513
+ fieldset: "gap-0 -space-x-px"
2514
+ }
2515
+ },
2516
+ {
2517
+ orientation: "vertical",
2518
+ variant: "table",
2519
+ class: {
2520
+ item: "first-of-type:rounded-t-lg last-of-type:rounded-b-lg",
2521
+ fieldset: "gap-0 -space-y-px"
2522
+ }
2523
+ },
2524
+ ...(options.theme.colors || []).map((color) => ({
2525
+ color,
2526
+ variant: "card",
2527
+ class: {
2528
+ item: `has-data-[state=checked]:border-${color}`
2529
+ }
2530
+ })),
2531
+ {
2532
+ color: "neutral",
2533
+ variant: "card",
2534
+ class: {
2535
+ item: "has-data-[state=checked]:border-inverted"
2536
+ }
2537
+ },
2538
+ ...(options.theme.colors || []).map((color) => ({
2539
+ color,
2540
+ variant: "table",
2541
+ class: {
2542
+ item: `has-data-[state=checked]:bg-${color}/10 has-data-[state=checked]:border-${color}/50 has-data-[state=checked]:z-[1]`
2543
+ }
2544
+ })),
2545
+ {
2546
+ color: "neutral",
2547
+ variant: "table",
2548
+ class: {
2549
+ item: "has-data-[state=checked]:bg-elevated has-data-[state=checked]:border-inverted/50 has-data-[state=checked]:z-[1]"
2550
+ }
2551
+ },
2552
+ {
2553
+ variant: ["card", "table"],
2554
+ disabled: true,
2555
+ class: {
2556
+ item: "cursor-not-allowed opacity-75"
2557
+ }
2558
+ }
2559
+ ],
2380
2560
  defaultVariants: {
2381
2561
  size: "md",
2382
- color: "primary"
2562
+ color: "primary",
2563
+ variant: "list",
2564
+ orientation: "vertical",
2565
+ indicator: "start"
2383
2566
  }
2384
2567
  });
2385
2568
 
@@ -2387,18 +2570,18 @@ const select = (options) => {
2387
2570
  return defuFn({
2388
2571
  slots: {
2389
2572
  root: () => void 0,
2390
- base: () => ["relative group rounded-[calc(var(--ui-radius)*1.5)] inline-flex items-center focus:outline-none disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
2573
+ base: () => ["relative group rounded-md inline-flex items-center focus:outline-none disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
2391
2574
  value: "truncate pointer-events-none",
2392
- placeholder: "truncate text-(--ui-text-dimmed)",
2393
- arrow: "fill-(--ui-border)",
2394
- content: "max-h-60 w-(--reka-popper-anchor-width) bg-(--ui-bg) shadow-lg rounded-[calc(var(--ui-radius)*1.5)] ring ring-(--ui-border) overflow-hidden data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] pointer-events-auto",
2395
- viewport: "divide-y divide-(--ui-border) scroll-py-1",
2575
+ placeholder: "truncate text-dimmed",
2576
+ arrow: "fill-default",
2577
+ content: "max-h-60 w-(--reka-select-trigger-width) bg-default shadow-lg rounded-md ring ring-default overflow-hidden data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-select-content-transform-origin) pointer-events-auto",
2578
+ viewport: "divide-y divide-default scroll-py-1",
2396
2579
  group: "p-1 isolate",
2397
- empty: "py-2 text-center text-sm text-(--ui-text-muted)",
2398
- label: "font-semibold text-(--ui-text-highlighted)",
2399
- separator: "-mx-1 my-1 h-px bg-(--ui-border)",
2400
- item: ["group relative w-full flex items-center select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-[calc(var(--ui-radius)*1.5)] data-disabled:cursor-not-allowed data-disabled:opacity-75 text-(--ui-text) data-highlighted:text-(--ui-text-highlighted) data-highlighted:before:bg-(--ui-bg-elevated)/50", options.theme.transitions && "transition-colors before:transition-colors"],
2401
- itemLeadingIcon: ["shrink-0 text-(--ui-text-dimmed) group-data-highlighted:text-(--ui-text)", options.theme.transitions && "transition-colors"],
2580
+ empty: "py-2 text-center text-sm text-muted",
2581
+ label: "font-semibold text-highlighted",
2582
+ separator: "-mx-1 my-1 h-px bg-border",
2583
+ item: ["group relative w-full flex items-center select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75 text-default data-highlighted:not-data-disabled:text-highlighted data-highlighted:not-data-disabled:before:bg-elevated/50", options.theme.transitions && "transition-colors before:transition-colors"],
2584
+ itemLeadingIcon: ["shrink-0 text-dimmed group-data-highlighted:not-group-data-disabled:text-default", options.theme.transitions && "transition-colors"],
2402
2585
  itemLeadingAvatar: "shrink-0",
2403
2586
  itemLeadingAvatarSize: "",
2404
2587
  itemLeadingChip: "shrink-0",
@@ -2461,10 +2644,11 @@ const select = (options) => {
2461
2644
  };
2462
2645
 
2463
2646
  const selectMenu = (options) => {
2464
- return defu({
2647
+ return defuFn({
2465
2648
  slots: {
2466
- input: "border-b border-(--ui-border)",
2467
- focusScope: "flex flex-col min-h-0"
2649
+ input: "border-b border-default",
2650
+ focusScope: "flex flex-col min-h-0",
2651
+ content: (content) => [content, "origin-(--reka-combobox-content-transform-origin) w-(--reka-combobox-trigger-width)"]
2468
2652
  }
2469
2653
  }, select(options));
2470
2654
  };
@@ -2473,7 +2657,7 @@ const separator = (options) => ({
2473
2657
  slots: {
2474
2658
  root: "flex items-center align-center text-center",
2475
2659
  border: "",
2476
- container: "font-medium text-(--ui-text) flex",
2660
+ container: "font-medium text-default flex",
2477
2661
  icon: "shrink-0 size-5",
2478
2662
  avatar: "shrink-0",
2479
2663
  avatarSize: "2xs",
@@ -2481,8 +2665,8 @@ const separator = (options) => ({
2481
2665
  },
2482
2666
  variants: {
2483
2667
  color: {
2484
- ...Object.fromEntries((options.theme.colors || []).map((color) => [color, { border: `border-(--ui-${color})` }])),
2485
- neutral: { border: "border-(--ui-border)" }
2668
+ ...Object.fromEntries((options.theme.colors || []).map((color) => [color, { border: `border-${color}` }])),
2669
+ neutral: { border: "border-default" }
2486
2670
  },
2487
2671
  orientation: {
2488
2672
  horizontal: {
@@ -2564,19 +2748,19 @@ const separator = (options) => ({
2564
2748
  });
2565
2749
 
2566
2750
  const skeleton = {
2567
- base: "animate-pulse rounded-[calc(var(--ui-radius)*1.5)] bg-(--ui-bg-elevated)"
2751
+ base: "animate-pulse rounded-md bg-elevated"
2568
2752
  };
2569
2753
 
2570
2754
  const slideover = {
2571
2755
  slots: {
2572
- overlay: "fixed inset-0 bg-(--ui-bg-elevated)/75",
2573
- content: "fixed bg-(--ui-bg) divide-y divide-(--ui-border) sm:ring ring-(--ui-border) sm:shadow-lg flex flex-col focus:outline-none",
2756
+ overlay: "fixed inset-0 bg-elevated/75",
2757
+ content: "fixed bg-default divide-y divide-default sm:ring ring-default sm:shadow-lg flex flex-col focus:outline-none",
2574
2758
  header: "flex items-center gap-1.5 p-4 sm:px-6 min-h-16",
2575
2759
  wrapper: "",
2576
2760
  body: "flex-1 overflow-y-auto p-4 sm:p-6",
2577
2761
  footer: "flex items-center gap-1.5 p-4 sm:px-6",
2578
- title: "text-(--ui-text-highlighted) font-semibold",
2579
- description: "mt-1 text-(--ui-text-muted) text-sm",
2762
+ title: "text-highlighted font-semibold",
2763
+ description: "mt-1 text-muted text-sm",
2580
2764
  close: "absolute top-4 end-4"
2581
2765
  },
2582
2766
  variants: {
@@ -2630,19 +2814,19 @@ const slideover = {
2630
2814
  const slider = (options) => ({
2631
2815
  slots: {
2632
2816
  root: "relative flex items-center select-none touch-none",
2633
- track: "relative bg-(--ui-bg-accented) overflow-hidden rounded-full grow",
2817
+ track: "relative bg-accented overflow-hidden rounded-full grow",
2634
2818
  range: "absolute rounded-full",
2635
- thumb: "rounded-full bg-(--ui-bg) ring-2 focus-visible:outline-2 focus-visible:outline-offset-2"
2819
+ thumb: "rounded-full bg-default ring-2 focus-visible:outline-2 focus-visible:outline-offset-2"
2636
2820
  },
2637
2821
  variants: {
2638
2822
  color: {
2639
2823
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
2640
- range: `bg-(--ui-${color})`,
2641
- thumb: `ring-(--ui-${color}) focus-visible:outline-(--ui-${color})/50`
2824
+ range: `bg-${color}`,
2825
+ thumb: `ring-${color} focus-visible:outline-${color}/50`
2642
2826
  }])),
2643
2827
  neutral: {
2644
- range: "bg-(--ui-bg-inverted)",
2645
- thumb: "ring-(--ui-border-inverted) focus-visible:outline-(--ui-border-inverted)/50"
2828
+ range: "bg-inverted",
2829
+ thumb: "ring-inverted focus-visible:outline-inverted/50"
2646
2830
  }
2647
2831
  },
2648
2832
  size: {
@@ -2751,13 +2935,13 @@ const stepper = (options) => ({
2751
2935
  header: "flex",
2752
2936
  item: "group text-center relative w-full",
2753
2937
  container: "relative",
2754
- trigger: "rounded-full font-medium text-center align-middle flex items-center justify-center font-semibold group-data-[state=completed]:text-(--ui-bg) group-data-[state=active]:text-(--ui-bg) text-(--ui-text-muted) bg-(--ui-bg-elevated) focus-visible:outline-2 focus-visible:outline-offset-2",
2938
+ trigger: "rounded-full font-medium text-center align-middle flex items-center justify-center font-semibold group-data-[state=completed]:text-inverted group-data-[state=active]:text-inverted text-muted bg-elevated focus-visible:outline-2 focus-visible:outline-offset-2",
2755
2939
  indicator: "flex items-center justify-center size-full",
2756
2940
  icon: "shrink-0",
2757
- separator: "absolute rounded-full group-data-[disabled]:opacity-75 bg-(--ui-border-accented)",
2941
+ separator: "absolute rounded-full group-data-[disabled]:opacity-75 bg-accented",
2758
2942
  wrapper: "",
2759
- title: "font-medium text-(--ui-text)",
2760
- description: "text-(--ui-text-muted) text-wrap",
2943
+ title: "font-medium text-default",
2944
+ description: "text-muted text-wrap",
2761
2945
  content: "size-full"
2762
2946
  },
2763
2947
  variants: {
@@ -2813,12 +2997,12 @@ const stepper = (options) => ({
2813
2997
  },
2814
2998
  color: {
2815
2999
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
2816
- trigger: `group-data-[state=completed]:bg-(--ui-${color}) group-data-[state=active]:bg-(--ui-${color}) focus-visible:outline-(--ui-${color})`,
2817
- separator: `group-data-[state=completed]:bg-(--ui-${color})`
3000
+ trigger: `group-data-[state=completed]:bg-${color} group-data-[state=active]:bg-${color} focus-visible:outline-${color}`,
3001
+ separator: `group-data-[state=completed]:bg-${color}`
2818
3002
  }])),
2819
3003
  neutral: {
2820
- trigger: `group-data-[state=completed]:bg-(--ui-bg-inverted) group-data-[state=active]:bg-(--ui-bg-inverted) focus-visible:outline-(--ui-border-inverted)`,
2821
- separator: `group-data-[state=completed]:bg-(--ui-bg-inverted)`
3004
+ trigger: `group-data-[state=completed]:bg-inverted group-data-[state=active]:bg-inverted focus-visible:outline-inverted`,
3005
+ separator: `group-data-[state=completed]:bg-inverted`
2822
3006
  }
2823
3007
  }
2824
3008
  },
@@ -2872,23 +3056,23 @@ const stepper = (options) => ({
2872
3056
  const _switch = (options) => ({
2873
3057
  slots: {
2874
3058
  root: "relative flex items-start",
2875
- base: ["inline-flex items-center shrink-0 rounded-full border-2 border-transparent focus-visible:outline-2 focus-visible:outline-offset-2 data-[state=unchecked]:bg-(--ui-bg-accented)", options.theme.transitions && "transition-[background] duration-200"],
3059
+ base: ["inline-flex items-center shrink-0 rounded-full border-2 border-transparent focus-visible:outline-2 focus-visible:outline-offset-2 data-[state=unchecked]:bg-accented", options.theme.transitions && "transition-[background] duration-200"],
2876
3060
  container: "flex items-center",
2877
- thumb: "group pointer-events-none rounded-full bg-(--ui-bg) shadow-lg ring-0 transition-transform duration-200 data-[state=unchecked]:translate-x-0 data-[state=unchecked]:rtl:-translate-x-0 flex items-center justify-center",
2878
- icon: ["absolute shrink-0 group-data-[state=unchecked]:text-(--ui-text-dimmed) opacity-0 size-10/12", options.theme.transitions && "transition-[color,opacity] duration-200"],
3061
+ thumb: "group pointer-events-none rounded-full bg-default shadow-lg ring-0 transition-transform duration-200 data-[state=unchecked]:translate-x-0 data-[state=unchecked]:rtl:-translate-x-0 flex items-center justify-center",
3062
+ icon: ["absolute shrink-0 group-data-[state=unchecked]:text-dimmed opacity-0 size-10/12", options.theme.transitions && "transition-[color,opacity] duration-200"],
2879
3063
  wrapper: "ms-2",
2880
- label: "block font-medium text-(--ui-text)",
2881
- description: "text-(--ui-text-muted)"
3064
+ label: "block font-medium text-default",
3065
+ description: "text-muted"
2882
3066
  },
2883
3067
  variants: {
2884
3068
  color: {
2885
3069
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
2886
- base: `data-[state=checked]:bg-(--ui-${color}) focus-visible:outline-(--ui-${color})`,
2887
- icon: `group-data-[state=checked]:text-(--ui-${color})`
3070
+ base: `data-[state=checked]:bg-${color} focus-visible:outline-${color}`,
3071
+ icon: `group-data-[state=checked]:text-${color}`
2888
3072
  }])),
2889
3073
  neutral: {
2890
- base: "data-[state=checked]:bg-(--ui-bg-inverted) focus-visible:outline-(--ui-border-inverted)",
2891
- icon: "group-data-[state=checked]:text-(--ui-text-highlighted)"
3074
+ base: "data-[state=checked]:bg-inverted focus-visible:outline-inverted",
3075
+ icon: "group-data-[state=checked]:text-highlighted"
2892
3076
  }
2893
3077
  },
2894
3078
  size: {
@@ -2940,7 +3124,7 @@ const _switch = (options) => ({
2940
3124
  },
2941
3125
  required: {
2942
3126
  true: {
2943
- label: "after:content-['*'] after:ms-0.5 after:text-(--ui-error)"
3127
+ label: "after:content-['*'] after:ms-0.5 after:text-error"
2944
3128
  }
2945
3129
  },
2946
3130
  disabled: {
@@ -2963,23 +3147,23 @@ const table = (options) => ({
2963
3147
  base: "min-w-full overflow-clip",
2964
3148
  caption: "sr-only",
2965
3149
  thead: "relative [&>tr]:after:absolute [&>tr]:after:inset-x-0 [&>tr]:after:bottom-0 [&>tr]:after:h-px [&>tr]:after:bg-(--ui-border-accented)",
2966
- tbody: "divide-y divide-(--ui-border) [&>tr]:data-[selectable=true]:hover:bg-(--ui-bg-elevated)/50 [&>tr]:data-[selectable=true]:focus-visible:outline-(--ui-primary)",
2967
- tr: "data-[selected=true]:bg-(--ui-bg-elevated)/50",
2968
- th: "px-4 py-3.5 text-sm text-(--ui-text-highlighted) text-left rtl:text-right font-semibold [&:has([role=checkbox])]:pe-0",
2969
- td: "p-4 text-sm text-(--ui-text-muted) whitespace-nowrap [&:has([role=checkbox])]:pe-0",
2970
- empty: "py-6 text-center text-sm text-(--ui-text-muted)",
3150
+ tbody: "divide-y divide-default [&>tr]:data-[selectable=true]:hover:bg-elevated/50 [&>tr]:data-[selectable=true]:focus-visible:outline-primary",
3151
+ tr: "data-[selected=true]:bg-elevated/50",
3152
+ th: "px-4 py-3.5 text-sm text-highlighted text-left rtl:text-right font-semibold [&:has([role=checkbox])]:pe-0",
3153
+ td: "p-4 text-sm text-muted whitespace-nowrap [&:has([role=checkbox])]:pe-0",
3154
+ empty: "py-6 text-center text-sm text-muted",
2971
3155
  loading: "py-6 text-center"
2972
3156
  },
2973
3157
  variants: {
2974
3158
  pinned: {
2975
3159
  true: {
2976
- th: "sticky bg-(--ui-bg)/75 data-[pinned=left]:left-0 data-[pinned=right]:right-0",
2977
- td: "sticky bg-(--ui-bg)/75 data-[pinned=left]:left-0 data-[pinned=right]:right-0"
3160
+ th: "sticky bg-default/75 data-[pinned=left]:left-0 data-[pinned=right]:right-0",
3161
+ td: "sticky bg-default/75 data-[pinned=left]:left-0 data-[pinned=right]:right-0"
2978
3162
  }
2979
3163
  },
2980
3164
  sticky: {
2981
3165
  true: {
2982
- thead: "sticky top-0 inset-x-0 bg-(--ui-bg)/75 z-[1] backdrop-blur"
3166
+ thead: "sticky top-0 inset-x-0 bg-default/75 z-[1] backdrop-blur"
2983
3167
  }
2984
3168
  },
2985
3169
  loading: {
@@ -3002,13 +3186,13 @@ const table = (options) => ({
3002
3186
  loading: true,
3003
3187
  loadingColor,
3004
3188
  class: {
3005
- thead: `after:bg-(--ui-${loadingColor})`
3189
+ thead: `after:bg-${loadingColor}`
3006
3190
  }
3007
3191
  })), {
3008
3192
  loading: true,
3009
3193
  loadingColor: "neutral",
3010
3194
  class: {
3011
- thead: "after:bg-(--ui-bg-inverted)"
3195
+ thead: "after:bg-inverted"
3012
3196
  }
3013
3197
  }, {
3014
3198
  loading: true,
@@ -3046,7 +3230,7 @@ const tabs = (options) => ({
3046
3230
  root: "flex items-center gap-2",
3047
3231
  list: "relative flex p-1 group",
3048
3232
  indicator: "absolute transition-[translate,width] duration-200",
3049
- trigger: ["group relative inline-flex items-center shrink-0 min-w-0 data-[state=inactive]:text-(--ui-text-muted) hover:data-[state=inactive]:not-disabled:text-(--ui-text) font-medium rounded-[calc(var(--ui-radius)*1.5)] disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
3233
+ trigger: ["group relative inline-flex items-center shrink-0 min-w-0 data-[state=inactive]:text-muted hover:data-[state=inactive]:not-disabled:text-default font-medium rounded-md disabled:cursor-not-allowed disabled:opacity-75", options.theme.transitions && "transition-colors"],
3050
3234
  content: "focus:outline-none w-full",
3051
3235
  leadingIcon: "shrink-0",
3052
3236
  leadingAvatar: "shrink-0",
@@ -3060,12 +3244,12 @@ const tabs = (options) => ({
3060
3244
  },
3061
3245
  variant: {
3062
3246
  pill: {
3063
- list: "bg-(--ui-bg-elevated) rounded-[calc(var(--ui-radius)*2)]",
3247
+ list: "bg-elevated rounded-lg",
3064
3248
  trigger: "flex-1 w-full",
3065
- indicator: "rounded-[calc(var(--ui-radius)*1.5)] shadow-xs"
3249
+ indicator: "rounded-md shadow-xs"
3066
3250
  },
3067
3251
  link: {
3068
- list: "border-(--ui-border)",
3252
+ list: "border-default",
3069
3253
  indicator: "rounded-full"
3070
3254
  }
3071
3255
  },
@@ -3140,29 +3324,29 @@ const tabs = (options) => ({
3140
3324
  color,
3141
3325
  variant: "pill",
3142
3326
  class: {
3143
- indicator: `bg-(--ui-${color})`,
3144
- trigger: `data-[state=active]:text-(--ui-bg) focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-(--ui-${color})`
3327
+ indicator: `bg-${color}`,
3328
+ trigger: `data-[state=active]:text-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-${color}`
3145
3329
  }
3146
3330
  })), {
3147
3331
  color: "neutral",
3148
3332
  variant: "pill",
3149
3333
  class: {
3150
- indicator: "bg-(--ui-bg-inverted)",
3151
- trigger: "data-[state=active]:text-(--ui-bg) focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-(--ui-border-inverted)"
3334
+ indicator: "bg-inverted",
3335
+ trigger: "data-[state=active]:text-inverted focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-inverted"
3152
3336
  }
3153
3337
  }, ...(options.theme.colors || []).map((color) => ({
3154
3338
  color,
3155
3339
  variant: "link",
3156
3340
  class: {
3157
- indicator: `bg-(--ui-${color})`,
3158
- trigger: `data-[state=active]:text-(--ui-${color}) focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-(--ui-${color})`
3341
+ indicator: `bg-${color}`,
3342
+ trigger: `data-[state=active]:text-${color} focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-${color}`
3159
3343
  }
3160
3344
  })), {
3161
3345
  color: "neutral",
3162
3346
  variant: "link",
3163
3347
  class: {
3164
- indicator: "bg-(--ui-bg-inverted)",
3165
- trigger: "data-[state=active]:text-(--ui-text-highlighted) focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-(--ui-border-inverted)"
3348
+ indicator: "bg-inverted",
3349
+ trigger: "data-[state=active]:text-highlighted focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted"
3166
3350
  }
3167
3351
  }],
3168
3352
  defaultVariants: {
@@ -3173,15 +3357,49 @@ const tabs = (options) => ({
3173
3357
  });
3174
3358
 
3175
3359
  const textarea = (options) => {
3176
- return input(options);
3360
+ return defu({
3361
+ slots: {
3362
+ leading: "absolute start-0 flex items-start",
3363
+ trailing: "absolute end-0 flex items-start"
3364
+ },
3365
+ variants: {
3366
+ autoresize: {
3367
+ true: {
3368
+ base: "resize-none"
3369
+ }
3370
+ },
3371
+ size: {
3372
+ xs: {
3373
+ leading: "ps-2 inset-y-1",
3374
+ trailing: "pe-2 inset-y-1"
3375
+ },
3376
+ sm: {
3377
+ leading: "ps-2.5 inset-y-1.5",
3378
+ trailing: "pe-2.5 inset-y-1.5"
3379
+ },
3380
+ md: {
3381
+ leading: "ps-2.5 inset-y-1.5",
3382
+ trailing: "pe-2.5 inset-y-1.5"
3383
+ },
3384
+ lg: {
3385
+ leading: "ps-3 inset-y-2",
3386
+ trailing: "pe-3 inset-y-2"
3387
+ },
3388
+ xl: {
3389
+ leading: "ps-3 inset-y-2",
3390
+ trailing: "pe-3 inset-y-2"
3391
+ }
3392
+ }
3393
+ }
3394
+ }, input(options));
3177
3395
  };
3178
3396
 
3179
3397
  const toast = (options) => ({
3180
3398
  slots: {
3181
- root: "relative group overflow-hidden bg-(--ui-bg) shadow-lg rounded-[calc(var(--ui-radius)*2)] ring ring-(--ui-border) p-4 flex gap-2.5 focus:outline-none",
3399
+ root: "relative group overflow-hidden bg-default shadow-lg rounded-lg ring ring-default p-4 flex gap-2.5 focus:outline-none",
3182
3400
  wrapper: "w-0 flex-1 flex flex-col",
3183
- title: "text-sm font-medium text-(--ui-text-highlighted)",
3184
- description: "text-sm text-(--ui-text-muted)",
3401
+ title: "text-sm font-medium text-highlighted",
3402
+ description: "text-sm text-muted",
3185
3403
  icon: "shrink-0 size-5",
3186
3404
  avatar: "shrink-0",
3187
3405
  avatarSize: "2xl",
@@ -3192,14 +3410,14 @@ const toast = (options) => ({
3192
3410
  variants: {
3193
3411
  color: {
3194
3412
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
3195
- root: `focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-(--ui-${color})`,
3196
- icon: `text-(--ui-${color})`,
3197
- progress: `bg-(--ui-${color})`
3413
+ root: `focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-${color}`,
3414
+ icon: `text-${color}`,
3415
+ progress: `bg-${color}`
3198
3416
  }])),
3199
3417
  neutral: {
3200
- root: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-(--ui-border-inverted)",
3201
- icon: "text-(--ui-text-highlighted)",
3202
- progress: "bg-(--ui-bg-inverted)"
3418
+ root: "focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-inverted",
3419
+ icon: "text-highlighted",
3420
+ progress: "bg-inverted"
3203
3421
  }
3204
3422
  },
3205
3423
  orientation: {
@@ -3282,8 +3500,8 @@ const toaster = {
3282
3500
 
3283
3501
  const tooltip = {
3284
3502
  slots: {
3285
- content: "flex items-center gap-1 bg-(--ui-bg) text-(--ui-text-highlighted) shadow-sm rounded-(--ui-radius) ring ring-(--ui-border) h-6 px-2 py-1 text-xs select-none data-[state=delayed-open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] pointer-events-auto",
3286
- arrow: "fill-(--ui-border)",
3503
+ content: "flex items-center gap-1 bg-default text-highlighted shadow-sm rounded-sm ring ring-default h-6 px-2 py-1 text-xs select-none data-[state=delayed-open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-tooltip-content-transform-origin) pointer-events-auto",
3504
+ arrow: "fill-default",
3287
3505
  text: "truncate",
3288
3506
  kbds: `hidden lg:inline-flex items-center shrink-0 gap-0.5 before:content-['\xB7'] before:me-0.5`,
3289
3507
  kbdsSize: "sm"
@@ -3294,9 +3512,9 @@ const tree = (options) => ({
3294
3512
  slots: {
3295
3513
  root: "relative isolate",
3296
3514
  item: "",
3297
- listWithChildren: "ms-4.5 border-s border-(--ui-border)",
3515
+ listWithChildren: "ms-4.5 border-s border-default",
3298
3516
  itemWithChildren: "ps-1.5 -ms-px",
3299
- link: "relative group w-full flex items-center text-sm before:absolute before:inset-y-px before:inset-x-0 before:z-[-1] before:rounded-[calc(var(--ui-radius)*1.5)] focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2",
3517
+ link: "relative group w-full flex items-center text-sm before:absolute before:inset-y-px before:inset-x-0 before:z-[-1] before:rounded-md focus:outline-none focus-visible:outline-none focus-visible:before:ring-inset focus-visible:before:ring-2",
3300
3518
  linkLeadingIcon: "shrink-0",
3301
3519
  linkLabel: "truncate",
3302
3520
  linkTrailing: "ms-auto inline-flex gap-1.5 items-center",
@@ -3305,10 +3523,10 @@ const tree = (options) => ({
3305
3523
  variants: {
3306
3524
  color: {
3307
3525
  ...Object.fromEntries((options.theme.colors || []).map((color) => [color, {
3308
- link: `focus-visible:before:ring-(--ui-${color})`
3526
+ link: `focus-visible:before:ring-${color}`
3309
3527
  }])),
3310
3528
  neutral: {
3311
- link: "focus-visible:before:ring-(--ui-border-inverted)"
3529
+ link: "focus-visible:before:ring-inverted"
3312
3530
  }
3313
3531
  },
3314
3532
  size: {
@@ -3340,10 +3558,10 @@ const tree = (options) => ({
3340
3558
  },
3341
3559
  selected: {
3342
3560
  true: {
3343
- link: "before:bg-(--ui-bg-elevated)"
3561
+ link: "before:bg-elevated"
3344
3562
  },
3345
3563
  false: {
3346
- link: ["hover:not-disabled:text-(--ui-text-highlighted) hover:not-disabled:before:bg-(--ui-bg-elevated)/50", options.theme.transitions && "transition-colors before:transition-colors"]
3564
+ link: ["hover:not-disabled:text-highlighted hover:not-disabled:before:bg-elevated/50", options.theme.transitions && "transition-colors before:transition-colors"]
3347
3565
  }
3348
3566
  },
3349
3567
  disabled: {
@@ -3356,13 +3574,13 @@ const tree = (options) => ({
3356
3574
  color,
3357
3575
  selected: true,
3358
3576
  class: {
3359
- link: `text-(--ui-${color})`
3577
+ link: `text-${color}`
3360
3578
  }
3361
3579
  })), {
3362
3580
  color: "neutral",
3363
3581
  selected: true,
3364
3582
  class: {
3365
- link: "text-(--ui-text-highlighted)"
3583
+ link: "text-highlighted"
3366
3584
  }
3367
3585
  }],
3368
3586
  defaultVariants: {
@@ -3385,6 +3603,7 @@ const theme = {
3385
3603
  card: card,
3386
3604
  carousel: carousel,
3387
3605
  checkbox: checkbox,
3606
+ checkboxGroup: checkboxGroup,
3388
3607
  chip: chip,
3389
3608
  collapsible: collapsible,
3390
3609
  colorPicker: colorPicker,
@@ -3463,7 +3682,7 @@ function getTemplates(options, uiConfig) {
3463
3682
  write: true,
3464
3683
  getContents: () => `@source "./ui";
3465
3684
 
3466
- @theme default {
3685
+ @theme default inline {
3467
3686
  --color-old-neutral-50: ${colors.neutral[50]};
3468
3687
  --color-old-neutral-100: ${colors.neutral[100]};
3469
3688
  --color-old-neutral-200: ${colors.neutral[200]};
@@ -3476,6 +3695,52 @@ function getTemplates(options, uiConfig) {
3476
3695
  --color-old-neutral-900: ${colors.neutral[900]};
3477
3696
  --color-old-neutral-950: ${colors.neutral[950]};
3478
3697
  ${[...(options.theme?.colors || []).filter((color) => !colors[color]), "neutral"].map((color) => [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950].map((shade) => `--color-${color}-${shade}: var(--ui-color-${color}-${shade});`).join("\n ")).join("\n ")}
3698
+ ${options.theme?.colors?.map((color) => `--color-${color}: var(--ui-${color});`).join("\n ")}
3699
+ --radius-xs: calc(var(--ui-radius) * 0.5);
3700
+ --radius-sm: var(--ui-radius);
3701
+ --radius-md: calc(var(--ui-radius) * 1.5);
3702
+ --radius-lg: calc(var(--ui-radius) * 2);
3703
+ --radius-xl: calc(var(--ui-radius) * 3);
3704
+ --radius-2xl: calc(var(--ui-radius) * 4);
3705
+ --radius-3xl: calc(var(--ui-radius) * 6);
3706
+ --text-color-dimmed: var(--ui-text-dimmed);
3707
+ --text-color-muted: var(--ui-text-muted);
3708
+ --text-color-toned: var(--ui-text-toned);
3709
+ --text-color-default: var(--ui-text);
3710
+ --text-color-highlighted: var(--ui-text-highlighted);
3711
+ --text-color-inverted: var(--ui-text-inverted);
3712
+ --background-color-default: var(--ui-bg);
3713
+ --background-color-muted: var(--ui-bg-muted);
3714
+ --background-color-elevated: var(--ui-bg-elevated);
3715
+ --background-color-accented: var(--ui-bg-accented);
3716
+ --background-color-inverted: var(--ui-bg-inverted);
3717
+ --background-color-border: var(--ui-border);
3718
+ --border-color-default: var(--ui-border);
3719
+ --border-color-muted: var(--ui-border-muted);
3720
+ --border-color-accented: var(--ui-border-accented);
3721
+ --border-color-inverted: var(--ui-border-inverted);
3722
+ --border-color-bg: var(--ui-bg);
3723
+ --ring-color-default: var(--ui-border);
3724
+ --ring-color-muted: var(--ui-border-muted);
3725
+ --ring-color-accented: var(--ui-border-accented);
3726
+ --ring-color-inverted: var(--ui-border-inverted);
3727
+ --ring-color-bg: var(--ui-bg);
3728
+ --ring-offset-color-default: var(--ui-border);
3729
+ --ring-offset-color-muted: var(--ui-border-muted);
3730
+ --ring-offset-color-accented: var(--ui-border-accented);
3731
+ --ring-offset-color-inverted: var(--ui-border-inverted);
3732
+ --ring-offset-color-bg: var(--ui-bg);
3733
+ --divide-color-default: var(--ui-border);
3734
+ --divide-color-muted: var(--ui-border-muted);
3735
+ --divide-color-accented: var(--ui-border-accented);
3736
+ --divide-color-inverted: var(--ui-border-inverted);
3737
+ --divide-color-bg: var(--ui-bg);
3738
+ --outline-color-default: var(--ui-border);
3739
+ --outline-color-inverted: var(--ui-border-inverted);
3740
+ --stroke-default: var(--ui-border);
3741
+ --stroke-inverted: var(--ui-border-inverted);
3742
+ --fill-default: var(--ui-border);
3743
+ --fill-inverted: var(--ui-border-inverted);
3479
3744
  }
3480
3745
  `
3481
3746
  });
@@ -3487,7 +3752,7 @@ function getTemplates(options, uiConfig) {
3487
3752
  templates.push({
3488
3753
  filename: "types/ui.d.ts",
3489
3754
  getContents: () => `import * as ui from '#build/ui'
3490
- import type { DeepPartial } from '@nuxt/ui'
3755
+ import type { TVConfig } from '@nuxt/ui'
3491
3756
  import type { defaultConfig } from 'tailwind-variants'
3492
3757
  import colors from 'tailwindcss/colors'
3493
3758
 
@@ -3498,12 +3763,12 @@ type Color = Exclude<keyof typeof colors, 'inherit' | 'current' | 'transparent'
3498
3763
 
3499
3764
  type AppConfigUI = {
3500
3765
  colors?: {
3501
- ${options.theme?.colors?.map((color) => `${color}?: Color`).join("\n ")}
3766
+ ${options.theme?.colors?.map((color) => `'${color}'?: Color`).join("\n ")}
3502
3767
  neutral?: NeutralColor
3503
3768
  }
3504
3769
  icons?: Partial<typeof icons>
3505
3770
  tv?: typeof defaultConfig
3506
- } & DeepPartial<typeof ui>
3771
+ } & TVConfig<typeof ui>
3507
3772
 
3508
3773
  declare module '@nuxt/schema' {
3509
3774
  interface AppConfigInput {
@@ -3522,8 +3787,8 @@ export {}
3522
3787
  filename: "ui-image-component.ts",
3523
3788
  write: true,
3524
3789
  getContents: ({ app }) => {
3525
- const image = app?.components?.find((c) => c.pascalName === "NuxtImg" && !c.filePath.includes("nuxt/dist/app"));
3526
- return image ? `export { default } from "${image.filePath}"` : 'export default "img"';
3790
+ const image = app?.components?.find((c) => c.pascalName === "NuxtImg" && !/nuxt(?:-nightly)?\/dist\/app/.test(c.filePath));
3791
+ return image ? genExport(image.filePath, [{ name: image.export, as: "default" }]) : 'export default "img"';
3527
3792
  }
3528
3793
  });
3529
3794
  return templates;