@zentauri-ui/zentauri-components 0.0.84 → 0.0.92

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 (144) hide show
  1. package/README.md +47 -29
  2. package/dist/chunk-BZSIXBA7.js +70 -0
  3. package/dist/chunk-BZSIXBA7.js.map +1 -0
  4. package/dist/chunk-E5UX537J.js +11 -0
  5. package/dist/chunk-E5UX537J.js.map +1 -0
  6. package/dist/chunk-MEWYFWBX.mjs +14 -0
  7. package/dist/chunk-MEWYFWBX.mjs.map +1 -0
  8. package/dist/chunk-VJHD7QZH.mjs +73 -0
  9. package/dist/chunk-VJHD7QZH.mjs.map +1 -0
  10. package/dist/ui/accordion.d.mts +70 -0
  11. package/dist/ui/accordion.d.ts +70 -0
  12. package/dist/ui/accordion.js +280 -0
  13. package/dist/ui/accordion.js.map +1 -0
  14. package/dist/ui/accordion.mjs +282 -0
  15. package/dist/ui/accordion.mjs.map +1 -0
  16. package/dist/ui/alert.d.mts +66 -0
  17. package/dist/ui/alert.d.ts +66 -0
  18. package/dist/ui/alert.js +218 -0
  19. package/dist/ui/alert.js.map +1 -0
  20. package/dist/ui/alert.mjs +220 -0
  21. package/dist/ui/alert.mjs.map +1 -0
  22. package/dist/ui/badge.d.mts +37 -0
  23. package/dist/ui/badge.d.ts +37 -0
  24. package/dist/ui/badge.js +159 -0
  25. package/dist/ui/badge.js.map +1 -0
  26. package/dist/ui/badge.mjs +161 -0
  27. package/dist/ui/badge.mjs.map +1 -0
  28. package/dist/ui/buttons.d.mts +27 -0
  29. package/dist/ui/buttons.d.ts +27 -0
  30. package/dist/ui/buttons.js +107 -0
  31. package/dist/ui/buttons.js.map +1 -0
  32. package/dist/ui/buttons.mjs +109 -0
  33. package/dist/ui/buttons.mjs.map +1 -0
  34. package/dist/ui/card.d.mts +77 -0
  35. package/dist/ui/card.d.ts +77 -0
  36. package/dist/ui/card.js +252 -0
  37. package/dist/ui/card.js.map +1 -0
  38. package/dist/ui/card.mjs +254 -0
  39. package/dist/ui/card.mjs.map +1 -0
  40. package/dist/ui/divider.d.mts +39 -0
  41. package/dist/ui/divider.d.ts +39 -0
  42. package/dist/ui/divider.js +194 -0
  43. package/dist/ui/divider.js.map +1 -0
  44. package/dist/ui/divider.mjs +196 -0
  45. package/dist/ui/divider.mjs.map +1 -0
  46. package/dist/ui/drawer.d.mts +81 -0
  47. package/dist/ui/drawer.d.ts +81 -0
  48. package/dist/ui/drawer.js +377 -0
  49. package/dist/ui/drawer.js.map +1 -0
  50. package/dist/ui/drawer.mjs +379 -0
  51. package/dist/ui/drawer.mjs.map +1 -0
  52. package/dist/ui/dropdown.d.mts +50 -0
  53. package/dist/ui/dropdown.d.ts +50 -0
  54. package/dist/ui/dropdown.js +272 -0
  55. package/dist/ui/dropdown.js.map +1 -0
  56. package/dist/ui/dropdown.mjs +274 -0
  57. package/dist/ui/dropdown.mjs.map +1 -0
  58. package/dist/ui/empty-state.d.mts +55 -0
  59. package/dist/ui/empty-state.d.ts +55 -0
  60. package/dist/ui/empty-state.js +148 -0
  61. package/dist/ui/empty-state.js.map +1 -0
  62. package/dist/ui/empty-state.mjs +150 -0
  63. package/dist/ui/empty-state.mjs.map +1 -0
  64. package/dist/ui/inputs.d.mts +35 -0
  65. package/dist/ui/inputs.d.ts +35 -0
  66. package/dist/ui/inputs.js +426 -0
  67. package/dist/ui/inputs.js.map +1 -0
  68. package/dist/ui/inputs.mjs +428 -0
  69. package/dist/ui/inputs.mjs.map +1 -0
  70. package/dist/ui/modal.d.mts +84 -0
  71. package/dist/ui/modal.d.ts +84 -0
  72. package/dist/ui/modal.js +378 -0
  73. package/dist/ui/modal.js.map +1 -0
  74. package/dist/ui/modal.mjs +380 -0
  75. package/dist/ui/modal.mjs.map +1 -0
  76. package/dist/ui/pagination.d.mts +114 -0
  77. package/dist/ui/pagination.d.ts +114 -0
  78. package/dist/ui/pagination.js +425 -0
  79. package/dist/ui/pagination.js.map +1 -0
  80. package/dist/ui/pagination.mjs +427 -0
  81. package/dist/ui/pagination.mjs.map +1 -0
  82. package/dist/ui/progress.d.mts +61 -0
  83. package/dist/ui/progress.d.ts +61 -0
  84. package/dist/ui/progress.js +231 -0
  85. package/dist/ui/progress.js.map +1 -0
  86. package/dist/ui/progress.mjs +233 -0
  87. package/dist/ui/progress.mjs.map +1 -0
  88. package/dist/ui/select.d.mts +73 -0
  89. package/dist/ui/select.d.ts +73 -0
  90. package/dist/ui/select.js +321 -0
  91. package/dist/ui/select.js.map +1 -0
  92. package/dist/ui/select.mjs +323 -0
  93. package/dist/ui/select.mjs.map +1 -0
  94. package/dist/ui/skeleton.d.mts +90 -0
  95. package/dist/ui/skeleton.d.ts +90 -0
  96. package/dist/ui/skeleton.js +538 -0
  97. package/dist/ui/skeleton.js.map +1 -0
  98. package/dist/ui/skeleton.mjs +540 -0
  99. package/dist/ui/skeleton.mjs.map +1 -0
  100. package/dist/ui/spinner.d.mts +27 -0
  101. package/dist/ui/spinner.d.ts +27 -0
  102. package/dist/ui/spinner.js +187 -0
  103. package/dist/ui/spinner.js.map +1 -0
  104. package/dist/ui/spinner.mjs +189 -0
  105. package/dist/ui/spinner.mjs.map +1 -0
  106. package/dist/ui/table.d.mts +81 -0
  107. package/dist/ui/table.d.ts +81 -0
  108. package/dist/ui/table.js +287 -0
  109. package/dist/ui/table.js.map +1 -0
  110. package/dist/ui/table.mjs +289 -0
  111. package/dist/ui/table.mjs.map +1 -0
  112. package/dist/ui/tabs.d.mts +58 -0
  113. package/dist/ui/tabs.d.ts +58 -0
  114. package/dist/ui/tabs.js +268 -0
  115. package/dist/ui/tabs.js.map +1 -0
  116. package/dist/ui/tabs.mjs +270 -0
  117. package/dist/ui/tabs.mjs.map +1 -0
  118. package/dist/ui/toast.d.mts +86 -0
  119. package/dist/ui/toast.d.ts +86 -0
  120. package/dist/ui/toast.js +252 -0
  121. package/dist/ui/toast.js.map +1 -0
  122. package/dist/ui/toast.mjs +254 -0
  123. package/dist/ui/toast.mjs.map +1 -0
  124. package/dist/ui/toggle.d.mts +37 -0
  125. package/dist/ui/toggle.d.ts +37 -0
  126. package/dist/ui/toggle.js +152 -0
  127. package/dist/ui/toggle.js.map +1 -0
  128. package/dist/ui/toggle.mjs +154 -0
  129. package/dist/ui/toggle.mjs.map +1 -0
  130. package/dist/ui/tooltip.d.mts +46 -0
  131. package/dist/ui/tooltip.d.ts +46 -0
  132. package/dist/ui/tooltip.js +208 -0
  133. package/dist/ui/tooltip.js.map +1 -0
  134. package/dist/ui/tooltip.mjs +210 -0
  135. package/dist/ui/tooltip.mjs.map +1 -0
  136. package/dist/variants-Dd9pe-ov.d.mts +8 -0
  137. package/dist/variants-Dd9pe-ov.d.ts +8 -0
  138. package/package.json +15 -14
  139. package/dist/ui/index.cjs +0 -5764
  140. package/dist/ui/index.cjs.map +0 -1
  141. package/dist/ui/index.d.cts +0 -1164
  142. package/dist/ui/index.d.ts +0 -1164
  143. package/dist/ui/index.js +0 -5626
  144. package/dist/ui/index.js.map +0 -1
@@ -0,0 +1,231 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }
2
+
3
+ var _chunkE5UX537Jjs = require('../chunk-E5UX537J.js');
4
+
5
+ // src/ui/progress/progress.tsx
6
+ var _react = require('react');
7
+ var _framermotion = require('framer-motion');
8
+
9
+ // src/ui/progress/animations.ts
10
+ var progressAnimationPresets = {
11
+ none: {},
12
+ shimmer: {
13
+ animate: { backgroundPosition: ["0% 0%", "100% 0%"] },
14
+ transition: { repeat: Infinity, duration: 1.2, ease: "linear" }
15
+ }
16
+ };
17
+
18
+ // src/ui/progress/variants.ts
19
+ var _classvarianceauthority = require('class-variance-authority');
20
+ var progressVariants = _classvarianceauthority.cva.call(void 0, "w-full text-slate-50", {
21
+ variants: {
22
+ appearance: {
23
+ default: "[--progress-fill:theme(colors.slate.50)]",
24
+ secondary: "[--progress-fill:theme(colors.slate.300)]",
25
+ destructive: "[--progress-fill:theme(colors.rose.400)]",
26
+ emerald: "[--progress-fill:theme(colors.emerald.400)]",
27
+ indigo: "[--progress-fill:theme(colors.indigo.400)]",
28
+ purple: "[--progress-fill:theme(colors.purple.400)]",
29
+ pink: "[--progress-fill:theme(colors.pink.400)]",
30
+ rose: "[--progress-fill:theme(colors.rose.400)]",
31
+ sky: "[--progress-fill:theme(colors.sky.400)]",
32
+ teal: "[--progress-fill:theme(colors.teal.400)]",
33
+ yellow: "[--progress-fill:theme(colors.yellow.400)]",
34
+ orange: "[--progress-fill:theme(colors.orange.400)]",
35
+ outline: "[--progress-fill:theme(colors.cyan.300)]",
36
+ ghost: "[--progress-fill:theme(colors.slate.200)]",
37
+ glass: "[--progress-fill:theme(colors.white)]",
38
+ "gradient-blue": "[--progress-fill:linear-gradient(90deg,theme(colors.blue.500),theme(colors.purple.500))]",
39
+ "gradient-green": "[--progress-fill:linear-gradient(90deg,theme(colors.green.500),theme(colors.lime.500))]",
40
+ "gradient-red": "[--progress-fill:linear-gradient(90deg,theme(colors.red.500),theme(colors.pink.500))]",
41
+ "gradient-yellow": "[--progress-fill:linear-gradient(90deg,theme(colors.yellow.500),theme(colors.orange.500))]",
42
+ "gradient-purple": "[--progress-fill:linear-gradient(90deg,theme(colors.purple.500),theme(colors.pink.500))]",
43
+ "gradient-teal": "[--progress-fill:linear-gradient(90deg,theme(colors.teal.500),theme(colors.cyan.500))]",
44
+ "gradient-indigo": "[--progress-fill:linear-gradient(90deg,theme(colors.indigo.500),theme(colors.purple.500))]",
45
+ "gradient-pink": "[--progress-fill:linear-gradient(90deg,theme(colors.pink.500),theme(colors.rose.500))]",
46
+ "gradient-orange": "[--progress-fill:linear-gradient(90deg,theme(colors.orange.500),theme(colors.red.500))]"
47
+ },
48
+ size: {
49
+ xs: "text-[0.65rem]",
50
+ sm: "text-xs",
51
+ md: "text-sm",
52
+ lg: "text-base",
53
+ xl: "text-lg"
54
+ },
55
+ shape: {
56
+ flat: "rounded-none",
57
+ rounded: "rounded-md",
58
+ pill: "rounded-full"
59
+ },
60
+ striped: {
61
+ true: "",
62
+ false: ""
63
+ },
64
+ animated: {
65
+ true: "",
66
+ false: ""
67
+ }
68
+ },
69
+ defaultVariants: {
70
+ appearance: "default",
71
+ size: "md",
72
+ shape: "rounded",
73
+ striped: false,
74
+ animated: false
75
+ }
76
+ });
77
+ var progressTrackVariants = _classvarianceauthority.cva.call(void 0, "relative w-full overflow-hidden bg-white/10", {
78
+ variants: {
79
+ size: {
80
+ xs: "h-1",
81
+ sm: "h-1.5",
82
+ md: "h-2",
83
+ lg: "h-3",
84
+ xl: "h-4"
85
+ },
86
+ shape: {
87
+ flat: "rounded-none",
88
+ rounded: "rounded-md",
89
+ pill: "rounded-full"
90
+ }
91
+ },
92
+ defaultVariants: {
93
+ size: "md",
94
+ shape: "rounded"
95
+ }
96
+ });
97
+ var progressBarVariants = _classvarianceauthority.cva.call(void 0,
98
+ "h-full w-full origin-left rounded-[inherit]",
99
+ {
100
+ variants: {
101
+ striped: {
102
+ true: "bg-[repeating-linear-gradient(135deg,rgba(255,255,255,0.18)_0,rgba(255,255,255,0.18)_10px,transparent_10px,transparent_20px)]",
103
+ false: "[background:var(--progress-fill)]"
104
+ }
105
+ },
106
+ defaultVariants: { striped: false }
107
+ }
108
+ );
109
+
110
+ // src/ui/progress/progress.tsx
111
+ var _jsxruntime = require('react/jsx-runtime');
112
+ var ProgressContext = _react.createContext.call(void 0, null);
113
+ function useProgressContext(component) {
114
+ const ctx = _react.useContext.call(void 0, ProgressContext);
115
+ if (!ctx) {
116
+ throw new Error(`${component} must be used within <Progress>`);
117
+ }
118
+ return ctx;
119
+ }
120
+ function clamp(value, min, max) {
121
+ return Math.min(max, Math.max(min, value));
122
+ }
123
+ function Progress(props) {
124
+ const {
125
+ className,
126
+ appearance = "default",
127
+ size = "md",
128
+ shape = "rounded",
129
+ striped = false,
130
+ animated = false,
131
+ animation = "none",
132
+ value = 0,
133
+ min = 0,
134
+ max = 100,
135
+ label,
136
+ children,
137
+ ref,
138
+ ...rest
139
+ } = props;
140
+ const motionProps = progressAnimationPresets[animation];
141
+ const clamped = clamp(value, min, max);
142
+ const percent = max === min ? 0 : (clamped - min) / (max - min) * 100;
143
+ const ctx = _react.useMemo.call(void 0,
144
+ () => ({
145
+ value: clamped,
146
+ min,
147
+ max,
148
+ size: _nullishCoalesce(size, () => ( "md")),
149
+ shape: _nullishCoalesce(shape, () => ( "rounded")),
150
+ striped: Boolean(striped),
151
+ animated: Boolean(animated),
152
+ appearance: _nullishCoalesce(appearance, () => ( "default"))
153
+ }),
154
+ [animated, appearance, clamped, max, min, shape, size, striped]
155
+ );
156
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProgressContext.Provider, { value: ctx, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
157
+ _framermotion.motion.div,
158
+ {
159
+ ref,
160
+ "data-slot": "progress",
161
+ role: "progressbar",
162
+ "aria-valuemin": min,
163
+ "aria-valuemax": max,
164
+ "aria-valuenow": clamped,
165
+ "aria-label": label,
166
+ className: _chunkE5UX537Jjs.cn.call(void 0,
167
+ progressVariants({ appearance, size, shape, striped, animated }),
168
+ className
169
+ ),
170
+ initial: false,
171
+ ...motionProps,
172
+ ...rest,
173
+ children: _nullishCoalesce(children, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProgressBar, { style: { transform: `scaleX(${percent / 100})` } }) })))
174
+ }
175
+ ) });
176
+ }
177
+ Progress.displayName = "Progress";
178
+ function ProgressBar({
179
+ className,
180
+ style,
181
+ ref,
182
+ ...rest
183
+ }) {
184
+ const { size, shape, striped, animated } = useProgressContext("ProgressBar");
185
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
186
+ "div",
187
+ {
188
+ "data-slot": "progress-track",
189
+ className: _chunkE5UX537Jjs.cn.call(void 0, progressTrackVariants({ size, shape }), "text-current"),
190
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
191
+ _framermotion.motion.div,
192
+ {
193
+ ref,
194
+ "data-slot": "progress-bar",
195
+ className: _chunkE5UX537Jjs.cn.call(void 0, progressBarVariants({ striped }), className),
196
+ style: {
197
+ transformOrigin: "left center",
198
+ ...style
199
+ },
200
+ animate: animated ? { x: ["-30%", "0%"], opacity: [0.85, 1] } : void 0,
201
+ transition: animated ? { repeat: Infinity, duration: 1.1, ease: "easeInOut" } : void 0,
202
+ ...rest
203
+ }
204
+ )
205
+ }
206
+ );
207
+ }
208
+ ProgressBar.displayName = "ProgressBar";
209
+ function ProgressLabel({ className, children }) {
210
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "progress-label", className: _chunkE5UX537Jjs.cn.call(void 0, "mb-2 font-medium text-slate-200", className), children });
211
+ }
212
+ ProgressLabel.displayName = "ProgressLabel";
213
+ function ProgressValue({ className, children }) {
214
+ const { value, min, max } = useProgressContext("ProgressValue");
215
+ const range = max - min;
216
+ const pct = range === 0 ? 0 : Math.round((value - min) / range * 100);
217
+ const content = _nullishCoalesce(children, () => ( `${pct}%`));
218
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-slot": "progress-value", className: _chunkE5UX537Jjs.cn.call(void 0, "mt-2 text-right text-slate-400", className), children: content });
219
+ }
220
+ ProgressValue.displayName = "ProgressValue";
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+ exports.Progress = Progress; exports.ProgressBar = ProgressBar; exports.ProgressLabel = ProgressLabel; exports.ProgressValue = ProgressValue; exports.progressAnimationPresets = progressAnimationPresets; exports.progressBarVariants = progressBarVariants; exports.progressTrackVariants = progressTrackVariants; exports.progressVariants = progressVariants;
231
+ //# sourceMappingURL=progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/shubham/Desktop/Repos/NEXT%20JS/zentauri-ui/packages/components/dist/ui/progress.js"],"names":[],"mappings":"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I,gBAAgB,EAAE,kCAAa,IAAK,CAAC;AACzC,SAAS,kBAAkB,CAAC,SAAS,EAAE;AACvC,EAAE,MAAM,IAAI,EAAE,+BAAU,eAAgB,CAAC;AACzC,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE;AACZ,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,IAAA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA,EAAA;AACA,EAAA;AACA,IAAA;AACA,IAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,QAAA;AACA,QAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,YAAA;AACA,YAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACA,MAAA;AACA,IAAA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA;AACA;AACA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA,EAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/Users/shubham/Desktop/Repos/NEXT JS/zentauri-ui/packages/components/dist/ui/progress.js","sourcesContent":[null]}
@@ -0,0 +1,233 @@
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";
10
+
11
+ // src/ui/progress/animations.ts
12
+ var progressAnimationPresets = {
13
+ none: {},
14
+ shimmer: {
15
+ animate: { backgroundPosition: ["0% 0%", "100% 0%"] },
16
+ transition: { repeat: Infinity, duration: 1.2, ease: "linear" }
17
+ }
18
+ };
19
+
20
+ // src/ui/progress/variants.ts
21
+ import { cva } from "class-variance-authority";
22
+ var progressVariants = cva("w-full text-slate-50", {
23
+ variants: {
24
+ appearance: {
25
+ default: "[--progress-fill:theme(colors.slate.50)]",
26
+ secondary: "[--progress-fill:theme(colors.slate.300)]",
27
+ destructive: "[--progress-fill:theme(colors.rose.400)]",
28
+ emerald: "[--progress-fill:theme(colors.emerald.400)]",
29
+ indigo: "[--progress-fill:theme(colors.indigo.400)]",
30
+ purple: "[--progress-fill:theme(colors.purple.400)]",
31
+ pink: "[--progress-fill:theme(colors.pink.400)]",
32
+ rose: "[--progress-fill:theme(colors.rose.400)]",
33
+ sky: "[--progress-fill:theme(colors.sky.400)]",
34
+ teal: "[--progress-fill:theme(colors.teal.400)]",
35
+ yellow: "[--progress-fill:theme(colors.yellow.400)]",
36
+ orange: "[--progress-fill:theme(colors.orange.400)]",
37
+ outline: "[--progress-fill:theme(colors.cyan.300)]",
38
+ ghost: "[--progress-fill:theme(colors.slate.200)]",
39
+ glass: "[--progress-fill:theme(colors.white)]",
40
+ "gradient-blue": "[--progress-fill:linear-gradient(90deg,theme(colors.blue.500),theme(colors.purple.500))]",
41
+ "gradient-green": "[--progress-fill:linear-gradient(90deg,theme(colors.green.500),theme(colors.lime.500))]",
42
+ "gradient-red": "[--progress-fill:linear-gradient(90deg,theme(colors.red.500),theme(colors.pink.500))]",
43
+ "gradient-yellow": "[--progress-fill:linear-gradient(90deg,theme(colors.yellow.500),theme(colors.orange.500))]",
44
+ "gradient-purple": "[--progress-fill:linear-gradient(90deg,theme(colors.purple.500),theme(colors.pink.500))]",
45
+ "gradient-teal": "[--progress-fill:linear-gradient(90deg,theme(colors.teal.500),theme(colors.cyan.500))]",
46
+ "gradient-indigo": "[--progress-fill:linear-gradient(90deg,theme(colors.indigo.500),theme(colors.purple.500))]",
47
+ "gradient-pink": "[--progress-fill:linear-gradient(90deg,theme(colors.pink.500),theme(colors.rose.500))]",
48
+ "gradient-orange": "[--progress-fill:linear-gradient(90deg,theme(colors.orange.500),theme(colors.red.500))]"
49
+ },
50
+ size: {
51
+ xs: "text-[0.65rem]",
52
+ sm: "text-xs",
53
+ md: "text-sm",
54
+ lg: "text-base",
55
+ xl: "text-lg"
56
+ },
57
+ shape: {
58
+ flat: "rounded-none",
59
+ rounded: "rounded-md",
60
+ pill: "rounded-full"
61
+ },
62
+ striped: {
63
+ true: "",
64
+ false: ""
65
+ },
66
+ animated: {
67
+ true: "",
68
+ false: ""
69
+ }
70
+ },
71
+ defaultVariants: {
72
+ appearance: "default",
73
+ size: "md",
74
+ shape: "rounded",
75
+ striped: false,
76
+ animated: false
77
+ }
78
+ });
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"
87
+ },
88
+ shape: {
89
+ flat: "rounded-none",
90
+ rounded: "rounded-md",
91
+ pill: "rounded-full"
92
+ }
93
+ },
94
+ defaultVariants: {
95
+ size: "md",
96
+ shape: "rounded"
97
+ }
98
+ });
99
+ var progressBarVariants = cva(
100
+ "h-full w-full origin-left rounded-[inherit]",
101
+ {
102
+ variants: {
103
+ striped: {
104
+ true: "bg-[repeating-linear-gradient(135deg,rgba(255,255,255,0.18)_0,rgba(255,255,255,0.18)_10px,transparent_10px,transparent_20px)]",
105
+ false: "[background:var(--progress-fill)]"
106
+ }
107
+ },
108
+ defaultVariants: { striped: false }
109
+ }
110
+ );
111
+
112
+ // src/ui/progress/progress.tsx
113
+ import { Fragment, jsx } from "react/jsx-runtime";
114
+ var ProgressContext = createContext(null);
115
+ function useProgressContext(component) {
116
+ const ctx = useContext(ProgressContext);
117
+ if (!ctx) {
118
+ throw new Error(`${component} must be used within <Progress>`);
119
+ }
120
+ return ctx;
121
+ }
122
+ function clamp(value, min, max) {
123
+ return Math.min(max, Math.max(min, value));
124
+ }
125
+ function Progress(props) {
126
+ const {
127
+ className,
128
+ appearance = "default",
129
+ size = "md",
130
+ shape = "rounded",
131
+ striped = false,
132
+ animated = false,
133
+ animation = "none",
134
+ value = 0,
135
+ min = 0,
136
+ max = 100,
137
+ label,
138
+ children,
139
+ ref,
140
+ ...rest
141
+ } = props;
142
+ const motionProps = progressAnimationPresets[animation];
143
+ const clamped = clamp(value, min, max);
144
+ const percent = max === min ? 0 : (clamped - min) / (max - min) * 100;
145
+ const ctx = useMemo(
146
+ () => ({
147
+ value: clamped,
148
+ min,
149
+ max,
150
+ size: size ?? "md",
151
+ shape: shape ?? "rounded",
152
+ striped: Boolean(striped),
153
+ animated: Boolean(animated),
154
+ appearance: appearance ?? "default"
155
+ }),
156
+ [animated, appearance, clamped, max, min, shape, size, striped]
157
+ );
158
+ return /* @__PURE__ */ jsx(ProgressContext.Provider, { value: ctx, children: /* @__PURE__ */ jsx(
159
+ motion.div,
160
+ {
161
+ ref,
162
+ "data-slot": "progress",
163
+ role: "progressbar",
164
+ "aria-valuemin": min,
165
+ "aria-valuemax": max,
166
+ "aria-valuenow": clamped,
167
+ "aria-label": label,
168
+ className: cn(
169
+ progressVariants({ appearance, size, shape, striped, animated }),
170
+ className
171
+ ),
172
+ initial: false,
173
+ ...motionProps,
174
+ ...rest,
175
+ children: children ?? /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(ProgressBar, { style: { transform: `scaleX(${percent / 100})` } }) })
176
+ }
177
+ ) });
178
+ }
179
+ Progress.displayName = "Progress";
180
+ function ProgressBar({
181
+ className,
182
+ style,
183
+ ref,
184
+ ...rest
185
+ }) {
186
+ const { size, shape, striped, animated } = useProgressContext("ProgressBar");
187
+ return /* @__PURE__ */ jsx(
188
+ "div",
189
+ {
190
+ "data-slot": "progress-track",
191
+ className: cn(progressTrackVariants({ size, shape }), "text-current"),
192
+ children: /* @__PURE__ */ jsx(
193
+ motion.div,
194
+ {
195
+ ref,
196
+ "data-slot": "progress-bar",
197
+ className: cn(progressBarVariants({ striped }), className),
198
+ style: {
199
+ transformOrigin: "left center",
200
+ ...style
201
+ },
202
+ animate: animated ? { x: ["-30%", "0%"], opacity: [0.85, 1] } : void 0,
203
+ transition: animated ? { repeat: Infinity, duration: 1.1, ease: "easeInOut" } : void 0,
204
+ ...rest
205
+ }
206
+ )
207
+ }
208
+ );
209
+ }
210
+ ProgressBar.displayName = "ProgressBar";
211
+ function ProgressLabel({ className, children }) {
212
+ return /* @__PURE__ */ jsx("div", { "data-slot": "progress-label", className: cn("mb-2 font-medium text-slate-200", className), children });
213
+ }
214
+ ProgressLabel.displayName = "ProgressLabel";
215
+ function ProgressValue({ className, children }) {
216
+ const { value, min, max } = useProgressContext("ProgressValue");
217
+ const range = max - min;
218
+ const pct = range === 0 ? 0 : Math.round((value - min) / range * 100);
219
+ 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
+ }
222
+ ProgressValue.displayName = "ProgressValue";
223
+ export {
224
+ Progress,
225
+ ProgressBar,
226
+ ProgressLabel,
227
+ ProgressValue,
228
+ progressAnimationPresets,
229
+ progressBarVariants,
230
+ progressTrackVariants,
231
+ progressVariants
232
+ };
233
+ //# sourceMappingURL=progress.mjs.map
@@ -0,0 +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":[]}
@@ -0,0 +1,73 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { ReactNode, HTMLAttributes, ButtonHTMLAttributes } from 'react';
4
+ import { VariantProps } from 'class-variance-authority';
5
+ import * as class_variance_authority_types from 'class-variance-authority/types';
6
+
7
+ declare const selectTriggerVariants: (props?: ({
8
+ variant?: "default" | "outline" | "ghost" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "glass" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
9
+ size?: "sm" | "md" | "lg" | null | undefined;
10
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
11
+ declare const selectItemVariants: (props?: ({
12
+ appearance?: "default" | "outline" | "ghost" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "glass" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
13
+ disabled?: boolean | null | undefined;
14
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
15
+ declare const selectContentVariants: (props?: ({
16
+ appearance?: "default" | "outline" | "ghost" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "glass" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
17
+ size?: "sm" | "md" | "lg" | null | undefined;
18
+ spacing?: "default" | "sm" | "md" | "lg" | "none" | "xl" | null | undefined;
19
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
20
+
21
+ type SelectOption = {
22
+ label: ReactNode;
23
+ value: string;
24
+ disabled?: boolean;
25
+ };
26
+ type SelectAppearance = "default" | "glass" | "ghost" | "outline" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange";
27
+ type SelectContextType = {
28
+ open: boolean;
29
+ setOpen: (v: boolean) => void;
30
+ selected: string[];
31
+ toggleValue: (value: string) => void;
32
+ isSelected: (value: string) => boolean;
33
+ registerOption: (option: SelectOption) => void;
34
+ options: SelectOption[];
35
+ multiple: boolean;
36
+ };
37
+ type SelectProps = {
38
+ value?: string[];
39
+ defaultValue?: string[];
40
+ onChange?: (value: string[]) => void;
41
+ multiple?: boolean;
42
+ children: ReactNode;
43
+ className?: string;
44
+ };
45
+ type SelectTriggerVariantProps = VariantProps<typeof selectTriggerVariants>;
46
+ type SelectTriggerProps = SelectTriggerVariantProps & Omit<ButtonHTMLAttributes<HTMLButtonElement>, "size"> & {
47
+ className?: string;
48
+ };
49
+ type SelectContentProps = HTMLAttributes<HTMLDivElement> & {
50
+ className?: string;
51
+ appearance?: SelectAppearance;
52
+ size?: "sm" | "md" | "lg";
53
+ spacing?: "none" | "default" | "sm" | "md" | "lg" | "xl";
54
+ };
55
+ type SelectItemProps = HTMLAttributes<HTMLDivElement> & {
56
+ value: string;
57
+ children: ReactNode;
58
+ disabled?: boolean;
59
+ appearance?: SelectAppearance;
60
+ };
61
+ type SelectValueProps = HTMLAttributes<HTMLSpanElement> & {
62
+ placeholder?: ReactNode;
63
+ };
64
+
65
+ declare const SelectContext: react.Context<SelectContextType | null>;
66
+ declare const useSelect: () => SelectContextType;
67
+ declare const Select: ({ children, value, defaultValue, onChange, multiple, }: SelectProps) => react_jsx_runtime.JSX.Element;
68
+ declare const SelectTrigger: ({ className, variant, size, ...props }: SelectTriggerProps) => react_jsx_runtime.JSX.Element;
69
+ declare const SelectValue: ({ placeholder, className, ...props }: SelectValueProps) => react_jsx_runtime.JSX.Element;
70
+ declare const SelectContent: ({ children, className, appearance, size, spacing, ...props }: SelectContentProps) => react_jsx_runtime.JSX.Element | null;
71
+ declare const SelectItem: ({ value, children, disabled, appearance, className, ...props }: SelectItemProps) => react_jsx_runtime.JSX.Element;
72
+
73
+ export { Select, SelectContent, type SelectContentProps, SelectContext, type SelectContextType, SelectItem, type SelectItemProps, type SelectOption, type SelectProps, SelectTrigger, type SelectTriggerProps, SelectValue, type SelectValueProps, selectContentVariants, selectItemVariants, selectTriggerVariants, useSelect };
@@ -0,0 +1,73 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { ReactNode, HTMLAttributes, ButtonHTMLAttributes } from 'react';
4
+ import { VariantProps } from 'class-variance-authority';
5
+ import * as class_variance_authority_types from 'class-variance-authority/types';
6
+
7
+ declare const selectTriggerVariants: (props?: ({
8
+ variant?: "default" | "outline" | "ghost" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "glass" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
9
+ size?: "sm" | "md" | "lg" | null | undefined;
10
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
11
+ declare const selectItemVariants: (props?: ({
12
+ appearance?: "default" | "outline" | "ghost" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "glass" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
13
+ disabled?: boolean | null | undefined;
14
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
15
+ declare const selectContentVariants: (props?: ({
16
+ appearance?: "default" | "outline" | "ghost" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "glass" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange" | null | undefined;
17
+ size?: "sm" | "md" | "lg" | null | undefined;
18
+ spacing?: "default" | "sm" | "md" | "lg" | "none" | "xl" | null | undefined;
19
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
20
+
21
+ type SelectOption = {
22
+ label: ReactNode;
23
+ value: string;
24
+ disabled?: boolean;
25
+ };
26
+ type SelectAppearance = "default" | "glass" | "ghost" | "outline" | "sky" | "rose" | "purple" | "pink" | "orange" | "yellow" | "teal" | "indigo" | "emerald" | "gradient-blue" | "gradient-green" | "gradient-red" | "gradient-yellow" | "gradient-purple" | "gradient-teal" | "gradient-indigo" | "gradient-pink" | "gradient-orange";
27
+ type SelectContextType = {
28
+ open: boolean;
29
+ setOpen: (v: boolean) => void;
30
+ selected: string[];
31
+ toggleValue: (value: string) => void;
32
+ isSelected: (value: string) => boolean;
33
+ registerOption: (option: SelectOption) => void;
34
+ options: SelectOption[];
35
+ multiple: boolean;
36
+ };
37
+ type SelectProps = {
38
+ value?: string[];
39
+ defaultValue?: string[];
40
+ onChange?: (value: string[]) => void;
41
+ multiple?: boolean;
42
+ children: ReactNode;
43
+ className?: string;
44
+ };
45
+ type SelectTriggerVariantProps = VariantProps<typeof selectTriggerVariants>;
46
+ type SelectTriggerProps = SelectTriggerVariantProps & Omit<ButtonHTMLAttributes<HTMLButtonElement>, "size"> & {
47
+ className?: string;
48
+ };
49
+ type SelectContentProps = HTMLAttributes<HTMLDivElement> & {
50
+ className?: string;
51
+ appearance?: SelectAppearance;
52
+ size?: "sm" | "md" | "lg";
53
+ spacing?: "none" | "default" | "sm" | "md" | "lg" | "xl";
54
+ };
55
+ type SelectItemProps = HTMLAttributes<HTMLDivElement> & {
56
+ value: string;
57
+ children: ReactNode;
58
+ disabled?: boolean;
59
+ appearance?: SelectAppearance;
60
+ };
61
+ type SelectValueProps = HTMLAttributes<HTMLSpanElement> & {
62
+ placeholder?: ReactNode;
63
+ };
64
+
65
+ declare const SelectContext: react.Context<SelectContextType | null>;
66
+ declare const useSelect: () => SelectContextType;
67
+ declare const Select: ({ children, value, defaultValue, onChange, multiple, }: SelectProps) => react_jsx_runtime.JSX.Element;
68
+ declare const SelectTrigger: ({ className, variant, size, ...props }: SelectTriggerProps) => react_jsx_runtime.JSX.Element;
69
+ declare const SelectValue: ({ placeholder, className, ...props }: SelectValueProps) => react_jsx_runtime.JSX.Element;
70
+ declare const SelectContent: ({ children, className, appearance, size, spacing, ...props }: SelectContentProps) => react_jsx_runtime.JSX.Element | null;
71
+ declare const SelectItem: ({ value, children, disabled, appearance, className, ...props }: SelectItemProps) => react_jsx_runtime.JSX.Element;
72
+
73
+ export { Select, SelectContent, type SelectContentProps, SelectContext, type SelectContextType, SelectItem, type SelectItemProps, type SelectOption, type SelectProps, SelectTrigger, type SelectTriggerProps, SelectValue, type SelectValueProps, selectContentVariants, selectItemVariants, selectTriggerVariants, useSelect };