@zentauri-ui/zentauri-components 0.0.93 → 1.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 (142) hide show
  1. package/README.md +77 -34
  2. package/dist/chunk-B23TPTVG.mjs +11 -0
  3. package/dist/chunk-B23TPTVG.mjs.map +1 -0
  4. package/dist/{chunk-BZSIXBA7.js → chunk-BITDSQMR.js} +8 -6
  5. package/dist/chunk-BITDSQMR.js.map +1 -0
  6. package/dist/{chunk-VJHD7QZH.mjs → chunk-BORK3BJO.mjs} +4 -7
  7. package/dist/chunk-BORK3BJO.mjs.map +1 -0
  8. package/dist/chunk-WZ2GOU2J.js +13 -0
  9. package/dist/chunk-WZ2GOU2J.js.map +1 -0
  10. package/dist/ui/accordion.d.mts +1 -1
  11. package/dist/ui/accordion.d.ts +1 -1
  12. package/dist/ui/accordion.js +80 -61
  13. package/dist/ui/accordion.js.map +1 -1
  14. package/dist/ui/accordion.mjs +46 -39
  15. package/dist/ui/accordion.mjs.map +1 -1
  16. package/dist/ui/alert.d.mts +1 -1
  17. package/dist/ui/alert.d.ts +1 -1
  18. package/dist/ui/alert.js +57 -46
  19. package/dist/ui/alert.js.map +1 -1
  20. package/dist/ui/alert.mjs +28 -30
  21. package/dist/ui/alert.mjs.map +1 -1
  22. package/dist/ui/avatar.d.mts +59 -0
  23. package/dist/ui/avatar.d.ts +59 -0
  24. package/dist/ui/avatar.js +221 -0
  25. package/dist/ui/avatar.js.map +1 -0
  26. package/dist/ui/avatar.mjs +211 -0
  27. package/dist/ui/avatar.mjs.map +1 -0
  28. package/dist/ui/badge.js +20 -25
  29. package/dist/ui/badge.js.map +1 -1
  30. package/dist/ui/badge.mjs +8 -20
  31. package/dist/ui/badge.mjs.map +1 -1
  32. package/dist/ui/breadcrumb.d.mts +71 -0
  33. package/dist/ui/breadcrumb.d.ts +71 -0
  34. package/dist/ui/breadcrumb.js +174 -0
  35. package/dist/ui/breadcrumb.js.map +1 -0
  36. package/dist/ui/breadcrumb.mjs +161 -0
  37. package/dist/ui/breadcrumb.mjs.map +1 -0
  38. package/dist/ui/buttons.js +19 -21
  39. package/dist/ui/buttons.js.map +1 -1
  40. package/dist/ui/buttons.mjs +8 -18
  41. package/dist/ui/buttons.mjs.map +1 -1
  42. package/dist/ui/card.js +59 -54
  43. package/dist/ui/card.js.map +1 -1
  44. package/dist/ui/card.mjs +29 -39
  45. package/dist/ui/card.mjs.map +1 -1
  46. package/dist/ui/divider.js +39 -35
  47. package/dist/ui/divider.js.map +1 -1
  48. package/dist/ui/divider.mjs +18 -23
  49. package/dist/ui/divider.mjs.map +1 -1
  50. package/dist/ui/drawer.d.mts +1 -1
  51. package/dist/ui/drawer.d.ts +1 -1
  52. package/dist/ui/drawer.js +106 -73
  53. package/dist/ui/drawer.js.map +1 -1
  54. package/dist/ui/drawer.mjs +64 -45
  55. package/dist/ui/drawer.mjs.map +1 -1
  56. package/dist/ui/dropdown.js +42 -48
  57. package/dist/ui/dropdown.js.map +1 -1
  58. package/dist/ui/dropdown.mjs +13 -29
  59. package/dist/ui/dropdown.mjs.map +1 -1
  60. package/dist/ui/empty-state.d.mts +3 -3
  61. package/dist/ui/empty-state.d.ts +3 -3
  62. package/dist/ui/empty-state.js +83 -59
  63. package/dist/ui/empty-state.js.map +1 -1
  64. package/dist/ui/empty-state.mjs +64 -52
  65. package/dist/ui/empty-state.mjs.map +1 -1
  66. package/dist/ui/file-upload.d.mts +32 -0
  67. package/dist/ui/file-upload.d.ts +32 -0
  68. package/dist/ui/file-upload.js +142 -0
  69. package/dist/ui/file-upload.js.map +1 -0
  70. package/dist/ui/file-upload.mjs +139 -0
  71. package/dist/ui/file-upload.mjs.map +1 -0
  72. package/dist/ui/inputs.js +26 -31
  73. package/dist/ui/inputs.js.map +1 -1
  74. package/dist/ui/inputs.mjs +8 -19
  75. package/dist/ui/inputs.mjs.map +1 -1
  76. package/dist/ui/modal.d.mts +1 -1
  77. package/dist/ui/modal.d.ts +1 -1
  78. package/dist/ui/modal.js +116 -78
  79. package/dist/ui/modal.js.map +1 -1
  80. package/dist/ui/modal.mjs +74 -51
  81. package/dist/ui/modal.mjs.map +1 -1
  82. package/dist/ui/pagination.js +47 -60
  83. package/dist/ui/pagination.js.map +1 -1
  84. package/dist/ui/pagination.mjs +10 -32
  85. package/dist/ui/pagination.mjs.map +1 -1
  86. package/dist/ui/progress.js +70 -58
  87. package/dist/ui/progress.js.map +1 -1
  88. package/dist/ui/progress.mjs +44 -43
  89. package/dist/ui/progress.mjs.map +1 -1
  90. package/dist/ui/select.js +73 -81
  91. package/dist/ui/select.js.map +1 -1
  92. package/dist/ui/select.mjs +38 -59
  93. package/dist/ui/select.mjs.map +1 -1
  94. package/dist/ui/skeleton.js +45 -50
  95. package/dist/ui/skeleton.js.map +1 -1
  96. package/dist/ui/skeleton.mjs +8 -25
  97. package/dist/ui/skeleton.mjs.map +1 -1
  98. package/dist/ui/slider.d.mts +83 -0
  99. package/dist/ui/slider.d.ts +83 -0
  100. package/dist/ui/slider.js +521 -0
  101. package/dist/ui/slider.js.map +1 -0
  102. package/dist/ui/slider.mjs +511 -0
  103. package/dist/ui/slider.mjs.map +1 -0
  104. package/dist/ui/spinner.js +37 -38
  105. package/dist/ui/spinner.js.map +1 -1
  106. package/dist/ui/spinner.mjs +11 -18
  107. package/dist/ui/spinner.mjs.map +1 -1
  108. package/dist/ui/stepper.d.mts +64 -0
  109. package/dist/ui/stepper.d.ts +64 -0
  110. package/dist/ui/stepper.js +207 -0
  111. package/dist/ui/stepper.js.map +1 -0
  112. package/dist/ui/stepper.mjs +198 -0
  113. package/dist/ui/stepper.mjs.map +1 -0
  114. package/dist/ui/table.js +77 -79
  115. package/dist/ui/table.js.map +1 -1
  116. package/dist/ui/table.mjs +43 -60
  117. package/dist/ui/table.mjs.map +1 -1
  118. package/dist/ui/tabs.js +75 -75
  119. package/dist/ui/tabs.js.map +1 -1
  120. package/dist/ui/tabs.mjs +48 -59
  121. package/dist/ui/tabs.mjs.map +1 -1
  122. package/dist/ui/toast.d.mts +2 -2
  123. package/dist/ui/toast.d.ts +2 -2
  124. package/dist/ui/toast.js +111 -88
  125. package/dist/ui/toast.js.map +1 -1
  126. package/dist/ui/toast.mjs +77 -69
  127. package/dist/ui/toast.mjs.map +1 -1
  128. package/dist/ui/toggle.js +26 -28
  129. package/dist/ui/toggle.js.map +1 -1
  130. package/dist/ui/toggle.mjs +12 -21
  131. package/dist/ui/toggle.mjs.map +1 -1
  132. package/dist/ui/tooltip.js +29 -36
  133. package/dist/ui/tooltip.js.map +1 -1
  134. package/dist/ui/tooltip.mjs +8 -23
  135. package/dist/ui/tooltip.mjs.map +1 -1
  136. package/package.json +5 -3
  137. package/dist/chunk-BZSIXBA7.js.map +0 -1
  138. package/dist/chunk-E5UX537J.js +0 -11
  139. package/dist/chunk-E5UX537J.js.map +0 -1
  140. package/dist/chunk-MEWYFWBX.mjs +0 -14
  141. package/dist/chunk-MEWYFWBX.mjs.map +0 -1
  142. package/dist/chunk-VJHD7QZH.mjs.map +0 -1
@@ -1,12 +1,9 @@
1
1
  "use client";
2
-
3
- import {
4
- cn
5
- } from "../chunk-MEWYFWBX.mjs";
6
-
7
- // src/ui/progress/progress.tsx
8
- import { createContext, useContext, useMemo } from "react";
9
- import { motion } from "framer-motion";
2
+ import { cn } from '../chunk-B23TPTVG.mjs';
3
+ import { createContext, useMemo, useContext } from 'react';
4
+ import { motion } from 'framer-motion';
5
+ import { cva } from 'class-variance-authority';
6
+ import { jsx, Fragment } from 'react/jsx-runtime';
10
7
 
11
8
  // src/ui/progress/animations.ts
12
9
  var progressAnimationPresets = {
@@ -16,9 +13,6 @@ var progressAnimationPresets = {
16
13
  transition: { repeat: Infinity, duration: 1.2, ease: "linear" }
17
14
  }
18
15
  };
19
-
20
- // src/ui/progress/variants.ts
21
- import { cva } from "class-variance-authority";
22
16
  var progressVariants = cva("w-full text-slate-50", {
23
17
  variants: {
24
18
  appearance: {
@@ -76,26 +70,29 @@ var progressVariants = cva("w-full text-slate-50", {
76
70
  animated: false
77
71
  }
78
72
  });
79
- var progressTrackVariants = cva("relative w-full overflow-hidden bg-white/10", {
80
- variants: {
81
- size: {
82
- xs: "h-1",
83
- sm: "h-1.5",
84
- md: "h-2",
85
- lg: "h-3",
86
- xl: "h-4"
73
+ var progressTrackVariants = cva(
74
+ "relative w-full overflow-hidden bg-white/10",
75
+ {
76
+ variants: {
77
+ size: {
78
+ xs: "h-1",
79
+ sm: "h-1.5",
80
+ md: "h-2",
81
+ lg: "h-3",
82
+ xl: "h-4"
83
+ },
84
+ shape: {
85
+ flat: "rounded-none",
86
+ rounded: "rounded-md",
87
+ pill: "rounded-full"
88
+ }
87
89
  },
88
- shape: {
89
- flat: "rounded-none",
90
- rounded: "rounded-md",
91
- pill: "rounded-full"
90
+ defaultVariants: {
91
+ size: "md",
92
+ shape: "rounded"
92
93
  }
93
- },
94
- defaultVariants: {
95
- size: "md",
96
- shape: "rounded"
97
94
  }
98
- });
95
+ );
99
96
  var progressBarVariants = cva(
100
97
  "h-full w-full origin-left rounded-[inherit]",
101
98
  {
@@ -108,9 +105,6 @@ var progressBarVariants = cva(
108
105
  defaultVariants: { striped: false }
109
106
  }
110
107
  );
111
-
112
- // src/ui/progress/progress.tsx
113
- import { Fragment, jsx } from "react/jsx-runtime";
114
108
  var ProgressContext = createContext(null);
115
109
  function useProgressContext(component) {
116
110
  const ctx = useContext(ProgressContext);
@@ -209,7 +203,14 @@ function ProgressBar({
209
203
  }
210
204
  ProgressBar.displayName = "ProgressBar";
211
205
  function ProgressLabel({ className, children }) {
212
- return /* @__PURE__ */ jsx("div", { "data-slot": "progress-label", className: cn("mb-2 font-medium text-slate-200", className), children });
206
+ return /* @__PURE__ */ jsx(
207
+ "div",
208
+ {
209
+ "data-slot": "progress-label",
210
+ className: cn("mb-2 font-medium text-slate-200", className),
211
+ children
212
+ }
213
+ );
213
214
  }
214
215
  ProgressLabel.displayName = "ProgressLabel";
215
216
  function ProgressValue({ className, children }) {
@@ -217,17 +218,17 @@ function ProgressValue({ className, children }) {
217
218
  const range = max - min;
218
219
  const pct = range === 0 ? 0 : Math.round((value - min) / range * 100);
219
220
  const content = children ?? `${pct}%`;
220
- return /* @__PURE__ */ jsx("div", { "data-slot": "progress-value", className: cn("mt-2 text-right text-slate-400", className), children: content });
221
+ return /* @__PURE__ */ jsx(
222
+ "div",
223
+ {
224
+ "data-slot": "progress-value",
225
+ className: cn("mt-2 text-right text-slate-400", className),
226
+ children: content
227
+ }
228
+ );
221
229
  }
222
230
  ProgressValue.displayName = "ProgressValue";
223
- export {
224
- Progress,
225
- ProgressBar,
226
- ProgressLabel,
227
- ProgressValue,
228
- progressAnimationPresets,
229
- progressBarVariants,
230
- progressTrackVariants,
231
- progressVariants
232
- };
231
+
232
+ export { Progress, ProgressBar, ProgressLabel, ProgressValue, progressAnimationPresets, progressBarVariants, progressTrackVariants, progressVariants };
233
+ //# sourceMappingURL=progress.mjs.map
233
234
  //# sourceMappingURL=progress.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/progress/progress.tsx","../../src/ui/progress/animations.ts","../../src/ui/progress/variants.ts"],"sourcesContent":["\"use client\";\n\nimport { createContext, useContext, useMemo } from \"react\";\nimport { motion } from \"framer-motion\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport { progressAnimationPresets } from \"./animations\";\nimport type { ProgressProps, ProgressSectionProps } from \"./types\";\nimport {\n progressBarVariants,\n progressTrackVariants,\n progressVariants,\n} from \"./variants\";\n\ntype ProgressCtx = {\n value: number;\n min: number;\n max: number;\n size: NonNullable<ProgressProps[\"size\"]>;\n shape: NonNullable<ProgressProps[\"shape\"]>;\n striped: boolean;\n animated: boolean;\n appearance: NonNullable<ProgressProps[\"appearance\"]>;\n};\n\nconst ProgressContext = createContext<ProgressCtx | null>(null);\n\nfunction useProgressContext(component: string): ProgressCtx {\n const ctx = useContext(ProgressContext);\n if (!ctx) {\n throw new Error(`${component} must be used within <Progress>`);\n }\n return ctx;\n}\n\nfunction clamp(value: number, min: number, max: number) {\n return Math.min(max, Math.max(min, value));\n}\n\nexport function Progress(props: ProgressProps) {\n const {\n className,\n appearance = \"default\",\n size = \"md\",\n shape = \"rounded\",\n striped = false,\n animated = false,\n animation = \"none\",\n value = 0,\n min = 0,\n max = 100,\n label,\n children,\n ref,\n ...rest\n } = props;\n const motionProps = progressAnimationPresets[animation];\n const clamped = clamp(value, min, max);\n const percent = max === min ? 0 : ((clamped - min) / (max - min)) * 100;\n\n const ctx = useMemo(\n () => ({\n value: clamped,\n min,\n max,\n size: size ?? \"md\",\n shape: shape ?? \"rounded\",\n striped: Boolean(striped),\n animated: Boolean(animated),\n appearance: appearance ?? \"default\",\n }),\n [animated, appearance, clamped, max, min, shape, size, striped],\n );\n\n return (\n <ProgressContext.Provider value={ctx}>\n <motion.div\n ref={ref}\n data-slot=\"progress\"\n role=\"progressbar\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={clamped}\n aria-label={label}\n className={cn(\n progressVariants({ appearance, size, shape, striped, animated }),\n className,\n )}\n initial={false}\n {...motionProps}\n {...rest}\n >\n {children ?? (\n <>\n <ProgressBar style={{ transform: `scaleX(${percent / 100})` }} />\n </>\n )}\n </motion.div>\n </ProgressContext.Provider>\n );\n}\n\nProgress.displayName = \"Progress\";\n\nexport function ProgressBar({\n className,\n style,\n ref,\n ...rest\n}: ProgressSectionProps & { style?: React.CSSProperties; ref?: React.Ref<HTMLDivElement> }) {\n const { size, shape, striped, animated } = useProgressContext(\"ProgressBar\");\n\n return (\n <div\n data-slot=\"progress-track\"\n className={cn(progressTrackVariants({ size, shape }), \"text-current\")}\n >\n <motion.div\n ref={ref}\n data-slot=\"progress-bar\"\n className={cn(progressBarVariants({ striped }), className)}\n style={{\n transformOrigin: \"left center\",\n ...style,\n }}\n animate={\n animated\n ? { x: [\"-30%\", \"0%\"], opacity: [0.85, 1] }\n : undefined\n }\n transition={\n animated\n ? { repeat: Infinity, duration: 1.1, ease: \"easeInOut\" }\n : undefined\n }\n {...rest}\n />\n </div>\n );\n}\n\nProgressBar.displayName = \"ProgressBar\";\n\nexport function ProgressLabel({ className, children }: ProgressSectionProps) {\n return (\n <div data-slot=\"progress-label\" className={cn(\"mb-2 font-medium text-slate-200\", className)}>\n {children}\n </div>\n );\n}\n\nProgressLabel.displayName = \"ProgressLabel\";\n\nexport function ProgressValue({ className, children }: ProgressSectionProps) {\n const { value, min, max } = useProgressContext(\"ProgressValue\");\n const range = max - min;\n const pct = range === 0 ? 0 : Math.round(((value - min) / range) * 100);\n const content = children ?? `${pct}%`;\n return (\n <div data-slot=\"progress-value\" className={cn(\"mt-2 text-right text-slate-400\", className)}>\n {content}\n </div>\n );\n}\n\nProgressValue.displayName = \"ProgressValue\";\n","import type { HTMLMotionProps } from \"framer-motion\";\n\nimport type { ProgressAnimation } from \"./types\";\n\ntype ProgressPresetMotionProps = Pick<\n HTMLMotionProps<\"div\">,\n \"transition\" | \"animate\"\n>;\n\nexport type ProgressAnimationPresets = Record<\n ProgressAnimation,\n ProgressPresetMotionProps\n>;\n\nexport const progressAnimationPresets: ProgressAnimationPresets = {\n none: {},\n shimmer: {\n animate: { backgroundPosition: [\"0% 0%\", \"100% 0%\"] },\n transition: { repeat: Infinity, duration: 1.2, ease: \"linear\" },\n },\n};\n","import { cva } from \"class-variance-authority\";\n\nexport const progressVariants = cva(\"w-full text-slate-50\", {\n variants: {\n appearance: {\n default: \"[--progress-fill:theme(colors.slate.50)]\",\n secondary: \"[--progress-fill:theme(colors.slate.300)]\",\n destructive: \"[--progress-fill:theme(colors.rose.400)]\",\n emerald: \"[--progress-fill:theme(colors.emerald.400)]\",\n indigo: \"[--progress-fill:theme(colors.indigo.400)]\",\n purple: \"[--progress-fill:theme(colors.purple.400)]\",\n pink: \"[--progress-fill:theme(colors.pink.400)]\",\n rose: \"[--progress-fill:theme(colors.rose.400)]\",\n sky: \"[--progress-fill:theme(colors.sky.400)]\",\n teal: \"[--progress-fill:theme(colors.teal.400)]\",\n yellow: \"[--progress-fill:theme(colors.yellow.400)]\",\n orange: \"[--progress-fill:theme(colors.orange.400)]\",\n outline: \"[--progress-fill:theme(colors.cyan.300)]\",\n ghost: \"[--progress-fill:theme(colors.slate.200)]\",\n glass: \"[--progress-fill:theme(colors.white)]\",\n \"gradient-blue\":\n \"[--progress-fill:linear-gradient(90deg,theme(colors.blue.500),theme(colors.purple.500))]\",\n \"gradient-green\":\n \"[--progress-fill:linear-gradient(90deg,theme(colors.green.500),theme(colors.lime.500))]\",\n \"gradient-red\":\n \"[--progress-fill:linear-gradient(90deg,theme(colors.red.500),theme(colors.pink.500))]\",\n \"gradient-yellow\":\n \"[--progress-fill:linear-gradient(90deg,theme(colors.yellow.500),theme(colors.orange.500))]\",\n \"gradient-purple\":\n \"[--progress-fill:linear-gradient(90deg,theme(colors.purple.500),theme(colors.pink.500))]\",\n \"gradient-teal\":\n \"[--progress-fill:linear-gradient(90deg,theme(colors.teal.500),theme(colors.cyan.500))]\",\n \"gradient-indigo\":\n \"[--progress-fill:linear-gradient(90deg,theme(colors.indigo.500),theme(colors.purple.500))]\",\n \"gradient-pink\":\n \"[--progress-fill:linear-gradient(90deg,theme(colors.pink.500),theme(colors.rose.500))]\",\n \"gradient-orange\":\n \"[--progress-fill:linear-gradient(90deg,theme(colors.orange.500),theme(colors.red.500))]\",\n },\n size: {\n xs: \"text-[0.65rem]\",\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n xl: \"text-lg\",\n },\n shape: {\n flat: \"rounded-none\",\n rounded: \"rounded-md\",\n pill: \"rounded-full\",\n },\n striped: {\n true: \"\",\n false: \"\",\n },\n animated: {\n true: \"\",\n false: \"\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n shape: \"rounded\",\n striped: false,\n animated: false,\n },\n});\n\nexport const progressTrackVariants = cva(\"relative w-full overflow-hidden bg-white/10\", {\n variants: {\n size: {\n xs: \"h-1\",\n sm: \"h-1.5\",\n md: \"h-2\",\n lg: \"h-3\",\n xl: \"h-4\",\n },\n shape: {\n flat: \"rounded-none\",\n rounded: \"rounded-md\",\n pill: \"rounded-full\",\n },\n },\n defaultVariants: {\n size: \"md\",\n shape: \"rounded\",\n },\n});\n\nexport const progressBarVariants = cva(\n \"h-full w-full origin-left rounded-[inherit]\",\n {\n variants: {\n striped: {\n true: \"bg-[repeating-linear-gradient(135deg,rgba(255,255,255,0.18)_0,rgba(255,255,255,0.18)_10px,transparent_10px,transparent_20px)]\",\n false: \"[background:var(--progress-fill)]\",\n },\n },\n defaultVariants: { striped: false },\n },\n);\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../src/ui/progress/animations.ts","../../src/ui/progress/variants.ts","../../src/ui/progress/progress.tsx"],"names":[],"mappings":"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","file":"progress.mjs","sourcesContent":["import type { HTMLMotionProps } from \"framer-motion\";\n\nimport type { ProgressAnimation } from \"./types\";\n\ntype ProgressPresetMotionProps = Pick<\n HTMLMotionProps<\"div\">,\n \"transition\" | \"animate\"\n>;\n\nexport type ProgressAnimationPresets = Record<\n ProgressAnimation,\n ProgressPresetMotionProps\n>;\n\nexport const progressAnimationPresets: ProgressAnimationPresets = {\n none: {},\n shimmer: {\n animate: { backgroundPosition: [\"0% 0%\", \"100% 0%\"] },\n transition: { repeat: Infinity, duration: 1.2, ease: \"linear\" },\n },\n};\n","import { cva } from \"class-variance-authority\";\n\nexport const progressVariants = cva(\"w-full text-slate-50\", {\n variants: {\n appearance: {\n default: \"[--progress-fill:theme(colors.slate.50)]\",\n secondary: \"[--progress-fill:theme(colors.slate.300)]\",\n destructive: \"[--progress-fill:theme(colors.rose.400)]\",\n emerald: \"[--progress-fill:theme(colors.emerald.400)]\",\n indigo: \"[--progress-fill:theme(colors.indigo.400)]\",\n purple: \"[--progress-fill:theme(colors.purple.400)]\",\n pink: \"[--progress-fill:theme(colors.pink.400)]\",\n rose: \"[--progress-fill:theme(colors.rose.400)]\",\n sky: \"[--progress-fill:theme(colors.sky.400)]\",\n teal: \"[--progress-fill:theme(colors.teal.400)]\",\n yellow: \"[--progress-fill:theme(colors.yellow.400)]\",\n orange: \"[--progress-fill:theme(colors.orange.400)]\",\n outline: \"[--progress-fill:theme(colors.cyan.300)]\",\n ghost: \"[--progress-fill:theme(colors.slate.200)]\",\n glass: \"[--progress-fill:theme(colors.white)]\",\n \"gradient-blue\":\n \"[--progress-fill:linear-gradient(90deg,theme(colors.blue.500),theme(colors.purple.500))]\",\n \"gradient-green\":\n \"[--progress-fill:linear-gradient(90deg,theme(colors.green.500),theme(colors.lime.500))]\",\n \"gradient-red\":\n \"[--progress-fill:linear-gradient(90deg,theme(colors.red.500),theme(colors.pink.500))]\",\n \"gradient-yellow\":\n \"[--progress-fill:linear-gradient(90deg,theme(colors.yellow.500),theme(colors.orange.500))]\",\n \"gradient-purple\":\n \"[--progress-fill:linear-gradient(90deg,theme(colors.purple.500),theme(colors.pink.500))]\",\n \"gradient-teal\":\n \"[--progress-fill:linear-gradient(90deg,theme(colors.teal.500),theme(colors.cyan.500))]\",\n \"gradient-indigo\":\n \"[--progress-fill:linear-gradient(90deg,theme(colors.indigo.500),theme(colors.purple.500))]\",\n \"gradient-pink\":\n \"[--progress-fill:linear-gradient(90deg,theme(colors.pink.500),theme(colors.rose.500))]\",\n \"gradient-orange\":\n \"[--progress-fill:linear-gradient(90deg,theme(colors.orange.500),theme(colors.red.500))]\",\n },\n size: {\n xs: \"text-[0.65rem]\",\n sm: \"text-xs\",\n md: \"text-sm\",\n lg: \"text-base\",\n xl: \"text-lg\",\n },\n shape: {\n flat: \"rounded-none\",\n rounded: \"rounded-md\",\n pill: \"rounded-full\",\n },\n striped: {\n true: \"\",\n false: \"\",\n },\n animated: {\n true: \"\",\n false: \"\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n shape: \"rounded\",\n striped: false,\n animated: false,\n },\n});\n\nexport const progressTrackVariants = cva(\n \"relative w-full overflow-hidden bg-white/10\",\n {\n variants: {\n size: {\n xs: \"h-1\",\n sm: \"h-1.5\",\n md: \"h-2\",\n lg: \"h-3\",\n xl: \"h-4\",\n },\n shape: {\n flat: \"rounded-none\",\n rounded: \"rounded-md\",\n pill: \"rounded-full\",\n },\n },\n defaultVariants: {\n size: \"md\",\n shape: \"rounded\",\n },\n },\n);\n\nexport const progressBarVariants = cva(\n \"h-full w-full origin-left rounded-[inherit]\",\n {\n variants: {\n striped: {\n true: \"bg-[repeating-linear-gradient(135deg,rgba(255,255,255,0.18)_0,rgba(255,255,255,0.18)_10px,transparent_10px,transparent_20px)]\",\n false: \"[background:var(--progress-fill)]\",\n },\n },\n defaultVariants: { striped: false },\n },\n);\n","\"use client\";\n\nimport { createContext, useContext, useMemo } from \"react\";\nimport { motion } from \"framer-motion\";\n\nimport { cn } from \"../../lib/utils\";\n\nimport { progressAnimationPresets } from \"./animations\";\nimport type { ProgressProps, ProgressSectionProps } from \"./types\";\nimport {\n progressBarVariants,\n progressTrackVariants,\n progressVariants,\n} from \"./variants\";\n\ntype ProgressCtx = {\n value: number;\n min: number;\n max: number;\n size: NonNullable<ProgressProps[\"size\"]>;\n shape: NonNullable<ProgressProps[\"shape\"]>;\n striped: boolean;\n animated: boolean;\n appearance: NonNullable<ProgressProps[\"appearance\"]>;\n};\n\nconst ProgressContext = createContext<ProgressCtx | null>(null);\n\nfunction useProgressContext(component: string): ProgressCtx {\n const ctx = useContext(ProgressContext);\n if (!ctx) {\n throw new Error(`${component} must be used within <Progress>`);\n }\n return ctx;\n}\n\nfunction clamp(value: number, min: number, max: number) {\n return Math.min(max, Math.max(min, value));\n}\n\nexport function Progress(props: ProgressProps) {\n const {\n className,\n appearance = \"default\",\n size = \"md\",\n shape = \"rounded\",\n striped = false,\n animated = false,\n animation = \"none\",\n value = 0,\n min = 0,\n max = 100,\n label,\n children,\n ref,\n ...rest\n } = props;\n const motionProps = progressAnimationPresets[animation];\n const clamped = clamp(value, min, max);\n const percent = max === min ? 0 : ((clamped - min) / (max - min)) * 100;\n\n const ctx = useMemo(\n () => ({\n value: clamped,\n min,\n max,\n size: size ?? \"md\",\n shape: shape ?? \"rounded\",\n striped: Boolean(striped),\n animated: Boolean(animated),\n appearance: appearance ?? \"default\",\n }),\n [animated, appearance, clamped, max, min, shape, size, striped],\n );\n\n return (\n <ProgressContext.Provider value={ctx}>\n <motion.div\n ref={ref}\n data-slot=\"progress\"\n role=\"progressbar\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={clamped}\n aria-label={label}\n className={cn(\n progressVariants({ appearance, size, shape, striped, animated }),\n className,\n )}\n initial={false}\n {...motionProps}\n {...rest}\n >\n {children ?? (\n <>\n <ProgressBar style={{ transform: `scaleX(${percent / 100})` }} />\n </>\n )}\n </motion.div>\n </ProgressContext.Provider>\n );\n}\n\nProgress.displayName = \"Progress\";\n\nexport function ProgressBar({\n className,\n style,\n ref,\n ...rest\n}: ProgressSectionProps & {\n style?: React.CSSProperties;\n ref?: React.Ref<HTMLDivElement>;\n}) {\n const { size, shape, striped, animated } = useProgressContext(\"ProgressBar\");\n\n return (\n <div\n data-slot=\"progress-track\"\n className={cn(progressTrackVariants({ size, shape }), \"text-current\")}\n >\n <motion.div\n ref={ref}\n data-slot=\"progress-bar\"\n className={cn(progressBarVariants({ striped }), className)}\n style={{\n transformOrigin: \"left center\",\n ...style,\n }}\n animate={\n animated ? { x: [\"-30%\", \"0%\"], opacity: [0.85, 1] } : undefined\n }\n transition={\n animated\n ? { repeat: Infinity, duration: 1.1, ease: \"easeInOut\" }\n : undefined\n }\n {...rest}\n />\n </div>\n );\n}\n\nProgressBar.displayName = \"ProgressBar\";\n\nexport function ProgressLabel({ className, children }: ProgressSectionProps) {\n return (\n <div\n data-slot=\"progress-label\"\n className={cn(\"mb-2 font-medium text-slate-200\", className)}\n >\n {children}\n </div>\n );\n}\n\nProgressLabel.displayName = \"ProgressLabel\";\n\nexport function ProgressValue({ className, children }: ProgressSectionProps) {\n const { value, min, max } = useProgressContext(\"ProgressValue\");\n const range = max - min;\n const pct = range === 0 ? 0 : Math.round(((value - min) / range) * 100);\n const content = children ?? `${pct}%`;\n return (\n <div\n data-slot=\"progress-value\"\n className={cn(\"mt-2 text-right text-slate-400\", className)}\n >\n {content}\n </div>\n );\n}\n\nProgressValue.displayName = \"ProgressValue\";\n"]}
package/dist/ui/select.js CHANGED
@@ -1,14 +1,12 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
1
+ "use client";
2
+ 'use strict';
2
3
 
3
- var _chunkE5UX537Jjs = require('../chunk-E5UX537J.js');
4
+ var chunkWZ2GOU2J_js = require('../chunk-WZ2GOU2J.js');
5
+ var react = require('react');
6
+ var classVarianceAuthority = require('class-variance-authority');
7
+ var jsxRuntime = require('react/jsx-runtime');
4
8
 
5
- // src/ui/select/select.tsx
6
- var _react = require('react');
7
-
8
-
9
- // src/ui/select/variants.ts
10
- var _classvarianceauthority = require('class-variance-authority');
11
- var selectTriggerVariants = _classvarianceauthority.cva.call(void 0,
9
+ var selectTriggerVariants = classVarianceAuthority.cva(
12
10
  "flex items-center justify-between rounded-md border transition-all focus:outline-none",
13
11
  {
14
12
  variants: {
@@ -48,44 +46,41 @@ var selectTriggerVariants = _classvarianceauthority.cva.call(void 0,
48
46
  }
49
47
  }
50
48
  );
51
- var selectItemVariants = _classvarianceauthority.cva.call(void 0,
52
- "cursor-pointer px-3 py-2 rounded-md",
53
- {
54
- variants: {
55
- appearance: {
56
- default: "bg-white text-gray-900 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900",
57
- glass: "bg-white/10 text-gray-100 data-[selected=true]:bg-white/10 data-[selected=true]:text-gray-100",
58
- outline: "border-2 border-gray-500 text-gray-900 data-[selected=true]:border-2 data-[selected=true]:border-gray-500 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900",
59
- ghost: "border-transparent text-gray-900 data-[selected=true]:border-transparent data-[selected=true]:bg-transparent data-[selected=true]:text-gray-900",
60
- sky: "border-sky-600 text-sky-800 data-[selected=true]:border-sky-600 data-[selected=true]:bg-sky-200 data-[selected=true]:text-sky-800",
61
- rose: "border-rose-600 text-rose-800 data-[selected=true]:border-rose-600 data-[selected=true]:bg-rose-200 data-[selected=true]:text-rose-800",
62
- purple: "border-purple-600 text-purple-800 data-[selected=true]:border-purple-600 data-[selected=true]:bg-purple-200 data-[selected=true]:text-purple-800",
63
- pink: "border-pink-600 text-pink-800 data-[selected=true]:border-pink-600 data-[selected=true]:bg-pink-200 data-[selected=true]:text-pink-800",
64
- orange: "border-orange-600 text-orange-800 data-[selected=true]:border-orange-600 data-[selected=true]:bg-orange-200 data-[selected=true]:text-orange-800",
65
- yellow: "border-yellow-600 text-yellow-800 data-[selected=true]:border-yellow-600 data-[selected=true]:bg-yellow-200 data-[selected=true]:text-yellow-800",
66
- teal: "border-teal-600 text-teal-800 data-[selected=true]:border-teal-600 data-[selected=true]:bg-teal-200 data-[selected=true]:text-teal-800",
67
- indigo: "border-indigo-600 text-indigo-800 data-[selected=true]:border-indigo-600 data-[selected=true]:bg-indigo-200 data-[selected=true]:text-indigo-800",
68
- emerald: "border-emerald-600 text-emerald-800 data-[selected=true]:border-emerald-600 data-[selected=true]:bg-emerald-200 data-[selected=true]:text-emerald-800",
69
- "gradient-blue": "bg-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl text-blue-50 data-[selected=true]:bg-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl data-[selected=true]:text-blue-100",
70
- "gradient-green": "bg-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl text-green-50 data-[selected=true]:bg-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl data-[selected=true]:text-green-100",
71
- "gradient-red": "bg-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl text-red-50 data-[selected=true]:bg-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl data-[selected=true]:text-red-100",
72
- "gradient-yellow": "bg-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl text-yellow-50 data-[selected=true]:bg-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl data-[selected=true]:text-yellow-100",
73
- "gradient-purple": "bg-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl text-purple-50 data-[selected=true]:bg-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl data-[selected=true]:text-purple-100",
74
- "gradient-teal": "bg-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl text-teal-50 data-[selected=true]:bg-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl data-[selected=true]:text-teal-100",
75
- "gradient-indigo": "bg-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl text-indigo-50 data-[selected=true]:bg-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl data-[selected=true]:text-indigo-100",
76
- "gradient-pink": "bg-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl text-pink-50 data-[selected=true]:bg-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl data-[selected=true]:text-pink-100",
77
- "gradient-orange": "bg-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl text-orange-50 data-[selected=true]:bg-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl data-[selected=true]:text-orange-100"
78
- },
79
- disabled: {
80
- true: "opacity-50 cursor-not-allowed"
81
- }
49
+ var selectItemVariants = classVarianceAuthority.cva("cursor-pointer px-3 py-2 rounded-md", {
50
+ variants: {
51
+ appearance: {
52
+ default: "bg-white text-gray-900 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900",
53
+ glass: "bg-white/10 text-gray-100 data-[selected=true]:bg-white/10 data-[selected=true]:text-gray-100",
54
+ outline: "border-2 border-gray-500 text-gray-900 data-[selected=true]:border-2 data-[selected=true]:border-gray-500 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900",
55
+ ghost: "border-transparent text-gray-900 data-[selected=true]:border-transparent data-[selected=true]:bg-transparent data-[selected=true]:text-gray-900",
56
+ sky: "border-sky-600 text-sky-800 data-[selected=true]:border-sky-600 data-[selected=true]:bg-sky-200 data-[selected=true]:text-sky-800",
57
+ rose: "border-rose-600 text-rose-800 data-[selected=true]:border-rose-600 data-[selected=true]:bg-rose-200 data-[selected=true]:text-rose-800",
58
+ purple: "border-purple-600 text-purple-800 data-[selected=true]:border-purple-600 data-[selected=true]:bg-purple-200 data-[selected=true]:text-purple-800",
59
+ pink: "border-pink-600 text-pink-800 data-[selected=true]:border-pink-600 data-[selected=true]:bg-pink-200 data-[selected=true]:text-pink-800",
60
+ orange: "border-orange-600 text-orange-800 data-[selected=true]:border-orange-600 data-[selected=true]:bg-orange-200 data-[selected=true]:text-orange-800",
61
+ yellow: "border-yellow-600 text-yellow-800 data-[selected=true]:border-yellow-600 data-[selected=true]:bg-yellow-200 data-[selected=true]:text-yellow-800",
62
+ teal: "border-teal-600 text-teal-800 data-[selected=true]:border-teal-600 data-[selected=true]:bg-teal-200 data-[selected=true]:text-teal-800",
63
+ indigo: "border-indigo-600 text-indigo-800 data-[selected=true]:border-indigo-600 data-[selected=true]:bg-indigo-200 data-[selected=true]:text-indigo-800",
64
+ emerald: "border-emerald-600 text-emerald-800 data-[selected=true]:border-emerald-600 data-[selected=true]:bg-emerald-200 data-[selected=true]:text-emerald-800",
65
+ "gradient-blue": "bg-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl text-blue-50 data-[selected=true]:bg-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl data-[selected=true]:text-blue-100",
66
+ "gradient-green": "bg-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl text-green-50 data-[selected=true]:bg-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl data-[selected=true]:text-green-100",
67
+ "gradient-red": "bg-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl text-red-50 data-[selected=true]:bg-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl data-[selected=true]:text-red-100",
68
+ "gradient-yellow": "bg-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl text-yellow-50 data-[selected=true]:bg-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl data-[selected=true]:text-yellow-100",
69
+ "gradient-purple": "bg-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl text-purple-50 data-[selected=true]:bg-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl data-[selected=true]:text-purple-100",
70
+ "gradient-teal": "bg-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl text-teal-50 data-[selected=true]:bg-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl data-[selected=true]:text-teal-100",
71
+ "gradient-indigo": "bg-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl text-indigo-50 data-[selected=true]:bg-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl data-[selected=true]:text-indigo-100",
72
+ "gradient-pink": "bg-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl text-pink-50 data-[selected=true]:bg-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl data-[selected=true]:text-pink-100",
73
+ "gradient-orange": "bg-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl text-orange-50 data-[selected=true]:bg-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl data-[selected=true]:text-orange-100"
82
74
  },
83
- defaultVariants: {
84
- appearance: "default"
75
+ disabled: {
76
+ true: "opacity-50 cursor-not-allowed"
85
77
  }
78
+ },
79
+ defaultVariants: {
80
+ appearance: "default"
86
81
  }
87
- );
88
- var selectContentVariants = _classvarianceauthority.cva.call(void 0,
82
+ });
83
+ var selectContentVariants = classVarianceAuthority.cva(
89
84
  "absolute z-10 mt-2 w-full rounded-md border bg-white shadow-md",
90
85
  {
91
86
  variants: {
@@ -134,12 +129,9 @@ var selectContentVariants = _classvarianceauthority.cva.call(void 0,
134
129
  }
135
130
  }
136
131
  );
137
-
138
- // src/ui/select/select.tsx
139
- var _jsxruntime = require('react/jsx-runtime');
140
- var SelectContext = _react.createContext.call(void 0, null);
132
+ var SelectContext = react.createContext(null);
141
133
  var useSelect = () => {
142
- const ctx = _react.useContext.call(void 0, SelectContext);
134
+ const ctx = react.useContext(SelectContext);
143
135
  if (!ctx) throw new Error("Select components must be used inside Select");
144
136
  return ctx;
145
137
  };
@@ -150,12 +142,12 @@ var Select = ({
150
142
  onChange,
151
143
  multiple = true
152
144
  }) => {
153
- const [internal, setInternal] = _react.useState.call(void 0, defaultValue);
154
- const [open, setOpen] = _react.useState.call(void 0, false);
155
- const [options, setOptions] = _react.useState.call(void 0, []);
156
- const rootRef = _react.useRef.call(void 0, null);
157
- const selected = _nullishCoalesce(value, () => ( internal));
158
- _react.useEffect.call(void 0, () => {
145
+ const [internal, setInternal] = react.useState(defaultValue);
146
+ const [open, setOpen] = react.useState(false);
147
+ const [options, setOptions] = react.useState([]);
148
+ const rootRef = react.useRef(null);
149
+ const selected = value ?? internal;
150
+ react.useEffect(() => {
159
151
  if (!open) return;
160
152
  const handlePointerDown = (event) => {
161
153
  const root = rootRef.current;
@@ -170,10 +162,10 @@ var Select = ({
170
162
  }, [open]);
171
163
  const setSelected = (vals) => {
172
164
  if (value !== void 0) {
173
- _optionalChain([onChange, 'optionalCall', _ => _(vals)]);
165
+ onChange?.(vals);
174
166
  } else {
175
167
  setInternal(vals);
176
- _optionalChain([onChange, 'optionalCall', _2 => _2(vals)]);
168
+ onChange?.(vals);
177
169
  }
178
170
  };
179
171
  const toggleValue = (val) => {
@@ -189,13 +181,13 @@ var Select = ({
189
181
  }
190
182
  };
191
183
  const isSelected = (val) => selected.includes(val);
192
- const registerOption = _react.useCallback.call(void 0, (opt) => {
184
+ const registerOption = react.useCallback((opt) => {
193
185
  setOptions((prev) => {
194
186
  if (prev.find((o) => o.value === opt.value)) return prev;
195
187
  return [...prev, opt];
196
188
  });
197
189
  }, []);
198
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
190
+ return /* @__PURE__ */ jsxRuntime.jsx(
199
191
  SelectContext.Provider,
200
192
  {
201
193
  value: {
@@ -208,7 +200,7 @@ var Select = ({
208
200
  options,
209
201
  multiple
210
202
  },
211
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: rootRef, className: "relative w-full", children })
203
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref: rootRef, className: "relative w-full", children })
212
204
  }
213
205
  );
214
206
  };
@@ -219,12 +211,12 @@ var SelectTrigger = ({
219
211
  ...props
220
212
  }) => {
221
213
  const { open, setOpen } = useSelect();
222
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
214
+ return /* @__PURE__ */ jsxRuntime.jsx(
223
215
  "button",
224
216
  {
225
217
  type: "button",
226
218
  onClick: () => setOpen(!open),
227
- className: _chunkE5UX537Jjs.cn.call(void 0, selectTriggerVariants({ variant, size }), className),
219
+ className: chunkWZ2GOU2J_js.cn(selectTriggerVariants({ variant, size }), className),
228
220
  ...props
229
221
  }
230
222
  );
@@ -237,9 +229,9 @@ var SelectValue = ({
237
229
  const { selected, options } = useSelect();
238
230
  const selectedOptions = options.filter((o) => selected.includes(o.value));
239
231
  if (selectedOptions.length === 0) {
240
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkE5UX537Jjs.cn.call(void 0, className), ...props, children: placeholder });
232
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkWZ2GOU2J_js.cn(className), ...props, children: placeholder });
241
233
  }
242
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkE5UX537Jjs.cn.call(void 0, className), ...props, children: selectedOptions.map((option, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { children: [
234
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkWZ2GOU2J_js.cn(className), ...props, children: selectedOptions.map((option, index) => /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
243
235
  index > 0 ? ", " : null,
244
236
  option.label
245
237
  ] }, option.value)) });
@@ -254,10 +246,10 @@ var SelectContent = ({
254
246
  }) => {
255
247
  const { open } = useSelect();
256
248
  if (!open) return null;
257
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
249
+ return /* @__PURE__ */ jsxRuntime.jsx(
258
250
  "div",
259
251
  {
260
- className: _chunkE5UX537Jjs.cn.call(void 0,
252
+ className: chunkWZ2GOU2J_js.cn(
261
253
  selectContentVariants({ appearance, size, spacing }),
262
254
  className
263
255
  ),
@@ -275,11 +267,11 @@ var SelectItem = ({
275
267
  ...props
276
268
  }) => {
277
269
  const { toggleValue, isSelected, registerOption } = useSelect();
278
- _react.useEffect.call(void 0, () => {
270
+ react.useEffect(() => {
279
271
  registerOption({ label: children, value, disabled });
280
272
  }, [children, disabled, registerOption, value]);
281
273
  const isActive = isSelected(value);
282
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
274
+ return /* @__PURE__ */ jsxRuntime.jsxs(
283
275
  "div",
284
276
  {
285
277
  role: "option",
@@ -290,7 +282,7 @@ var SelectItem = ({
290
282
  if (e.key === "Enter") toggleValue(value);
291
283
  },
292
284
  "data-selected": isActive ? "true" : "false",
293
- className: _chunkE5UX537Jjs.cn.call(void 0,
285
+ className: chunkWZ2GOU2J_js.cn(
294
286
  selectItemVariants({
295
287
  disabled,
296
288
  appearance
@@ -301,21 +293,21 @@ var SelectItem = ({
301
293
  ...props,
302
294
  children: [
303
295
  children,
304
- isActive && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "\u2713" })
296
+ isActive && /* @__PURE__ */ jsxRuntime.jsx("span", { children: "\u2713" })
305
297
  ]
306
298
  }
307
299
  );
308
300
  };
309
301
 
310
-
311
-
312
-
313
-
314
-
315
-
316
-
317
-
318
-
319
-
320
- exports.Select = Select; exports.SelectContent = SelectContent; exports.SelectContext = SelectContext; exports.SelectItem = SelectItem; exports.SelectTrigger = SelectTrigger; exports.SelectValue = SelectValue; exports.selectContentVariants = selectContentVariants; exports.selectItemVariants = selectItemVariants; exports.selectTriggerVariants = selectTriggerVariants; exports.useSelect = useSelect;
302
+ exports.Select = Select;
303
+ exports.SelectContent = SelectContent;
304
+ exports.SelectContext = SelectContext;
305
+ exports.SelectItem = SelectItem;
306
+ exports.SelectTrigger = SelectTrigger;
307
+ exports.SelectValue = SelectValue;
308
+ exports.selectContentVariants = selectContentVariants;
309
+ exports.selectItemVariants = selectItemVariants;
310
+ exports.selectTriggerVariants = selectTriggerVariants;
311
+ exports.useSelect = useSelect;
312
+ //# sourceMappingURL=select.js.map
321
313
  //# sourceMappingURL=select.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/shubham/Desktop/Repos/NEXT%20JS/zentauri-ui/packages/components/dist/ui/select.js"],"names":[],"mappings":"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","file":"/Users/shubham/Desktop/Repos/NEXT JS/zentauri-ui/packages/components/dist/ui/select.js","sourcesContent":[null]}
1
+ {"version":3,"sources":["../../src/ui/select/variants.ts","../../src/ui/select/select.tsx"],"names":["cva","createContext","useContext","useState","useRef","useEffect","useCallback","jsx","cn","jsxs"],"mappings":"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","file":"select.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const selectTriggerVariants = cva(\n \"flex items-center justify-between rounded-md border transition-all focus:outline-none\",\n {\n variants: {\n variant: {\n default: \"border-gray-300 bg-white text-gray-900\",\n outline: \"border-2 border-gray-500\",\n ghost: \"border-transparent\",\n sky: \"border-sky-600 text-sky-600\",\n rose: \"border-rose-600 text-rose-600\",\n purple: \"border-purple-600 text-purple-600\",\n pink: \"border-pink-600 text-pink-600\",\n orange: \"border-orange-600 text-orange-600\",\n yellow: \"border-yellow-600 text-yellow-600\",\n teal: \"border-teal-600 text-teal-600\",\n indigo: \"border-indigo-500 text-indigo-500\",\n emerald: \"border-emerald-600 text-emerald-600\",\n glass: \"border-white/15 bg-white/10 text-white backdrop-blur-md\",\n \"gradient-blue\":\n \"bg-linear-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl text-white\",\n \"gradient-green\":\n \"bg-linear-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl text-white\",\n \"gradient-red\":\n \"bg-linear-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl text-white\",\n \"gradient-yellow\":\n \"bg-linear-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl text-white\",\n \"gradient-purple\":\n \"bg-linear-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl text-white\",\n \"gradient-teal\":\n \"bg-linear-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl text-white\",\n \"gradient-indigo\":\n \"bg-linear-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl text-white\",\n \"gradient-pink\":\n \"bg-linear-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl text-white\",\n \"gradient-orange\":\n \"bg-linear-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl text-white\",\n },\n size: {\n sm: \"px-2 py-1 text-sm\",\n md: \"px-3 py-2\",\n lg: \"px-4 py-3 text-lg\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n },\n);\n\nexport const selectItemVariants = cva(\"cursor-pointer px-3 py-2 rounded-md\", {\n variants: {\n appearance: {\n default:\n \"bg-white text-gray-900 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900\",\n glass:\n \"bg-white/10 text-gray-100 data-[selected=true]:bg-white/10 data-[selected=true]:text-gray-100\",\n outline:\n \"border-2 border-gray-500 text-gray-900 data-[selected=true]:border-2 data-[selected=true]:border-gray-500 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900\",\n ghost:\n \"border-transparent text-gray-900 data-[selected=true]:border-transparent data-[selected=true]:bg-transparent data-[selected=true]:text-gray-900\",\n sky: \"border-sky-600 text-sky-800 data-[selected=true]:border-sky-600 data-[selected=true]:bg-sky-200 data-[selected=true]:text-sky-800\",\n rose: \"border-rose-600 text-rose-800 data-[selected=true]:border-rose-600 data-[selected=true]:bg-rose-200 data-[selected=true]:text-rose-800\",\n purple:\n \"border-purple-600 text-purple-800 data-[selected=true]:border-purple-600 data-[selected=true]:bg-purple-200 data-[selected=true]:text-purple-800\",\n pink: \"border-pink-600 text-pink-800 data-[selected=true]:border-pink-600 data-[selected=true]:bg-pink-200 data-[selected=true]:text-pink-800\",\n orange:\n \"border-orange-600 text-orange-800 data-[selected=true]:border-orange-600 data-[selected=true]:bg-orange-200 data-[selected=true]:text-orange-800\",\n yellow:\n \"border-yellow-600 text-yellow-800 data-[selected=true]:border-yellow-600 data-[selected=true]:bg-yellow-200 data-[selected=true]:text-yellow-800\",\n teal: \"border-teal-600 text-teal-800 data-[selected=true]:border-teal-600 data-[selected=true]:bg-teal-200 data-[selected=true]:text-teal-800\",\n indigo:\n \"border-indigo-600 text-indigo-800 data-[selected=true]:border-indigo-600 data-[selected=true]:bg-indigo-200 data-[selected=true]:text-indigo-800\",\n emerald:\n \"border-emerald-600 text-emerald-800 data-[selected=true]:border-emerald-600 data-[selected=true]:bg-emerald-200 data-[selected=true]:text-emerald-800\",\n \"gradient-blue\":\n \"bg-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl text-blue-50 data-[selected=true]:bg-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl data-[selected=true]:text-blue-100\",\n \"gradient-green\":\n \"bg-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl text-green-50 data-[selected=true]:bg-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl data-[selected=true]:text-green-100\",\n \"gradient-red\":\n \"bg-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl text-red-50 data-[selected=true]:bg-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl data-[selected=true]:text-red-100\",\n \"gradient-yellow\":\n \"bg-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl text-yellow-50 data-[selected=true]:bg-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl data-[selected=true]:text-yellow-100\",\n \"gradient-purple\":\n \"bg-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl text-purple-50 data-[selected=true]:bg-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl data-[selected=true]:text-purple-100\",\n \"gradient-teal\":\n \"bg-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl text-teal-50 data-[selected=true]:bg-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl data-[selected=true]:text-teal-100\",\n \"gradient-indigo\":\n \"bg-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl text-indigo-50 data-[selected=true]:bg-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl data-[selected=true]:text-indigo-100\",\n \"gradient-pink\":\n \"bg-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl text-pink-50 data-[selected=true]:bg-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl data-[selected=true]:text-pink-100\",\n \"gradient-orange\":\n \"bg-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl text-orange-50 data-[selected=true]:bg-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl data-[selected=true]:text-orange-100\",\n },\n disabled: {\n true: \"opacity-50 cursor-not-allowed\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n },\n});\n\nexport const selectContentVariants = cva(\n \"absolute z-10 mt-2 w-full rounded-md border bg-white shadow-md\",\n {\n variants: {\n appearance: {\n default: \"bg-white shadow-md\",\n glass: \"bg-white/10 backdrop-blur-md\",\n outline: \"border-2 border-gray-500\",\n ghost: \"border-transparent\",\n sky: \"border-sky-600\",\n rose: \"border-rose-600\",\n purple: \"border-purple-600\",\n pink: \"border-pink-600\",\n orange: \"border-orange-600\",\n yellow: \"border-yellow-600\",\n teal: \"border-teal-600\",\n indigo: \"border-indigo-600\",\n emerald: \"border-emerald-600\",\n \"gradient-blue\":\n \"bg-gradient-to-r from-blue-600 to-purple-600 bg-gradient-to-r from-blue-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-green\":\n \"bg-gradient-to-r from-green-600 to-lime-600 bg-gradient-to-r from-green-950/70 to-lime-950/70 backdrop-blur-xl\",\n \"gradient-red\":\n \"bg-gradient-to-r from-red-600 to-pink-600 bg-gradient-to-r from-red-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-yellow\":\n \"bg-gradient-to-r from-yellow-600 to-orange-600 bg-gradient-to-r from-yellow-950/70 to-orange-950/70 backdrop-blur-xl\",\n \"gradient-purple\":\n \"bg-gradient-to-r from-purple-600 to-pink-600 bg-gradient-to-r from-purple-950/70 to-pink-950/70 backdrop-blur-xl\",\n \"gradient-teal\":\n \"bg-gradient-to-r from-teal-600 to-cyan-600 bg-gradient-to-r from-teal-950/70 to-cyan-950/70 backdrop-blur-xl\",\n \"gradient-indigo\":\n \"bg-gradient-to-r from-indigo-600 to-purple-600 bg-gradient-to-r from-indigo-950/70 to-purple-950/70 backdrop-blur-xl\",\n \"gradient-pink\":\n \"bg-gradient-to-r from-pink-600 to-rose-600 bg-gradient-to-r from-pink-950/70 to-rose-950/70 backdrop-blur-xl\",\n \"gradient-orange\":\n \"bg-gradient-to-r from-orange-600 to-red-600 bg-gradient-to-r from-orange-950/70 to-red-950/70 backdrop-blur-xl\",\n },\n size: {\n sm: \"px-2 py-1 text-sm\",\n md: \"px-3 py-2\",\n lg: \"px-4 py-3 text-lg\",\n },\n spacing: {\n none: \"space-y-0\",\n default: \"space-y-1\",\n sm: \"space-y-2\",\n md: \"space-y-3\",\n lg: \"space-y-4\",\n xl: \"space-y-5\",\n },\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n spacing: \"default\",\n },\n },\n);\n","\"use client\";\nimport { useState, useEffect, useCallback, useRef } from \"react\";\nimport {\n SelectProps,\n SelectOption,\n SelectTriggerProps,\n SelectContentProps,\n SelectItemProps,\n SelectValueProps,\n} from \"./types\";\nimport { createContext, useContext } from \"react\";\nimport { SelectContextType } from \"./types\";\nimport { cn } from \"../../lib/utils\";\nimport {\n selectContentVariants,\n selectItemVariants,\n selectTriggerVariants,\n} from \"./variants\";\n\nexport const SelectContext = createContext<SelectContextType | null>(null);\n\nexport const useSelect = () => {\n const ctx = useContext(SelectContext);\n if (!ctx) throw new Error(\"Select components must be used inside Select\");\n return ctx;\n};\n\nexport const Select = ({\n children,\n value,\n defaultValue = [],\n onChange,\n multiple = true,\n}: SelectProps) => {\n const [internal, setInternal] = useState<string[]>(defaultValue);\n const [open, setOpen] = useState(false);\n const [options, setOptions] = useState<SelectOption[]>([]);\n const rootRef = useRef<HTMLDivElement>(null);\n\n const selected = value ?? internal;\n\n useEffect(() => {\n if (!open) return;\n\n const handlePointerDown = (event: PointerEvent) => {\n const root = rootRef.current;\n if (!root) return;\n const target = event.target;\n if (target instanceof Node && !root.contains(target)) {\n setOpen(false);\n }\n };\n\n document.addEventListener(\"pointerdown\", handlePointerDown);\n return () => document.removeEventListener(\"pointerdown\", handlePointerDown);\n }, [open]);\n\n const setSelected = (vals: string[]) => {\n if (value !== undefined) {\n onChange?.(vals);\n } else {\n setInternal(vals);\n onChange?.(vals);\n }\n };\n\n const toggleValue = (val: string) => {\n if (multiple) {\n if (selected.includes(val)) {\n setSelected(selected.filter((v) => v !== val));\n } else {\n setSelected([...selected, val]);\n }\n } else {\n setSelected([val]);\n setOpen(false);\n }\n };\n\n const isSelected = (val: string) => selected.includes(val);\n\n const registerOption = useCallback((opt: SelectOption) => {\n setOptions((prev) => {\n if (prev.find((o) => o.value === opt.value)) return prev;\n return [...prev, opt];\n });\n }, []);\n\n return (\n <SelectContext.Provider\n value={{\n open,\n setOpen,\n selected,\n toggleValue,\n isSelected,\n registerOption,\n options,\n multiple,\n }}\n >\n <div ref={rootRef} className=\"relative w-full\">\n {children}\n </div>\n </SelectContext.Provider>\n );\n};\n\nexport const SelectTrigger = ({\n className,\n variant,\n size,\n ...props\n}: SelectTriggerProps) => {\n const { open, setOpen } = useSelect();\n\n return (\n <button\n type=\"button\"\n onClick={() => setOpen(!open)}\n className={cn(selectTriggerVariants({ variant, size }), className)}\n {...props}\n />\n );\n};\n\nexport const SelectValue = ({\n placeholder = \"Select...\",\n className,\n ...props\n}: SelectValueProps) => {\n const { selected, options } = useSelect();\n\n const selectedOptions = options.filter((o) => selected.includes(o.value));\n\n if (selectedOptions.length === 0) {\n return (\n <span className={cn(className)} {...props}>\n {placeholder}\n </span>\n );\n }\n\n return (\n <span className={cn(className)} {...props}>\n {selectedOptions.map((option, index) => (\n <span key={option.value}>\n {index > 0 ? \", \" : null}\n {option.label}\n </span>\n ))}\n </span>\n );\n};\n\nexport const SelectContent = ({\n children,\n className,\n appearance = \"default\",\n size = \"md\",\n spacing = \"default\",\n ...props\n}: SelectContentProps) => {\n const { open } = useSelect();\n\n if (!open) return null;\n\n return (\n <div\n className={cn(\n selectContentVariants({ appearance, size, spacing }),\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nexport const SelectItem = ({\n value,\n children,\n disabled,\n appearance = \"default\",\n className,\n ...props\n}: SelectItemProps) => {\n const { toggleValue, isSelected, registerOption } = useSelect();\n\n useEffect(() => {\n registerOption({ label: children, value, disabled });\n }, [children, disabled, registerOption, value]);\n\n const isActive = isSelected(value);\n\n return (\n <div\n role=\"option\"\n aria-selected={isActive}\n tabIndex={0}\n onClick={() => !disabled && toggleValue(value)}\n onKeyDown={(e) => {\n if (e.key === \"Enter\") toggleValue(value);\n }}\n data-selected={isActive ? \"true\" : \"false\"}\n className={cn(\n selectItemVariants({\n disabled,\n appearance,\n }),\n \"flex justify-between\",\n className,\n )}\n {...props}\n >\n {children}\n {isActive && <span>✓</span>}\n </div>\n );\n};\n"]}