sigma-ui 1.0.13 → 1.0.15

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 (79) hide show
  1. package/README.md +5 -4
  2. package/__generated/registry-schemes/colors/blue.json +0 -1
  3. package/__generated/registry-schemes/colors/gray.json +0 -1
  4. package/__generated/registry-schemes/colors/green.json +0 -1
  5. package/__generated/registry-schemes/colors/index.json +0 -1170
  6. package/__generated/registry-schemes/colors/orange.json +0 -1
  7. package/__generated/registry-schemes/colors/red.json +0 -1
  8. package/__generated/registry-schemes/colors/rose.json +0 -1
  9. package/__generated/registry-schemes/colors/violet.json +0 -1
  10. package/__generated/registry-schemes/colors/yellow.json +0 -1
  11. package/__generated/registry-schemes/colors/zinc.json +0 -1
  12. package/__generated/registry-schemes/style-system/css/accordion.json +2 -2
  13. package/__generated/registry-schemes/style-system/css/alert-dialog.json +5 -5
  14. package/__generated/registry-schemes/style-system/css/alert.json +2 -2
  15. package/__generated/registry-schemes/style-system/css/avatar.json +1 -1
  16. package/__generated/registry-schemes/style-system/css/badge.json +1 -1
  17. package/__generated/registry-schemes/style-system/css/breadcrumb.json +4 -4
  18. package/__generated/registry-schemes/style-system/css/button.json +1 -1
  19. package/__generated/registry-schemes/style-system/css/calendar.json +7 -7
  20. package/__generated/registry-schemes/style-system/css/card-lightbox.json +1 -1
  21. package/__generated/registry-schemes/style-system/css/card.json +5 -5
  22. package/__generated/registry-schemes/style-system/css/carousel.json +4 -4
  23. package/__generated/registry-schemes/style-system/css/chart-area.json +1 -1
  24. package/__generated/registry-schemes/style-system/css/chart-bar.json +1 -1
  25. package/__generated/registry-schemes/style-system/css/chart-donut.json +1 -1
  26. package/__generated/registry-schemes/style-system/css/chart-line.json +1 -1
  27. package/__generated/registry-schemes/style-system/css/chart.json +1 -1
  28. package/__generated/registry-schemes/style-system/css/checkbox.json +1 -1
  29. package/__generated/registry-schemes/style-system/css/combobox.json +6 -6
  30. package/__generated/registry-schemes/style-system/css/command.json +9 -9
  31. package/__generated/registry-schemes/style-system/css/context-menu.json +9 -9
  32. package/__generated/registry-schemes/style-system/css/dialog.json +6 -6
  33. package/__generated/registry-schemes/style-system/css/drawer.json +6 -6
  34. package/__generated/registry-schemes/style-system/css/dropdown-menu.json +9 -9
  35. package/__generated/registry-schemes/style-system/css/form.json +2 -2
  36. package/__generated/registry-schemes/style-system/css/hover-card.json +1 -1
  37. package/__generated/registry-schemes/style-system/css/image.json +1 -1
  38. package/__generated/registry-schemes/style-system/css/input.json +1 -1
  39. package/__generated/registry-schemes/style-system/css/menubar.json +10 -10
  40. package/__generated/registry-schemes/style-system/css/navigation-menu.json +5 -5
  41. package/__generated/registry-schemes/style-system/css/number-field.json +3 -3
  42. package/__generated/registry-schemes/style-system/css/pagination.json +5 -5
  43. package/__generated/registry-schemes/style-system/css/pin-input.json +3 -3
  44. package/__generated/registry-schemes/style-system/css/popover.json +1 -1
  45. package/__generated/registry-schemes/style-system/css/progress.json +1 -1
  46. package/__generated/registry-schemes/style-system/css/radio-group.json +1 -1
  47. package/__generated/registry-schemes/style-system/css/range-calendar.json +8 -8
  48. package/__generated/registry-schemes/style-system/css/resizable.json +2 -2
  49. package/__generated/registry-schemes/style-system/css/scroll-area.json +2 -2
  50. package/__generated/registry-schemes/style-system/css/select.json +7 -7
  51. package/__generated/registry-schemes/style-system/css/separator.json +1 -1
  52. package/__generated/registry-schemes/style-system/css/sheet.json +5 -5
  53. package/__generated/registry-schemes/style-system/css/skeleton.json +1 -1
  54. package/__generated/registry-schemes/style-system/css/slider.json +1 -1
  55. package/__generated/registry-schemes/style-system/css/switch.json +1 -1
  56. package/__generated/registry-schemes/style-system/css/table.json +7 -7
  57. package/__generated/registry-schemes/style-system/css/tabs.json +3 -3
  58. package/__generated/registry-schemes/style-system/css/tags-input.json +4 -4
  59. package/__generated/registry-schemes/style-system/css/textarea.json +1 -1
  60. package/__generated/registry-schemes/style-system/css/toaster.json +3 -3
  61. package/__generated/registry-schemes/style-system/css/toggle.json +1 -1
  62. package/__generated/registry-schemes/style-system/css/tooltip.json +1 -1
  63. package/__generated/registry-schemes/style-system/tailwind/navigation-menu.json +1 -1
  64. package/dist/index.js +88 -197
  65. package/dist/index.js.map +1 -1
  66. package/package.json +1 -1
  67. package/__generated/registry-schemes/colors/amber.json +0 -99
  68. package/__generated/registry-schemes/colors/cyan.json +0 -99
  69. package/__generated/registry-schemes/colors/emerald.json +0 -99
  70. package/__generated/registry-schemes/colors/fuchsia.json +0 -99
  71. package/__generated/registry-schemes/colors/indigo.json +0 -99
  72. package/__generated/registry-schemes/colors/lime.json +0 -99
  73. package/__generated/registry-schemes/colors/neutral.json +0 -99
  74. package/__generated/registry-schemes/colors/pink.json +0 -99
  75. package/__generated/registry-schemes/colors/purple.json +0 -99
  76. package/__generated/registry-schemes/colors/sky.json +0 -99
  77. package/__generated/registry-schemes/colors/slate.json +0 -99
  78. package/__generated/registry-schemes/colors/stone.json +0 -99
  79. package/__generated/registry-schemes/colors/teal.json +0 -99
@@ -9,7 +9,7 @@
9
9
  },
10
10
  {
11
11
  "name": "TooltipContent.vue",
12
- "content": "<script setup lang=\"ts\">\nimport { TooltipContent, type TooltipContentEmits, type TooltipContentProps, TooltipPortal, useForwardPropsEmits } from 'reka-ui';\n\ndefineOptions({\n inheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<TooltipContentProps>(), {\n sideOffset: 4,\n});\n\nconst emits = defineEmits<TooltipContentEmits>();\n\nconst forwarded = useForwardPropsEmits(props, emits);\n</script>\n\n<template>\n <TooltipPortal>\n <TooltipContent\n v-bind=\"{ ...forwarded, ...$attrs }\"\n class=\"sigma-ui-tooltip-content\"\n :class=\"[$attrs.class]\"\n >\n <slot />\n </TooltipContent>\n </TooltipPortal>\n</template>\n\n<style>\n.sigma-ui-tooltip-content {\n z-index: 50;\n overflow: hidden;\n border-radius: var(--radius-md);\n border: 1px solid hsl(var(--border));\n background-color: hsl(var(--popover));\n color: hsl(var(--popover-foreground));\n padding: 0.375rem 0.75rem;\n font-size: 0.875rem;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n}\n\n.sigma-ui-tooltip-content {\n animation: tooltipIn 150ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.sigma-ui-tooltip-content[data-side=\"bottom\"] {\n animation: tooltipInBottom 150ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.sigma-ui-tooltip-content[data-side=\"top\"] {\n animation: tooltipInTop 150ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.sigma-ui-tooltip-content[data-side=\"left\"] {\n animation: tooltipInLeft 150ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.sigma-ui-tooltip-content[data-side=\"right\"] {\n animation: tooltipInRight 150ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.sigma-ui-tooltip-content[data-state=\"closed\"] {\n animation: tooltipOut 250ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n@keyframes tooltipIn {\n from {\n opacity: 0;\n transform: scale(0.95);\n }\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n@keyframes tooltipOut {\n from {\n opacity: 1;\n transform: scale(1);\n }\n to {\n opacity: 0;\n transform: scale(0.95);\n }\n}\n\n@keyframes tooltipInBottom {\n from {\n opacity: 0;\n transform: translateY(-0.5rem);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes tooltipInTop {\n from {\n opacity: 0;\n transform: translateY(0.5rem);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes tooltipInLeft {\n from {\n opacity: 0;\n transform: translateX(0.5rem);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n@keyframes tooltipInRight {\n from {\n opacity: 0;\n transform: translateX(-0.5rem);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n</style>\n"
12
+ "content": "<script setup lang=\"ts\">\nimport { TooltipContent, type TooltipContentEmits, type TooltipContentProps, TooltipPortal, useForwardPropsEmits } from 'reka-ui';\n\ndefineOptions({\n inheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<TooltipContentProps>(), {\n sideOffset: 4,\n});\n\nconst emits = defineEmits<TooltipContentEmits>();\n\nconst forwarded = useForwardPropsEmits(props, emits);\n</script>\n\n<template>\n <TooltipPortal>\n <TooltipContent\n v-bind=\"{ ...forwarded, ...$attrs }\"\n class=\"sigma-ui-tooltip-content\"\n :class=\"[$attrs.class]\"\n >\n <slot />\n </TooltipContent>\n </TooltipPortal>\n</template>\n\n<style>\n.sigma-ui-tooltip-content {\n z-index: 50;\n overflow: hidden;\n padding: 0.375rem 0.75rem;\n border: 1px solid hsl(var(--border));\n border-radius: var(--radius-md);\n animation: tooltip-in 150ms cubic-bezier(0.16, 1, 0.3, 1);\n background-color: hsl(var(--popover));\n box-shadow: 0 2px 4px rgb(0 0 0 / 10%);\n color: hsl(var(--popover-foreground));\n font-size: 0.875rem;\n}\n\n.sigma-ui-tooltip-content[data-side=\"bottom\"] {\n animation: tooltip-in-bottom 150ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.sigma-ui-tooltip-content[data-side=\"top\"] {\n animation: tooltip-in-top 150ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.sigma-ui-tooltip-content[data-side=\"left\"] {\n animation: tooltip-in-left 150ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.sigma-ui-tooltip-content[data-side=\"right\"] {\n animation: tooltip-in-right 150ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.sigma-ui-tooltip-content[data-state=\"closed\"] {\n animation: tooltip-out 250ms cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n@keyframes tooltip-in {\n from {\n opacity: 0;\n transform: scale(0.95);\n }\n\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n@keyframes tooltip-out {\n from {\n opacity: 1;\n transform: scale(1);\n }\n\n to {\n opacity: 0;\n transform: scale(0.95);\n }\n}\n\n@keyframes tooltip-in-bottom {\n from {\n opacity: 0;\n transform: translateY(-0.5rem);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes tooltip-in-top {\n from {\n opacity: 0;\n transform: translateY(0.5rem);\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes tooltip-in-left {\n from {\n opacity: 0;\n transform: translateX(0.5rem);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n@keyframes tooltip-in-right {\n from {\n opacity: 0;\n transform: translateX(-0.5rem);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n</style>\n"
13
13
  },
14
14
  {
15
15
  "name": "TooltipProvider.vue",
@@ -9,7 +9,7 @@
9
9
  },
10
10
  {
11
11
  "name": "NavigationMenuContent.vue",
12
- "content": "<script setup lang=\"ts\">\nimport {\n NavigationMenuContent,\n type NavigationMenuContentEmits,\n type NavigationMenuContentProps,\n useForwardPropsEmits,\n} from 'reka-ui';\nimport { cn } from '@ui/utils';\n\nconst props = defineProps<NavigationMenuContentProps>();\nconst emits = defineEmits<NavigationMenuContentEmits>();\n\nconst forwarded = useForwardPropsEmits(props, emits);\n</script>\n\n<template>\n <NavigationMenuContent\n v-bind=\"forwarded\"\n class=\"sigma-ui-navigation-menu-content\"\n >\n <slot />\n </NavigationMenuContent>\n</template>\n\n<style>\n.sigma-ui-navigation-menu-content {\n left: 0;\n top: 0;\n width: 100%;\n animation: fadeOut 200ms ease-in-out;\n}\n\n.sigma-ui-navigation-menu-content[data-state=\"open\"] {\n animation: fadeIn 200ms ease-in-out;\n}\n\n.sigma-ui-navigation-menu-content[data-motion=\"from-end\"][data-state=\"open\"] {\n animation: slideInFromRight 200ms ease-in-out;\n}\n\n.sigma-ui-navigation-menu-content[data-motion=\"from-start\"][data-state=\"open\"] {\n animation: slideInFromLeft 200ms ease-in-out;\n}\n\n.sigma-ui-navigation-menu-content[data-motion=\"to-end\"][data-state=\"closed\"] {\n animation: slideOutToRight 200ms ease-in-out;\n}\n\n.sigma-ui-navigation-menu-content[data-motion=\"to-start\"][data-state=\"closed\"] {\n animation: slideOutToLeft 200ms ease-in-out;\n}\n\n@media (min-width: 768px) {\n .sigma-ui-navigation-menu-content {\n position: absolute;\n width: auto;\n }\n}\n\n@keyframes fadeIn {\n from {\n opacity: 0;\n filter: blur(12px);\n }\n to {\n opacity: 1;\n filter: blur(0);\n }\n}\n\n@keyframes fadeOut {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n\n@keyframes slideInFromRight {\n from {\n opacity: 0;\n transform: translateX(13rem);\n filter: blur(12px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n filter: blur(0);\n }\n}\n\n@keyframes slideInFromLeft {\n from {\n opacity: 0;\n transform: translateX(-13rem);\n filter: blur(12px);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n filter: blur(0);\n }\n}\n\n@keyframes slideOutToRight {\n from {\n opacity: 1;\n transform: translateX(0);\n filter: blur(0);\n }\n to {\n transform: translateX(13rem);\n filter: blur(12px);\n opacity: 0;\n }\n}\n\n@keyframes slideOutToLeft {\n from {\n opacity: 1;\n transform: translateX(0);\n filter: blur(0);\n }\n to {\n opacity: 0;\n transform: translateX(-13rem);\n filter: blur(12px);\n }\n}\n</style>\n"
12
+ "content": "<script setup lang=\"ts\">\nimport {\n NavigationMenuContent,\n type NavigationMenuContentEmits,\n type NavigationMenuContentProps,\n useForwardPropsEmits,\n} from 'reka-ui';\n\nconst props = defineProps<NavigationMenuContentProps>();\nconst emits = defineEmits<NavigationMenuContentEmits>();\n\nconst forwarded = useForwardPropsEmits(props, emits);\n</script>\n\n<template>\n <NavigationMenuContent\n v-bind=\"forwarded\"\n class=\"sigma-ui-navigation-menu-content\"\n >\n <slot />\n </NavigationMenuContent>\n</template>\n\n<style>\n.sigma-ui-navigation-menu-content {\n top: 0;\n left: 0;\n width: 100%;\n animation: fade-out 200ms ease-in-out;\n}\n\n.sigma-ui-navigation-menu-content[data-state=\"open\"] {\n animation: fade-in 200ms ease-in-out;\n}\n\n.sigma-ui-navigation-menu-content[data-motion=\"from-end\"][data-state=\"open\"] {\n animation: slide-in-from-right 200ms ease-in-out;\n}\n\n.sigma-ui-navigation-menu-content[data-motion=\"from-start\"][data-state=\"open\"] {\n animation: slide-in-from-left 200ms ease-in-out;\n}\n\n.sigma-ui-navigation-menu-content[data-motion=\"to-end\"][data-state=\"closed\"] {\n animation: slide-out-to-right 200ms ease-in-out;\n}\n\n.sigma-ui-navigation-menu-content[data-motion=\"to-start\"][data-state=\"closed\"] {\n animation: slide-out-to-left 200ms ease-in-out;\n}\n\n@media (width >= 768px) {\n .sigma-ui-navigation-menu-content {\n position: absolute;\n width: auto;\n }\n}\n\n@keyframes fade-in {\n from {\n filter: blur(12px);\n opacity: 0;\n }\n\n to {\n filter: blur(0);\n opacity: 1;\n }\n}\n\n@keyframes fade-out {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n@keyframes slide-in-from-right {\n from {\n filter: blur(12px);\n opacity: 0;\n transform: translateX(13rem);\n }\n\n to {\n filter: blur(0);\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n@keyframes slide-in-from-left {\n from {\n filter: blur(12px);\n opacity: 0;\n transform: translateX(-13rem);\n }\n\n to {\n filter: blur(0);\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n@keyframes slide-out-to-right {\n from {\n filter: blur(0);\n opacity: 1;\n transform: translateX(0);\n }\n\n to {\n filter: blur(12px);\n opacity: 0;\n transform: translateX(13rem);\n }\n}\n\n@keyframes slide-out-to-left {\n from {\n filter: blur(0);\n opacity: 1;\n transform: translateX(0);\n }\n\n to {\n filter: blur(12px);\n opacity: 0;\n transform: translateX(-13rem);\n }\n}\n</style>\n"
13
13
  },
14
14
  {
15
15
  "name": "NavigationMenuIndicator.vue",
package/dist/index.js CHANGED
@@ -26,95 +26,6 @@ import { tmpdir } from "node:os";
26
26
  import path from "pathe";
27
27
  import { Project, ScriptKind } from "ts-morph";
28
28
 
29
- // src/utils/transformers/transform-css-vars.ts
30
- import MagicString from "magic-string";
31
- import { parse } from "@vue/compiler-sfc";
32
- import { SyntaxKind } from "ts-morph";
33
- var transformCssVars = async ({
34
- sourceFile,
35
- config,
36
- baseColor
37
- }) => {
38
- const isVueFile = sourceFile.getFilePath().endsWith("vue");
39
- if (config.tailwind?.cssVariables || !baseColor?.inlineColors) {
40
- return sourceFile;
41
- }
42
- let template2 = null;
43
- if (isVueFile) {
44
- const parsed = parse(sourceFile.getText());
45
- template2 = parsed.descriptor.template;
46
- if (!template2) {
47
- return sourceFile;
48
- }
49
- }
50
- sourceFile.getDescendantsOfKind(SyntaxKind.StringLiteral).forEach((node) => {
51
- if (template2 && template2.loc.start.offset >= node.getPos()) {
52
- return sourceFile;
53
- }
54
- const value = node.getText();
55
- const hasClosingDoubleQuote = value.match(/"/g)?.length === 2;
56
- if (value.search("'") === -1 && hasClosingDoubleQuote) {
57
- const mapped = applyColorMapping(value.replace(/"/g, ""), baseColor.inlineColors);
58
- node.replaceWithText(`"${mapped}"`);
59
- } else {
60
- const s = new MagicString(value);
61
- s.replace(/'(.*?)'/g, (substring) => {
62
- return `'${applyColorMapping(substring.replace(/'/g, ""), baseColor.inlineColors)}'`;
63
- });
64
- node.replaceWithText(s.toString());
65
- }
66
- });
67
- return sourceFile;
68
- };
69
- function splitClassName(className) {
70
- if (!className.includes("/") && !className.includes(":")) {
71
- return [null, className, null];
72
- }
73
- const parts = [];
74
- const [rest, alpha] = className.split("/");
75
- if (!rest.includes(":")) {
76
- return [null, rest, alpha];
77
- }
78
- const split = rest.split(":");
79
- const name = split.pop();
80
- const variant = split.join(":");
81
- parts.push(variant ?? null, name ?? null, alpha ?? null);
82
- return parts;
83
- }
84
- var PREFIXES = ["bg-", "text-", "border-", "ring-offset-", "ring-"];
85
- function applyColorMapping(input, mapping) {
86
- if (input.includes(" border ")) {
87
- input = input.replace(" border ", " border border-border ");
88
- }
89
- const classNames = input.split(" ");
90
- const lightMode = /* @__PURE__ */ new Set();
91
- const darkMode = /* @__PURE__ */ new Set();
92
- for (const className of classNames) {
93
- const [variant, value, modifier] = splitClassName(className);
94
- const prefix = PREFIXES.find((prefix2) => value?.startsWith(prefix2));
95
- if (!prefix) {
96
- if (!lightMode.has(className)) {
97
- lightMode.add(className);
98
- }
99
- continue;
100
- }
101
- const needle = value?.replace(prefix, "");
102
- if (needle && needle in mapping.light) {
103
- lightMode.add(
104
- [variant, `${prefix}${mapping.light[needle]}`].filter(Boolean).join(":") + (modifier ? `/${modifier}` : "")
105
- );
106
- darkMode.add(
107
- ["dark", variant, `${prefix}${mapping.dark[needle]}`].filter(Boolean).join(":") + (modifier ? `/${modifier}` : "")
108
- );
109
- continue;
110
- }
111
- if (!lightMode.has(className)) {
112
- lightMode.add(className);
113
- }
114
- }
115
- return [...Array.from(lightMode), ...Array.from(darkMode)].join(" ").trim();
116
- }
117
-
118
29
  // src/utils/transformers/transform-import.ts
119
30
  var transformImport = async ({ sourceFile, config }) => {
120
31
  const importDeclarations = sourceFile.getImportDeclarations();
@@ -149,7 +60,6 @@ var transformImport = async ({ sourceFile, config }) => {
149
60
 
150
61
  // src/utils/transformers/index.ts
151
62
  var transformers = [
152
- transformCssVars,
153
63
  transformImport
154
64
  // transformTwPrefixes,
155
65
  ];
@@ -194,7 +104,7 @@ function resolveImport(importPath, config) {
194
104
  // src/schemas/index.ts
195
105
  import { z } from "zod";
196
106
  var DEFAULT_TYPESCRIPT_CONFIG = "tsconfig.json";
197
- var DEFAULT_TAILWIND_BASE_COLOR = "slate";
107
+ var DEFAULT_TAILWIND_BASE_COLOR = "zinc";
198
108
  var commonFields = {
199
109
  styleSystem: z.string(),
200
110
  baseColor: z.string().default(DEFAULT_TAILWIND_BASE_COLOR),
@@ -205,7 +115,6 @@ var commonFields = {
205
115
  };
206
116
  var tailwindFields = {
207
117
  config: z.string(),
208
- cssVariables: z.boolean().default(true),
209
118
  prefix: z.string().optional()
210
119
  };
211
120
  var registryItemSchema = z.object({
@@ -243,7 +152,6 @@ var registryBaseColorSchema = z.object({
243
152
  }),
244
153
  templates: z.object({
245
154
  tailwind: z.object({
246
- withoutVariables: z.string(),
247
155
  withVariables: z.string()
248
156
  }),
249
157
  css: z.object({
@@ -261,7 +169,6 @@ var rawConfigSchema = z.object({
261
169
  baseColor: commonFields.baseColor,
262
170
  tailwind: z.object({
263
171
  config: tailwindFields.config,
264
- cssVariables: tailwindFields.cssVariables,
265
172
  prefix: tailwindFields.prefix
266
173
  }),
267
174
  aliases: z.object({
@@ -394,28 +301,15 @@ import path3 from "pathe";
394
301
 
395
302
  // ../../apps/docs/src/lib/registry/colors.ts
396
303
  var baseColors = [
397
- { name: "slate", label: "Slate" },
398
- { name: "gray", label: "Gray" },
399
304
  { name: "zinc", label: "Zinc" },
400
- { name: "neutral", label: "Neutral" },
401
- { name: "stone", label: "Stone" },
305
+ { name: "gray", label: "Gray" },
306
+ { name: "blue", label: "Blue" },
307
+ { name: "rose", label: "Rose" },
402
308
  { name: "red", label: "Red" },
403
309
  { name: "orange", label: "Orange" },
404
- { name: "amber", label: "Amber" },
405
310
  { name: "yellow", label: "Yellow" },
406
- { name: "lime", label: "Lime" },
407
311
  { name: "green", label: "Green" },
408
- { name: "emerald", label: "Emerald" },
409
- { name: "teal", label: "Teal" },
410
- { name: "cyan", label: "Cyan" },
411
- { name: "sky", label: "Sky" },
412
- { name: "blue", label: "Blue" },
413
- { name: "indigo", label: "Indigo" },
414
- { name: "violet", label: "Violet" },
415
- { name: "purple", label: "Purple" },
416
- { name: "fuchsia", label: "Fuchsia" },
417
- { name: "pink", label: "Pink" },
418
- { name: "rose", label: "Rose" }
312
+ { name: "violet", label: "Violet" }
419
313
  ];
420
314
 
421
315
  // src/utils/registry/index.ts
@@ -928,9 +822,10 @@ import { Command as Command3 } from "commander";
928
822
  import { template } from "lodash-es";
929
823
  import ora2 from "ora";
930
824
  import prompts2 from "prompts";
931
- import { addDependency as addDependency2, addDevDependency as addDevDependency2 } from "nypm";
825
+ import { addDependency as addDependency2, addDevDependency as addDevDependency2, detectPackageManager as detectPackageManager2 } from "nypm";
932
826
  import { consola as consola5 } from "consola";
933
827
  import { colors as colors4 } from "consola/utils";
828
+ import { execSync as execSync2 } from "node:child_process";
934
829
 
935
830
  // ../../node_modules/.pnpm/prettier@3.5.0/node_modules/prettier/index.mjs
936
831
  import { createRequire as __prettierCreateRequire } from "module";
@@ -15674,7 +15569,7 @@ var column;
15674
15569
  var token;
15675
15570
  var key;
15676
15571
  var root;
15677
- var parse22 = function parse3(text, reviver) {
15572
+ var parse2 = function parse3(text, reviver) {
15678
15573
  source = String(text);
15679
15574
  parseState = "start";
15680
15575
  stack = [];
@@ -16505,7 +16400,7 @@ function syntaxError(message) {
16505
16400
  err.columnNumber = column;
16506
16401
  return err;
16507
16402
  }
16508
- var dist_default = { parse: parse22 };
16403
+ var dist_default = { parse: parse2 };
16509
16404
  var import_code_frame = __toESM(require_lib2(), 1);
16510
16405
  var safeLastIndexOf = (string, searchString, index) => index < 0 ? -1 : string.lastIndexOf(searchString, index);
16511
16406
  function getPosition(text, textIndex) {
@@ -23832,7 +23727,7 @@ var debugApis = {
23832
23727
  var src_default = index_exports;
23833
23728
 
23834
23729
  // src/commands/init.ts
23835
- import { Project as Project2, SyntaxKind as SyntaxKind3 } from "ts-morph";
23730
+ import { Project as Project2, SyntaxKind as SyntaxKind2 } from "ts-morph";
23836
23731
 
23837
23732
  // src/utils/get-project-info.ts
23838
23733
  import { existsSync as existsSync4 } from "node:fs";
@@ -23900,8 +23795,27 @@ function transformCJSToESM(filename, code) {
23900
23795
  }
23901
23796
 
23902
23797
  // src/utils/transformers/transform-tw-prefix.ts
23903
- import { SyntaxKind as SyntaxKind2 } from "ts-morph";
23904
- import { MagicString as MagicString2, parse as parse7 } from "@vue/compiler-sfc";
23798
+ import { SyntaxKind } from "ts-morph";
23799
+ import { MagicString, parse as parse7 } from "@vue/compiler-sfc";
23800
+
23801
+ // src/utils/transformers/transform-css-vars.ts
23802
+ function splitClassName(className) {
23803
+ if (!className.includes("/") && !className.includes(":")) {
23804
+ return [null, className, null];
23805
+ }
23806
+ const parts = [];
23807
+ const [rest, alpha] = className.split("/");
23808
+ if (!rest.includes(":")) {
23809
+ return [null, rest, alpha];
23810
+ }
23811
+ const split = rest.split(":");
23812
+ const name = split.pop();
23813
+ const variant = split.join(":");
23814
+ parts.push(variant ?? null, name ?? null, alpha ?? null);
23815
+ return parts;
23816
+ }
23817
+
23818
+ // src/utils/transformers/transform-tw-prefix.ts
23905
23819
  function applyPrefix(input, prefix = "") {
23906
23820
  const classNames = input.split(" ");
23907
23821
  const prefixed = [];
@@ -23966,45 +23880,6 @@ export function cn(...inputs: ClassValue[]) {
23966
23880
  `;
23967
23881
  var TAILWIND_CONFIG_TEMPLATE = `const animate = require("tailwindcss-animate")
23968
23882
 
23969
- /** @type {import('tailwindcss').Config} */
23970
- module.exports = {
23971
- darkMode: ["class"],
23972
- content: [
23973
- './pages/**/*.{<%- extension %>,<%- extension %>x,vue}',
23974
- './components/**/*.{<%- extension %>,<%- extension %>x,vue}',
23975
- './app/**/*.{<%- extension %>,<%- extension %>x,vue}',
23976
- './src/**/*.{<%- extension %>,<%- extension %>x,vue}',
23977
- ],
23978
- prefix: "<%- prefix %>",
23979
- theme: {
23980
- container: {
23981
- center: true,
23982
- padding: "2rem",
23983
- screens: {
23984
- "2xl": "1400px",
23985
- },
23986
- },
23987
- extend: {
23988
- keyframes: {
23989
- "accordion-down": {
23990
- from: { height: 0 },
23991
- to: { height: "var(--reka-accordion-content-height)" },
23992
- },
23993
- "accordion-up": {
23994
- from: { height: "var(--reka-accordion-content-height)" },
23995
- to: { height: 0 },
23996
- },
23997
- },
23998
- animation: {
23999
- "accordion-down": "accordion-down 0.2s ease-out",
24000
- "accordion-up": "accordion-up 0.2s ease-out",
24001
- },
24002
- },
24003
- },
24004
- plugins: [animate],
24005
- }`;
24006
- var TAILWIND_CONFIG_WITH_VARIABLES_TEMPLATE = `const animate = require("tailwindcss-animate")
24007
-
24008
23883
  /** @type {import('tailwindcss').Config} */
24009
23884
  module.exports = {
24010
23885
  darkMode: ["class"],
@@ -24606,14 +24481,6 @@ async function promptForConfig(cwd, defaultConfig = null, skip2 = false) {
24606
24481
  message: `Specify the path to ${highlight("global CSS")} file ${colors4.gray("(it will be overwritten / created)")}`,
24607
24482
  initial: (_, values) => defaultConfig?.cssPath ?? TAILWIND_CSS_PATH[values.framework]
24608
24483
  },
24609
- {
24610
- type: (_, answers) => answers.styleSystem === "tailwind" ? "toggle" : null,
24611
- name: "tailwindCssVariables",
24612
- message: `Generate and use ${highlight("CSS variables")} for colors and other parameters? ${colors4.gray("(recommended)")}`,
24613
- initial: defaultConfig?.tailwind.cssVariables ?? true,
24614
- active: "yes",
24615
- inactive: "no"
24616
- },
24617
24484
  {
24618
24485
  type: "text",
24619
24486
  name: "components",
@@ -24660,8 +24527,7 @@ function createConfig(options8) {
24660
24527
  cssPath: options8.cssPath,
24661
24528
  baseColor: options8.tailwindBaseColor,
24662
24529
  tailwind: {
24663
- config: options8.tailwindConfig || "",
24664
- cssVariables: options8.tailwindCssVariables
24530
+ config: options8.tailwindConfig || ""
24665
24531
  },
24666
24532
  aliases: {
24667
24533
  utils: options8.utils || "",
@@ -24705,9 +24571,7 @@ async function writeFiles(config) {
24705
24571
  writeFilesSpinner?.succeed();
24706
24572
  }
24707
24573
  async function writeTailwindConfig(config) {
24708
- const unformattedConfig = template(
24709
- config.tailwind.cssVariables ? TAILWIND_CONFIG_WITH_VARIABLES_TEMPLATE : TAILWIND_CONFIG_TEMPLATE
24710
- )({
24574
+ const unformattedConfig = template(TAILWIND_CONFIG_TEMPLATE)({
24711
24575
  framework: config.framework,
24712
24576
  prefix: config.tailwind.prefix,
24713
24577
  extension: "ts"
@@ -24734,11 +24598,7 @@ async function writeCssFile(config) {
24734
24598
  const file = config.resolvedPaths.tailwindCss;
24735
24599
  let data = "";
24736
24600
  if (config.styleSystem === "tailwind") {
24737
- if (config.tailwind.cssVariables) {
24738
- data = config.tailwind.prefix ? applyPrefixesCss(baseColorData.templates.tailwind.withVariables, config.tailwind.prefix) : baseColorData.templates.tailwind.withVariables;
24739
- } else {
24740
- data = baseColorData.templates.tailwind.withoutVariables;
24741
- }
24601
+ data = config.tailwind.prefix ? applyPrefixesCss(baseColorData.templates.tailwind.withVariables, config.tailwind.prefix) : baseColorData.templates.tailwind.withVariables;
24742
24602
  } else if (config.styleSystem === "css") {
24743
24603
  data = baseColorData.templates.css.withVariables;
24744
24604
  if (config.generatePreflight) {
@@ -24788,22 +24648,53 @@ async function installDependencies2(config, cwd) {
24788
24648
  }
24789
24649
  const deps = [...baseDeps, ...PROJECT_DEPENDENCIES.sharedBase].filter(Boolean);
24790
24650
  const devDeps = baseDevDeps.filter(Boolean);
24791
- await Promise.allSettled(
24792
- [
24793
- config.framework === "nuxt" && await addDevDependency2(PROJECT_DEPENDENCIES.nuxt, {
24794
- cwd,
24795
- silent: true
24796
- }),
24797
- await addDependency2(deps, {
24798
- cwd,
24799
- silent: true
24800
- }),
24801
- devDeps.length > 0 && await addDevDependency2(devDeps, {
24802
- cwd,
24803
- silent: true
24804
- })
24805
- ]
24806
- );
24651
+ const installTasks = [
24652
+ config.framework === "nuxt" && PROJECT_DEPENDENCIES.nuxt.length && { type: "devDependencies", deps: PROJECT_DEPENDENCIES.nuxt, installer: addDevDependency2 },
24653
+ deps.length && { type: "dependencies", deps, installer: addDependency2 },
24654
+ devDeps.length && { type: "devDependencies", deps: devDeps, installer: addDevDependency2 }
24655
+ ].filter(Boolean);
24656
+ for (const task of installTasks) {
24657
+ try {
24658
+ dependenciesSpinner.text = `Installing ${task.type}...`;
24659
+ await task.installer(task.deps, { cwd, silent: true });
24660
+ } catch (error) {
24661
+ consola5.warn(`nypm failed to install ${task.type}:`, error);
24662
+ const isCorepackError = error instanceof Error && error.message?.includes("corepack");
24663
+ if (isCorepackError) {
24664
+ consola5.info(`Falling back to direct package manager execution for ${task.type}...`);
24665
+ const pm = await detectPackageManager2(cwd);
24666
+ let command = "";
24667
+ const depsString = task.deps.join(" ");
24668
+ const devFlag = task.type === "devDependencies" ? "-D " : "";
24669
+ switch (pm?.name) {
24670
+ case "npm":
24671
+ command = `npm install ${devFlag}${depsString}`;
24672
+ break;
24673
+ case "yarn":
24674
+ command = `yarn add ${devFlag}${depsString}`;
24675
+ break;
24676
+ case "bun":
24677
+ command = `bun add ${devFlag}${depsString}`;
24678
+ break;
24679
+ case "pnpm":
24680
+ default:
24681
+ command = `pnpm add ${devFlag}${depsString}`;
24682
+ break;
24683
+ }
24684
+ try {
24685
+ consola5.info(`Running: ${command}`);
24686
+ execSync2(command, { cwd, stdio: "inherit" });
24687
+ consola5.success(`Successfully installed ${task.type} using direct package manager execution.`);
24688
+ } catch (fallbackError) {
24689
+ const errorMessage = fallbackError instanceof Error ? fallbackError.message : "Unknown error";
24690
+ consola5.error(`Fallback package manager execution failed for ${task.type}:`, errorMessage);
24691
+ }
24692
+ } else {
24693
+ const errorMessage = error instanceof Error ? error.message : "Unknown error";
24694
+ consola5.error(`Failed to install ${task.type} using nypm: ${errorMessage}`);
24695
+ }
24696
+ }
24697
+ }
24807
24698
  dependenciesSpinner?.succeed();
24808
24699
  }
24809
24700
  async function ensureDirectoriesExist(config) {
@@ -24852,17 +24743,17 @@ async function updateViteConfig() {
24852
24743
  return;
24853
24744
  }
24854
24745
  const configObject = exportAssignment.getExpression();
24855
- if (!configObject.asKind(SyntaxKind3.CallExpression)) {
24746
+ if (!configObject.asKind(SyntaxKind2.CallExpression)) {
24856
24747
  consola5.warn("Default export is not a defineConfig call");
24857
24748
  return;
24858
24749
  }
24859
- const defineConfigCall = configObject.asKindOrThrow(SyntaxKind3.CallExpression);
24750
+ const defineConfigCall = configObject.asKindOrThrow(SyntaxKind2.CallExpression);
24860
24751
  const configArg = defineConfigCall.getArguments()[0];
24861
- if (!configArg?.asKind(SyntaxKind3.ObjectLiteralExpression)) {
24752
+ if (!configArg?.asKind(SyntaxKind2.ObjectLiteralExpression)) {
24862
24753
  consola5.warn("defineConfig argument is not an object literal");
24863
24754
  return;
24864
24755
  }
24865
- const configObjLiteral = configArg.asKindOrThrow(SyntaxKind3.ObjectLiteralExpression);
24756
+ const configObjLiteral = configArg.asKindOrThrow(SyntaxKind2.ObjectLiteralExpression);
24866
24757
  sourceFile.addImportDeclaration({
24867
24758
  moduleSpecifier: "@tailwindcss/vite",
24868
24759
  defaultImport: "tailwindcss"
@@ -24879,16 +24770,16 @@ async function updateViteConfig() {
24879
24770
  consola5.warn("Could not create plugins property");
24880
24771
  return;
24881
24772
  }
24882
- const pluginsArray = pluginsProp.getFirstChildByKind(SyntaxKind3.ArrayLiteralExpression);
24773
+ const pluginsArray = pluginsProp.getFirstChildByKind(SyntaxKind2.ArrayLiteralExpression);
24883
24774
  if (!pluginsArray) {
24884
24775
  consola5.warn("Could not find or create plugins array");
24885
24776
  return;
24886
24777
  }
24887
24778
  const hasTailwindPlugin = pluginsArray.getElements().some((element) => {
24888
- if (element.getKind() !== SyntaxKind3.CallExpression) {
24779
+ if (element.getKind() !== SyntaxKind2.CallExpression) {
24889
24780
  return false;
24890
24781
  }
24891
- const callExpr = element.asKindOrThrow(SyntaxKind3.CallExpression);
24782
+ const callExpr = element.asKindOrThrow(SyntaxKind2.CallExpression);
24892
24783
  const expression = callExpr.getExpression();
24893
24784
  return expression.getText() === "tailwindcss";
24894
24785
  });