@nuxt/ui 3.0.2 → 3.1.0

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