shadcn-ui-react 0.7.9 → 0.7.10

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
@@ -2850,16 +2850,16 @@ var DateLib = class _DateLib {
2850
2850
  * @param overrides Custom overrides for the date library functions.
2851
2851
  */
2852
2852
  constructor(options, overrides) {
2853
- this.Date = Date;
2854
2853
  this.today = () => {
2855
- var _a;
2854
+ var _a, _b;
2856
2855
  if ((_a = this.overrides) == null ? void 0 : _a.today) {
2857
2856
  return this.overrides.today();
2858
2857
  }
2859
2858
  if (this.options.timeZone) {
2860
2859
  return TZDate.tz(this.options.timeZone);
2861
2860
  }
2862
- return new this.Date();
2861
+ const DateCtor = (_b = this.options.Date) != null ? _b : Date;
2862
+ return new DateCtor();
2863
2863
  };
2864
2864
  this.newDate = (year, monthIndex, date) => {
2865
2865
  var _a;
@@ -3162,7 +3162,6 @@ var CalendarWeek = class {
3162
3162
  // node_modules/react-day-picker/dist/esm/components/custom-components.js
3163
3163
  var custom_components_exports = {};
3164
3164
  __export(custom_components_exports, {
3165
- Button: () => Button2,
3166
3165
  CaptionLabel: () => CaptionLabel,
3167
3166
  Chevron: () => Chevron,
3168
3167
  Day: () => Day,
@@ -3190,57 +3189,48 @@ __export(custom_components_exports, {
3190
3189
  YearsDropdown: () => YearsDropdown
3191
3190
  });
3192
3191
 
3193
- // node_modules/react-day-picker/dist/esm/components/Button.js
3194
- import React8 from "react";
3195
- function Button2(props) {
3196
- return React8.createElement("button", __spreadValues({}, props));
3197
- }
3198
-
3199
3192
  // node_modules/react-day-picker/dist/esm/components/CaptionLabel.js
3200
- import React9 from "react";
3193
+ import React8 from "react";
3201
3194
  function CaptionLabel(props) {
3202
- return React9.createElement("span", __spreadValues({}, props));
3195
+ return React8.createElement("span", __spreadValues({}, props));
3203
3196
  }
3204
3197
 
3205
3198
  // node_modules/react-day-picker/dist/esm/components/Chevron.js
3206
- import React10 from "react";
3199
+ import React9 from "react";
3207
3200
  function Chevron(props) {
3208
3201
  const { size = 24, orientation = "left", className } = props;
3209
- return (
3210
- // biome-ignore lint/a11y/noSvgWithoutTitle: handled by the parent component
3211
- React10.createElement(
3212
- "svg",
3213
- { className, width: size, height: size, viewBox: "0 0 24 24" },
3214
- orientation === "up" && React10.createElement("polygon", { points: "6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28" }),
3215
- orientation === "down" && React10.createElement("polygon", { points: "6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72" }),
3216
- orientation === "left" && React10.createElement("polygon", { points: "16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20" }),
3217
- orientation === "right" && React10.createElement("polygon", { points: "8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20" })
3218
- )
3202
+ return React9.createElement(
3203
+ "svg",
3204
+ { className, width: size, height: size, viewBox: "0 0 24 24" },
3205
+ orientation === "up" && React9.createElement("polygon", { points: "6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28" }),
3206
+ orientation === "down" && React9.createElement("polygon", { points: "6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72" }),
3207
+ orientation === "left" && React9.createElement("polygon", { points: "16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20" }),
3208
+ orientation === "right" && React9.createElement("polygon", { points: "8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20" })
3219
3209
  );
3220
3210
  }
3221
3211
 
3222
3212
  // node_modules/react-day-picker/dist/esm/components/Day.js
3223
- import React11 from "react";
3213
+ import React10 from "react";
3224
3214
  function Day(props) {
3225
3215
  const _a = props, { day, modifiers } = _a, tdProps = __objRest(_a, ["day", "modifiers"]);
3226
- return React11.createElement("td", __spreadValues({}, tdProps));
3216
+ return React10.createElement("td", __spreadValues({}, tdProps));
3227
3217
  }
3228
3218
 
3229
3219
  // node_modules/react-day-picker/dist/esm/components/DayButton.js
3230
- import React12 from "react";
3220
+ import React11 from "react";
3231
3221
  function DayButton(props) {
3232
3222
  const _a = props, { day, modifiers } = _a, buttonProps = __objRest(_a, ["day", "modifiers"]);
3233
- const ref = React12.useRef(null);
3234
- React12.useEffect(() => {
3223
+ const ref = React11.useRef(null);
3224
+ React11.useEffect(() => {
3235
3225
  var _a2;
3236
3226
  if (modifiers.focused)
3237
3227
  (_a2 = ref.current) == null ? void 0 : _a2.focus();
3238
3228
  }, [modifiers.focused]);
3239
- return React12.createElement("button", __spreadValues({ ref }, buttonProps));
3229
+ return React11.createElement("button", __spreadValues({ ref }, buttonProps));
3240
3230
  }
3241
3231
 
3242
3232
  // node_modules/react-day-picker/dist/esm/components/Dropdown.js
3243
- import React13 from "react";
3233
+ import React12 from "react";
3244
3234
 
3245
3235
  // node_modules/react-day-picker/dist/esm/UI.js
3246
3236
  var UI;
@@ -3297,84 +3287,83 @@ var Animation;
3297
3287
  Animation2["caption_before_exit"] = "caption_before_exit";
3298
3288
  })(Animation || (Animation = {}));
3299
3289
 
3290
+ // node_modules/react-day-picker/dist/esm/useDayPicker.js
3291
+ import { createContext, useContext } from "react";
3292
+ var dayPickerContext = createContext(void 0);
3293
+ function useDayPicker() {
3294
+ const context = useContext(dayPickerContext);
3295
+ if (context === void 0) {
3296
+ throw new Error("useDayPicker() must be used within a custom component.");
3297
+ }
3298
+ return context;
3299
+ }
3300
+
3300
3301
  // node_modules/react-day-picker/dist/esm/components/Dropdown.js
3301
3302
  function Dropdown(props) {
3302
- const _a = props, { options, className, components, classNames } = _a, selectProps = __objRest(_a, ["options", "className", "components", "classNames"]);
3303
+ const _a = props, { options, className } = _a, selectProps = __objRest(_a, ["options", "className"]);
3304
+ const { classNames, components } = useDayPicker();
3303
3305
  const cssClassSelect = [classNames[UI.Dropdown], className].join(" ");
3304
3306
  const selectedOption = options == null ? void 0 : options.find(({ value }) => value === selectProps.value);
3305
- return React13.createElement(
3307
+ return React12.createElement(
3306
3308
  "span",
3307
3309
  { "data-disabled": selectProps.disabled, className: classNames[UI.DropdownRoot] },
3308
- React13.createElement(components.Select, __spreadValues({ className: cssClassSelect }, selectProps), options == null ? void 0 : options.map(({ value, label, disabled }) => React13.createElement(components.Option, { key: value, value, disabled }, label))),
3309
- React13.createElement(
3310
+ React12.createElement(components.Select, __spreadValues({ className: cssClassSelect }, selectProps), options == null ? void 0 : options.map(({ value, label, disabled }) => React12.createElement(components.Option, { key: value, value, disabled }, label))),
3311
+ React12.createElement(
3310
3312
  "span",
3311
3313
  { className: classNames[UI.CaptionLabel], "aria-hidden": true },
3312
3314
  selectedOption == null ? void 0 : selectedOption.label,
3313
- React13.createElement(components.Chevron, { orientation: "down", size: 18, className: classNames[UI.Chevron] })
3315
+ React12.createElement(components.Chevron, { orientation: "down", size: 18, className: classNames[UI.Chevron] })
3314
3316
  )
3315
3317
  );
3316
3318
  }
3317
3319
 
3318
3320
  // node_modules/react-day-picker/dist/esm/components/DropdownNav.js
3319
- import React14 from "react";
3321
+ import React13 from "react";
3320
3322
  function DropdownNav(props) {
3321
- return React14.createElement("div", __spreadValues({}, props));
3323
+ return React13.createElement("div", __spreadValues({}, props));
3322
3324
  }
3323
3325
 
3324
3326
  // node_modules/react-day-picker/dist/esm/components/Footer.js
3325
- import React15 from "react";
3327
+ import React14 from "react";
3326
3328
  function Footer(props) {
3327
- return React15.createElement("div", __spreadValues({}, props));
3329
+ return React14.createElement("div", __spreadValues({}, props));
3328
3330
  }
3329
3331
 
3330
3332
  // node_modules/react-day-picker/dist/esm/components/Month.js
3331
- import React16 from "react";
3333
+ import React15 from "react";
3332
3334
  function Month(props) {
3333
3335
  const _a = props, { calendarMonth, displayIndex } = _a, divProps = __objRest(_a, ["calendarMonth", "displayIndex"]);
3334
- return React16.createElement("div", __spreadValues({}, divProps), props.children);
3336
+ return React15.createElement("div", __spreadValues({}, divProps), props.children);
3335
3337
  }
3336
3338
 
3337
3339
  // node_modules/react-day-picker/dist/esm/components/MonthCaption.js
3338
- import React17 from "react";
3340
+ import React16 from "react";
3339
3341
  function MonthCaption(props) {
3340
3342
  const _a = props, { calendarMonth, displayIndex } = _a, divProps = __objRest(_a, ["calendarMonth", "displayIndex"]);
3341
- return React17.createElement("div", __spreadValues({}, divProps));
3343
+ return React16.createElement("div", __spreadValues({}, divProps));
3342
3344
  }
3343
3345
 
3344
3346
  // node_modules/react-day-picker/dist/esm/components/MonthGrid.js
3345
- import React18 from "react";
3347
+ import React17 from "react";
3346
3348
  function MonthGrid(props) {
3347
- return React18.createElement("table", __spreadValues({}, props));
3349
+ return React17.createElement("table", __spreadValues({}, props));
3348
3350
  }
3349
3351
 
3350
3352
  // node_modules/react-day-picker/dist/esm/components/Months.js
3351
- import React19 from "react";
3353
+ import React18 from "react";
3352
3354
  function Months(props) {
3353
- return React19.createElement("div", __spreadValues({}, props));
3354
- }
3355
-
3356
- // node_modules/react-day-picker/dist/esm/components/MonthsDropdown.js
3357
- import React20 from "react";
3358
-
3359
- // node_modules/react-day-picker/dist/esm/useDayPicker.js
3360
- import { createContext, useContext } from "react";
3361
- var dayPickerContext = createContext(void 0);
3362
- function useDayPicker() {
3363
- const context = useContext(dayPickerContext);
3364
- if (context === void 0) {
3365
- throw new Error("useDayPicker() must be used within a custom component.");
3366
- }
3367
- return context;
3355
+ return React18.createElement("div", __spreadValues({}, props));
3368
3356
  }
3369
3357
 
3370
3358
  // node_modules/react-day-picker/dist/esm/components/MonthsDropdown.js
3359
+ import React19 from "react";
3371
3360
  function MonthsDropdown(props) {
3372
3361
  const { components } = useDayPicker();
3373
- return React20.createElement(components.Dropdown, __spreadValues({}, props));
3362
+ return React19.createElement(components.Dropdown, __spreadValues({}, props));
3374
3363
  }
3375
3364
 
3376
3365
  // node_modules/react-day-picker/dist/esm/components/Nav.js
3377
- import React21, { useCallback } from "react";
3366
+ import React20, { useCallback } from "react";
3378
3367
  function Nav(props) {
3379
3368
  const _a = props, { onPreviousClick, onNextClick, previousMonth, nextMonth } = _a, navProps = __objRest(_a, ["onPreviousClick", "onNextClick", "previousMonth", "nextMonth"]);
3380
3369
  const { components, classNames, labels: { labelPrevious: labelPrevious2, labelNext: labelNext2 } } = useDayPicker();
@@ -3388,106 +3377,104 @@ function Nav(props) {
3388
3377
  onPreviousClick == null ? void 0 : onPreviousClick(e);
3389
3378
  }
3390
3379
  }, [previousMonth, onPreviousClick]);
3391
- return React21.createElement(
3380
+ return React20.createElement(
3392
3381
  "nav",
3393
3382
  __spreadValues({}, navProps),
3394
- React21.createElement(
3383
+ React20.createElement(
3395
3384
  components.PreviousMonthButton,
3396
3385
  { type: "button", className: classNames[UI.PreviousMonthButton], tabIndex: previousMonth ? void 0 : -1, "aria-disabled": previousMonth ? void 0 : true, "aria-label": labelPrevious2(previousMonth), onClick: handlePreviousClick },
3397
- React21.createElement(components.Chevron, { disabled: previousMonth ? void 0 : true, className: classNames[UI.Chevron], orientation: "left" })
3386
+ React20.createElement(components.Chevron, { disabled: previousMonth ? void 0 : true, className: classNames[UI.Chevron], orientation: "left" })
3398
3387
  ),
3399
- React21.createElement(
3388
+ React20.createElement(
3400
3389
  components.NextMonthButton,
3401
3390
  { type: "button", className: classNames[UI.NextMonthButton], tabIndex: nextMonth ? void 0 : -1, "aria-disabled": nextMonth ? void 0 : true, "aria-label": labelNext2(nextMonth), onClick: handleNextClick },
3402
- React21.createElement(components.Chevron, { disabled: nextMonth ? void 0 : true, orientation: "right", className: classNames[UI.Chevron] })
3391
+ React20.createElement(components.Chevron, { disabled: nextMonth ? void 0 : true, orientation: "right", className: classNames[UI.Chevron] })
3403
3392
  )
3404
3393
  );
3405
3394
  }
3406
3395
 
3407
3396
  // node_modules/react-day-picker/dist/esm/components/NextMonthButton.js
3408
- import React22 from "react";
3397
+ import React21 from "react";
3409
3398
  function NextMonthButton(props) {
3410
- const { components } = useDayPicker();
3411
- return React22.createElement(components.Button, __spreadValues({}, props));
3399
+ return React21.createElement("button", __spreadValues({}, props));
3412
3400
  }
3413
3401
 
3414
3402
  // node_modules/react-day-picker/dist/esm/components/Option.js
3415
- import React23 from "react";
3403
+ import React22 from "react";
3416
3404
  function Option(props) {
3417
- return React23.createElement("option", __spreadValues({}, props));
3405
+ return React22.createElement("option", __spreadValues({}, props));
3418
3406
  }
3419
3407
 
3420
3408
  // node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.js
3421
- import React24 from "react";
3409
+ import React23 from "react";
3422
3410
  function PreviousMonthButton(props) {
3423
- const { components } = useDayPicker();
3424
- return React24.createElement(components.Button, __spreadValues({}, props));
3411
+ return React23.createElement("button", __spreadValues({}, props));
3425
3412
  }
3426
3413
 
3427
3414
  // node_modules/react-day-picker/dist/esm/components/Root.js
3428
- import React25 from "react";
3415
+ import React24 from "react";
3429
3416
  function Root5(props) {
3430
3417
  const _a = props, { rootRef } = _a, rest = __objRest(_a, ["rootRef"]);
3431
- return React25.createElement("div", __spreadProps(__spreadValues({}, rest), { ref: rootRef }));
3418
+ return React24.createElement("div", __spreadProps(__spreadValues({}, rest), { ref: rootRef }));
3432
3419
  }
3433
3420
 
3434
3421
  // node_modules/react-day-picker/dist/esm/components/Select.js
3435
- import React26 from "react";
3422
+ import React25 from "react";
3436
3423
  function Select(props) {
3437
- return React26.createElement("select", __spreadValues({}, props));
3424
+ return React25.createElement("select", __spreadValues({}, props));
3438
3425
  }
3439
3426
 
3440
3427
  // node_modules/react-day-picker/dist/esm/components/Week.js
3441
- import React27 from "react";
3428
+ import React26 from "react";
3442
3429
  function Week(props) {
3443
3430
  const _a = props, { week } = _a, trProps = __objRest(_a, ["week"]);
3444
- return React27.createElement("tr", __spreadValues({}, trProps));
3431
+ return React26.createElement("tr", __spreadValues({}, trProps));
3445
3432
  }
3446
3433
 
3447
3434
  // node_modules/react-day-picker/dist/esm/components/Weekday.js
3448
- import React28 from "react";
3435
+ import React27 from "react";
3449
3436
  function Weekday(props) {
3450
- return React28.createElement("th", __spreadValues({}, props));
3437
+ return React27.createElement("th", __spreadValues({}, props));
3451
3438
  }
3452
3439
 
3453
3440
  // node_modules/react-day-picker/dist/esm/components/Weekdays.js
3454
- import React29 from "react";
3441
+ import React28 from "react";
3455
3442
  function Weekdays(props) {
3456
- return React29.createElement(
3443
+ return React28.createElement(
3457
3444
  "thead",
3458
3445
  { "aria-hidden": true },
3459
- React29.createElement("tr", __spreadValues({}, props))
3446
+ React28.createElement("tr", __spreadValues({}, props))
3460
3447
  );
3461
3448
  }
3462
3449
 
3463
3450
  // node_modules/react-day-picker/dist/esm/components/WeekNumber.js
3464
- import React30 from "react";
3451
+ import React29 from "react";
3465
3452
  function WeekNumber(props) {
3466
3453
  const _a = props, { week } = _a, thProps = __objRest(_a, ["week"]);
3467
- return React30.createElement("th", __spreadValues({}, thProps));
3454
+ return React29.createElement("th", __spreadValues({}, thProps));
3468
3455
  }
3469
3456
 
3470
3457
  // node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.js
3471
- import React31 from "react";
3458
+ import React30 from "react";
3472
3459
  function WeekNumberHeader(props) {
3473
- return React31.createElement("th", __spreadValues({}, props));
3460
+ return React30.createElement("th", __spreadValues({}, props));
3474
3461
  }
3475
3462
 
3476
3463
  // node_modules/react-day-picker/dist/esm/components/Weeks.js
3477
- import React32 from "react";
3464
+ import React31 from "react";
3478
3465
  function Weeks(props) {
3479
- return React32.createElement("tbody", __spreadValues({}, props));
3466
+ return React31.createElement("tbody", __spreadValues({}, props));
3480
3467
  }
3481
3468
 
3482
3469
  // node_modules/react-day-picker/dist/esm/components/YearsDropdown.js
3483
- import React33 from "react";
3470
+ import React32 from "react";
3484
3471
  function YearsDropdown(props) {
3485
3472
  const { components } = useDayPicker();
3486
- return React33.createElement(components.Dropdown, __spreadValues({}, props));
3473
+ return React32.createElement(components.Dropdown, __spreadValues({}, props));
3487
3474
  }
3488
3475
 
3489
3476
  // node_modules/react-day-picker/dist/esm/DayPicker.js
3490
- import React34, { useCallback as useCallback2, useMemo as useMemo2, useRef as useRef2 } from "react";
3477
+ import React33, { useCallback as useCallback2, useMemo as useMemo2, useRef as useRef2 } from "react";
3491
3478
 
3492
3479
  // node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.js
3493
3480
  function rangeIncludesDate(range, date, excludeEnds = false, dateLib = defaultDateLib) {
@@ -3705,12 +3692,10 @@ var formatters_exports = {};
3705
3692
  __export(formatters_exports, {
3706
3693
  formatCaption: () => formatCaption,
3707
3694
  formatDay: () => formatDay,
3708
- formatMonthCaption: () => formatMonthCaption,
3709
3695
  formatMonthDropdown: () => formatMonthDropdown,
3710
3696
  formatWeekNumber: () => formatWeekNumber,
3711
3697
  formatWeekNumberHeader: () => formatWeekNumberHeader,
3712
3698
  formatWeekdayName: () => formatWeekdayName,
3713
- formatYearCaption: () => formatYearCaption,
3714
3699
  formatYearDropdown: () => formatYearDropdown
3715
3700
  });
3716
3701
 
@@ -3719,7 +3704,6 @@ function formatCaption(month, options, dateLib) {
3719
3704
  const lib = dateLib != null ? dateLib : new DateLib(options);
3720
3705
  return lib.formatMonthYear(month);
3721
3706
  }
3722
- var formatMonthCaption = formatCaption;
3723
3707
 
3724
3708
  // node_modules/react-day-picker/dist/esm/formatters/formatDay.js
3725
3709
  function formatDay(date, options, dateLib) {
@@ -3753,24 +3737,15 @@ function formatWeekNumberHeader() {
3753
3737
  function formatYearDropdown(year, dateLib = defaultDateLib) {
3754
3738
  return dateLib.format(year, "yyyy");
3755
3739
  }
3756
- var formatYearCaption = formatYearDropdown;
3757
3740
 
3758
3741
  // node_modules/react-day-picker/dist/esm/helpers/getFormatters.js
3759
3742
  function getFormatters(customFormatters) {
3760
- if ((customFormatters == null ? void 0 : customFormatters.formatMonthCaption) && !customFormatters.formatCaption) {
3761
- customFormatters.formatCaption = customFormatters.formatMonthCaption;
3762
- }
3763
- if ((customFormatters == null ? void 0 : customFormatters.formatYearCaption) && !customFormatters.formatYearDropdown) {
3764
- customFormatters.formatYearDropdown = customFormatters.formatYearCaption;
3765
- }
3766
3743
  return __spreadValues(__spreadValues({}, formatters_exports), customFormatters);
3767
3744
  }
3768
3745
 
3769
3746
  // node_modules/react-day-picker/dist/esm/labels/index.js
3770
3747
  var labels_exports = {};
3771
3748
  __export(labels_exports, {
3772
- labelCaption: () => labelCaption,
3773
- labelDay: () => labelDay,
3774
3749
  labelDayButton: () => labelDayButton,
3775
3750
  labelGrid: () => labelGrid,
3776
3751
  labelGridcell: () => labelGridcell,
@@ -3793,14 +3768,12 @@ function labelDayButton(date, modifiers, options, dateLib) {
3793
3768
  label = `${label}, selected`;
3794
3769
  return label;
3795
3770
  }
3796
- var labelDay = labelDayButton;
3797
3771
 
3798
3772
  // node_modules/react-day-picker/dist/esm/labels/labelGrid.js
3799
3773
  function labelGrid(date, options, dateLib) {
3800
3774
  const lib = dateLib != null ? dateLib : new DateLib(options);
3801
3775
  return lib.formatMonthYear(date);
3802
3776
  }
3803
- var labelCaption = labelGrid;
3804
3777
 
3805
3778
  // node_modules/react-day-picker/dist/esm/labels/labelGridcell.js
3806
3779
  function labelGridcell(date, modifiers, options, dateLib) {
@@ -4144,7 +4117,7 @@ function useAnimation(rootElRef, enabled, { classNames, months, focused, dateLib
4144
4117
  }
4145
4118
  const previousMonthEls = previousRootElSnapshot instanceof HTMLElement ? queryMonthEls(previousRootElSnapshot) : [];
4146
4119
  const currentMonthEls = queryMonthEls(rootElRef.current);
4147
- if ((currentMonthEls == null ? void 0 : currentMonthEls.every((el) => el instanceof HTMLElement)) && previousMonthEls && previousMonthEls.every((el) => el instanceof HTMLElement)) {
4120
+ if ((currentMonthEls == null ? void 0 : currentMonthEls.every((el) => el instanceof HTMLElement)) && (previousMonthEls == null ? void 0 : previousMonthEls.every((el) => el instanceof HTMLElement))) {
4148
4121
  animatingRef.current = true;
4149
4122
  const cleanUpFunctions = [];
4150
4123
  rootElRef.current.style.isolation = "isolate";
@@ -4326,32 +4299,15 @@ function getMonths(displayMonths, dates, props, dateLib) {
4326
4299
  function getNavMonths(props, dateLib) {
4327
4300
  var _a, _b;
4328
4301
  let { startMonth, endMonth } = props;
4329
- const { startOfYear: startOfYear2, startOfDay: startOfDay2, startOfMonth: startOfMonth2, endOfMonth: endOfMonth2, addYears: addYears2, endOfYear: endOfYear2, newDate, today } = dateLib;
4330
- const { fromYear, toYear, fromMonth, toMonth } = props;
4331
- if (!startMonth && fromMonth) {
4332
- startMonth = fromMonth;
4333
- }
4334
- if (!startMonth && fromYear) {
4335
- startMonth = dateLib.newDate(fromYear, 0, 1);
4336
- }
4337
- if (!endMonth && toMonth) {
4338
- endMonth = toMonth;
4339
- }
4340
- if (!endMonth && toYear) {
4341
- endMonth = newDate(toYear, 11, 31);
4342
- }
4302
+ const { startOfYear: startOfYear2, startOfDay: startOfDay2, startOfMonth: startOfMonth2, endOfMonth: endOfMonth2, addYears: addYears2, endOfYear: endOfYear2, today } = dateLib;
4343
4303
  const hasYearDropdown = props.captionLayout === "dropdown" || props.captionLayout === "dropdown-years";
4344
4304
  if (startMonth) {
4345
4305
  startMonth = startOfMonth2(startMonth);
4346
- } else if (fromYear) {
4347
- startMonth = newDate(fromYear, 0, 1);
4348
4306
  } else if (!startMonth && hasYearDropdown) {
4349
4307
  startMonth = startOfYear2(addYears2((_a = props.today) != null ? _a : today(), -100));
4350
4308
  }
4351
4309
  if (endMonth) {
4352
4310
  endMonth = endOfMonth2(endMonth);
4353
- } else if (toYear) {
4354
- endMonth = newDate(toYear, 11, 31);
4355
4311
  } else if (!endMonth && hasYearDropdown) {
4356
4312
  endMonth = endOfYear2((_b = props.today) != null ? _b : today());
4357
4313
  }
@@ -5104,15 +5060,15 @@ function DayPicker(initialProps) {
5104
5060
  const handleDayMouseLeave = useCallback2((day, modifiers) => (e) => {
5105
5061
  onDayMouseLeave == null ? void 0 : onDayMouseLeave(day.date, modifiers, e);
5106
5062
  }, [onDayMouseLeave]);
5107
- const handleMonthChange = useCallback2((date) => (e) => {
5063
+ const handleMonthChange = useCallback2((date, monthOffset) => (e) => {
5108
5064
  const selectedMonth = Number(e.target.value);
5109
5065
  const month = dateLib.setMonth(dateLib.startOfMonth(date), selectedMonth);
5110
- goToMonth(month);
5066
+ goToMonth(dateLib.addMonths(month, -monthOffset));
5111
5067
  }, [dateLib, goToMonth]);
5112
- const handleYearChange = useCallback2((date) => (e) => {
5068
+ const handleYearChange = useCallback2((date, monthOffset) => (e) => {
5113
5069
  const selectedYear = Number(e.target.value);
5114
5070
  const month = dateLib.setYear(dateLib.startOfMonth(date), selectedYear);
5115
- goToMonth(month);
5071
+ goToMonth(dateLib.addMonths(month, -monthOffset));
5116
5072
  }, [dateLib, goToMonth]);
5117
5073
  const { className, style } = useMemo2(() => ({
5118
5074
  className: [classNames[UI.Root], props.className].filter(Boolean).join(" "),
@@ -5142,18 +5098,19 @@ function DayPicker(initialProps) {
5142
5098
  labels,
5143
5099
  formatters: formatters2
5144
5100
  };
5145
- return React34.createElement(
5101
+ return React33.createElement(
5146
5102
  dayPickerContext.Provider,
5147
5103
  { value: contextValue },
5148
- React34.createElement(
5104
+ React33.createElement(
5149
5105
  components.Root,
5150
5106
  __spreadValues({ rootRef: props.animate ? rootElRef : void 0, className, style, dir: props.dir, id: props.id, lang: (_c = props.lang) != null ? _c : locale.code, nonce: props.nonce, title: props.title, role: props.role, "aria-label": props["aria-label"], "aria-labelledby": props["aria-labelledby"] }, dataAttributes),
5151
- React34.createElement(
5107
+ React33.createElement(
5152
5108
  components.Months,
5153
5109
  { className: classNames[UI.Months], style: styles == null ? void 0 : styles[UI.Months] },
5154
- !props.hideNavigation && !navLayout && React34.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 }),
5110
+ !props.hideNavigation && !navLayout && React33.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 }),
5155
5111
  months.map((calendarMonth, displayIndex) => {
5156
- return React34.createElement(
5112
+ const monthOffset = props.reverseMonths ? months.length - 1 - displayIndex : displayIndex;
5113
+ return React33.createElement(
5157
5114
  components.Month,
5158
5115
  {
5159
5116
  "data-animated-month": props.animate ? "true" : void 0,
@@ -5164,21 +5121,21 @@ function DayPicker(initialProps) {
5164
5121
  displayIndex,
5165
5122
  calendarMonth
5166
5123
  },
5167
- navLayout === "around" && !props.hideNavigation && displayIndex === 0 && React34.createElement(
5124
+ navLayout === "around" && !props.hideNavigation && displayIndex === 0 && React33.createElement(
5168
5125
  components.PreviousMonthButton,
5169
5126
  { type: "button", className: classNames[UI.PreviousMonthButton], tabIndex: previousMonth ? void 0 : -1, "aria-disabled": previousMonth ? void 0 : true, "aria-label": labelPrevious2(previousMonth), onClick: handlePreviousClick, "data-animated-button": props.animate ? "true" : void 0 },
5170
- React34.createElement(components.Chevron, { disabled: previousMonth ? void 0 : true, className: classNames[UI.Chevron], orientation: props.dir === "rtl" ? "right" : "left" })
5127
+ React33.createElement(components.Chevron, { disabled: previousMonth ? void 0 : true, className: classNames[UI.Chevron], orientation: props.dir === "rtl" ? "right" : "left" })
5171
5128
  ),
5172
- React34.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")) ? React34.createElement(
5129
+ React33.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")) ? React33.createElement(
5173
5130
  components.DropdownNav,
5174
5131
  { className: classNames[UI.Dropdowns], style: styles == null ? void 0 : styles[UI.Dropdowns] },
5175
5132
  (() => {
5176
- const monthControl = captionLayout === "dropdown" || captionLayout === "dropdown-months" ? React34.createElement(components.MonthsDropdown, { key: "month", className: classNames[UI.MonthsDropdown], "aria-label": labelMonthDropdown2(), classNames, components, disabled: Boolean(props.disableNavigation), onChange: handleMonthChange(calendarMonth.date), options: getMonthOptions(calendarMonth.date, navStart, navEnd, formatters2, dateLib), style: styles == null ? void 0 : styles[UI.Dropdown], value: dateLib.getMonth(calendarMonth.date) }) : React34.createElement("span", { key: "month" }, formatMonthDropdown2(calendarMonth.date, dateLib));
5177
- const yearControl = captionLayout === "dropdown" || captionLayout === "dropdown-years" ? React34.createElement(components.YearsDropdown, { key: "year", className: classNames[UI.YearsDropdown], "aria-label": labelYearDropdown2(dateLib.options), classNames, components, disabled: Boolean(props.disableNavigation), onChange: handleYearChange(calendarMonth.date), options: getYearOptions(navStart, navEnd, formatters2, dateLib, Boolean(props.reverseYears)), style: styles == null ? void 0 : styles[UI.Dropdown], value: dateLib.getYear(calendarMonth.date) }) : React34.createElement("span", { key: "year" }, formatYearDropdown2(calendarMonth.date, dateLib));
5133
+ const monthControl = captionLayout === "dropdown" || captionLayout === "dropdown-months" ? React33.createElement(components.MonthsDropdown, { key: "month", className: classNames[UI.MonthsDropdown], "aria-label": labelMonthDropdown2(), disabled: Boolean(props.disableNavigation), onChange: handleMonthChange(calendarMonth.date, monthOffset), options: getMonthOptions(calendarMonth.date, navStart, navEnd, formatters2, dateLib), style: styles == null ? void 0 : styles[UI.Dropdown], value: dateLib.getMonth(calendarMonth.date) }) : React33.createElement("span", { key: "month" }, formatMonthDropdown2(calendarMonth.date, dateLib));
5134
+ const yearControl = captionLayout === "dropdown" || captionLayout === "dropdown-years" ? React33.createElement(components.YearsDropdown, { key: "year", className: classNames[UI.YearsDropdown], "aria-label": labelYearDropdown2(dateLib.options), disabled: Boolean(props.disableNavigation), onChange: handleYearChange(calendarMonth.date, monthOffset), options: getYearOptions(navStart, navEnd, formatters2, dateLib, Boolean(props.reverseYears)), style: styles == null ? void 0 : styles[UI.Dropdown], value: dateLib.getYear(calendarMonth.date) }) : React33.createElement("span", { key: "year" }, formatYearDropdown2(calendarMonth.date, dateLib));
5178
5135
  const controls = dateLib.getMonthYearOrder() === "year-first" ? [yearControl, monthControl] : [monthControl, yearControl];
5179
5136
  return controls;
5180
5137
  })(),
5181
- React34.createElement("span", { role: "status", "aria-live": "polite", style: {
5138
+ React33.createElement("span", { role: "status", "aria-live": "polite", style: {
5182
5139
  border: 0,
5183
5140
  clip: "rect(0 0 0 0)",
5184
5141
  height: "1px",
@@ -5190,27 +5147,27 @@ function DayPicker(initialProps) {
5190
5147
  whiteSpace: "nowrap",
5191
5148
  wordWrap: "normal"
5192
5149
  } }, formatCaption2(calendarMonth.date, dateLib.options, dateLib))
5193
- ) : React34.createElement(components.CaptionLabel, { className: classNames[UI.CaptionLabel], role: "status", "aria-live": "polite" }, formatCaption2(calendarMonth.date, dateLib.options, dateLib))),
5194
- navLayout === "around" && !props.hideNavigation && displayIndex === numberOfMonths - 1 && React34.createElement(
5150
+ ) : React33.createElement(components.CaptionLabel, { className: classNames[UI.CaptionLabel], role: "status", "aria-live": "polite" }, formatCaption2(calendarMonth.date, dateLib.options, dateLib))),
5151
+ navLayout === "around" && !props.hideNavigation && displayIndex === numberOfMonths - 1 && React33.createElement(
5195
5152
  components.NextMonthButton,
5196
5153
  { type: "button", className: classNames[UI.NextMonthButton], tabIndex: nextMonth ? void 0 : -1, "aria-disabled": nextMonth ? void 0 : true, "aria-label": labelNext2(nextMonth), onClick: handleNextClick, "data-animated-button": props.animate ? "true" : void 0 },
5197
- React34.createElement(components.Chevron, { disabled: nextMonth ? void 0 : true, className: classNames[UI.Chevron], orientation: props.dir === "rtl" ? "left" : "right" })
5154
+ React33.createElement(components.Chevron, { disabled: nextMonth ? void 0 : true, className: classNames[UI.Chevron], orientation: props.dir === "rtl" ? "left" : "right" })
5198
5155
  ),
5199
- displayIndex === numberOfMonths - 1 && navLayout === "after" && !props.hideNavigation && React34.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 }),
5200
- React34.createElement(
5156
+ displayIndex === numberOfMonths - 1 && navLayout === "after" && !props.hideNavigation && React33.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 }),
5157
+ React33.createElement(
5201
5158
  components.MonthGrid,
5202
5159
  { 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] },
5203
- !props.hideWeekdays && React34.createElement(
5160
+ !props.hideWeekdays && React33.createElement(
5204
5161
  components.Weekdays,
5205
5162
  { "data-animated-weekdays": props.animate ? "true" : void 0, className: classNames[UI.Weekdays], style: styles == null ? void 0 : styles[UI.Weekdays] },
5206
- showWeekNumber && React34.createElement(components.WeekNumberHeader, { "aria-label": labelWeekNumberHeader2(dateLib.options), className: classNames[UI.WeekNumberHeader], style: styles == null ? void 0 : styles[UI.WeekNumberHeader], scope: "col" }, formatWeekNumberHeader2()),
5207
- weekdays.map((weekday) => React34.createElement(components.Weekday, { "aria-label": labelWeekday2(weekday, dateLib.options, dateLib), className: classNames[UI.Weekday], key: String(weekday), style: styles == null ? void 0 : styles[UI.Weekday], scope: "col" }, formatWeekdayName2(weekday, dateLib.options, dateLib)))
5163
+ showWeekNumber && React33.createElement(components.WeekNumberHeader, { "aria-label": labelWeekNumberHeader2(dateLib.options), className: classNames[UI.WeekNumberHeader], style: styles == null ? void 0 : styles[UI.WeekNumberHeader], scope: "col" }, formatWeekNumberHeader2()),
5164
+ weekdays.map((weekday) => React33.createElement(components.Weekday, { "aria-label": labelWeekday2(weekday, dateLib.options, dateLib), className: classNames[UI.Weekday], key: String(weekday), style: styles == null ? void 0 : styles[UI.Weekday], scope: "col" }, formatWeekdayName2(weekday, dateLib.options, dateLib)))
5208
5165
  ),
5209
- React34.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) => {
5210
- return React34.createElement(
5166
+ React33.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) => {
5167
+ return React33.createElement(
5211
5168
  components.Week,
5212
5169
  { className: classNames[UI.Week], key: week.weekNumber, style: styles == null ? void 0 : styles[UI.Week], week },
5213
- showWeekNumber && React34.createElement(components.WeekNumber, { week, style: styles == null ? void 0 : styles[UI.WeekNumber], "aria-label": labelWeekNumber2(week.weekNumber, {
5170
+ showWeekNumber && React33.createElement(components.WeekNumber, { week, style: styles == null ? void 0 : styles[UI.WeekNumber], "aria-label": labelWeekNumber2(week.weekNumber, {
5214
5171
  locale
5215
5172
  }), className: classNames[UI.WeekNumber], scope: "row", role: "rowheader" }, formatWeekNumber2(week.weekNumber, dateLib)),
5216
5173
  week.days.map((day) => {
@@ -5227,7 +5184,7 @@ function DayPicker(initialProps) {
5227
5184
  const style2 = getStyleForModifiers(modifiers, styles, props.modifiersStyles);
5228
5185
  const className2 = getClassNamesForModifiers(modifiers, classNames, props.modifiersClassNames);
5229
5186
  const ariaLabel = !isInteractive && !modifiers.hidden ? labelGridcell2(date, modifiers, dateLib.options, dateLib) : void 0;
5230
- return React34.createElement(components.Day, { key: `${day.isoDate}_${day.displayMonthId}`, day, modifiers, className: className2.join(" "), style: style2, role: "gridcell", "aria-selected": modifiers.selected || void 0, "aria-label": ariaLabel, "data-day": day.isoDate, "data-month": day.outside ? day.dateMonthId : void 0, "data-selected": modifiers.selected || void 0, "data-disabled": modifiers.disabled || void 0, "data-hidden": modifiers.hidden || void 0, "data-outside": day.outside || void 0, "data-focused": modifiers.focused || void 0, "data-today": modifiers.today || void 0 }, !modifiers.hidden && isInteractive ? React34.createElement(components.DayButton, { className: classNames[UI.DayButton], style: styles == null ? void 0 : styles[UI.DayButton], type: "button", day, modifiers, disabled: !modifiers.focused && modifiers.disabled || void 0, "aria-disabled": modifiers.focused && modifiers.disabled || void 0, tabIndex: isFocusTarget(day) ? 0 : -1, "aria-label": labelDayButton2(date, modifiers, dateLib.options, dateLib), onClick: handleDayClick(day, modifiers), onBlur: handleDayBlur(day, modifiers), onFocus: handleDayFocus(day, modifiers), onKeyDown: handleDayKeyDown(day, modifiers), onMouseEnter: handleDayMouseEnter(day, modifiers), onMouseLeave: handleDayMouseLeave(day, modifiers) }, formatDay2(date, dateLib.options, dateLib)) : !modifiers.hidden && formatDay2(day.date, dateLib.options, dateLib));
5187
+ return React33.createElement(components.Day, { key: `${day.isoDate}_${day.displayMonthId}`, day, modifiers, className: className2.join(" "), style: style2, role: "gridcell", "aria-selected": modifiers.selected || void 0, "aria-label": ariaLabel, "data-day": day.isoDate, "data-month": day.outside ? day.dateMonthId : void 0, "data-selected": modifiers.selected || void 0, "data-disabled": modifiers.disabled || void 0, "data-hidden": modifiers.hidden || void 0, "data-outside": day.outside || void 0, "data-focused": modifiers.focused || void 0, "data-today": modifiers.today || void 0 }, !modifiers.hidden && isInteractive ? React33.createElement(components.DayButton, { className: classNames[UI.DayButton], style: styles == null ? void 0 : styles[UI.DayButton], type: "button", day, modifiers, disabled: !modifiers.focused && modifiers.disabled || void 0, "aria-disabled": modifiers.focused && modifiers.disabled || void 0, tabIndex: isFocusTarget(day) ? 0 : -1, "aria-label": labelDayButton2(date, modifiers, dateLib.options, dateLib), onClick: handleDayClick(day, modifiers), onBlur: handleDayBlur(day, modifiers), onFocus: handleDayFocus(day, modifiers), onKeyDown: handleDayKeyDown(day, modifiers), onMouseEnter: handleDayMouseEnter(day, modifiers), onMouseLeave: handleDayMouseLeave(day, modifiers) }, formatDay2(date, dateLib.options, dateLib)) : !modifiers.hidden && formatDay2(day.date, dateLib.options, dateLib));
5231
5188
  })
5232
5189
  );
5233
5190
  }))
@@ -5235,7 +5192,7 @@ function DayPicker(initialProps) {
5235
5192
  );
5236
5193
  })
5237
5194
  ),
5238
- props.footer && React34.createElement(components.Footer, { className: classNames[UI.Footer], style: styles == null ? void 0 : styles[UI.Footer], role: "status", "aria-live": "polite" }, props.footer)
5195
+ props.footer && React33.createElement(components.Footer, { className: classNames[UI.Footer], style: styles == null ? void 0 : styles[UI.Footer], role: "status", "aria-live": "polite" }, props.footer)
5239
5196
  )
5240
5197
  );
5241
5198
  }
@@ -5258,37 +5215,40 @@ function Calendar(_a) {
5258
5215
  showOutsideDays,
5259
5216
  className: cn("p-3", className),
5260
5217
  classNames: __spreadValues({
5261
- months: "flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0",
5218
+ months: "flex flex-col gap-4 sm:flex-row sm:gap-x-4 sm:gap-y-0",
5262
5219
  month: "space-y-4",
5263
- caption: "flex justify-center pt-1 relative items-center",
5220
+ month_caption: "relative flex items-center justify-center pt-1",
5264
5221
  caption_label: "text-sm font-medium",
5265
- nav: "space-x-1 flex items-center",
5266
- nav_button: cn(
5222
+ nav: "flex items-center gap-1",
5223
+ button_previous: cn(
5267
5224
  buttonVariants({ variant: "outline" }),
5268
- "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"
5225
+ "absolute left-1 h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"
5269
5226
  ),
5270
- nav_button_previous: "absolute left-1",
5271
- nav_button_next: "absolute right-1",
5272
- table: "w-full border-collapse space-y-1",
5273
- head_row: "flex",
5274
- head_cell: "text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]",
5275
- row: "flex w-full mt-2",
5276
- cell: cn(
5277
- "relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected].day-range-end)]:rounded-r-md",
5278
- props.mode === "range" ? "[&:has(>.day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md" : "[&:has([aria-selected])]:rounded-md"
5227
+ button_next: cn(
5228
+ buttonVariants({ variant: "outline" }),
5229
+ "absolute right-1 h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100"
5279
5230
  ),
5231
+ month_grid: "w-full border-collapse space-y-1",
5232
+ weekdays: "flex",
5233
+ weekday: "w-8 rounded-md text-[0.8rem] font-normal text-muted-foreground",
5234
+ weeks: "space-y-1",
5235
+ week: "mt-2 flex w-full",
5280
5236
  day: cn(
5237
+ "relative h-8 w-8 p-0 text-center text-sm focus-within:relative focus-within:z-20",
5238
+ props.mode === "range" ? "first:rounded-l-md last:rounded-r-md" : "rounded-md"
5239
+ ),
5240
+ day_button: cn(
5281
5241
  buttonVariants({ variant: "ghost" }),
5282
- "h-8 w-8 p-0 font-normal aria-selected:opacity-100"
5242
+ "h-8 w-8 p-0 font-normal"
5283
5243
  ),
5284
- day_range_start: "day-range-start",
5285
- day_range_end: "day-range-end",
5286
- day_selected: "bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",
5287
- day_today: "bg-accent text-accent-foreground",
5288
- day_outside: "day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30",
5289
- day_disabled: "text-muted-foreground opacity-50",
5290
- day_range_middle: "aria-selected:bg-accent aria-selected:text-accent-foreground",
5291
- day_hidden: "invisible"
5244
+ selected: "[&>button]:bg-primary [&>button]:text-primary-foreground [&>button:hover]:bg-primary [&>button:hover]:text-primary-foreground [&>button:focus]:bg-primary [&>button:focus]:text-primary-foreground",
5245
+ today: "[&>button]:bg-accent [&>button]:text-accent-foreground",
5246
+ outside: "text-muted-foreground opacity-50 [&>button]:text-muted-foreground",
5247
+ disabled: "text-muted-foreground opacity-50 [&>button]:cursor-not-allowed",
5248
+ range_start: "rounded-l-md [&>button]:rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground",
5249
+ range_middle: "[&>button]:bg-accent [&>button]:text-accent-foreground [&>button]:rounded-none",
5250
+ range_end: "rounded-r-md [&>button]:rounded-r-md [&>button]:bg-primary [&>button]:text-primary-foreground",
5251
+ hidden: "invisible"
5292
5252
  }, classNames)
5293
5253
  }, props)
5294
5254
  );
@@ -5296,9 +5256,9 @@ function Calendar(_a) {
5296
5256
  Calendar.displayName = "Calendar";
5297
5257
 
5298
5258
  // src/components/card.tsx
5299
- import * as React35 from "react";
5259
+ import * as React34 from "react";
5300
5260
  import { jsx as jsx10 } from "react/jsx-runtime";
5301
- var Card = React35.forwardRef((_a, ref) => {
5261
+ var Card = React34.forwardRef((_a, ref) => {
5302
5262
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5303
5263
  return /* @__PURE__ */ jsx10(
5304
5264
  "div",
@@ -5312,7 +5272,7 @@ var Card = React35.forwardRef((_a, ref) => {
5312
5272
  );
5313
5273
  });
5314
5274
  Card.displayName = "Card";
5315
- var CardHeader = React35.forwardRef((_a, ref) => {
5275
+ var CardHeader = React34.forwardRef((_a, ref) => {
5316
5276
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5317
5277
  return /* @__PURE__ */ jsx10(
5318
5278
  "div",
@@ -5323,7 +5283,7 @@ var CardHeader = React35.forwardRef((_a, ref) => {
5323
5283
  );
5324
5284
  });
5325
5285
  CardHeader.displayName = "CardHeader";
5326
- var CardTitle = React35.forwardRef((_a, ref) => {
5286
+ var CardTitle = React34.forwardRef((_a, ref) => {
5327
5287
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5328
5288
  return /* @__PURE__ */ jsx10(
5329
5289
  "h3",
@@ -5334,7 +5294,7 @@ var CardTitle = React35.forwardRef((_a, ref) => {
5334
5294
  );
5335
5295
  });
5336
5296
  CardTitle.displayName = "CardTitle";
5337
- var CardDescription = React35.forwardRef((_a, ref) => {
5297
+ var CardDescription = React34.forwardRef((_a, ref) => {
5338
5298
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5339
5299
  return /* @__PURE__ */ jsx10(
5340
5300
  "p",
@@ -5345,12 +5305,12 @@ var CardDescription = React35.forwardRef((_a, ref) => {
5345
5305
  );
5346
5306
  });
5347
5307
  CardDescription.displayName = "CardDescription";
5348
- var CardContent = React35.forwardRef((_a, ref) => {
5308
+ var CardContent = React34.forwardRef((_a, ref) => {
5349
5309
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5350
5310
  return /* @__PURE__ */ jsx10("div", __spreadValues({ ref, className: cn("p-6 pt-0", className) }, props));
5351
5311
  });
5352
5312
  CardContent.displayName = "CardContent";
5353
- var CardFooter = React35.forwardRef((_a, ref) => {
5313
+ var CardFooter = React34.forwardRef((_a, ref) => {
5354
5314
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5355
5315
  return /* @__PURE__ */ jsx10(
5356
5316
  "div",
@@ -5365,17 +5325,17 @@ CardFooter.displayName = "CardFooter";
5365
5325
  // src/components/carousel.tsx
5366
5326
  import { ArrowLeftIcon, ArrowRightIcon } from "@radix-ui/react-icons";
5367
5327
  import useEmblaCarousel from "embla-carousel-react";
5368
- import * as React36 from "react";
5328
+ import * as React35 from "react";
5369
5329
  import { jsx as jsx11, jsxs as jsxs5 } from "react/jsx-runtime";
5370
- var CarouselContext = React36.createContext(null);
5330
+ var CarouselContext = React35.createContext(null);
5371
5331
  function useCarousel() {
5372
- const context = React36.useContext(CarouselContext);
5332
+ const context = React35.useContext(CarouselContext);
5373
5333
  if (!context) {
5374
5334
  throw new Error("useCarousel must be used within a <Carousel />");
5375
5335
  }
5376
5336
  return context;
5377
5337
  }
5378
- var Carousel = React36.forwardRef(
5338
+ var Carousel = React35.forwardRef(
5379
5339
  (_a, ref) => {
5380
5340
  var _b = _a, {
5381
5341
  orientation = "horizontal",
@@ -5398,22 +5358,22 @@ var Carousel = React36.forwardRef(
5398
5358
  }),
5399
5359
  plugins
5400
5360
  );
5401
- const [canScrollPrev, setCanScrollPrev] = React36.useState(false);
5402
- const [canScrollNext, setCanScrollNext] = React36.useState(false);
5403
- const onSelect = React36.useCallback((api2) => {
5361
+ const [canScrollPrev, setCanScrollPrev] = React35.useState(false);
5362
+ const [canScrollNext, setCanScrollNext] = React35.useState(false);
5363
+ const onSelect = React35.useCallback((api2) => {
5404
5364
  if (!api2) {
5405
5365
  return;
5406
5366
  }
5407
5367
  setCanScrollPrev(api2.canScrollPrev());
5408
5368
  setCanScrollNext(api2.canScrollNext());
5409
5369
  }, []);
5410
- const scrollPrev = React36.useCallback(() => {
5370
+ const scrollPrev = React35.useCallback(() => {
5411
5371
  api == null ? void 0 : api.scrollPrev();
5412
5372
  }, [api]);
5413
- const scrollNext = React36.useCallback(() => {
5373
+ const scrollNext = React35.useCallback(() => {
5414
5374
  api == null ? void 0 : api.scrollNext();
5415
5375
  }, [api]);
5416
- const handleKeyDown = React36.useCallback(
5376
+ const handleKeyDown = React35.useCallback(
5417
5377
  (event) => {
5418
5378
  if (event.key === "ArrowLeft") {
5419
5379
  event.preventDefault();
@@ -5425,13 +5385,13 @@ var Carousel = React36.forwardRef(
5425
5385
  },
5426
5386
  [scrollPrev, scrollNext]
5427
5387
  );
5428
- React36.useEffect(() => {
5388
+ React35.useEffect(() => {
5429
5389
  if (!api || !setApi) {
5430
5390
  return;
5431
5391
  }
5432
5392
  setApi(api);
5433
5393
  }, [api, setApi]);
5434
- React36.useEffect(() => {
5394
+ React35.useEffect(() => {
5435
5395
  if (!api) {
5436
5396
  return;
5437
5397
  }
@@ -5472,7 +5432,7 @@ var Carousel = React36.forwardRef(
5472
5432
  }
5473
5433
  );
5474
5434
  Carousel.displayName = "Carousel";
5475
- var CarouselContent = React36.forwardRef((_a, ref) => {
5435
+ var CarouselContent = React35.forwardRef((_a, ref) => {
5476
5436
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5477
5437
  const { carouselRef, orientation } = useCarousel();
5478
5438
  return /* @__PURE__ */ jsx11("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ jsx11(
@@ -5488,7 +5448,7 @@ var CarouselContent = React36.forwardRef((_a, ref) => {
5488
5448
  ) });
5489
5449
  });
5490
5450
  CarouselContent.displayName = "CarouselContent";
5491
- var CarouselItem = React36.forwardRef((_a, ref) => {
5451
+ var CarouselItem = React35.forwardRef((_a, ref) => {
5492
5452
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5493
5453
  const { orientation } = useCarousel();
5494
5454
  return /* @__PURE__ */ jsx11(
@@ -5506,7 +5466,7 @@ var CarouselItem = React36.forwardRef((_a, ref) => {
5506
5466
  );
5507
5467
  });
5508
5468
  CarouselItem.displayName = "CarouselItem";
5509
- var CarouselPrevious = React36.forwardRef((_a, ref) => {
5469
+ var CarouselPrevious = React35.forwardRef((_a, ref) => {
5510
5470
  var _b = _a, { className, variant = "outline", size = "icon" } = _b, props = __objRest(_b, ["className", "variant", "size"]);
5511
5471
  const { orientation, scrollPrev, canScrollPrev } = useCarousel();
5512
5472
  return /* @__PURE__ */ jsxs5(
@@ -5531,7 +5491,7 @@ var CarouselPrevious = React36.forwardRef((_a, ref) => {
5531
5491
  );
5532
5492
  });
5533
5493
  CarouselPrevious.displayName = "CarouselPrevious";
5534
- var CarouselNext = React36.forwardRef((_a, ref) => {
5494
+ var CarouselNext = React35.forwardRef((_a, ref) => {
5535
5495
  var _b = _a, { className, variant = "outline", size = "icon" } = _b, props = __objRest(_b, ["className", "variant", "size"]);
5536
5496
  const { orientation, scrollNext, canScrollNext } = useCarousel();
5537
5497
  return /* @__PURE__ */ jsxs5(
@@ -5560,7 +5520,7 @@ CarouselNext.displayName = "CarouselNext";
5560
5520
  // src/components/checkbox.tsx
5561
5521
  import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
5562
5522
  import { CheckIcon } from "@radix-ui/react-icons";
5563
- import * as React37 from "react";
5523
+ import * as React36 from "react";
5564
5524
  import { jsx as jsx12 } from "react/jsx-runtime";
5565
5525
  var checkboxSizes = {
5566
5526
  sm: "h-4 w-4 rounded",
@@ -5579,7 +5539,7 @@ var checkboxVariants = {
5579
5539
  success: "border-input bg-background data-[state=checked]:border-emerald-500 data-[state=checked]:bg-emerald-500 data-[state=checked]:text-white",
5580
5540
  destructive: "border-input bg-background data-[state=checked]:border-destructive data-[state=checked]:bg-destructive data-[state=checked]:text-destructive-foreground"
5581
5541
  };
5582
- var Checkbox = React37.forwardRef(
5542
+ var Checkbox = React36.forwardRef(
5583
5543
  (_a, ref) => {
5584
5544
  var _b = _a, {
5585
5545
  className,
@@ -5646,18 +5606,18 @@ var CollapsibleContent2 = CollapsiblePrimitive.CollapsibleContent;
5646
5606
  // src/components/command.tsx
5647
5607
  import { MagnifyingGlassIcon } from "@radix-ui/react-icons";
5648
5608
  import { Command as CommandPrimitive } from "cmdk";
5649
- import * as React39 from "react";
5609
+ import * as React38 from "react";
5650
5610
 
5651
5611
  // src/components/dialog.tsx
5652
5612
  import * as DialogPrimitive from "@radix-ui/react-dialog";
5653
5613
  import { Cross2Icon } from "@radix-ui/react-icons";
5654
- import * as React38 from "react";
5614
+ import * as React37 from "react";
5655
5615
  import { jsx as jsx13, jsxs as jsxs6 } from "react/jsx-runtime";
5656
5616
  var Dialog = DialogPrimitive.Root;
5657
5617
  var DialogTrigger = DialogPrimitive.Trigger;
5658
5618
  var DialogPortal = DialogPrimitive.Portal;
5659
5619
  var DialogClose = DialogPrimitive.Close;
5660
- var DialogOverlay = React38.forwardRef((_a, ref) => {
5620
+ var DialogOverlay = React37.forwardRef((_a, ref) => {
5661
5621
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5662
5622
  return /* @__PURE__ */ jsx13(
5663
5623
  DialogPrimitive.Overlay,
@@ -5671,7 +5631,7 @@ var DialogOverlay = React38.forwardRef((_a, ref) => {
5671
5631
  );
5672
5632
  });
5673
5633
  DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
5674
- var DialogContent = React38.forwardRef((_a, ref) => {
5634
+ var DialogContent = React37.forwardRef((_a, ref) => {
5675
5635
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
5676
5636
  return /* @__PURE__ */ jsxs6(DialogPortal, { children: [
5677
5637
  /* @__PURE__ */ jsx13(DialogOverlay, {}),
@@ -5730,7 +5690,7 @@ var DialogFooter = (_a) => {
5730
5690
  );
5731
5691
  };
5732
5692
  DialogFooter.displayName = "DialogFooter";
5733
- var DialogTitle = React38.forwardRef((_a, ref) => {
5693
+ var DialogTitle = React37.forwardRef((_a, ref) => {
5734
5694
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5735
5695
  return /* @__PURE__ */ jsx13(
5736
5696
  DialogPrimitive.Title,
@@ -5744,7 +5704,7 @@ var DialogTitle = React38.forwardRef((_a, ref) => {
5744
5704
  );
5745
5705
  });
5746
5706
  DialogTitle.displayName = DialogPrimitive.Title.displayName;
5747
- var DialogDescription = React38.forwardRef((_a, ref) => {
5707
+ var DialogDescription = React37.forwardRef((_a, ref) => {
5748
5708
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5749
5709
  return /* @__PURE__ */ jsx13(
5750
5710
  DialogPrimitive.Description,
@@ -5758,7 +5718,7 @@ DialogDescription.displayName = DialogPrimitive.Description.displayName;
5758
5718
 
5759
5719
  // src/components/command.tsx
5760
5720
  import { jsx as jsx14, jsxs as jsxs7 } from "react/jsx-runtime";
5761
- var Command = React39.forwardRef((_a, ref) => {
5721
+ var Command = React38.forwardRef((_a, ref) => {
5762
5722
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5763
5723
  return /* @__PURE__ */ jsx14(
5764
5724
  CommandPrimitive,
@@ -5776,7 +5736,7 @@ var CommandDialog = (_a) => {
5776
5736
  var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
5777
5737
  return /* @__PURE__ */ jsx14(Dialog, __spreadProps(__spreadValues({}, props), { children: /* @__PURE__ */ jsx14(DialogContent, { className: "overflow-hidden p-0", children: /* @__PURE__ */ jsx14(Command, { className: "[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5", children }) }) }));
5778
5738
  };
5779
- var CommandInput = React39.forwardRef((_a, ref) => {
5739
+ var CommandInput = React38.forwardRef((_a, ref) => {
5780
5740
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5781
5741
  return /* @__PURE__ */ jsxs7("div", { className: "flex items-center border-b px-3", "cmdk-input-wrapper": "", children: [
5782
5742
  /* @__PURE__ */ jsx14(MagnifyingGlassIcon, { className: "mr-2 h-4 w-4 shrink-0 opacity-50" }),
@@ -5793,7 +5753,7 @@ var CommandInput = React39.forwardRef((_a, ref) => {
5793
5753
  ] });
5794
5754
  });
5795
5755
  CommandInput.displayName = CommandPrimitive.Input.displayName;
5796
- var CommandList = React39.forwardRef((_a, ref) => {
5756
+ var CommandList = React38.forwardRef((_a, ref) => {
5797
5757
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5798
5758
  return /* @__PURE__ */ jsx14(
5799
5759
  CommandPrimitive.List,
@@ -5804,7 +5764,7 @@ var CommandList = React39.forwardRef((_a, ref) => {
5804
5764
  );
5805
5765
  });
5806
5766
  CommandList.displayName = CommandPrimitive.List.displayName;
5807
- var CommandEmpty = React39.forwardRef((props, ref) => /* @__PURE__ */ jsx14(
5767
+ var CommandEmpty = React38.forwardRef((props, ref) => /* @__PURE__ */ jsx14(
5808
5768
  CommandPrimitive.Empty,
5809
5769
  __spreadValues({
5810
5770
  ref,
@@ -5812,7 +5772,7 @@ var CommandEmpty = React39.forwardRef((props, ref) => /* @__PURE__ */ jsx14(
5812
5772
  }, props)
5813
5773
  ));
5814
5774
  CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
5815
- var CommandGroup = React39.forwardRef((_a, ref) => {
5775
+ var CommandGroup = React38.forwardRef((_a, ref) => {
5816
5776
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5817
5777
  return /* @__PURE__ */ jsx14(
5818
5778
  CommandPrimitive.Group,
@@ -5826,7 +5786,7 @@ var CommandGroup = React39.forwardRef((_a, ref) => {
5826
5786
  );
5827
5787
  });
5828
5788
  CommandGroup.displayName = CommandPrimitive.Group.displayName;
5829
- var CommandSeparator = React39.forwardRef((_a, ref) => {
5789
+ var CommandSeparator = React38.forwardRef((_a, ref) => {
5830
5790
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5831
5791
  return /* @__PURE__ */ jsx14(
5832
5792
  CommandPrimitive.Separator,
@@ -5837,7 +5797,7 @@ var CommandSeparator = React39.forwardRef((_a, ref) => {
5837
5797
  );
5838
5798
  });
5839
5799
  CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
5840
- var CommandItem = React39.forwardRef((_a, ref) => {
5800
+ var CommandItem = React38.forwardRef((_a, ref) => {
5841
5801
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5842
5802
  return /* @__PURE__ */ jsx14(
5843
5803
  CommandPrimitive.Item,
@@ -5876,7 +5836,7 @@ import {
5876
5836
  ChevronRightIcon as ChevronRightIcon2,
5877
5837
  DotFilledIcon
5878
5838
  } from "@radix-ui/react-icons";
5879
- import * as React40 from "react";
5839
+ import * as React39 from "react";
5880
5840
  import { jsx as jsx15, jsxs as jsxs8 } from "react/jsx-runtime";
5881
5841
  var ContextMenu = ContextMenuPrimitive.Root;
5882
5842
  var ContextMenuTrigger = ContextMenuPrimitive.Trigger;
@@ -5884,7 +5844,7 @@ var ContextMenuGroup = ContextMenuPrimitive.Group;
5884
5844
  var ContextMenuPortal = ContextMenuPrimitive.Portal;
5885
5845
  var ContextMenuSub = ContextMenuPrimitive.Sub;
5886
5846
  var ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup;
5887
- var ContextMenuSubTrigger = React40.forwardRef((_a, ref) => {
5847
+ var ContextMenuSubTrigger = React39.forwardRef((_a, ref) => {
5888
5848
  var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
5889
5849
  return /* @__PURE__ */ jsxs8(
5890
5850
  ContextMenuPrimitive.SubTrigger,
@@ -5904,7 +5864,7 @@ var ContextMenuSubTrigger = React40.forwardRef((_a, ref) => {
5904
5864
  );
5905
5865
  });
5906
5866
  ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName;
5907
- var ContextMenuSubContent = React40.forwardRef((_a, ref) => {
5867
+ var ContextMenuSubContent = React39.forwardRef((_a, ref) => {
5908
5868
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5909
5869
  return /* @__PURE__ */ jsx15(
5910
5870
  ContextMenuPrimitive.SubContent,
@@ -5918,7 +5878,7 @@ var ContextMenuSubContent = React40.forwardRef((_a, ref) => {
5918
5878
  );
5919
5879
  });
5920
5880
  ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName;
5921
- var ContextMenuContent = React40.forwardRef((_a, ref) => {
5881
+ var ContextMenuContent = React39.forwardRef((_a, ref) => {
5922
5882
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
5923
5883
  return /* @__PURE__ */ jsx15(ContextMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx15(
5924
5884
  ContextMenuPrimitive.Content,
@@ -5932,7 +5892,7 @@ var ContextMenuContent = React40.forwardRef((_a, ref) => {
5932
5892
  ) });
5933
5893
  });
5934
5894
  ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName;
5935
- var ContextMenuItem = React40.forwardRef((_a, ref) => {
5895
+ var ContextMenuItem = React39.forwardRef((_a, ref) => {
5936
5896
  var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
5937
5897
  return /* @__PURE__ */ jsx15(
5938
5898
  ContextMenuPrimitive.Item,
@@ -5947,7 +5907,7 @@ var ContextMenuItem = React40.forwardRef((_a, ref) => {
5947
5907
  );
5948
5908
  });
5949
5909
  ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName;
5950
- var ContextMenuCheckboxItem = React40.forwardRef((_a, ref) => {
5910
+ var ContextMenuCheckboxItem = React39.forwardRef((_a, ref) => {
5951
5911
  var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
5952
5912
  return /* @__PURE__ */ jsxs8(
5953
5913
  ContextMenuPrimitive.CheckboxItem,
@@ -5967,7 +5927,7 @@ var ContextMenuCheckboxItem = React40.forwardRef((_a, ref) => {
5967
5927
  );
5968
5928
  });
5969
5929
  ContextMenuCheckboxItem.displayName = ContextMenuPrimitive.CheckboxItem.displayName;
5970
- var ContextMenuRadioItem = React40.forwardRef((_a, ref) => {
5930
+ var ContextMenuRadioItem = React39.forwardRef((_a, ref) => {
5971
5931
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
5972
5932
  return /* @__PURE__ */ jsxs8(
5973
5933
  ContextMenuPrimitive.RadioItem,
@@ -5986,7 +5946,7 @@ var ContextMenuRadioItem = React40.forwardRef((_a, ref) => {
5986
5946
  );
5987
5947
  });
5988
5948
  ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName;
5989
- var ContextMenuLabel = React40.forwardRef((_a, ref) => {
5949
+ var ContextMenuLabel = React39.forwardRef((_a, ref) => {
5990
5950
  var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
5991
5951
  return /* @__PURE__ */ jsx15(
5992
5952
  ContextMenuPrimitive.Label,
@@ -6001,7 +5961,7 @@ var ContextMenuLabel = React40.forwardRef((_a, ref) => {
6001
5961
  );
6002
5962
  });
6003
5963
  ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName;
6004
- var ContextMenuSeparator = React40.forwardRef((_a, ref) => {
5964
+ var ContextMenuSeparator = React39.forwardRef((_a, ref) => {
6005
5965
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6006
5966
  return /* @__PURE__ */ jsx15(
6007
5967
  ContextMenuPrimitive.Separator,
@@ -6031,7 +5991,7 @@ var ContextMenuShortcut = (_a) => {
6031
5991
  ContextMenuShortcut.displayName = "ContextMenuShortcut";
6032
5992
 
6033
5993
  // src/components/drawer.tsx
6034
- import * as React41 from "react";
5994
+ import * as React40 from "react";
6035
5995
  import { Drawer as DrawerPrimitive } from "vaul";
6036
5996
  import { jsx as jsx16, jsxs as jsxs9 } from "react/jsx-runtime";
6037
5997
  var Drawer = (_a) => {
@@ -6051,7 +6011,7 @@ Drawer.displayName = "Drawer";
6051
6011
  var DrawerTrigger = DrawerPrimitive.Trigger;
6052
6012
  var DrawerPortal = DrawerPrimitive.Portal;
6053
6013
  var DrawerClose = DrawerPrimitive.Close;
6054
- var DrawerOverlay = React41.forwardRef((_a, ref) => {
6014
+ var DrawerOverlay = React40.forwardRef((_a, ref) => {
6055
6015
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6056
6016
  return /* @__PURE__ */ jsx16(
6057
6017
  DrawerPrimitive.Overlay,
@@ -6062,7 +6022,7 @@ var DrawerOverlay = React41.forwardRef((_a, ref) => {
6062
6022
  );
6063
6023
  });
6064
6024
  DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;
6065
- var DrawerContent = React41.forwardRef((_a, ref) => {
6025
+ var DrawerContent = React40.forwardRef((_a, ref) => {
6066
6026
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
6067
6027
  return /* @__PURE__ */ jsxs9(DrawerPortal, { children: [
6068
6028
  /* @__PURE__ */ jsx16(DrawerOverlay, {}),
@@ -6112,7 +6072,7 @@ var DrawerFooter = (_a) => {
6112
6072
  );
6113
6073
  };
6114
6074
  DrawerFooter.displayName = "DrawerFooter";
6115
- var DrawerTitle = React41.forwardRef((_a, ref) => {
6075
+ var DrawerTitle = React40.forwardRef((_a, ref) => {
6116
6076
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6117
6077
  return /* @__PURE__ */ jsx16(
6118
6078
  DrawerPrimitive.Title,
@@ -6126,7 +6086,7 @@ var DrawerTitle = React41.forwardRef((_a, ref) => {
6126
6086
  );
6127
6087
  });
6128
6088
  DrawerTitle.displayName = DrawerPrimitive.Title.displayName;
6129
- var DrawerDescription = React41.forwardRef((_a, ref) => {
6089
+ var DrawerDescription = React40.forwardRef((_a, ref) => {
6130
6090
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6131
6091
  return /* @__PURE__ */ jsx16(
6132
6092
  DrawerPrimitive.Description,
@@ -6145,7 +6105,7 @@ import {
6145
6105
  ChevronRightIcon as ChevronRightIcon3,
6146
6106
  DotFilledIcon as DotFilledIcon2
6147
6107
  } from "@radix-ui/react-icons";
6148
- import * as React42 from "react";
6108
+ import * as React41 from "react";
6149
6109
  import { jsx as jsx17, jsxs as jsxs10 } from "react/jsx-runtime";
6150
6110
  var DropdownMenu = DropdownMenuPrimitive.Root;
6151
6111
  var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
@@ -6153,7 +6113,7 @@ var DropdownMenuGroup = DropdownMenuPrimitive.Group;
6153
6113
  var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
6154
6114
  var DropdownMenuSub = DropdownMenuPrimitive.Sub;
6155
6115
  var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
6156
- var DropdownMenuSubTrigger = React42.forwardRef((_a, ref) => {
6116
+ var DropdownMenuSubTrigger = React41.forwardRef((_a, ref) => {
6157
6117
  var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
6158
6118
  return /* @__PURE__ */ jsxs10(
6159
6119
  DropdownMenuPrimitive.SubTrigger,
@@ -6173,7 +6133,7 @@ var DropdownMenuSubTrigger = React42.forwardRef((_a, ref) => {
6173
6133
  );
6174
6134
  });
6175
6135
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
6176
- var DropdownMenuSubContent = React42.forwardRef((_a, ref) => {
6136
+ var DropdownMenuSubContent = React41.forwardRef((_a, ref) => {
6177
6137
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6178
6138
  return /* @__PURE__ */ jsx17(
6179
6139
  DropdownMenuPrimitive.SubContent,
@@ -6187,7 +6147,7 @@ var DropdownMenuSubContent = React42.forwardRef((_a, ref) => {
6187
6147
  );
6188
6148
  });
6189
6149
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
6190
- var DropdownMenuContent = React42.forwardRef((_a, ref) => {
6150
+ var DropdownMenuContent = React41.forwardRef((_a, ref) => {
6191
6151
  var _b = _a, { className, sideOffset = 4 } = _b, props = __objRest(_b, ["className", "sideOffset"]);
6192
6152
  return /* @__PURE__ */ jsx17(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ jsx17(
6193
6153
  DropdownMenuPrimitive.Content,
@@ -6203,7 +6163,7 @@ var DropdownMenuContent = React42.forwardRef((_a, ref) => {
6203
6163
  ) });
6204
6164
  });
6205
6165
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
6206
- var DropdownMenuItem = React42.forwardRef((_a, ref) => {
6166
+ var DropdownMenuItem = React41.forwardRef((_a, ref) => {
6207
6167
  var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
6208
6168
  return /* @__PURE__ */ jsx17(
6209
6169
  DropdownMenuPrimitive.Item,
@@ -6218,7 +6178,7 @@ var DropdownMenuItem = React42.forwardRef((_a, ref) => {
6218
6178
  );
6219
6179
  });
6220
6180
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
6221
- var DropdownMenuCheckboxItem = React42.forwardRef((_a, ref) => {
6181
+ var DropdownMenuCheckboxItem = React41.forwardRef((_a, ref) => {
6222
6182
  var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
6223
6183
  return /* @__PURE__ */ jsxs10(
6224
6184
  DropdownMenuPrimitive.CheckboxItem,
@@ -6238,7 +6198,7 @@ var DropdownMenuCheckboxItem = React42.forwardRef((_a, ref) => {
6238
6198
  );
6239
6199
  });
6240
6200
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
6241
- var DropdownMenuRadioItem = React42.forwardRef((_a, ref) => {
6201
+ var DropdownMenuRadioItem = React41.forwardRef((_a, ref) => {
6242
6202
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
6243
6203
  return /* @__PURE__ */ jsxs10(
6244
6204
  DropdownMenuPrimitive.RadioItem,
@@ -6257,7 +6217,7 @@ var DropdownMenuRadioItem = React42.forwardRef((_a, ref) => {
6257
6217
  );
6258
6218
  });
6259
6219
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
6260
- var DropdownMenuLabel = React42.forwardRef((_a, ref) => {
6220
+ var DropdownMenuLabel = React41.forwardRef((_a, ref) => {
6261
6221
  var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
6262
6222
  return /* @__PURE__ */ jsx17(
6263
6223
  DropdownMenuPrimitive.Label,
@@ -6272,7 +6232,7 @@ var DropdownMenuLabel = React42.forwardRef((_a, ref) => {
6272
6232
  );
6273
6233
  });
6274
6234
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
6275
- var DropdownMenuSeparator = React42.forwardRef((_a, ref) => {
6235
+ var DropdownMenuSeparator = React41.forwardRef((_a, ref) => {
6276
6236
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6277
6237
  return /* @__PURE__ */ jsx17(
6278
6238
  DropdownMenuPrimitive.Separator,
@@ -6299,7 +6259,7 @@ var DropdownMenuShortcut = (_a) => {
6299
6259
  DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
6300
6260
 
6301
6261
  // src/components/Form/form-component.tsx
6302
- import * as React44 from "react";
6262
+ import * as React43 from "react";
6303
6263
  import { Slot as Slot4 } from "@radix-ui/react-slot";
6304
6264
  import {
6305
6265
  useFormContext
@@ -6308,12 +6268,12 @@ import {
6308
6268
  // src/components/Label/label.tsx
6309
6269
  import * as LabelPrimitive from "@radix-ui/react-label";
6310
6270
  import { cva as cva5 } from "class-variance-authority";
6311
- import * as React43 from "react";
6271
+ import * as React42 from "react";
6312
6272
  import { jsx as jsx18 } from "react/jsx-runtime";
6313
6273
  var labelVariants = cva5(
6314
6274
  "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 text-label"
6315
6275
  );
6316
- var Label3 = React43.forwardRef((_a, ref) => {
6276
+ var Label3 = React42.forwardRef((_a, ref) => {
6317
6277
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6318
6278
  return /* @__PURE__ */ jsx18(
6319
6279
  LabelPrimitive.Root,
@@ -6327,7 +6287,7 @@ Label3.displayName = LabelPrimitive.Root.displayName;
6327
6287
 
6328
6288
  // src/components/Form/form-component.tsx
6329
6289
  import { jsx as jsx19 } from "react/jsx-runtime";
6330
- var FormFieldContext = React44.createContext(
6290
+ var FormFieldContext = React43.createContext(
6331
6291
  null
6332
6292
  );
6333
6293
  function getErrorMessage(error) {
@@ -6363,18 +6323,18 @@ function getNextEnabledIndex(options, currentIndex, direction) {
6363
6323
  }
6364
6324
  return -1;
6365
6325
  }
6366
- var FormItemContext = React44.createContext(null);
6367
- var FormItem = React44.forwardRef((_a, ref) => {
6326
+ var FormItemContext = React43.createContext(null);
6327
+ var FormItem = React43.forwardRef((_a, ref) => {
6368
6328
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6369
- const id = React44.useId();
6329
+ const id = React43.useId();
6370
6330
  return /* @__PURE__ */ jsx19(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx19("div", __spreadValues({ ref, className: cn("space-y-2", className) }, props)) });
6371
6331
  });
6372
6332
  FormItem.displayName = "FormItem";
6373
6333
  var useFormField = () => {
6374
6334
  var _a;
6375
- const generatedId = React44.useId();
6376
- const fieldContext = React44.useContext(FormFieldContext);
6377
- const itemContext = React44.useContext(FormItemContext);
6335
+ const generatedId = React43.useId();
6336
+ const fieldContext = React43.useContext(FormFieldContext);
6337
+ const itemContext = React43.useContext(FormItemContext);
6378
6338
  const formContext = useFormContext();
6379
6339
  const id = (_a = itemContext == null ? void 0 : itemContext.id) != null ? _a : generatedId;
6380
6340
  if (!fieldContext || !formContext) {
@@ -6398,7 +6358,7 @@ var useFormField = () => {
6398
6358
  formMessageId: `${id}-form-item-message`
6399
6359
  }, fieldState);
6400
6360
  };
6401
- var FormLabel = React44.forwardRef((_a, ref) => {
6361
+ var FormLabel = React43.forwardRef((_a, ref) => {
6402
6362
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6403
6363
  const { error, formItemId } = useFormField();
6404
6364
  return /* @__PURE__ */ jsx19(
@@ -6411,7 +6371,7 @@ var FormLabel = React44.forwardRef((_a, ref) => {
6411
6371
  );
6412
6372
  });
6413
6373
  FormLabel.displayName = "FormLabel";
6414
- var FormControl = React44.forwardRef((_a, ref) => {
6374
+ var FormControl = React43.forwardRef((_a, ref) => {
6415
6375
  var props = __objRest(_a, []);
6416
6376
  const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
6417
6377
  return /* @__PURE__ */ jsx19(
@@ -6425,7 +6385,7 @@ var FormControl = React44.forwardRef((_a, ref) => {
6425
6385
  );
6426
6386
  });
6427
6387
  FormControl.displayName = "FormControl";
6428
- var FormMessage = React44.forwardRef((_a, ref) => {
6388
+ var FormMessage = React43.forwardRef((_a, ref) => {
6429
6389
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
6430
6390
  const { error, formMessageId } = useFormField();
6431
6391
  const body = error ? getErrorMessage(error) : children;
@@ -6442,7 +6402,7 @@ var FormMessage = React44.forwardRef((_a, ref) => {
6442
6402
  );
6443
6403
  });
6444
6404
  FormMessage.displayName = "FormMessage";
6445
- var FormDescription = React44.forwardRef((_a, ref) => {
6405
+ var FormDescription = React43.forwardRef((_a, ref) => {
6446
6406
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6447
6407
  const { formDescriptionId } = useFormField();
6448
6408
  return /* @__PURE__ */ jsx19(
@@ -6473,7 +6433,7 @@ function Form({
6473
6433
  }
6474
6434
 
6475
6435
  // src/components/Form/form-checkbox.tsx
6476
- import * as React45 from "react";
6436
+ import * as React44 from "react";
6477
6437
  import { Asterisk } from "lucide-react";
6478
6438
  import {
6479
6439
  Controller,
@@ -6517,7 +6477,7 @@ var FormCheckbox = (_a) => {
6517
6477
  "onChange"
6518
6478
  ]);
6519
6479
  var _a2;
6520
- const generatedId = React45.useId();
6480
+ const generatedId = React44.useId();
6521
6481
  const form = useFormContext2();
6522
6482
  const controllerControl = control != null ? control : form == null ? void 0 : form.control;
6523
6483
  const checkboxId = (_a2 = checkboxProps.id) != null ? _a2 : `${generatedId}-checkbox`;
@@ -6632,7 +6592,7 @@ import {
6632
6592
  } from "react-hook-form";
6633
6593
 
6634
6594
  // src/components/input.tsx
6635
- import * as React46 from "react";
6595
+ import * as React45 from "react";
6636
6596
 
6637
6597
  // src/components/Form/utils/form-utils.ts
6638
6598
  var formInputVariants = {
@@ -6730,7 +6690,7 @@ function getFormSizeClasses(size = "md", customSize) {
6730
6690
 
6731
6691
  // src/components/input.tsx
6732
6692
  import { jsx as jsx22, jsxs as jsxs12 } from "react/jsx-runtime";
6733
- var Input = React46.forwardRef(
6693
+ var Input = React45.forwardRef(
6734
6694
  (_a, ref) => {
6735
6695
  var _b = _a, {
6736
6696
  className,
@@ -6945,31 +6905,65 @@ import {
6945
6905
  ChevronUpIcon
6946
6906
  } from "@radix-ui/react-icons";
6947
6907
  import * as SelectPrimitive from "@radix-ui/react-select";
6948
- import * as React47 from "react";
6949
- import { jsx as jsx24, jsxs as jsxs14 } from "react/jsx-runtime";
6908
+ import * as React46 from "react";
6909
+ import { Fragment, jsx as jsx24, jsxs as jsxs14 } from "react/jsx-runtime";
6950
6910
  var Select2 = SelectPrimitive.Root;
6951
6911
  var SelectGroup = SelectPrimitive.Group;
6952
6912
  var SelectValue = SelectPrimitive.Value;
6953
- var SelectTrigger = React47.forwardRef((_a, ref) => {
6913
+ var BODY_UNLOCK_ATTR = "data-select-scroll-unlocked";
6914
+ var BODY_UNLOCK_STYLE_ID = "radix-select-scroll-unlock-style";
6915
+ var useSafeLayoutEffect = typeof window !== "undefined" ? React46.useLayoutEffect : React46.useEffect;
6916
+ function SelectBodyScrollUnlock() {
6917
+ useSafeLayoutEffect(() => {
6918
+ var _a;
6919
+ if (typeof document === "undefined") return;
6920
+ if (!document.getElementById(BODY_UNLOCK_STYLE_ID)) {
6921
+ const style = document.createElement("style");
6922
+ style.id = BODY_UNLOCK_STYLE_ID;
6923
+ style.textContent = `
6924
+ body[${BODY_UNLOCK_ATTR}][data-scroll-locked] {
6925
+ overflow: auto !important;
6926
+ margin-right: 0 !important;
6927
+ padding-right: 0 !important;
6928
+ }
6929
+ `;
6930
+ document.head.appendChild(style);
6931
+ }
6932
+ const body = document.body;
6933
+ const currentCount = Number((_a = body.getAttribute(BODY_UNLOCK_ATTR)) != null ? _a : "0");
6934
+ body.setAttribute(BODY_UNLOCK_ATTR, String(currentCount + 1));
6935
+ return () => {
6936
+ var _a2;
6937
+ const nextCount = Number((_a2 = body.getAttribute(BODY_UNLOCK_ATTR)) != null ? _a2 : "1") - 1;
6938
+ if (nextCount <= 0) {
6939
+ body.removeAttribute(BODY_UNLOCK_ATTR);
6940
+ } else {
6941
+ body.setAttribute(BODY_UNLOCK_ATTR, String(nextCount));
6942
+ }
6943
+ };
6944
+ }, []);
6945
+ return null;
6946
+ }
6947
+ var SelectTrigger = React46.forwardRef((_a, ref) => {
6954
6948
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
6955
6949
  return /* @__PURE__ */ jsxs14(
6956
6950
  SelectPrimitive.Trigger,
6957
6951
  __spreadProps(__spreadValues({
6958
6952
  ref,
6959
6953
  className: cn(
6960
- "flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
6954
+ "flex h-9 w-full items-center justify-between gap-2 whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background transition-colors placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
6961
6955
  className
6962
6956
  )
6963
6957
  }, props), {
6964
6958
  children: [
6965
6959
  children,
6966
- /* @__PURE__ */ jsx24(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx24(CaretSortIcon, { className: "h-4 w-4 opacity-50" }) })
6960
+ /* @__PURE__ */ jsx24(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx24(CaretSortIcon, { className: "h-4 w-4 shrink-0 opacity-50" }) })
6967
6961
  ]
6968
6962
  })
6969
6963
  );
6970
6964
  });
6971
6965
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
6972
- var SelectScrollUpButton = React47.forwardRef((_a, ref) => {
6966
+ var SelectScrollUpButton = React46.forwardRef((_a, ref) => {
6973
6967
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6974
6968
  return /* @__PURE__ */ jsx24(
6975
6969
  SelectPrimitive.ScrollUpButton,
@@ -6980,12 +6974,12 @@ var SelectScrollUpButton = React47.forwardRef((_a, ref) => {
6980
6974
  className
6981
6975
  )
6982
6976
  }, props), {
6983
- children: /* @__PURE__ */ jsx24(ChevronUpIcon, {})
6977
+ children: /* @__PURE__ */ jsx24(ChevronUpIcon, { className: "h-4 w-4" })
6984
6978
  })
6985
6979
  );
6986
6980
  });
6987
6981
  SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
6988
- var SelectScrollDownButton = React47.forwardRef((_a, ref) => {
6982
+ var SelectScrollDownButton = React46.forwardRef((_a, ref) => {
6989
6983
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6990
6984
  return /* @__PURE__ */ jsx24(
6991
6985
  SelectPrimitive.ScrollDownButton,
@@ -6996,43 +6990,67 @@ var SelectScrollDownButton = React47.forwardRef((_a, ref) => {
6996
6990
  className
6997
6991
  )
6998
6992
  }, props), {
6999
- children: /* @__PURE__ */ jsx24(ChevronDownIcon2, {})
6993
+ children: /* @__PURE__ */ jsx24(ChevronDownIcon2, { className: "h-4 w-4" })
7000
6994
  })
7001
6995
  );
7002
6996
  });
7003
6997
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
7004
- var SelectContent = React47.forwardRef((_a, ref) => {
7005
- var _b = _a, { className, children, position = "popper" } = _b, props = __objRest(_b, ["className", "children", "position"]);
7006
- return /* @__PURE__ */ jsx24(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs14(
7007
- SelectPrimitive.Content,
7008
- __spreadProps(__spreadValues({
7009
- ref,
7010
- className: cn(
7011
- "relative z-50 max-h-96 min-w-32 overflow-hidden bg-popover border border-border text-popover-foreground rounded-md shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
7012
- position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
7013
- className
7014
- ),
7015
- position
7016
- }, props), {
7017
- children: [
7018
- /* @__PURE__ */ jsx24(SelectScrollUpButton, {}),
7019
- /* @__PURE__ */ jsx24(
7020
- SelectPrimitive.Viewport,
7021
- {
7022
- className: cn(
7023
- "p-1",
7024
- position === "popper" && "h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)"
6998
+ var SelectContent = React46.forwardRef(
6999
+ (_a, ref) => {
7000
+ var _b = _a, {
7001
+ className,
7002
+ children,
7003
+ position = "popper",
7004
+ sideOffset = 4,
7005
+ align = "start"
7006
+ } = _b, props = __objRest(_b, [
7007
+ "className",
7008
+ "children",
7009
+ "position",
7010
+ "sideOffset",
7011
+ "align"
7012
+ ]);
7013
+ return /* @__PURE__ */ jsxs14(Fragment, { children: [
7014
+ /* @__PURE__ */ jsx24(SelectBodyScrollUnlock, {}),
7015
+ /* @__PURE__ */ jsx24(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs14(
7016
+ SelectPrimitive.Content,
7017
+ __spreadProps(__spreadValues({
7018
+ ref,
7019
+ position,
7020
+ sideOffset,
7021
+ align,
7022
+ className: cn(
7023
+ "relative z-50 min-w-32 overflow-hidden rounded-md border border-border bg-popover text-popover-foreground shadow-md",
7024
+ "data-[state=open]:animate-in data-[state=closed]:animate-out",
7025
+ "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
7026
+ "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
7027
+ "data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2",
7028
+ "data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
7029
+ position === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
7030
+ className
7031
+ )
7032
+ }, props), {
7033
+ children: [
7034
+ /* @__PURE__ */ jsx24(SelectScrollUpButton, {}),
7035
+ /* @__PURE__ */ jsx24(
7036
+ SelectPrimitive.Viewport,
7037
+ {
7038
+ className: cn(
7039
+ "max-h-[min(20rem,var(--radix-select-content-available-height))] overflow-y-auto p-1",
7040
+ position === "popper" && "w-full min-w-(--radix-select-trigger-width)"
7041
+ ),
7042
+ children
7043
+ }
7025
7044
  ),
7026
- children
7027
- }
7028
- ),
7029
- /* @__PURE__ */ jsx24(SelectScrollDownButton, {})
7030
- ]
7031
- })
7032
- ) });
7033
- });
7045
+ /* @__PURE__ */ jsx24(SelectScrollDownButton, {})
7046
+ ]
7047
+ })
7048
+ ) })
7049
+ ] });
7050
+ }
7051
+ );
7034
7052
  SelectContent.displayName = SelectPrimitive.Content.displayName;
7035
- var SelectLabel = React47.forwardRef((_a, ref) => {
7053
+ var SelectLabel = React46.forwardRef((_a, ref) => {
7036
7054
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7037
7055
  return /* @__PURE__ */ jsx24(
7038
7056
  SelectPrimitive.Label,
@@ -7043,14 +7061,16 @@ var SelectLabel = React47.forwardRef((_a, ref) => {
7043
7061
  );
7044
7062
  });
7045
7063
  SelectLabel.displayName = SelectPrimitive.Label.displayName;
7046
- var SelectItem = React47.forwardRef((_a, ref) => {
7064
+ var SelectItem = React46.forwardRef((_a, ref) => {
7047
7065
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
7048
7066
  return /* @__PURE__ */ jsxs14(
7049
7067
  SelectPrimitive.Item,
7050
7068
  __spreadProps(__spreadValues({
7051
7069
  ref,
7052
7070
  className: cn(
7053
- "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",
7071
+ "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none transition-colors",
7072
+ "focus:bg-accent focus:text-accent-foreground",
7073
+ "data-disabled:pointer-events-none data-disabled:opacity-50",
7054
7074
  className
7055
7075
  )
7056
7076
  }, props), {
@@ -7062,7 +7082,7 @@ var SelectItem = React47.forwardRef((_a, ref) => {
7062
7082
  );
7063
7083
  });
7064
7084
  SelectItem.displayName = SelectPrimitive.Item.displayName;
7065
- var SelectSeparator = React47.forwardRef((_a, ref) => {
7085
+ var SelectSeparator = React46.forwardRef((_a, ref) => {
7066
7086
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7067
7087
  return /* @__PURE__ */ jsx24(
7068
7088
  SelectPrimitive.Separator,
@@ -7074,71 +7094,390 @@ var SelectSeparator = React47.forwardRef((_a, ref) => {
7074
7094
  });
7075
7095
  SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
7076
7096
 
7077
- // src/components/Form/form-select.tsx
7097
+ // src/components/searchable-select.tsx
7098
+ import * as React47 from "react";
7099
+ import { CaretSortIcon as CaretSortIcon2, CheckIcon as CheckIcon5, Cross2Icon as Cross2Icon2 } from "@radix-ui/react-icons";
7078
7100
  import { jsx as jsx25, jsxs as jsxs15 } from "react/jsx-runtime";
7079
- var FormSelect = ({
7080
- name,
7081
- control,
7082
- rules,
7083
- shouldUnregister,
7084
- defaultValue,
7085
- placeholder = "Seleccionar opci\xF3n",
7086
- label,
7087
- requiredLabel,
7088
- className,
7089
- itemClassName,
7090
- contentClassName,
7091
- searchInputClassName,
7092
- labelClassName,
7093
- messageClassName,
7094
- requiredLabelClassName,
7095
- options,
7101
+ function normalizeText(value) {
7102
+ return String(value != null ? value : "").normalize("NFD").replace(new RegExp("\\p{Diacritic}", "gu"), "").toLowerCase().trim();
7103
+ }
7104
+ function getLabelText(value) {
7105
+ if (typeof value === "string" || typeof value === "number") {
7106
+ return String(value);
7107
+ }
7108
+ return "";
7109
+ }
7110
+ function getOptionText(item) {
7111
+ if (!item) return "";
7112
+ return getLabelText(item.label) || item.value;
7113
+ }
7114
+ function getNextEnabledIndex2(items, currentIndex, direction) {
7115
+ var _a;
7116
+ if (!items.length) return -1;
7117
+ let nextIndex = currentIndex;
7118
+ for (let index = 0; index < items.length; index += 1) {
7119
+ nextIndex = (nextIndex + direction + items.length) % items.length;
7120
+ if (!((_a = items[nextIndex]) == null ? void 0 : _a.disabled)) {
7121
+ return nextIndex;
7122
+ }
7123
+ }
7124
+ return -1;
7125
+ }
7126
+ function SearchableSelectBase({
7096
7127
  items,
7097
- getOptionValue = getDefaultOptionValue,
7098
- getOptionLabel = getDefaultOptionLabel,
7099
- getOptionDisabled,
7100
- getOptionData,
7101
- children,
7102
- onChange,
7103
- onChangeItem,
7128
+ value,
7129
+ defaultValue,
7130
+ onValueChange,
7131
+ placeholder = "Select an option",
7132
+ searchPlaceholder = "Search\u2026",
7133
+ emptyText = "No results found",
7104
7134
  disabled,
7105
- size = "md",
7106
- customSize,
7107
- variant = "outline",
7108
- invalid,
7109
- searchable = false,
7110
- searchPlaceholder = "Buscar\u2026",
7111
- emptyText = "No hay resultados",
7112
- position = "popper"
7113
- }) => {
7114
- const form = useFormContext4();
7115
- const controllerControl = control != null ? control : form == null ? void 0 : form.control;
7116
- const sizeClasses = getFormSizeClasses(size, customSize);
7117
- const triggerBase = "relative inline-flex w-full items-center justify-between gap-2 text-foreground outline-none ring-offset-background transition placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50";
7118
- const triggerSizeClass = variant === "flushed" ? sizeClasses.flushedControl : variant === "link" ? sizeClasses.linkControl : sizeClasses.control;
7119
- const contentBase = "z-50 rounded-xl border border-border bg-popover text-popover-foreground shadow-xl outline-none";
7120
- const contentViewport = "[&_[data-radix-select-viewport]]:max-h-72 [&_[data-radix-select-viewport]]:overflow-y-auto [&_[data-radix-select-viewport]]:overscroll-contain [&_[data-radix-select-viewport]]:[scrollbar-gutter:stable]";
7121
- const normalizedOptions = React48.useMemo(() => {
7122
- if (options) return options;
7123
- return (items != null ? items : []).map((item) => {
7124
- var _a;
7125
- return {
7126
- value: getOptionValue(item),
7127
- label: getOptionLabel(item),
7128
- disabled: getOptionDisabled == null ? void 0 : getOptionDisabled(item),
7129
- data: (_a = getOptionData == null ? void 0 : getOptionData(item)) != null ? _a : item
7130
- };
7131
- });
7132
- }, [
7133
- getOptionData,
7134
- getOptionDisabled,
7135
- getOptionLabel,
7136
- getOptionValue,
7137
- items,
7138
- options
7139
- ]);
7140
- return /* @__PURE__ */ jsx25(FormFieldContext.Provider, { value: { name }, children: /* @__PURE__ */ jsx25(
7141
- Controller3,
7135
+ name,
7136
+ required,
7137
+ triggerClassName,
7138
+ contentClassName,
7139
+ itemClassName,
7140
+ searchInputClassName
7141
+ }) {
7142
+ const rootRef = React47.useRef(null);
7143
+ const inputRef = React47.useRef(null);
7144
+ const listboxId = React47.useId();
7145
+ const isControlled = value !== void 0;
7146
+ const [internalValue, setInternalValue] = React47.useState(defaultValue != null ? defaultValue : "");
7147
+ const currentValue = isControlled ? value != null ? value : "" : internalValue;
7148
+ const selectedItem = React47.useMemo(() => {
7149
+ return items.find((item) => item.value === currentValue);
7150
+ }, [currentValue, items]);
7151
+ const selectedText = React47.useMemo(() => {
7152
+ return getOptionText(selectedItem);
7153
+ }, [selectedItem]);
7154
+ const [open, setOpen] = React47.useState(false);
7155
+ const [inputValue, setInputValue] = React47.useState(selectedText);
7156
+ const [activeIndex, setActiveIndex] = React47.useState(-1);
7157
+ React47.useEffect(() => {
7158
+ if (!open) {
7159
+ setInputValue(selectedText);
7160
+ }
7161
+ }, [open, selectedText]);
7162
+ const filteredItems = React47.useMemo(() => {
7163
+ const query = normalizeText(inputValue);
7164
+ if (!query) return items;
7165
+ return items.filter((item) => {
7166
+ var _a;
7167
+ const haystack = normalizeText(
7168
+ `${getLabelText(item.label)} ${item.value} ${(_a = item.keywords) != null ? _a : ""}`
7169
+ );
7170
+ return haystack.includes(query);
7171
+ });
7172
+ }, [inputValue, items]);
7173
+ React47.useEffect(() => {
7174
+ if (!open) return;
7175
+ const firstEnabledIndex = filteredItems.findIndex((item) => !item.disabled);
7176
+ setActiveIndex(firstEnabledIndex);
7177
+ }, [filteredItems, open]);
7178
+ React47.useEffect(() => {
7179
+ if (!open) return;
7180
+ const handlePointerDown = (event) => {
7181
+ var _a;
7182
+ const target = event.target;
7183
+ if (target && ((_a = rootRef.current) == null ? void 0 : _a.contains(target))) {
7184
+ return;
7185
+ }
7186
+ setOpen(false);
7187
+ };
7188
+ document.addEventListener("pointerdown", handlePointerDown, true);
7189
+ return () => {
7190
+ document.removeEventListener("pointerdown", handlePointerDown, true);
7191
+ };
7192
+ }, [open]);
7193
+ const selectItem = React47.useCallback(
7194
+ (item) => {
7195
+ if (item.disabled) return;
7196
+ if (!isControlled) {
7197
+ setInternalValue(item.value);
7198
+ }
7199
+ setInputValue(getOptionText(item));
7200
+ setOpen(false);
7201
+ onValueChange == null ? void 0 : onValueChange(item.value, item);
7202
+ requestAnimationFrame(() => {
7203
+ var _a;
7204
+ (_a = inputRef.current) == null ? void 0 : _a.blur();
7205
+ });
7206
+ },
7207
+ [isControlled, onValueChange]
7208
+ );
7209
+ return /* @__PURE__ */ jsxs15("div", { ref: rootRef, className: "relative w-full", children: [
7210
+ name ? /* @__PURE__ */ jsx25(
7211
+ "input",
7212
+ {
7213
+ type: "hidden",
7214
+ name,
7215
+ value: currentValue,
7216
+ required,
7217
+ disabled
7218
+ }
7219
+ ) : null,
7220
+ /* @__PURE__ */ jsxs15(
7221
+ "div",
7222
+ {
7223
+ className: cn(
7224
+ "relative flex h-9 w-full items-center gap-2 rounded-md border border-input bg-background px-3 text-sm shadow-sm transition",
7225
+ "focus-within:border-primary/60 focus-within:ring-2 focus-within:ring-primary/20",
7226
+ disabled && "cursor-not-allowed opacity-50",
7227
+ triggerClassName
7228
+ ),
7229
+ onPointerDown: () => {
7230
+ if (disabled) return;
7231
+ setOpen(true);
7232
+ requestAnimationFrame(() => {
7233
+ var _a;
7234
+ (_a = inputRef.current) == null ? void 0 : _a.focus({ preventScroll: true });
7235
+ });
7236
+ },
7237
+ children: [
7238
+ /* @__PURE__ */ jsx25(
7239
+ "input",
7240
+ {
7241
+ ref: inputRef,
7242
+ value: inputValue,
7243
+ role: "combobox",
7244
+ "aria-autocomplete": "list",
7245
+ "aria-expanded": open,
7246
+ "aria-controls": listboxId,
7247
+ "aria-activedescendant": activeIndex >= 0 ? `${listboxId}-option-${activeIndex}` : void 0,
7248
+ placeholder: open ? searchPlaceholder : placeholder,
7249
+ autoComplete: "off",
7250
+ spellCheck: false,
7251
+ disabled,
7252
+ onFocus: () => {
7253
+ setOpen(true);
7254
+ requestAnimationFrame(() => {
7255
+ var _a;
7256
+ (_a = inputRef.current) == null ? void 0 : _a.select();
7257
+ });
7258
+ },
7259
+ onChange: (event) => {
7260
+ setInputValue(event.target.value);
7261
+ setOpen(true);
7262
+ },
7263
+ onKeyDown: (event) => {
7264
+ var _a;
7265
+ if (event.key === "ArrowDown") {
7266
+ event.preventDefault();
7267
+ setOpen(true);
7268
+ setActiveIndex(
7269
+ (currentIndex) => getNextEnabledIndex2(filteredItems, currentIndex, 1)
7270
+ );
7271
+ return;
7272
+ }
7273
+ if (event.key === "ArrowUp") {
7274
+ event.preventDefault();
7275
+ setOpen(true);
7276
+ setActiveIndex(
7277
+ (currentIndex) => getNextEnabledIndex2(filteredItems, currentIndex, -1)
7278
+ );
7279
+ return;
7280
+ }
7281
+ if (event.key === "Enter") {
7282
+ if (!open) return;
7283
+ event.preventDefault();
7284
+ const activeItem = filteredItems[activeIndex];
7285
+ if (activeItem) {
7286
+ selectItem(activeItem);
7287
+ }
7288
+ return;
7289
+ }
7290
+ if (event.key === "Escape") {
7291
+ event.preventDefault();
7292
+ setOpen(false);
7293
+ setInputValue(selectedText);
7294
+ (_a = inputRef.current) == null ? void 0 : _a.blur();
7295
+ }
7296
+ },
7297
+ className: cn(
7298
+ "h-full min-w-0 flex-1 border-0 bg-transparent p-0 text-sm outline-none",
7299
+ "placeholder:text-muted-foreground disabled:cursor-not-allowed",
7300
+ searchInputClassName
7301
+ )
7302
+ }
7303
+ ),
7304
+ inputValue && open ? /* @__PURE__ */ jsx25(
7305
+ "button",
7306
+ {
7307
+ type: "button",
7308
+ "aria-label": "Limpiar b\xFAsqueda",
7309
+ tabIndex: -1,
7310
+ onPointerDown: (event) => {
7311
+ event.preventDefault();
7312
+ event.stopPropagation();
7313
+ },
7314
+ onClick: (event) => {
7315
+ event.preventDefault();
7316
+ event.stopPropagation();
7317
+ setInputValue("");
7318
+ requestAnimationFrame(() => {
7319
+ var _a;
7320
+ (_a = inputRef.current) == null ? void 0 : _a.focus({ preventScroll: true });
7321
+ });
7322
+ },
7323
+ className: "inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-md text-muted-foreground transition hover:bg-muted hover:text-foreground",
7324
+ children: /* @__PURE__ */ jsx25(Cross2Icon2, { "aria-hidden": "true", className: "h-3.5 w-3.5" })
7325
+ }
7326
+ ) : null,
7327
+ /* @__PURE__ */ jsx25(
7328
+ CaretSortIcon2,
7329
+ {
7330
+ "aria-hidden": "true",
7331
+ className: cn(
7332
+ "h-4 w-4 shrink-0 opacity-50 transition-transform",
7333
+ open && "rotate-180"
7334
+ )
7335
+ }
7336
+ )
7337
+ ]
7338
+ }
7339
+ ),
7340
+ /* @__PURE__ */ jsx25(
7341
+ "div",
7342
+ {
7343
+ className: cn(
7344
+ "absolute left-0 top-full z-50 mt-1 w-full overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground shadow-xl transition",
7345
+ !open && "pointer-events-none invisible opacity-0",
7346
+ open && "visible opacity-100",
7347
+ contentClassName
7348
+ ),
7349
+ children: /* @__PURE__ */ jsx25(
7350
+ "div",
7351
+ {
7352
+ id: listboxId,
7353
+ role: "listbox",
7354
+ className: "max-h-72 overflow-y-auto overscroll-contain p-1 [scrollbar-gutter:stable]",
7355
+ onWheelCapture: (event) => {
7356
+ event.stopPropagation();
7357
+ },
7358
+ onTouchMoveCapture: (event) => {
7359
+ event.stopPropagation();
7360
+ },
7361
+ children: filteredItems.length === 0 ? /* @__PURE__ */ jsx25("div", { className: "px-3 py-6 text-center text-sm text-muted-foreground", children: emptyText }) : filteredItems.map((item, index) => {
7362
+ const isSelected = item.value === currentValue;
7363
+ const isActive = index === activeIndex;
7364
+ return /* @__PURE__ */ jsxs15(
7365
+ "div",
7366
+ {
7367
+ id: `${listboxId}-option-${index}`,
7368
+ role: "option",
7369
+ "aria-selected": isSelected,
7370
+ "aria-disabled": item.disabled,
7371
+ tabIndex: -1,
7372
+ onMouseMove: () => {
7373
+ if (!item.disabled) {
7374
+ setActiveIndex(index);
7375
+ }
7376
+ },
7377
+ onPointerDown: (event) => {
7378
+ event.preventDefault();
7379
+ event.stopPropagation();
7380
+ if (!item.disabled) {
7381
+ selectItem(item);
7382
+ }
7383
+ },
7384
+ className: cn(
7385
+ "relative flex w-full select-none items-center gap-2 rounded-lg px-3 py-2 text-left text-sm outline-none transition",
7386
+ item.disabled ? "pointer-events-none opacity-50" : "cursor-pointer",
7387
+ isActive && !item.disabled && "bg-accent text-accent-foreground",
7388
+ !isActive && !item.disabled && "hover:bg-accent/70 hover:text-accent-foreground",
7389
+ isSelected && "font-medium",
7390
+ itemClassName
7391
+ ),
7392
+ children: [
7393
+ /* @__PURE__ */ jsx25("span", { className: "min-w-0 flex-1 truncate", children: item.label }),
7394
+ isSelected ? /* @__PURE__ */ jsx25(
7395
+ CheckIcon5,
7396
+ {
7397
+ "aria-hidden": "true",
7398
+ className: "h-4 w-4 shrink-0 text-primary"
7399
+ }
7400
+ ) : null
7401
+ ]
7402
+ },
7403
+ item.value
7404
+ );
7405
+ })
7406
+ }
7407
+ )
7408
+ }
7409
+ )
7410
+ ] });
7411
+ }
7412
+ var SearchableSelect = React47.memo(
7413
+ SearchableSelectBase
7414
+ );
7415
+
7416
+ // src/components/Form/form-select.tsx
7417
+ import { jsx as jsx26, jsxs as jsxs16 } from "react/jsx-runtime";
7418
+ var FormSelect = ({
7419
+ name,
7420
+ control,
7421
+ rules,
7422
+ shouldUnregister,
7423
+ defaultValue,
7424
+ placeholder = "Seleccionar opci\xF3n",
7425
+ label,
7426
+ requiredLabel,
7427
+ className,
7428
+ itemClassName,
7429
+ contentClassName,
7430
+ searchInputClassName,
7431
+ labelClassName,
7432
+ messageClassName,
7433
+ requiredLabelClassName,
7434
+ options,
7435
+ items,
7436
+ getOptionValue = getDefaultOptionValue,
7437
+ getOptionLabel = getDefaultOptionLabel,
7438
+ getOptionDisabled,
7439
+ getOptionData,
7440
+ children,
7441
+ onChange,
7442
+ onChangeItem,
7443
+ disabled,
7444
+ size = "md",
7445
+ customSize,
7446
+ variant = "outline",
7447
+ invalid,
7448
+ searchable = false,
7449
+ searchPlaceholder = "Buscar\u2026",
7450
+ emptyText = "No hay resultados",
7451
+ position = "popper"
7452
+ }) => {
7453
+ const form = useFormContext4();
7454
+ const controllerControl = control != null ? control : form == null ? void 0 : form.control;
7455
+ const sizeClasses = getFormSizeClasses(size, customSize);
7456
+ const triggerBase = "relative inline-flex w-full items-center justify-between gap-2 text-foreground outline-none ring-offset-background transition placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50";
7457
+ const triggerSizeClass = variant === "flushed" ? sizeClasses.flushedControl : variant === "link" ? sizeClasses.linkControl : sizeClasses.control;
7458
+ const contentBase = "z-50 rounded-xl border border-border bg-popover text-popover-foreground shadow-xl outline-none";
7459
+ const contentViewport = "[&_[data-radix-select-viewport]]:max-h-72 [&_[data-radix-select-viewport]]:overflow-y-auto [&_[data-radix-select-viewport]]:overscroll-contain [&_[data-radix-select-viewport]]:[scrollbar-gutter:stable]";
7460
+ const normalizedOptions = React48.useMemo(() => {
7461
+ if (options) return options;
7462
+ return (items != null ? items : []).map((item) => {
7463
+ var _a;
7464
+ return {
7465
+ value: getOptionValue(item),
7466
+ label: getOptionLabel(item),
7467
+ disabled: getOptionDisabled == null ? void 0 : getOptionDisabled(item),
7468
+ data: (_a = getOptionData == null ? void 0 : getOptionData(item)) != null ? _a : item
7469
+ };
7470
+ });
7471
+ }, [
7472
+ getOptionData,
7473
+ getOptionDisabled,
7474
+ getOptionLabel,
7475
+ getOptionValue,
7476
+ items,
7477
+ options
7478
+ ]);
7479
+ return /* @__PURE__ */ jsx26(FormFieldContext.Provider, { value: { name }, children: /* @__PURE__ */ jsx26(
7480
+ Controller3,
7142
7481
  {
7143
7482
  control: controllerControl,
7144
7483
  name,
@@ -7146,7 +7485,7 @@ var FormSelect = ({
7146
7485
  shouldUnregister,
7147
7486
  defaultValue,
7148
7487
  render: ({ field, fieldState }) => {
7149
- var _a;
7488
+ var _a, _b;
7150
7489
  const fieldError = getErrorMessage(fieldState.error);
7151
7490
  const hasError = Boolean(invalid || fieldError);
7152
7491
  const handleValueChange = (value) => {
@@ -7158,8 +7497,8 @@ var FormSelect = ({
7158
7497
  onChange == null ? void 0 : onChange(value);
7159
7498
  onChangeItem == null ? void 0 : onChangeItem((_a2 = nextOption == null ? void 0 : nextOption.data) != null ? _a2 : null);
7160
7499
  };
7161
- return /* @__PURE__ */ jsxs15(FormItem, { children: [
7162
- label ? /* @__PURE__ */ jsxs15(
7500
+ return /* @__PURE__ */ jsxs16(FormItem, { children: [
7501
+ label ? /* @__PURE__ */ jsxs16(
7163
7502
  FormLabel,
7164
7503
  {
7165
7504
  className: cn(
@@ -7168,8 +7507,8 @@ var FormSelect = ({
7168
7507
  labelClassName
7169
7508
  ),
7170
7509
  children: [
7171
- /* @__PURE__ */ jsx25("span", { children: label }),
7172
- requiredLabel ? /* @__PURE__ */ jsx25(
7510
+ /* @__PURE__ */ jsx26("span", { children: label }),
7511
+ requiredLabel ? /* @__PURE__ */ jsx26(
7173
7512
  Asterisk3,
7174
7513
  {
7175
7514
  "aria-hidden": "true",
@@ -7182,20 +7521,43 @@ var FormSelect = ({
7182
7521
  ]
7183
7522
  }
7184
7523
  ) : null,
7185
- searchable ? /* @__PURE__ */ jsx25(
7186
- Badge,
7524
+ searchable ? /* @__PURE__ */ jsx26(
7525
+ SearchableSelect,
7187
7526
  {
7188
- variant: "outline",
7189
- className: cn(
7190
- "w-full cursor-pointer",
7191
- hasError && "border-destructive ring-destructive focus:ring-destructive/40",
7527
+ items: normalizedOptions,
7528
+ value: (_a = field.value) != null ? _a : "",
7529
+ name: field.name,
7530
+ placeholder,
7531
+ searchPlaceholder,
7532
+ emptyText,
7533
+ disabled,
7534
+ triggerClassName: cn(
7535
+ "min-h-10 w-full rounded-xl border border-input bg-input px-3 text-sm shadow-sm",
7536
+ "focus-within:border-primary focus-within:ring-2 focus-within:ring-primary/20",
7537
+ hasError && "border-destructive ring-destructive/20",
7192
7538
  className
7193
- )
7539
+ ),
7540
+ contentClassName: cn(
7541
+ "z-50 mt-1 max-h-72 w-full overflow-hidden rounded-xl border border-border bg-popover shadow-xl",
7542
+ contentClassName
7543
+ ),
7544
+ itemClassName: cn(sizeClasses.selectItem, itemClassName),
7545
+ searchInputClassName: cn(
7546
+ "h-full w-full min-w-0 bg-transparent outline-none placeholder:text-muted-foreground",
7547
+ searchInputClassName
7548
+ ),
7549
+ onValueChange: (value, option) => {
7550
+ var _a2;
7551
+ field.onChange(value);
7552
+ onChange == null ? void 0 : onChange(value);
7553
+ onChangeItem == null ? void 0 : onChangeItem((_a2 = option == null ? void 0 : option.data) != null ? _a2 : null);
7554
+ field.onBlur();
7555
+ }
7194
7556
  }
7195
- ) : /* @__PURE__ */ jsxs15(
7557
+ ) : /* @__PURE__ */ jsxs16(
7196
7558
  Select2,
7197
7559
  {
7198
- value: (_a = field.value) != null ? _a : "",
7560
+ value: (_b = field.value) != null ? _b : "",
7199
7561
  onValueChange: handleValueChange,
7200
7562
  onOpenChange: (nextOpen) => {
7201
7563
  if (!nextOpen) {
@@ -7204,7 +7566,7 @@ var FormSelect = ({
7204
7566
  },
7205
7567
  disabled,
7206
7568
  children: [
7207
- /* @__PURE__ */ jsx25(FormControl, { children: /* @__PURE__ */ jsx25(
7569
+ /* @__PURE__ */ jsx26(FormControl, { children: /* @__PURE__ */ jsx26(
7208
7570
  SelectTrigger,
7209
7571
  {
7210
7572
  className: cn(
@@ -7214,10 +7576,10 @@ var FormSelect = ({
7214
7576
  hasError && "border-destructive ring-destructive focus:ring-destructive/40",
7215
7577
  className
7216
7578
  ),
7217
- children: /* @__PURE__ */ jsx25(SelectValue, { placeholder })
7579
+ children: /* @__PURE__ */ jsx26(SelectValue, { placeholder })
7218
7580
  }
7219
7581
  ) }),
7220
- /* @__PURE__ */ jsx25(
7582
+ /* @__PURE__ */ jsx26(
7221
7583
  SelectContent,
7222
7584
  {
7223
7585
  position,
@@ -7234,7 +7596,7 @@ var FormSelect = ({
7234
7596
  onTouchMoveCapture: (event) => {
7235
7597
  event.stopPropagation();
7236
7598
  },
7237
- children: children ? children : normalizedOptions.length > 0 ? normalizedOptions.map((option) => /* @__PURE__ */ jsx25(
7599
+ children: children ? children : normalizedOptions.length > 0 ? normalizedOptions.map((option) => /* @__PURE__ */ jsx26(
7238
7600
  SelectItem,
7239
7601
  {
7240
7602
  value: option.value,
@@ -7243,7 +7605,7 @@ var FormSelect = ({
7243
7605
  children: option.label
7244
7606
  },
7245
7607
  option.value
7246
- )) : /* @__PURE__ */ jsx25(
7608
+ )) : /* @__PURE__ */ jsx26(
7247
7609
  "div",
7248
7610
  {
7249
7611
  className: cn(
@@ -7258,7 +7620,7 @@ var FormSelect = ({
7258
7620
  ]
7259
7621
  }
7260
7622
  ),
7261
- fieldError ? /* @__PURE__ */ jsx25(
7623
+ fieldError ? /* @__PURE__ */ jsx26(
7262
7624
  FormMessage,
7263
7625
  {
7264
7626
  className: cn(sizeClasses.message, messageClassName),
@@ -7275,12 +7637,12 @@ FormSelect.displayName = "FormSelect";
7275
7637
  // src/components/hover-card.tsx
7276
7638
  import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
7277
7639
  import * as React49 from "react";
7278
- import { jsx as jsx26 } from "react/jsx-runtime";
7640
+ import { jsx as jsx27 } from "react/jsx-runtime";
7279
7641
  var HoverCard = HoverCardPrimitive.Root;
7280
7642
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
7281
7643
  var HoverCardContent = React49.forwardRef((_a, ref) => {
7282
7644
  var _b = _a, { className, align = "center", sideOffset = 4 } = _b, props = __objRest(_b, ["className", "align", "sideOffset"]);
7283
- return /* @__PURE__ */ jsx26(
7645
+ return /* @__PURE__ */ jsx27(
7284
7646
  HoverCardPrimitive.Content,
7285
7647
  __spreadValues({
7286
7648
  ref,
@@ -7360,10 +7722,10 @@ var Icons = IconsApp;
7360
7722
  import { DashIcon } from "@radix-ui/react-icons";
7361
7723
  import { OTPInput, OTPInputContext } from "input-otp";
7362
7724
  import * as React50 from "react";
7363
- import { jsx as jsx27, jsxs as jsxs16 } from "react/jsx-runtime";
7725
+ import { jsx as jsx28, jsxs as jsxs17 } from "react/jsx-runtime";
7364
7726
  var InputOTP = React50.forwardRef((_a, ref) => {
7365
7727
  var _b = _a, { className, containerClassName } = _b, props = __objRest(_b, ["className", "containerClassName"]);
7366
- return /* @__PURE__ */ jsx27(
7728
+ return /* @__PURE__ */ jsx28(
7367
7729
  OTPInput,
7368
7730
  __spreadValues({
7369
7731
  ref,
@@ -7378,14 +7740,14 @@ var InputOTP = React50.forwardRef((_a, ref) => {
7378
7740
  InputOTP.displayName = "InputOTP";
7379
7741
  var InputOTPGroup = React50.forwardRef((_a, ref) => {
7380
7742
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7381
- return /* @__PURE__ */ jsx27("div", __spreadValues({ ref, className: cn("flex items-center", className) }, props));
7743
+ return /* @__PURE__ */ jsx28("div", __spreadValues({ ref, className: cn("flex items-center", className) }, props));
7382
7744
  });
7383
7745
  InputOTPGroup.displayName = "InputOTPGroup";
7384
7746
  var InputOTPSlot = React50.forwardRef((_a, ref) => {
7385
7747
  var _b = _a, { index, className } = _b, props = __objRest(_b, ["index", "className"]);
7386
7748
  const inputOTPContext = React50.useContext(OTPInputContext);
7387
7749
  const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
7388
- return /* @__PURE__ */ jsxs16(
7750
+ return /* @__PURE__ */ jsxs17(
7389
7751
  "div",
7390
7752
  __spreadProps(__spreadValues({
7391
7753
  ref,
@@ -7398,7 +7760,7 @@ var InputOTPSlot = React50.forwardRef((_a, ref) => {
7398
7760
  }, props), {
7399
7761
  children: [
7400
7762
  char,
7401
- hasFakeCaret && /* @__PURE__ */ jsx27("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx27("div", { className: "animate-caret-blink h-4 w-px bg-foreground duration-1000" }) })
7763
+ hasFakeCaret && /* @__PURE__ */ jsx28("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx28("div", { className: "animate-caret-blink h-4 w-px bg-foreground duration-1000" }) })
7402
7764
  ]
7403
7765
  })
7404
7766
  );
@@ -7406,19 +7768,19 @@ var InputOTPSlot = React50.forwardRef((_a, ref) => {
7406
7768
  InputOTPSlot.displayName = "InputOTPSlot";
7407
7769
  var InputOTPSeparator = React50.forwardRef((_a, ref) => {
7408
7770
  var props = __objRest(_a, []);
7409
- return /* @__PURE__ */ jsx27("div", __spreadProps(__spreadValues({ ref, role: "separator" }, props), { children: /* @__PURE__ */ jsx27(DashIcon, {}) }));
7771
+ return /* @__PURE__ */ jsx28("div", __spreadProps(__spreadValues({ ref, role: "separator" }, props), { children: /* @__PURE__ */ jsx28(DashIcon, {}) }));
7410
7772
  });
7411
7773
  InputOTPSeparator.displayName = "InputOTPSeparator";
7412
7774
 
7413
7775
  // src/components/menubar.tsx
7414
7776
  import {
7415
- CheckIcon as CheckIcon5,
7777
+ CheckIcon as CheckIcon6,
7416
7778
  ChevronRightIcon as ChevronRightIcon4,
7417
7779
  DotFilledIcon as DotFilledIcon3
7418
7780
  } from "@radix-ui/react-icons";
7419
7781
  import * as MenubarPrimitive from "@radix-ui/react-menubar";
7420
7782
  import * as React51 from "react";
7421
- import { jsx as jsx28, jsxs as jsxs17 } from "react/jsx-runtime";
7783
+ import { jsx as jsx29, jsxs as jsxs18 } from "react/jsx-runtime";
7422
7784
  var MenubarMenu = MenubarPrimitive.Menu;
7423
7785
  var MenubarGroup = MenubarPrimitive.Group;
7424
7786
  var MenubarPortal = MenubarPrimitive.Portal;
@@ -7426,7 +7788,7 @@ var MenubarSub = MenubarPrimitive.Sub;
7426
7788
  var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
7427
7789
  var Menubar = React51.forwardRef((_a, ref) => {
7428
7790
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7429
- return /* @__PURE__ */ jsx28(
7791
+ return /* @__PURE__ */ jsx29(
7430
7792
  MenubarPrimitive.Root,
7431
7793
  __spreadValues({
7432
7794
  ref,
@@ -7440,7 +7802,7 @@ var Menubar = React51.forwardRef((_a, ref) => {
7440
7802
  Menubar.displayName = MenubarPrimitive.Root.displayName;
7441
7803
  var MenubarTrigger = React51.forwardRef((_a, ref) => {
7442
7804
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7443
- return /* @__PURE__ */ jsx28(
7805
+ return /* @__PURE__ */ jsx29(
7444
7806
  MenubarPrimitive.Trigger,
7445
7807
  __spreadValues({
7446
7808
  ref,
@@ -7454,7 +7816,7 @@ var MenubarTrigger = React51.forwardRef((_a, ref) => {
7454
7816
  MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
7455
7817
  var MenubarSubTrigger = React51.forwardRef((_a, ref) => {
7456
7818
  var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
7457
- return /* @__PURE__ */ jsxs17(
7819
+ return /* @__PURE__ */ jsxs18(
7458
7820
  MenubarPrimitive.SubTrigger,
7459
7821
  __spreadProps(__spreadValues({
7460
7822
  ref,
@@ -7466,7 +7828,7 @@ var MenubarSubTrigger = React51.forwardRef((_a, ref) => {
7466
7828
  }, props), {
7467
7829
  children: [
7468
7830
  children,
7469
- /* @__PURE__ */ jsx28(ChevronRightIcon4, { className: "ml-auto h-4 w-4" })
7831
+ /* @__PURE__ */ jsx29(ChevronRightIcon4, { className: "ml-auto h-4 w-4" })
7470
7832
  ]
7471
7833
  })
7472
7834
  );
@@ -7474,7 +7836,7 @@ var MenubarSubTrigger = React51.forwardRef((_a, ref) => {
7474
7836
  MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
7475
7837
  var MenubarSubContent = React51.forwardRef((_a, ref) => {
7476
7838
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7477
- return /* @__PURE__ */ jsx28(
7839
+ return /* @__PURE__ */ jsx29(
7478
7840
  MenubarPrimitive.SubContent,
7479
7841
  __spreadValues({
7480
7842
  ref,
@@ -7489,7 +7851,7 @@ MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
7489
7851
  var MenubarContent = React51.forwardRef(
7490
7852
  (_a, ref) => {
7491
7853
  var _b = _a, { className, align = "start", alignOffset = -4, sideOffset = 8 } = _b, props = __objRest(_b, ["className", "align", "alignOffset", "sideOffset"]);
7492
- return /* @__PURE__ */ jsx28(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx28(
7854
+ return /* @__PURE__ */ jsx29(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx29(
7493
7855
  MenubarPrimitive.Content,
7494
7856
  __spreadValues({
7495
7857
  ref,
@@ -7507,7 +7869,7 @@ var MenubarContent = React51.forwardRef(
7507
7869
  MenubarContent.displayName = MenubarPrimitive.Content.displayName;
7508
7870
  var MenubarItem = React51.forwardRef((_a, ref) => {
7509
7871
  var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
7510
- return /* @__PURE__ */ jsx28(
7872
+ return /* @__PURE__ */ jsx29(
7511
7873
  MenubarPrimitive.Item,
7512
7874
  __spreadValues({
7513
7875
  ref,
@@ -7522,7 +7884,7 @@ var MenubarItem = React51.forwardRef((_a, ref) => {
7522
7884
  MenubarItem.displayName = MenubarPrimitive.Item.displayName;
7523
7885
  var MenubarCheckboxItem = React51.forwardRef((_a, ref) => {
7524
7886
  var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
7525
- return /* @__PURE__ */ jsxs17(
7887
+ return /* @__PURE__ */ jsxs18(
7526
7888
  MenubarPrimitive.CheckboxItem,
7527
7889
  __spreadProps(__spreadValues({
7528
7890
  ref,
@@ -7533,7 +7895,7 @@ var MenubarCheckboxItem = React51.forwardRef((_a, ref) => {
7533
7895
  checked
7534
7896
  }, props), {
7535
7897
  children: [
7536
- /* @__PURE__ */ jsx28("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx28(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx28(CheckIcon5, { className: "h-4 w-4" }) }) }),
7898
+ /* @__PURE__ */ jsx29("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx29(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx29(CheckIcon6, { className: "h-4 w-4" }) }) }),
7537
7899
  children
7538
7900
  ]
7539
7901
  })
@@ -7542,7 +7904,7 @@ var MenubarCheckboxItem = React51.forwardRef((_a, ref) => {
7542
7904
  MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
7543
7905
  var MenubarRadioItem = React51.forwardRef((_a, ref) => {
7544
7906
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
7545
- return /* @__PURE__ */ jsxs17(
7907
+ return /* @__PURE__ */ jsxs18(
7546
7908
  MenubarPrimitive.RadioItem,
7547
7909
  __spreadProps(__spreadValues({
7548
7910
  ref,
@@ -7552,7 +7914,7 @@ var MenubarRadioItem = React51.forwardRef((_a, ref) => {
7552
7914
  )
7553
7915
  }, props), {
7554
7916
  children: [
7555
- /* @__PURE__ */ jsx28("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx28(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx28(DotFilledIcon3, { className: "h-4 w-4 fill-current" }) }) }),
7917
+ /* @__PURE__ */ jsx29("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx29(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx29(DotFilledIcon3, { className: "h-4 w-4 fill-current" }) }) }),
7556
7918
  children
7557
7919
  ]
7558
7920
  })
@@ -7561,7 +7923,7 @@ var MenubarRadioItem = React51.forwardRef((_a, ref) => {
7561
7923
  MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
7562
7924
  var MenubarLabel = React51.forwardRef((_a, ref) => {
7563
7925
  var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
7564
- return /* @__PURE__ */ jsx28(
7926
+ return /* @__PURE__ */ jsx29(
7565
7927
  MenubarPrimitive.Label,
7566
7928
  __spreadValues({
7567
7929
  ref,
@@ -7576,7 +7938,7 @@ var MenubarLabel = React51.forwardRef((_a, ref) => {
7576
7938
  MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
7577
7939
  var MenubarSeparator = React51.forwardRef((_a, ref) => {
7578
7940
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7579
- return /* @__PURE__ */ jsx28(
7941
+ return /* @__PURE__ */ jsx29(
7580
7942
  MenubarPrimitive.Separator,
7581
7943
  __spreadValues({
7582
7944
  ref,
@@ -7591,7 +7953,7 @@ var MenubarShortcut = (_a) => {
7591
7953
  } = _b, props = __objRest(_b, [
7592
7954
  "className"
7593
7955
  ]);
7594
- return /* @__PURE__ */ jsx28(
7956
+ return /* @__PURE__ */ jsx29(
7595
7957
  "span",
7596
7958
  __spreadValues({
7597
7959
  className: cn(
@@ -7604,7 +7966,7 @@ var MenubarShortcut = (_a) => {
7604
7966
  MenubarShortcut.displayname = "MenubarShortcut";
7605
7967
 
7606
7968
  // src/components/modal.tsx
7607
- import { jsx as jsx29, jsxs as jsxs18 } from "react/jsx-runtime";
7969
+ import { jsx as jsx30, jsxs as jsxs19 } from "react/jsx-runtime";
7608
7970
  var Modal = ({
7609
7971
  title,
7610
7972
  description,
@@ -7618,12 +7980,12 @@ var Modal = ({
7618
7980
  onClose();
7619
7981
  }
7620
7982
  };
7621
- return /* @__PURE__ */ jsx29(Dialog, { open: isOpen, onOpenChange: onChange, children: /* @__PURE__ */ jsxs18(DialogContent, { className, children: [
7622
- /* @__PURE__ */ jsxs18(DialogHeader, { children: [
7623
- /* @__PURE__ */ jsx29(DialogTitle, { children: title }),
7624
- /* @__PURE__ */ jsx29(DialogDescription, { children: description })
7983
+ return /* @__PURE__ */ jsx30(Dialog, { open: isOpen, onOpenChange: onChange, children: /* @__PURE__ */ jsxs19(DialogContent, { className, children: [
7984
+ /* @__PURE__ */ jsxs19(DialogHeader, { children: [
7985
+ /* @__PURE__ */ jsx30(DialogTitle, { children: title }),
7986
+ /* @__PURE__ */ jsx30(DialogDescription, { children: description })
7625
7987
  ] }),
7626
- /* @__PURE__ */ jsx29("div", { children })
7988
+ /* @__PURE__ */ jsx30("div", { children })
7627
7989
  ] }) });
7628
7990
  };
7629
7991
 
@@ -7632,10 +7994,10 @@ import { ChevronDownIcon as ChevronDownIcon3 } from "@radix-ui/react-icons";
7632
7994
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
7633
7995
  import { cva as cva6 } from "class-variance-authority";
7634
7996
  import * as React52 from "react";
7635
- import { jsx as jsx30, jsxs as jsxs19 } from "react/jsx-runtime";
7997
+ import { jsx as jsx31, jsxs as jsxs20 } from "react/jsx-runtime";
7636
7998
  var NavigationMenu = React52.forwardRef((_a, ref) => {
7637
7999
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
7638
- return /* @__PURE__ */ jsxs19(
8000
+ return /* @__PURE__ */ jsxs20(
7639
8001
  NavigationMenuPrimitive.Root,
7640
8002
  __spreadProps(__spreadValues({
7641
8003
  ref,
@@ -7646,7 +8008,7 @@ var NavigationMenu = React52.forwardRef((_a, ref) => {
7646
8008
  }, props), {
7647
8009
  children: [
7648
8010
  children,
7649
- /* @__PURE__ */ jsx30(NavigationMenuViewport, {})
8011
+ /* @__PURE__ */ jsx31(NavigationMenuViewport, {})
7650
8012
  ]
7651
8013
  })
7652
8014
  );
@@ -7654,7 +8016,7 @@ var NavigationMenu = React52.forwardRef((_a, ref) => {
7654
8016
  NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
7655
8017
  var NavigationMenuList = React52.forwardRef((_a, ref) => {
7656
8018
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7657
- return /* @__PURE__ */ jsx30(
8019
+ return /* @__PURE__ */ jsx31(
7658
8020
  NavigationMenuPrimitive.List,
7659
8021
  __spreadValues({
7660
8022
  ref,
@@ -7672,7 +8034,7 @@ var navigationMenuTriggerStyle = cva6(
7672
8034
  );
7673
8035
  var NavigationMenuTrigger = React52.forwardRef((_a, ref) => {
7674
8036
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
7675
- return /* @__PURE__ */ jsxs19(
8037
+ return /* @__PURE__ */ jsxs20(
7676
8038
  NavigationMenuPrimitive.Trigger,
7677
8039
  __spreadProps(__spreadValues({
7678
8040
  ref,
@@ -7681,7 +8043,7 @@ var NavigationMenuTrigger = React52.forwardRef((_a, ref) => {
7681
8043
  children: [
7682
8044
  children,
7683
8045
  " ",
7684
- /* @__PURE__ */ jsx30(
8046
+ /* @__PURE__ */ jsx31(
7685
8047
  ChevronDownIcon3,
7686
8048
  {
7687
8049
  className: "relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180",
@@ -7695,7 +8057,7 @@ var NavigationMenuTrigger = React52.forwardRef((_a, ref) => {
7695
8057
  NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
7696
8058
  var NavigationMenuContent = React52.forwardRef((_a, ref) => {
7697
8059
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7698
- return /* @__PURE__ */ jsx30(
8060
+ return /* @__PURE__ */ jsx31(
7699
8061
  NavigationMenuPrimitive.Content,
7700
8062
  __spreadValues({
7701
8063
  ref,
@@ -7710,7 +8072,7 @@ NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
7710
8072
  var NavigationMenuLink = NavigationMenuPrimitive.Link;
7711
8073
  var NavigationMenuViewport = React52.forwardRef((_a, ref) => {
7712
8074
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7713
- return /* @__PURE__ */ jsx30("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx30(
8075
+ return /* @__PURE__ */ jsx31("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx31(
7714
8076
  NavigationMenuPrimitive.Viewport,
7715
8077
  __spreadValues({
7716
8078
  className: cn(
@@ -7724,7 +8086,7 @@ var NavigationMenuViewport = React52.forwardRef((_a, ref) => {
7724
8086
  NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
7725
8087
  var NavigationMenuIndicator = React52.forwardRef((_a, ref) => {
7726
8088
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7727
- return /* @__PURE__ */ jsx30(
8089
+ return /* @__PURE__ */ jsx31(
7728
8090
  NavigationMenuPrimitive.Indicator,
7729
8091
  __spreadProps(__spreadValues({
7730
8092
  ref,
@@ -7733,7 +8095,7 @@ var NavigationMenuIndicator = React52.forwardRef((_a, ref) => {
7733
8095
  className
7734
8096
  )
7735
8097
  }, props), {
7736
- children: /* @__PURE__ */ jsx30("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
8098
+ children: /* @__PURE__ */ jsx31("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
7737
8099
  })
7738
8100
  );
7739
8101
  });
@@ -7747,10 +8109,10 @@ import {
7747
8109
  } from "@radix-ui/react-icons";
7748
8110
  import * as React53 from "react";
7749
8111
  import { ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight2 } from "lucide-react";
7750
- import { jsx as jsx31, jsxs as jsxs20 } from "react/jsx-runtime";
8112
+ import { jsx as jsx32, jsxs as jsxs21 } from "react/jsx-runtime";
7751
8113
  var Pagination = (_a) => {
7752
8114
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7753
- return /* @__PURE__ */ jsx31(
8115
+ return /* @__PURE__ */ jsx32(
7754
8116
  "nav",
7755
8117
  __spreadValues({
7756
8118
  role: "navigation",
@@ -7762,7 +8124,7 @@ var Pagination = (_a) => {
7762
8124
  Pagination.displayName = "Pagination";
7763
8125
  var PaginationContent = React53.forwardRef((_a, ref) => {
7764
8126
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7765
- return /* @__PURE__ */ jsx31(
8127
+ return /* @__PURE__ */ jsx32(
7766
8128
  "ul",
7767
8129
  __spreadValues({
7768
8130
  ref,
@@ -7773,7 +8135,7 @@ var PaginationContent = React53.forwardRef((_a, ref) => {
7773
8135
  PaginationContent.displayName = "PaginationContent";
7774
8136
  var PaginationItem = React53.forwardRef((_a, ref) => {
7775
8137
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7776
- return /* @__PURE__ */ jsx31("li", __spreadValues({ ref, className: cn("", className) }, props));
8138
+ return /* @__PURE__ */ jsx32("li", __spreadValues({ ref, className: cn("", className) }, props));
7777
8139
  });
7778
8140
  PaginationItem.displayName = "PaginationItem";
7779
8141
  var PaginationLink = (_a) => {
@@ -7786,7 +8148,7 @@ var PaginationLink = (_a) => {
7786
8148
  "isActive",
7787
8149
  "size"
7788
8150
  ]);
7789
- return /* @__PURE__ */ jsx31(
8151
+ return /* @__PURE__ */ jsx32(
7790
8152
  "a",
7791
8153
  __spreadValues({
7792
8154
  "aria-current": isActive ? "page" : void 0,
@@ -7807,7 +8169,7 @@ var PaginationPreviousLast = (_a) => {
7807
8169
  } = _b, props = __objRest(_b, [
7808
8170
  "className"
7809
8171
  ]);
7810
- return /* @__PURE__ */ jsxs20(
8172
+ return /* @__PURE__ */ jsxs21(
7811
8173
  PaginationLink,
7812
8174
  __spreadProps(__spreadValues({
7813
8175
  "aria-label": "Go to previous page",
@@ -7815,8 +8177,8 @@ var PaginationPreviousLast = (_a) => {
7815
8177
  className: cn("gap-1 pl-2.5", className)
7816
8178
  }, props), {
7817
8179
  children: [
7818
- /* @__PURE__ */ jsx31(ChevronLeft2, { className: "h-4 w-4" }),
7819
- /* @__PURE__ */ jsx31("span", { className: "sr-only", children: "Previous Last" })
8180
+ /* @__PURE__ */ jsx32(ChevronLeft2, { className: "h-4 w-4" }),
8181
+ /* @__PURE__ */ jsx32("span", { className: "sr-only", children: "Previous Last" })
7820
8182
  ]
7821
8183
  })
7822
8184
  );
@@ -7828,7 +8190,7 @@ var PaginationPrevious = (_a) => {
7828
8190
  } = _b, props = __objRest(_b, [
7829
8191
  "className"
7830
8192
  ]);
7831
- return /* @__PURE__ */ jsxs20(
8193
+ return /* @__PURE__ */ jsxs21(
7832
8194
  PaginationLink,
7833
8195
  __spreadProps(__spreadValues({
7834
8196
  "aria-label": "Go to previous page",
@@ -7836,8 +8198,8 @@ var PaginationPrevious = (_a) => {
7836
8198
  className: cn("gap-1 pl-2.5", className)
7837
8199
  }, props), {
7838
8200
  children: [
7839
- /* @__PURE__ */ jsx31(ChevronLeftIcon, { className: "h-4 w-4" }),
7840
- /* @__PURE__ */ jsx31("span", { children: "Previous" })
8201
+ /* @__PURE__ */ jsx32(ChevronLeftIcon, { className: "h-4 w-4" }),
8202
+ /* @__PURE__ */ jsx32("span", { children: "Previous" })
7841
8203
  ]
7842
8204
  })
7843
8205
  );
@@ -7849,7 +8211,7 @@ var PaginationNext = (_a) => {
7849
8211
  } = _b, props = __objRest(_b, [
7850
8212
  "className"
7851
8213
  ]);
7852
- return /* @__PURE__ */ jsxs20(
8214
+ return /* @__PURE__ */ jsxs21(
7853
8215
  PaginationLink,
7854
8216
  __spreadProps(__spreadValues({
7855
8217
  "aria-label": "Go to next page",
@@ -7857,8 +8219,8 @@ var PaginationNext = (_a) => {
7857
8219
  className: cn("gap-1 pr-2.5", className)
7858
8220
  }, props), {
7859
8221
  children: [
7860
- /* @__PURE__ */ jsx31("span", { children: "Next" }),
7861
- /* @__PURE__ */ jsx31(ChevronRightIcon5, { className: "h-4 w-4" })
8222
+ /* @__PURE__ */ jsx32("span", { children: "Next" }),
8223
+ /* @__PURE__ */ jsx32(ChevronRightIcon5, { className: "h-4 w-4" })
7862
8224
  ]
7863
8225
  })
7864
8226
  );
@@ -7870,7 +8232,7 @@ var PaginationNextLast = (_a) => {
7870
8232
  } = _b, props = __objRest(_b, [
7871
8233
  "className"
7872
8234
  ]);
7873
- return /* @__PURE__ */ jsxs20(
8235
+ return /* @__PURE__ */ jsxs21(
7874
8236
  PaginationLink,
7875
8237
  __spreadProps(__spreadValues({
7876
8238
  "aria-label": "Go to next page",
@@ -7878,8 +8240,8 @@ var PaginationNextLast = (_a) => {
7878
8240
  className: cn("gap-1 pr-2.5", className)
7879
8241
  }, props), {
7880
8242
  children: [
7881
- /* @__PURE__ */ jsx31("span", { className: "sr-only", children: "Next Last" }),
7882
- /* @__PURE__ */ jsx31(ChevronRight2, { className: "h-4 w-4" })
8243
+ /* @__PURE__ */ jsx32("span", { className: "sr-only", children: "Next Last" }),
8244
+ /* @__PURE__ */ jsx32(ChevronRight2, { className: "h-4 w-4" })
7883
8245
  ]
7884
8246
  })
7885
8247
  );
@@ -7891,15 +8253,15 @@ var PaginationEllipsis = (_a) => {
7891
8253
  } = _b, props = __objRest(_b, [
7892
8254
  "className"
7893
8255
  ]);
7894
- return /* @__PURE__ */ jsxs20(
8256
+ return /* @__PURE__ */ jsxs21(
7895
8257
  "span",
7896
8258
  __spreadProps(__spreadValues({
7897
8259
  "aria-hidden": true,
7898
8260
  className: cn("flex h-9 w-9 items-center justify-center", className)
7899
8261
  }, props), {
7900
8262
  children: [
7901
- /* @__PURE__ */ jsx31(DotsHorizontalIcon2, { className: "h-4 w-4" }),
7902
- /* @__PURE__ */ jsx31("span", { className: "sr-only", children: "More pages" })
8263
+ /* @__PURE__ */ jsx32(DotsHorizontalIcon2, { className: "h-4 w-4" }),
8264
+ /* @__PURE__ */ jsx32("span", { className: "sr-only", children: "More pages" })
7903
8265
  ]
7904
8266
  })
7905
8267
  );
@@ -7909,13 +8271,13 @@ PaginationEllipsis.displayName = "PaginationEllipsis";
7909
8271
  // src/components/popover.tsx
7910
8272
  import * as PopoverPrimitive from "@radix-ui/react-popover";
7911
8273
  import * as React54 from "react";
7912
- import { jsx as jsx32 } from "react/jsx-runtime";
8274
+ import { jsx as jsx33 } from "react/jsx-runtime";
7913
8275
  var Popover = PopoverPrimitive.Root;
7914
8276
  var PopoverTrigger = PopoverPrimitive.Trigger;
7915
8277
  var PopoverAnchor = PopoverPrimitive.Anchor;
7916
8278
  var PopoverContent = React54.forwardRef((_a, ref) => {
7917
8279
  var _b = _a, { className, align = "center", sideOffset = 4 } = _b, props = __objRest(_b, ["className", "align", "sideOffset"]);
7918
- return /* @__PURE__ */ jsx32(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx32(
8280
+ return /* @__PURE__ */ jsx33(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx33(
7919
8281
  PopoverPrimitive.Content,
7920
8282
  __spreadValues({
7921
8283
  ref,
@@ -7933,10 +8295,10 @@ PopoverContent.displayName = PopoverPrimitive.Content.displayName;
7933
8295
  // src/components/progress.tsx
7934
8296
  import * as ProgressPrimitive from "@radix-ui/react-progress";
7935
8297
  import * as React55 from "react";
7936
- import { jsx as jsx33 } from "react/jsx-runtime";
8298
+ import { jsx as jsx34 } from "react/jsx-runtime";
7937
8299
  var Progress = React55.forwardRef((_a, ref) => {
7938
8300
  var _b = _a, { className, value } = _b, props = __objRest(_b, ["className", "value"]);
7939
- return /* @__PURE__ */ jsx33(
8301
+ return /* @__PURE__ */ jsx34(
7940
8302
  ProgressPrimitive.Root,
7941
8303
  __spreadProps(__spreadValues({
7942
8304
  ref,
@@ -7945,7 +8307,7 @@ var Progress = React55.forwardRef((_a, ref) => {
7945
8307
  className
7946
8308
  )
7947
8309
  }, props), {
7948
- children: /* @__PURE__ */ jsx33(
8310
+ children: /* @__PURE__ */ jsx34(
7949
8311
  ProgressPrimitive.Indicator,
7950
8312
  {
7951
8313
  className: "h-full w-full flex-1 bg-primary transition-all",
@@ -7958,13 +8320,13 @@ var Progress = React55.forwardRef((_a, ref) => {
7958
8320
  Progress.displayName = ProgressPrimitive.Root.displayName;
7959
8321
 
7960
8322
  // src/components/radio-group.tsx
7961
- import { CheckIcon as CheckIcon6 } from "@radix-ui/react-icons";
8323
+ import { CheckIcon as CheckIcon7 } from "@radix-ui/react-icons";
7962
8324
  import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
7963
8325
  import * as React56 from "react";
7964
- import { jsx as jsx34 } from "react/jsx-runtime";
8326
+ import { jsx as jsx35 } from "react/jsx-runtime";
7965
8327
  var RadioGroup4 = React56.forwardRef((_a, ref) => {
7966
8328
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7967
- return /* @__PURE__ */ jsx34(
8329
+ return /* @__PURE__ */ jsx35(
7968
8330
  RadioGroupPrimitive.Root,
7969
8331
  __spreadProps(__spreadValues({
7970
8332
  className: cn("grid gap-2", className)
@@ -7976,7 +8338,7 @@ var RadioGroup4 = React56.forwardRef((_a, ref) => {
7976
8338
  RadioGroup4.displayName = RadioGroupPrimitive.Root.displayName;
7977
8339
  var RadioGroupItem = React56.forwardRef((_a, ref) => {
7978
8340
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7979
- return /* @__PURE__ */ jsx34(
8341
+ return /* @__PURE__ */ jsx35(
7980
8342
  RadioGroupPrimitive.Item,
7981
8343
  __spreadProps(__spreadValues({
7982
8344
  ref,
@@ -7985,7 +8347,7 @@ var RadioGroupItem = React56.forwardRef((_a, ref) => {
7985
8347
  className
7986
8348
  )
7987
8349
  }, props), {
7988
- children: /* @__PURE__ */ jsx34(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx34(CheckIcon6, { className: "h-3.5 w-3.5 fill-primary" }) })
8350
+ children: /* @__PURE__ */ jsx35(RadioGroupPrimitive.Indicator, { className: "flex items-center justify-center", children: /* @__PURE__ */ jsx35(CheckIcon7, { className: "h-3.5 w-3.5 fill-primary" }) })
7989
8351
  })
7990
8352
  );
7991
8353
  });
@@ -7994,14 +8356,14 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
7994
8356
  // src/components/resizable.tsx
7995
8357
  import { DragHandleDots2Icon } from "@radix-ui/react-icons";
7996
8358
  import * as ResizablePrimitive from "react-resizable-panels";
7997
- import { jsx as jsx35 } from "react/jsx-runtime";
8359
+ import { jsx as jsx36 } from "react/jsx-runtime";
7998
8360
  var ResizablePanelGroup = (_a) => {
7999
8361
  var _b = _a, {
8000
8362
  className
8001
8363
  } = _b, props = __objRest(_b, [
8002
8364
  "className"
8003
8365
  ]);
8004
- return /* @__PURE__ */ jsx35(
8366
+ return /* @__PURE__ */ jsx36(
8005
8367
  ResizablePrimitive.Group,
8006
8368
  __spreadValues({
8007
8369
  className: cn("flex h-full w-full aria-[orientation=vertical]:flex-col", className)
@@ -8017,7 +8379,7 @@ var ResizableHandle = (_a) => {
8017
8379
  "withHandle",
8018
8380
  "className"
8019
8381
  ]);
8020
- return /* @__PURE__ */ jsx35(
8382
+ return /* @__PURE__ */ jsx36(
8021
8383
  ResizablePrimitive.Separator,
8022
8384
  __spreadProps(__spreadValues({
8023
8385
  className: cn(
@@ -8025,7 +8387,7 @@ var ResizableHandle = (_a) => {
8025
8387
  className
8026
8388
  )
8027
8389
  }, props), {
8028
- children: withHandle && /* @__PURE__ */ jsx35("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsx35(DragHandleDots2Icon, { className: "h-2.5 w-2.5" }) })
8390
+ children: withHandle && /* @__PURE__ */ jsx36("div", { className: "z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border", children: /* @__PURE__ */ jsx36(DragHandleDots2Icon, { className: "h-2.5 w-2.5" }) })
8029
8391
  })
8030
8392
  );
8031
8393
  };
@@ -8033,19 +8395,19 @@ var ResizableHandle = (_a) => {
8033
8395
  // src/components/scroll-area.tsx
8034
8396
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
8035
8397
  import * as React57 from "react";
8036
- import { jsx as jsx36, jsxs as jsxs21 } from "react/jsx-runtime";
8398
+ import { jsx as jsx37, jsxs as jsxs22 } from "react/jsx-runtime";
8037
8399
  var ScrollArea = React57.forwardRef((_a, ref) => {
8038
8400
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
8039
- return /* @__PURE__ */ jsxs21(
8401
+ return /* @__PURE__ */ jsxs22(
8040
8402
  ScrollAreaPrimitive.Root,
8041
8403
  __spreadProps(__spreadValues({
8042
8404
  ref,
8043
8405
  className: cn("relative overflow-hidden", className)
8044
8406
  }, props), {
8045
8407
  children: [
8046
- /* @__PURE__ */ jsx36(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
8047
- /* @__PURE__ */ jsx36(ScrollBar, {}),
8048
- /* @__PURE__ */ jsx36(ScrollAreaPrimitive.Corner, {})
8408
+ /* @__PURE__ */ jsx37(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
8409
+ /* @__PURE__ */ jsx37(ScrollBar, {}),
8410
+ /* @__PURE__ */ jsx37(ScrollAreaPrimitive.Corner, {})
8049
8411
  ]
8050
8412
  })
8051
8413
  );
@@ -8053,7 +8415,7 @@ var ScrollArea = React57.forwardRef((_a, ref) => {
8053
8415
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
8054
8416
  var ScrollBar = React57.forwardRef((_a, ref) => {
8055
8417
  var _b = _a, { className, orientation = "vertical" } = _b, props = __objRest(_b, ["className", "orientation"]);
8056
- return /* @__PURE__ */ jsx36(
8418
+ return /* @__PURE__ */ jsx37(
8057
8419
  ScrollAreaPrimitive.ScrollAreaScrollbar,
8058
8420
  __spreadProps(__spreadValues({
8059
8421
  ref,
@@ -8065,7 +8427,7 @@ var ScrollBar = React57.forwardRef((_a, ref) => {
8065
8427
  className
8066
8428
  )
8067
8429
  }, props), {
8068
- children: /* @__PURE__ */ jsx36(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
8430
+ children: /* @__PURE__ */ jsx37(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
8069
8431
  })
8070
8432
  );
8071
8433
  });
@@ -8074,7 +8436,7 @@ ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
8074
8436
  // src/components/search-input.tsx
8075
8437
  import * as React58 from "react";
8076
8438
  import { useDebouncedCallback } from "use-debounce";
8077
- import { jsx as jsx37 } from "react/jsx-runtime";
8439
+ import { jsx as jsx38 } from "react/jsx-runtime";
8078
8440
  function setForwardedRef(ref, value) {
8079
8441
  if (typeof ref === "function") {
8080
8442
  ref(value);
@@ -8142,385 +8504,66 @@ var SearchInput = React58.forwardRef(
8142
8504
  const handleChange = (event) => {
8143
8505
  const nextValue = event.target.value;
8144
8506
  setSearchTerm(nextValue);
8145
- if (debounceTime <= 0) {
8146
- debouncedSearch.cancel();
8147
- onSearch(nextValue);
8148
- requestAnimationFrame(() => {
8149
- focusInput();
8150
- });
8151
- return;
8152
- }
8153
- debouncedSearch(nextValue);
8154
- requestAnimationFrame(() => {
8155
- focusInput();
8156
- });
8157
- };
8158
- return /* @__PURE__ */ jsx37(
8159
- Input,
8160
- __spreadValues({
8161
- ref: composedRef,
8162
- type: "search",
8163
- value: searchTerm,
8164
- placeholder,
8165
- onChange: handleChange,
8166
- className: cn("w-full", className),
8167
- classNameDefault,
8168
- autoComplete: "off",
8169
- onKeyDown: (event) => {
8170
- if (event.key !== "Escape") {
8171
- event.stopPropagation();
8172
- }
8173
- onKeyDown == null ? void 0 : onKeyDown(event);
8174
- },
8175
- onPointerDown: (event) => {
8176
- event.stopPropagation();
8177
- onPointerDown == null ? void 0 : onPointerDown(event);
8178
- },
8179
- onMouseDown: (event) => {
8180
- event.stopPropagation();
8181
- onMouseDown == null ? void 0 : onMouseDown(event);
8182
- },
8183
- onClick: (event) => {
8184
- event.stopPropagation();
8185
- requestAnimationFrame(() => {
8186
- focusInput();
8187
- });
8188
- onClick == null ? void 0 : onClick(event);
8189
- },
8190
- onFocus: (event) => {
8191
- event.stopPropagation();
8192
- onFocus == null ? void 0 : onFocus(event);
8193
- }
8194
- }, props)
8195
- );
8196
- }
8197
- );
8198
- SearchInput.displayName = "SearchInput";
8199
-
8200
- // src/components/searchable-select.tsx
8201
- import * as React59 from "react";
8202
- import { CaretSortIcon as CaretSortIcon2, CheckIcon as CheckIcon7, Cross2Icon as Cross2Icon2 } from "@radix-ui/react-icons";
8203
- import { jsx as jsx38, jsxs as jsxs22 } from "react/jsx-runtime";
8204
- function normalizeText(value) {
8205
- return String(value != null ? value : "").normalize("NFD").replace(new RegExp("\\p{Diacritic}", "gu"), "").toLowerCase().trim();
8206
- }
8207
- function getLabelText(value) {
8208
- if (typeof value === "string" || typeof value === "number") {
8209
- return String(value);
8210
- }
8211
- return "";
8212
- }
8213
- function getOptionText(item) {
8214
- if (!item) return "";
8215
- return getLabelText(item.label) || item.value;
8216
- }
8217
- function getNextEnabledIndex2(items, currentIndex, direction) {
8218
- var _a;
8219
- if (!items.length) return -1;
8220
- let nextIndex = currentIndex;
8221
- for (let index = 0; index < items.length; index += 1) {
8222
- nextIndex = (nextIndex + direction + items.length) % items.length;
8223
- if (!((_a = items[nextIndex]) == null ? void 0 : _a.disabled)) {
8224
- return nextIndex;
8225
- }
8226
- }
8227
- return -1;
8228
- }
8229
- function SearchableSelectBase({
8230
- items,
8231
- value,
8232
- defaultValue,
8233
- onValueChange,
8234
- placeholder = "Seleccionar opci\xF3n",
8235
- searchPlaceholder = "Buscar\u2026",
8236
- emptyText = "No hay resultados",
8237
- disabled,
8238
- name,
8239
- required,
8240
- triggerClassName,
8241
- contentClassName,
8242
- itemClassName,
8243
- searchInputClassName
8244
- }) {
8245
- const rootRef = React59.useRef(null);
8246
- const inputRef = React59.useRef(null);
8247
- const listboxId = React59.useId();
8248
- const isControlled = value !== void 0;
8249
- const [internalValue, setInternalValue] = React59.useState(defaultValue != null ? defaultValue : "");
8250
- const currentValue = isControlled ? value != null ? value : "" : internalValue;
8251
- const selectedItem = React59.useMemo(() => {
8252
- return items.find((item) => item.value === currentValue);
8253
- }, [currentValue, items]);
8254
- const selectedText = React59.useMemo(() => {
8255
- return getOptionText(selectedItem);
8256
- }, [selectedItem]);
8257
- const [open, setOpen] = React59.useState(false);
8258
- const [inputValue, setInputValue] = React59.useState(selectedText);
8259
- const [activeIndex, setActiveIndex] = React59.useState(-1);
8260
- React59.useEffect(() => {
8261
- if (!open) {
8262
- setInputValue(selectedText);
8263
- }
8264
- }, [open, selectedText]);
8265
- const filteredItems = React59.useMemo(() => {
8266
- const query = normalizeText(inputValue);
8267
- if (!query) return items;
8268
- return items.filter((item) => {
8269
- var _a;
8270
- const haystack = normalizeText(
8271
- `${getLabelText(item.label)} ${item.value} ${(_a = item.keywords) != null ? _a : ""}`
8272
- );
8273
- return haystack.includes(query);
8274
- });
8275
- }, [inputValue, items]);
8276
- React59.useEffect(() => {
8277
- if (!open) return;
8278
- const firstEnabledIndex = filteredItems.findIndex((item) => !item.disabled);
8279
- setActiveIndex(firstEnabledIndex);
8280
- }, [filteredItems, open]);
8281
- React59.useEffect(() => {
8282
- if (!open) return;
8283
- const handlePointerDown = (event) => {
8284
- var _a;
8285
- const target = event.target;
8286
- if (target && ((_a = rootRef.current) == null ? void 0 : _a.contains(target))) {
8287
- return;
8288
- }
8289
- setOpen(false);
8290
- };
8291
- document.addEventListener("pointerdown", handlePointerDown, true);
8292
- return () => {
8293
- document.removeEventListener("pointerdown", handlePointerDown, true);
8294
- };
8295
- }, [open]);
8296
- const selectItem = React59.useCallback(
8297
- (item) => {
8298
- if (item.disabled) return;
8299
- if (!isControlled) {
8300
- setInternalValue(item.value);
8301
- }
8302
- setInputValue(getOptionText(item));
8303
- setOpen(false);
8304
- onValueChange == null ? void 0 : onValueChange(item.value, item);
8305
- requestAnimationFrame(() => {
8306
- var _a;
8307
- (_a = inputRef.current) == null ? void 0 : _a.blur();
8308
- });
8309
- },
8310
- [isControlled, onValueChange]
8311
- );
8312
- return /* @__PURE__ */ jsxs22("div", { ref: rootRef, className: "relative w-full", children: [
8313
- name ? /* @__PURE__ */ jsx38(
8314
- "input",
8315
- {
8316
- type: "hidden",
8317
- name,
8318
- value: currentValue,
8319
- required,
8320
- disabled
8507
+ if (debounceTime <= 0) {
8508
+ debouncedSearch.cancel();
8509
+ onSearch(nextValue);
8510
+ requestAnimationFrame(() => {
8511
+ focusInput();
8512
+ });
8513
+ return;
8321
8514
  }
8322
- ) : null,
8323
- /* @__PURE__ */ jsxs22(
8324
- "div",
8325
- {
8326
- className: cn(
8327
- "relative flex h-9 w-full items-center gap-2 rounded-md border border-input bg-background px-3 text-sm shadow-sm transition",
8328
- "focus-within:border-primary/60 focus-within:ring-2 focus-within:ring-primary/20",
8329
- disabled && "cursor-not-allowed opacity-50",
8330
- triggerClassName
8331
- ),
8332
- onPointerDown: () => {
8333
- if (disabled) return;
8334
- setOpen(true);
8515
+ debouncedSearch(nextValue);
8516
+ requestAnimationFrame(() => {
8517
+ focusInput();
8518
+ });
8519
+ };
8520
+ return /* @__PURE__ */ jsx38(
8521
+ Input,
8522
+ __spreadValues({
8523
+ ref: composedRef,
8524
+ type: "search",
8525
+ value: searchTerm,
8526
+ placeholder,
8527
+ onChange: handleChange,
8528
+ className: cn("w-full", className),
8529
+ classNameDefault,
8530
+ autoComplete: "off",
8531
+ onKeyDown: (event) => {
8532
+ if (event.key !== "Escape") {
8533
+ event.stopPropagation();
8534
+ }
8535
+ onKeyDown == null ? void 0 : onKeyDown(event);
8536
+ },
8537
+ onPointerDown: (event) => {
8538
+ event.stopPropagation();
8539
+ onPointerDown == null ? void 0 : onPointerDown(event);
8540
+ },
8541
+ onMouseDown: (event) => {
8542
+ event.stopPropagation();
8543
+ onMouseDown == null ? void 0 : onMouseDown(event);
8544
+ },
8545
+ onClick: (event) => {
8546
+ event.stopPropagation();
8335
8547
  requestAnimationFrame(() => {
8336
- var _a;
8337
- (_a = inputRef.current) == null ? void 0 : _a.focus({ preventScroll: true });
8548
+ focusInput();
8338
8549
  });
8550
+ onClick == null ? void 0 : onClick(event);
8339
8551
  },
8340
- children: [
8341
- /* @__PURE__ */ jsx38(
8342
- "input",
8343
- {
8344
- ref: inputRef,
8345
- value: inputValue,
8346
- role: "combobox",
8347
- "aria-autocomplete": "list",
8348
- "aria-expanded": open,
8349
- "aria-controls": listboxId,
8350
- "aria-activedescendant": activeIndex >= 0 ? `${listboxId}-option-${activeIndex}` : void 0,
8351
- placeholder: open ? searchPlaceholder : placeholder,
8352
- autoComplete: "off",
8353
- spellCheck: false,
8354
- disabled,
8355
- onFocus: () => {
8356
- setOpen(true);
8357
- requestAnimationFrame(() => {
8358
- var _a;
8359
- (_a = inputRef.current) == null ? void 0 : _a.select();
8360
- });
8361
- },
8362
- onChange: (event) => {
8363
- setInputValue(event.target.value);
8364
- setOpen(true);
8365
- },
8366
- onKeyDown: (event) => {
8367
- var _a;
8368
- if (event.key === "ArrowDown") {
8369
- event.preventDefault();
8370
- setOpen(true);
8371
- setActiveIndex(
8372
- (currentIndex) => getNextEnabledIndex2(filteredItems, currentIndex, 1)
8373
- );
8374
- return;
8375
- }
8376
- if (event.key === "ArrowUp") {
8377
- event.preventDefault();
8378
- setOpen(true);
8379
- setActiveIndex(
8380
- (currentIndex) => getNextEnabledIndex2(filteredItems, currentIndex, -1)
8381
- );
8382
- return;
8383
- }
8384
- if (event.key === "Enter") {
8385
- if (!open) return;
8386
- event.preventDefault();
8387
- const activeItem = filteredItems[activeIndex];
8388
- if (activeItem) {
8389
- selectItem(activeItem);
8390
- }
8391
- return;
8392
- }
8393
- if (event.key === "Escape") {
8394
- event.preventDefault();
8395
- setOpen(false);
8396
- setInputValue(selectedText);
8397
- (_a = inputRef.current) == null ? void 0 : _a.blur();
8398
- }
8399
- },
8400
- className: cn(
8401
- "h-full min-w-0 flex-1 border-0 bg-transparent p-0 text-sm outline-none",
8402
- "placeholder:text-muted-foreground disabled:cursor-not-allowed",
8403
- searchInputClassName
8404
- )
8405
- }
8406
- ),
8407
- inputValue && open ? /* @__PURE__ */ jsx38(
8408
- "button",
8409
- {
8410
- type: "button",
8411
- "aria-label": "Limpiar b\xFAsqueda",
8412
- tabIndex: -1,
8413
- onPointerDown: (event) => {
8414
- event.preventDefault();
8415
- event.stopPropagation();
8416
- },
8417
- onClick: (event) => {
8418
- event.preventDefault();
8419
- event.stopPropagation();
8420
- setInputValue("");
8421
- requestAnimationFrame(() => {
8422
- var _a;
8423
- (_a = inputRef.current) == null ? void 0 : _a.focus({ preventScroll: true });
8424
- });
8425
- },
8426
- className: "inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-md text-muted-foreground transition hover:bg-muted hover:text-foreground",
8427
- children: /* @__PURE__ */ jsx38(Cross2Icon2, { "aria-hidden": "true", className: "h-3.5 w-3.5" })
8428
- }
8429
- ) : null,
8430
- /* @__PURE__ */ jsx38(
8431
- CaretSortIcon2,
8432
- {
8433
- "aria-hidden": "true",
8434
- className: cn(
8435
- "h-4 w-4 shrink-0 opacity-50 transition-transform",
8436
- open && "rotate-180"
8437
- )
8438
- }
8439
- )
8440
- ]
8441
- }
8442
- ),
8443
- /* @__PURE__ */ jsx38(
8444
- "div",
8445
- {
8446
- className: cn(
8447
- "absolute left-0 top-full z-50 mt-1 w-full overflow-hidden rounded-xl border border-border bg-popover text-popover-foreground shadow-xl transition",
8448
- !open && "pointer-events-none invisible opacity-0",
8449
- open && "visible opacity-100",
8450
- contentClassName
8451
- ),
8452
- children: /* @__PURE__ */ jsx38(
8453
- "div",
8454
- {
8455
- id: listboxId,
8456
- role: "listbox",
8457
- className: "max-h-72 overflow-y-auto overscroll-contain p-1 [scrollbar-gutter:stable]",
8458
- onWheelCapture: (event) => {
8459
- event.stopPropagation();
8460
- },
8461
- onTouchMoveCapture: (event) => {
8462
- event.stopPropagation();
8463
- },
8464
- children: filteredItems.length === 0 ? /* @__PURE__ */ jsx38("div", { className: "px-3 py-6 text-center text-sm text-muted-foreground", children: emptyText }) : filteredItems.map((item, index) => {
8465
- const isSelected = item.value === currentValue;
8466
- const isActive = index === activeIndex;
8467
- return /* @__PURE__ */ jsxs22(
8468
- "div",
8469
- {
8470
- id: `${listboxId}-option-${index}`,
8471
- role: "option",
8472
- "aria-selected": isSelected,
8473
- "aria-disabled": item.disabled,
8474
- tabIndex: -1,
8475
- onMouseMove: () => {
8476
- if (!item.disabled) {
8477
- setActiveIndex(index);
8478
- }
8479
- },
8480
- onPointerDown: (event) => {
8481
- event.preventDefault();
8482
- event.stopPropagation();
8483
- if (!item.disabled) {
8484
- selectItem(item);
8485
- }
8486
- },
8487
- className: cn(
8488
- "relative flex w-full select-none items-center gap-2 rounded-lg px-3 py-2 text-left text-sm outline-none transition",
8489
- item.disabled ? "pointer-events-none opacity-50" : "cursor-pointer",
8490
- isActive && !item.disabled && "bg-accent text-accent-foreground",
8491
- !isActive && !item.disabled && "hover:bg-accent/70 hover:text-accent-foreground",
8492
- isSelected && "font-medium",
8493
- itemClassName
8494
- ),
8495
- children: [
8496
- /* @__PURE__ */ jsx38("span", { className: "min-w-0 flex-1 truncate", children: item.label }),
8497
- isSelected ? /* @__PURE__ */ jsx38(
8498
- CheckIcon7,
8499
- {
8500
- "aria-hidden": "true",
8501
- className: "h-4 w-4 shrink-0 text-primary"
8502
- }
8503
- ) : null
8504
- ]
8505
- },
8506
- item.value
8507
- );
8508
- })
8509
- }
8510
- )
8511
- }
8512
- )
8513
- ] });
8514
- }
8515
- var SearchableSelect = React59.memo(
8516
- SearchableSelectBase
8552
+ onFocus: (event) => {
8553
+ event.stopPropagation();
8554
+ onFocus == null ? void 0 : onFocus(event);
8555
+ }
8556
+ }, props)
8557
+ );
8558
+ }
8517
8559
  );
8560
+ SearchInput.displayName = "SearchInput";
8518
8561
 
8519
8562
  // src/components/separator.tsx
8520
8563
  import * as SeparatorPrimitive from "@radix-ui/react-separator";
8521
- import * as React60 from "react";
8564
+ import * as React59 from "react";
8522
8565
  import { jsx as jsx39 } from "react/jsx-runtime";
8523
- var Separator6 = React60.forwardRef(
8566
+ var Separator6 = React59.forwardRef(
8524
8567
  (_a, ref) => {
8525
8568
  var _b = _a, { className, orientation = "horizontal", decorative = true } = _b, props = __objRest(_b, ["className", "orientation", "decorative"]);
8526
8569
  return /* @__PURE__ */ jsx39(
@@ -8544,13 +8587,13 @@ Separator6.displayName = SeparatorPrimitive.Root.displayName;
8544
8587
  import * as SheetPrimitive from "@radix-ui/react-dialog";
8545
8588
  import { Cross2Icon as Cross2Icon3 } from "@radix-ui/react-icons";
8546
8589
  import { cva as cva7 } from "class-variance-authority";
8547
- import * as React61 from "react";
8590
+ import * as React60 from "react";
8548
8591
  import { jsx as jsx40, jsxs as jsxs23 } from "react/jsx-runtime";
8549
8592
  var Sheet = SheetPrimitive.Root;
8550
8593
  var SheetTrigger = SheetPrimitive.Trigger;
8551
8594
  var SheetClose = SheetPrimitive.Close;
8552
8595
  var SheetPortal = SheetPrimitive.Portal;
8553
- var SheetOverlay = React61.forwardRef((_a, ref) => {
8596
+ var SheetOverlay = React60.forwardRef((_a, ref) => {
8554
8597
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8555
8598
  return /* @__PURE__ */ jsx40(
8556
8599
  SheetPrimitive.Overlay,
@@ -8581,7 +8624,7 @@ var sheetVariants = cva7(
8581
8624
  }
8582
8625
  }
8583
8626
  );
8584
- var SheetContent = React61.forwardRef((_a, ref) => {
8627
+ var SheetContent = React60.forwardRef((_a, ref) => {
8585
8628
  var _b = _a, { side = "right", className, children } = _b, props = __objRest(_b, ["side", "className", "children"]);
8586
8629
  return /* @__PURE__ */ jsxs23(SheetPortal, { children: [
8587
8630
  /* @__PURE__ */ jsx40(SheetOverlay, {}),
@@ -8637,7 +8680,7 @@ var SheetFooter = (_a) => {
8637
8680
  );
8638
8681
  };
8639
8682
  SheetFooter.displayName = "SheetFooter";
8640
- var SheetTitle = React61.forwardRef((_a, ref) => {
8683
+ var SheetTitle = React60.forwardRef((_a, ref) => {
8641
8684
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8642
8685
  return /* @__PURE__ */ jsx40(
8643
8686
  SheetPrimitive.Title,
@@ -8648,7 +8691,7 @@ var SheetTitle = React61.forwardRef((_a, ref) => {
8648
8691
  );
8649
8692
  });
8650
8693
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
8651
- var SheetDescription = React61.forwardRef((_a, ref) => {
8694
+ var SheetDescription = React60.forwardRef((_a, ref) => {
8652
8695
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8653
8696
  return /* @__PURE__ */ jsx40(
8654
8697
  SheetPrimitive.Description,
@@ -8678,9 +8721,9 @@ function Skeleton(_a) {
8678
8721
 
8679
8722
  // src/components/slider.tsx
8680
8723
  import * as SliderPrimitive from "@radix-ui/react-slider";
8681
- import * as React62 from "react";
8724
+ import * as React61 from "react";
8682
8725
  import { jsx as jsx42, jsxs as jsxs24 } from "react/jsx-runtime";
8683
- var Slider = React62.forwardRef((_a, ref) => {
8726
+ var Slider = React61.forwardRef((_a, ref) => {
8684
8727
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8685
8728
  return /* @__PURE__ */ jsxs24(
8686
8729
  SliderPrimitive.Root,
@@ -8726,9 +8769,9 @@ var ToasterSonner = (_a) => {
8726
8769
 
8727
8770
  // src/components/switch.tsx
8728
8771
  import * as SwitchPrimitives from "@radix-ui/react-switch";
8729
- import * as React63 from "react";
8772
+ import * as React62 from "react";
8730
8773
  import { jsx as jsx44 } from "react/jsx-runtime";
8731
- var Switch = React63.forwardRef((_a, ref) => {
8774
+ var Switch = React62.forwardRef((_a, ref) => {
8732
8775
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8733
8776
  return /* @__PURE__ */ jsx44(
8734
8777
  SwitchPrimitives.Root,
@@ -8753,9 +8796,9 @@ var Switch = React63.forwardRef((_a, ref) => {
8753
8796
  Switch.displayName = SwitchPrimitives.Root.displayName;
8754
8797
 
8755
8798
  // src/components/table.tsx
8756
- import * as React64 from "react";
8799
+ import * as React63 from "react";
8757
8800
  import { jsx as jsx45 } from "react/jsx-runtime";
8758
- var Table = React64.forwardRef(
8801
+ var Table = React63.forwardRef(
8759
8802
  (_a, ref) => {
8760
8803
  var _b = _a, { className, containerClassName } = _b, props = __objRest(_b, ["className", "containerClassName"]);
8761
8804
  return /* @__PURE__ */ jsx45("div", { className: cn("relative w-full overflow-visible", containerClassName), children: /* @__PURE__ */ jsx45(
@@ -8768,12 +8811,12 @@ var Table = React64.forwardRef(
8768
8811
  }
8769
8812
  );
8770
8813
  Table.displayName = "Table";
8771
- var TableHeader = React64.forwardRef((_a, ref) => {
8814
+ var TableHeader = React63.forwardRef((_a, ref) => {
8772
8815
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8773
8816
  return /* @__PURE__ */ jsx45("thead", __spreadValues({ ref, className: cn("[&_tr]:border-b", className) }, props));
8774
8817
  });
8775
8818
  TableHeader.displayName = "TableHeader";
8776
- var TableBody = React64.forwardRef((_a, ref) => {
8819
+ var TableBody = React63.forwardRef((_a, ref) => {
8777
8820
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8778
8821
  return /* @__PURE__ */ jsx45(
8779
8822
  "tbody",
@@ -8784,7 +8827,7 @@ var TableBody = React64.forwardRef((_a, ref) => {
8784
8827
  );
8785
8828
  });
8786
8829
  TableBody.displayName = "TableBody";
8787
- var TableFooter = React64.forwardRef((_a, ref) => {
8830
+ var TableFooter = React63.forwardRef((_a, ref) => {
8788
8831
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8789
8832
  return /* @__PURE__ */ jsx45(
8790
8833
  "tfoot",
@@ -8798,7 +8841,7 @@ var TableFooter = React64.forwardRef((_a, ref) => {
8798
8841
  );
8799
8842
  });
8800
8843
  TableFooter.displayName = "TableFooter";
8801
- var TableRow = React64.forwardRef((_a, ref) => {
8844
+ var TableRow = React63.forwardRef((_a, ref) => {
8802
8845
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8803
8846
  return /* @__PURE__ */ jsx45(
8804
8847
  "tr",
@@ -8812,7 +8855,7 @@ var TableRow = React64.forwardRef((_a, ref) => {
8812
8855
  );
8813
8856
  });
8814
8857
  TableRow.displayName = "TableRow";
8815
- var TableHead = React64.forwardRef((_a, ref) => {
8858
+ var TableHead = React63.forwardRef((_a, ref) => {
8816
8859
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8817
8860
  return /* @__PURE__ */ jsx45(
8818
8861
  "th",
@@ -8826,7 +8869,7 @@ var TableHead = React64.forwardRef((_a, ref) => {
8826
8869
  );
8827
8870
  });
8828
8871
  TableHead.displayName = "TableHead";
8829
- var TableCell = React64.forwardRef((_a, ref) => {
8872
+ var TableCell = React63.forwardRef((_a, ref) => {
8830
8873
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8831
8874
  return /* @__PURE__ */ jsx45(
8832
8875
  "td",
@@ -8840,7 +8883,7 @@ var TableCell = React64.forwardRef((_a, ref) => {
8840
8883
  );
8841
8884
  });
8842
8885
  TableCell.displayName = "TableCell";
8843
- var TableCaption = React64.forwardRef((_a, ref) => {
8886
+ var TableCaption = React63.forwardRef((_a, ref) => {
8844
8887
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8845
8888
  return /* @__PURE__ */ jsx45(
8846
8889
  "caption",
@@ -8854,10 +8897,10 @@ TableCaption.displayName = "TableCaption";
8854
8897
 
8855
8898
  // src/components/tabs.tsx
8856
8899
  import * as TabsPrimitive from "@radix-ui/react-tabs";
8857
- import * as React65 from "react";
8900
+ import * as React64 from "react";
8858
8901
  import { jsx as jsx46 } from "react/jsx-runtime";
8859
8902
  var Tabs = TabsPrimitive.Root;
8860
- var TabsList = React65.forwardRef((_a, ref) => {
8903
+ var TabsList = React64.forwardRef((_a, ref) => {
8861
8904
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8862
8905
  return /* @__PURE__ */ jsx46(
8863
8906
  TabsPrimitive.List,
@@ -8871,7 +8914,7 @@ var TabsList = React65.forwardRef((_a, ref) => {
8871
8914
  );
8872
8915
  });
8873
8916
  TabsList.displayName = TabsPrimitive.List.displayName;
8874
- var TabsTrigger = React65.forwardRef((_a, ref) => {
8917
+ var TabsTrigger = React64.forwardRef((_a, ref) => {
8875
8918
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8876
8919
  return /* @__PURE__ */ jsx46(
8877
8920
  TabsPrimitive.Trigger,
@@ -8885,7 +8928,7 @@ var TabsTrigger = React65.forwardRef((_a, ref) => {
8885
8928
  );
8886
8929
  });
8887
8930
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
8888
- var TabsContent = React65.forwardRef((_a, ref) => {
8931
+ var TabsContent = React64.forwardRef((_a, ref) => {
8889
8932
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8890
8933
  return /* @__PURE__ */ jsx46(
8891
8934
  TabsPrimitive.Content,
@@ -8901,9 +8944,9 @@ var TabsContent = React65.forwardRef((_a, ref) => {
8901
8944
  TabsContent.displayName = TabsPrimitive.Content.displayName;
8902
8945
 
8903
8946
  // src/components/textarea.tsx
8904
- import * as React66 from "react";
8947
+ import * as React65 from "react";
8905
8948
  import { jsx as jsx47 } from "react/jsx-runtime";
8906
- var Textarea = React66.forwardRef(
8949
+ var Textarea = React65.forwardRef(
8907
8950
  (_a, ref) => {
8908
8951
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8909
8952
  return /* @__PURE__ */ jsx47(
@@ -8924,10 +8967,10 @@ Textarea.displayName = "Textarea";
8924
8967
  import { Cross2Icon as Cross2Icon4 } from "@radix-ui/react-icons";
8925
8968
  import * as ToastPrimitives from "@radix-ui/react-toast";
8926
8969
  import { cva as cva8 } from "class-variance-authority";
8927
- import * as React67 from "react";
8970
+ import * as React66 from "react";
8928
8971
  import { jsx as jsx48 } from "react/jsx-runtime";
8929
8972
  var ToastProvider = ToastPrimitives.Provider;
8930
- var ToastViewport = React67.forwardRef((_a, ref) => {
8973
+ var ToastViewport = React66.forwardRef((_a, ref) => {
8931
8974
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8932
8975
  return /* @__PURE__ */ jsx48(
8933
8976
  ToastPrimitives.Viewport,
@@ -8955,7 +8998,7 @@ var toastVariants = cva8(
8955
8998
  }
8956
8999
  }
8957
9000
  );
8958
- var Toast = React67.forwardRef((_a, ref) => {
9001
+ var Toast = React66.forwardRef((_a, ref) => {
8959
9002
  var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
8960
9003
  return /* @__PURE__ */ jsx48(
8961
9004
  ToastPrimitives.Root,
@@ -8966,7 +9009,7 @@ var Toast = React67.forwardRef((_a, ref) => {
8966
9009
  );
8967
9010
  });
8968
9011
  Toast.displayName = ToastPrimitives.Root.displayName;
8969
- var ToastAction = React67.forwardRef((_a, ref) => {
9012
+ var ToastAction = React66.forwardRef((_a, ref) => {
8970
9013
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8971
9014
  return /* @__PURE__ */ jsx48(
8972
9015
  ToastPrimitives.Action,
@@ -8980,7 +9023,7 @@ var ToastAction = React67.forwardRef((_a, ref) => {
8980
9023
  );
8981
9024
  });
8982
9025
  ToastAction.displayName = ToastPrimitives.Action.displayName;
8983
- var ToastClose = React67.forwardRef((_a, ref) => {
9026
+ var ToastClose = React66.forwardRef((_a, ref) => {
8984
9027
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8985
9028
  return /* @__PURE__ */ jsx48(
8986
9029
  ToastPrimitives.Close,
@@ -8997,7 +9040,7 @@ var ToastClose = React67.forwardRef((_a, ref) => {
8997
9040
  );
8998
9041
  });
8999
9042
  ToastClose.displayName = ToastPrimitives.Close.displayName;
9000
- var ToastTitle = React67.forwardRef((_a, ref) => {
9043
+ var ToastTitle = React66.forwardRef((_a, ref) => {
9001
9044
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
9002
9045
  return /* @__PURE__ */ jsx48(
9003
9046
  ToastPrimitives.Title,
@@ -9008,7 +9051,7 @@ var ToastTitle = React67.forwardRef((_a, ref) => {
9008
9051
  );
9009
9052
  });
9010
9053
  ToastTitle.displayName = ToastPrimitives.Title.displayName;
9011
- var ToastDescription = React67.forwardRef((_a, ref) => {
9054
+ var ToastDescription = React66.forwardRef((_a, ref) => {
9012
9055
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
9013
9056
  return /* @__PURE__ */ jsx48(
9014
9057
  ToastPrimitives.Description,
@@ -9021,7 +9064,7 @@ var ToastDescription = React67.forwardRef((_a, ref) => {
9021
9064
  ToastDescription.displayName = ToastPrimitives.Description.displayName;
9022
9065
 
9023
9066
  // src/components/use-toast.ts
9024
- import * as React68 from "react";
9067
+ import * as React67 from "react";
9025
9068
  var TOAST_LIMIT = 1;
9026
9069
  var TOAST_REMOVE_DELAY = 1e6;
9027
9070
  var count = 0;
@@ -9116,8 +9159,8 @@ function toast(_a) {
9116
9159
  };
9117
9160
  }
9118
9161
  function useToast() {
9119
- const [state, setState] = React68.useState(memoryState);
9120
- React68.useEffect(() => {
9162
+ const [state, setState] = React67.useState(memoryState);
9163
+ React67.useEffect(() => {
9121
9164
  listeners.push(setState);
9122
9165
  return () => {
9123
9166
  const index = listeners.indexOf(setState);
@@ -9155,7 +9198,7 @@ function Toaster() {
9155
9198
  // src/components/toggle.tsx
9156
9199
  import * as TogglePrimitive from "@radix-ui/react-toggle";
9157
9200
  import { cva as cva9 } from "class-variance-authority";
9158
- import * as React69 from "react";
9201
+ import * as React68 from "react";
9159
9202
  import { jsx as jsx50 } from "react/jsx-runtime";
9160
9203
  var toggleVariants = cva9(
9161
9204
  "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",
@@ -9177,7 +9220,7 @@ var toggleVariants = cva9(
9177
9220
  }
9178
9221
  }
9179
9222
  );
9180
- var Toggle = React69.forwardRef((_a, ref) => {
9223
+ var Toggle = React68.forwardRef((_a, ref) => {
9181
9224
  var _b = _a, { className, variant, size } = _b, props = __objRest(_b, ["className", "variant", "size"]);
9182
9225
  return /* @__PURE__ */ jsx50(
9183
9226
  TogglePrimitive.Root,
@@ -9191,13 +9234,13 @@ Toggle.displayName = TogglePrimitive.Root.displayName;
9191
9234
 
9192
9235
  // src/components/toggle-group.tsx
9193
9236
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
9194
- import * as React70 from "react";
9237
+ import * as React69 from "react";
9195
9238
  import { jsx as jsx51 } from "react/jsx-runtime";
9196
- var ToggleGroupContext = React70.createContext({
9239
+ var ToggleGroupContext = React69.createContext({
9197
9240
  size: "default",
9198
9241
  variant: "default"
9199
9242
  });
9200
- var ToggleGroup = React70.forwardRef((_a, ref) => {
9243
+ var ToggleGroup = React69.forwardRef((_a, ref) => {
9201
9244
  var _b = _a, { className, variant, size, children } = _b, props = __objRest(_b, ["className", "variant", "size", "children"]);
9202
9245
  return /* @__PURE__ */ jsx51(
9203
9246
  ToggleGroupPrimitive.Root,
@@ -9210,9 +9253,9 @@ var ToggleGroup = React70.forwardRef((_a, ref) => {
9210
9253
  );
9211
9254
  });
9212
9255
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
9213
- var ToggleGroupItem = React70.forwardRef((_a, ref) => {
9256
+ var ToggleGroupItem = React69.forwardRef((_a, ref) => {
9214
9257
  var _b = _a, { className, children, variant, size } = _b, props = __objRest(_b, ["className", "children", "variant", "size"]);
9215
- const context = React70.useContext(ToggleGroupContext);
9258
+ const context = React69.useContext(ToggleGroupContext);
9216
9259
  return /* @__PURE__ */ jsx51(
9217
9260
  ToggleGroupPrimitive.Item,
9218
9261
  __spreadProps(__spreadValues({
@@ -9233,12 +9276,12 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
9233
9276
 
9234
9277
  // src/components/tooltip.tsx
9235
9278
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
9236
- import * as React71 from "react";
9279
+ import * as React70 from "react";
9237
9280
  import { jsx as jsx52 } from "react/jsx-runtime";
9238
9281
  var TooltipProvider = TooltipPrimitive.Provider;
9239
9282
  var Tooltip = TooltipPrimitive.Root;
9240
9283
  var TooltipTrigger = TooltipPrimitive.Trigger;
9241
- var TooltipContent = React71.forwardRef((_a, ref) => {
9284
+ var TooltipContent = React70.forwardRef((_a, ref) => {
9242
9285
  var _b = _a, { className, sideOffset = 4 } = _b, props = __objRest(_b, ["className", "sideOffset"]);
9243
9286
  return /* @__PURE__ */ jsx52(
9244
9287
  TooltipPrimitive.Content,
@@ -9255,10 +9298,10 @@ var TooltipContent = React71.forwardRef((_a, ref) => {
9255
9298
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
9256
9299
 
9257
9300
  // src/components/ui/input.tsx
9258
- import * as React72 from "react";
9301
+ import * as React71 from "react";
9259
9302
  import { Asterisk as Asterisk4 } from "lucide-react";
9260
9303
  import { jsx as jsx53, jsxs as jsxs26 } from "react/jsx-runtime";
9261
- var UiInput = React72.forwardRef(
9304
+ var UiInput = React71.forwardRef(
9262
9305
  (_a, ref) => {
9263
9306
  var _b = _a, {
9264
9307
  label,
@@ -9283,7 +9326,7 @@ var UiInput = React72.forwardRef(
9283
9326
  "invalid",
9284
9327
  "className"
9285
9328
  ]);
9286
- const generatedId = React72.useId();
9329
+ const generatedId = React71.useId();
9287
9330
  const inputId = htmlFormItemId != null ? htmlFormItemId : generatedId;
9288
9331
  const messageId = `${inputId}-message`;
9289
9332
  const hasError = Boolean(errorMessage || invalid);
@@ -9337,7 +9380,7 @@ var UiInput = React72.forwardRef(
9337
9380
  UiInput.displayName = "UiInput";
9338
9381
 
9339
9382
  // src/components/ui/select.tsx
9340
- import * as React73 from "react";
9383
+ import * as React72 from "react";
9341
9384
  import { Asterisk as Asterisk5 } from "lucide-react";
9342
9385
 
9343
9386
  // src/types/select.ts
@@ -9376,7 +9419,7 @@ function UiSelect({
9376
9419
  errorMessage,
9377
9420
  htmlFormItemId
9378
9421
  }) {
9379
- const generatedId = React73.useId();
9422
+ const generatedId = React72.useId();
9380
9423
  const triggerId = htmlFormItemId != null ? htmlFormItemId : generatedId;
9381
9424
  const messageId = `${triggerId}-message`;
9382
9425
  const hasError = Boolean(errorMessage);
@@ -9467,10 +9510,10 @@ function UiSelect({
9467
9510
  }
9468
9511
 
9469
9512
  // src/components/ui/ui-checkbox.tsx
9470
- import * as React74 from "react";
9513
+ import * as React73 from "react";
9471
9514
  import { Asterisk as Asterisk6 } from "lucide-react";
9472
9515
  import { jsx as jsx55, jsxs as jsxs28 } from "react/jsx-runtime";
9473
- var UiCheckbox = React74.forwardRef(
9516
+ var UiCheckbox = React73.forwardRef(
9474
9517
  (_a, ref) => {
9475
9518
  var _b = _a, {
9476
9519
  label,
@@ -9634,7 +9677,7 @@ var AlertModal = ({
9634
9677
 
9635
9678
  // src/shared/breadcrumbs.tsx
9636
9679
  import { Slash } from "lucide-react";
9637
- import { Fragment } from "react";
9680
+ import { Fragment as Fragment2 } from "react";
9638
9681
  import { jsx as jsx58, jsxs as jsxs30 } from "react/jsx-runtime";
9639
9682
  function Breadcrumbs({
9640
9683
  items,
@@ -9645,7 +9688,7 @@ function Breadcrumbs({
9645
9688
  return /* @__PURE__ */ jsx58(Breadcrumb, { className, children: /* @__PURE__ */ jsx58(BreadcrumbList, { className: classNameList, children: items.map((item, index) => {
9646
9689
  var _a;
9647
9690
  const isLast = index === items.length - 1;
9648
- return /* @__PURE__ */ jsxs30(Fragment, { children: [
9691
+ return /* @__PURE__ */ jsxs30(Fragment2, { children: [
9649
9692
  !isLast ? /* @__PURE__ */ jsx58(BreadcrumbItem, { className: item.className, children: /* @__PURE__ */ jsx58(BreadcrumbLink, { href: (_a = item.link) != null ? _a : "#", children: item.title }) }) : /* @__PURE__ */ jsx58(BreadcrumbItem, { className: item.className, children: /* @__PURE__ */ jsx58(BreadcrumbPage, { children: item.title }) }),
9650
9693
  !isLast ? /* @__PURE__ */ jsx58(BreadcrumbSeparator, { children: separator }) : null
9651
9694
  ] }, `${item.title}-${index}`);
@@ -10239,7 +10282,7 @@ function Dropzone({
10239
10282
  // src/shared/fileupload.tsx
10240
10283
  import { AvatarIcon } from "@radix-ui/react-icons";
10241
10284
  import { CameraIcon } from "lucide-react";
10242
- import { useEffect as useEffect6, useState as useState8 } from "react";
10285
+ import { useEffect as useEffect7, useState as useState8 } from "react";
10243
10286
  import { useDropzone as useDropzone2 } from "react-dropzone";
10244
10287
  import { jsx as jsx62, jsxs as jsxs34 } from "react/jsx-runtime";
10245
10288
  function FileUpload({
@@ -10277,7 +10320,7 @@ function FileUpload({
10277
10320
  }
10278
10321
  function ImagePreview({ file }) {
10279
10322
  const [objectUrl, setObjectUrl] = useState8(null);
10280
- useEffect6(() => {
10323
+ useEffect7(() => {
10281
10324
  const url = URL.createObjectURL(file);
10282
10325
  setObjectUrl(url);
10283
10326
  return () => {