@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,321 @@
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; }
2
+
3
+ var _chunkE5UX537Jjs = require('../chunk-E5UX537J.js');
4
+
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,
12
+ "flex items-center justify-between rounded-md border transition-all focus:outline-none",
13
+ {
14
+ variants: {
15
+ variant: {
16
+ default: "border-gray-300 bg-white text-gray-900",
17
+ outline: "border-2 border-gray-500",
18
+ ghost: "border-transparent",
19
+ sky: "border-sky-600 text-sky-600",
20
+ rose: "border-rose-600 text-rose-600",
21
+ purple: "border-purple-600 text-purple-600",
22
+ pink: "border-pink-600 text-pink-600",
23
+ orange: "border-orange-600 text-orange-600",
24
+ yellow: "border-yellow-600 text-yellow-600",
25
+ teal: "border-teal-600 text-teal-600",
26
+ indigo: "border-indigo-500 text-indigo-500",
27
+ emerald: "border-emerald-600 text-emerald-600",
28
+ glass: "border-white/15 bg-white/10 text-white backdrop-blur-md",
29
+ "gradient-blue": "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",
30
+ "gradient-green": "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",
31
+ "gradient-red": "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",
32
+ "gradient-yellow": "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",
33
+ "gradient-purple": "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",
34
+ "gradient-teal": "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",
35
+ "gradient-indigo": "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",
36
+ "gradient-pink": "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",
37
+ "gradient-orange": "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"
38
+ },
39
+ size: {
40
+ sm: "px-2 py-1 text-sm",
41
+ md: "px-3 py-2",
42
+ lg: "px-4 py-3 text-lg"
43
+ }
44
+ },
45
+ defaultVariants: {
46
+ variant: "default",
47
+ size: "md"
48
+ }
49
+ }
50
+ );
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
+ }
82
+ },
83
+ defaultVariants: {
84
+ appearance: "default"
85
+ }
86
+ }
87
+ );
88
+ var selectContentVariants = _classvarianceauthority.cva.call(void 0,
89
+ "absolute z-10 mt-2 w-full rounded-md border bg-white shadow-md",
90
+ {
91
+ variants: {
92
+ appearance: {
93
+ default: "bg-white shadow-md",
94
+ glass: "bg-white/10 backdrop-blur-md",
95
+ outline: "border-2 border-gray-500",
96
+ ghost: "border-transparent",
97
+ sky: "border-sky-600",
98
+ rose: "border-rose-600",
99
+ purple: "border-purple-600",
100
+ pink: "border-pink-600",
101
+ orange: "border-orange-600",
102
+ yellow: "border-yellow-600",
103
+ teal: "border-teal-600",
104
+ indigo: "border-indigo-600",
105
+ emerald: "border-emerald-600",
106
+ "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",
107
+ "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",
108
+ "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",
109
+ "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",
110
+ "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",
111
+ "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",
112
+ "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",
113
+ "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",
114
+ "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"
115
+ },
116
+ size: {
117
+ sm: "px-2 py-1 text-sm",
118
+ md: "px-3 py-2",
119
+ lg: "px-4 py-3 text-lg"
120
+ },
121
+ spacing: {
122
+ none: "space-y-0",
123
+ default: "space-y-1",
124
+ sm: "space-y-2",
125
+ md: "space-y-3",
126
+ lg: "space-y-4",
127
+ xl: "space-y-5"
128
+ }
129
+ },
130
+ defaultVariants: {
131
+ appearance: "default",
132
+ size: "md",
133
+ spacing: "default"
134
+ }
135
+ }
136
+ );
137
+
138
+ // src/ui/select/select.tsx
139
+ var _jsxruntime = require('react/jsx-runtime');
140
+ var SelectContext = _react.createContext.call(void 0, null);
141
+ var useSelect = () => {
142
+ const ctx = _react.useContext.call(void 0, SelectContext);
143
+ if (!ctx) throw new Error("Select components must be used inside Select");
144
+ return ctx;
145
+ };
146
+ var Select = ({
147
+ children,
148
+ value,
149
+ defaultValue = [],
150
+ onChange,
151
+ multiple = true
152
+ }) => {
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, () => {
159
+ if (!open) return;
160
+ const handlePointerDown = (event) => {
161
+ const root = rootRef.current;
162
+ if (!root) return;
163
+ const target = event.target;
164
+ if (target instanceof Node && !root.contains(target)) {
165
+ setOpen(false);
166
+ }
167
+ };
168
+ document.addEventListener("pointerdown", handlePointerDown);
169
+ return () => document.removeEventListener("pointerdown", handlePointerDown);
170
+ }, [open]);
171
+ const setSelected = (vals) => {
172
+ if (value !== void 0) {
173
+ _optionalChain([onChange, 'optionalCall', _ => _(vals)]);
174
+ } else {
175
+ setInternal(vals);
176
+ _optionalChain([onChange, 'optionalCall', _2 => _2(vals)]);
177
+ }
178
+ };
179
+ const toggleValue = (val) => {
180
+ if (multiple) {
181
+ if (selected.includes(val)) {
182
+ setSelected(selected.filter((v) => v !== val));
183
+ } else {
184
+ setSelected([...selected, val]);
185
+ }
186
+ } else {
187
+ setSelected([val]);
188
+ setOpen(false);
189
+ }
190
+ };
191
+ const isSelected = (val) => selected.includes(val);
192
+ const registerOption = _react.useCallback.call(void 0, (opt) => {
193
+ setOptions((prev) => {
194
+ if (prev.find((o) => o.value === opt.value)) return prev;
195
+ return [...prev, opt];
196
+ });
197
+ }, []);
198
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
199
+ SelectContext.Provider,
200
+ {
201
+ value: {
202
+ open,
203
+ setOpen,
204
+ selected,
205
+ toggleValue,
206
+ isSelected,
207
+ registerOption,
208
+ options,
209
+ multiple
210
+ },
211
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: rootRef, className: "relative w-full", children })
212
+ }
213
+ );
214
+ };
215
+ var SelectTrigger = ({
216
+ className,
217
+ variant,
218
+ size,
219
+ ...props
220
+ }) => {
221
+ const { open, setOpen } = useSelect();
222
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
223
+ "button",
224
+ {
225
+ type: "button",
226
+ onClick: () => setOpen(!open),
227
+ className: _chunkE5UX537Jjs.cn.call(void 0, selectTriggerVariants({ variant, size }), className),
228
+ ...props
229
+ }
230
+ );
231
+ };
232
+ var SelectValue = ({
233
+ placeholder = "Select...",
234
+ className,
235
+ ...props
236
+ }) => {
237
+ const { selected, options } = useSelect();
238
+ const selectedOptions = options.filter((o) => selected.includes(o.value));
239
+ if (selectedOptions.length === 0) {
240
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkE5UX537Jjs.cn.call(void 0, className), ...props, children: placeholder });
241
+ }
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: [
243
+ index > 0 ? ", " : null,
244
+ option.label
245
+ ] }, option.value)) });
246
+ };
247
+ var SelectContent = ({
248
+ children,
249
+ className,
250
+ appearance = "default",
251
+ size = "md",
252
+ spacing = "default",
253
+ ...props
254
+ }) => {
255
+ const { open } = useSelect();
256
+ if (!open) return null;
257
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
258
+ "div",
259
+ {
260
+ className: _chunkE5UX537Jjs.cn.call(void 0,
261
+ selectContentVariants({ appearance, size, spacing }),
262
+ className
263
+ ),
264
+ ...props,
265
+ children
266
+ }
267
+ );
268
+ };
269
+ var SelectItem = ({
270
+ value,
271
+ children,
272
+ disabled,
273
+ appearance = "default",
274
+ className,
275
+ ...props
276
+ }) => {
277
+ const { toggleValue, isSelected, registerOption } = useSelect();
278
+ _react.useEffect.call(void 0, () => {
279
+ registerOption({ label: children, value, disabled });
280
+ }, [children, disabled, registerOption, value]);
281
+ const isActive = isSelected(value);
282
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
283
+ "div",
284
+ {
285
+ role: "option",
286
+ "aria-selected": isActive,
287
+ tabIndex: 0,
288
+ onClick: () => !disabled && toggleValue(value),
289
+ onKeyDown: (e) => {
290
+ if (e.key === "Enter") toggleValue(value);
291
+ },
292
+ "data-selected": isActive ? "true" : "false",
293
+ className: _chunkE5UX537Jjs.cn.call(void 0,
294
+ selectItemVariants({
295
+ disabled,
296
+ appearance
297
+ }),
298
+ "flex justify-between",
299
+ className
300
+ ),
301
+ ...props,
302
+ children: [
303
+ children,
304
+ isActive && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: "\u2713" })
305
+ ]
306
+ }
307
+ );
308
+ };
309
+
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;
321
+ //# sourceMappingURL=select.js.map
@@ -0,0 +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]}
@@ -0,0 +1,323 @@
1
+ "use client";
2
+
3
+ import {
4
+ cn
5
+ } from "../chunk-MEWYFWBX.mjs";
6
+
7
+ // src/ui/select/select.tsx
8
+ import { useState, useEffect, useCallback, useRef } from "react";
9
+ import { createContext, useContext } from "react";
10
+
11
+ // src/ui/select/variants.ts
12
+ import { cva } from "class-variance-authority";
13
+ var selectTriggerVariants = cva(
14
+ "flex items-center justify-between rounded-md border transition-all focus:outline-none",
15
+ {
16
+ variants: {
17
+ variant: {
18
+ default: "border-gray-300 bg-white text-gray-900",
19
+ outline: "border-2 border-gray-500",
20
+ ghost: "border-transparent",
21
+ sky: "border-sky-600 text-sky-600",
22
+ rose: "border-rose-600 text-rose-600",
23
+ purple: "border-purple-600 text-purple-600",
24
+ pink: "border-pink-600 text-pink-600",
25
+ orange: "border-orange-600 text-orange-600",
26
+ yellow: "border-yellow-600 text-yellow-600",
27
+ teal: "border-teal-600 text-teal-600",
28
+ indigo: "border-indigo-500 text-indigo-500",
29
+ emerald: "border-emerald-600 text-emerald-600",
30
+ glass: "border-white/15 bg-white/10 text-white backdrop-blur-md",
31
+ "gradient-blue": "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",
32
+ "gradient-green": "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",
33
+ "gradient-red": "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",
34
+ "gradient-yellow": "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",
35
+ "gradient-purple": "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",
36
+ "gradient-teal": "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",
37
+ "gradient-indigo": "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",
38
+ "gradient-pink": "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",
39
+ "gradient-orange": "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"
40
+ },
41
+ size: {
42
+ sm: "px-2 py-1 text-sm",
43
+ md: "px-3 py-2",
44
+ lg: "px-4 py-3 text-lg"
45
+ }
46
+ },
47
+ defaultVariants: {
48
+ variant: "default",
49
+ size: "md"
50
+ }
51
+ }
52
+ );
53
+ var selectItemVariants = cva(
54
+ "cursor-pointer px-3 py-2 rounded-md",
55
+ {
56
+ variants: {
57
+ appearance: {
58
+ default: "bg-white text-gray-900 data-[selected=true]:bg-gray-200 data-[selected=true]:text-gray-900",
59
+ glass: "bg-white/10 text-gray-100 data-[selected=true]:bg-white/10 data-[selected=true]:text-gray-100",
60
+ 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",
61
+ ghost: "border-transparent text-gray-900 data-[selected=true]:border-transparent data-[selected=true]:bg-transparent data-[selected=true]:text-gray-900",
62
+ 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",
63
+ 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",
64
+ 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",
65
+ 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",
66
+ 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",
67
+ 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",
68
+ 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",
69
+ 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",
70
+ 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",
71
+ "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",
72
+ "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",
73
+ "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",
74
+ "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",
75
+ "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",
76
+ "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",
77
+ "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",
78
+ "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",
79
+ "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"
80
+ },
81
+ disabled: {
82
+ true: "opacity-50 cursor-not-allowed"
83
+ }
84
+ },
85
+ defaultVariants: {
86
+ appearance: "default"
87
+ }
88
+ }
89
+ );
90
+ var selectContentVariants = cva(
91
+ "absolute z-10 mt-2 w-full rounded-md border bg-white shadow-md",
92
+ {
93
+ variants: {
94
+ appearance: {
95
+ default: "bg-white shadow-md",
96
+ glass: "bg-white/10 backdrop-blur-md",
97
+ outline: "border-2 border-gray-500",
98
+ ghost: "border-transparent",
99
+ sky: "border-sky-600",
100
+ rose: "border-rose-600",
101
+ purple: "border-purple-600",
102
+ pink: "border-pink-600",
103
+ orange: "border-orange-600",
104
+ yellow: "border-yellow-600",
105
+ teal: "border-teal-600",
106
+ indigo: "border-indigo-600",
107
+ emerald: "border-emerald-600",
108
+ "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",
109
+ "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",
110
+ "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",
111
+ "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",
112
+ "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",
113
+ "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",
114
+ "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",
115
+ "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",
116
+ "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"
117
+ },
118
+ size: {
119
+ sm: "px-2 py-1 text-sm",
120
+ md: "px-3 py-2",
121
+ lg: "px-4 py-3 text-lg"
122
+ },
123
+ spacing: {
124
+ none: "space-y-0",
125
+ default: "space-y-1",
126
+ sm: "space-y-2",
127
+ md: "space-y-3",
128
+ lg: "space-y-4",
129
+ xl: "space-y-5"
130
+ }
131
+ },
132
+ defaultVariants: {
133
+ appearance: "default",
134
+ size: "md",
135
+ spacing: "default"
136
+ }
137
+ }
138
+ );
139
+
140
+ // src/ui/select/select.tsx
141
+ import { jsx, jsxs } from "react/jsx-runtime";
142
+ var SelectContext = createContext(null);
143
+ var useSelect = () => {
144
+ const ctx = useContext(SelectContext);
145
+ if (!ctx) throw new Error("Select components must be used inside Select");
146
+ return ctx;
147
+ };
148
+ var Select = ({
149
+ children,
150
+ value,
151
+ defaultValue = [],
152
+ onChange,
153
+ multiple = true
154
+ }) => {
155
+ const [internal, setInternal] = useState(defaultValue);
156
+ const [open, setOpen] = useState(false);
157
+ const [options, setOptions] = useState([]);
158
+ const rootRef = useRef(null);
159
+ const selected = value ?? internal;
160
+ useEffect(() => {
161
+ if (!open) return;
162
+ const handlePointerDown = (event) => {
163
+ const root = rootRef.current;
164
+ if (!root) return;
165
+ const target = event.target;
166
+ if (target instanceof Node && !root.contains(target)) {
167
+ setOpen(false);
168
+ }
169
+ };
170
+ document.addEventListener("pointerdown", handlePointerDown);
171
+ return () => document.removeEventListener("pointerdown", handlePointerDown);
172
+ }, [open]);
173
+ const setSelected = (vals) => {
174
+ if (value !== void 0) {
175
+ onChange?.(vals);
176
+ } else {
177
+ setInternal(vals);
178
+ onChange?.(vals);
179
+ }
180
+ };
181
+ const toggleValue = (val) => {
182
+ if (multiple) {
183
+ if (selected.includes(val)) {
184
+ setSelected(selected.filter((v) => v !== val));
185
+ } else {
186
+ setSelected([...selected, val]);
187
+ }
188
+ } else {
189
+ setSelected([val]);
190
+ setOpen(false);
191
+ }
192
+ };
193
+ const isSelected = (val) => selected.includes(val);
194
+ const registerOption = useCallback((opt) => {
195
+ setOptions((prev) => {
196
+ if (prev.find((o) => o.value === opt.value)) return prev;
197
+ return [...prev, opt];
198
+ });
199
+ }, []);
200
+ return /* @__PURE__ */ jsx(
201
+ SelectContext.Provider,
202
+ {
203
+ value: {
204
+ open,
205
+ setOpen,
206
+ selected,
207
+ toggleValue,
208
+ isSelected,
209
+ registerOption,
210
+ options,
211
+ multiple
212
+ },
213
+ children: /* @__PURE__ */ jsx("div", { ref: rootRef, className: "relative w-full", children })
214
+ }
215
+ );
216
+ };
217
+ var SelectTrigger = ({
218
+ className,
219
+ variant,
220
+ size,
221
+ ...props
222
+ }) => {
223
+ const { open, setOpen } = useSelect();
224
+ return /* @__PURE__ */ jsx(
225
+ "button",
226
+ {
227
+ type: "button",
228
+ onClick: () => setOpen(!open),
229
+ className: cn(selectTriggerVariants({ variant, size }), className),
230
+ ...props
231
+ }
232
+ );
233
+ };
234
+ var SelectValue = ({
235
+ placeholder = "Select...",
236
+ className,
237
+ ...props
238
+ }) => {
239
+ const { selected, options } = useSelect();
240
+ const selectedOptions = options.filter((o) => selected.includes(o.value));
241
+ if (selectedOptions.length === 0) {
242
+ return /* @__PURE__ */ jsx("span", { className: cn(className), ...props, children: placeholder });
243
+ }
244
+ return /* @__PURE__ */ jsx("span", { className: cn(className), ...props, children: selectedOptions.map((option, index) => /* @__PURE__ */ jsxs("span", { children: [
245
+ index > 0 ? ", " : null,
246
+ option.label
247
+ ] }, option.value)) });
248
+ };
249
+ var SelectContent = ({
250
+ children,
251
+ className,
252
+ appearance = "default",
253
+ size = "md",
254
+ spacing = "default",
255
+ ...props
256
+ }) => {
257
+ const { open } = useSelect();
258
+ if (!open) return null;
259
+ return /* @__PURE__ */ jsx(
260
+ "div",
261
+ {
262
+ className: cn(
263
+ selectContentVariants({ appearance, size, spacing }),
264
+ className
265
+ ),
266
+ ...props,
267
+ children
268
+ }
269
+ );
270
+ };
271
+ var SelectItem = ({
272
+ value,
273
+ children,
274
+ disabled,
275
+ appearance = "default",
276
+ className,
277
+ ...props
278
+ }) => {
279
+ const { toggleValue, isSelected, registerOption } = useSelect();
280
+ useEffect(() => {
281
+ registerOption({ label: children, value, disabled });
282
+ }, [children, disabled, registerOption, value]);
283
+ const isActive = isSelected(value);
284
+ return /* @__PURE__ */ jsxs(
285
+ "div",
286
+ {
287
+ role: "option",
288
+ "aria-selected": isActive,
289
+ tabIndex: 0,
290
+ onClick: () => !disabled && toggleValue(value),
291
+ onKeyDown: (e) => {
292
+ if (e.key === "Enter") toggleValue(value);
293
+ },
294
+ "data-selected": isActive ? "true" : "false",
295
+ className: cn(
296
+ selectItemVariants({
297
+ disabled,
298
+ appearance
299
+ }),
300
+ "flex justify-between",
301
+ className
302
+ ),
303
+ ...props,
304
+ children: [
305
+ children,
306
+ isActive && /* @__PURE__ */ jsx("span", { children: "\u2713" })
307
+ ]
308
+ }
309
+ );
310
+ };
311
+ export {
312
+ Select,
313
+ SelectContent,
314
+ SelectContext,
315
+ SelectItem,
316
+ SelectTrigger,
317
+ SelectValue,
318
+ selectContentVariants,
319
+ selectItemVariants,
320
+ selectTriggerVariants,
321
+ useSelect
322
+ };
323
+ //# sourceMappingURL=select.mjs.map