shadcn-ui-react 0.2.7 → 0.3.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.
package/dist/index.js CHANGED
@@ -34,11 +34,6 @@ var __export = (target, all) => {
34
34
  __defProp(target, name, { get: all[name], enumerable: true });
35
35
  };
36
36
 
37
- // src/components/accordion.tsx
38
- import * as AccordionPrimitive from "@radix-ui/react-accordion";
39
- import { ChevronDownIcon } from "@radix-ui/react-icons";
40
- import * as React from "react";
41
-
42
37
  // src/utils/utils.ts
43
38
  import { clsx } from "clsx";
44
39
  import { twMerge } from "tailwind-merge";
@@ -46,7 +41,10 @@ function cn(...inputs) {
46
41
  return twMerge(clsx(inputs));
47
42
  }
48
43
 
49
- // src/components/accordion.tsx
44
+ // src/components/Accordion/accordion.tsx
45
+ import * as AccordionPrimitive from "@radix-ui/react-accordion";
46
+ import { ChevronDownIcon } from "@radix-ui/react-icons";
47
+ import * as React from "react";
50
48
  import { jsx, jsxs } from "react/jsx-runtime";
51
49
  var Accordion = AccordionPrimitive.Root;
52
50
  var AccordionItem = React.forwardRef((_a, ref) => {
@@ -321,11 +319,12 @@ var BreadcrumbEllipsis = (_a) => {
321
319
  };
322
320
  BreadcrumbEllipsis.displayName = "BreadcrumbElipssis";
323
321
 
324
- // src/components/button.tsx
322
+ // src/components/Button/button.tsx
325
323
  import { Slot as Slot2 } from "@radix-ui/react-slot";
326
324
  import { cva as cva3 } from "class-variance-authority";
327
325
  import * as React5 from "react";
328
- import { jsx as jsx6 } from "react/jsx-runtime";
326
+ import { Loader2 } from "lucide-react";
327
+ import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
329
328
  var buttonVariants = cva3(
330
329
  "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",
331
330
  {
@@ -353,21 +352,47 @@ var buttonVariants = cva3(
353
352
  );
354
353
  var Button = React5.forwardRef(
355
354
  (_a, ref) => {
356
- var _b = _a, { className, variant, size, asChild = false } = _b, props = __objRest(_b, ["className", "variant", "size", "asChild"]);
355
+ var _b = _a, {
356
+ className,
357
+ variant,
358
+ size,
359
+ asChild = false,
360
+ loading = false,
361
+ loaderClassName,
362
+ children
363
+ } = _b, props = __objRest(_b, [
364
+ "className",
365
+ "variant",
366
+ "size",
367
+ "asChild",
368
+ "loading",
369
+ "loaderClassName",
370
+ "children"
371
+ ]);
357
372
  const Comp = asChild ? Slot2 : "button";
358
- return /* @__PURE__ */ jsx6(
373
+ return /* @__PURE__ */ jsxs3(
359
374
  Comp,
360
- __spreadValues({
361
- className: cn(buttonVariants({ variant, size, className })),
362
- ref
363
- }, props)
375
+ __spreadProps(__spreadValues({
376
+ className: cn(
377
+ buttonVariants({ variant, size }),
378
+ className,
379
+ loading && "relative"
380
+ ),
381
+ ref,
382
+ disabled: loading || props.disabled
383
+ }, props), {
384
+ children: [
385
+ loading ? /* @__PURE__ */ jsx6(Loader2, { className: cn(loaderClassName, "animate-spin mr-2") }) : null,
386
+ children
387
+ ]
388
+ })
364
389
  );
365
390
  }
366
391
  );
367
392
  Button.displayName = "Button";
368
393
 
369
394
  // node_modules/react-day-picker/dist/esm/DayPicker.js
370
- import React32, { useCallback, useMemo } from "react";
395
+ import React32, { useCallback as useCallback2, useMemo, useRef as useRef2 } from "react";
371
396
 
372
397
  // node_modules/react-day-picker/dist/esm/UI.js
373
398
  var UI;
@@ -412,6 +437,17 @@ var SelectionState;
412
437
  SelectionState2["range_start"] = "range_start";
413
438
  SelectionState2["selected"] = "selected";
414
439
  })(SelectionState || (SelectionState = {}));
440
+ var Animation;
441
+ (function(Animation2) {
442
+ Animation2["weeks_before_enter"] = "weeks_before_enter";
443
+ Animation2["weeks_before_exit"] = "weeks_before_exit";
444
+ Animation2["weeks_after_enter"] = "weeks_after_enter";
445
+ Animation2["weeks_after_exit"] = "weeks_after_exit";
446
+ Animation2["caption_after_enter"] = "caption_after_enter";
447
+ Animation2["caption_after_exit"] = "caption_after_exit";
448
+ Animation2["caption_before_enter"] = "caption_before_enter";
449
+ Animation2["caption_before_exit"] = "caption_before_exit";
450
+ })(Animation || (Animation = {}));
415
451
 
416
452
  // node_modules/@date-fns/tz/constants/index.js
417
453
  var constructFromSymbol = Symbol.for("constructDateFrom");
@@ -688,8 +724,8 @@ function getDefaultOptions() {
688
724
  // node_modules/date-fns/startOfWeek.js
689
725
  function startOfWeek(date, options) {
690
726
  var _a, _b, _c, _d, _e, _f, _g, _h;
691
- const defaultOptions3 = getDefaultOptions();
692
- const weekStartsOn = (_h = (_g = (_d = (_c = options == null ? void 0 : options.weekStartsOn) != null ? _c : (_b = (_a = options == null ? void 0 : options.locale) == null ? void 0 : _a.options) == null ? void 0 : _b.weekStartsOn) != null ? _d : defaultOptions3.weekStartsOn) != null ? _g : (_f = (_e = defaultOptions3.locale) == null ? void 0 : _e.options) == null ? void 0 : _f.weekStartsOn) != null ? _h : 0;
727
+ const defaultOptions2 = getDefaultOptions();
728
+ const weekStartsOn = (_h = (_g = (_d = (_c = options == null ? void 0 : options.weekStartsOn) != null ? _c : (_b = (_a = options == null ? void 0 : options.locale) == null ? void 0 : _a.options) == null ? void 0 : _b.weekStartsOn) != null ? _d : defaultOptions2.weekStartsOn) != null ? _g : (_f = (_e = defaultOptions2.locale) == null ? void 0 : _e.options) == null ? void 0 : _f.weekStartsOn) != null ? _h : 0;
693
729
  const _date = toDate(date, options == null ? void 0 : options.in);
694
730
  const day = _date.getDay();
695
731
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -915,8 +951,8 @@ function startOfYear(date, options) {
915
951
  // node_modules/date-fns/endOfWeek.js
916
952
  function endOfWeek(date, options) {
917
953
  var _a, _b, _c, _d, _e, _f, _g, _h;
918
- const defaultOptions3 = getDefaultOptions();
919
- const weekStartsOn = (_h = (_g = (_d = (_c = options == null ? void 0 : options.weekStartsOn) != null ? _c : (_b = (_a = options == null ? void 0 : options.locale) == null ? void 0 : _a.options) == null ? void 0 : _b.weekStartsOn) != null ? _d : defaultOptions3.weekStartsOn) != null ? _g : (_f = (_e = defaultOptions3.locale) == null ? void 0 : _e.options) == null ? void 0 : _f.weekStartsOn) != null ? _h : 0;
954
+ const defaultOptions2 = getDefaultOptions();
955
+ const weekStartsOn = (_h = (_g = (_d = (_c = options == null ? void 0 : options.weekStartsOn) != null ? _c : (_b = (_a = options == null ? void 0 : options.locale) == null ? void 0 : _a.options) == null ? void 0 : _b.weekStartsOn) != null ? _d : defaultOptions2.weekStartsOn) != null ? _g : (_f = (_e = defaultOptions2.locale) == null ? void 0 : _e.options) == null ? void 0 : _f.weekStartsOn) != null ? _h : 0;
920
956
  const _date = toDate(date, options == null ? void 0 : options.in);
921
957
  const day = _date.getDay();
922
958
  const diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn);
@@ -1459,8 +1495,8 @@ function getWeekYear(date, options) {
1459
1495
  var _a, _b, _c, _d, _e, _f, _g, _h;
1460
1496
  const _date = toDate(date, options == null ? void 0 : options.in);
1461
1497
  const year = _date.getFullYear();
1462
- const defaultOptions3 = getDefaultOptions();
1463
- const firstWeekContainsDate = (_h = (_g = (_d = (_c = options == null ? void 0 : options.firstWeekContainsDate) != null ? _c : (_b = (_a = options == null ? void 0 : options.locale) == null ? void 0 : _a.options) == null ? void 0 : _b.firstWeekContainsDate) != null ? _d : defaultOptions3.firstWeekContainsDate) != null ? _g : (_f = (_e = defaultOptions3.locale) == null ? void 0 : _e.options) == null ? void 0 : _f.firstWeekContainsDate) != null ? _h : 1;
1498
+ const defaultOptions2 = getDefaultOptions();
1499
+ const firstWeekContainsDate = (_h = (_g = (_d = (_c = options == null ? void 0 : options.firstWeekContainsDate) != null ? _c : (_b = (_a = options == null ? void 0 : options.locale) == null ? void 0 : _a.options) == null ? void 0 : _b.firstWeekContainsDate) != null ? _d : defaultOptions2.firstWeekContainsDate) != null ? _g : (_f = (_e = defaultOptions2.locale) == null ? void 0 : _e.options) == null ? void 0 : _f.firstWeekContainsDate) != null ? _h : 1;
1464
1500
  const firstWeekOfNextYear = constructFrom((options == null ? void 0 : options.in) || date, 0);
1465
1501
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
1466
1502
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -1481,8 +1517,8 @@ function getWeekYear(date, options) {
1481
1517
  // node_modules/date-fns/startOfWeekYear.js
1482
1518
  function startOfWeekYear(date, options) {
1483
1519
  var _a, _b, _c, _d, _e, _f, _g, _h;
1484
- const defaultOptions3 = getDefaultOptions();
1485
- const firstWeekContainsDate = (_h = (_g = (_d = (_c = options == null ? void 0 : options.firstWeekContainsDate) != null ? _c : (_b = (_a = options == null ? void 0 : options.locale) == null ? void 0 : _a.options) == null ? void 0 : _b.firstWeekContainsDate) != null ? _d : defaultOptions3.firstWeekContainsDate) != null ? _g : (_f = (_e = defaultOptions3.locale) == null ? void 0 : _e.options) == null ? void 0 : _f.firstWeekContainsDate) != null ? _h : 1;
1520
+ const defaultOptions2 = getDefaultOptions();
1521
+ const firstWeekContainsDate = (_h = (_g = (_d = (_c = options == null ? void 0 : options.firstWeekContainsDate) != null ? _c : (_b = (_a = options == null ? void 0 : options.locale) == null ? void 0 : _a.options) == null ? void 0 : _b.firstWeekContainsDate) != null ? _d : defaultOptions2.firstWeekContainsDate) != null ? _g : (_f = (_e = defaultOptions2.locale) == null ? void 0 : _e.options) == null ? void 0 : _f.firstWeekContainsDate) != null ? _h : 1;
1486
1522
  const year = getWeekYear(date, options);
1487
1523
  const firstWeek = constructFrom((options == null ? void 0 : options.in) || date, 0);
1488
1524
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -2296,10 +2332,10 @@ var doubleQuoteRegExp = /''/g;
2296
2332
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
2297
2333
  function format(date, formatStr, options) {
2298
2334
  var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r;
2299
- const defaultOptions3 = getDefaultOptions();
2300
- const locale = (_b = (_a = options == null ? void 0 : options.locale) != null ? _a : defaultOptions3.locale) != null ? _b : enUS;
2301
- const firstWeekContainsDate = (_j = (_i = (_f = (_e = options == null ? void 0 : options.firstWeekContainsDate) != null ? _e : (_d = (_c = options == null ? void 0 : options.locale) == null ? void 0 : _c.options) == null ? void 0 : _d.firstWeekContainsDate) != null ? _f : defaultOptions3.firstWeekContainsDate) != null ? _i : (_h = (_g = defaultOptions3.locale) == null ? void 0 : _g.options) == null ? void 0 : _h.firstWeekContainsDate) != null ? _j : 1;
2302
- const weekStartsOn = (_r = (_q = (_n = (_m = options == null ? void 0 : options.weekStartsOn) != null ? _m : (_l = (_k = options == null ? void 0 : options.locale) == null ? void 0 : _k.options) == null ? void 0 : _l.weekStartsOn) != null ? _n : defaultOptions3.weekStartsOn) != null ? _q : (_p = (_o = defaultOptions3.locale) == null ? void 0 : _o.options) == null ? void 0 : _p.weekStartsOn) != null ? _r : 0;
2335
+ const defaultOptions2 = getDefaultOptions();
2336
+ const locale = (_b = (_a = options == null ? void 0 : options.locale) != null ? _a : defaultOptions2.locale) != null ? _b : enUS;
2337
+ const firstWeekContainsDate = (_j = (_i = (_f = (_e = options == null ? void 0 : options.firstWeekContainsDate) != null ? _e : (_d = (_c = options == null ? void 0 : options.locale) == null ? void 0 : _c.options) == null ? void 0 : _d.firstWeekContainsDate) != null ? _f : defaultOptions2.firstWeekContainsDate) != null ? _i : (_h = (_g = defaultOptions2.locale) == null ? void 0 : _g.options) == null ? void 0 : _h.firstWeekContainsDate) != null ? _j : 1;
2338
+ const weekStartsOn = (_r = (_q = (_n = (_m = options == null ? void 0 : options.weekStartsOn) != null ? _m : (_l = (_k = options == null ? void 0 : options.locale) == null ? void 0 : _k.options) == null ? void 0 : _l.weekStartsOn) != null ? _n : defaultOptions2.weekStartsOn) != null ? _q : (_p = (_o = defaultOptions2.locale) == null ? void 0 : _o.options) == null ? void 0 : _p.weekStartsOn) != null ? _r : 0;
2303
2339
  const originalDate = toDate(date, options == null ? void 0 : options.in);
2304
2340
  if (!isValid(originalDate)) {
2305
2341
  throw new RangeError("Invalid time value");
@@ -2491,140 +2527,140 @@ var DateLib = class {
2491
2527
  return new Date(year, monthIndex, date);
2492
2528
  };
2493
2529
  this.addDays = (date, amount) => {
2494
- var _a, _b, _c;
2495
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.addDays) == null ? void 0 : _b.call(_a, date, amount)) != null ? _c : addDays(date, amount);
2530
+ var _a;
2531
+ return ((_a = this.overrides) == null ? void 0 : _a.addDays) ? this.overrides.addDays(date, amount) : addDays(date, amount);
2496
2532
  };
2497
2533
  this.addMonths = (date, amount) => {
2498
- var _a, _b, _c;
2499
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.addMonths) == null ? void 0 : _b.call(_a, date, amount)) != null ? _c : addMonths(date, amount);
2534
+ var _a;
2535
+ return ((_a = this.overrides) == null ? void 0 : _a.addMonths) ? this.overrides.addMonths(date, amount) : addMonths(date, amount);
2500
2536
  };
2501
2537
  this.addWeeks = (date, amount) => {
2502
- var _a, _b, _c;
2503
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.addWeeks) == null ? void 0 : _b.call(_a, date, amount)) != null ? _c : addWeeks(date, amount);
2538
+ var _a;
2539
+ return ((_a = this.overrides) == null ? void 0 : _a.addWeeks) ? this.overrides.addWeeks(date, amount) : addWeeks(date, amount);
2504
2540
  };
2505
2541
  this.addYears = (date, amount) => {
2506
- var _a, _b, _c;
2507
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.addYears) == null ? void 0 : _b.call(_a, date, amount)) != null ? _c : addYears(date, amount);
2542
+ var _a;
2543
+ return ((_a = this.overrides) == null ? void 0 : _a.addYears) ? this.overrides.addYears(date, amount) : addYears(date, amount);
2508
2544
  };
2509
2545
  this.differenceInCalendarDays = (dateLeft, dateRight) => {
2510
- var _a, _b, _c;
2511
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.differenceInCalendarDays) == null ? void 0 : _b.call(_a, dateLeft, dateRight)) != null ? _c : differenceInCalendarDays(dateLeft, dateRight);
2546
+ var _a;
2547
+ return ((_a = this.overrides) == null ? void 0 : _a.differenceInCalendarDays) ? this.overrides.differenceInCalendarDays(dateLeft, dateRight) : differenceInCalendarDays(dateLeft, dateRight);
2512
2548
  };
2513
2549
  this.differenceInCalendarMonths = (dateLeft, dateRight) => {
2514
- var _a, _b, _c;
2515
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.differenceInCalendarMonths) == null ? void 0 : _b.call(_a, dateLeft, dateRight)) != null ? _c : differenceInCalendarMonths(dateLeft, dateRight);
2550
+ var _a;
2551
+ return ((_a = this.overrides) == null ? void 0 : _a.differenceInCalendarMonths) ? this.overrides.differenceInCalendarMonths(dateLeft, dateRight) : differenceInCalendarMonths(dateLeft, dateRight);
2516
2552
  };
2517
2553
  this.eachMonthOfInterval = (interval) => {
2518
- var _a, _b, _c;
2519
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.eachMonthOfInterval) == null ? void 0 : _b.call(_a, interval)) != null ? _c : eachMonthOfInterval(interval);
2554
+ var _a;
2555
+ return ((_a = this.overrides) == null ? void 0 : _a.eachMonthOfInterval) ? this.overrides.eachMonthOfInterval(interval) : eachMonthOfInterval(interval);
2520
2556
  };
2521
- this.endOfBroadcastWeek = (date, dateLib) => {
2522
- var _a, _b, _c;
2523
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.endOfBroadcastWeek) == null ? void 0 : _b.call(_a, date, dateLib)) != null ? _c : endOfBroadcastWeek(date, this);
2557
+ this.endOfBroadcastWeek = (date) => {
2558
+ var _a;
2559
+ return ((_a = this.overrides) == null ? void 0 : _a.endOfBroadcastWeek) ? this.overrides.endOfBroadcastWeek(date, this) : endOfBroadcastWeek(date, this);
2524
2560
  };
2525
2561
  this.endOfISOWeek = (date) => {
2526
- var _a, _b, _c;
2527
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.endOfISOWeek) == null ? void 0 : _b.call(_a, date)) != null ? _c : endOfISOWeek(date);
2562
+ var _a;
2563
+ return ((_a = this.overrides) == null ? void 0 : _a.endOfISOWeek) ? this.overrides.endOfISOWeek(date) : endOfISOWeek(date);
2528
2564
  };
2529
2565
  this.endOfMonth = (date) => {
2530
- var _a, _b, _c;
2531
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.endOfMonth) == null ? void 0 : _b.call(_a, date)) != null ? _c : endOfMonth(date);
2566
+ var _a;
2567
+ return ((_a = this.overrides) == null ? void 0 : _a.endOfMonth) ? this.overrides.endOfMonth(date) : endOfMonth(date);
2532
2568
  };
2533
- this.endOfWeek = (date, options2) => {
2534
- var _a, _b, _c;
2535
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.endOfWeek) == null ? void 0 : _b.call(_a, date, options2 != null ? options2 : this.options)) != null ? _c : endOfWeek(date, options2 != null ? options2 : this.options);
2569
+ this.endOfWeek = (date) => {
2570
+ var _a;
2571
+ return ((_a = this.overrides) == null ? void 0 : _a.endOfWeek) ? this.overrides.endOfWeek(date, this.options) : endOfWeek(date, this.options);
2536
2572
  };
2537
2573
  this.endOfYear = (date) => {
2538
- var _a, _b, _c;
2539
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.endOfYear) == null ? void 0 : _b.call(_a, date)) != null ? _c : endOfYear(date);
2574
+ var _a;
2575
+ return ((_a = this.overrides) == null ? void 0 : _a.endOfYear) ? this.overrides.endOfYear(date) : endOfYear(date);
2540
2576
  };
2541
- this.format = (date, formatStr, options2) => {
2542
- var _a, _b, _c;
2543
- const formatted = (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.format) == null ? void 0 : _b.call(_a, date, formatStr, options2 != null ? options2 : this.options)) != null ? _c : format(date, formatStr, options2 != null ? options2 : this.options);
2577
+ this.format = (date, formatStr) => {
2578
+ var _a;
2579
+ const formatted = ((_a = this.overrides) == null ? void 0 : _a.format) ? this.overrides.format(date, formatStr, this.options) : format(date, formatStr, this.options);
2544
2580
  if (this.options.numerals && this.options.numerals !== "latn") {
2545
2581
  return this.replaceDigits(formatted);
2546
2582
  }
2547
2583
  return formatted;
2548
2584
  };
2549
2585
  this.getISOWeek = (date) => {
2550
- var _a, _b, _c;
2551
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.getISOWeek) == null ? void 0 : _b.call(_a, date)) != null ? _c : getISOWeek(date);
2586
+ var _a;
2587
+ return ((_a = this.overrides) == null ? void 0 : _a.getISOWeek) ? this.overrides.getISOWeek(date) : getISOWeek(date);
2552
2588
  };
2553
2589
  this.getMonth = (date) => {
2554
- var _a, _b, _c;
2555
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.getMonth) == null ? void 0 : _b.call(_a, date)) != null ? _c : getMonth(date);
2590
+ var _a;
2591
+ return ((_a = this.overrides) == null ? void 0 : _a.getMonth) ? this.overrides.getMonth(date, this.options) : getMonth(date, this.options);
2556
2592
  };
2557
2593
  this.getYear = (date) => {
2558
- var _a, _b, _c;
2559
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.getYear) == null ? void 0 : _b.call(_a, date)) != null ? _c : getYear(date);
2594
+ var _a;
2595
+ return ((_a = this.overrides) == null ? void 0 : _a.getYear) ? this.overrides.getYear(date, this.options) : getYear(date, this.options);
2560
2596
  };
2561
- this.getWeek = (date, options2) => {
2562
- var _a, _b, _c;
2563
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.getWeek) == null ? void 0 : _b.call(_a, date, options2 != null ? options2 : this.options)) != null ? _c : getWeek(date, options2 != null ? options2 : this.options);
2597
+ this.getWeek = (date) => {
2598
+ var _a;
2599
+ return ((_a = this.overrides) == null ? void 0 : _a.getWeek) ? this.overrides.getWeek(date, this.options) : getWeek(date, this.options);
2564
2600
  };
2565
2601
  this.isAfter = (date, dateToCompare) => {
2566
- var _a, _b, _c;
2567
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.isAfter) == null ? void 0 : _b.call(_a, date, dateToCompare)) != null ? _c : isAfter(date, dateToCompare);
2602
+ var _a;
2603
+ return ((_a = this.overrides) == null ? void 0 : _a.isAfter) ? this.overrides.isAfter(date, dateToCompare) : isAfter(date, dateToCompare);
2568
2604
  };
2569
2605
  this.isBefore = (date, dateToCompare) => {
2570
- var _a, _b, _c;
2571
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.isBefore) == null ? void 0 : _b.call(_a, date, dateToCompare)) != null ? _c : isBefore(date, dateToCompare);
2606
+ var _a;
2607
+ return ((_a = this.overrides) == null ? void 0 : _a.isBefore) ? this.overrides.isBefore(date, dateToCompare) : isBefore(date, dateToCompare);
2572
2608
  };
2573
2609
  this.isDate = (value) => {
2574
- var _a, _b, _c;
2575
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.isDate) == null ? void 0 : _b.call(_a, value)) != null ? _c : isDate(value);
2610
+ var _a;
2611
+ return ((_a = this.overrides) == null ? void 0 : _a.isDate) ? this.overrides.isDate(value) : isDate(value);
2576
2612
  };
2577
2613
  this.isSameDay = (dateLeft, dateRight) => {
2578
- var _a, _b, _c;
2579
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.isSameDay) == null ? void 0 : _b.call(_a, dateLeft, dateRight)) != null ? _c : isSameDay(dateLeft, dateRight);
2614
+ var _a;
2615
+ return ((_a = this.overrides) == null ? void 0 : _a.isSameDay) ? this.overrides.isSameDay(dateLeft, dateRight) : isSameDay(dateLeft, dateRight);
2580
2616
  };
2581
2617
  this.isSameMonth = (dateLeft, dateRight) => {
2582
- var _a, _b, _c;
2583
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.isSameMonth) == null ? void 0 : _b.call(_a, dateLeft, dateRight)) != null ? _c : isSameMonth(dateLeft, dateRight);
2618
+ var _a;
2619
+ return ((_a = this.overrides) == null ? void 0 : _a.isSameMonth) ? this.overrides.isSameMonth(dateLeft, dateRight) : isSameMonth(dateLeft, dateRight);
2584
2620
  };
2585
2621
  this.isSameYear = (dateLeft, dateRight) => {
2586
- var _a, _b, _c;
2587
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.isSameYear) == null ? void 0 : _b.call(_a, dateLeft, dateRight)) != null ? _c : isSameYear(dateLeft, dateRight);
2622
+ var _a;
2623
+ return ((_a = this.overrides) == null ? void 0 : _a.isSameYear) ? this.overrides.isSameYear(dateLeft, dateRight) : isSameYear(dateLeft, dateRight);
2588
2624
  };
2589
2625
  this.max = (dates) => {
2590
- var _a, _b, _c;
2591
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.max) == null ? void 0 : _b.call(_a, dates)) != null ? _c : max(dates);
2626
+ var _a;
2627
+ return ((_a = this.overrides) == null ? void 0 : _a.max) ? this.overrides.max(dates) : max(dates);
2592
2628
  };
2593
2629
  this.min = (dates) => {
2594
- var _a, _b, _c;
2595
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.min) == null ? void 0 : _b.call(_a, dates)) != null ? _c : min(dates);
2630
+ var _a;
2631
+ return ((_a = this.overrides) == null ? void 0 : _a.min) ? this.overrides.min(dates) : min(dates);
2596
2632
  };
2597
2633
  this.setMonth = (date, month) => {
2598
- var _a, _b, _c;
2599
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.setMonth) == null ? void 0 : _b.call(_a, date, month)) != null ? _c : setMonth(date, month);
2634
+ var _a;
2635
+ return ((_a = this.overrides) == null ? void 0 : _a.setMonth) ? this.overrides.setMonth(date, month) : setMonth(date, month);
2600
2636
  };
2601
2637
  this.setYear = (date, year) => {
2602
- var _a, _b, _c;
2603
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.setYear) == null ? void 0 : _b.call(_a, date, year)) != null ? _c : setYear(date, year);
2638
+ var _a;
2639
+ return ((_a = this.overrides) == null ? void 0 : _a.setYear) ? this.overrides.setYear(date, year) : setYear(date, year);
2604
2640
  };
2605
- this.startOfBroadcastWeek = (date, dateLib) => {
2606
- var _a, _b, _c;
2607
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.startOfBroadcastWeek) == null ? void 0 : _b.call(_a, date, dateLib != null ? dateLib : this)) != null ? _c : startOfBroadcastWeek(date, dateLib != null ? dateLib : this);
2641
+ this.startOfBroadcastWeek = (date) => {
2642
+ var _a;
2643
+ return ((_a = this.overrides) == null ? void 0 : _a.startOfBroadcastWeek) ? this.overrides.startOfBroadcastWeek(date, this) : startOfBroadcastWeek(date, this);
2608
2644
  };
2609
2645
  this.startOfDay = (date) => {
2610
- var _a, _b, _c;
2611
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.startOfDay) == null ? void 0 : _b.call(_a, date)) != null ? _c : startOfDay(date);
2646
+ var _a;
2647
+ return ((_a = this.overrides) == null ? void 0 : _a.startOfDay) ? this.overrides.startOfDay(date) : startOfDay(date);
2612
2648
  };
2613
2649
  this.startOfISOWeek = (date) => {
2614
- var _a, _b, _c;
2615
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.startOfISOWeek) == null ? void 0 : _b.call(_a, date)) != null ? _c : startOfISOWeek(date);
2650
+ var _a;
2651
+ return ((_a = this.overrides) == null ? void 0 : _a.startOfISOWeek) ? this.overrides.startOfISOWeek(date) : startOfISOWeek(date);
2616
2652
  };
2617
2653
  this.startOfMonth = (date) => {
2618
- var _a, _b, _c;
2619
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.startOfMonth) == null ? void 0 : _b.call(_a, date)) != null ? _c : startOfMonth(date);
2654
+ var _a;
2655
+ return ((_a = this.overrides) == null ? void 0 : _a.startOfMonth) ? this.overrides.startOfMonth(date) : startOfMonth(date);
2620
2656
  };
2621
2657
  this.startOfWeek = (date) => {
2622
- var _a, _b, _c;
2623
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.startOfWeek) == null ? void 0 : _b.call(_a, date)) != null ? _c : startOfWeek(date, this.options);
2658
+ var _a;
2659
+ return ((_a = this.overrides) == null ? void 0 : _a.startOfWeek) ? this.overrides.startOfWeek(date, this.options) : startOfWeek(date, this.options);
2624
2660
  };
2625
2661
  this.startOfYear = (date) => {
2626
- var _a, _b, _c;
2627
- return (_c = (_b = (_a = this.overrides) == null ? void 0 : _a.startOfYear) == null ? void 0 : _b.call(_a, date)) != null ? _c : startOfYear(date);
2662
+ var _a;
2663
+ return ((_a = this.overrides) == null ? void 0 : _a.startOfYear) ? this.overrides.startOfYear(date) : startOfYear(date);
2628
2664
  };
2629
2665
  this.options = __spreadValues({ locale: enUS }, options);
2630
2666
  this.overrides = overrides;
@@ -2735,7 +2771,7 @@ function Chevron(props) {
2735
2771
  orientation === "up" && React8.createElement("polygon", { points: "6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28" }),
2736
2772
  orientation === "down" && React8.createElement("polygon", { points: "6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72" }),
2737
2773
  orientation === "left" && React8.createElement("polygon", { points: "16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20" }),
2738
- orientation === "right" && React8.createElement("polygon", { points: "8 18.612 14.1888889 12.5 8 6.37733333 9.91111111 4.5 18 12.5 9.91111111 20.5" })
2774
+ orientation === "right" && React8.createElement("polygon", { points: "8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20" })
2739
2775
  );
2740
2776
  }
2741
2777
 
@@ -2837,21 +2873,31 @@ function MonthsDropdown(props) {
2837
2873
  }
2838
2874
 
2839
2875
  // node_modules/react-day-picker/dist/esm/components/Nav.js
2840
- import React19 from "react";
2876
+ import React19, { useCallback } from "react";
2841
2877
  function Nav(props) {
2842
2878
  const _a = props, { onPreviousClick, onNextClick, previousMonth, nextMonth } = _a, navProps = __objRest(_a, ["onPreviousClick", "onNextClick", "previousMonth", "nextMonth"]);
2843
2879
  const { components, classNames, labels: { labelPrevious: labelPrevious2, labelNext: labelNext2 } } = useDayPicker();
2880
+ const handleNextClick = useCallback((e) => {
2881
+ if (nextMonth) {
2882
+ onNextClick == null ? void 0 : onNextClick(e);
2883
+ }
2884
+ }, [nextMonth, onNextClick]);
2885
+ const handlePreviousClick = useCallback((e) => {
2886
+ if (previousMonth) {
2887
+ onPreviousClick == null ? void 0 : onPreviousClick(e);
2888
+ }
2889
+ }, [previousMonth, onPreviousClick]);
2844
2890
  return React19.createElement(
2845
2891
  "nav",
2846
2892
  __spreadValues({}, navProps),
2847
2893
  React19.createElement(
2848
2894
  components.PreviousMonthButton,
2849
- { type: "button", className: classNames[UI.PreviousMonthButton], tabIndex: previousMonth ? void 0 : -1, disabled: previousMonth ? void 0 : true, "aria-label": labelPrevious2(previousMonth), onClick: props.onPreviousClick },
2895
+ { type: "button", className: classNames[UI.PreviousMonthButton], tabIndex: previousMonth ? void 0 : -1, "aria-disabled": previousMonth ? void 0 : true, "aria-label": labelPrevious2(previousMonth), onClick: handlePreviousClick },
2850
2896
  React19.createElement(components.Chevron, { disabled: previousMonth ? void 0 : true, className: classNames[UI.Chevron], orientation: "left" })
2851
2897
  ),
2852
2898
  React19.createElement(
2853
2899
  components.NextMonthButton,
2854
- { type: "button", className: classNames[UI.NextMonthButton], tabIndex: nextMonth ? void 0 : -1, disabled: nextMonth ? void 0 : true, "aria-label": labelNext2(nextMonth), onClick: props.onNextClick },
2900
+ { type: "button", className: classNames[UI.NextMonthButton], tabIndex: nextMonth ? void 0 : -1, "aria-disabled": nextMonth ? void 0 : true, "aria-label": labelNext2(nextMonth), onClick: handleNextClick },
2855
2901
  React19.createElement(components.Chevron, { disabled: nextMonth ? void 0 : true, orientation: "right", className: classNames[UI.Chevron] })
2856
2902
  )
2857
2903
  );
@@ -2880,7 +2926,8 @@ function PreviousMonthButton(props) {
2880
2926
  // node_modules/react-day-picker/dist/esm/components/Root.js
2881
2927
  import React23 from "react";
2882
2928
  function Root4(props) {
2883
- return React23.createElement("div", __spreadValues({}, props));
2929
+ const _a = props, { rootRef } = _a, rest = __objRest(_a, ["rootRef"]);
2930
+ return React23.createElement("div", __spreadProps(__spreadValues({}, rest), { ref: rootRef }));
2884
2931
  }
2885
2932
 
2886
2933
  // node_modules/react-day-picker/dist/esm/components/Select.js
@@ -2973,6 +3020,9 @@ function getDefaultClassNames() {
2973
3020
  for (const key in SelectionState) {
2974
3021
  classNames[SelectionState[key]] = `rdp-${SelectionState[key]}`;
2975
3022
  }
3023
+ for (const key in Animation) {
3024
+ classNames[Animation[key]] = `rdp-${Animation[key]}`;
3025
+ }
2976
3026
  return classNames;
2977
3027
  }
2978
3028
 
@@ -3187,6 +3237,137 @@ function labelYearDropdown(options) {
3187
3237
  return "Choose the Year";
3188
3238
  }
3189
3239
 
3240
+ // node_modules/react-day-picker/dist/esm/useAnimation.js
3241
+ import { useLayoutEffect, useRef } from "react";
3242
+ var asHtmlElement = (element) => {
3243
+ if (element instanceof HTMLElement)
3244
+ return element;
3245
+ return null;
3246
+ };
3247
+ var queryMonthEls = (element) => {
3248
+ var _a;
3249
+ return [
3250
+ ...(_a = element.querySelectorAll("[data-animated-month]")) != null ? _a : []
3251
+ ];
3252
+ };
3253
+ var queryMonthEl = (element) => asHtmlElement(element.querySelector("[data-animated-month]"));
3254
+ var queryCaptionEl = (element) => asHtmlElement(element.querySelector("[data-animated-caption]"));
3255
+ var queryWeeksEl = (element) => asHtmlElement(element.querySelector("[data-animated-weeks]"));
3256
+ var queryNavEl = (element) => asHtmlElement(element.querySelector("[data-animated-nav]"));
3257
+ var queryWeekdaysEl = (element) => asHtmlElement(element.querySelector("[data-animated-weekdays]"));
3258
+ function useAnimation(rootElRef, enabled, { classNames, months, focused, dateLib }) {
3259
+ const previousRootElSnapshotRef = useRef(null);
3260
+ const previousMonthsRef = useRef(months);
3261
+ const animatingRef = useRef(false);
3262
+ useLayoutEffect(() => {
3263
+ const previousMonths = previousMonthsRef.current;
3264
+ previousMonthsRef.current = months;
3265
+ if (!enabled || !rootElRef.current || // safety check because the ref can be set to anything by consumers
3266
+ !(rootElRef.current instanceof HTMLElement) || // validation required for the animation to work as expected
3267
+ months.length === 0 || previousMonths.length === 0 || months.length !== previousMonths.length) {
3268
+ return;
3269
+ }
3270
+ const isSameMonth2 = dateLib.isSameMonth(months[0].date, previousMonths[0].date);
3271
+ const isAfterPreviousMonth = dateLib.isAfter(months[0].date, previousMonths[0].date);
3272
+ const captionAnimationClass = isAfterPreviousMonth ? classNames[Animation.caption_after_enter] : classNames[Animation.caption_before_enter];
3273
+ const weeksAnimationClass = isAfterPreviousMonth ? classNames[Animation.weeks_after_enter] : classNames[Animation.weeks_before_enter];
3274
+ const previousRootElSnapshot = previousRootElSnapshotRef.current;
3275
+ const rootElSnapshot = rootElRef.current.cloneNode(true);
3276
+ if (rootElSnapshot instanceof HTMLElement) {
3277
+ const currentMonthElsSnapshot = queryMonthEls(rootElSnapshot);
3278
+ currentMonthElsSnapshot.forEach((currentMonthElSnapshot) => {
3279
+ if (!(currentMonthElSnapshot instanceof HTMLElement))
3280
+ return;
3281
+ const previousMonthElSnapshot = queryMonthEl(currentMonthElSnapshot);
3282
+ if (previousMonthElSnapshot && currentMonthElSnapshot.contains(previousMonthElSnapshot)) {
3283
+ currentMonthElSnapshot.removeChild(previousMonthElSnapshot);
3284
+ }
3285
+ const captionEl = queryCaptionEl(currentMonthElSnapshot);
3286
+ if (captionEl) {
3287
+ captionEl.classList.remove(captionAnimationClass);
3288
+ }
3289
+ const weeksEl = queryWeeksEl(currentMonthElSnapshot);
3290
+ if (weeksEl) {
3291
+ weeksEl.classList.remove(weeksAnimationClass);
3292
+ }
3293
+ });
3294
+ previousRootElSnapshotRef.current = rootElSnapshot;
3295
+ } else {
3296
+ previousRootElSnapshotRef.current = null;
3297
+ }
3298
+ if (animatingRef.current || isSameMonth2 || // skip animation if a day is focused because it can cause issues to the animation and is better for a11y
3299
+ focused) {
3300
+ return;
3301
+ }
3302
+ const previousMonthEls = previousRootElSnapshot instanceof HTMLElement ? queryMonthEls(previousRootElSnapshot) : [];
3303
+ const currentMonthEls = queryMonthEls(rootElRef.current);
3304
+ if (currentMonthEls && currentMonthEls.every((el) => el instanceof HTMLElement) && previousMonthEls && previousMonthEls.every((el) => el instanceof HTMLElement)) {
3305
+ animatingRef.current = true;
3306
+ const cleanUpFunctions = [];
3307
+ rootElRef.current.style.isolation = "isolate";
3308
+ const navEl = queryNavEl(rootElRef.current);
3309
+ if (navEl) {
3310
+ navEl.style.zIndex = "1";
3311
+ }
3312
+ currentMonthEls.forEach((currentMonthEl, index) => {
3313
+ const previousMonthEl = previousMonthEls[index];
3314
+ if (!previousMonthEl) {
3315
+ return;
3316
+ }
3317
+ currentMonthEl.style.position = "relative";
3318
+ currentMonthEl.style.overflow = "hidden";
3319
+ const captionEl = queryCaptionEl(currentMonthEl);
3320
+ if (captionEl) {
3321
+ captionEl.classList.add(captionAnimationClass);
3322
+ }
3323
+ const weeksEl = queryWeeksEl(currentMonthEl);
3324
+ if (weeksEl) {
3325
+ weeksEl.classList.add(weeksAnimationClass);
3326
+ }
3327
+ const cleanUp = () => {
3328
+ animatingRef.current = false;
3329
+ if (rootElRef.current) {
3330
+ rootElRef.current.style.isolation = "";
3331
+ }
3332
+ if (navEl) {
3333
+ navEl.style.zIndex = "";
3334
+ }
3335
+ if (captionEl) {
3336
+ captionEl.classList.remove(captionAnimationClass);
3337
+ }
3338
+ if (weeksEl) {
3339
+ weeksEl.classList.remove(weeksAnimationClass);
3340
+ }
3341
+ currentMonthEl.style.position = "";
3342
+ currentMonthEl.style.overflow = "";
3343
+ if (currentMonthEl.contains(previousMonthEl)) {
3344
+ currentMonthEl.removeChild(previousMonthEl);
3345
+ }
3346
+ };
3347
+ cleanUpFunctions.push(cleanUp);
3348
+ previousMonthEl.style.pointerEvents = "none";
3349
+ previousMonthEl.style.position = "absolute";
3350
+ previousMonthEl.style.overflow = "hidden";
3351
+ previousMonthEl.setAttribute("aria-hidden", "true");
3352
+ const previousWeekdaysEl = queryWeekdaysEl(previousMonthEl);
3353
+ if (previousWeekdaysEl) {
3354
+ previousWeekdaysEl.style.opacity = "0";
3355
+ }
3356
+ const previousCaptionEl = queryCaptionEl(previousMonthEl);
3357
+ if (previousCaptionEl) {
3358
+ previousCaptionEl.classList.add(isAfterPreviousMonth ? classNames[Animation.caption_before_exit] : classNames[Animation.caption_after_exit]);
3359
+ previousCaptionEl.addEventListener("animationend", cleanUp);
3360
+ }
3361
+ const previousWeeksEl = queryWeeksEl(previousMonthEl);
3362
+ if (previousWeeksEl) {
3363
+ previousWeeksEl.classList.add(isAfterPreviousMonth ? classNames[Animation.weeks_before_exit] : classNames[Animation.weeks_after_exit]);
3364
+ }
3365
+ currentMonthEl.insertBefore(previousMonthEl, currentMonthEl.firstChild);
3366
+ });
3367
+ }
3368
+ });
3369
+ }
3370
+
3190
3371
  // node_modules/react-day-picker/dist/esm/useCalendar.js
3191
3372
  import { useEffect } from "react";
3192
3373
 
@@ -3248,7 +3429,7 @@ function getDisplayMonths(firstDisplayedMonth, calendarEndMonth, props, dateLib)
3248
3429
 
3249
3430
  // node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.js
3250
3431
  function getInitialMonth(props, dateLib) {
3251
- const { month, defaultMonth, today = dateLib.today(), numberOfMonths = 1, endMonth, startMonth } = props;
3432
+ const { month, defaultMonth, today = dateLib.today(), numberOfMonths = 1, endMonth, startMonth, timeZone } = props;
3252
3433
  let initialMonth = month || defaultMonth || today;
3253
3434
  const { differenceInCalendarMonths: differenceInCalendarMonths2, addMonths: addMonths2, startOfMonth: startOfMonth2 } = dateLib;
3254
3435
  if (endMonth && differenceInCalendarMonths2(endMonth, initialMonth) < 0) {
@@ -3258,6 +3439,7 @@ function getInitialMonth(props, dateLib) {
3258
3439
  if (startMonth && differenceInCalendarMonths2(initialMonth, startMonth) < 0) {
3259
3440
  initialMonth = startMonth;
3260
3441
  }
3442
+ initialMonth = timeZone ? new TZDate(initialMonth, timeZone) : initialMonth;
3261
3443
  return startOfMonth2(initialMonth);
3262
3444
  }
3263
3445
 
@@ -3487,35 +3669,39 @@ function useCalendar(props, dateLib) {
3487
3669
  import { useState as useState2 } from "react";
3488
3670
 
3489
3671
  // node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.js
3672
+ var FocusTargetPriority;
3673
+ (function(FocusTargetPriority2) {
3674
+ FocusTargetPriority2[FocusTargetPriority2["Today"] = 0] = "Today";
3675
+ FocusTargetPriority2[FocusTargetPriority2["Selected"] = 1] = "Selected";
3676
+ FocusTargetPriority2[FocusTargetPriority2["LastFocused"] = 2] = "LastFocused";
3677
+ FocusTargetPriority2[FocusTargetPriority2["FocusedModifier"] = 3] = "FocusedModifier";
3678
+ })(FocusTargetPriority || (FocusTargetPriority = {}));
3679
+ function isFocusableDay(modifiers) {
3680
+ return !modifiers[DayFlag.disabled] && !modifiers[DayFlag.hidden] && !modifiers[DayFlag.outside];
3681
+ }
3490
3682
  function calculateFocusTarget(days, getModifiers, isSelected, lastFocused) {
3491
3683
  let focusTarget;
3492
- let index = 0;
3493
- let found = false;
3494
- while (index < days.length && !found) {
3495
- const day = days[index];
3684
+ let foundFocusTargetPriority = -1;
3685
+ for (const day of days) {
3496
3686
  const modifiers = getModifiers(day);
3497
- if (!modifiers[DayFlag.disabled] && !modifiers[DayFlag.hidden] && !modifiers[DayFlag.outside]) {
3498
- if (modifiers[DayFlag.focused]) {
3687
+ if (isFocusableDay(modifiers)) {
3688
+ if (modifiers[DayFlag.focused] && foundFocusTargetPriority < FocusTargetPriority.FocusedModifier) {
3499
3689
  focusTarget = day;
3500
- found = true;
3501
- } else if (lastFocused == null ? void 0 : lastFocused.isEqualTo(day)) {
3690
+ foundFocusTargetPriority = FocusTargetPriority.FocusedModifier;
3691
+ } else if ((lastFocused == null ? void 0 : lastFocused.isEqualTo(day)) && foundFocusTargetPriority < FocusTargetPriority.LastFocused) {
3502
3692
  focusTarget = day;
3503
- found = true;
3504
- } else if (isSelected(day.date)) {
3693
+ foundFocusTargetPriority = FocusTargetPriority.LastFocused;
3694
+ } else if (isSelected(day.date) && foundFocusTargetPriority < FocusTargetPriority.Selected) {
3505
3695
  focusTarget = day;
3506
- found = true;
3507
- } else if (modifiers[DayFlag.today]) {
3696
+ foundFocusTargetPriority = FocusTargetPriority.Selected;
3697
+ } else if (modifiers[DayFlag.today] && foundFocusTargetPriority < FocusTargetPriority.Today) {
3508
3698
  focusTarget = day;
3509
- found = true;
3699
+ foundFocusTargetPriority = FocusTargetPriority.Today;
3510
3700
  }
3511
3701
  }
3512
- index++;
3513
3702
  }
3514
3703
  if (!focusTarget) {
3515
- focusTarget = days.find((day) => {
3516
- const m = getModifiers(day);
3517
- return !m[DayFlag.disabled] && !m[DayFlag.hidden] && !m[DayFlag.outside];
3518
- });
3704
+ focusTarget = days.find((day) => isFocusableDay(getModifiers(day)));
3519
3705
  }
3520
3706
  return focusTarget;
3521
3707
  }
@@ -4041,34 +4227,34 @@ function DayPicker(props) {
4041
4227
  const { labelDayButton: labelDayButton2, labelGridcell: labelGridcell2, labelGrid: labelGrid2, labelMonthDropdown: labelMonthDropdown2, labelNav: labelNav2, labelWeekday: labelWeekday2, labelWeekNumber: labelWeekNumber2, labelWeekNumberHeader: labelWeekNumberHeader2, labelYearDropdown: labelYearDropdown2 } = labels;
4042
4228
  const weekdays = useMemo(() => getWeekdays(dateLib, props.ISOWeek), [dateLib, props.ISOWeek]);
4043
4229
  const isInteractive = mode !== void 0 || onDayClick !== void 0;
4044
- const handlePreviousClick = useCallback(() => {
4230
+ const handlePreviousClick = useCallback2(() => {
4045
4231
  if (!previousMonth)
4046
4232
  return;
4047
4233
  goToMonth(previousMonth);
4048
4234
  onPrevClick == null ? void 0 : onPrevClick(previousMonth);
4049
4235
  }, [previousMonth, goToMonth, onPrevClick]);
4050
- const handleNextClick = useCallback(() => {
4236
+ const handleNextClick = useCallback2(() => {
4051
4237
  if (!nextMonth)
4052
4238
  return;
4053
4239
  goToMonth(nextMonth);
4054
4240
  onNextClick == null ? void 0 : onNextClick(nextMonth);
4055
4241
  }, [goToMonth, nextMonth, onNextClick]);
4056
- const handleDayClick = useCallback((day, m) => (e) => {
4242
+ const handleDayClick = useCallback2((day, m) => (e) => {
4057
4243
  e.preventDefault();
4058
4244
  e.stopPropagation();
4059
4245
  setFocused(day);
4060
4246
  select == null ? void 0 : select(day.date, m, e);
4061
4247
  onDayClick == null ? void 0 : onDayClick(day.date, m, e);
4062
4248
  }, [select, onDayClick, setFocused]);
4063
- const handleDayFocus = useCallback((day, m) => (e) => {
4249
+ const handleDayFocus = useCallback2((day, m) => (e) => {
4064
4250
  setFocused(day);
4065
4251
  onDayFocus == null ? void 0 : onDayFocus(day.date, m, e);
4066
4252
  }, [onDayFocus, setFocused]);
4067
- const handleDayBlur = useCallback((day, m) => (e) => {
4253
+ const handleDayBlur = useCallback2((day, m) => (e) => {
4068
4254
  blur();
4069
4255
  onDayBlur == null ? void 0 : onDayBlur(day.date, m, e);
4070
4256
  }, [blur, onDayBlur]);
4071
- const handleDayKeyDown = useCallback((day, modifiers) => (e) => {
4257
+ const handleDayKeyDown = useCallback2((day, modifiers) => (e) => {
4072
4258
  const keyMap = {
4073
4259
  ArrowLeft: ["day", props.dir === "rtl" ? "after" : "before"],
4074
4260
  ArrowRight: ["day", props.dir === "rtl" ? "before" : "after"],
@@ -4087,18 +4273,18 @@ function DayPicker(props) {
4087
4273
  }
4088
4274
  onDayKeyDown == null ? void 0 : onDayKeyDown(day.date, modifiers, e);
4089
4275
  }, [moveFocus, onDayKeyDown, props.dir]);
4090
- const handleDayMouseEnter = useCallback((day, modifiers) => (e) => {
4276
+ const handleDayMouseEnter = useCallback2((day, modifiers) => (e) => {
4091
4277
  onDayMouseEnter == null ? void 0 : onDayMouseEnter(day.date, modifiers, e);
4092
4278
  }, [onDayMouseEnter]);
4093
- const handleDayMouseLeave = useCallback((day, modifiers) => (e) => {
4279
+ const handleDayMouseLeave = useCallback2((day, modifiers) => (e) => {
4094
4280
  onDayMouseLeave == null ? void 0 : onDayMouseLeave(day.date, modifiers, e);
4095
4281
  }, [onDayMouseLeave]);
4096
- const handleMonthChange = useCallback((date) => (e) => {
4282
+ const handleMonthChange = useCallback2((date) => (e) => {
4097
4283
  const selectedMonth = Number(e.target.value);
4098
4284
  const month = dateLib.setMonth(dateLib.startOfMonth(date), selectedMonth);
4099
4285
  goToMonth(month);
4100
4286
  }, [dateLib, goToMonth]);
4101
- const handleYearChange = useCallback((date) => (e) => {
4287
+ const handleYearChange = useCallback2((date) => (e) => {
4102
4288
  const selectedYear = Number(e.target.value);
4103
4289
  const month = dateLib.setYear(dateLib.startOfMonth(date), selectedYear);
4104
4290
  goToMonth(month);
@@ -4108,6 +4294,13 @@ function DayPicker(props) {
4108
4294
  style: __spreadValues(__spreadValues({}, styles == null ? void 0 : styles[UI.Root]), props.style)
4109
4295
  }), [classNames, props.className, props.style, styles]);
4110
4296
  const dataAttributes = getDataAttributes(props);
4297
+ const rootElRef = useRef2(null);
4298
+ useAnimation(rootElRef, Boolean(props.animate), {
4299
+ classNames,
4300
+ months,
4301
+ focused,
4302
+ dateLib
4303
+ });
4111
4304
  const contextValue = {
4112
4305
  dayPickerProps: props,
4113
4306
  selected: selectedValue,
@@ -4129,33 +4322,45 @@ function DayPicker(props) {
4129
4322
  { value: contextValue },
4130
4323
  React32.createElement(
4131
4324
  components.Root,
4132
- __spreadValues({ className, style, dir: props.dir, id: props.id, lang: props.lang, nonce: props.nonce, title: props.title, role: props.role, "aria-label": props["aria-label"] }, dataAttributes),
4325
+ __spreadValues({ rootRef: props.animate ? rootElRef : void 0, className, style, dir: props.dir, id: props.id, lang: props.lang, nonce: props.nonce, title: props.title, role: props.role, "aria-label": props["aria-label"] }, dataAttributes),
4133
4326
  React32.createElement(
4134
4327
  components.Months,
4135
4328
  { className: classNames[UI.Months], style: styles == null ? void 0 : styles[UI.Months] },
4136
- !props.hideNavigation && React32.createElement(components.Nav, { className: classNames[UI.Nav], style: styles == null ? void 0 : styles[UI.Nav], "aria-label": labelNav2(), onPreviousClick: handlePreviousClick, onNextClick: handleNextClick, previousMonth, nextMonth }),
4329
+ !props.hideNavigation && React32.createElement(components.Nav, { "data-animated-nav": props.animate ? "true" : void 0, className: classNames[UI.Nav], style: styles == null ? void 0 : styles[UI.Nav], "aria-label": labelNav2(), onPreviousClick: handlePreviousClick, onNextClick: handleNextClick, previousMonth, nextMonth }),
4137
4330
  months.map((calendarMonth, displayIndex) => {
4138
4331
  const dropdownMonths = getMonthOptions(calendarMonth.date, navStart, navEnd, formatters2, dateLib);
4139
4332
  const dropdownYears = getYearOptions(navStart, navEnd, formatters2, dateLib);
4140
4333
  return React32.createElement(
4141
4334
  components.Month,
4142
- { className: classNames[UI.Month], style: styles == null ? void 0 : styles[UI.Month], key: displayIndex, displayIndex, calendarMonth },
4143
- React32.createElement(components.MonthCaption, { className: classNames[UI.MonthCaption], style: styles == null ? void 0 : styles[UI.MonthCaption], calendarMonth, displayIndex }, (captionLayout == null ? void 0 : captionLayout.startsWith("dropdown")) ? React32.createElement(
4335
+ { "data-animated-month": props.animate ? "true" : void 0, className: classNames[UI.Month], style: styles == null ? void 0 : styles[UI.Month], key: displayIndex, displayIndex, calendarMonth },
4336
+ React32.createElement(components.MonthCaption, { "data-animated-caption": props.animate ? "true" : void 0, className: classNames[UI.MonthCaption], style: styles == null ? void 0 : styles[UI.MonthCaption], calendarMonth, displayIndex }, (captionLayout == null ? void 0 : captionLayout.startsWith("dropdown")) ? React32.createElement(
4144
4337
  components.DropdownNav,
4145
4338
  { className: classNames[UI.Dropdowns], style: styles == null ? void 0 : styles[UI.Dropdowns] },
4146
- captionLayout === "dropdown" || captionLayout === "dropdown-months" ? React32.createElement(components.MonthsDropdown, { className: classNames[UI.MonthsDropdown], "aria-label": labelMonthDropdown2(), classNames, components, disabled: Boolean(props.disableNavigation), onChange: handleMonthChange(calendarMonth.date), options: dropdownMonths, style: styles == null ? void 0 : styles[UI.Dropdown], value: dateLib.getMonth(calendarMonth.date) }) : React32.createElement("span", { role: "status", "aria-live": "polite" }, formatMonthDropdown2(calendarMonth.date, dateLib)),
4147
- captionLayout === "dropdown" || captionLayout === "dropdown-years" ? React32.createElement(components.YearsDropdown, { className: classNames[UI.YearsDropdown], "aria-label": labelYearDropdown2(dateLib.options), classNames, components, disabled: Boolean(props.disableNavigation), onChange: handleYearChange(calendarMonth.date), options: dropdownYears, style: styles == null ? void 0 : styles[UI.Dropdown], value: dateLib.getYear(calendarMonth.date) }) : React32.createElement("span", { role: "status", "aria-live": "polite" }, formatYearDropdown2(calendarMonth.date, dateLib))
4339
+ captionLayout === "dropdown" || captionLayout === "dropdown-months" ? React32.createElement(components.MonthsDropdown, { className: classNames[UI.MonthsDropdown], "aria-label": labelMonthDropdown2(), classNames, components, disabled: Boolean(props.disableNavigation), onChange: handleMonthChange(calendarMonth.date), options: dropdownMonths, style: styles == null ? void 0 : styles[UI.Dropdown], value: dateLib.getMonth(calendarMonth.date) }) : React32.createElement("span", null, formatMonthDropdown2(calendarMonth.date, dateLib)),
4340
+ captionLayout === "dropdown" || captionLayout === "dropdown-years" ? React32.createElement(components.YearsDropdown, { className: classNames[UI.YearsDropdown], "aria-label": labelYearDropdown2(dateLib.options), classNames, components, disabled: Boolean(props.disableNavigation), onChange: handleYearChange(calendarMonth.date), options: dropdownYears, style: styles == null ? void 0 : styles[UI.Dropdown], value: dateLib.getYear(calendarMonth.date) }) : React32.createElement("span", null, formatYearDropdown2(calendarMonth.date, dateLib)),
4341
+ React32.createElement("span", { role: "status", "aria-live": "polite", style: {
4342
+ border: 0,
4343
+ clip: "rect(0 0 0 0)",
4344
+ height: "1px",
4345
+ margin: "-1px",
4346
+ overflow: "hidden",
4347
+ padding: 0,
4348
+ position: "absolute",
4349
+ width: "1px",
4350
+ whiteSpace: "nowrap",
4351
+ wordWrap: "normal"
4352
+ } }, formatCaption2(calendarMonth.date, dateLib.options, dateLib))
4148
4353
  ) : React32.createElement(components.CaptionLabel, { className: classNames[UI.CaptionLabel], role: "status", "aria-live": "polite" }, formatCaption2(calendarMonth.date, dateLib.options, dateLib))),
4149
4354
  React32.createElement(
4150
4355
  components.MonthGrid,
4151
4356
  { role: "grid", "aria-multiselectable": mode === "multiple" || mode === "range", "aria-label": labelGrid2(calendarMonth.date, dateLib.options, dateLib) || void 0, className: classNames[UI.MonthGrid], style: styles == null ? void 0 : styles[UI.MonthGrid] },
4152
4357
  !props.hideWeekdays && React32.createElement(
4153
4358
  components.Weekdays,
4154
- { className: classNames[UI.Weekdays], style: styles == null ? void 0 : styles[UI.Weekdays] },
4359
+ { "data-animated-weekdays": props.animate ? "true" : void 0, className: classNames[UI.Weekdays], style: styles == null ? void 0 : styles[UI.Weekdays] },
4155
4360
  showWeekNumber && React32.createElement(components.WeekNumberHeader, { "aria-label": labelWeekNumberHeader2(dateLib.options), className: classNames[UI.WeekNumberHeader], style: styles == null ? void 0 : styles[UI.WeekNumberHeader], scope: "col" }, formatWeekNumberHeader2()),
4156
4361
  weekdays.map((weekday, i) => React32.createElement(components.Weekday, { "aria-label": labelWeekday2(weekday, dateLib.options, dateLib), className: classNames[UI.Weekday], key: i, style: styles == null ? void 0 : styles[UI.Weekday], scope: "col" }, formatWeekdayName2(weekday, dateLib.options, dateLib)))
4157
4362
  ),
4158
- React32.createElement(components.Weeks, { className: classNames[UI.Weeks], style: styles == null ? void 0 : styles[UI.Weeks] }, calendarMonth.weeks.map((week, weekIndex) => {
4363
+ React32.createElement(components.Weeks, { "data-animated-weeks": props.animate ? "true" : void 0, className: classNames[UI.Weeks], style: styles == null ? void 0 : styles[UI.Weeks] }, calendarMonth.weeks.map((week, weekIndex) => {
4159
4364
  return React32.createElement(
4160
4365
  components.Week,
4161
4366
  { className: classNames[UI.Week], key: week.weekNumber, style: styles == null ? void 0 : styles[UI.Week], week },
@@ -4166,7 +4371,7 @@ function DayPicker(props) {
4166
4371
  const { date } = day;
4167
4372
  const modifiers = getModifiers(day);
4168
4373
  modifiers[DayFlag.focused] = !modifiers.hidden && Boolean(focused == null ? void 0 : focused.isEqualTo(day));
4169
- modifiers[SelectionState.selected] = !modifiers.disabled && ((isSelected == null ? void 0 : isSelected(date)) || modifiers.selected);
4374
+ modifiers[SelectionState.selected] = (isSelected == null ? void 0 : isSelected(date)) || modifiers.selected;
4170
4375
  if (isDateRange(selectedValue)) {
4171
4376
  const { from, to } = selectedValue;
4172
4377
  modifiers[SelectionState.range_start] = Boolean(from && to && dateLib.isSameDay(date, from));
@@ -4315,7 +4520,7 @@ CardFooter.displayName = "CardFooter";
4315
4520
  import { ArrowLeftIcon, ArrowRightIcon } from "@radix-ui/react-icons";
4316
4521
  import useEmblaCarousel from "embla-carousel-react";
4317
4522
  import * as React34 from "react";
4318
- import { jsx as jsx9, jsxs as jsxs3 } from "react/jsx-runtime";
4523
+ import { jsx as jsx9, jsxs as jsxs4 } from "react/jsx-runtime";
4319
4524
  var CarouselContext = React34.createContext(null);
4320
4525
  function useCarousel() {
4321
4526
  const context = React34.useContext(CarouselContext);
@@ -4458,7 +4663,7 @@ CarouselItem.displayName = "CarouselItem";
4458
4663
  var CarouselPrevious = React34.forwardRef((_a, ref) => {
4459
4664
  var _b = _a, { className, variant = "outline", size = "icon" } = _b, props = __objRest(_b, ["className", "variant", "size"]);
4460
4665
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
4461
- return /* @__PURE__ */ jsxs3(
4666
+ return /* @__PURE__ */ jsxs4(
4462
4667
  Button,
4463
4668
  __spreadProps(__spreadValues({
4464
4669
  ref,
@@ -4483,7 +4688,7 @@ CarouselPrevious.displayName = "CarouselPrevious";
4483
4688
  var CarouselNext = React34.forwardRef((_a, ref) => {
4484
4689
  var _b = _a, { className, variant = "outline", size = "icon" } = _b, props = __objRest(_b, ["className", "variant", "size"]);
4485
4690
  const { orientation, scrollNext, canScrollNext } = useCarousel();
4486
- return /* @__PURE__ */ jsxs3(
4691
+ return /* @__PURE__ */ jsxs4(
4487
4692
  Button,
4488
4693
  __spreadProps(__spreadValues({
4489
4694
  ref,
@@ -4549,7 +4754,7 @@ import * as React37 from "react";
4549
4754
  import * as DialogPrimitive from "@radix-ui/react-dialog";
4550
4755
  import { Cross2Icon } from "@radix-ui/react-icons";
4551
4756
  import * as React36 from "react";
4552
- import { jsx as jsx11, jsxs as jsxs4 } from "react/jsx-runtime";
4757
+ import { jsx as jsx11, jsxs as jsxs5 } from "react/jsx-runtime";
4553
4758
  var Dialog = DialogPrimitive.Root;
4554
4759
  var DialogTrigger = DialogPrimitive.Trigger;
4555
4760
  var DialogPortal = DialogPrimitive.Portal;
@@ -4570,9 +4775,9 @@ var DialogOverlay = React36.forwardRef((_a, ref) => {
4570
4775
  DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
4571
4776
  var DialogContent = React36.forwardRef((_a, ref) => {
4572
4777
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
4573
- return /* @__PURE__ */ jsxs4(DialogPortal, { children: [
4778
+ return /* @__PURE__ */ jsxs5(DialogPortal, { children: [
4574
4779
  /* @__PURE__ */ jsx11(DialogOverlay, {}),
4575
- /* @__PURE__ */ jsxs4(
4780
+ /* @__PURE__ */ jsxs5(
4576
4781
  DialogPrimitive.Content,
4577
4782
  __spreadProps(__spreadValues({
4578
4783
  ref,
@@ -4583,7 +4788,7 @@ var DialogContent = React36.forwardRef((_a, ref) => {
4583
4788
  }, props), {
4584
4789
  children: [
4585
4790
  children,
4586
- /* @__PURE__ */ jsxs4(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
4791
+ /* @__PURE__ */ jsxs5(DialogPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
4587
4792
  /* @__PURE__ */ jsx11(Cross2Icon, { className: "h-4 w-4" }),
4588
4793
  /* @__PURE__ */ jsx11("span", { className: "sr-only", children: "Close" })
4589
4794
  ] })
@@ -4654,7 +4859,7 @@ var DialogDescription = React36.forwardRef((_a, ref) => {
4654
4859
  DialogDescription.displayName = DialogPrimitive.Description.displayName;
4655
4860
 
4656
4861
  // src/components/command.tsx
4657
- import { jsx as jsx12, jsxs as jsxs5 } from "react/jsx-runtime";
4862
+ import { jsx as jsx12, jsxs as jsxs6 } from "react/jsx-runtime";
4658
4863
  var Command = React37.forwardRef((_a, ref) => {
4659
4864
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4660
4865
  return /* @__PURE__ */ jsx12(
@@ -4675,7 +4880,7 @@ var CommandDialog = (_a) => {
4675
4880
  };
4676
4881
  var CommandInput = React37.forwardRef((_a, ref) => {
4677
4882
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
4678
- return /* @__PURE__ */ jsxs5("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
4883
+ return /* @__PURE__ */ jsxs6("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
4679
4884
  /* @__PURE__ */ jsx12(MagnifyingGlassIcon, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
4680
4885
  /* @__PURE__ */ jsx12(
4681
4886
  CommandPrimitive.Input,
@@ -4774,7 +4979,7 @@ import {
4774
4979
  DotFilledIcon
4775
4980
  } from "@radix-ui/react-icons";
4776
4981
  import * as React38 from "react";
4777
- import { jsx as jsx13, jsxs as jsxs6 } from "react/jsx-runtime";
4982
+ import { jsx as jsx13, jsxs as jsxs7 } from "react/jsx-runtime";
4778
4983
  var ContextMenu = ContextMenuPrimitive.Root;
4779
4984
  var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
4780
4985
  var ContextMenuGroup = ContextMenuPrimitive.Group;
@@ -4783,7 +4988,7 @@ var ContextMenuSub = ContextMenuPrimitive.Sub;
4783
4988
  var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
4784
4989
  var ContextMenuSubTrigger = React38.forwardRef((_a, ref) => {
4785
4990
  var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
4786
- return /* @__PURE__ */ jsxs6(
4991
+ return /* @__PURE__ */ jsxs7(
4787
4992
  ContextMenuPrimitive.SubTrigger,
4788
4993
  __spreadProps(__spreadValues({
4789
4994
  ref,
@@ -4846,7 +5051,7 @@ var ContextMenuItem = React38.forwardRef((_a, ref) => {
4846
5051
  ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
4847
5052
  var ContextMenuCheckboxItem = React38.forwardRef((_a, ref) => {
4848
5053
  var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
4849
- return /* @__PURE__ */ jsxs6(
5054
+ return /* @__PURE__ */ jsxs7(
4850
5055
  ContextMenuPrimitive.CheckboxItem,
4851
5056
  __spreadProps(__spreadValues({
4852
5057
  ref,
@@ -4866,7 +5071,7 @@ var ContextMenuCheckboxItem = React38.forwardRef((_a, ref) => {
4866
5071
  ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
4867
5072
  var ContextMenuRadioItem = React38.forwardRef((_a, ref) => {
4868
5073
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
4869
- return /* @__PURE__ */ jsxs6(
5074
+ return /* @__PURE__ */ jsxs7(
4870
5075
  ContextMenuPrimitive.RadioItem,
4871
5076
  __spreadProps(__spreadValues({
4872
5077
  ref,
@@ -4930,7 +5135,7 @@ ContextMenuShortcut.displayName = "ContextMenuShortcut";
4930
5135
  // src/components/drawer.tsx
4931
5136
  import * as React39 from "react";
4932
5137
  import { Drawer as DrawerPrimitive } from "vaul";
4933
- import { jsx as jsx14, jsxs as jsxs7 } from "react/jsx-runtime";
5138
+ import { jsx as jsx14, jsxs as jsxs8 } from "react/jsx-runtime";
4934
5139
  var Drawer = (_a) => {
4935
5140
  var _b = _a, {
4936
5141
  shouldScaleBackground = true
@@ -4961,9 +5166,9 @@ var DrawerOverlay = React39.forwardRef((_a, ref) => {
4961
5166
  DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;
4962
5167
  var DrawerContent = React39.forwardRef((_a, ref) => {
4963
5168
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
4964
- return /* @__PURE__ */ jsxs7(DrawerPortal, { children: [
5169
+ return /* @__PURE__ */ jsxs8(DrawerPortal, { children: [
4965
5170
  /* @__PURE__ */ jsx14(DrawerOverlay, {}),
4966
- /* @__PURE__ */ jsxs7(
5171
+ /* @__PURE__ */ jsxs8(
4967
5172
  DrawerPrimitive.Content,
4968
5173
  __spreadProps(__spreadValues({
4969
5174
  ref,
@@ -5043,7 +5248,7 @@ import {
5043
5248
  DotFilledIcon as DotFilledIcon2
5044
5249
  } from "@radix-ui/react-icons";
5045
5250
  import * as React40 from "react";
5046
- import { jsx as jsx15, jsxs as jsxs8 } from "react/jsx-runtime";
5251
+ import { jsx as jsx15, jsxs as jsxs9 } from "react/jsx-runtime";
5047
5252
  var DropdownMenu = DropdownMenuPrimitive.Root;
5048
5253
  var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
5049
5254
  var DropdownMenuGroup = DropdownMenuPrimitive.Group;
@@ -5052,7 +5257,7 @@ var DropdownMenuSub = DropdownMenuPrimitive.Sub;
5052
5257
  var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
5053
5258
  var DropdownMenuSubTrigger = React40.forwardRef((_a, ref) => {
5054
5259
  var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
5055
- return /* @__PURE__ */ jsxs8(
5260
+ return /* @__PURE__ */ jsxs9(
5056
5261
  DropdownMenuPrimitive.SubTrigger,
5057
5262
  __spreadProps(__spreadValues({
5058
5263
  ref,
@@ -5117,7 +5322,7 @@ var DropdownMenuItem = React40.forwardRef((_a, ref) => {
5117
5322
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
5118
5323
  var DropdownMenuCheckboxItem = React40.forwardRef((_a, ref) => {
5119
5324
  var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
5120
- return /* @__PURE__ */ jsxs8(
5325
+ return /* @__PURE__ */ jsxs9(
5121
5326
  DropdownMenuPrimitive.CheckboxItem,
5122
5327
  __spreadProps(__spreadValues({
5123
5328
  ref,
@@ -5137,7 +5342,7 @@ var DropdownMenuCheckboxItem = React40.forwardRef((_a, ref) => {
5137
5342
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
5138
5343
  var DropdownMenuRadioItem = React40.forwardRef((_a, ref) => {
5139
5344
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
5140
- return /* @__PURE__ */ jsxs8(
5345
+ return /* @__PURE__ */ jsxs9(
5141
5346
  DropdownMenuPrimitive.RadioItem,
5142
5347
  __spreadProps(__spreadValues({
5143
5348
  ref,
@@ -5195,327 +5400,40 @@ var DropdownMenuShortcut = (_a) => {
5195
5400
  };
5196
5401
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
5197
5402
 
5198
- // src/components/form.tsx
5199
- import { Slot as Slot3 } from "@radix-ui/react-slot";
5200
- import * as React43 from "react";
5201
-
5202
- // node_modules/react-hook-form/dist/index.esm.mjs
5203
- import React41 from "react";
5204
- var isCheckBoxInput = (element) => element.type === "checkbox";
5205
- var isDateObject = (value) => value instanceof Date;
5206
- var isNullOrUndefined = (value) => value == null;
5207
- var isObjectType = (value) => typeof value === "object";
5208
- var isObject = (value) => !isNullOrUndefined(value) && !Array.isArray(value) && isObjectType(value) && !isDateObject(value);
5209
- var getEventValue = (event) => isObject(event) && event.target ? isCheckBoxInput(event.target) ? event.target.checked : event.target.value : event;
5210
- var getNodeParentName = (name) => name.substring(0, name.search(/\.\d+(\.|$)/)) || name;
5211
- var isNameInFieldArray = (names, name) => names.has(getNodeParentName(name));
5212
- var isPlainObject = (tempObject) => {
5213
- const prototypeCopy = tempObject.constructor && tempObject.constructor.prototype;
5214
- return isObject(prototypeCopy) && prototypeCopy.hasOwnProperty("isPrototypeOf");
5215
- };
5216
- var isWeb = typeof window !== "undefined" && typeof window.HTMLElement !== "undefined" && typeof document !== "undefined";
5217
- function cloneObject(data) {
5218
- let copy;
5219
- const isArray = Array.isArray(data);
5220
- const isFileListInstance = typeof FileList !== "undefined" ? data instanceof FileList : false;
5221
- if (data instanceof Date) {
5222
- copy = new Date(data);
5223
- } else if (data instanceof Set) {
5224
- copy = new Set(data);
5225
- } else if (!(isWeb && (data instanceof Blob || isFileListInstance)) && (isArray || isObject(data))) {
5226
- copy = isArray ? [] : {};
5227
- if (!isArray && !isPlainObject(data)) {
5228
- copy = data;
5229
- } else {
5230
- for (const key in data) {
5231
- if (data.hasOwnProperty(key)) {
5232
- copy[key] = cloneObject(data[key]);
5233
- }
5234
- }
5235
- }
5236
- } else {
5237
- return data;
5238
- }
5239
- return copy;
5240
- }
5241
- var compact = (value) => Array.isArray(value) ? value.filter(Boolean) : [];
5242
- var isUndefined = (val) => val === void 0;
5243
- var get = (object, path, defaultValue) => {
5244
- if (!path || !isObject(object)) {
5245
- return defaultValue;
5246
- }
5247
- const result = compact(path.split(/[,[\].]+?/)).reduce((result2, key) => isNullOrUndefined(result2) ? result2 : result2[key], object);
5248
- return isUndefined(result) || result === object ? isUndefined(object[path]) ? defaultValue : object[path] : result;
5249
- };
5250
- var isBoolean = (value) => typeof value === "boolean";
5251
- var isKey = (value) => /^\w*$/.test(value);
5252
- var stringToPath = (input) => compact(input.replace(/["|']|\]/g, "").split(/\.|\[/));
5253
- var set = (object, path, value) => {
5254
- let index = -1;
5255
- const tempPath = isKey(path) ? [path] : stringToPath(path);
5256
- const length = tempPath.length;
5257
- const lastIndex = length - 1;
5258
- while (++index < length) {
5259
- const key = tempPath[index];
5260
- let newValue = value;
5261
- if (index !== lastIndex) {
5262
- const objValue = object[key];
5263
- newValue = isObject(objValue) || Array.isArray(objValue) ? objValue : !isNaN(+tempPath[index + 1]) ? [] : {};
5264
- }
5265
- if (key === "__proto__" || key === "constructor" || key === "prototype") {
5266
- return;
5267
- }
5268
- object[key] = newValue;
5269
- object = object[key];
5270
- }
5271
- return object;
5272
- };
5273
- var EVENTS = {
5274
- BLUR: "blur",
5275
- FOCUS_OUT: "focusout",
5276
- CHANGE: "change"
5277
- };
5278
- var VALIDATION_MODE = {
5279
- onBlur: "onBlur",
5280
- onChange: "onChange",
5281
- onSubmit: "onSubmit",
5282
- onTouched: "onTouched",
5283
- all: "all"
5284
- };
5285
- var HookFormContext = React41.createContext(null);
5286
- var useFormContext = () => React41.useContext(HookFormContext);
5287
- var FormProvider = (props) => {
5288
- const _a = props, { children } = _a, data = __objRest(_a, ["children"]);
5289
- return React41.createElement(HookFormContext.Provider, { value: data }, children);
5290
- };
5291
- var getProxyFormState = (formState, control, localProxyFormState, isRoot = true) => {
5292
- const result = {
5293
- defaultValues: control._defaultValues
5294
- };
5295
- for (const key in formState) {
5296
- Object.defineProperty(result, key, {
5297
- get: () => {
5298
- const _key = key;
5299
- if (control._proxyFormState[_key] !== VALIDATION_MODE.all) {
5300
- control._proxyFormState[_key] = !isRoot || VALIDATION_MODE.all;
5301
- }
5302
- localProxyFormState && (localProxyFormState[_key] = true);
5303
- return formState[_key];
5304
- }
5305
- });
5306
- }
5307
- return result;
5308
- };
5309
- var isEmptyObject = (value) => isObject(value) && !Object.keys(value).length;
5310
- var shouldRenderFormState = (formStateData, _proxyFormState, updateFormState, isRoot) => {
5311
- updateFormState(formStateData);
5312
- const _a = formStateData, { name } = _a, formState = __objRest(_a, ["name"]);
5313
- return isEmptyObject(formState) || Object.keys(formState).length >= Object.keys(_proxyFormState).length || Object.keys(formState).find((key) => _proxyFormState[key] === (!isRoot || VALIDATION_MODE.all));
5314
- };
5315
- var convertToArrayPayload = (value) => Array.isArray(value) ? value : [value];
5316
- var shouldSubscribeByName = (name, signalName, exact) => !name || !signalName || name === signalName || convertToArrayPayload(name).some((currentName) => currentName && (exact ? currentName === signalName : currentName.startsWith(signalName) || signalName.startsWith(currentName)));
5317
- function useSubscribe(props) {
5318
- const _props = React41.useRef(props);
5319
- _props.current = props;
5320
- React41.useEffect(() => {
5321
- const subscription = !props.disabled && _props.current.subject && _props.current.subject.subscribe({
5322
- next: _props.current.next
5323
- });
5324
- return () => {
5325
- subscription && subscription.unsubscribe();
5326
- };
5327
- }, [props.disabled]);
5328
- }
5329
- function useFormState(props) {
5330
- const methods = useFormContext();
5331
- const { control = methods.control, disabled, name, exact } = props || {};
5332
- const [formState, updateFormState] = React41.useState(control._formState);
5333
- const _mounted = React41.useRef(true);
5334
- const _localProxyFormState = React41.useRef({
5335
- isDirty: false,
5336
- isLoading: false,
5337
- dirtyFields: false,
5338
- touchedFields: false,
5339
- validatingFields: false,
5340
- isValidating: false,
5341
- isValid: false,
5342
- errors: false
5343
- });
5344
- const _name = React41.useRef(name);
5345
- _name.current = name;
5346
- useSubscribe({
5347
- disabled,
5348
- next: (value) => _mounted.current && shouldSubscribeByName(_name.current, value.name, exact) && shouldRenderFormState(value, _localProxyFormState.current, control._updateFormState) && updateFormState(__spreadValues(__spreadValues({}, control._formState), value)),
5349
- subject: control._subjects.state
5350
- });
5351
- React41.useEffect(() => {
5352
- _mounted.current = true;
5353
- _localProxyFormState.current.isValid && control._updateValid(true);
5354
- return () => {
5355
- _mounted.current = false;
5356
- };
5357
- }, [control]);
5358
- return React41.useMemo(() => getProxyFormState(formState, control, _localProxyFormState.current, false), [formState, control]);
5359
- }
5360
- var isString = (value) => typeof value === "string";
5361
- var generateWatchOutput = (names, _names, formValues, isGlobal, defaultValue) => {
5362
- if (isString(names)) {
5363
- isGlobal && _names.watch.add(names);
5364
- return get(formValues, names, defaultValue);
5365
- }
5366
- if (Array.isArray(names)) {
5367
- return names.map((fieldName) => (isGlobal && _names.watch.add(fieldName), get(formValues, fieldName)));
5368
- }
5369
- isGlobal && (_names.watchAll = true);
5370
- return formValues;
5371
- };
5372
- function useWatch(props) {
5373
- const methods = useFormContext();
5374
- const { control = methods.control, name, defaultValue, disabled, exact } = props || {};
5375
- const _name = React41.useRef(name);
5376
- _name.current = name;
5377
- useSubscribe({
5378
- disabled,
5379
- subject: control._subjects.values,
5380
- next: (formState) => {
5381
- if (shouldSubscribeByName(_name.current, formState.name, exact)) {
5382
- updateValue(cloneObject(generateWatchOutput(_name.current, control._names, formState.values || control._formValues, false, defaultValue)));
5383
- }
5384
- }
5385
- });
5386
- const [value, updateValue] = React41.useState(control._getWatch(name, defaultValue));
5387
- React41.useEffect(() => control._removeUnmounted());
5388
- return value;
5389
- }
5390
- function useController(props) {
5391
- const methods = useFormContext();
5392
- const { name, disabled, control = methods.control, shouldUnregister } = props;
5393
- const isArrayField = isNameInFieldArray(control._names.array, name);
5394
- const value = useWatch({
5395
- control,
5396
- name,
5397
- defaultValue: get(control._formValues, name, get(control._defaultValues, name, props.defaultValue)),
5398
- exact: true
5399
- });
5400
- const formState = useFormState({
5401
- control,
5402
- name,
5403
- exact: true
5404
- });
5405
- const _registerProps = React41.useRef(control.register(name, __spreadValues(__spreadProps(__spreadValues({}, props.rules), {
5406
- value
5407
- }), isBoolean(props.disabled) ? { disabled: props.disabled } : {})));
5408
- const fieldState = React41.useMemo(() => Object.defineProperties({}, {
5409
- invalid: {
5410
- enumerable: true,
5411
- get: () => !!get(formState.errors, name)
5412
- },
5413
- isDirty: {
5414
- enumerable: true,
5415
- get: () => !!get(formState.dirtyFields, name)
5416
- },
5417
- isTouched: {
5418
- enumerable: true,
5419
- get: () => !!get(formState.touchedFields, name)
5420
- },
5421
- isValidating: {
5422
- enumerable: true,
5423
- get: () => !!get(formState.validatingFields, name)
5424
- },
5425
- error: {
5426
- enumerable: true,
5427
- get: () => get(formState.errors, name)
5428
- }
5429
- }), [formState, name]);
5430
- const field = React41.useMemo(() => __spreadProps(__spreadValues({
5431
- name,
5432
- value
5433
- }, isBoolean(disabled) || formState.disabled ? { disabled: formState.disabled || disabled } : {}), {
5434
- onChange: (event) => _registerProps.current.onChange({
5435
- target: {
5436
- value: getEventValue(event),
5437
- name
5438
- },
5439
- type: EVENTS.CHANGE
5440
- }),
5441
- onBlur: () => _registerProps.current.onBlur({
5442
- target: {
5443
- value: get(control._formValues, name),
5444
- name
5445
- },
5446
- type: EVENTS.BLUR
5447
- }),
5448
- ref: (elm) => {
5449
- const field2 = get(control._fields, name);
5450
- if (field2 && elm) {
5451
- field2._f.ref = {
5452
- focus: () => elm.focus(),
5453
- select: () => elm.select(),
5454
- setCustomValidity: (message2) => elm.setCustomValidity(message2),
5455
- reportValidity: () => elm.reportValidity()
5456
- };
5457
- }
5458
- }
5459
- }), [
5460
- name,
5461
- control._formValues,
5462
- disabled,
5463
- formState.disabled,
5464
- value,
5465
- control._fields
5466
- ]);
5467
- React41.useEffect(() => {
5468
- const _shouldUnregisterField = control._options.shouldUnregister || shouldUnregister;
5469
- const updateMounted = (name2, value2) => {
5470
- const field2 = get(control._fields, name2);
5471
- if (field2 && field2._f) {
5472
- field2._f.mount = value2;
5473
- }
5474
- };
5475
- updateMounted(name, true);
5476
- if (_shouldUnregisterField) {
5477
- const value2 = cloneObject(get(control._options.defaultValues, name));
5478
- set(control._defaultValues, name, value2);
5479
- if (isUndefined(get(control._formValues, name))) {
5480
- set(control._formValues, name, value2);
5481
- }
5482
- }
5483
- !isArrayField && control.register(name);
5484
- return () => {
5485
- (isArrayField ? _shouldUnregisterField && !control._state.action : _shouldUnregisterField) ? control.unregister(name) : updateMounted(name, false);
5486
- };
5487
- }, [name, control, isArrayField, shouldUnregister]);
5488
- React41.useEffect(() => {
5489
- control._updateDisabledField({
5490
- disabled,
5491
- fields: control._fields,
5492
- name
5493
- });
5494
- }, [disabled, name, control]);
5495
- return React41.useMemo(() => ({
5496
- field,
5497
- formState,
5498
- fieldState
5499
- }), [field, formState, fieldState]);
5500
- }
5501
- var Controller = (props) => props.render(useController(props));
5502
- var defaultOptions2 = {
5503
- mode: VALIDATION_MODE.onSubmit,
5504
- reValidateMode: VALIDATION_MODE.onChange,
5505
- shouldFocusError: true
5403
+ // src/components/Form/form.tsx
5404
+ import {
5405
+ FormProvider
5406
+ } from "react-hook-form";
5407
+ import { jsx as jsx16 } from "react/jsx-runtime";
5408
+ var Form = ({
5409
+ children,
5410
+ methods,
5411
+ onSubmit = () => {
5412
+ },
5413
+ onError,
5414
+ formProps = {}
5415
+ }) => {
5416
+ return /* @__PURE__ */ jsx16(FormProvider, __spreadProps(__spreadValues({}, methods), { children: /* @__PURE__ */ jsx16("form", __spreadProps(__spreadValues({ onSubmit: methods.handleSubmit(onSubmit, onError) }, formProps), { children })) }));
5506
5417
  };
5507
5418
 
5508
- // src/components/label.tsx
5419
+ // src/components/Form/form-field.tsx
5420
+ import {
5421
+ Controller,
5422
+ useFormContext
5423
+ } from "react-hook-form";
5424
+ import React43 from "react";
5425
+
5426
+ // src/components/Label/label.tsx
5509
5427
  import * as LabelPrimitive from "@radix-ui/react-label";
5510
5428
  import { cva as cva4 } from "class-variance-authority";
5511
- import * as React42 from "react";
5512
- import { jsx as jsx16 } from "react/jsx-runtime";
5429
+ import * as React41 from "react";
5430
+ import { jsx as jsx17 } from "react/jsx-runtime";
5513
5431
  var labelVariants = cva4(
5514
5432
  "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
5515
5433
  );
5516
- var Label3 = React42.forwardRef((_a, ref) => {
5434
+ var Label3 = React41.forwardRef((_a, ref) => {
5517
5435
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5518
- return /* @__PURE__ */ jsx16(
5436
+ return /* @__PURE__ */ jsx17(
5519
5437
  LabelPrimitive.Root,
5520
5438
  __spreadValues({
5521
5439
  ref,
@@ -5525,32 +5443,99 @@ var Label3 = React42.forwardRef((_a, ref) => {
5525
5443
  });
5526
5444
  Label3.displayName = LabelPrimitive.Root.displayName;
5527
5445
 
5528
- // src/components/form.tsx
5529
- import { jsx as jsx17 } from "react/jsx-runtime";
5530
- var Form = FormProvider;
5446
+ // src/components/Form/form-field.tsx
5447
+ import { Slot as Slot3 } from "@radix-ui/react-slot";
5448
+
5449
+ // src/components/input.tsx
5450
+ import * as React42 from "react";
5451
+ import { jsx as jsx18 } from "react/jsx-runtime";
5452
+ var Input = React42.forwardRef(
5453
+ (_a, ref) => {
5454
+ var _b = _a, { className, type } = _b, props = __objRest(_b, ["className", "type"]);
5455
+ return /* @__PURE__ */ jsx18(
5456
+ "input",
5457
+ __spreadValues({
5458
+ type,
5459
+ className: cn(
5460
+ "flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
5461
+ className
5462
+ ),
5463
+ ref
5464
+ }, props)
5465
+ );
5466
+ }
5467
+ );
5468
+ Input.displayName = "Input";
5469
+
5470
+ // src/components/Form/form-field.tsx
5471
+ import { jsx as jsx19, jsxs as jsxs10 } from "react/jsx-runtime";
5531
5472
  var FormFieldContext = React43.createContext(
5532
- {}
5473
+ null
5533
5474
  );
5534
5475
  var FormField = (_a) => {
5535
- var props = __objRest(_a, []);
5536
- return /* @__PURE__ */ jsx17(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx17(Controller, __spreadValues({}, props)) });
5537
- };
5538
- var useFormField = () => {
5539
- const fieldContext = React43.useContext(FormFieldContext);
5540
- const itemContext = React43.useContext(FormItemContext);
5541
- const { getFieldState, formState } = useFormContext();
5542
- const fieldState = getFieldState(fieldContext.name, formState);
5543
- if (!fieldContext) {
5544
- throw new Error("useFormField should be used within <FormField>");
5545
- }
5546
- const { id } = itemContext;
5547
- return __spreadValues({
5548
- id,
5549
- name: fieldContext.name,
5550
- formItemId: `${id}-form-item`,
5551
- formDescriptionId: `${id}-form-item-description`,
5552
- formMessageId: `${id}-form-item-message`
5553
- }, fieldState);
5476
+ var _b = _a, {
5477
+ name,
5478
+ control,
5479
+ label,
5480
+ placeholder,
5481
+ required,
5482
+ className = "px-4 py-6 shadow-inner drop-shadow-xl",
5483
+ labelClassName,
5484
+ messageClassName,
5485
+ requiredClassName,
5486
+ rules,
5487
+ shouldUnregister,
5488
+ defaultValue,
5489
+ onChange
5490
+ } = _b, inputProps = __objRest(_b, [
5491
+ "name",
5492
+ "control",
5493
+ "label",
5494
+ "placeholder",
5495
+ "required",
5496
+ "className",
5497
+ "labelClassName",
5498
+ "messageClassName",
5499
+ "requiredClassName",
5500
+ "rules",
5501
+ "shouldUnregister",
5502
+ "defaultValue",
5503
+ "onChange"
5504
+ ]);
5505
+ var _a2;
5506
+ const {
5507
+ formState: { errors }
5508
+ } = useFormContext();
5509
+ const fieldError = (_a2 = errors[name]) == null ? void 0 : _a2.message;
5510
+ return /* @__PURE__ */ jsx19(FormFieldContext.Provider, { value: { name }, children: /* @__PURE__ */ jsx19(
5511
+ Controller,
5512
+ {
5513
+ control,
5514
+ name,
5515
+ rules,
5516
+ shouldUnregister,
5517
+ defaultValue,
5518
+ render: ({ field }) => /* @__PURE__ */ jsxs10(FormItem, { children: [
5519
+ label && /* @__PURE__ */ jsxs10(FormLabel, { className: labelClassName, children: [
5520
+ label,
5521
+ required && /* @__PURE__ */ jsx19("span", { className: cn("text-red-500", requiredClassName), children: "*" })
5522
+ ] }),
5523
+ /* @__PURE__ */ jsx19(FormControl, { children: /* @__PURE__ */ jsx19(
5524
+ Input,
5525
+ __spreadProps(__spreadValues(__spreadValues({}, field), inputProps), {
5526
+ onChange: (e) => {
5527
+ field.onChange(e);
5528
+ onChange == null ? void 0 : onChange(e.target.value);
5529
+ },
5530
+ placeholder,
5531
+ required,
5532
+ className
5533
+ })
5534
+ ) }),
5535
+ fieldError && /* @__PURE__ */ jsx19(FormMessage, { className: messageClassName, children: fieldError })
5536
+ ] })
5537
+ }
5538
+ ) });
5554
5539
  };
5555
5540
  var FormItemContext = React43.createContext(
5556
5541
  {}
@@ -5558,13 +5543,13 @@ var FormItemContext = React43.createContext(
5558
5543
  var FormItem = React43.forwardRef((_a, ref) => {
5559
5544
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5560
5545
  const id = React43.useId();
5561
- return /* @__PURE__ */ jsx17(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx17("div", __spreadValues({ ref, className: cn("space-y-2", className) }, props)) });
5546
+ return /* @__PURE__ */ jsx19(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx19("div", __spreadValues({ ref, className: cn("space-y-2", className) }, props)) });
5562
5547
  });
5563
5548
  FormItem.displayName = "FormItem";
5564
5549
  var FormLabel = React43.forwardRef((_a, ref) => {
5565
5550
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5566
5551
  const { error, formItemId } = useFormField();
5567
- return /* @__PURE__ */ jsx17(
5552
+ return /* @__PURE__ */ jsx19(
5568
5553
  Label3,
5569
5554
  __spreadValues({
5570
5555
  ref,
@@ -5574,24 +5559,51 @@ var FormLabel = React43.forwardRef((_a, ref) => {
5574
5559
  );
5575
5560
  });
5576
5561
  FormLabel.displayName = "FormLabel";
5577
- var FormControl = React43.forwardRef((_a, ref) => {
5578
- var props = __objRest(_a, []);
5579
- const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
5580
- return /* @__PURE__ */ jsx17(
5581
- Slot3,
5582
- __spreadValues({
5583
- ref,
5584
- id: formItemId,
5585
- "aria-describedby": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,
5586
- "aria-invalid": !!error
5587
- }, props)
5588
- );
5589
- });
5590
- FormControl.displayName = "FormControl";
5591
- var FormDescription = React43.forwardRef((_a, ref) => {
5592
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5593
- const { formDescriptionId } = useFormField();
5594
- return /* @__PURE__ */ jsx17(
5562
+ var useFormField = () => {
5563
+ const fieldContext = React43.useContext(FormFieldContext);
5564
+ const itemContext = React43.useContext(FormItemContext);
5565
+ const { getFieldState, formState } = useFormContext();
5566
+ if (!fieldContext) {
5567
+ const { id: id2 } = itemContext;
5568
+ return {
5569
+ id: itemContext.id,
5570
+ formItemId: `${id2}-form-item`,
5571
+ formDescriptionId: `${id2}-form-item-description`,
5572
+ formMessageId: `${id2}-form-item-message`,
5573
+ error: null
5574
+ };
5575
+ }
5576
+ const fieldState = getFieldState(fieldContext.name, formState);
5577
+ if (!fieldContext) {
5578
+ throw new Error("useFormField should be used within <FormField>");
5579
+ }
5580
+ const { id } = itemContext;
5581
+ return __spreadValues({
5582
+ id,
5583
+ name: fieldContext.name,
5584
+ formItemId: `${id}-form-item`,
5585
+ formDescriptionId: `${id}-form-item-description`,
5586
+ formMessageId: `${id}-form-item-message`
5587
+ }, fieldState);
5588
+ };
5589
+ var FormControl = React43.forwardRef((_a, ref) => {
5590
+ var props = __objRest(_a, []);
5591
+ const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
5592
+ return /* @__PURE__ */ jsx19(
5593
+ Slot3,
5594
+ __spreadValues({
5595
+ ref,
5596
+ id: formItemId,
5597
+ "aria-describedby": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,
5598
+ "aria-invalid": !!error
5599
+ }, props)
5600
+ );
5601
+ });
5602
+ FormControl.displayName = "FormControl";
5603
+ var FormDescription = React43.forwardRef((_a, ref) => {
5604
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5605
+ const { formDescriptionId } = useFormField();
5606
+ return /* @__PURE__ */ jsx19(
5595
5607
  "p",
5596
5608
  __spreadValues({
5597
5609
  ref,
@@ -5608,7 +5620,7 @@ var FormMessage = React43.forwardRef((_a, ref) => {
5608
5620
  if (!body) {
5609
5621
  return null;
5610
5622
  }
5611
- return /* @__PURE__ */ jsx17(
5623
+ return /* @__PURE__ */ jsx19(
5612
5624
  "p",
5613
5625
  __spreadProps(__spreadValues({
5614
5626
  ref,
@@ -5624,12 +5636,12 @@ FormMessage.displayName = "FormMessage";
5624
5636
  // src/components/hover-card.tsx
5625
5637
  import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
5626
5638
  import * as React44 from "react";
5627
- import { jsx as jsx18 } from "react/jsx-runtime";
5639
+ import { jsx as jsx20 } from "react/jsx-runtime";
5628
5640
  var HoverCard = HoverCardPrimitive.Root;
5629
5641
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
5630
5642
  var HoverCardContent = React44.forwardRef((_a, ref) => {
5631
5643
  var _b = _a, { className, align = "center", sideOffset = 4 } = _b, props = __objRest(_b, ["className", "align", "sideOffset"]);
5632
- return /* @__PURE__ */ jsx18(
5644
+ return /* @__PURE__ */ jsx20(
5633
5645
  HoverCardPrimitive.Content,
5634
5646
  __spreadValues({
5635
5647
  ref,
@@ -5661,7 +5673,7 @@ import {
5661
5673
  Image as Image2,
5662
5674
  Laptop,
5663
5675
  LayoutDashboardIcon,
5664
- Loader2,
5676
+ Loader2 as Loader22,
5665
5677
  LogIn,
5666
5678
  Moon,
5667
5679
  MoreVertical,
@@ -5681,7 +5693,7 @@ var IconsApp = __spreadValues({
5681
5693
  login: LogIn,
5682
5694
  close: X,
5683
5695
  profile: User2Icon,
5684
- spinner: Loader2,
5696
+ spinner: Loader22,
5685
5697
  kanban: CircuitBoardIcon,
5686
5698
  chevronLeft: ChevronLeft,
5687
5699
  chevronRight: ChevronRight,
@@ -5706,35 +5718,14 @@ var IconsApp = __spreadValues({
5706
5718
  }, icon);
5707
5719
  var Icons = IconsApp;
5708
5720
 
5709
- // src/components/input.tsx
5710
- import * as React45 from "react";
5711
- import { jsx as jsx19 } from "react/jsx-runtime";
5712
- var Input = React45.forwardRef(
5713
- (_a, ref) => {
5714
- var _b = _a, { className, type } = _b, props = __objRest(_b, ["className", "type"]);
5715
- return /* @__PURE__ */ jsx19(
5716
- "input",
5717
- __spreadValues({
5718
- type,
5719
- className: cn(
5720
- "flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",
5721
- className
5722
- ),
5723
- ref
5724
- }, props)
5725
- );
5726
- }
5727
- );
5728
- Input.displayName = "Input";
5729
-
5730
5721
  // src/components/input-otp.tsx
5731
5722
  import { DashIcon } from "@radix-ui/react-icons";
5732
5723
  import { OTPInput, OTPInputContext } from "input-otp";
5733
- import * as React46 from "react";
5734
- import { jsx as jsx20, jsxs as jsxs9 } from "react/jsx-runtime";
5735
- var InputOTP = React46.forwardRef((_a, ref) => {
5724
+ import * as React45 from "react";
5725
+ import { jsx as jsx21, jsxs as jsxs11 } from "react/jsx-runtime";
5726
+ var InputOTP = React45.forwardRef((_a, ref) => {
5736
5727
  var _b = _a, { className, containerClassName } = _b, props = __objRest(_b, ["className", "containerClassName"]);
5737
- return /* @__PURE__ */ jsx20(
5728
+ return /* @__PURE__ */ jsx21(
5738
5729
  OTPInput,
5739
5730
  __spreadValues({
5740
5731
  ref,
@@ -5747,16 +5738,16 @@ var InputOTP = React46.forwardRef((_a, ref) => {
5747
5738
  );
5748
5739
  });
5749
5740
  InputOTP.displayName = "InputOTP";
5750
- var InputOTPGroup = React46.forwardRef((_a, ref) => {
5741
+ var InputOTPGroup = React45.forwardRef((_a, ref) => {
5751
5742
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5752
- return /* @__PURE__ */ jsx20("div", __spreadValues({ ref, className: cn("flex items-center", className) }, props));
5743
+ return /* @__PURE__ */ jsx21("div", __spreadValues({ ref, className: cn("flex items-center", className) }, props));
5753
5744
  });
5754
5745
  InputOTPGroup.displayName = "InputOTPGroup";
5755
- var InputOTPSlot = React46.forwardRef((_a, ref) => {
5746
+ var InputOTPSlot = React45.forwardRef((_a, ref) => {
5756
5747
  var _b = _a, { index, className } = _b, props = __objRest(_b, ["index", "className"]);
5757
- const inputOTPContext = React46.useContext(OTPInputContext);
5748
+ const inputOTPContext = React45.useContext(OTPInputContext);
5758
5749
  const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
5759
- return /* @__PURE__ */ jsxs9(
5750
+ return /* @__PURE__ */ jsxs11(
5760
5751
  "div",
5761
5752
  __spreadProps(__spreadValues({
5762
5753
  ref,
@@ -5768,15 +5759,15 @@ var InputOTPSlot = React46.forwardRef((_a, ref) => {
5768
5759
  }, props), {
5769
5760
  children: [
5770
5761
  char,
5771
- hasFakeCaret && /* @__PURE__ */ jsx20("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx20("div", { className: "animate-caret-blink h-4 w-px bg-foreground duration-1000" }) })
5762
+ hasFakeCaret && /* @__PURE__ */ jsx21("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx21("div", { className: "animate-caret-blink h-4 w-px bg-foreground duration-1000" }) })
5772
5763
  ]
5773
5764
  })
5774
5765
  );
5775
5766
  });
5776
5767
  InputOTPSlot.displayName = "InputOTPSlot";
5777
- var InputOTPSeparator = React46.forwardRef((_a, ref) => {
5768
+ var InputOTPSeparator = React45.forwardRef((_a, ref) => {
5778
5769
  var props = __objRest(_a, []);
5779
- return /* @__PURE__ */ jsx20("div", __spreadProps(__spreadValues({ ref, role: "separator" }, props), { children: /* @__PURE__ */ jsx20(DashIcon, {}) }));
5770
+ return /* @__PURE__ */ jsx21("div", __spreadProps(__spreadValues({ ref, role: "separator" }, props), { children: /* @__PURE__ */ jsx21(DashIcon, {}) }));
5780
5771
  });
5781
5772
  InputOTPSeparator.displayName = "InputOTPSeparator";
5782
5773
 
@@ -5787,16 +5778,16 @@ import {
5787
5778
  DotFilledIcon as DotFilledIcon3
5788
5779
  } from "@radix-ui/react-icons";
5789
5780
  import * as MenubarPrimitive from "@radix-ui/react-menubar";
5790
- import * as React47 from "react";
5791
- import { jsx as jsx21, jsxs as jsxs10 } from "react/jsx-runtime";
5781
+ import * as React46 from "react";
5782
+ import { jsx as jsx22, jsxs as jsxs12 } from "react/jsx-runtime";
5792
5783
  var MenubarMenu = MenubarPrimitive.Menu;
5793
5784
  var MenubarGroup = MenubarPrimitive.Group;
5794
5785
  var MenubarPortal = MenubarPrimitive.Portal;
5795
5786
  var MenubarSub = MenubarPrimitive.Sub;
5796
5787
  var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
5797
- var Menubar = React47.forwardRef((_a, ref) => {
5788
+ var Menubar = React46.forwardRef((_a, ref) => {
5798
5789
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5799
- return /* @__PURE__ */ jsx21(
5790
+ return /* @__PURE__ */ jsx22(
5800
5791
  MenubarPrimitive.Root,
5801
5792
  __spreadValues({
5802
5793
  ref,
@@ -5808,9 +5799,9 @@ var Menubar = React47.forwardRef((_a, ref) => {
5808
5799
  );
5809
5800
  });
5810
5801
  Menubar.displayName = MenubarPrimitive.Root.displayName;
5811
- var MenubarTrigger = React47.forwardRef((_a, ref) => {
5802
+ var MenubarTrigger = React46.forwardRef((_a, ref) => {
5812
5803
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5813
- return /* @__PURE__ */ jsx21(
5804
+ return /* @__PURE__ */ jsx22(
5814
5805
  MenubarPrimitive.Trigger,
5815
5806
  __spreadValues({
5816
5807
  ref,
@@ -5822,9 +5813,9 @@ var MenubarTrigger = React47.forwardRef((_a, ref) => {
5822
5813
  );
5823
5814
  });
5824
5815
  MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
5825
- var MenubarSubTrigger = React47.forwardRef((_a, ref) => {
5816
+ var MenubarSubTrigger = React46.forwardRef((_a, ref) => {
5826
5817
  var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
5827
- return /* @__PURE__ */ jsxs10(
5818
+ return /* @__PURE__ */ jsxs12(
5828
5819
  MenubarPrimitive.SubTrigger,
5829
5820
  __spreadProps(__spreadValues({
5830
5821
  ref,
@@ -5836,15 +5827,15 @@ var MenubarSubTrigger = React47.forwardRef((_a, ref) => {
5836
5827
  }, props), {
5837
5828
  children: [
5838
5829
  children,
5839
- /* @__PURE__ */ jsx21(ChevronRightIcon4, { className: "ml-auto h-4 w-4" })
5830
+ /* @__PURE__ */ jsx22(ChevronRightIcon4, { className: "ml-auto h-4 w-4" })
5840
5831
  ]
5841
5832
  })
5842
5833
  );
5843
5834
  });
5844
5835
  MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
5845
- var MenubarSubContent = React47.forwardRef((_a, ref) => {
5836
+ var MenubarSubContent = React46.forwardRef((_a, ref) => {
5846
5837
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5847
- return /* @__PURE__ */ jsx21(
5838
+ return /* @__PURE__ */ jsx22(
5848
5839
  MenubarPrimitive.SubContent,
5849
5840
  __spreadValues({
5850
5841
  ref,
@@ -5856,10 +5847,10 @@ var MenubarSubContent = React47.forwardRef((_a, ref) => {
5856
5847
  );
5857
5848
  });
5858
5849
  MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
5859
- var MenubarContent = React47.forwardRef(
5850
+ var MenubarContent = React46.forwardRef(
5860
5851
  (_a, ref) => {
5861
5852
  var _b = _a, { className, align = "start", alignOffset = -4, sideOffset = 8 } = _b, props = __objRest(_b, ["className", "align", "alignOffset", "sideOffset"]);
5862
- return /* @__PURE__ */ jsx21(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx21(
5853
+ return /* @__PURE__ */ jsx22(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx22(
5863
5854
  MenubarPrimitive.Content,
5864
5855
  __spreadValues({
5865
5856
  ref,
@@ -5875,9 +5866,9 @@ var MenubarContent = React47.forwardRef(
5875
5866
  }
5876
5867
  );
5877
5868
  MenubarContent.displayName = MenubarPrimitive.Content.displayName;
5878
- var MenubarItem = React47.forwardRef((_a, ref) => {
5869
+ var MenubarItem = React46.forwardRef((_a, ref) => {
5879
5870
  var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
5880
- return /* @__PURE__ */ jsx21(
5871
+ return /* @__PURE__ */ jsx22(
5881
5872
  MenubarPrimitive.Item,
5882
5873
  __spreadValues({
5883
5874
  ref,
@@ -5890,9 +5881,9 @@ var MenubarItem = React47.forwardRef((_a, ref) => {
5890
5881
  );
5891
5882
  });
5892
5883
  MenubarItem.displayName = MenubarPrimitive.Item.displayName;
5893
- var MenubarCheckboxItem = React47.forwardRef((_a, ref) => {
5884
+ var MenubarCheckboxItem = React46.forwardRef((_a, ref) => {
5894
5885
  var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
5895
- return /* @__PURE__ */ jsxs10(
5886
+ return /* @__PURE__ */ jsxs12(
5896
5887
  MenubarPrimitive.CheckboxItem,
5897
5888
  __spreadProps(__spreadValues({
5898
5889
  ref,
@@ -5903,16 +5894,16 @@ var MenubarCheckboxItem = React47.forwardRef((_a, ref) => {
5903
5894
  checked
5904
5895
  }, props), {
5905
5896
  children: [
5906
- /* @__PURE__ */ jsx21("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx21(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx21(CheckIcon4, { className: "h-4 w-4" }) }) }),
5897
+ /* @__PURE__ */ jsx22("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx22(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx22(CheckIcon4, { className: "h-4 w-4" }) }) }),
5907
5898
  children
5908
5899
  ]
5909
5900
  })
5910
5901
  );
5911
5902
  });
5912
5903
  MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
5913
- var MenubarRadioItem = React47.forwardRef((_a, ref) => {
5904
+ var MenubarRadioItem = React46.forwardRef((_a, ref) => {
5914
5905
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
5915
- return /* @__PURE__ */ jsxs10(
5906
+ return /* @__PURE__ */ jsxs12(
5916
5907
  MenubarPrimitive.RadioItem,
5917
5908
  __spreadProps(__spreadValues({
5918
5909
  ref,
@@ -5922,16 +5913,16 @@ var MenubarRadioItem = React47.forwardRef((_a, ref) => {
5922
5913
  )
5923
5914
  }, props), {
5924
5915
  children: [
5925
- /* @__PURE__ */ jsx21("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx21(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx21(DotFilledIcon3, { className: "h-4 w-4 fill-current" }) }) }),
5916
+ /* @__PURE__ */ jsx22("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx22(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx22(DotFilledIcon3, { className: "h-4 w-4 fill-current" }) }) }),
5926
5917
  children
5927
5918
  ]
5928
5919
  })
5929
5920
  );
5930
5921
  });
5931
5922
  MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
5932
- var MenubarLabel = React47.forwardRef((_a, ref) => {
5923
+ var MenubarLabel = React46.forwardRef((_a, ref) => {
5933
5924
  var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
5934
- return /* @__PURE__ */ jsx21(
5925
+ return /* @__PURE__ */ jsx22(
5935
5926
  MenubarPrimitive.Label,
5936
5927
  __spreadValues({
5937
5928
  ref,
@@ -5944,9 +5935,9 @@ var MenubarLabel = React47.forwardRef((_a, ref) => {
5944
5935
  );
5945
5936
  });
5946
5937
  MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
5947
- var MenubarSeparator = React47.forwardRef((_a, ref) => {
5938
+ var MenubarSeparator = React46.forwardRef((_a, ref) => {
5948
5939
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5949
- return /* @__PURE__ */ jsx21(
5940
+ return /* @__PURE__ */ jsx22(
5950
5941
  MenubarPrimitive.Separator,
5951
5942
  __spreadValues({
5952
5943
  ref,
@@ -5961,7 +5952,7 @@ var MenubarShortcut = (_a) => {
5961
5952
  } = _b, props = __objRest(_b, [
5962
5953
  "className"
5963
5954
  ]);
5964
- return /* @__PURE__ */ jsx21(
5955
+ return /* @__PURE__ */ jsx22(
5965
5956
  "span",
5966
5957
  __spreadValues({
5967
5958
  className: cn(
@@ -5974,7 +5965,7 @@ var MenubarShortcut = (_a) => {
5974
5965
  MenubarShortcut.displayname = "MenubarShortcut";
5975
5966
 
5976
5967
  // src/components/modal.tsx
5977
- import { jsx as jsx22, jsxs as jsxs11 } from "react/jsx-runtime";
5968
+ import { jsx as jsx23, jsxs as jsxs13 } from "react/jsx-runtime";
5978
5969
  var Modal = ({
5979
5970
  title,
5980
5971
  description,
@@ -5988,12 +5979,12 @@ var Modal = ({
5988
5979
  onClose();
5989
5980
  }
5990
5981
  };
5991
- return /* @__PURE__ */ jsx22(Dialog, { open: isOpen, onOpenChange: onChange, children: /* @__PURE__ */ jsxs11(DialogContent, { className, children: [
5992
- /* @__PURE__ */ jsxs11(DialogHeader, { children: [
5993
- /* @__PURE__ */ jsx22(DialogTitle, { children: title }),
5994
- /* @__PURE__ */ jsx22(DialogDescription, { children: description })
5982
+ return /* @__PURE__ */ jsx23(Dialog, { open: isOpen, onOpenChange: onChange, children: /* @__PURE__ */ jsxs13(DialogContent, { className, children: [
5983
+ /* @__PURE__ */ jsxs13(DialogHeader, { children: [
5984
+ /* @__PURE__ */ jsx23(DialogTitle, { children: title }),
5985
+ /* @__PURE__ */ jsx23(DialogDescription, { children: description })
5995
5986
  ] }),
5996
- /* @__PURE__ */ jsx22("div", { children })
5987
+ /* @__PURE__ */ jsx23("div", { children })
5997
5988
  ] }) });
5998
5989
  };
5999
5990
 
@@ -6001,11 +5992,11 @@ var Modal = ({
6001
5992
  import { ChevronDownIcon as ChevronDownIcon2 } from "@radix-ui/react-icons";
6002
5993
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
6003
5994
  import { cva as cva5 } from "class-variance-authority";
6004
- import * as React48 from "react";
6005
- import { jsx as jsx23, jsxs as jsxs12 } from "react/jsx-runtime";
6006
- var NavigationMenu = React48.forwardRef((_a, ref) => {
5995
+ import * as React47 from "react";
5996
+ import { jsx as jsx24, jsxs as jsxs14 } from "react/jsx-runtime";
5997
+ var NavigationMenu = React47.forwardRef((_a, ref) => {
6007
5998
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
6008
- return /* @__PURE__ */ jsxs12(
5999
+ return /* @__PURE__ */ jsxs14(
6009
6000
  NavigationMenuPrimitive.Root,
6010
6001
  __spreadProps(__spreadValues({
6011
6002
  ref,
@@ -6016,15 +6007,15 @@ var NavigationMenu = React48.forwardRef((_a, ref) => {
6016
6007
  }, props), {
6017
6008
  children: [
6018
6009
  children,
6019
- /* @__PURE__ */ jsx23(NavigationMenuViewport, {})
6010
+ /* @__PURE__ */ jsx24(NavigationMenuViewport, {})
6020
6011
  ]
6021
6012
  })
6022
6013
  );
6023
6014
  });
6024
6015
  NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
6025
- var NavigationMenuList = React48.forwardRef((_a, ref) => {
6016
+ var NavigationMenuList = React47.forwardRef((_a, ref) => {
6026
6017
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6027
- return /* @__PURE__ */ jsx23(
6018
+ return /* @__PURE__ */ jsx24(
6028
6019
  NavigationMenuPrimitive.List,
6029
6020
  __spreadValues({
6030
6021
  ref,
@@ -6040,9 +6031,9 @@ var NavigationMenuItem = NavigationMenuPrimitive.Item;
6040
6031
  var navigationMenuTriggerStyle = cva5(
6041
6032
  "group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"
6042
6033
  );
6043
- var NavigationMenuTrigger = React48.forwardRef((_a, ref) => {
6034
+ var NavigationMenuTrigger = React47.forwardRef((_a, ref) => {
6044
6035
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
6045
- return /* @__PURE__ */ jsxs12(
6036
+ return /* @__PURE__ */ jsxs14(
6046
6037
  NavigationMenuPrimitive.Trigger,
6047
6038
  __spreadProps(__spreadValues({
6048
6039
  ref,
@@ -6051,7 +6042,7 @@ var NavigationMenuTrigger = React48.forwardRef((_a, ref) => {
6051
6042
  children: [
6052
6043
  children,
6053
6044
  " ",
6054
- /* @__PURE__ */ jsx23(
6045
+ /* @__PURE__ */ jsx24(
6055
6046
  ChevronDownIcon2,
6056
6047
  {
6057
6048
  className: "relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180",
@@ -6063,9 +6054,9 @@ var NavigationMenuTrigger = React48.forwardRef((_a, ref) => {
6063
6054
  );
6064
6055
  });
6065
6056
  NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
6066
- var NavigationMenuContent = React48.forwardRef((_a, ref) => {
6057
+ var NavigationMenuContent = React47.forwardRef((_a, ref) => {
6067
6058
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6068
- return /* @__PURE__ */ jsx23(
6059
+ return /* @__PURE__ */ jsx24(
6069
6060
  NavigationMenuPrimitive.Content,
6070
6061
  __spreadValues({
6071
6062
  ref,
@@ -6078,9 +6069,9 @@ var NavigationMenuContent = React48.forwardRef((_a, ref) => {
6078
6069
  });
6079
6070
  NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
6080
6071
  var NavigationMenuLink = NavigationMenuPrimitive.Link;
6081
- var NavigationMenuViewport = React48.forwardRef((_a, ref) => {
6072
+ var NavigationMenuViewport = React47.forwardRef((_a, ref) => {
6082
6073
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6083
- return /* @__PURE__ */ jsx23("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx23(
6074
+ return /* @__PURE__ */ jsx24("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx24(
6084
6075
  NavigationMenuPrimitive.Viewport,
6085
6076
  __spreadValues({
6086
6077
  className: cn(
@@ -6092,9 +6083,9 @@ var NavigationMenuViewport = React48.forwardRef((_a, ref) => {
6092
6083
  ) });
6093
6084
  });
6094
6085
  NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
6095
- var NavigationMenuIndicator = React48.forwardRef((_a, ref) => {
6086
+ var NavigationMenuIndicator = React47.forwardRef((_a, ref) => {
6096
6087
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6097
- return /* @__PURE__ */ jsx23(
6088
+ return /* @__PURE__ */ jsx24(
6098
6089
  NavigationMenuPrimitive.Indicator,
6099
6090
  __spreadProps(__spreadValues({
6100
6091
  ref,
@@ -6103,7 +6094,7 @@ var NavigationMenuIndicator = React48.forwardRef((_a, ref) => {
6103
6094
  className
6104
6095
  )
6105
6096
  }, props), {
6106
- children: /* @__PURE__ */ jsx23("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
6097
+ children: /* @__PURE__ */ jsx24("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
6107
6098
  })
6108
6099
  );
6109
6100
  });
@@ -6115,12 +6106,12 @@ import {
6115
6106
  ChevronRightIcon as ChevronRightIcon5,
6116
6107
  DotsHorizontalIcon as DotsHorizontalIcon2
6117
6108
  } from "@radix-ui/react-icons";
6118
- import * as React49 from "react";
6109
+ import * as React48 from "react";
6119
6110
  import { ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight2 } from "lucide-react";
6120
- import { jsx as jsx24, jsxs as jsxs13 } from "react/jsx-runtime";
6111
+ import { jsx as jsx25, jsxs as jsxs15 } from "react/jsx-runtime";
6121
6112
  var Pagination = (_a) => {
6122
6113
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6123
- return /* @__PURE__ */ jsx24(
6114
+ return /* @__PURE__ */ jsx25(
6124
6115
  "nav",
6125
6116
  __spreadValues({
6126
6117
  role: "navigation",
@@ -6130,9 +6121,9 @@ var Pagination = (_a) => {
6130
6121
  );
6131
6122
  };
6132
6123
  Pagination.displayName = "Pagination";
6133
- var PaginationContent = React49.forwardRef((_a, ref) => {
6124
+ var PaginationContent = React48.forwardRef((_a, ref) => {
6134
6125
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6135
- return /* @__PURE__ */ jsx24(
6126
+ return /* @__PURE__ */ jsx25(
6136
6127
  "ul",
6137
6128
  __spreadValues({
6138
6129
  ref,
@@ -6141,9 +6132,9 @@ var PaginationContent = React49.forwardRef((_a, ref) => {
6141
6132
  );
6142
6133
  });
6143
6134
  PaginationContent.displayName = "PaginationContent";
6144
- var PaginationItem = React49.forwardRef((_a, ref) => {
6135
+ var PaginationItem = React48.forwardRef((_a, ref) => {
6145
6136
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6146
- return /* @__PURE__ */ jsx24("li", __spreadValues({ ref, className: cn("", className) }, props));
6137
+ return /* @__PURE__ */ jsx25("li", __spreadValues({ ref, className: cn("", className) }, props));
6147
6138
  });
6148
6139
  PaginationItem.displayName = "PaginationItem";
6149
6140
  var PaginationLink = (_a) => {
@@ -6156,7 +6147,7 @@ var PaginationLink = (_a) => {
6156
6147
  "isActive",
6157
6148
  "size"
6158
6149
  ]);
6159
- return /* @__PURE__ */ jsx24(
6150
+ return /* @__PURE__ */ jsx25(
6160
6151
  "a",
6161
6152
  __spreadValues({
6162
6153
  "aria-current": isActive ? "page" : void 0,
@@ -6177,7 +6168,7 @@ var PaginationPreviousLast = (_a) => {
6177
6168
  } = _b, props = __objRest(_b, [
6178
6169
  "className"
6179
6170
  ]);
6180
- return /* @__PURE__ */ jsxs13(
6171
+ return /* @__PURE__ */ jsxs15(
6181
6172
  PaginationLink,
6182
6173
  __spreadProps(__spreadValues({
6183
6174
  "aria-label": "Go to previous page",
@@ -6185,8 +6176,8 @@ var PaginationPreviousLast = (_a) => {
6185
6176
  className: cn("gap-1 pl-2.5", className)
6186
6177
  }, props), {
6187
6178
  children: [
6188
- /* @__PURE__ */ jsx24(ChevronLeft2, { className: "h-4 w-4" }),
6189
- /* @__PURE__ */ jsx24("span", { className: "sr-only", children: "Previous Last" })
6179
+ /* @__PURE__ */ jsx25(ChevronLeft2, { className: "h-4 w-4" }),
6180
+ /* @__PURE__ */ jsx25("span", { className: "sr-only", children: "Previous Last" })
6190
6181
  ]
6191
6182
  })
6192
6183
  );
@@ -6198,7 +6189,7 @@ var PaginationPrevious = (_a) => {
6198
6189
  } = _b, props = __objRest(_b, [
6199
6190
  "className"
6200
6191
  ]);
6201
- return /* @__PURE__ */ jsxs13(
6192
+ return /* @__PURE__ */ jsxs15(
6202
6193
  PaginationLink,
6203
6194
  __spreadProps(__spreadValues({
6204
6195
  "aria-label": "Go to previous page",
@@ -6206,8 +6197,8 @@ var PaginationPrevious = (_a) => {
6206
6197
  className: cn("gap-1 pl-2.5", className)
6207
6198
  }, props), {
6208
6199
  children: [
6209
- /* @__PURE__ */ jsx24(ChevronLeftIcon, { className: "h-4 w-4" }),
6210
- /* @__PURE__ */ jsx24("span", { children: "Previous" })
6200
+ /* @__PURE__ */ jsx25(ChevronLeftIcon, { className: "h-4 w-4" }),
6201
+ /* @__PURE__ */ jsx25("span", { children: "Previous" })
6211
6202
  ]
6212
6203
  })
6213
6204
  );
@@ -6219,7 +6210,7 @@ var PaginationNext = (_a) => {
6219
6210
  } = _b, props = __objRest(_b, [
6220
6211
  "className"
6221
6212
  ]);
6222
- return /* @__PURE__ */ jsxs13(
6213
+ return /* @__PURE__ */ jsxs15(
6223
6214
  PaginationLink,
6224
6215
  __spreadProps(__spreadValues({
6225
6216
  "aria-label": "Go to next page",
@@ -6227,8 +6218,8 @@ var PaginationNext = (_a) => {
6227
6218
  className: cn("gap-1 pr-2.5", className)
6228
6219
  }, props), {
6229
6220
  children: [
6230
- /* @__PURE__ */ jsx24("span", { children: "Next" }),
6231
- /* @__PURE__ */ jsx24(ChevronRightIcon5, { className: "h-4 w-4" })
6221
+ /* @__PURE__ */ jsx25("span", { children: "Next" }),
6222
+ /* @__PURE__ */ jsx25(ChevronRightIcon5, { className: "h-4 w-4" })
6232
6223
  ]
6233
6224
  })
6234
6225
  );
@@ -6240,7 +6231,7 @@ var PaginationNextLast = (_a) => {
6240
6231
  } = _b, props = __objRest(_b, [
6241
6232
  "className"
6242
6233
  ]);
6243
- return /* @__PURE__ */ jsxs13(
6234
+ return /* @__PURE__ */ jsxs15(
6244
6235
  PaginationLink,
6245
6236
  __spreadProps(__spreadValues({
6246
6237
  "aria-label": "Go to next page",
@@ -6248,8 +6239,8 @@ var PaginationNextLast = (_a) => {
6248
6239
  className: cn("gap-1 pr-2.5", className)
6249
6240
  }, props), {
6250
6241
  children: [
6251
- /* @__PURE__ */ jsx24("span", { className: "sr-only", children: "Next Last" }),
6252
- /* @__PURE__ */ jsx24(ChevronRight2, { className: "h-4 w-4" })
6242
+ /* @__PURE__ */ jsx25("span", { className: "sr-only", children: "Next Last" }),
6243
+ /* @__PURE__ */ jsx25(ChevronRight2, { className: "h-4 w-4" })
6253
6244
  ]
6254
6245
  })
6255
6246
  );
@@ -6261,15 +6252,15 @@ var PaginationEllipsis = (_a) => {
6261
6252
  } = _b, props = __objRest(_b, [
6262
6253
  "className"
6263
6254
  ]);
6264
- return /* @__PURE__ */ jsxs13(
6255
+ return /* @__PURE__ */ jsxs15(
6265
6256
  "span",
6266
6257
  __spreadProps(__spreadValues({
6267
6258
  "aria-hidden": true,
6268
6259
  className: cn("flex h-9 w-9 items-center justify-center", className)
6269
6260
  }, props), {
6270
6261
  children: [
6271
- /* @__PURE__ */ jsx24(DotsHorizontalIcon2, { className: "h-4 w-4" }),
6272
- /* @__PURE__ */ jsx24("span", { className: "sr-only", children: "More pages" })
6262
+ /* @__PURE__ */ jsx25(DotsHorizontalIcon2, { className: "h-4 w-4" }),
6263
+ /* @__PURE__ */ jsx25("span", { className: "sr-only", children: "More pages" })
6273
6264
  ]
6274
6265
  })
6275
6266
  );
@@ -6278,14 +6269,14 @@ PaginationEllipsis.displayName = "PaginationEllipsis";
6278
6269
 
6279
6270
  // src/components/popover.tsx
6280
6271
  import * as PopoverPrimitive from "@radix-ui/react-popover";
6281
- import * as React50 from "react";
6282
- import { jsx as jsx25 } from "react/jsx-runtime";
6272
+ import * as React49 from "react";
6273
+ import { jsx as jsx26 } from "react/jsx-runtime";
6283
6274
  var Popover = PopoverPrimitive.Root;
6284
6275
  var PopoverTrigger = PopoverPrimitive.Trigger;
6285
6276
  var PopoverAnchor = PopoverPrimitive.Anchor;
6286
- var PopoverContent = React50.forwardRef((_a, ref) => {
6277
+ var PopoverContent = React49.forwardRef((_a, ref) => {
6287
6278
  var _b = _a, { className, align = "center", sideOffset = 4 } = _b, props = __objRest(_b, ["className", "align", "sideOffset"]);
6288
- return /* @__PURE__ */ jsx25(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx25(
6279
+ return /* @__PURE__ */ jsx26(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx26(
6289
6280
  PopoverPrimitive.Content,
6290
6281
  __spreadValues({
6291
6282
  ref,
@@ -6302,11 +6293,11 @@ PopoverContent.displayName = PopoverPrimitive.Content.displayName;
6302
6293
 
6303
6294
  // src/components/progress.tsx
6304
6295
  import * as ProgressPrimitive from "@radix-ui/react-progress";
6305
- import * as React51 from "react";
6306
- import { jsx as jsx26 } from "react/jsx-runtime";
6307
- var Progress = React51.forwardRef((_a, ref) => {
6296
+ import * as React50 from "react";
6297
+ import { jsx as jsx27 } from "react/jsx-runtime";
6298
+ var Progress = React50.forwardRef((_a, ref) => {
6308
6299
  var _b = _a, { className, value } = _b, props = __objRest(_b, ["className", "value"]);
6309
- return /* @__PURE__ */ jsx26(
6300
+ return /* @__PURE__ */ jsx27(
6310
6301
  ProgressPrimitive.Root,
6311
6302
  __spreadProps(__spreadValues({
6312
6303
  ref,
@@ -6315,7 +6306,7 @@ var Progress = React51.forwardRef((_a, ref) => {
6315
6306
  className
6316
6307
  )
6317
6308
  }, props), {
6318
- children: /* @__PURE__ */ jsx26(
6309
+ children: /* @__PURE__ */ jsx27(
6319
6310
  ProgressPrimitive.Indicator,
6320
6311
  {
6321
6312
  className: "h-full w-full flex-1 bg-primary transition-all",
@@ -6330,11 +6321,11 @@ Progress.displayName = ProgressPrimitive.Root.displayName;
6330
6321
  // src/components/radio-group.tsx
6331
6322
  import { CheckIcon as CheckIcon5 } from "@radix-ui/react-icons";
6332
6323
  import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
6333
- import * as React52 from "react";
6334
- import { jsx as jsx27 } from "react/jsx-runtime";
6335
- var RadioGroup4 = React52.forwardRef((_a, ref) => {
6324
+ import * as React51 from "react";
6325
+ import { jsx as jsx28 } from "react/jsx-runtime";
6326
+ var RadioGroup4 = React51.forwardRef((_a, ref) => {
6336
6327
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6337
- return /* @__PURE__ */ jsx27(
6328
+ return /* @__PURE__ */ jsx28(
6338
6329
  RadioGroupPrimitive.Root,
6339
6330
  __spreadProps(__spreadValues({
6340
6331
  className: cn("grid gap-2", className)
@@ -6344,9 +6335,9 @@ var RadioGroup4 = React52.forwardRef((_a, ref) => {
6344
6335
  );
6345
6336
  });
6346
6337
  RadioGroup4.displayName = RadioGroupPrimitive.Root.displayName;
6347
- var RadioGroupItem = React52.forwardRef((_a, ref) => {
6338
+ var RadioGroupItem = React51.forwardRef((_a, ref) => {
6348
6339
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6349
- return /* @__PURE__ */ jsx27(
6340
+ return /* @__PURE__ */ jsx28(
6350
6341
  RadioGroupPrimitive.Item,
6351
6342
  __spreadProps(__spreadValues({
6352
6343
  ref,
@@ -6355,7 +6346,7 @@ var RadioGroupItem = React52.forwardRef((_a, ref) => {
6355
6346
  className
6356
6347
  )
6357
6348
  }, props), {
6358
- children: /* @__PURE__ */ jsx27(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx27(CheckIcon5, { className: "h-3.5 w-3.5 fill-primary" }) })
6349
+ children: /* @__PURE__ */ jsx28(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx28(CheckIcon5, { className: "h-3.5 w-3.5 fill-primary" }) })
6359
6350
  })
6360
6351
  );
6361
6352
  });
@@ -6364,14 +6355,14 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
6364
6355
  // src/components/resizable.tsx
6365
6356
  import { DragHandleDots2Icon } from "@radix-ui/react-icons";
6366
6357
  import * as ResizablePrimitive from "react-resizable-panels";
6367
- import { jsx as jsx28 } from "react/jsx-runtime";
6358
+ import { jsx as jsx29 } from "react/jsx-runtime";
6368
6359
  var ResizablePanelGroup = (_a) => {
6369
6360
  var _b = _a, {
6370
6361
  className
6371
6362
  } = _b, props = __objRest(_b, [
6372
6363
  "className"
6373
6364
  ]);
6374
- return /* @__PURE__ */ jsx28(
6365
+ return /* @__PURE__ */ jsx29(
6375
6366
  ResizablePrimitive.PanelGroup,
6376
6367
  __spreadValues({
6377
6368
  className: cn(
@@ -6390,7 +6381,7 @@ var ResizableHandle = (_a) => {
6390
6381
  "withHandle",
6391
6382
  "className"
6392
6383
  ]);
6393
- return /* @__PURE__ */ jsx28(
6384
+ return /* @__PURE__ */ jsx29(
6394
6385
  ResizablePrimitive.PanelResizeHandle,
6395
6386
  __spreadProps(__spreadValues({
6396
6387
  className: cn(
@@ -6398,35 +6389,35 @@ var ResizableHandle = (_a) => {
6398
6389
  className
6399
6390
  )
6400
6391
  }, props), {
6401
- children: withHandle && /* @__PURE__ */ jsx28("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsx28(DragHandleDots2Icon, { className: "h-2.5 w-2.5" }) })
6392
+ children: withHandle && /* @__PURE__ */ jsx29("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsx29(DragHandleDots2Icon, { className: "h-2.5 w-2.5" }) })
6402
6393
  })
6403
6394
  );
6404
6395
  };
6405
6396
 
6406
6397
  // src/components/scroll-area.tsx
6407
6398
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
6408
- import * as React53 from "react";
6409
- import { jsx as jsx29, jsxs as jsxs14 } from "react/jsx-runtime";
6410
- var ScrollArea = React53.forwardRef((_a, ref) => {
6399
+ import * as React52 from "react";
6400
+ import { jsx as jsx30, jsxs as jsxs16 } from "react/jsx-runtime";
6401
+ var ScrollArea = React52.forwardRef((_a, ref) => {
6411
6402
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
6412
- return /* @__PURE__ */ jsxs14(
6403
+ return /* @__PURE__ */ jsxs16(
6413
6404
  ScrollAreaPrimitive.Root,
6414
6405
  __spreadProps(__spreadValues({
6415
6406
  ref,
6416
6407
  className: cn("relative overflow-hidden", className)
6417
6408
  }, props), {
6418
6409
  children: [
6419
- /* @__PURE__ */ jsx29(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
6420
- /* @__PURE__ */ jsx29(ScrollBar, {}),
6421
- /* @__PURE__ */ jsx29(ScrollAreaPrimitive.Corner, {})
6410
+ /* @__PURE__ */ jsx30(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
6411
+ /* @__PURE__ */ jsx30(ScrollBar, {}),
6412
+ /* @__PURE__ */ jsx30(ScrollAreaPrimitive.Corner, {})
6422
6413
  ]
6423
6414
  })
6424
6415
  );
6425
6416
  });
6426
6417
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
6427
- var ScrollBar = React53.forwardRef((_a, ref) => {
6418
+ var ScrollBar = React52.forwardRef((_a, ref) => {
6428
6419
  var _b = _a, { className, orientation = "vertical" } = _b, props = __objRest(_b, ["className", "orientation"]);
6429
- return /* @__PURE__ */ jsx29(
6420
+ return /* @__PURE__ */ jsx30(
6430
6421
  ScrollAreaPrimitive.ScrollAreaScrollbar,
6431
6422
  __spreadProps(__spreadValues({
6432
6423
  ref,
@@ -6438,12 +6429,48 @@ var ScrollBar = React53.forwardRef((_a, ref) => {
6438
6429
  className
6439
6430
  )
6440
6431
  }, props), {
6441
- children: /* @__PURE__ */ jsx29(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
6432
+ children: /* @__PURE__ */ jsx30(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
6442
6433
  })
6443
6434
  );
6444
6435
  });
6445
6436
  ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
6446
6437
 
6438
+ // src/components/search-input.tsx
6439
+ import React53, { useCallback as useCallback4 } from "react";
6440
+ import { useDebounce } from "use-debounce";
6441
+ import { jsx as jsx31 } from "react/jsx-runtime";
6442
+ function SearchInput({
6443
+ value,
6444
+ placeholder,
6445
+ className,
6446
+ debounceTime = 750,
6447
+ onSearch
6448
+ }) {
6449
+ const [searchTerm, setSearchTerm] = React53.useState(value);
6450
+ const [debouncedValue] = useDebounce(searchTerm, debounceTime);
6451
+ const handleSettingSearchParams = useCallback4((newSearchValue) => {
6452
+ if (newSearchValue === "" || newSearchValue === void 0 || !newSearchValue) {
6453
+ onSearch(newSearchValue);
6454
+ return;
6455
+ }
6456
+ }, []);
6457
+ React53.useEffect(() => {
6458
+ handleSettingSearchParams(debouncedValue);
6459
+ }, [debouncedValue, handleSettingSearchParams]);
6460
+ React53.useEffect(() => {
6461
+ setSearchTerm(value);
6462
+ }, [value]);
6463
+ return /* @__PURE__ */ jsx31(
6464
+ Input,
6465
+ {
6466
+ placeholder: placeholder || `Search...`,
6467
+ value: searchTerm,
6468
+ onChange: (event) => setSearchTerm(event.target.value),
6469
+ className: cn("w-full md:max-w-sm", className)
6470
+ }
6471
+ );
6472
+ }
6473
+
6447
6474
  // src/components/select.tsx
6448
6475
  import {
6449
6476
  CaretSortIcon,
@@ -6453,13 +6480,13 @@ import {
6453
6480
  } from "@radix-ui/react-icons";
6454
6481
  import * as SelectPrimitive from "@radix-ui/react-select";
6455
6482
  import * as React54 from "react";
6456
- import { jsx as jsx30, jsxs as jsxs15 } from "react/jsx-runtime";
6483
+ import { jsx as jsx32, jsxs as jsxs17 } from "react/jsx-runtime";
6457
6484
  var Select2 = SelectPrimitive.Root;
6458
6485
  var SelectGroup = SelectPrimitive.Group;
6459
6486
  var SelectValue = SelectPrimitive.Value;
6460
6487
  var SelectTrigger = React54.forwardRef((_a, ref) => {
6461
6488
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
6462
- return /* @__PURE__ */ jsxs15(
6489
+ return /* @__PURE__ */ jsxs17(
6463
6490
  SelectPrimitive.Trigger,
6464
6491
  __spreadProps(__spreadValues({
6465
6492
  ref,
@@ -6470,7 +6497,7 @@ var SelectTrigger = React54.forwardRef((_a, ref) => {
6470
6497
  }, props), {
6471
6498
  children: [
6472
6499
  children,
6473
- /* @__PURE__ */ jsx30(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx30(CaretSortIcon, { className: "h-4 w-4 opacity-50" }) })
6500
+ /* @__PURE__ */ jsx32(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx32(CaretSortIcon, { className: "h-4 w-4 opacity-50" }) })
6474
6501
  ]
6475
6502
  })
6476
6503
  );
@@ -6478,7 +6505,7 @@ var SelectTrigger = React54.forwardRef((_a, ref) => {
6478
6505
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
6479
6506
  var SelectScrollUpButton = React54.forwardRef((_a, ref) => {
6480
6507
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6481
- return /* @__PURE__ */ jsx30(
6508
+ return /* @__PURE__ */ jsx32(
6482
6509
  SelectPrimitive.ScrollUpButton,
6483
6510
  __spreadProps(__spreadValues({
6484
6511
  ref,
@@ -6487,14 +6514,14 @@ var SelectScrollUpButton = React54.forwardRef((_a, ref) => {
6487
6514
  className
6488
6515
  )
6489
6516
  }, props), {
6490
- children: /* @__PURE__ */ jsx30(ChevronUpIcon, {})
6517
+ children: /* @__PURE__ */ jsx32(ChevronUpIcon, {})
6491
6518
  })
6492
6519
  );
6493
6520
  });
6494
6521
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
6495
6522
  var SelectScrollDownButton = React54.forwardRef((_a, ref) => {
6496
6523
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6497
- return /* @__PURE__ */ jsx30(
6524
+ return /* @__PURE__ */ jsx32(
6498
6525
  SelectPrimitive.ScrollDownButton,
6499
6526
  __spreadProps(__spreadValues({
6500
6527
  ref,
@@ -6503,14 +6530,14 @@ var SelectScrollDownButton = React54.forwardRef((_a, ref) => {
6503
6530
  className
6504
6531
  )
6505
6532
  }, props), {
6506
- children: /* @__PURE__ */ jsx30(ChevronDownIcon3, {})
6533
+ children: /* @__PURE__ */ jsx32(ChevronDownIcon3, {})
6507
6534
  })
6508
6535
  );
6509
6536
  });
6510
6537
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
6511
6538
  var SelectContent = React54.forwardRef((_a, ref) => {
6512
6539
  var _b = _a, { className, children, position = "popper" } = _b, props = __objRest(_b, ["className", "children", "position"]);
6513
- return /* @__PURE__ */ jsx30(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs15(
6540
+ return /* @__PURE__ */ jsx32(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs17(
6514
6541
  SelectPrimitive.Content,
6515
6542
  __spreadProps(__spreadValues({
6516
6543
  ref,
@@ -6522,8 +6549,8 @@ var SelectContent = React54.forwardRef((_a, ref) => {
6522
6549
  position
6523
6550
  }, props), {
6524
6551
  children: [
6525
- /* @__PURE__ */ jsx30(SelectScrollUpButton, {}),
6526
- /* @__PURE__ */ jsx30(
6552
+ /* @__PURE__ */ jsx32(SelectScrollUpButton, {}),
6553
+ /* @__PURE__ */ jsx32(
6527
6554
  SelectPrimitive.Viewport,
6528
6555
  {
6529
6556
  className: cn(
@@ -6533,7 +6560,7 @@ var SelectContent = React54.forwardRef((_a, ref) => {
6533
6560
  children
6534
6561
  }
6535
6562
  ),
6536
- /* @__PURE__ */ jsx30(SelectScrollDownButton, {})
6563
+ /* @__PURE__ */ jsx32(SelectScrollDownButton, {})
6537
6564
  ]
6538
6565
  })
6539
6566
  ) });
@@ -6541,7 +6568,7 @@ var SelectContent = React54.forwardRef((_a, ref) => {
6541
6568
  SelectContent.displayName = SelectPrimitive.Content.displayName;
6542
6569
  var SelectLabel = React54.forwardRef((_a, ref) => {
6543
6570
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6544
- return /* @__PURE__ */ jsx30(
6571
+ return /* @__PURE__ */ jsx32(
6545
6572
  SelectPrimitive.Label,
6546
6573
  __spreadValues({
6547
6574
  ref,
@@ -6552,7 +6579,7 @@ var SelectLabel = React54.forwardRef((_a, ref) => {
6552
6579
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
6553
6580
  var SelectItem = React54.forwardRef((_a, ref) => {
6554
6581
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
6555
- return /* @__PURE__ */ jsxs15(
6582
+ return /* @__PURE__ */ jsxs17(
6556
6583
  SelectPrimitive.Item,
6557
6584
  __spreadProps(__spreadValues({
6558
6585
  ref,
@@ -6562,8 +6589,8 @@ var SelectItem = React54.forwardRef((_a, ref) => {
6562
6589
  )
6563
6590
  }, props), {
6564
6591
  children: [
6565
- /* @__PURE__ */ jsx30("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx30(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx30(CheckIcon6, { className: "h-4 w-4" }) }) }),
6566
- /* @__PURE__ */ jsx30(SelectPrimitive.ItemText, { children })
6592
+ /* @__PURE__ */ jsx32("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx32(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx32(CheckIcon6, { className: "h-4 w-4" }) }) }),
6593
+ /* @__PURE__ */ jsx32(SelectPrimitive.ItemText, { children })
6567
6594
  ]
6568
6595
  })
6569
6596
  );
@@ -6571,7 +6598,7 @@ var SelectItem = React54.forwardRef((_a, ref) => {
6571
6598
  SelectItem.displayName = SelectPrimitive.Item.displayName;
6572
6599
  var SelectSeparator = React54.forwardRef((_a, ref) => {
6573
6600
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6574
- return /* @__PURE__ */ jsx30(
6601
+ return /* @__PURE__ */ jsx32(
6575
6602
  SelectPrimitive.Separator,
6576
6603
  __spreadValues({
6577
6604
  ref,
@@ -6584,11 +6611,11 @@ SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
6584
6611
  // src/components/separator.tsx
6585
6612
  import * as SeparatorPrimitive from "@radix-ui/react-separator";
6586
6613
  import * as React55 from "react";
6587
- import { jsx as jsx31 } from "react/jsx-runtime";
6614
+ import { jsx as jsx33 } from "react/jsx-runtime";
6588
6615
  var Separator5 = React55.forwardRef(
6589
6616
  (_a, ref) => {
6590
6617
  var _b = _a, { className, orientation = "horizontal", decorative = true } = _b, props = __objRest(_b, ["className", "orientation", "decorative"]);
6591
- return /* @__PURE__ */ jsx31(
6618
+ return /* @__PURE__ */ jsx33(
6592
6619
  SeparatorPrimitive.Root,
6593
6620
  __spreadValues({
6594
6621
  ref,
@@ -6610,14 +6637,14 @@ import * as SheetPrimitive from "@radix-ui/react-dialog";
6610
6637
  import { Cross2Icon as Cross2Icon2 } from "@radix-ui/react-icons";
6611
6638
  import { cva as cva6 } from "class-variance-authority";
6612
6639
  import * as React56 from "react";
6613
- import { jsx as jsx32, jsxs as jsxs16 } from "react/jsx-runtime";
6640
+ import { jsx as jsx34, jsxs as jsxs18 } from "react/jsx-runtime";
6614
6641
  var Sheet = SheetPrimitive.Root;
6615
6642
  var SheetTrigger = SheetPrimitive.Trigger;
6616
6643
  var SheetClose = SheetPrimitive.Close;
6617
6644
  var SheetPortal = SheetPrimitive.Portal;
6618
6645
  var SheetOverlay = React56.forwardRef((_a, ref) => {
6619
6646
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6620
- return /* @__PURE__ */ jsx32(
6647
+ return /* @__PURE__ */ jsx34(
6621
6648
  SheetPrimitive.Overlay,
6622
6649
  __spreadProps(__spreadValues({
6623
6650
  className: cn(
@@ -6648,9 +6675,9 @@ var sheetVariants = cva6(
6648
6675
  );
6649
6676
  var SheetContent = React56.forwardRef((_a, ref) => {
6650
6677
  var _b = _a, { side = "right", className, children } = _b, props = __objRest(_b, ["side", "className", "children"]);
6651
- return /* @__PURE__ */ jsxs16(SheetPortal, { children: [
6652
- /* @__PURE__ */ jsx32(SheetOverlay, {}),
6653
- /* @__PURE__ */ jsxs16(
6678
+ return /* @__PURE__ */ jsxs18(SheetPortal, { children: [
6679
+ /* @__PURE__ */ jsx34(SheetOverlay, {}),
6680
+ /* @__PURE__ */ jsxs18(
6654
6681
  SheetPrimitive.Content,
6655
6682
  __spreadProps(__spreadValues({
6656
6683
  ref,
@@ -6658,9 +6685,9 @@ var SheetContent = React56.forwardRef((_a, ref) => {
6658
6685
  }, props), {
6659
6686
  children: [
6660
6687
  children,
6661
- /* @__PURE__ */ jsxs16(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
6662
- /* @__PURE__ */ jsx32(Cross2Icon2, { className: "h-4 w-4" }),
6663
- /* @__PURE__ */ jsx32("span", { className: "sr-only", children: "Close" })
6688
+ /* @__PURE__ */ jsxs18(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [
6689
+ /* @__PURE__ */ jsx34(Cross2Icon2, { className: "h-4 w-4" }),
6690
+ /* @__PURE__ */ jsx34("span", { className: "sr-only", children: "Close" })
6664
6691
  ] })
6665
6692
  ]
6666
6693
  })
@@ -6674,7 +6701,7 @@ var SheetHeader = (_a) => {
6674
6701
  } = _b, props = __objRest(_b, [
6675
6702
  "className"
6676
6703
  ]);
6677
- return /* @__PURE__ */ jsx32(
6704
+ return /* @__PURE__ */ jsx34(
6678
6705
  "div",
6679
6706
  __spreadValues({
6680
6707
  className: cn(
@@ -6691,7 +6718,7 @@ var SheetFooter = (_a) => {
6691
6718
  } = _b, props = __objRest(_b, [
6692
6719
  "className"
6693
6720
  ]);
6694
- return /* @__PURE__ */ jsx32(
6721
+ return /* @__PURE__ */ jsx34(
6695
6722
  "div",
6696
6723
  __spreadValues({
6697
6724
  className: cn(
@@ -6704,7 +6731,7 @@ var SheetFooter = (_a) => {
6704
6731
  SheetFooter.displayName = "SheetFooter";
6705
6732
  var SheetTitle = React56.forwardRef((_a, ref) => {
6706
6733
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6707
- return /* @__PURE__ */ jsx32(
6734
+ return /* @__PURE__ */ jsx34(
6708
6735
  SheetPrimitive.Title,
6709
6736
  __spreadValues({
6710
6737
  ref,
@@ -6715,7 +6742,7 @@ var SheetTitle = React56.forwardRef((_a, ref) => {
6715
6742
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
6716
6743
  var SheetDescription = React56.forwardRef((_a, ref) => {
6717
6744
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6718
- return /* @__PURE__ */ jsx32(
6745
+ return /* @__PURE__ */ jsx34(
6719
6746
  SheetPrimitive.Description,
6720
6747
  __spreadValues({
6721
6748
  ref,
@@ -6726,14 +6753,14 @@ var SheetDescription = React56.forwardRef((_a, ref) => {
6726
6753
  SheetDescription.displayName = SheetPrimitive.Description.displayName;
6727
6754
 
6728
6755
  // src/components/skeleton.tsx
6729
- import { jsx as jsx33 } from "react/jsx-runtime";
6756
+ import { jsx as jsx35 } from "react/jsx-runtime";
6730
6757
  function Skeleton(_a) {
6731
6758
  var _b = _a, {
6732
6759
  className
6733
6760
  } = _b, props = __objRest(_b, [
6734
6761
  "className"
6735
6762
  ]);
6736
- return /* @__PURE__ */ jsx33(
6763
+ return /* @__PURE__ */ jsx35(
6737
6764
  "div",
6738
6765
  __spreadValues({
6739
6766
  className: cn("animate-pulse rounded-md bg-primary/10", className)
@@ -6744,10 +6771,10 @@ function Skeleton(_a) {
6744
6771
  // src/components/slider.tsx
6745
6772
  import * as SliderPrimitive from "@radix-ui/react-slider";
6746
6773
  import * as React57 from "react";
6747
- import { jsx as jsx34, jsxs as jsxs17 } from "react/jsx-runtime";
6774
+ import { jsx as jsx36, jsxs as jsxs19 } from "react/jsx-runtime";
6748
6775
  var Slider = React57.forwardRef((_a, ref) => {
6749
6776
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6750
- return /* @__PURE__ */ jsxs17(
6777
+ return /* @__PURE__ */ jsxs19(
6751
6778
  SliderPrimitive.Root,
6752
6779
  __spreadProps(__spreadValues({
6753
6780
  ref,
@@ -6757,8 +6784,8 @@ var Slider = React57.forwardRef((_a, ref) => {
6757
6784
  )
6758
6785
  }, props), {
6759
6786
  children: [
6760
- /* @__PURE__ */ jsx34(SliderPrimitive.Track, { className: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20", children: /* @__PURE__ */ jsx34(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
6761
- /* @__PURE__ */ jsx34(SliderPrimitive.Thumb, { className: "block h-4 w-4 rounded-full border border-primary/50 bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50" })
6787
+ /* @__PURE__ */ jsx36(SliderPrimitive.Track, { className: "relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20", children: /* @__PURE__ */ jsx36(SliderPrimitive.Range, { className: "absolute h-full bg-primary" }) }),
6788
+ /* @__PURE__ */ jsx36(SliderPrimitive.Thumb, { className: "block h-4 w-4 rounded-full border border-primary/50 bg-background shadow transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50" })
6762
6789
  ]
6763
6790
  })
6764
6791
  );
@@ -6768,11 +6795,11 @@ Slider.displayName = SliderPrimitive.Root.displayName;
6768
6795
  // src/components/sonner.tsx
6769
6796
  import { useTheme } from "next-themes";
6770
6797
  import { Toaster as Sonner } from "sonner";
6771
- import { jsx as jsx35 } from "react/jsx-runtime";
6798
+ import { jsx as jsx37 } from "react/jsx-runtime";
6772
6799
  var Toaster = (_a) => {
6773
6800
  var props = __objRest(_a, []);
6774
6801
  const { theme = "system" } = useTheme();
6775
- return /* @__PURE__ */ jsx35(
6802
+ return /* @__PURE__ */ jsx37(
6776
6803
  Sonner,
6777
6804
  __spreadValues({
6778
6805
  theme,
@@ -6792,10 +6819,10 @@ var Toaster = (_a) => {
6792
6819
  // src/components/switch.tsx
6793
6820
  import * as SwitchPrimitives from "@radix-ui/react-switch";
6794
6821
  import * as React58 from "react";
6795
- import { jsx as jsx36 } from "react/jsx-runtime";
6822
+ import { jsx as jsx38 } from "react/jsx-runtime";
6796
6823
  var Switch = React58.forwardRef((_a, ref) => {
6797
6824
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6798
- return /* @__PURE__ */ jsx36(
6825
+ return /* @__PURE__ */ jsx38(
6799
6826
  SwitchPrimitives.Root,
6800
6827
  __spreadProps(__spreadValues({
6801
6828
  className: cn(
@@ -6804,7 +6831,7 @@ var Switch = React58.forwardRef((_a, ref) => {
6804
6831
  )
6805
6832
  }, props), {
6806
6833
  ref,
6807
- children: /* @__PURE__ */ jsx36(
6834
+ children: /* @__PURE__ */ jsx38(
6808
6835
  SwitchPrimitives.Thumb,
6809
6836
  {
6810
6837
  className: cn(
@@ -6819,10 +6846,10 @@ Switch.displayName = SwitchPrimitives.Root.displayName;
6819
6846
 
6820
6847
  // src/components/table.tsx
6821
6848
  import * as React59 from "react";
6822
- import { jsx as jsx37 } from "react/jsx-runtime";
6849
+ import { jsx as jsx39 } from "react/jsx-runtime";
6823
6850
  var Table = React59.forwardRef((_a, ref) => {
6824
6851
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6825
- return /* @__PURE__ */ jsx37("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx37(
6852
+ return /* @__PURE__ */ jsx39("div", { className: "relative w-full overflow-auto", children: /* @__PURE__ */ jsx39(
6826
6853
  "table",
6827
6854
  __spreadValues({
6828
6855
  ref,
@@ -6833,12 +6860,12 @@ var Table = React59.forwardRef((_a, ref) => {
6833
6860
  Table.displayName = "Table";
6834
6861
  var TableHeader = React59.forwardRef((_a, ref) => {
6835
6862
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6836
- return /* @__PURE__ */ jsx37("thead", __spreadValues({ ref, className: cn("[&_tr]:border-b", className) }, props));
6863
+ return /* @__PURE__ */ jsx39("thead", __spreadValues({ ref, className: cn("[&_tr]:border-b", className) }, props));
6837
6864
  });
6838
6865
  TableHeader.displayName = "TableHeader";
6839
6866
  var TableBody = React59.forwardRef((_a, ref) => {
6840
6867
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6841
- return /* @__PURE__ */ jsx37(
6868
+ return /* @__PURE__ */ jsx39(
6842
6869
  "tbody",
6843
6870
  __spreadValues({
6844
6871
  ref,
@@ -6849,7 +6876,7 @@ var TableBody = React59.forwardRef((_a, ref) => {
6849
6876
  TableBody.displayName = "TableBody";
6850
6877
  var TableFooter = React59.forwardRef((_a, ref) => {
6851
6878
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6852
- return /* @__PURE__ */ jsx37(
6879
+ return /* @__PURE__ */ jsx39(
6853
6880
  "tfoot",
6854
6881
  __spreadValues({
6855
6882
  ref,
@@ -6863,7 +6890,7 @@ var TableFooter = React59.forwardRef((_a, ref) => {
6863
6890
  TableFooter.displayName = "TableFooter";
6864
6891
  var TableRow = React59.forwardRef((_a, ref) => {
6865
6892
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6866
- return /* @__PURE__ */ jsx37(
6893
+ return /* @__PURE__ */ jsx39(
6867
6894
  "tr",
6868
6895
  __spreadValues({
6869
6896
  ref,
@@ -6877,7 +6904,7 @@ var TableRow = React59.forwardRef((_a, ref) => {
6877
6904
  TableRow.displayName = "TableRow";
6878
6905
  var TableHead = React59.forwardRef((_a, ref) => {
6879
6906
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6880
- return /* @__PURE__ */ jsx37(
6907
+ return /* @__PURE__ */ jsx39(
6881
6908
  "th",
6882
6909
  __spreadValues({
6883
6910
  ref,
@@ -6891,7 +6918,7 @@ var TableHead = React59.forwardRef((_a, ref) => {
6891
6918
  TableHead.displayName = "TableHead";
6892
6919
  var TableCell = React59.forwardRef((_a, ref) => {
6893
6920
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6894
- return /* @__PURE__ */ jsx37(
6921
+ return /* @__PURE__ */ jsx39(
6895
6922
  "td",
6896
6923
  __spreadValues({
6897
6924
  ref,
@@ -6905,7 +6932,7 @@ var TableCell = React59.forwardRef((_a, ref) => {
6905
6932
  TableCell.displayName = "TableCell";
6906
6933
  var TableCaption = React59.forwardRef((_a, ref) => {
6907
6934
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6908
- return /* @__PURE__ */ jsx37(
6935
+ return /* @__PURE__ */ jsx39(
6909
6936
  "caption",
6910
6937
  __spreadValues({
6911
6938
  ref,
@@ -6918,11 +6945,11 @@ TableCaption.displayName = "TableCaption";
6918
6945
  // src/components/tabs.tsx
6919
6946
  import * as TabsPrimitive from "@radix-ui/react-tabs";
6920
6947
  import * as React60 from "react";
6921
- import { jsx as jsx38 } from "react/jsx-runtime";
6948
+ import { jsx as jsx40 } from "react/jsx-runtime";
6922
6949
  var Tabs = TabsPrimitive.Root;
6923
6950
  var TabsList = React60.forwardRef((_a, ref) => {
6924
6951
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6925
- return /* @__PURE__ */ jsx38(
6952
+ return /* @__PURE__ */ jsx40(
6926
6953
  TabsPrimitive.List,
6927
6954
  __spreadValues({
6928
6955
  ref,
@@ -6936,7 +6963,7 @@ var TabsList = React60.forwardRef((_a, ref) => {
6936
6963
  TabsList.displayName = TabsPrimitive.List.displayName;
6937
6964
  var TabsTrigger = React60.forwardRef((_a, ref) => {
6938
6965
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6939
- return /* @__PURE__ */ jsx38(
6966
+ return /* @__PURE__ */ jsx40(
6940
6967
  TabsPrimitive.Trigger,
6941
6968
  __spreadValues({
6942
6969
  ref,
@@ -6950,7 +6977,7 @@ var TabsTrigger = React60.forwardRef((_a, ref) => {
6950
6977
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
6951
6978
  var TabsContent = React60.forwardRef((_a, ref) => {
6952
6979
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6953
- return /* @__PURE__ */ jsx38(
6980
+ return /* @__PURE__ */ jsx40(
6954
6981
  TabsPrimitive.Content,
6955
6982
  __spreadValues({
6956
6983
  ref,
@@ -6965,11 +6992,11 @@ TabsContent.displayName = TabsPrimitive.Content.displayName;
6965
6992
 
6966
6993
  // src/components/textarea.tsx
6967
6994
  import * as React61 from "react";
6968
- import { jsx as jsx39 } from "react/jsx-runtime";
6995
+ import { jsx as jsx41 } from "react/jsx-runtime";
6969
6996
  var Textarea = React61.forwardRef(
6970
6997
  (_a, ref) => {
6971
6998
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6972
- return /* @__PURE__ */ jsx39(
6999
+ return /* @__PURE__ */ jsx41(
6973
7000
  "textarea",
6974
7001
  __spreadValues({
6975
7002
  className: cn(
@@ -6988,11 +7015,11 @@ import { Cross2Icon as Cross2Icon3 } from "@radix-ui/react-icons";
6988
7015
  import * as ToastPrimitives from "@radix-ui/react-toast";
6989
7016
  import { cva as cva7 } from "class-variance-authority";
6990
7017
  import * as React62 from "react";
6991
- import { jsx as jsx40 } from "react/jsx-runtime";
7018
+ import { jsx as jsx42 } from "react/jsx-runtime";
6992
7019
  var ToastProvider = ToastPrimitives.Provider;
6993
7020
  var ToastViewport = React62.forwardRef((_a, ref) => {
6994
7021
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6995
- return /* @__PURE__ */ jsx40(
7022
+ return /* @__PURE__ */ jsx42(
6996
7023
  ToastPrimitives.Viewport,
6997
7024
  __spreadValues({
6998
7025
  ref,
@@ -7020,7 +7047,7 @@ var toastVariants = cva7(
7020
7047
  );
7021
7048
  var Toast = React62.forwardRef((_a, ref) => {
7022
7049
  var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
7023
- return /* @__PURE__ */ jsx40(
7050
+ return /* @__PURE__ */ jsx42(
7024
7051
  ToastPrimitives.Root,
7025
7052
  __spreadValues({
7026
7053
  ref,
@@ -7031,7 +7058,7 @@ var Toast = React62.forwardRef((_a, ref) => {
7031
7058
  Toast.displayName = ToastPrimitives.Root.displayName;
7032
7059
  var ToastAction = React62.forwardRef((_a, ref) => {
7033
7060
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7034
- return /* @__PURE__ */ jsx40(
7061
+ return /* @__PURE__ */ jsx42(
7035
7062
  ToastPrimitives.Action,
7036
7063
  __spreadValues({
7037
7064
  ref,
@@ -7045,7 +7072,7 @@ var ToastAction = React62.forwardRef((_a, ref) => {
7045
7072
  ToastAction.displayName = ToastPrimitives.Action.displayName;
7046
7073
  var ToastClose = React62.forwardRef((_a, ref) => {
7047
7074
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7048
- return /* @__PURE__ */ jsx40(
7075
+ return /* @__PURE__ */ jsx42(
7049
7076
  ToastPrimitives.Close,
7050
7077
  __spreadProps(__spreadValues({
7051
7078
  ref,
@@ -7055,14 +7082,14 @@ var ToastClose = React62.forwardRef((_a, ref) => {
7055
7082
  ),
7056
7083
  "toast-close": ""
7057
7084
  }, props), {
7058
- children: /* @__PURE__ */ jsx40(Cross2Icon3, { className: "h-4 w-4" })
7085
+ children: /* @__PURE__ */ jsx42(Cross2Icon3, { className: "h-4 w-4" })
7059
7086
  })
7060
7087
  );
7061
7088
  });
7062
7089
  ToastClose.displayName = ToastPrimitives.Close.displayName;
7063
7090
  var ToastTitle = React62.forwardRef((_a, ref) => {
7064
7091
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7065
- return /* @__PURE__ */ jsx40(
7092
+ return /* @__PURE__ */ jsx42(
7066
7093
  ToastPrimitives.Title,
7067
7094
  __spreadValues({
7068
7095
  ref,
@@ -7073,7 +7100,7 @@ var ToastTitle = React62.forwardRef((_a, ref) => {
7073
7100
  ToastTitle.displayName = ToastPrimitives.Title.displayName;
7074
7101
  var ToastDescription = React62.forwardRef((_a, ref) => {
7075
7102
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7076
- return /* @__PURE__ */ jsx40(
7103
+ return /* @__PURE__ */ jsx42(
7077
7104
  ToastPrimitives.Description,
7078
7105
  __spreadValues({
7079
7106
  ref,
@@ -7087,7 +7114,7 @@ ToastDescription.displayName = ToastPrimitives.Description.displayName;
7087
7114
  import * as TogglePrimitive from "@radix-ui/react-toggle";
7088
7115
  import { cva as cva8 } from "class-variance-authority";
7089
7116
  import * as React63 from "react";
7090
- import { jsx as jsx41 } from "react/jsx-runtime";
7117
+ import { jsx as jsx43 } from "react/jsx-runtime";
7091
7118
  var toggleVariants = cva8(
7092
7119
  "inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",
7093
7120
  {
@@ -7110,7 +7137,7 @@ var toggleVariants = cva8(
7110
7137
  );
7111
7138
  var Toggle = React63.forwardRef((_a, ref) => {
7112
7139
  var _b = _a, { className, variant, size } = _b, props = __objRest(_b, ["className", "variant", "size"]);
7113
- return /* @__PURE__ */ jsx41(
7140
+ return /* @__PURE__ */ jsx43(
7114
7141
  TogglePrimitive.Root,
7115
7142
  __spreadValues({
7116
7143
  ref,
@@ -7123,20 +7150,20 @@ Toggle.displayName = TogglePrimitive.Root.displayName;
7123
7150
  // src/components/toggle-group.tsx
7124
7151
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
7125
7152
  import * as React64 from "react";
7126
- import { jsx as jsx42 } from "react/jsx-runtime";
7153
+ import { jsx as jsx44 } from "react/jsx-runtime";
7127
7154
  var ToggleGroupContext = React64.createContext({
7128
7155
  size: "default",
7129
7156
  variant: "default"
7130
7157
  });
7131
7158
  var ToggleGroup = React64.forwardRef((_a, ref) => {
7132
7159
  var _b = _a, { className, variant, size, children } = _b, props = __objRest(_b, ["className", "variant", "size", "children"]);
7133
- return /* @__PURE__ */ jsx42(
7160
+ return /* @__PURE__ */ jsx44(
7134
7161
  ToggleGroupPrimitive.Root,
7135
7162
  __spreadProps(__spreadValues({
7136
7163
  ref,
7137
7164
  className: cn("flex items-center justify-center gap-1", className)
7138
7165
  }, props), {
7139
- children: /* @__PURE__ */ jsx42(ToggleGroupContext.Provider, { value: { variant, size }, children })
7166
+ children: /* @__PURE__ */ jsx44(ToggleGroupContext.Provider, { value: { variant, size }, children })
7140
7167
  })
7141
7168
  );
7142
7169
  });
@@ -7144,7 +7171,7 @@ ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
7144
7171
  var ToggleGroupItem = React64.forwardRef((_a, ref) => {
7145
7172
  var _b = _a, { className, children, variant, size } = _b, props = __objRest(_b, ["className", "children", "variant", "size"]);
7146
7173
  const context = React64.useContext(ToggleGroupContext);
7147
- return /* @__PURE__ */ jsx42(
7174
+ return /* @__PURE__ */ jsx44(
7148
7175
  ToggleGroupPrimitive.Item,
7149
7176
  __spreadProps(__spreadValues({
7150
7177
  ref,
@@ -7165,13 +7192,13 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
7165
7192
  // src/components/tooltip.tsx
7166
7193
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
7167
7194
  import * as React65 from "react";
7168
- import { jsx as jsx43 } from "react/jsx-runtime";
7195
+ import { jsx as jsx45 } from "react/jsx-runtime";
7169
7196
  var TooltipProvider = TooltipPrimitive.Provider;
7170
7197
  var Tooltip = TooltipPrimitive.Root;
7171
7198
  var TooltipTrigger = TooltipPrimitive.Trigger;
7172
7199
  var TooltipContent = React65.forwardRef((_a, ref) => {
7173
7200
  var _b = _a, { className, sideOffset = 4 } = _b, props = __objRest(_b, ["className", "sideOffset"]);
7174
- return /* @__PURE__ */ jsx43(
7201
+ return /* @__PURE__ */ jsx45(
7175
7202
  TooltipPrimitive.Content,
7176
7203
  __spreadValues({
7177
7204
  ref,
@@ -7297,44 +7324,8 @@ function useToast() {
7297
7324
  });
7298
7325
  }
7299
7326
 
7300
- // src/components/search-input.tsx
7301
- import React67, { useCallback as useCallback3 } from "react";
7302
- import { useDebounce } from "use-debounce";
7303
- import { jsx as jsx44 } from "react/jsx-runtime";
7304
- function SearchInput({
7305
- value,
7306
- placeholder,
7307
- className,
7308
- debounceTime = 750,
7309
- onSearch
7310
- }) {
7311
- const [searchTerm, setSearchTerm] = React67.useState(value);
7312
- const [debouncedValue] = useDebounce(searchTerm, debounceTime);
7313
- const handleSettingSearchParams = useCallback3((newSearchValue) => {
7314
- if (newSearchValue === "" || newSearchValue === void 0 || !newSearchValue) {
7315
- onSearch(newSearchValue);
7316
- return;
7317
- }
7318
- }, []);
7319
- React67.useEffect(() => {
7320
- handleSettingSearchParams(debouncedValue);
7321
- }, [debouncedValue, handleSettingSearchParams]);
7322
- React67.useEffect(() => {
7323
- setSearchTerm(value);
7324
- }, [value]);
7325
- return /* @__PURE__ */ jsx44(
7326
- Input,
7327
- {
7328
- placeholder: placeholder || `Search...`,
7329
- value: searchTerm,
7330
- onChange: (event) => setSearchTerm(event.target.value),
7331
- className: cn("w-full md:max-w-sm", className)
7332
- }
7333
- );
7334
- }
7335
-
7336
7327
  // src/shared/alert-modal.tsx
7337
- import { jsx as jsx45, jsxs as jsxs18 } from "react/jsx-runtime";
7328
+ import { jsx as jsx46, jsxs as jsxs20 } from "react/jsx-runtime";
7338
7329
  var AlertModal = ({
7339
7330
  isOpen,
7340
7331
  onClose,
@@ -7347,7 +7338,7 @@ var AlertModal = ({
7347
7338
  className,
7348
7339
  children
7349
7340
  }) => {
7350
- return /* @__PURE__ */ jsx45(
7341
+ return /* @__PURE__ */ jsx46(
7351
7342
  Modal,
7352
7343
  {
7353
7344
  title,
@@ -7355,9 +7346,9 @@ var AlertModal = ({
7355
7346
  isOpen,
7356
7347
  onClose,
7357
7348
  className,
7358
- children: children ? children : /* @__PURE__ */ jsxs18("div", { className: "flex w-full items-center justify-end space-x-2 pt-6", children: [
7359
- /* @__PURE__ */ jsx45(Button, { disabled: loading, variant: "outline", onClick: onClose, children: cancelText }),
7360
- /* @__PURE__ */ jsx45(Button, { disabled: loading, variant: "destructive", onClick: onConfirm, children: confirmText })
7349
+ children: children ? children : /* @__PURE__ */ jsxs20("div", { className: "flex w-full items-center justify-end space-x-2 pt-6", children: [
7350
+ /* @__PURE__ */ jsx46(Button, { disabled: loading, variant: "outline", onClick: onClose, children: cancelText }),
7351
+ /* @__PURE__ */ jsx46(Button, { disabled: loading, variant: "destructive", onClick: onConfirm, children: confirmText })
7361
7352
  ] })
7362
7353
  }
7363
7354
  );
@@ -7366,57 +7357,17 @@ var AlertModal = ({
7366
7357
  // src/shared/breadcrumbs.tsx
7367
7358
  import { Slash } from "lucide-react";
7368
7359
  import { Fragment } from "react";
7369
- import { jsx as jsx46, jsxs as jsxs19 } from "react/jsx-runtime";
7360
+ import { jsx as jsx47, jsxs as jsxs21 } from "react/jsx-runtime";
7370
7361
  function Breadcrumbs({ items, className, classNameList }) {
7371
- return /* @__PURE__ */ jsx46(Breadcrumb, { className, children: /* @__PURE__ */ jsx46(BreadcrumbList, { className: classNameList, children: items.map((item, index) => /* @__PURE__ */ jsxs19(Fragment, { children: [
7372
- index !== items.length - 1 && /* @__PURE__ */ jsx46(BreadcrumbItem, { className: item.className, children: /* @__PURE__ */ jsx46(BreadcrumbLink, { href: item.link, children: item.title }) }),
7373
- index < items.length - 1 && /* @__PURE__ */ jsx46(BreadcrumbSeparator, { children: /* @__PURE__ */ jsx46(Slash, {}) }),
7374
- index === items.length - 1 && /* @__PURE__ */ jsx46(BreadcrumbPage, { children: item.title })
7362
+ return /* @__PURE__ */ jsx47(Breadcrumb, { className, children: /* @__PURE__ */ jsx47(BreadcrumbList, { className: classNameList, children: items.map((item, index) => /* @__PURE__ */ jsxs21(Fragment, { children: [
7363
+ index !== items.length - 1 && /* @__PURE__ */ jsx47(BreadcrumbItem, { className: item.className, children: /* @__PURE__ */ jsx47(BreadcrumbLink, { href: item.link, children: item.title }) }),
7364
+ index < items.length - 1 && /* @__PURE__ */ jsx47(BreadcrumbSeparator, { children: /* @__PURE__ */ jsx47(Slash, {}) }),
7365
+ index === items.length - 1 && /* @__PURE__ */ jsx47(BreadcrumbPage, { children: item.title })
7375
7366
  ] }, item.title)) }) });
7376
7367
  }
7377
7368
 
7378
- // src/shared/data-table-skeleton.tsx
7379
- import { jsx as jsx47, jsxs as jsxs20 } from "react/jsx-runtime";
7380
- function DataTableSkeleton({
7381
- columnCount,
7382
- rowCount = 10,
7383
- searchableColumnCount = 0,
7384
- filterableColumnCount = 0,
7385
- showViewOptions = true
7386
- }) {
7387
- return /* @__PURE__ */ jsxs20("div", { className: "w-full space-y-3 overflow-auto", children: [
7388
- /* @__PURE__ */ jsxs20("div", { className: "flex w-full items-center justify-between space-x-2 overflow-auto p-1", children: [
7389
- /* @__PURE__ */ jsxs20("div", { className: "flex flex-1 items-center space-x-2 space-y-4", children: [
7390
- searchableColumnCount > 0 ? Array.from({ length: searchableColumnCount }).map((_, i) => /* @__PURE__ */ jsx47(Skeleton, { className: "h-10 w-[150px] lg:w-[250px]" }, i)) : null,
7391
- filterableColumnCount > 0 ? Array.from({ length: filterableColumnCount }).map((_, i) => /* @__PURE__ */ jsx47(Skeleton, { className: "h-10 w-[70px] border-dashed" }, i)) : null
7392
- ] }),
7393
- showViewOptions ? /* @__PURE__ */ jsx47(Skeleton, { className: "ml-auto hidden h-7 w-[70px] lg:flex" }) : null
7394
- ] }),
7395
- /* @__PURE__ */ jsx47("div", { className: "rounded-md border", children: /* @__PURE__ */ jsxs20(Table, { children: [
7396
- /* @__PURE__ */ jsx47(TableHeader, { children: Array.from({ length: 1 }).map((_, i) => /* @__PURE__ */ jsx47(TableRow, { className: "hover:bg-transparent", children: Array.from({ length: columnCount }).map((_2, i2) => /* @__PURE__ */ jsx47(TableHead, { children: /* @__PURE__ */ jsx47(Skeleton, { className: "h-6 w-full" }) }, i2)) }, i)) }),
7397
- /* @__PURE__ */ jsx47(TableBody, { children: Array.from({ length: rowCount }).map((_, i) => /* @__PURE__ */ jsx47(TableRow, { className: "hover:bg-transparent", children: Array.from({ length: columnCount }).map((_2, i2) => /* @__PURE__ */ jsx47(TableCell, { children: /* @__PURE__ */ jsx47(Skeleton, { className: "h-6 w-full" }) }, i2)) }, i)) })
7398
- ] }) }),
7399
- /* @__PURE__ */ jsxs20("div", { className: "flex w-full flex-col items-center justify-between gap-4 overflow-auto px-2 py-1 sm:flex-row sm:gap-8", children: [
7400
- /* @__PURE__ */ jsx47("div", { className: "flex-1", children: /* @__PURE__ */ jsx47(Skeleton, { className: "h-8 w-40" }) }),
7401
- /* @__PURE__ */ jsxs20("div", { className: "flex flex-col items-center gap-4 sm:flex-row sm:gap-6 lg:gap-8", children: [
7402
- /* @__PURE__ */ jsxs20("div", { className: "flex items-center space-x-2", children: [
7403
- /* @__PURE__ */ jsx47(Skeleton, { className: "h-8 w-24" }),
7404
- /* @__PURE__ */ jsx47(Skeleton, { className: "h-8 w-[70px]" })
7405
- ] }),
7406
- /* @__PURE__ */ jsx47("div", { className: "flex w-[100px] items-center justify-center text-sm font-medium", children: /* @__PURE__ */ jsx47(Skeleton, { className: "h-8 w-20" }) }),
7407
- /* @__PURE__ */ jsxs20("div", { className: "flex items-center space-x-2", children: [
7408
- /* @__PURE__ */ jsx47(Skeleton, { className: "hidden size-8 lg:block" }),
7409
- /* @__PURE__ */ jsx47(Skeleton, { className: "size-8" }),
7410
- /* @__PURE__ */ jsx47(Skeleton, { className: "size-8" }),
7411
- /* @__PURE__ */ jsx47(Skeleton, { className: "hidden size-8 lg:block" })
7412
- ] })
7413
- ] })
7414
- ] })
7415
- ] });
7416
- }
7417
-
7418
7369
  // src/shared/data-table.tsx
7419
- import React68, { useEffect as useEffect4 } from "react";
7370
+ import React67, { useEffect as useEffect4 } from "react";
7420
7371
  import {
7421
7372
  DoubleArrowLeftIcon,
7422
7373
  DoubleArrowRightIcon
@@ -7429,7 +7380,7 @@ import {
7429
7380
  useReactTable
7430
7381
  } from "@tanstack/react-table";
7431
7382
  import { ChevronLeftIcon as ChevronLeftIcon2, ChevronRightIcon as ChevronRightIcon6 } from "lucide-react";
7432
- import { Fragment as Fragment2, jsx as jsx48, jsxs as jsxs21 } from "react/jsx-runtime";
7383
+ import { Fragment as Fragment2, jsx as jsx48, jsxs as jsxs22 } from "react/jsx-runtime";
7433
7384
  function DataTable({
7434
7385
  columns,
7435
7386
  data,
@@ -7440,6 +7391,8 @@ function DataTable({
7440
7391
  rowPerPageLabel = "Rows per page",
7441
7392
  ofLabel = "of",
7442
7393
  pageLabel = "Page",
7394
+ isRowsSelected = true,
7395
+ rowsSelectedLabel = "row(s) selected",
7443
7396
  className,
7444
7397
  emptyData,
7445
7398
  bodyClassName,
@@ -7448,9 +7401,10 @@ function DataTable({
7448
7401
  rowClassName,
7449
7402
  tableClassName,
7450
7403
  onPageChange,
7451
- onClick
7404
+ onClick,
7405
+ onPageSizeChange
7452
7406
  }) {
7453
- const [pagination, setPagination] = React68.useState({
7407
+ const [pagination, setPagination] = React67.useState({
7454
7408
  pageIndex: Math.max(page - 1, 0),
7455
7409
  pageSize: perPage
7456
7410
  });
@@ -7473,11 +7427,11 @@ function DataTable({
7473
7427
  };
7474
7428
  useEffect4(() => {
7475
7429
  if (onPageChange) {
7476
- onPageChange(pagination.pageIndex);
7430
+ onPageChange(pagination.pageIndex + 1);
7477
7431
  }
7478
- }, [pagination, setPagination]);
7479
- return /* @__PURE__ */ jsxs21(Fragment2, { children: [
7480
- /* @__PURE__ */ jsxs21(
7432
+ }, [pagination]);
7433
+ return /* @__PURE__ */ jsxs22(Fragment2, { children: [
7434
+ /* @__PURE__ */ jsxs22(
7481
7435
  ScrollArea,
7482
7436
  {
7483
7437
  className: cn(
@@ -7485,7 +7439,7 @@ function DataTable({
7485
7439
  className
7486
7440
  ),
7487
7441
  children: [
7488
- /* @__PURE__ */ jsxs21(Table, { className: cn("relative", tableClassName), children: [
7442
+ /* @__PURE__ */ jsxs22(Table, { className: cn("relative", tableClassName), children: [
7489
7443
  /* @__PURE__ */ jsx48(TableHeader, { className: headerClassName, children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsx48(TableRow, { className: rowClassName, children: headerGroup.headers.map((header) => /* @__PURE__ */ jsx48(TableHead, { className: headerClassName, children: header.isPlaceholder ? null : flexRender(
7490
7444
  header.column.columnDef.header,
7491
7445
  header.getContext()
@@ -7515,23 +7469,30 @@ function DataTable({
7515
7469
  ]
7516
7470
  }
7517
7471
  ),
7518
- /* @__PURE__ */ jsxs21("div", { className: "flex flex-col items-center justify-end gap-2 space-x-2 py-4 sm:flex-row", children: [
7519
- /* @__PURE__ */ jsxs21("div", { className: "flex w-full items-center justify-between", children: [
7520
- /* @__PURE__ */ jsxs21("div", { className: "text-muted-foreground flex-1 text-sm", children: [
7472
+ /* @__PURE__ */ jsxs22("div", { className: "flex flex-col items-center justify-end gap-2 space-x-2 py-4 sm:flex-row", children: [
7473
+ /* @__PURE__ */ jsxs22("div", { className: "flex w-full items-center justify-between", children: [
7474
+ isRowsSelected ? /* @__PURE__ */ jsxs22("div", { className: "text-muted-foreground flex-1 text-sm", children: [
7521
7475
  table.getFilteredSelectedRowModel().rows.length,
7522
7476
  " ",
7523
7477
  ofLabel,
7524
7478
  " ",
7525
7479
  table.getFilteredRowModel().rows.length,
7526
- " row(s) selected."
7527
- ] }),
7528
- /* @__PURE__ */ jsxs21("div", { className: "flex items-center space-x-2", children: [
7480
+ " " + rowsSelectedLabel
7481
+ ] }) : null,
7482
+ /* @__PURE__ */ jsxs22("div", { className: "flex items-center space-x-2", children: [
7529
7483
  /* @__PURE__ */ jsx48("p", { className: "text-sm font-medium whitespace-nowrap", children: rowPerPageLabel }),
7530
- /* @__PURE__ */ jsxs21(
7484
+ /* @__PURE__ */ jsxs22(
7531
7485
  Select2,
7532
7486
  {
7533
7487
  value: `${pagination.pageSize}`,
7534
- onValueChange: (value) => setPagination(__spreadProps(__spreadValues({}, pagination), { pageSize: Number(value) })),
7488
+ onValueChange: (value) => {
7489
+ const newSize = Number(value);
7490
+ setPagination(__spreadProps(__spreadValues({}, pagination), {
7491
+ pageSize: newSize,
7492
+ pageIndex: 0
7493
+ }));
7494
+ if (onPageSizeChange) onPageSizeChange(newSize);
7495
+ },
7535
7496
  children: [
7536
7497
  /* @__PURE__ */ jsx48(SelectTrigger, { className: "h-8 w-[70px]", children: /* @__PURE__ */ jsx48(SelectValue, { placeholder: pagination.pageSize }) }),
7537
7498
  /* @__PURE__ */ jsx48(SelectContent, { side: "top", children: pageSizeOptions.map((size) => /* @__PURE__ */ jsx48(SelectItem, { value: `${size}`, children: size }, size)) })
@@ -7540,8 +7501,8 @@ function DataTable({
7540
7501
  )
7541
7502
  ] })
7542
7503
  ] }),
7543
- /* @__PURE__ */ jsxs21("div", { className: "flex w-full items-center justify-between gap-2 sm:justify-end", children: [
7544
- /* @__PURE__ */ jsxs21("div", { className: "flex w-[100px] items-center justify-center text-sm font-medium", children: [
7504
+ /* @__PURE__ */ jsxs22("div", { className: "flex w-full items-center justify-between gap-2 sm:justify-end", children: [
7505
+ /* @__PURE__ */ jsxs22("div", { className: "flex w-[100px] items-center justify-center text-sm font-medium", children: [
7545
7506
  pageLabel,
7546
7507
  " ",
7547
7508
  pagination.pageIndex + 1,
@@ -7550,7 +7511,7 @@ function DataTable({
7550
7511
  " ",
7551
7512
  pageCount
7552
7513
  ] }),
7553
- /* @__PURE__ */ jsxs21("div", { className: "flex items-center space-x-2", children: [
7514
+ /* @__PURE__ */ jsxs22("div", { className: "flex items-center space-x-2", children: [
7554
7515
  /* @__PURE__ */ jsx48(
7555
7516
  Button,
7556
7517
  {
@@ -7605,12 +7566,52 @@ function DataTable({
7605
7566
  ] });
7606
7567
  }
7607
7568
 
7569
+ // src/shared/data-table-skeleton.tsx
7570
+ import { jsx as jsx49, jsxs as jsxs23 } from "react/jsx-runtime";
7571
+ function DataTableSkeleton({
7572
+ columnCount,
7573
+ rowCount = 10,
7574
+ searchableColumnCount = 0,
7575
+ filterableColumnCount = 0,
7576
+ showViewOptions = true
7577
+ }) {
7578
+ return /* @__PURE__ */ jsxs23("div", { className: "w-full space-y-3 overflow-auto", children: [
7579
+ /* @__PURE__ */ jsxs23("div", { className: "flex w-full items-center justify-between space-x-2 overflow-auto p-1", children: [
7580
+ /* @__PURE__ */ jsxs23("div", { className: "flex flex-1 items-center space-x-2 space-y-4", children: [
7581
+ searchableColumnCount > 0 ? Array.from({ length: searchableColumnCount }).map((_, i) => /* @__PURE__ */ jsx49(Skeleton, { className: "h-10 w-[150px] lg:w-[250px]" }, i)) : null,
7582
+ filterableColumnCount > 0 ? Array.from({ length: filterableColumnCount }).map((_, i) => /* @__PURE__ */ jsx49(Skeleton, { className: "h-10 w-[70px] border-dashed" }, i)) : null
7583
+ ] }),
7584
+ showViewOptions ? /* @__PURE__ */ jsx49(Skeleton, { className: "ml-auto hidden h-7 w-[70px] lg:flex" }) : null
7585
+ ] }),
7586
+ /* @__PURE__ */ jsx49("div", { className: "rounded-md border", children: /* @__PURE__ */ jsxs23(Table, { children: [
7587
+ /* @__PURE__ */ jsx49(TableHeader, { children: Array.from({ length: 1 }).map((_, i) => /* @__PURE__ */ jsx49(TableRow, { className: "hover:bg-transparent", children: Array.from({ length: columnCount }).map((_2, i2) => /* @__PURE__ */ jsx49(TableHead, { children: /* @__PURE__ */ jsx49(Skeleton, { className: "h-6 w-full" }) }, i2)) }, i)) }),
7588
+ /* @__PURE__ */ jsx49(TableBody, { children: Array.from({ length: rowCount }).map((_, i) => /* @__PURE__ */ jsx49(TableRow, { className: "hover:bg-transparent", children: Array.from({ length: columnCount }).map((_2, i2) => /* @__PURE__ */ jsx49(TableCell, { children: /* @__PURE__ */ jsx49(Skeleton, { className: "h-6 w-full" }) }, i2)) }, i)) })
7589
+ ] }) }),
7590
+ /* @__PURE__ */ jsxs23("div", { className: "flex w-full flex-col items-center justify-between gap-4 overflow-auto px-2 py-1 sm:flex-row sm:gap-8", children: [
7591
+ /* @__PURE__ */ jsx49("div", { className: "flex-1", children: /* @__PURE__ */ jsx49(Skeleton, { className: "h-8 w-40" }) }),
7592
+ /* @__PURE__ */ jsxs23("div", { className: "flex flex-col items-center gap-4 sm:flex-row sm:gap-6 lg:gap-8", children: [
7593
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-center space-x-2", children: [
7594
+ /* @__PURE__ */ jsx49(Skeleton, { className: "h-8 w-24" }),
7595
+ /* @__PURE__ */ jsx49(Skeleton, { className: "h-8 w-[70px]" })
7596
+ ] }),
7597
+ /* @__PURE__ */ jsx49("div", { className: "flex w-[100px] items-center justify-center text-sm font-medium", children: /* @__PURE__ */ jsx49(Skeleton, { className: "h-8 w-20" }) }),
7598
+ /* @__PURE__ */ jsxs23("div", { className: "flex items-center space-x-2", children: [
7599
+ /* @__PURE__ */ jsx49(Skeleton, { className: "hidden size-8 lg:block" }),
7600
+ /* @__PURE__ */ jsx49(Skeleton, { className: "size-8" }),
7601
+ /* @__PURE__ */ jsx49(Skeleton, { className: "size-8" }),
7602
+ /* @__PURE__ */ jsx49(Skeleton, { className: "hidden size-8 lg:block" })
7603
+ ] })
7604
+ ] })
7605
+ ] })
7606
+ ] });
7607
+ }
7608
+
7608
7609
  // src/shared/fileupload.tsx
7609
7610
  import { AvatarIcon } from "@radix-ui/react-icons";
7610
7611
  import { CameraIcon } from "lucide-react";
7611
7612
  import { useEffect as useEffect5, useState as useState5 } from "react";
7612
7613
  import { useDropzone } from "react-dropzone";
7613
- import { jsx as jsx49, jsxs as jsxs22 } from "react/jsx-runtime";
7614
+ import { jsx as jsx50, jsxs as jsxs24 } from "react/jsx-runtime";
7614
7615
  function FileUpload({
7615
7616
  onChange,
7616
7617
  value,
@@ -7628,18 +7629,18 @@ function FileUpload({
7628
7629
  const onUpdateFile = (newFiles) => {
7629
7630
  onChange(newFiles);
7630
7631
  };
7631
- return /* @__PURE__ */ jsx49("div", { className: cn("flex items-center justify-center", className), children: /* @__PURE__ */ jsx49(
7632
+ return /* @__PURE__ */ jsx50("div", { className: cn("flex items-center justify-center", className), children: /* @__PURE__ */ jsx50(
7632
7633
  "div",
7633
7634
  {
7634
7635
  className: cn(
7635
7636
  "relative h-36 w-36 overflow-hidden rounded-full bg-gray-200 shadow-2xl ",
7636
7637
  classNameContent
7637
7638
  ),
7638
- children: /* @__PURE__ */ jsxs22("div", __spreadProps(__spreadValues({}, getRootProps({ className: "dropzone cursor-pointer" })), { children: [
7639
- /* @__PURE__ */ jsx49("input", __spreadValues({}, getInputProps())),
7640
- value && !!value.length ? /* @__PURE__ */ jsx49(ImagePreview, { file: value[0] }) : /* @__PURE__ */ jsx49(AvatarIcon, { className: "h-36 w-36 text-gray-100" }),
7641
- /* @__PURE__ */ jsxs22("p", { className: "absolute -bottom-5 left-1/2 flex w-full -translate-x-1/2 -translate-y-1/2 transform flex-col items-center justify-center bg-gray-300 bg-opacity-50 py-1 text-xs font-normal text-muted-foreground ", children: [
7642
- /* @__PURE__ */ jsx49(CameraIcon, { className: "h-4 w-4 text-muted-foreground" }),
7639
+ children: /* @__PURE__ */ jsxs24("div", __spreadProps(__spreadValues({}, getRootProps({ className: "dropzone cursor-pointer" })), { children: [
7640
+ /* @__PURE__ */ jsx50("input", __spreadValues({}, getInputProps())),
7641
+ value && !!value.length ? /* @__PURE__ */ jsx50(ImagePreview, { file: value[0] }) : /* @__PURE__ */ jsx50(AvatarIcon, { className: "h-36 w-36 text-gray-100" }),
7642
+ /* @__PURE__ */ jsxs24("p", { className: "absolute -bottom-5 left-1/2 flex w-full -translate-x-1/2 -translate-y-1/2 transform flex-col items-center justify-center bg-gray-300 bg-opacity-50 py-1 text-xs font-normal text-muted-foreground ", children: [
7643
+ /* @__PURE__ */ jsx50(CameraIcon, { className: "h-4 w-4 text-muted-foreground" }),
7643
7644
  label
7644
7645
  ] })
7645
7646
  ] }))
@@ -7655,7 +7656,7 @@ function ImagePreview({ file }) {
7655
7656
  URL.revokeObjectURL(url);
7656
7657
  };
7657
7658
  }, [file]);
7658
- return objectUrl ? /* @__PURE__ */ jsx49(
7659
+ return objectUrl ? /* @__PURE__ */ jsx50(
7659
7660
  "img",
7660
7661
  {
7661
7662
  src: objectUrl,
@@ -7666,19 +7667,19 @@ function ImagePreview({ file }) {
7666
7667
  }
7667
7668
 
7668
7669
  // src/shared/heading.tsx
7669
- import { jsx as jsx50, jsxs as jsxs23 } from "react/jsx-runtime";
7670
+ import { jsx as jsx51, jsxs as jsxs25 } from "react/jsx-runtime";
7670
7671
  function Heading({ title, description, className }) {
7671
- return /* @__PURE__ */ jsxs23("div", { className, children: [
7672
- /* @__PURE__ */ jsx50("h2", { className: "text-xl font-bold tracking-tight text-primary sm:text-3xl", children: title }),
7673
- /* @__PURE__ */ jsx50("p", { className: "text-sm text-muted-foreground", children: description })
7672
+ return /* @__PURE__ */ jsxs25("div", { className, children: [
7673
+ /* @__PURE__ */ jsx51("h2", { className: "text-xl font-bold tracking-tight text-primary sm:text-3xl", children: title }),
7674
+ /* @__PURE__ */ jsx51("p", { className: "text-sm text-muted-foreground", children: description })
7674
7675
  ] });
7675
7676
  }
7676
7677
 
7677
7678
  // src/shared/page-head.tsx
7678
7679
  import { Helmet } from "react-helmet-next";
7679
- import { jsx as jsx51, jsxs as jsxs24 } from "react/jsx-runtime";
7680
+ import { jsx as jsx52, jsxs as jsxs26 } from "react/jsx-runtime";
7680
7681
  function PageHead({ title = "shadcn-ui-react" }) {
7681
- return /* @__PURE__ */ jsx51(Helmet, { children: /* @__PURE__ */ jsxs24("title", { children: [
7682
+ return /* @__PURE__ */ jsx52(Helmet, { children: /* @__PURE__ */ jsxs26("title", { children: [
7682
7683
  " ",
7683
7684
  title,
7684
7685
  " "
@@ -7686,7 +7687,7 @@ function PageHead({ title = "shadcn-ui-react" }) {
7686
7687
  }
7687
7688
 
7688
7689
  // src/shared/pagination-section.tsx
7689
- import { jsx as jsx52, jsxs as jsxs25 } from "react/jsx-runtime";
7690
+ import { jsx as jsx53, jsxs as jsxs27 } from "react/jsx-runtime";
7690
7691
  function PaginationSection({
7691
7692
  totalPosts,
7692
7693
  postsPerPage,
@@ -7724,17 +7725,17 @@ function PaginationSection({
7724
7725
  }
7725
7726
  };
7726
7727
  const renderPages = () => {
7727
- const renderedPages = activePages.map((page, idx) => /* @__PURE__ */ jsx52(
7728
+ const renderedPages = activePages.map((page, idx) => /* @__PURE__ */ jsx53(
7728
7729
  PaginationItem,
7729
7730
  {
7730
7731
  className: currentPage === page ? "rounded-md bg-primary" : "",
7731
- children: /* @__PURE__ */ jsx52(PaginationLink, { onClick: () => setCurrentPage(page), size: void 0, children: page })
7732
+ children: /* @__PURE__ */ jsx53(PaginationLink, { onClick: () => setCurrentPage(page), size: void 0, children: page })
7732
7733
  },
7733
7734
  idx
7734
7735
  ));
7735
7736
  if (activePages[0] > 1) {
7736
7737
  renderedPages.unshift(
7737
- /* @__PURE__ */ jsx52(
7738
+ /* @__PURE__ */ jsx53(
7738
7739
  PaginationEllipsis,
7739
7740
  {
7740
7741
  onClick: () => setCurrentPage(activePages[0] - 1)
@@ -7745,7 +7746,7 @@ function PaginationSection({
7745
7746
  }
7746
7747
  if (activePages[activePages.length - 1] < pageNumbers.length) {
7747
7748
  renderedPages.push(
7748
- /* @__PURE__ */ jsx52(
7749
+ /* @__PURE__ */ jsx53(
7749
7750
  PaginationEllipsis,
7750
7751
  {
7751
7752
  onClick: () => setCurrentPage(activePages[activePages.length - 1] + 1)
@@ -7756,21 +7757,21 @@ function PaginationSection({
7756
7757
  }
7757
7758
  return renderedPages;
7758
7759
  };
7759
- return /* @__PURE__ */ jsx52("div", { className: "p-4", children: /* @__PURE__ */ jsx52(Pagination, { children: /* @__PURE__ */ jsxs25(PaginationContent, { children: [
7760
- /* @__PURE__ */ jsxs25(PaginationItem, { children: [
7761
- /* @__PURE__ */ jsx52(
7760
+ return /* @__PURE__ */ jsx53("div", { className: "p-4", children: /* @__PURE__ */ jsx53(Pagination, { children: /* @__PURE__ */ jsxs27(PaginationContent, { children: [
7761
+ /* @__PURE__ */ jsxs27(PaginationItem, { children: [
7762
+ /* @__PURE__ */ jsx53(
7762
7763
  PaginationPreviousLast,
7763
7764
  {
7764
7765
  onClick: handlePrevPageLast,
7765
7766
  size: void 0
7766
7767
  }
7767
7768
  ),
7768
- /* @__PURE__ */ jsx52(PaginationPrevious, { onClick: handlePrevPage, size: void 0 })
7769
+ /* @__PURE__ */ jsx53(PaginationPrevious, { onClick: handlePrevPage, size: void 0 })
7769
7770
  ] }),
7770
7771
  renderPages(),
7771
- /* @__PURE__ */ jsxs25(PaginationItem, { children: [
7772
- /* @__PURE__ */ jsx52(PaginationNext, { onClick: handleNextPage, size: void 0 }),
7773
- /* @__PURE__ */ jsx52(PaginationNextLast, { onClick: handleNextPageLast, size: void 0 })
7772
+ /* @__PURE__ */ jsxs27(PaginationItem, { children: [
7773
+ /* @__PURE__ */ jsx53(PaginationNext, { onClick: handleNextPage, size: void 0 }),
7774
+ /* @__PURE__ */ jsx53(PaginationNextLast, { onClick: handleNextPageLast, size: void 0 })
7774
7775
  ] })
7775
7776
  ] }) }) });
7776
7777
  }