@caffeinebounce/ui 0.62.2 → 0.63.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 (122) hide show
  1. package/README.md +1 -1
  2. package/dist/blog.js +8 -6
  3. package/dist/blog.mjs +3 -1
  4. package/dist/charts.d.cts +1 -1
  5. package/dist/charts.d.ts +1 -1
  6. package/dist/{chunk-6DVWMJ3H.mjs → chunk-2EFVMX6V.mjs} +4 -3
  7. package/dist/chunk-33JR5SYE.js +1 -0
  8. package/dist/{chunk-OZZWDIOY.js → chunk-375DECW4.js} +32 -31
  9. package/dist/chunk-3NDB4YPC.js +1 -0
  10. package/dist/{chunk-PZRI43EZ.js → chunk-46JYKBRX.js} +0 -43
  11. package/dist/chunk-5D55OVD5.js +75 -0
  12. package/dist/chunk-5RW4PYZ6.js +1 -0
  13. package/dist/chunk-5THF4YP6.mjs +1 -0
  14. package/dist/{chunk-JORVSG52.js → chunk-663CFAHS.js} +212 -269
  15. package/dist/chunk-6BUBNZPG.mjs +1 -0
  16. package/dist/chunk-6HKJDV43.mjs +48 -0
  17. package/dist/chunk-6NCRGHV3.mjs +64 -0
  18. package/dist/{chunk-OLAAXLXY.mjs → chunk-6QAKQG57.mjs} +5 -4
  19. package/dist/chunk-72JGQ7IJ.mjs +1 -0
  20. package/dist/{chunk-N6AFNFZR.mjs → chunk-7ERVZXIN.mjs} +215 -270
  21. package/dist/chunk-7IKHZKAC.js +1 -0
  22. package/dist/chunk-APFEP5B7.mjs +100 -0
  23. package/dist/chunk-C3OADNSG.js +348 -0
  24. package/dist/{chunk-RVEFPVZF.mjs → chunk-C57MX3BG.mjs} +1 -0
  25. package/dist/{chunk-CC4KUIKC.js → chunk-DH5Z3ETN.js} +67 -45
  26. package/dist/chunk-DYWZ23QT.mjs +90 -0
  27. package/dist/{chunk-KRRIRS6A.mjs → chunk-E67IR6HU.mjs} +31 -9
  28. package/dist/{chunk-D3QXPL47.mjs → chunk-EXQSWHLD.mjs} +7 -6
  29. package/dist/{chunk-ZOA7B32D.js → chunk-F35KL6TX.js} +10 -9
  30. package/dist/{chunk-YSLD2HLP.mjs → chunk-FFJC66KO.mjs} +2 -1
  31. package/dist/chunk-FRRS2YZH.mjs +1 -0
  32. package/dist/chunk-G5TQWWQA.mjs +1 -0
  33. package/dist/{chunk-MPZFPU4X.js → chunk-GMBLPQ3I.js} +4 -3
  34. package/dist/chunk-IJFPPLQW.js +50 -0
  35. package/dist/chunk-J6OLBSZR.js +1 -0
  36. package/dist/chunk-KGGQ5NZV.js +1 -0
  37. package/dist/chunk-KHCC5UKW.mjs +1 -0
  38. package/dist/{chunk-BMFQG6RA.mjs → chunk-KJIX6V32.mjs} +108 -1885
  39. package/dist/chunk-LABHD4PU.js +109 -0
  40. package/dist/chunk-LQCVRWVF.js +1 -0
  41. package/dist/{chunk-GAIQJCAZ.js → chunk-LT5VD4KR.js} +150 -1953
  42. package/dist/{chunk-7DHKQODW.mjs → chunk-LTLCIRZY.mjs} +257 -474
  43. package/dist/chunk-N5BHXWR3.mjs +34 -0
  44. package/dist/chunk-OCO3Z5YA.js +37 -0
  45. package/dist/chunk-OFQLWSUR.mjs +1 -0
  46. package/dist/chunk-OIJ7XMDV.mjs +71 -0
  47. package/dist/chunk-ORBH4IBC.mjs +316 -0
  48. package/dist/{chunk-C4UT5V3P.js → chunk-OWHI5VGJ.js} +1 -0
  49. package/dist/chunk-OWWOAYIY.js +2652 -0
  50. package/dist/chunk-PFHOXDSW.mjs +10 -0
  51. package/dist/chunk-Q52ZEL62.mjs +1 -0
  52. package/dist/chunk-QRS7DJGS.js +103 -0
  53. package/dist/chunk-R26Y7LGJ.js +1 -0
  54. package/dist/{chunk-BFWX5GJZ.mjs → chunk-R3X4B4JJ.mjs} +56 -8
  55. package/dist/chunk-RBUYW6QQ.js +1 -0
  56. package/dist/chunk-RM7ACPTM.mjs +2601 -0
  57. package/dist/chunk-RODSGPBB.mjs +75 -0
  58. package/dist/chunk-SORWLKOK.js +1 -0
  59. package/dist/{chunk-T6ZBA6VJ.js → chunk-UHAV34YX.js} +9 -8
  60. package/dist/{chunk-GUSTCU2W.mjs → chunk-ULANYJ7Y.mjs} +1 -59
  61. package/dist/chunk-ULDE7QSN.js +70 -0
  62. package/dist/chunk-UT36VNVZ.mjs +47 -0
  63. package/dist/chunk-UY3H4PKB.js +71 -0
  64. package/dist/{chunk-KB7UXIQZ.mjs → chunk-VIVWFQG5.mjs} +3 -1
  65. package/dist/{chunk-ESZ7CBA2.js → chunk-VKBJ3SGT.js} +7 -5
  66. package/dist/{chunk-UM7WMXIU.js → chunk-W3YOQ5ZD.js} +265 -505
  67. package/dist/chunk-WOITB4JL.js +1 -0
  68. package/dist/{chunk-E42B4GSB.js → chunk-XGJL6DLV.js} +58 -7
  69. package/dist/chunk-YKZEKJMZ.mjs +1 -0
  70. package/dist/chunk-YRIBFIQ5.js +116 -0
  71. package/dist/chunk-ZFLZA7UP.mjs +1 -0
  72. package/dist/chunk-ZKUIUE7W.mjs +1 -0
  73. package/dist/chunk-ZWWJ3RRA.js +15 -0
  74. package/dist/data-grid.d.cts +241 -0
  75. package/dist/data-grid.d.ts +241 -0
  76. package/dist/data-grid.js +6486 -0
  77. package/dist/data-grid.mjs +6459 -0
  78. package/dist/data-table-CDQBo-Ve.d.ts +818 -0
  79. package/dist/data-table-jLzt6plY.d.cts +818 -0
  80. package/dist/data-table.d.cts +8 -42
  81. package/dist/data-table.d.ts +8 -42
  82. package/dist/data-table.js +61 -187
  83. package/dist/data-table.mjs +11 -5
  84. package/dist/finance.d.cts +534 -0
  85. package/dist/finance.d.ts +534 -0
  86. package/dist/finance.js +188 -0
  87. package/dist/finance.mjs +15 -0
  88. package/dist/forms.js +9 -6
  89. package/dist/forms.mjs +7 -4
  90. package/dist/{hooks-B2jU1GVT.d.ts → hooks-A55E0fgf.d.ts} +3 -2
  91. package/dist/{hooks-8ORd7T1A.d.cts → hooks-Bys_AZPI.d.cts} +3 -2
  92. package/dist/hooks.d.cts +1 -1
  93. package/dist/hooks.d.ts +1 -1
  94. package/dist/hooks.js +26 -23
  95. package/dist/hooks.mjs +6 -3
  96. package/dist/index.d.cts +536 -665
  97. package/dist/index.d.ts +536 -665
  98. package/dist/index.js +3830 -3408
  99. package/dist/index.mjs +2068 -1767
  100. package/dist/layouts.js +26 -25
  101. package/dist/layouts.mjs +5 -4
  102. package/dist/marketing-3d.js +1 -0
  103. package/dist/marketing-3d.mjs +1 -0
  104. package/dist/marketing.js +75 -74
  105. package/dist/marketing.mjs +5 -4
  106. package/dist/media.js +1 -0
  107. package/dist/media.mjs +1 -0
  108. package/dist/navigation.js +29 -28
  109. package/dist/navigation.mjs +7 -6
  110. package/dist/primitives.d.cts +72 -109
  111. package/dist/primitives.d.ts +72 -109
  112. package/dist/primitives.js +78 -72
  113. package/dist/primitives.mjs +8 -6
  114. package/dist/settings.js +9 -9
  115. package/dist/settings.mjs +4 -4
  116. package/package.json +21 -4
  117. package/dist/UnifiedTableControls-CG299y9h.d.ts +0 -1233
  118. package/dist/UnifiedTableControls-CIjRpNhy.d.cts +0 -1233
  119. package/dist/chunk-GMBGWOCR.mjs +0 -48
  120. package/dist/chunk-HBLKVQIQ.mjs +0 -23
  121. package/dist/chunk-HMAMMC72.js +0 -26
  122. package/dist/chunk-MVYRNJA6.js +0 -74
@@ -1,12 +1,13 @@
1
+ "use client";
1
2
  'use strict';
2
3
 
3
4
  var chunk33JR5SYE_js = require('./chunk-33JR5SYE.js');
4
5
  var chunkLQCVRWVF_js = require('./chunk-LQCVRWVF.js');
5
6
  var chunkADIDI7AJ_js = require('./chunk-ADIDI7AJ.js');
6
- var jsxRuntime = require('react/jsx-runtime');
7
7
  var inputOtp = require('input-otp');
8
8
  var lucideReact = require('lucide-react');
9
9
  var React2 = require('react');
10
+ var jsxRuntime = require('react/jsx-runtime');
10
11
  var classVarianceAuthority = require('class-variance-authority');
11
12
 
12
13
  function _interopNamespace(e) {
@@ -29,19 +30,6 @@ function _interopNamespace(e) {
29
30
 
30
31
  var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
31
32
 
32
- function Textarea({ className, ...props }) {
33
- return /* @__PURE__ */ jsxRuntime.jsx(
34
- "textarea",
35
- {
36
- "data-slot": "textarea",
37
- className: chunkADIDI7AJ_js.cn(
38
- "border-input placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex min-h-16 w-full min-w-0 max-w-full rounded-box border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm break-words [overflow-wrap:anywhere]",
39
- className
40
- ),
41
- ...props
42
- }
43
- );
44
- }
45
33
  function InputOTP({
46
34
  className,
47
35
  containerClassName,
@@ -99,259 +87,6 @@ function InputOTPSlot({
99
87
  function InputOTPSeparator({ ...props }) {
100
88
  return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "input-otp-separator", "aria-hidden": "true", ...props, children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MinusIcon, { className: "h-4 w-4 text-muted-foreground" }) });
101
89
  }
102
- function Checkbox({
103
- className,
104
- checked,
105
- onCheckedChange,
106
- disabled,
107
- ...props
108
- }) {
109
- return /* @__PURE__ */ jsxRuntime.jsx(
110
- "label",
111
- {
112
- className: chunkADIDI7AJ_js.cn(
113
- "inline-flex items-center",
114
- disabled && "opacity-50 cursor-not-allowed"
115
- ),
116
- children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "relative", children: [
117
- /* @__PURE__ */ jsxRuntime.jsx(
118
- "input",
119
- {
120
- type: "checkbox",
121
- checked,
122
- disabled,
123
- onChange: (e) => onCheckedChange?.(e.target.checked),
124
- className: "peer sr-only",
125
- ...props
126
- }
127
- ),
128
- /* @__PURE__ */ jsxRuntime.jsx(
129
- "span",
130
- {
131
- "data-slot": "checkbox",
132
- className: chunkADIDI7AJ_js.cn(
133
- "border-input bg-background peer-focus-visible:ring-ring/50 peer-focus-visible:ring-[3px] flex size-4 shrink-0 items-center justify-center rounded-sm border shadow-xs transition-colors",
134
- "peer-checked:bg-primary peer-checked:border-primary peer-checked:text-primary-foreground",
135
- "peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
136
- className
137
- ),
138
- children: checked && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckIcon, { className: "size-3.5 stroke-3" })
139
- }
140
- )
141
- ] })
142
- }
143
- );
144
- }
145
- function FieldSet({ className, ...props }) {
146
- return /* @__PURE__ */ jsxRuntime.jsx(
147
- "fieldset",
148
- {
149
- "data-slot": "field-set",
150
- className: chunkADIDI7AJ_js.cn(
151
- "flex flex-col gap-6",
152
- "has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3",
153
- className
154
- ),
155
- ...props
156
- }
157
- );
158
- }
159
- function FieldLegend({
160
- className,
161
- variant = "legend",
162
- ...props
163
- }) {
164
- return /* @__PURE__ */ jsxRuntime.jsx(
165
- "legend",
166
- {
167
- "data-slot": "field-legend",
168
- "data-variant": variant,
169
- className: chunkADIDI7AJ_js.cn(
170
- "mb-3 font-medium",
171
- "data-[variant=legend]:text-base",
172
- "data-[variant=label]:text-sm",
173
- className
174
- ),
175
- ...props
176
- }
177
- );
178
- }
179
- function FieldGroup({ className, ...props }) {
180
- return /* @__PURE__ */ jsxRuntime.jsx(
181
- "div",
182
- {
183
- "data-slot": "field-group",
184
- className: chunkADIDI7AJ_js.cn(
185
- "group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4",
186
- className
187
- ),
188
- ...props
189
- }
190
- );
191
- }
192
- var fieldVariants = classVarianceAuthority.cva(
193
- "group/field flex w-full gap-3 data-[invalid=true]:text-destructive",
194
- {
195
- variants: {
196
- orientation: {
197
- vertical: ["flex-col [&>*]:w-full [&>.sr-only]:w-auto"],
198
- horizontal: [
199
- "flex-row items-center",
200
- "[&>[data-slot=field-label]]:flex-auto",
201
- "has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
202
- ],
203
- responsive: [
204
- "flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto",
205
- "@md/field-group:[&>[data-slot=field-label]]:flex-auto",
206
- "@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
207
- ]
208
- }
209
- },
210
- defaultVariants: {
211
- orientation: "vertical"
212
- }
213
- }
214
- );
215
- function Field({
216
- className,
217
- orientation = "vertical",
218
- ...props
219
- }) {
220
- return /* @__PURE__ */ jsxRuntime.jsx(
221
- "fieldset",
222
- {
223
- "data-slot": "field",
224
- "data-orientation": orientation,
225
- className: chunkADIDI7AJ_js.cn(fieldVariants({ orientation }), className),
226
- ...props
227
- }
228
- );
229
- }
230
- function FieldContent({ className, ...props }) {
231
- return /* @__PURE__ */ jsxRuntime.jsx(
232
- "div",
233
- {
234
- "data-slot": "field-content",
235
- className: chunkADIDI7AJ_js.cn(
236
- "group/field-content flex flex-1 flex-col gap-1.5 leading-snug",
237
- className
238
- ),
239
- ...props
240
- }
241
- );
242
- }
243
- function FieldLabel({
244
- className,
245
- ...props
246
- }) {
247
- return /* @__PURE__ */ jsxRuntime.jsx(
248
- chunk33JR5SYE_js.Label,
249
- {
250
- "data-slot": "field-label",
251
- className: chunkADIDI7AJ_js.cn(
252
- "group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50",
253
- "has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-box has-[>[data-slot=field]]:border *:data-[slot=field]:p-4",
254
- "has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10",
255
- className
256
- ),
257
- ...props
258
- }
259
- );
260
- }
261
- function FieldTitle({ className, ...props }) {
262
- return /* @__PURE__ */ jsxRuntime.jsx(
263
- "div",
264
- {
265
- "data-slot": "field-label",
266
- className: chunkADIDI7AJ_js.cn(
267
- "flex w-fit items-center gap-2 text-sm leading-snug font-medium group-data-[disabled=true]/field:opacity-50",
268
- className
269
- ),
270
- ...props
271
- }
272
- );
273
- }
274
- function FieldDescription({ className, ...props }) {
275
- return /* @__PURE__ */ jsxRuntime.jsx(
276
- "p",
277
- {
278
- "data-slot": "field-description",
279
- className: chunkADIDI7AJ_js.cn(
280
- "text-muted-foreground text-sm leading-normal font-normal group-has-data-[orientation=horizontal]/field:text-balance",
281
- "last:mt-0 nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5",
282
- "[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
283
- className
284
- ),
285
- ...props
286
- }
287
- );
288
- }
289
- function FieldSeparator({
290
- children,
291
- className,
292
- ...props
293
- }) {
294
- return /* @__PURE__ */ jsxRuntime.jsxs(
295
- "div",
296
- {
297
- "data-slot": "field-separator",
298
- "data-content": !!children,
299
- className: chunkADIDI7AJ_js.cn(
300
- "relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2",
301
- className
302
- ),
303
- ...props,
304
- children: [
305
- /* @__PURE__ */ jsxRuntime.jsx(chunkLQCVRWVF_js.Separator, { className: "absolute inset-0 top-1/2" }),
306
- children && /* @__PURE__ */ jsxRuntime.jsx(
307
- "span",
308
- {
309
- className: "bg-background text-muted-foreground relative mx-auto block w-fit px-2",
310
- "data-slot": "field-separator-content",
311
- children
312
- }
313
- )
314
- ]
315
- }
316
- );
317
- }
318
- function FieldError({
319
- className,
320
- children,
321
- errors,
322
- ...props
323
- }) {
324
- const content = React2.useMemo(() => {
325
- if (children) {
326
- return children;
327
- }
328
- if (!errors?.length) {
329
- return null;
330
- }
331
- const uniqueErrors = [
332
- ...new Map(errors.map((error) => [error?.message, error])).values()
333
- ];
334
- if (uniqueErrors?.length === 1) {
335
- return uniqueErrors[0]?.message;
336
- }
337
- return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
338
- (error) => error?.message && /* @__PURE__ */ jsxRuntime.jsx("li", { children: error.message }, error.message)
339
- ) });
340
- }, [children, errors]);
341
- if (!content) {
342
- return null;
343
- }
344
- return /* @__PURE__ */ jsxRuntime.jsx(
345
- "div",
346
- {
347
- role: "alert",
348
- "data-slot": "field-error",
349
- className: chunkADIDI7AJ_js.cn("text-destructive text-xs font-normal -mt-2.5", className),
350
- ...props,
351
- children: content
352
- }
353
- );
354
- }
355
90
  var PasswordInput = React2__namespace.forwardRef(({ className, ...props }, ref) => {
356
91
  const [showPassword, setShowPassword] = React2__namespace.useState(false);
357
92
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
@@ -582,8 +317,217 @@ function VerificationCodeInput({
582
317
  )) })
583
318
  ] });
584
319
  }
320
+ function FieldSet({ className, ...props }) {
321
+ return /* @__PURE__ */ jsxRuntime.jsx(
322
+ "fieldset",
323
+ {
324
+ "data-slot": "field-set",
325
+ className: chunkADIDI7AJ_js.cn(
326
+ "flex flex-col gap-6",
327
+ "has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3",
328
+ className
329
+ ),
330
+ ...props
331
+ }
332
+ );
333
+ }
334
+ function FieldLegend({
335
+ className,
336
+ variant = "legend",
337
+ ...props
338
+ }) {
339
+ return /* @__PURE__ */ jsxRuntime.jsx(
340
+ "legend",
341
+ {
342
+ "data-slot": "field-legend",
343
+ "data-variant": variant,
344
+ className: chunkADIDI7AJ_js.cn(
345
+ "mb-3 font-medium",
346
+ "data-[variant=legend]:text-base",
347
+ "data-[variant=label]:text-sm",
348
+ className
349
+ ),
350
+ ...props
351
+ }
352
+ );
353
+ }
354
+ function FieldGroup({ className, ...props }) {
355
+ return /* @__PURE__ */ jsxRuntime.jsx(
356
+ "div",
357
+ {
358
+ "data-slot": "field-group",
359
+ className: chunkADIDI7AJ_js.cn(
360
+ "group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4",
361
+ className
362
+ ),
363
+ ...props
364
+ }
365
+ );
366
+ }
367
+ var fieldVariants = classVarianceAuthority.cva(
368
+ "group/field flex w-full gap-3 data-[invalid=true]:text-destructive",
369
+ {
370
+ variants: {
371
+ orientation: {
372
+ vertical: ["flex-col [&>*]:w-full [&>.sr-only]:w-auto"],
373
+ horizontal: [
374
+ "flex-row items-center",
375
+ "[&>[data-slot=field-label]]:flex-auto",
376
+ "has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
377
+ ],
378
+ responsive: [
379
+ "flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto",
380
+ "@md/field-group:[&>[data-slot=field-label]]:flex-auto",
381
+ "@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"
382
+ ]
383
+ }
384
+ },
385
+ defaultVariants: {
386
+ orientation: "vertical"
387
+ }
388
+ }
389
+ );
390
+ function Field({
391
+ className,
392
+ orientation = "vertical",
393
+ ...props
394
+ }) {
395
+ return /* @__PURE__ */ jsxRuntime.jsx(
396
+ "fieldset",
397
+ {
398
+ "data-slot": "field",
399
+ "data-orientation": orientation,
400
+ className: chunkADIDI7AJ_js.cn(fieldVariants({ orientation }), className),
401
+ ...props
402
+ }
403
+ );
404
+ }
405
+ function FieldContent({ className, ...props }) {
406
+ return /* @__PURE__ */ jsxRuntime.jsx(
407
+ "div",
408
+ {
409
+ "data-slot": "field-content",
410
+ className: chunkADIDI7AJ_js.cn(
411
+ "group/field-content flex flex-1 flex-col gap-1.5 leading-snug",
412
+ className
413
+ ),
414
+ ...props
415
+ }
416
+ );
417
+ }
418
+ function FieldLabel({
419
+ className,
420
+ ...props
421
+ }) {
422
+ return /* @__PURE__ */ jsxRuntime.jsx(
423
+ chunk33JR5SYE_js.Label,
424
+ {
425
+ "data-slot": "field-label",
426
+ className: chunkADIDI7AJ_js.cn(
427
+ "group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50",
428
+ "has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-box has-[>[data-slot=field]]:border *:data-[slot=field]:p-4",
429
+ "has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10",
430
+ className
431
+ ),
432
+ ...props
433
+ }
434
+ );
435
+ }
436
+ function FieldTitle({ className, ...props }) {
437
+ return /* @__PURE__ */ jsxRuntime.jsx(
438
+ "div",
439
+ {
440
+ "data-slot": "field-label",
441
+ className: chunkADIDI7AJ_js.cn(
442
+ "flex w-fit items-center gap-2 text-sm leading-snug font-medium group-data-[disabled=true]/field:opacity-50",
443
+ className
444
+ ),
445
+ ...props
446
+ }
447
+ );
448
+ }
449
+ function FieldDescription({ className, ...props }) {
450
+ return /* @__PURE__ */ jsxRuntime.jsx(
451
+ "p",
452
+ {
453
+ "data-slot": "field-description",
454
+ className: chunkADIDI7AJ_js.cn(
455
+ "text-muted-foreground text-sm leading-normal font-normal group-has-data-[orientation=horizontal]/field:text-balance",
456
+ "last:mt-0 nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5",
457
+ "[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",
458
+ className
459
+ ),
460
+ ...props
461
+ }
462
+ );
463
+ }
464
+ function FieldSeparator({
465
+ children,
466
+ className,
467
+ ...props
468
+ }) {
469
+ return /* @__PURE__ */ jsxRuntime.jsxs(
470
+ "div",
471
+ {
472
+ "data-slot": "field-separator",
473
+ "data-content": !!children,
474
+ className: chunkADIDI7AJ_js.cn(
475
+ "relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2",
476
+ className
477
+ ),
478
+ ...props,
479
+ children: [
480
+ /* @__PURE__ */ jsxRuntime.jsx(chunkLQCVRWVF_js.Separator, { className: "absolute inset-0 top-1/2" }),
481
+ children && /* @__PURE__ */ jsxRuntime.jsx(
482
+ "span",
483
+ {
484
+ className: "bg-background text-muted-foreground relative mx-auto block w-fit px-2",
485
+ "data-slot": "field-separator-content",
486
+ children
487
+ }
488
+ )
489
+ ]
490
+ }
491
+ );
492
+ }
493
+ function FieldError({
494
+ className,
495
+ children,
496
+ errors,
497
+ ...props
498
+ }) {
499
+ const content = React2.useMemo(() => {
500
+ if (children) {
501
+ return children;
502
+ }
503
+ if (!errors?.length) {
504
+ return null;
505
+ }
506
+ const uniqueErrors = [
507
+ ...new Map(errors.map((error) => [error?.message, error])).values()
508
+ ];
509
+ if (uniqueErrors?.length === 1) {
510
+ return uniqueErrors[0]?.message;
511
+ }
512
+ return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "ml-4 flex list-disc flex-col gap-1", children: uniqueErrors.map(
513
+ (error) => error?.message && /* @__PURE__ */ jsxRuntime.jsx("li", { children: error.message }, error.message)
514
+ ) });
515
+ }, [children, errors]);
516
+ if (!content) {
517
+ return null;
518
+ }
519
+ return /* @__PURE__ */ jsxRuntime.jsx(
520
+ "div",
521
+ {
522
+ role: "alert",
523
+ "data-slot": "field-error",
524
+ className: chunkADIDI7AJ_js.cn("text-destructive text-xs font-normal -mt-2.5", className),
525
+ ...props,
526
+ children: content
527
+ }
528
+ );
529
+ }
585
530
 
586
- exports.Checkbox = Checkbox;
587
531
  exports.Field = Field;
588
532
  exports.FieldContent = FieldContent;
589
533
  exports.FieldDescription = FieldDescription;
@@ -600,7 +544,6 @@ exports.InputOTPSeparator = InputOTPSeparator;
600
544
  exports.InputOTPSlot = InputOTPSlot;
601
545
  exports.PasswordInput = PasswordInput;
602
546
  exports.PasswordRequirements = PasswordRequirements;
603
- exports.Textarea = Textarea;
604
547
  exports.VerificationCodeInput = VerificationCodeInput;
605
548
  exports.defaultPasswordRules = defaultPasswordRules;
606
549
  exports.extendedPasswordRules = extendedPasswordRules;
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { cn } from './chunk-IMKLN273.mjs';
2
3
  import * as SelectPrimitive from '@radix-ui/react-select';
3
4
  import { ChevronDownIcon, CheckIcon, ChevronUpIcon } from 'lucide-react';
@@ -0,0 +1,48 @@
1
+ "use client";
2
+ import { cn } from './chunk-IMKLN273.mjs';
3
+ import { jsx } from 'react/jsx-runtime';
4
+ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
5
+ import { CheckIcon } from 'lucide-react';
6
+
7
+ function Textarea({ className, ...props }) {
8
+ return /* @__PURE__ */ jsx(
9
+ "textarea",
10
+ {
11
+ "data-slot": "textarea",
12
+ className: cn(
13
+ "border-input placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex min-h-16 w-full min-w-0 max-w-full rounded-box border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm break-words [overflow-wrap:anywhere]",
14
+ className
15
+ ),
16
+ ...props
17
+ }
18
+ );
19
+ }
20
+ function Checkbox({
21
+ className,
22
+ ...props
23
+ }) {
24
+ return /* @__PURE__ */ jsx(
25
+ CheckboxPrimitive.Root,
26
+ {
27
+ "data-slot": "checkbox",
28
+ className: cn(
29
+ "peer size-4 shrink-0 rounded-[4px] border border-input shadow-xs transition-shadow outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[state=checked]:border-primary data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:bg-input/30 dark:aria-invalid:ring-destructive/40 dark:data-[state=checked]:bg-primary",
30
+ className
31
+ ),
32
+ ...props,
33
+ children: /* @__PURE__ */ jsx(
34
+ CheckboxPrimitive.Indicator,
35
+ {
36
+ "data-slot": "checkbox-indicator",
37
+ className: "grid place-content-center text-current transition-none",
38
+ children: /* @__PURE__ */ jsx(CheckIcon, { className: "size-3.5" })
39
+ }
40
+ )
41
+ }
42
+ );
43
+ }
44
+ function BooleanCheckbox(props) {
45
+ return /* @__PURE__ */ jsx(Checkbox, { ...props });
46
+ }
47
+
48
+ export { BooleanCheckbox, Textarea };
@@ -0,0 +1,64 @@
1
+ import { cn } from './chunk-IMKLN273.mjs';
2
+ import { cva } from 'class-variance-authority';
3
+ import { jsx } from 'react/jsx-runtime';
4
+
5
+ var alertVariants = cva(
6
+ "relative w-full rounded-box border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
7
+ {
8
+ variants: {
9
+ variant: {
10
+ default: "bg-card text-card-foreground",
11
+ destructive: "border-destructive text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90"
12
+ }
13
+ },
14
+ defaultVariants: {
15
+ variant: "default"
16
+ }
17
+ }
18
+ );
19
+ function Alert({
20
+ className,
21
+ variant,
22
+ ...props
23
+ }) {
24
+ return /* @__PURE__ */ jsx(
25
+ "div",
26
+ {
27
+ "data-slot": "alert",
28
+ role: "alert",
29
+ className: cn(alertVariants({ variant }), className),
30
+ ...props
31
+ }
32
+ );
33
+ }
34
+ function AlertTitle({ className, ...props }) {
35
+ return /* @__PURE__ */ jsx(
36
+ "div",
37
+ {
38
+ "data-slot": "alert-title",
39
+ className: cn(
40
+ "col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",
41
+ className
42
+ ),
43
+ ...props
44
+ }
45
+ );
46
+ }
47
+ function AlertDescription({
48
+ className,
49
+ ...props
50
+ }) {
51
+ return /* @__PURE__ */ jsx(
52
+ "div",
53
+ {
54
+ "data-slot": "alert-description",
55
+ className: cn(
56
+ "text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
57
+ className
58
+ ),
59
+ ...props
60
+ }
61
+ );
62
+ }
63
+
64
+ export { Alert, AlertDescription, AlertTitle };
@@ -1,9 +1,10 @@
1
+ "use client";
2
+ import { Container } from './chunk-C57MX3BG.mjs';
1
3
  import { Card, CardHeader, CardTitle, CardDescription, CardContent } from './chunk-YL7RZRHM.mjs';
2
4
  import { Label } from './chunk-KHCC5UKW.mjs';
3
- import { TabsContent, Tabs, TabsList, TabsTrigger } from './chunk-GMBGWOCR.mjs';
4
- import { Container } from './chunk-RVEFPVZF.mjs';
5
- import { Spinner } from './chunk-HBLKVQIQ.mjs';
6
5
  import { Button } from './chunk-VBD4Q5LL.mjs';
6
+ import { TabsContent, Tabs, TabsList, TabsTrigger } from './chunk-DYWZ23QT.mjs';
7
+ import { SizedSpinner } from './chunk-N5BHXWR3.mjs';
7
8
  import { cn } from './chunk-IMKLN273.mjs';
8
9
  import { ArrowLeft } from 'lucide-react';
9
10
  import Link from 'next/link';
@@ -56,7 +57,7 @@ function SettingsTabContent({
56
57
  children
57
58
  }) {
58
59
  if (loading) {
59
- return /* @__PURE__ */ jsx(TabsContent, { value: tabId, children: /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center min-h-[300px]", children: /* @__PURE__ */ jsx(Spinner, { size: "lg" }) }) });
60
+ return /* @__PURE__ */ jsx(TabsContent, { value: tabId, children: /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center min-h-[300px]", children: /* @__PURE__ */ jsx(SizedSpinner, { size: "lg" }) }) });
60
61
  }
61
62
  return /* @__PURE__ */ jsx(TabsContent, { value: tabId, children });
62
63
  }
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import StudioEditorSDK from '@grapesjs/studio-sdk/react';
2
3
  import '@grapesjs/studio-sdk/style';
3
4
  import { useRef, useEffect, useMemo, useCallback } from 'react';