shadcn-ui-react 0.7.9 → 0.7.11

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,9 +6592,9 @@ 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
- // src/components/Form/utils/form-utils.ts
6597
+ // src/utils/form-utils.ts
6638
6598
  var formInputVariants = {
6639
6599
  outline: "rounded-md border border-input bg-input backdrop-blur-sm shadow-sm hover:border-primary/60 focus:border-primary focus:ring-2 focus:ring-primary/20",
6640
6600
  soft: "rounded-md border border-transparent bg-muted/60 shadow-sm hover:bg-muted focus:bg-input/80 focus:ring-2 focus:ring-primary/20",
@@ -6644,6 +6604,15 @@ var formInputVariants = {
6644
6604
  unstyled: "border-0 shadow-none focus:ring-0",
6645
6605
  link: "h-auto border-0 bg-transparent p-0 text-primary shadow-none underline-offset-4 focus:underline focus:ring-0"
6646
6606
  };
6607
+ var formCompositeVariants = {
6608
+ outline: "rounded-md border border-input bg-input backdrop-blur-sm shadow-sm hover:border-primary/60 focus-within:border-primary focus-within:ring-2 focus-within:ring-primary/20",
6609
+ soft: "rounded-md border border-transparent bg-muted/60 shadow-sm hover:bg-muted focus-within:bg-input/80 focus-within:ring-2 focus-within:ring-primary/20",
6610
+ ghost: "rounded-md border border-transparent bg-transparent hover:bg-muted/50 focus-within:ring-2 focus-within:ring-ring",
6611
+ filled: "rounded-md border border-input bg-muted/70 shadow-inner hover:bg-muted focus-within:bg-input/70 focus-within:ring-2 focus-within:ring-primary/20",
6612
+ flushed: "rounded-none border-0 border-b border-input px-0 shadow-none focus-within:border-b-2 focus-within:border-primary focus-within:ring-0",
6613
+ unstyled: "border-0 shadow-none focus-within:ring-0",
6614
+ link: "h-auto border-0 bg-transparent p-0 text-primary shadow-none underline-offset-4 focus-within:underline focus-within:ring-0"
6615
+ };
6647
6616
  var variants = formInputVariants;
6648
6617
  var formSizeVariants = {
6649
6618
  "2xs": {
@@ -6724,13 +6693,22 @@ var formSizeVariants = {
6724
6693
  message: "text-base"
6725
6694
  }
6726
6695
  };
6696
+ var formControlBase = "relative inline-flex w-full items-center justify-between gap-2 text-foreground outline-none transition data-[placeholder]:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50";
6697
+ var formCompositeControlBase = "relative flex w-full items-center gap-2 text-foreground outline-none transition";
6698
+ var formControlErrorClass = "border-destructive focus:border-destructive focus:ring-destructive/20";
6699
+ var formCompositeControlErrorClass = "border-destructive focus-within:border-destructive focus-within:ring-destructive/20";
6727
6700
  function getFormSizeClasses(size = "md", customSize) {
6728
6701
  return __spreadValues(__spreadValues({}, formSizeVariants[size]), customSize);
6729
6702
  }
6703
+ function getFormControlSizeClass(variant, sizeClasses) {
6704
+ if (variant === "flushed") return sizeClasses.flushedControl;
6705
+ if (variant === "link") return sizeClasses.linkControl;
6706
+ return sizeClasses.control;
6707
+ }
6730
6708
 
6731
6709
  // src/components/input.tsx
6732
6710
  import { jsx as jsx22, jsxs as jsxs12 } from "react/jsx-runtime";
6733
- var Input = React46.forwardRef(
6711
+ var Input = React45.forwardRef(
6734
6712
  (_a, ref) => {
6735
6713
  var _b = _a, {
6736
6714
  className,
@@ -6938,163 +6916,1112 @@ import {
6938
6916
  } from "react-hook-form";
6939
6917
 
6940
6918
  // src/components/select.tsx
6941
- import {
6942
- CaretSortIcon,
6943
- CheckIcon as CheckIcon4,
6944
- ChevronDownIcon as ChevronDownIcon2,
6945
- ChevronUpIcon
6946
- } from "@radix-ui/react-icons";
6947
- import * as SelectPrimitive from "@radix-ui/react-select";
6948
- import * as React47 from "react";
6919
+ import { CaretSortIcon, CheckIcon as CheckIcon4 } from "@radix-ui/react-icons";
6920
+ import * as React46 from "react";
6921
+ import { createPortal } from "react-dom";
6949
6922
  import { jsx as jsx24, jsxs as jsxs14 } from "react/jsx-runtime";
6950
- var Select2 = SelectPrimitive.Root;
6951
- var SelectGroup = SelectPrimitive.Group;
6952
- var SelectValue = SelectPrimitive.Value;
6953
- var SelectTrigger = React47.forwardRef((_a, ref) => {
6954
- var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
6955
- return /* @__PURE__ */ jsxs14(
6956
- SelectPrimitive.Trigger,
6957
- __spreadProps(__spreadValues({
6958
- ref,
6959
- 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",
6961
- className
6962
- )
6963
- }, props), {
6964
- children: [
6965
- children,
6966
- /* @__PURE__ */ jsx24(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx24(CaretSortIcon, { className: "h-4 w-4 opacity-50" }) })
6967
- ]
6968
- })
6969
- );
6970
- });
6971
- SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
6972
- var SelectScrollUpButton = React47.forwardRef((_a, ref) => {
6973
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6974
- return /* @__PURE__ */ jsx24(
6975
- SelectPrimitive.ScrollUpButton,
6976
- __spreadProps(__spreadValues({
6977
- ref,
6978
- className: cn(
6979
- "flex cursor-default items-center justify-center py-1",
6980
- className
6981
- )
6982
- }, props), {
6983
- children: /* @__PURE__ */ jsx24(ChevronUpIcon, {})
6984
- })
6923
+ var SelectContext = React46.createContext(null);
6924
+ function useSelectContext(componentName) {
6925
+ const context = React46.useContext(SelectContext);
6926
+ if (!context) {
6927
+ throw new Error(`${componentName} must be used within <Select />`);
6928
+ }
6929
+ return context;
6930
+ }
6931
+ function useControllableState({
6932
+ value,
6933
+ defaultValue,
6934
+ onChange
6935
+ }) {
6936
+ const [internalValue, setInternalValue] = React46.useState(defaultValue);
6937
+ const isControlled = value !== void 0;
6938
+ const currentValue = isControlled ? value : internalValue;
6939
+ const setValue = React46.useCallback(
6940
+ (nextValue) => {
6941
+ if (!isControlled) {
6942
+ setInternalValue(nextValue);
6943
+ }
6944
+ onChange == null ? void 0 : onChange(nextValue);
6945
+ },
6946
+ [isControlled, onChange]
6985
6947
  );
6986
- });
6987
- SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
6988
- var SelectScrollDownButton = React47.forwardRef((_a, ref) => {
6989
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
6990
- return /* @__PURE__ */ jsx24(
6991
- SelectPrimitive.ScrollDownButton,
6992
- __spreadProps(__spreadValues({
6993
- ref,
6994
- className: cn(
6995
- "flex cursor-default items-center justify-center py-1",
6996
- className
6997
- )
6998
- }, props), {
6999
- children: /* @__PURE__ */ jsx24(ChevronDownIcon2, {})
7000
- })
6948
+ return [currentValue, setValue];
6949
+ }
6950
+ function composeRefs(...refs) {
6951
+ return (node) => {
6952
+ refs.forEach((ref) => {
6953
+ if (!ref) return;
6954
+ if (typeof ref === "function") {
6955
+ ref(node);
6956
+ return;
6957
+ }
6958
+ ref.current = node;
6959
+ });
6960
+ };
6961
+ }
6962
+ function getNodeText(node) {
6963
+ if (node === null || node === void 0 || typeof node === "boolean") {
6964
+ return "";
6965
+ }
6966
+ if (typeof node === "string" || typeof node === "number") {
6967
+ return String(node);
6968
+ }
6969
+ if (Array.isArray(node)) {
6970
+ return node.map(getNodeText).join("");
6971
+ }
6972
+ if (React46.isValidElement(node)) {
6973
+ return getNodeText(node.props.children);
6974
+ }
6975
+ return "";
6976
+ }
6977
+ function getEnabledItems(items) {
6978
+ return items.filter((item) => !item.disabled);
6979
+ }
6980
+ function getNextItemValue(items, currentValue, direction) {
6981
+ var _a, _b, _c;
6982
+ const enabledItems = getEnabledItems(items);
6983
+ if (!enabledItems.length) return void 0;
6984
+ const currentIndex = enabledItems.findIndex(
6985
+ (item) => item.value === currentValue
7001
6986
  );
7002
- });
7003
- 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)"
7025
- ),
7026
- children
7027
- }
7028
- ),
7029
- /* @__PURE__ */ jsx24(SelectScrollDownButton, {})
7030
- ]
7031
- })
7032
- ) });
7033
- });
7034
- SelectContent.displayName = SelectPrimitive.Content.displayName;
7035
- var SelectLabel = React47.forwardRef((_a, ref) => {
7036
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7037
- return /* @__PURE__ */ jsx24(
7038
- SelectPrimitive.Label,
7039
- __spreadValues({
7040
- ref,
7041
- className: cn("px-2 py-1.5 text-sm font-semibold", className)
7042
- }, props)
6987
+ if (currentIndex === -1) {
6988
+ return direction === "next" ? (_a = enabledItems[0]) == null ? void 0 : _a.value : (_b = enabledItems[enabledItems.length - 1]) == null ? void 0 : _b.value;
6989
+ }
6990
+ const nextIndex = direction === "next" ? (currentIndex + 1) % enabledItems.length : (currentIndex - 1 + enabledItems.length) % enabledItems.length;
6991
+ return (_c = enabledItems[nextIndex]) == null ? void 0 : _c.value;
6992
+ }
6993
+ function Select2({
6994
+ value,
6995
+ defaultValue = "",
6996
+ onValueChange,
6997
+ open,
6998
+ defaultOpen = false,
6999
+ onOpenChange,
7000
+ disabled = false,
7001
+ name,
7002
+ required,
7003
+ variant = "outline",
7004
+ size = "sm",
7005
+ customSize,
7006
+ invalid = false,
7007
+ children
7008
+ }) {
7009
+ const triggerRef = React46.useRef(null);
7010
+ const contentRef = React46.useRef(null);
7011
+ const [currentValue, setCurrentValue] = useControllableState({
7012
+ value,
7013
+ defaultValue,
7014
+ onChange: onValueChange
7015
+ });
7016
+ const [isOpen, setIsOpen] = useControllableState({
7017
+ value: open,
7018
+ defaultValue: defaultOpen,
7019
+ onChange: onOpenChange
7020
+ });
7021
+ const itemsRef = React46.useRef(/* @__PURE__ */ new Map());
7022
+ const [itemsVersion, forceItemsUpdate] = React46.useReducer(
7023
+ (version) => version + 1,
7024
+ 0
7025
+ );
7026
+ const [activeValue, setActiveValue] = React46.useState();
7027
+ const items = React46.useMemo(
7028
+ () => Array.from(itemsRef.current.values()),
7029
+ [itemsVersion]
7030
+ );
7031
+ const selectedItem = items.find((item) => item.value === currentValue);
7032
+ const registerItem = React46.useCallback((item) => {
7033
+ itemsRef.current.set(item.value, item);
7034
+ forceItemsUpdate();
7035
+ }, []);
7036
+ const unregisterItem = React46.useCallback((value2, id) => {
7037
+ const currentItem = itemsRef.current.get(value2);
7038
+ if (!currentItem || currentItem.id !== id) return;
7039
+ itemsRef.current.set(value2, __spreadProps(__spreadValues({}, currentItem), {
7040
+ ref: null
7041
+ }));
7042
+ forceItemsUpdate();
7043
+ }, []);
7044
+ const updateItemRef = React46.useCallback(
7045
+ (value2, id, node) => {
7046
+ const currentItem = itemsRef.current.get(value2);
7047
+ if (!currentItem || currentItem.id !== id) return;
7048
+ if (currentItem.ref === node) return;
7049
+ itemsRef.current.set(value2, __spreadProps(__spreadValues({}, currentItem), {
7050
+ ref: node
7051
+ }));
7052
+ forceItemsUpdate();
7053
+ },
7054
+ []
7043
7055
  );
7044
- });
7045
- SelectLabel.displayName = SelectPrimitive.Label.displayName;
7046
- var SelectItem = React47.forwardRef((_a, ref) => {
7047
- var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
7048
- return /* @__PURE__ */ jsxs14(
7049
- SelectPrimitive.Item,
7050
- __spreadProps(__spreadValues({
7051
- ref,
7052
- 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",
7054
- className
7055
- )
7056
- }, props), {
7057
- children: [
7058
- /* @__PURE__ */ jsx24("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx24(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx24(CheckIcon4, { className: "h-4 w-4" }) }) }),
7059
- /* @__PURE__ */ jsx24(SelectPrimitive.ItemText, { children })
7060
- ]
7061
- })
7056
+ const handleOpenChange = React46.useCallback(
7057
+ (nextOpen) => {
7058
+ if (disabled) return;
7059
+ setIsOpen(nextOpen);
7060
+ },
7061
+ [disabled, setIsOpen]
7062
7062
  );
7063
- });
7064
- SelectItem.displayName = SelectPrimitive.Item.displayName;
7065
- var SelectSeparator = React47.forwardRef((_a, ref) => {
7066
- var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7067
- return /* @__PURE__ */ jsx24(
7068
- SelectPrimitive.Separator,
7069
- __spreadValues({
7070
- ref,
7071
- className: cn("-mx-1 my-1 h-px bg-muted", className)
7072
- }, props)
7063
+ const handleValueChange = React46.useCallback(
7064
+ (nextValue) => {
7065
+ if (disabled) return;
7066
+ setCurrentValue(nextValue);
7067
+ setIsOpen(false);
7068
+ requestAnimationFrame(() => {
7069
+ var _a;
7070
+ (_a = triggerRef.current) == null ? void 0 : _a.focus();
7071
+ });
7072
+ },
7073
+ [disabled, setCurrentValue, setIsOpen]
7073
7074
  );
7074
- });
7075
- SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
7076
-
7077
- // src/components/Form/form-select.tsx
7078
- 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,
7096
- items,
7097
- getOptionValue = getDefaultOptionValue,
7075
+ React46.useEffect(() => {
7076
+ var _a;
7077
+ if (!isOpen) return;
7078
+ const selectedEnabledItem = items.find(
7079
+ (item) => item.value === currentValue && !item.disabled
7080
+ );
7081
+ const firstEnabledItem = getEnabledItems(items)[0];
7082
+ setActiveValue((_a = selectedEnabledItem == null ? void 0 : selectedEnabledItem.value) != null ? _a : firstEnabledItem == null ? void 0 : firstEnabledItem.value);
7083
+ }, [currentValue, isOpen, items]);
7084
+ React46.useEffect(() => {
7085
+ if (!isOpen) return;
7086
+ const handlePointerDown = (event) => {
7087
+ var _a, _b;
7088
+ const target = event.target;
7089
+ if (((_a = triggerRef.current) == null ? void 0 : _a.contains(target)) || ((_b = contentRef.current) == null ? void 0 : _b.contains(target))) {
7090
+ return;
7091
+ }
7092
+ setIsOpen(false);
7093
+ };
7094
+ document.addEventListener("pointerdown", handlePointerDown);
7095
+ return () => {
7096
+ document.removeEventListener("pointerdown", handlePointerDown);
7097
+ };
7098
+ }, [isOpen, setIsOpen]);
7099
+ const contextValue = React46.useMemo(
7100
+ () => ({
7101
+ value: currentValue,
7102
+ open: isOpen,
7103
+ disabled,
7104
+ invalid,
7105
+ variant,
7106
+ size,
7107
+ customSize,
7108
+ selectedItem,
7109
+ activeValue,
7110
+ items,
7111
+ triggerRef,
7112
+ contentRef,
7113
+ setOpen: handleOpenChange,
7114
+ setValue: handleValueChange,
7115
+ setActiveValue,
7116
+ registerItem,
7117
+ unregisterItem,
7118
+ updateItemRef
7119
+ }),
7120
+ [
7121
+ currentValue,
7122
+ isOpen,
7123
+ disabled,
7124
+ invalid,
7125
+ variant,
7126
+ size,
7127
+ customSize,
7128
+ selectedItem,
7129
+ activeValue,
7130
+ items,
7131
+ handleOpenChange,
7132
+ handleValueChange,
7133
+ registerItem,
7134
+ unregisterItem,
7135
+ updateItemRef
7136
+ ]
7137
+ );
7138
+ return /* @__PURE__ */ jsxs14(SelectContext.Provider, { value: contextValue, children: [
7139
+ children,
7140
+ name ? /* @__PURE__ */ jsx24(
7141
+ "input",
7142
+ {
7143
+ type: "hidden",
7144
+ name,
7145
+ value: currentValue,
7146
+ required
7147
+ }
7148
+ ) : null
7149
+ ] });
7150
+ }
7151
+ var SelectTrigger = React46.forwardRef(
7152
+ (_a, ref) => {
7153
+ var _b = _a, {
7154
+ className,
7155
+ children,
7156
+ variant,
7157
+ size,
7158
+ customSize,
7159
+ invalid,
7160
+ disabled,
7161
+ onClick,
7162
+ onKeyDown
7163
+ } = _b, props = __objRest(_b, [
7164
+ "className",
7165
+ "children",
7166
+ "variant",
7167
+ "size",
7168
+ "customSize",
7169
+ "invalid",
7170
+ "disabled",
7171
+ "onClick",
7172
+ "onKeyDown"
7173
+ ]);
7174
+ const context = useSelectContext("SelectTrigger");
7175
+ const resolvedVariant = variant != null ? variant : context.variant;
7176
+ const resolvedSize = size != null ? size : context.size;
7177
+ const resolvedCustomSize = customSize != null ? customSize : context.customSize;
7178
+ const resolvedInvalid = invalid != null ? invalid : context.invalid;
7179
+ const resolvedDisabled = disabled != null ? disabled : context.disabled;
7180
+ const sizeClasses = getFormSizeClasses(resolvedSize, resolvedCustomSize);
7181
+ const controlSizeClass = getFormControlSizeClass(
7182
+ resolvedVariant,
7183
+ sizeClasses
7184
+ );
7185
+ const typeaheadRef = React46.useRef("");
7186
+ const typeaheadTimeoutRef = React46.useRef(null);
7187
+ const moveActiveItem = React46.useCallback(
7188
+ (direction) => {
7189
+ var _a2;
7190
+ const nextValue = getNextItemValue(
7191
+ context.items,
7192
+ (_a2 = context.activeValue) != null ? _a2 : context.value,
7193
+ direction
7194
+ );
7195
+ if (nextValue) {
7196
+ context.setActiveValue(nextValue);
7197
+ }
7198
+ },
7199
+ [context]
7200
+ );
7201
+ const handleTypeahead = React46.useCallback(
7202
+ (key) => {
7203
+ typeaheadRef.current += key.toLowerCase();
7204
+ if (typeaheadTimeoutRef.current) {
7205
+ window.clearTimeout(typeaheadTimeoutRef.current);
7206
+ }
7207
+ typeaheadTimeoutRef.current = window.setTimeout(() => {
7208
+ typeaheadRef.current = "";
7209
+ }, 500);
7210
+ const enabledItems = getEnabledItems(context.items);
7211
+ const match2 = enabledItems.find(
7212
+ (item) => item.textValue.toLowerCase().startsWith(typeaheadRef.current)
7213
+ );
7214
+ if (!match2) return;
7215
+ if (!context.open) {
7216
+ context.setOpen(true);
7217
+ }
7218
+ context.setActiveValue(match2.value);
7219
+ },
7220
+ [context]
7221
+ );
7222
+ React46.useEffect(() => {
7223
+ return () => {
7224
+ if (typeaheadTimeoutRef.current) {
7225
+ window.clearTimeout(typeaheadTimeoutRef.current);
7226
+ }
7227
+ };
7228
+ }, []);
7229
+ const handleKeyDown = (event) => {
7230
+ onKeyDown == null ? void 0 : onKeyDown(event);
7231
+ if (event.defaultPrevented || resolvedDisabled) return;
7232
+ if (event.key === "ArrowDown") {
7233
+ event.preventDefault();
7234
+ if (!context.open) {
7235
+ context.setOpen(true);
7236
+ return;
7237
+ }
7238
+ moveActiveItem("next");
7239
+ return;
7240
+ }
7241
+ if (event.key === "ArrowUp") {
7242
+ event.preventDefault();
7243
+ if (!context.open) {
7244
+ context.setOpen(true);
7245
+ return;
7246
+ }
7247
+ moveActiveItem("previous");
7248
+ return;
7249
+ }
7250
+ if (event.key === "Enter" || event.key === " ") {
7251
+ event.preventDefault();
7252
+ if (!context.open) {
7253
+ context.setOpen(true);
7254
+ return;
7255
+ }
7256
+ if (context.activeValue) {
7257
+ context.setValue(context.activeValue);
7258
+ }
7259
+ return;
7260
+ }
7261
+ if (event.key === "Escape") {
7262
+ event.preventDefault();
7263
+ context.setOpen(false);
7264
+ return;
7265
+ }
7266
+ if (event.key === "Home") {
7267
+ event.preventDefault();
7268
+ const firstEnabledItem = getEnabledItems(context.items)[0];
7269
+ if (firstEnabledItem) {
7270
+ context.setActiveValue(firstEnabledItem.value);
7271
+ }
7272
+ return;
7273
+ }
7274
+ if (event.key === "End") {
7275
+ event.preventDefault();
7276
+ const enabledItems = getEnabledItems(context.items);
7277
+ const lastEnabledItem = enabledItems[enabledItems.length - 1];
7278
+ if (lastEnabledItem) {
7279
+ context.setActiveValue(lastEnabledItem.value);
7280
+ }
7281
+ return;
7282
+ }
7283
+ if (event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey) {
7284
+ handleTypeahead(event.key);
7285
+ }
7286
+ };
7287
+ return /* @__PURE__ */ jsxs14(
7288
+ "button",
7289
+ __spreadProps(__spreadValues({
7290
+ ref: composeRefs(ref, context.triggerRef),
7291
+ type: "button",
7292
+ "aria-haspopup": "listbox",
7293
+ "aria-expanded": context.open,
7294
+ "data-placeholder": !context.value ? "" : void 0,
7295
+ disabled: resolvedDisabled,
7296
+ className: cn(
7297
+ formControlBase,
7298
+ "whitespace-nowrap ring-offset-background [&>span]:line-clamp-1",
7299
+ formInputVariants[resolvedVariant],
7300
+ controlSizeClass,
7301
+ resolvedInvalid && formControlErrorClass,
7302
+ className
7303
+ ),
7304
+ onClick: (event) => {
7305
+ onClick == null ? void 0 : onClick(event);
7306
+ if (!event.defaultPrevented && !resolvedDisabled) {
7307
+ context.setOpen(!context.open);
7308
+ }
7309
+ },
7310
+ onKeyDown: handleKeyDown
7311
+ }, props), {
7312
+ children: [
7313
+ children,
7314
+ /* @__PURE__ */ jsx24(CaretSortIcon, { className: "h-4 w-4 shrink-0 opacity-50" })
7315
+ ]
7316
+ })
7317
+ );
7318
+ }
7319
+ );
7320
+ SelectTrigger.displayName = "SelectTrigger";
7321
+ var SelectValue = React46.forwardRef(
7322
+ (_a, ref) => {
7323
+ var _b = _a, { className, placeholder, children } = _b, props = __objRest(_b, ["className", "placeholder", "children"]);
7324
+ var _a2, _b2;
7325
+ const context = useSelectContext("SelectValue");
7326
+ return /* @__PURE__ */ jsx24("span", __spreadProps(__spreadValues({ ref, className: cn("truncate", className) }, props), { children: (_b2 = children != null ? children : (_a2 = context.selectedItem) == null ? void 0 : _a2.label) != null ? _b2 : placeholder }));
7327
+ }
7328
+ );
7329
+ SelectValue.displayName = "SelectValue";
7330
+ var SelectContent = React46.forwardRef(
7331
+ (_a, ref) => {
7332
+ var _b = _a, {
7333
+ className,
7334
+ children,
7335
+ sideOffset = 4,
7336
+ align = "start",
7337
+ position: _position,
7338
+ style
7339
+ } = _b, props = __objRest(_b, [
7340
+ "className",
7341
+ "children",
7342
+ "sideOffset",
7343
+ "align",
7344
+ "position",
7345
+ "style"
7346
+ ]);
7347
+ const context = useSelectContext("SelectContent");
7348
+ const scrollRef = React46.useRef(null);
7349
+ const rafRef = React46.useRef(null);
7350
+ const [mounted, setMounted] = React46.useState(false);
7351
+ const [side, setSide] = React46.useState("bottom");
7352
+ const [contentStyle, setContentStyle] = React46.useState();
7353
+ React46.useEffect(() => {
7354
+ setMounted(true);
7355
+ }, []);
7356
+ const updatePosition = React46.useCallback(() => {
7357
+ const trigger = context.triggerRef.current;
7358
+ if (!trigger) return;
7359
+ const rect = trigger.getBoundingClientRect();
7360
+ const viewportPadding = 8;
7361
+ const preferredMaxHeight = 260;
7362
+ const minUsefulHeight = 140;
7363
+ const availableBelow = window.innerHeight - rect.bottom - viewportPadding - sideOffset;
7364
+ const availableAbove = rect.top - viewportPadding - sideOffset;
7365
+ const nextSide = availableBelow >= Math.min(preferredMaxHeight, minUsefulHeight) || availableBelow >= availableAbove ? "bottom" : "top";
7366
+ const availableHeight = nextSide === "bottom" ? availableBelow : availableAbove;
7367
+ const contentMaxHeight = Math.max(
7368
+ 80,
7369
+ Math.min(preferredMaxHeight, availableHeight)
7370
+ );
7371
+ const baseStyle = {
7372
+ position: "fixed",
7373
+ zIndex: 9999,
7374
+ width: rect.width,
7375
+ minWidth: rect.width,
7376
+ maxWidth: "calc(100vw - 16px)",
7377
+ maxHeight: contentMaxHeight
7378
+ };
7379
+ if (align === "start") {
7380
+ baseStyle.left = rect.left;
7381
+ baseStyle.transform = void 0;
7382
+ }
7383
+ if (align === "center") {
7384
+ baseStyle.left = rect.left + rect.width / 2;
7385
+ baseStyle.transform = "translateX(-50%)";
7386
+ }
7387
+ if (align === "end") {
7388
+ baseStyle.left = rect.right;
7389
+ baseStyle.transform = "translateX(-100%)";
7390
+ }
7391
+ if (nextSide === "bottom") {
7392
+ baseStyle.top = rect.bottom + sideOffset;
7393
+ baseStyle.bottom = void 0;
7394
+ } else {
7395
+ baseStyle.bottom = window.innerHeight - rect.top + sideOffset;
7396
+ baseStyle.top = void 0;
7397
+ }
7398
+ setSide(nextSide);
7399
+ setContentStyle(baseStyle);
7400
+ }, [align, context.triggerRef, sideOffset]);
7401
+ const scheduleUpdatePosition = React46.useCallback(() => {
7402
+ if (rafRef.current) {
7403
+ cancelAnimationFrame(rafRef.current);
7404
+ }
7405
+ rafRef.current = requestAnimationFrame(() => {
7406
+ updatePosition();
7407
+ });
7408
+ }, [updatePosition]);
7409
+ React46.useLayoutEffect(() => {
7410
+ var _a2, _b2;
7411
+ if (!context.open) return;
7412
+ updatePosition();
7413
+ scheduleUpdatePosition();
7414
+ const handleResize = () => {
7415
+ scheduleUpdatePosition();
7416
+ };
7417
+ const handlePageScroll = (event) => {
7418
+ var _a3;
7419
+ const target = event.target;
7420
+ if (target && ((_a3 = scrollRef.current) == null ? void 0 : _a3.contains(target))) {
7421
+ return;
7422
+ }
7423
+ scheduleUpdatePosition();
7424
+ };
7425
+ window.addEventListener("resize", handleResize);
7426
+ window.addEventListener("scroll", handlePageScroll, true);
7427
+ (_a2 = window.visualViewport) == null ? void 0 : _a2.addEventListener("resize", handleResize);
7428
+ (_b2 = window.visualViewport) == null ? void 0 : _b2.addEventListener("scroll", handleResize);
7429
+ return () => {
7430
+ var _a3, _b3;
7431
+ window.removeEventListener("resize", handleResize);
7432
+ window.removeEventListener("scroll", handlePageScroll, true);
7433
+ (_a3 = window.visualViewport) == null ? void 0 : _a3.removeEventListener("resize", handleResize);
7434
+ (_b3 = window.visualViewport) == null ? void 0 : _b3.removeEventListener("scroll", handleResize);
7435
+ if (rafRef.current) {
7436
+ cancelAnimationFrame(rafRef.current);
7437
+ rafRef.current = null;
7438
+ }
7439
+ };
7440
+ }, [context.open, scheduleUpdatePosition, updatePosition]);
7441
+ React46.useLayoutEffect(() => {
7442
+ if (!context.open) return;
7443
+ const frame = requestAnimationFrame(() => {
7444
+ var _a2;
7445
+ const activeItem = context.items.find(
7446
+ (item) => item.value === context.activeValue
7447
+ );
7448
+ (_a2 = activeItem == null ? void 0 : activeItem.ref) == null ? void 0 : _a2.scrollIntoView({
7449
+ block: "nearest"
7450
+ });
7451
+ });
7452
+ return () => {
7453
+ cancelAnimationFrame(frame);
7454
+ };
7455
+ }, [context.activeValue, context.items, context.open]);
7456
+ if (!context.open) {
7457
+ return /* @__PURE__ */ jsx24("div", { hidden: true, "aria-hidden": "true", style: { display: "none" }, children });
7458
+ }
7459
+ if (!mounted || !contentStyle) return null;
7460
+ return createPortal(
7461
+ /* @__PURE__ */ jsx24(
7462
+ "div",
7463
+ __spreadProps(__spreadValues({}, props), {
7464
+ ref: composeRefs(ref, context.contentRef),
7465
+ role: "listbox",
7466
+ "data-side": side,
7467
+ className: cn(
7468
+ "min-w-32 rounded-md border border-border bg-popover text-popover-foreground shadow-md",
7469
+ "overflow-hidden",
7470
+ className
7471
+ ),
7472
+ style: __spreadValues(__spreadValues({}, contentStyle), style),
7473
+ children: /* @__PURE__ */ jsx24(
7474
+ "div",
7475
+ {
7476
+ ref: scrollRef,
7477
+ "data-select-scroll-content": true,
7478
+ className: cn(
7479
+ "max-h-full px-1 py-1",
7480
+ "!overflow-x-hidden !overflow-y-scroll overscroll-contain",
7481
+ "[scrollbar-gutter:stable]",
7482
+ "[scrollbar-width:thin]",
7483
+ "[&::-webkit-scrollbar]:!block",
7484
+ "[&::-webkit-scrollbar]:!w-2",
7485
+ "[&::-webkit-scrollbar-track]:!bg-transparent",
7486
+ "[&::-webkit-scrollbar-thumb]:!rounded-full",
7487
+ "[&::-webkit-scrollbar-thumb]:!bg-border"
7488
+ ),
7489
+ style: {
7490
+ maxHeight: contentStyle.maxHeight,
7491
+ overflowX: "hidden",
7492
+ overflowY: "scroll",
7493
+ overscrollBehavior: "contain",
7494
+ scrollbarGutter: "stable",
7495
+ WebkitOverflowScrolling: "touch"
7496
+ },
7497
+ onWheel: (event) => {
7498
+ event.stopPropagation();
7499
+ },
7500
+ children
7501
+ }
7502
+ )
7503
+ })
7504
+ ),
7505
+ document.body
7506
+ );
7507
+ }
7508
+ );
7509
+ SelectContent.displayName = "SelectContent";
7510
+ var SelectGroup = React46.forwardRef(
7511
+ (_a, ref) => {
7512
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7513
+ return /* @__PURE__ */ jsx24("div", __spreadValues({ ref, role: "group", className }, props));
7514
+ }
7515
+ );
7516
+ SelectGroup.displayName = "SelectGroup";
7517
+ var SelectLabel = React46.forwardRef(
7518
+ (_a, ref) => {
7519
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7520
+ return /* @__PURE__ */ jsx24(
7521
+ "div",
7522
+ __spreadValues({
7523
+ ref,
7524
+ className: cn("px-2 py-1.5 text-sm font-semibold", className)
7525
+ }, props)
7526
+ );
7527
+ }
7528
+ );
7529
+ SelectLabel.displayName = "SelectLabel";
7530
+ var SelectItem = React46.forwardRef(
7531
+ (_a, ref) => {
7532
+ var _b = _a, {
7533
+ className,
7534
+ children,
7535
+ value,
7536
+ disabled = false,
7537
+ textValue,
7538
+ size,
7539
+ customSize,
7540
+ onClick,
7541
+ onMouseMove,
7542
+ onMouseDown
7543
+ } = _b, props = __objRest(_b, [
7544
+ "className",
7545
+ "children",
7546
+ "value",
7547
+ "disabled",
7548
+ "textValue",
7549
+ "size",
7550
+ "customSize",
7551
+ "onClick",
7552
+ "onMouseMove",
7553
+ "onMouseDown"
7554
+ ]);
7555
+ const context = useSelectContext("SelectItem");
7556
+ const {
7557
+ registerItem,
7558
+ unregisterItem,
7559
+ updateItemRef,
7560
+ setActiveValue,
7561
+ setValue,
7562
+ value: selectedValue,
7563
+ activeValue,
7564
+ size: contextSize,
7565
+ customSize: contextCustomSize
7566
+ } = context;
7567
+ const itemId = React46.useId();
7568
+ const localRef = React46.useRef(null);
7569
+ const resolvedSize = size != null ? size : contextSize;
7570
+ const resolvedCustomSize = customSize != null ? customSize : contextCustomSize;
7571
+ const sizeClasses = getFormSizeClasses(resolvedSize, resolvedCustomSize);
7572
+ const labelText = textValue != null ? textValue : getNodeText(children);
7573
+ const isSelected = selectedValue === value;
7574
+ const isActive = activeValue === value;
7575
+ React46.useEffect(() => {
7576
+ registerItem({
7577
+ id: itemId,
7578
+ value,
7579
+ label: children,
7580
+ textValue: labelText,
7581
+ disabled,
7582
+ ref: localRef.current
7583
+ });
7584
+ return () => {
7585
+ unregisterItem(value, itemId);
7586
+ };
7587
+ }, [
7588
+ registerItem,
7589
+ unregisterItem,
7590
+ itemId,
7591
+ value,
7592
+ children,
7593
+ labelText,
7594
+ disabled
7595
+ ]);
7596
+ const handleItemRef = React46.useCallback(
7597
+ (node) => {
7598
+ localRef.current = node;
7599
+ updateItemRef(value, itemId, node);
7600
+ },
7601
+ [updateItemRef, value, itemId]
7602
+ );
7603
+ const setRefs = React46.useMemo(
7604
+ () => composeRefs(ref, handleItemRef),
7605
+ [ref, handleItemRef]
7606
+ );
7607
+ return /* @__PURE__ */ jsxs14(
7608
+ "div",
7609
+ __spreadProps(__spreadValues({
7610
+ ref: setRefs,
7611
+ id: itemId,
7612
+ role: "option",
7613
+ "aria-selected": isSelected,
7614
+ "aria-disabled": disabled,
7615
+ "data-highlighted": isActive ? "" : void 0,
7616
+ "data-disabled": disabled ? "" : void 0,
7617
+ className: cn(
7618
+ "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 outline-none transition-colors",
7619
+ sizeClasses.selectItem,
7620
+ !disabled && "data-highlighted:bg-accent data-highlighted:text-accent-foreground",
7621
+ disabled && "pointer-events-none opacity-50",
7622
+ className
7623
+ ),
7624
+ onMouseDown: (event) => {
7625
+ event.preventDefault();
7626
+ onMouseDown == null ? void 0 : onMouseDown(event);
7627
+ },
7628
+ onMouseMove: (event) => {
7629
+ onMouseMove == null ? void 0 : onMouseMove(event);
7630
+ if (!disabled) {
7631
+ setActiveValue(value);
7632
+ }
7633
+ },
7634
+ onClick: (event) => {
7635
+ onClick == null ? void 0 : onClick(event);
7636
+ if (!event.defaultPrevented && !disabled) {
7637
+ setValue(value);
7638
+ }
7639
+ }
7640
+ }, props), {
7641
+ children: [
7642
+ /* @__PURE__ */ jsx24("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: isSelected ? /* @__PURE__ */ jsx24(CheckIcon4, { className: "h-4 w-4" }) : null }),
7643
+ /* @__PURE__ */ jsx24("span", { className: "truncate", children })
7644
+ ]
7645
+ })
7646
+ );
7647
+ }
7648
+ );
7649
+ SelectItem.displayName = "SelectItem";
7650
+ var SelectSeparator = React46.forwardRef(
7651
+ (_a, ref) => {
7652
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7653
+ return /* @__PURE__ */ jsx24(
7654
+ "div",
7655
+ __spreadValues({
7656
+ ref,
7657
+ role: "separator",
7658
+ className: cn("-mx-1 my-1 h-px bg-muted", className)
7659
+ }, props)
7660
+ );
7661
+ }
7662
+ );
7663
+ SelectSeparator.displayName = "SelectSeparator";
7664
+
7665
+ // src/components/searchable-select.tsx
7666
+ import * as React47 from "react";
7667
+ import { CaretSortIcon as CaretSortIcon2, CheckIcon as CheckIcon5, Cross2Icon as Cross2Icon2 } from "@radix-ui/react-icons";
7668
+ import { jsx as jsx25, jsxs as jsxs15 } from "react/jsx-runtime";
7669
+ function normalizeText(value) {
7670
+ return String(value != null ? value : "").normalize("NFD").replace(new RegExp("\\p{Diacritic}", "gu"), "").toLowerCase().trim();
7671
+ }
7672
+ function getLabelText(value) {
7673
+ if (typeof value === "string" || typeof value === "number") {
7674
+ return String(value);
7675
+ }
7676
+ return "";
7677
+ }
7678
+ function getOptionText(item) {
7679
+ if (!item) return "";
7680
+ return getLabelText(item.label) || item.value;
7681
+ }
7682
+ function getNextEnabledIndex2(items, currentIndex, direction) {
7683
+ var _a;
7684
+ if (!items.length) return -1;
7685
+ let nextIndex = currentIndex;
7686
+ for (let index = 0; index < items.length; index += 1) {
7687
+ nextIndex = (nextIndex + direction + items.length) % items.length;
7688
+ if (!((_a = items[nextIndex]) == null ? void 0 : _a.disabled)) {
7689
+ return nextIndex;
7690
+ }
7691
+ }
7692
+ return -1;
7693
+ }
7694
+ function SearchableSelectBase({
7695
+ items,
7696
+ value,
7697
+ defaultValue,
7698
+ onValueChange,
7699
+ placeholder = "Select an option",
7700
+ searchPlaceholder = "Search\u2026",
7701
+ emptyText = "No results found",
7702
+ disabled,
7703
+ name,
7704
+ required,
7705
+ invalid = false,
7706
+ size = "md",
7707
+ customSize,
7708
+ variant = "outline",
7709
+ classNameDefault = true,
7710
+ triggerClassName,
7711
+ contentClassName,
7712
+ itemClassName,
7713
+ searchInputClassName
7714
+ }) {
7715
+ const rootRef = React47.useRef(null);
7716
+ const inputRef = React47.useRef(null);
7717
+ const listboxId = React47.useId();
7718
+ const sizeClasses = getFormSizeClasses(size, customSize);
7719
+ const triggerSizeClass = getFormControlSizeClass(variant, sizeClasses);
7720
+ const isControlled = value !== void 0;
7721
+ const [internalValue, setInternalValue] = React47.useState(defaultValue != null ? defaultValue : "");
7722
+ const currentValue = isControlled ? value != null ? value : "" : internalValue;
7723
+ const selectedItem = React47.useMemo(() => {
7724
+ return items.find((item) => item.value === currentValue);
7725
+ }, [currentValue, items]);
7726
+ const selectedText = React47.useMemo(() => {
7727
+ return getOptionText(selectedItem);
7728
+ }, [selectedItem]);
7729
+ const [open, setOpen] = React47.useState(false);
7730
+ const [inputValue, setInputValue] = React47.useState(selectedText);
7731
+ const [activeIndex, setActiveIndex] = React47.useState(-1);
7732
+ React47.useEffect(() => {
7733
+ if (!open) {
7734
+ setInputValue(selectedText);
7735
+ }
7736
+ }, [open, selectedText]);
7737
+ const filteredItems = React47.useMemo(() => {
7738
+ const query = normalizeText(inputValue);
7739
+ if (!query) return items;
7740
+ return items.filter((item) => {
7741
+ var _a;
7742
+ const haystack = normalizeText(
7743
+ `${getLabelText(item.label)} ${item.value} ${(_a = item.keywords) != null ? _a : ""}`
7744
+ );
7745
+ return haystack.includes(query);
7746
+ });
7747
+ }, [inputValue, items]);
7748
+ React47.useEffect(() => {
7749
+ if (!open) return;
7750
+ const firstEnabledIndex = filteredItems.findIndex((item) => !item.disabled);
7751
+ setActiveIndex(firstEnabledIndex);
7752
+ }, [filteredItems, open]);
7753
+ React47.useEffect(() => {
7754
+ if (!open) return;
7755
+ const handlePointerDown = (event) => {
7756
+ var _a;
7757
+ const target = event.target;
7758
+ if (target && ((_a = rootRef.current) == null ? void 0 : _a.contains(target))) {
7759
+ return;
7760
+ }
7761
+ setOpen(false);
7762
+ };
7763
+ document.addEventListener("pointerdown", handlePointerDown, true);
7764
+ return () => {
7765
+ document.removeEventListener("pointerdown", handlePointerDown, true);
7766
+ };
7767
+ }, [open]);
7768
+ const selectItem = React47.useCallback(
7769
+ (item) => {
7770
+ if (item.disabled) return;
7771
+ if (!isControlled) {
7772
+ setInternalValue(item.value);
7773
+ }
7774
+ setInputValue(getOptionText(item));
7775
+ setOpen(false);
7776
+ onValueChange == null ? void 0 : onValueChange(item.value, item);
7777
+ requestAnimationFrame(() => {
7778
+ var _a;
7779
+ (_a = inputRef.current) == null ? void 0 : _a.blur();
7780
+ });
7781
+ },
7782
+ [isControlled, onValueChange]
7783
+ );
7784
+ return /* @__PURE__ */ jsxs15("div", { ref: rootRef, className: "relative w-full", children: [
7785
+ name ? /* @__PURE__ */ jsx25(
7786
+ "input",
7787
+ {
7788
+ type: "hidden",
7789
+ name,
7790
+ value: currentValue,
7791
+ required,
7792
+ disabled
7793
+ }
7794
+ ) : null,
7795
+ /* @__PURE__ */ jsxs15(
7796
+ "div",
7797
+ {
7798
+ className: classNameDefault ? cn(
7799
+ formCompositeControlBase,
7800
+ formCompositeVariants[variant],
7801
+ triggerSizeClass,
7802
+ invalid && formCompositeControlErrorClass,
7803
+ disabled && "cursor-not-allowed opacity-50",
7804
+ triggerClassName
7805
+ ) : triggerClassName,
7806
+ onPointerDown: () => {
7807
+ if (disabled) return;
7808
+ setOpen(true);
7809
+ requestAnimationFrame(() => {
7810
+ var _a;
7811
+ (_a = inputRef.current) == null ? void 0 : _a.focus({ preventScroll: true });
7812
+ });
7813
+ },
7814
+ children: [
7815
+ /* @__PURE__ */ jsx25(
7816
+ "input",
7817
+ {
7818
+ ref: inputRef,
7819
+ value: inputValue,
7820
+ role: "combobox",
7821
+ "aria-autocomplete": "list",
7822
+ "aria-expanded": open,
7823
+ "aria-controls": listboxId,
7824
+ "aria-invalid": invalid || void 0,
7825
+ "aria-activedescendant": activeIndex >= 0 ? `${listboxId}-option-${activeIndex}` : void 0,
7826
+ placeholder: open ? searchPlaceholder : placeholder,
7827
+ autoComplete: "off",
7828
+ spellCheck: false,
7829
+ disabled,
7830
+ onFocus: () => {
7831
+ setOpen(true);
7832
+ requestAnimationFrame(() => {
7833
+ var _a;
7834
+ (_a = inputRef.current) == null ? void 0 : _a.select();
7835
+ });
7836
+ },
7837
+ onChange: (event) => {
7838
+ setInputValue(event.target.value);
7839
+ setOpen(true);
7840
+ },
7841
+ onKeyDown: (event) => {
7842
+ var _a;
7843
+ if (event.key === "ArrowDown") {
7844
+ event.preventDefault();
7845
+ setOpen(true);
7846
+ setActiveIndex(
7847
+ (currentIndex) => getNextEnabledIndex2(filteredItems, currentIndex, 1)
7848
+ );
7849
+ return;
7850
+ }
7851
+ if (event.key === "ArrowUp") {
7852
+ event.preventDefault();
7853
+ setOpen(true);
7854
+ setActiveIndex(
7855
+ (currentIndex) => getNextEnabledIndex2(filteredItems, currentIndex, -1)
7856
+ );
7857
+ return;
7858
+ }
7859
+ if (event.key === "Enter") {
7860
+ if (!open) return;
7861
+ event.preventDefault();
7862
+ const activeItem = filteredItems[activeIndex];
7863
+ if (activeItem) {
7864
+ selectItem(activeItem);
7865
+ }
7866
+ return;
7867
+ }
7868
+ if (event.key === "Escape") {
7869
+ event.preventDefault();
7870
+ setOpen(false);
7871
+ setInputValue(selectedText);
7872
+ (_a = inputRef.current) == null ? void 0 : _a.blur();
7873
+ }
7874
+ },
7875
+ className: cn(
7876
+ "h-full min-w-0 flex-1 border-0 bg-transparent p-0 outline-none",
7877
+ "placeholder:text-muted-foreground disabled:cursor-not-allowed",
7878
+ searchInputClassName
7879
+ )
7880
+ }
7881
+ ),
7882
+ inputValue && open ? /* @__PURE__ */ jsx25(
7883
+ "button",
7884
+ {
7885
+ type: "button",
7886
+ "aria-label": "Limpiar b\xFAsqueda",
7887
+ tabIndex: -1,
7888
+ onPointerDown: (event) => {
7889
+ event.preventDefault();
7890
+ event.stopPropagation();
7891
+ },
7892
+ onClick: (event) => {
7893
+ event.preventDefault();
7894
+ event.stopPropagation();
7895
+ setInputValue("");
7896
+ requestAnimationFrame(() => {
7897
+ var _a;
7898
+ (_a = inputRef.current) == null ? void 0 : _a.focus({ preventScroll: true });
7899
+ });
7900
+ },
7901
+ 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",
7902
+ children: /* @__PURE__ */ jsx25(Cross2Icon2, { "aria-hidden": "true", className: "h-3.5 w-3.5" })
7903
+ }
7904
+ ) : null,
7905
+ /* @__PURE__ */ jsx25(
7906
+ CaretSortIcon2,
7907
+ {
7908
+ "aria-hidden": "true",
7909
+ className: cn(
7910
+ "h-4 w-4 shrink-0 opacity-50 transition-transform",
7911
+ open && "rotate-180"
7912
+ )
7913
+ }
7914
+ )
7915
+ ]
7916
+ }
7917
+ ),
7918
+ /* @__PURE__ */ jsx25(
7919
+ "div",
7920
+ {
7921
+ className: cn(
7922
+ "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",
7923
+ !open && "pointer-events-none invisible opacity-0",
7924
+ open && "visible opacity-100",
7925
+ contentClassName
7926
+ ),
7927
+ children: /* @__PURE__ */ jsx25(
7928
+ "div",
7929
+ {
7930
+ id: listboxId,
7931
+ role: "listbox",
7932
+ className: "max-h-72 overflow-y-auto overscroll-contain p-1 [scrollbar-gutter:stable]",
7933
+ onWheelCapture: (event) => {
7934
+ event.stopPropagation();
7935
+ },
7936
+ onTouchMoveCapture: (event) => {
7937
+ event.stopPropagation();
7938
+ },
7939
+ children: filteredItems.length === 0 ? /* @__PURE__ */ jsx25(
7940
+ "div",
7941
+ {
7942
+ className: cn(
7943
+ "px-3 py-6 text-center text-muted-foreground",
7944
+ sizeClasses.message
7945
+ ),
7946
+ children: emptyText
7947
+ }
7948
+ ) : filteredItems.map((item, index) => {
7949
+ const isSelected = item.value === currentValue;
7950
+ const isActive = index === activeIndex;
7951
+ return /* @__PURE__ */ jsxs15(
7952
+ "div",
7953
+ {
7954
+ id: `${listboxId}-option-${index}`,
7955
+ role: "option",
7956
+ "aria-selected": isSelected,
7957
+ "aria-disabled": item.disabled,
7958
+ tabIndex: -1,
7959
+ onMouseMove: () => {
7960
+ if (!item.disabled) {
7961
+ setActiveIndex(index);
7962
+ }
7963
+ },
7964
+ onPointerDown: (event) => {
7965
+ event.preventDefault();
7966
+ event.stopPropagation();
7967
+ if (!item.disabled) {
7968
+ selectItem(item);
7969
+ }
7970
+ },
7971
+ className: cn(
7972
+ "relative flex w-full select-none items-center gap-2 rounded-lg px-3 text-left outline-none transition",
7973
+ sizeClasses.selectItem,
7974
+ item.disabled ? "pointer-events-none opacity-50" : "cursor-pointer",
7975
+ isActive && !item.disabled && "bg-accent text-accent-foreground",
7976
+ !isActive && !item.disabled && "hover:bg-accent/70 hover:text-accent-foreground",
7977
+ isSelected && "font-medium",
7978
+ itemClassName
7979
+ ),
7980
+ children: [
7981
+ /* @__PURE__ */ jsx25("span", { className: "min-w-0 flex-1 truncate", children: item.label }),
7982
+ isSelected ? /* @__PURE__ */ jsx25(
7983
+ CheckIcon5,
7984
+ {
7985
+ "aria-hidden": "true",
7986
+ className: "h-4 w-4 shrink-0 text-primary"
7987
+ }
7988
+ ) : null
7989
+ ]
7990
+ },
7991
+ item.value
7992
+ );
7993
+ })
7994
+ }
7995
+ )
7996
+ }
7997
+ )
7998
+ ] });
7999
+ }
8000
+ var SearchableSelect = React47.memo(
8001
+ SearchableSelectBase
8002
+ );
8003
+
8004
+ // src/components/Form/form-select.tsx
8005
+ import { jsx as jsx26, jsxs as jsxs16 } from "react/jsx-runtime";
8006
+ var FormSelect = ({
8007
+ name,
8008
+ control,
8009
+ rules,
8010
+ shouldUnregister,
8011
+ defaultValue,
8012
+ placeholder = "Seleccionar opci\xF3n",
8013
+ label,
8014
+ requiredLabel,
8015
+ className,
8016
+ itemClassName,
8017
+ contentClassName,
8018
+ searchInputClassName,
8019
+ labelClassName,
8020
+ messageClassName,
8021
+ requiredLabelClassName,
8022
+ options,
8023
+ items,
8024
+ getOptionValue = getDefaultOptionValue,
7098
8025
  getOptionLabel = getDefaultOptionLabel,
7099
8026
  getOptionDisabled,
7100
8027
  getOptionData,
@@ -7109,13 +8036,13 @@ var FormSelect = ({
7109
8036
  searchable = false,
7110
8037
  searchPlaceholder = "Buscar\u2026",
7111
8038
  emptyText = "No hay resultados",
7112
- position = "popper"
8039
+ classNameDefault = true,
8040
+ position
7113
8041
  }) => {
7114
8042
  const form = useFormContext4();
7115
8043
  const controllerControl = control != null ? control : form == null ? void 0 : form.control;
7116
8044
  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;
8045
+ const triggerSizeClass = getFormControlSizeClass(variant, sizeClasses);
7119
8046
  const contentBase = "z-50 rounded-xl border border-border bg-popover text-popover-foreground shadow-xl outline-none";
7120
8047
  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
8048
  const normalizedOptions = React48.useMemo(() => {
@@ -7137,7 +8064,7 @@ var FormSelect = ({
7137
8064
  items,
7138
8065
  options
7139
8066
  ]);
7140
- return /* @__PURE__ */ jsx25(FormFieldContext.Provider, { value: { name }, children: /* @__PURE__ */ jsx25(
8067
+ return /* @__PURE__ */ jsx26(FormFieldContext.Provider, { value: { name }, children: /* @__PURE__ */ jsx26(
7141
8068
  Controller3,
7142
8069
  {
7143
8070
  control: controllerControl,
@@ -7146,7 +8073,7 @@ var FormSelect = ({
7146
8073
  shouldUnregister,
7147
8074
  defaultValue,
7148
8075
  render: ({ field, fieldState }) => {
7149
- var _a;
8076
+ var _a, _b;
7150
8077
  const fieldError = getErrorMessage(fieldState.error);
7151
8078
  const hasError = Boolean(invalid || fieldError);
7152
8079
  const handleValueChange = (value) => {
@@ -7158,8 +8085,8 @@ var FormSelect = ({
7158
8085
  onChange == null ? void 0 : onChange(value);
7159
8086
  onChangeItem == null ? void 0 : onChangeItem((_a2 = nextOption == null ? void 0 : nextOption.data) != null ? _a2 : null);
7160
8087
  };
7161
- return /* @__PURE__ */ jsxs15(FormItem, { children: [
7162
- label ? /* @__PURE__ */ jsxs15(
8088
+ return /* @__PURE__ */ jsxs16(FormItem, { children: [
8089
+ label ? /* @__PURE__ */ jsxs16(
7163
8090
  FormLabel,
7164
8091
  {
7165
8092
  className: cn(
@@ -7168,8 +8095,8 @@ var FormSelect = ({
7168
8095
  labelClassName
7169
8096
  ),
7170
8097
  children: [
7171
- /* @__PURE__ */ jsx25("span", { children: label }),
7172
- requiredLabel ? /* @__PURE__ */ jsx25(
8098
+ /* @__PURE__ */ jsx26("span", { children: label }),
8099
+ requiredLabel ? /* @__PURE__ */ jsx26(
7173
8100
  Asterisk3,
7174
8101
  {
7175
8102
  "aria-hidden": "true",
@@ -7182,20 +8109,37 @@ var FormSelect = ({
7182
8109
  ]
7183
8110
  }
7184
8111
  ) : null,
7185
- searchable ? /* @__PURE__ */ jsx25(
7186
- Badge,
8112
+ searchable ? /* @__PURE__ */ jsx26(
8113
+ SearchableSelect,
7187
8114
  {
7188
- variant: "outline",
7189
- className: cn(
7190
- "w-full cursor-pointer",
7191
- hasError && "border-destructive ring-destructive focus:ring-destructive/40",
7192
- className
7193
- )
8115
+ items: normalizedOptions,
8116
+ value: (_a = field.value) != null ? _a : "",
8117
+ name: field.name,
8118
+ placeholder,
8119
+ searchPlaceholder,
8120
+ emptyText,
8121
+ disabled,
8122
+ invalid: hasError,
8123
+ size,
8124
+ customSize,
8125
+ variant,
8126
+ classNameDefault,
8127
+ triggerClassName: className,
8128
+ contentClassName,
8129
+ itemClassName,
8130
+ searchInputClassName,
8131
+ onValueChange: (value, option) => {
8132
+ var _a2;
8133
+ field.onChange(value);
8134
+ onChange == null ? void 0 : onChange(value);
8135
+ onChangeItem == null ? void 0 : onChangeItem((_a2 = option == null ? void 0 : option.data) != null ? _a2 : null);
8136
+ field.onBlur();
8137
+ }
7194
8138
  }
7195
- ) : /* @__PURE__ */ jsxs15(
8139
+ ) : /* @__PURE__ */ jsxs16(
7196
8140
  Select2,
7197
8141
  {
7198
- value: (_a = field.value) != null ? _a : "",
8142
+ value: (_b = field.value) != null ? _b : "",
7199
8143
  onValueChange: handleValueChange,
7200
8144
  onOpenChange: (nextOpen) => {
7201
8145
  if (!nextOpen) {
@@ -7204,20 +8148,20 @@ var FormSelect = ({
7204
8148
  },
7205
8149
  disabled,
7206
8150
  children: [
7207
- /* @__PURE__ */ jsx25(FormControl, { children: /* @__PURE__ */ jsx25(
8151
+ /* @__PURE__ */ jsx26(FormControl, { children: /* @__PURE__ */ jsx26(
7208
8152
  SelectTrigger,
7209
8153
  {
7210
- className: cn(
7211
- triggerBase,
7212
- variants[variant],
8154
+ className: classNameDefault ? cn(
8155
+ formControlBase,
8156
+ formInputVariants[variant],
7213
8157
  triggerSizeClass,
7214
- hasError && "border-destructive ring-destructive focus:ring-destructive/40",
8158
+ hasError && formControlErrorClass,
7215
8159
  className
7216
- ),
7217
- children: /* @__PURE__ */ jsx25(SelectValue, { placeholder })
8160
+ ) : className,
8161
+ children: /* @__PURE__ */ jsx26(SelectValue, { placeholder })
7218
8162
  }
7219
8163
  ) }),
7220
- /* @__PURE__ */ jsx25(
8164
+ /* @__PURE__ */ jsx26(
7221
8165
  SelectContent,
7222
8166
  {
7223
8167
  position,
@@ -7234,7 +8178,7 @@ var FormSelect = ({
7234
8178
  onTouchMoveCapture: (event) => {
7235
8179
  event.stopPropagation();
7236
8180
  },
7237
- children: children ? children : normalizedOptions.length > 0 ? normalizedOptions.map((option) => /* @__PURE__ */ jsx25(
8181
+ children: children ? children : normalizedOptions.length > 0 ? normalizedOptions.map((option) => /* @__PURE__ */ jsx26(
7238
8182
  SelectItem,
7239
8183
  {
7240
8184
  value: option.value,
@@ -7243,7 +8187,7 @@ var FormSelect = ({
7243
8187
  children: option.label
7244
8188
  },
7245
8189
  option.value
7246
- )) : /* @__PURE__ */ jsx25(
8190
+ )) : /* @__PURE__ */ jsx26(
7247
8191
  "div",
7248
8192
  {
7249
8193
  className: cn(
@@ -7258,7 +8202,7 @@ var FormSelect = ({
7258
8202
  ]
7259
8203
  }
7260
8204
  ),
7261
- fieldError ? /* @__PURE__ */ jsx25(
8205
+ fieldError ? /* @__PURE__ */ jsx26(
7262
8206
  FormMessage,
7263
8207
  {
7264
8208
  className: cn(sizeClasses.message, messageClassName),
@@ -7275,12 +8219,12 @@ FormSelect.displayName = "FormSelect";
7275
8219
  // src/components/hover-card.tsx
7276
8220
  import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
7277
8221
  import * as React49 from "react";
7278
- import { jsx as jsx26 } from "react/jsx-runtime";
8222
+ import { jsx as jsx27 } from "react/jsx-runtime";
7279
8223
  var HoverCard = HoverCardPrimitive.Root;
7280
8224
  var HoverCardTrigger = HoverCardPrimitive.Trigger;
7281
8225
  var HoverCardContent = React49.forwardRef((_a, ref) => {
7282
8226
  var _b = _a, { className, align = "center", sideOffset = 4 } = _b, props = __objRest(_b, ["className", "align", "sideOffset"]);
7283
- return /* @__PURE__ */ jsx26(
8227
+ return /* @__PURE__ */ jsx27(
7284
8228
  HoverCardPrimitive.Content,
7285
8229
  __spreadValues({
7286
8230
  ref,
@@ -7360,10 +8304,10 @@ var Icons = IconsApp;
7360
8304
  import { DashIcon } from "@radix-ui/react-icons";
7361
8305
  import { OTPInput, OTPInputContext } from "input-otp";
7362
8306
  import * as React50 from "react";
7363
- import { jsx as jsx27, jsxs as jsxs16 } from "react/jsx-runtime";
8307
+ import { jsx as jsx28, jsxs as jsxs17 } from "react/jsx-runtime";
7364
8308
  var InputOTP = React50.forwardRef((_a, ref) => {
7365
8309
  var _b = _a, { className, containerClassName } = _b, props = __objRest(_b, ["className", "containerClassName"]);
7366
- return /* @__PURE__ */ jsx27(
8310
+ return /* @__PURE__ */ jsx28(
7367
8311
  OTPInput,
7368
8312
  __spreadValues({
7369
8313
  ref,
@@ -7378,14 +8322,14 @@ var InputOTP = React50.forwardRef((_a, ref) => {
7378
8322
  InputOTP.displayName = "InputOTP";
7379
8323
  var InputOTPGroup = React50.forwardRef((_a, ref) => {
7380
8324
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7381
- return /* @__PURE__ */ jsx27("div", __spreadValues({ ref, className: cn("flex items-center", className) }, props));
8325
+ return /* @__PURE__ */ jsx28("div", __spreadValues({ ref, className: cn("flex items-center", className) }, props));
7382
8326
  });
7383
8327
  InputOTPGroup.displayName = "InputOTPGroup";
7384
8328
  var InputOTPSlot = React50.forwardRef((_a, ref) => {
7385
8329
  var _b = _a, { index, className } = _b, props = __objRest(_b, ["index", "className"]);
7386
8330
  const inputOTPContext = React50.useContext(OTPInputContext);
7387
8331
  const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
7388
- return /* @__PURE__ */ jsxs16(
8332
+ return /* @__PURE__ */ jsxs17(
7389
8333
  "div",
7390
8334
  __spreadProps(__spreadValues({
7391
8335
  ref,
@@ -7398,7 +8342,7 @@ var InputOTPSlot = React50.forwardRef((_a, ref) => {
7398
8342
  }, props), {
7399
8343
  children: [
7400
8344
  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" }) })
8345
+ 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
8346
  ]
7403
8347
  })
7404
8348
  );
@@ -7406,19 +8350,19 @@ var InputOTPSlot = React50.forwardRef((_a, ref) => {
7406
8350
  InputOTPSlot.displayName = "InputOTPSlot";
7407
8351
  var InputOTPSeparator = React50.forwardRef((_a, ref) => {
7408
8352
  var props = __objRest(_a, []);
7409
- return /* @__PURE__ */ jsx27("div", __spreadProps(__spreadValues({ ref, role: "separator" }, props), { children: /* @__PURE__ */ jsx27(DashIcon, {}) }));
8353
+ return /* @__PURE__ */ jsx28("div", __spreadProps(__spreadValues({ ref, role: "separator" }, props), { children: /* @__PURE__ */ jsx28(DashIcon, {}) }));
7410
8354
  });
7411
8355
  InputOTPSeparator.displayName = "InputOTPSeparator";
7412
8356
 
7413
8357
  // src/components/menubar.tsx
7414
8358
  import {
7415
- CheckIcon as CheckIcon5,
8359
+ CheckIcon as CheckIcon6,
7416
8360
  ChevronRightIcon as ChevronRightIcon4,
7417
8361
  DotFilledIcon as DotFilledIcon3
7418
8362
  } from "@radix-ui/react-icons";
7419
8363
  import * as MenubarPrimitive from "@radix-ui/react-menubar";
7420
8364
  import * as React51 from "react";
7421
- import { jsx as jsx28, jsxs as jsxs17 } from "react/jsx-runtime";
8365
+ import { jsx as jsx29, jsxs as jsxs18 } from "react/jsx-runtime";
7422
8366
  var MenubarMenu = MenubarPrimitive.Menu;
7423
8367
  var MenubarGroup = MenubarPrimitive.Group;
7424
8368
  var MenubarPortal = MenubarPrimitive.Portal;
@@ -7426,7 +8370,7 @@ var MenubarSub = MenubarPrimitive.Sub;
7426
8370
  var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
7427
8371
  var Menubar = React51.forwardRef((_a, ref) => {
7428
8372
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7429
- return /* @__PURE__ */ jsx28(
8373
+ return /* @__PURE__ */ jsx29(
7430
8374
  MenubarPrimitive.Root,
7431
8375
  __spreadValues({
7432
8376
  ref,
@@ -7440,7 +8384,7 @@ var Menubar = React51.forwardRef((_a, ref) => {
7440
8384
  Menubar.displayName = MenubarPrimitive.Root.displayName;
7441
8385
  var MenubarTrigger = React51.forwardRef((_a, ref) => {
7442
8386
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7443
- return /* @__PURE__ */ jsx28(
8387
+ return /* @__PURE__ */ jsx29(
7444
8388
  MenubarPrimitive.Trigger,
7445
8389
  __spreadValues({
7446
8390
  ref,
@@ -7454,7 +8398,7 @@ var MenubarTrigger = React51.forwardRef((_a, ref) => {
7454
8398
  MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
7455
8399
  var MenubarSubTrigger = React51.forwardRef((_a, ref) => {
7456
8400
  var _b = _a, { className, inset, children } = _b, props = __objRest(_b, ["className", "inset", "children"]);
7457
- return /* @__PURE__ */ jsxs17(
8401
+ return /* @__PURE__ */ jsxs18(
7458
8402
  MenubarPrimitive.SubTrigger,
7459
8403
  __spreadProps(__spreadValues({
7460
8404
  ref,
@@ -7466,7 +8410,7 @@ var MenubarSubTrigger = React51.forwardRef((_a, ref) => {
7466
8410
  }, props), {
7467
8411
  children: [
7468
8412
  children,
7469
- /* @__PURE__ */ jsx28(ChevronRightIcon4, { className: "ml-auto h-4 w-4" })
8413
+ /* @__PURE__ */ jsx29(ChevronRightIcon4, { className: "ml-auto h-4 w-4" })
7470
8414
  ]
7471
8415
  })
7472
8416
  );
@@ -7474,7 +8418,7 @@ var MenubarSubTrigger = React51.forwardRef((_a, ref) => {
7474
8418
  MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
7475
8419
  var MenubarSubContent = React51.forwardRef((_a, ref) => {
7476
8420
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7477
- return /* @__PURE__ */ jsx28(
8421
+ return /* @__PURE__ */ jsx29(
7478
8422
  MenubarPrimitive.SubContent,
7479
8423
  __spreadValues({
7480
8424
  ref,
@@ -7489,7 +8433,7 @@ MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
7489
8433
  var MenubarContent = React51.forwardRef(
7490
8434
  (_a, ref) => {
7491
8435
  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(
8436
+ return /* @__PURE__ */ jsx29(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx29(
7493
8437
  MenubarPrimitive.Content,
7494
8438
  __spreadValues({
7495
8439
  ref,
@@ -7507,7 +8451,7 @@ var MenubarContent = React51.forwardRef(
7507
8451
  MenubarContent.displayName = MenubarPrimitive.Content.displayName;
7508
8452
  var MenubarItem = React51.forwardRef((_a, ref) => {
7509
8453
  var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
7510
- return /* @__PURE__ */ jsx28(
8454
+ return /* @__PURE__ */ jsx29(
7511
8455
  MenubarPrimitive.Item,
7512
8456
  __spreadValues({
7513
8457
  ref,
@@ -7522,7 +8466,7 @@ var MenubarItem = React51.forwardRef((_a, ref) => {
7522
8466
  MenubarItem.displayName = MenubarPrimitive.Item.displayName;
7523
8467
  var MenubarCheckboxItem = React51.forwardRef((_a, ref) => {
7524
8468
  var _b = _a, { className, children, checked } = _b, props = __objRest(_b, ["className", "children", "checked"]);
7525
- return /* @__PURE__ */ jsxs17(
8469
+ return /* @__PURE__ */ jsxs18(
7526
8470
  MenubarPrimitive.CheckboxItem,
7527
8471
  __spreadProps(__spreadValues({
7528
8472
  ref,
@@ -7533,7 +8477,7 @@ var MenubarCheckboxItem = React51.forwardRef((_a, ref) => {
7533
8477
  checked
7534
8478
  }, props), {
7535
8479
  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" }) }) }),
8480
+ /* @__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
8481
  children
7538
8482
  ]
7539
8483
  })
@@ -7542,7 +8486,7 @@ var MenubarCheckboxItem = React51.forwardRef((_a, ref) => {
7542
8486
  MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
7543
8487
  var MenubarRadioItem = React51.forwardRef((_a, ref) => {
7544
8488
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
7545
- return /* @__PURE__ */ jsxs17(
8489
+ return /* @__PURE__ */ jsxs18(
7546
8490
  MenubarPrimitive.RadioItem,
7547
8491
  __spreadProps(__spreadValues({
7548
8492
  ref,
@@ -7552,7 +8496,7 @@ var MenubarRadioItem = React51.forwardRef((_a, ref) => {
7552
8496
  )
7553
8497
  }, props), {
7554
8498
  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" }) }) }),
8499
+ /* @__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
8500
  children
7557
8501
  ]
7558
8502
  })
@@ -7561,7 +8505,7 @@ var MenubarRadioItem = React51.forwardRef((_a, ref) => {
7561
8505
  MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
7562
8506
  var MenubarLabel = React51.forwardRef((_a, ref) => {
7563
8507
  var _b = _a, { className, inset } = _b, props = __objRest(_b, ["className", "inset"]);
7564
- return /* @__PURE__ */ jsx28(
8508
+ return /* @__PURE__ */ jsx29(
7565
8509
  MenubarPrimitive.Label,
7566
8510
  __spreadValues({
7567
8511
  ref,
@@ -7576,7 +8520,7 @@ var MenubarLabel = React51.forwardRef((_a, ref) => {
7576
8520
  MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
7577
8521
  var MenubarSeparator = React51.forwardRef((_a, ref) => {
7578
8522
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7579
- return /* @__PURE__ */ jsx28(
8523
+ return /* @__PURE__ */ jsx29(
7580
8524
  MenubarPrimitive.Separator,
7581
8525
  __spreadValues({
7582
8526
  ref,
@@ -7591,7 +8535,7 @@ var MenubarShortcut = (_a) => {
7591
8535
  } = _b, props = __objRest(_b, [
7592
8536
  "className"
7593
8537
  ]);
7594
- return /* @__PURE__ */ jsx28(
8538
+ return /* @__PURE__ */ jsx29(
7595
8539
  "span",
7596
8540
  __spreadValues({
7597
8541
  className: cn(
@@ -7604,7 +8548,7 @@ var MenubarShortcut = (_a) => {
7604
8548
  MenubarShortcut.displayname = "MenubarShortcut";
7605
8549
 
7606
8550
  // src/components/modal.tsx
7607
- import { jsx as jsx29, jsxs as jsxs18 } from "react/jsx-runtime";
8551
+ import { jsx as jsx30, jsxs as jsxs19 } from "react/jsx-runtime";
7608
8552
  var Modal = ({
7609
8553
  title,
7610
8554
  description,
@@ -7618,24 +8562,24 @@ var Modal = ({
7618
8562
  onClose();
7619
8563
  }
7620
8564
  };
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 })
8565
+ return /* @__PURE__ */ jsx30(Dialog, { open: isOpen, onOpenChange: onChange, children: /* @__PURE__ */ jsxs19(DialogContent, { className, children: [
8566
+ /* @__PURE__ */ jsxs19(DialogHeader, { children: [
8567
+ /* @__PURE__ */ jsx30(DialogTitle, { children: title }),
8568
+ /* @__PURE__ */ jsx30(DialogDescription, { children: description })
7625
8569
  ] }),
7626
- /* @__PURE__ */ jsx29("div", { children })
8570
+ /* @__PURE__ */ jsx30("div", { children })
7627
8571
  ] }) });
7628
8572
  };
7629
8573
 
7630
8574
  // src/components/navigation-menu.tsx
7631
- import { ChevronDownIcon as ChevronDownIcon3 } from "@radix-ui/react-icons";
8575
+ import { ChevronDownIcon as ChevronDownIcon2 } from "@radix-ui/react-icons";
7632
8576
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
7633
8577
  import { cva as cva6 } from "class-variance-authority";
7634
8578
  import * as React52 from "react";
7635
- import { jsx as jsx30, jsxs as jsxs19 } from "react/jsx-runtime";
8579
+ import { jsx as jsx31, jsxs as jsxs20 } from "react/jsx-runtime";
7636
8580
  var NavigationMenu = React52.forwardRef((_a, ref) => {
7637
8581
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
7638
- return /* @__PURE__ */ jsxs19(
8582
+ return /* @__PURE__ */ jsxs20(
7639
8583
  NavigationMenuPrimitive.Root,
7640
8584
  __spreadProps(__spreadValues({
7641
8585
  ref,
@@ -7646,7 +8590,7 @@ var NavigationMenu = React52.forwardRef((_a, ref) => {
7646
8590
  }, props), {
7647
8591
  children: [
7648
8592
  children,
7649
- /* @__PURE__ */ jsx30(NavigationMenuViewport, {})
8593
+ /* @__PURE__ */ jsx31(NavigationMenuViewport, {})
7650
8594
  ]
7651
8595
  })
7652
8596
  );
@@ -7654,7 +8598,7 @@ var NavigationMenu = React52.forwardRef((_a, ref) => {
7654
8598
  NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
7655
8599
  var NavigationMenuList = React52.forwardRef((_a, ref) => {
7656
8600
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7657
- return /* @__PURE__ */ jsx30(
8601
+ return /* @__PURE__ */ jsx31(
7658
8602
  NavigationMenuPrimitive.List,
7659
8603
  __spreadValues({
7660
8604
  ref,
@@ -7672,7 +8616,7 @@ var navigationMenuTriggerStyle = cva6(
7672
8616
  );
7673
8617
  var NavigationMenuTrigger = React52.forwardRef((_a, ref) => {
7674
8618
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
7675
- return /* @__PURE__ */ jsxs19(
8619
+ return /* @__PURE__ */ jsxs20(
7676
8620
  NavigationMenuPrimitive.Trigger,
7677
8621
  __spreadProps(__spreadValues({
7678
8622
  ref,
@@ -7681,8 +8625,8 @@ var NavigationMenuTrigger = React52.forwardRef((_a, ref) => {
7681
8625
  children: [
7682
8626
  children,
7683
8627
  " ",
7684
- /* @__PURE__ */ jsx30(
7685
- ChevronDownIcon3,
8628
+ /* @__PURE__ */ jsx31(
8629
+ ChevronDownIcon2,
7686
8630
  {
7687
8631
  className: "relative top-[1px] ml-1 h-3 w-3 transition duration-300 group-data-[state=open]:rotate-180",
7688
8632
  "aria-hidden": "true"
@@ -7695,7 +8639,7 @@ var NavigationMenuTrigger = React52.forwardRef((_a, ref) => {
7695
8639
  NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
7696
8640
  var NavigationMenuContent = React52.forwardRef((_a, ref) => {
7697
8641
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7698
- return /* @__PURE__ */ jsx30(
8642
+ return /* @__PURE__ */ jsx31(
7699
8643
  NavigationMenuPrimitive.Content,
7700
8644
  __spreadValues({
7701
8645
  ref,
@@ -7710,7 +8654,7 @@ NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
7710
8654
  var NavigationMenuLink = NavigationMenuPrimitive.Link;
7711
8655
  var NavigationMenuViewport = React52.forwardRef((_a, ref) => {
7712
8656
  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(
8657
+ return /* @__PURE__ */ jsx31("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx31(
7714
8658
  NavigationMenuPrimitive.Viewport,
7715
8659
  __spreadValues({
7716
8660
  className: cn(
@@ -7724,7 +8668,7 @@ var NavigationMenuViewport = React52.forwardRef((_a, ref) => {
7724
8668
  NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
7725
8669
  var NavigationMenuIndicator = React52.forwardRef((_a, ref) => {
7726
8670
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7727
- return /* @__PURE__ */ jsx30(
8671
+ return /* @__PURE__ */ jsx31(
7728
8672
  NavigationMenuPrimitive.Indicator,
7729
8673
  __spreadProps(__spreadValues({
7730
8674
  ref,
@@ -7733,7 +8677,7 @@ var NavigationMenuIndicator = React52.forwardRef((_a, ref) => {
7733
8677
  className
7734
8678
  )
7735
8679
  }, props), {
7736
- children: /* @__PURE__ */ jsx30("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
8680
+ children: /* @__PURE__ */ jsx31("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
7737
8681
  })
7738
8682
  );
7739
8683
  });
@@ -7747,10 +8691,10 @@ import {
7747
8691
  } from "@radix-ui/react-icons";
7748
8692
  import * as React53 from "react";
7749
8693
  import { ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight2 } from "lucide-react";
7750
- import { jsx as jsx31, jsxs as jsxs20 } from "react/jsx-runtime";
8694
+ import { jsx as jsx32, jsxs as jsxs21 } from "react/jsx-runtime";
7751
8695
  var Pagination = (_a) => {
7752
8696
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7753
- return /* @__PURE__ */ jsx31(
8697
+ return /* @__PURE__ */ jsx32(
7754
8698
  "nav",
7755
8699
  __spreadValues({
7756
8700
  role: "navigation",
@@ -7762,7 +8706,7 @@ var Pagination = (_a) => {
7762
8706
  Pagination.displayName = "Pagination";
7763
8707
  var PaginationContent = React53.forwardRef((_a, ref) => {
7764
8708
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7765
- return /* @__PURE__ */ jsx31(
8709
+ return /* @__PURE__ */ jsx32(
7766
8710
  "ul",
7767
8711
  __spreadValues({
7768
8712
  ref,
@@ -7773,7 +8717,7 @@ var PaginationContent = React53.forwardRef((_a, ref) => {
7773
8717
  PaginationContent.displayName = "PaginationContent";
7774
8718
  var PaginationItem = React53.forwardRef((_a, ref) => {
7775
8719
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7776
- return /* @__PURE__ */ jsx31("li", __spreadValues({ ref, className: cn("", className) }, props));
8720
+ return /* @__PURE__ */ jsx32("li", __spreadValues({ ref, className: cn("", className) }, props));
7777
8721
  });
7778
8722
  PaginationItem.displayName = "PaginationItem";
7779
8723
  var PaginationLink = (_a) => {
@@ -7786,7 +8730,7 @@ var PaginationLink = (_a) => {
7786
8730
  "isActive",
7787
8731
  "size"
7788
8732
  ]);
7789
- return /* @__PURE__ */ jsx31(
8733
+ return /* @__PURE__ */ jsx32(
7790
8734
  "a",
7791
8735
  __spreadValues({
7792
8736
  "aria-current": isActive ? "page" : void 0,
@@ -7807,7 +8751,7 @@ var PaginationPreviousLast = (_a) => {
7807
8751
  } = _b, props = __objRest(_b, [
7808
8752
  "className"
7809
8753
  ]);
7810
- return /* @__PURE__ */ jsxs20(
8754
+ return /* @__PURE__ */ jsxs21(
7811
8755
  PaginationLink,
7812
8756
  __spreadProps(__spreadValues({
7813
8757
  "aria-label": "Go to previous page",
@@ -7815,8 +8759,8 @@ var PaginationPreviousLast = (_a) => {
7815
8759
  className: cn("gap-1 pl-2.5", className)
7816
8760
  }, props), {
7817
8761
  children: [
7818
- /* @__PURE__ */ jsx31(ChevronLeft2, { className: "h-4 w-4" }),
7819
- /* @__PURE__ */ jsx31("span", { className: "sr-only", children: "Previous Last" })
8762
+ /* @__PURE__ */ jsx32(ChevronLeft2, { className: "h-4 w-4" }),
8763
+ /* @__PURE__ */ jsx32("span", { className: "sr-only", children: "Previous Last" })
7820
8764
  ]
7821
8765
  })
7822
8766
  );
@@ -7828,7 +8772,7 @@ var PaginationPrevious = (_a) => {
7828
8772
  } = _b, props = __objRest(_b, [
7829
8773
  "className"
7830
8774
  ]);
7831
- return /* @__PURE__ */ jsxs20(
8775
+ return /* @__PURE__ */ jsxs21(
7832
8776
  PaginationLink,
7833
8777
  __spreadProps(__spreadValues({
7834
8778
  "aria-label": "Go to previous page",
@@ -7836,8 +8780,8 @@ var PaginationPrevious = (_a) => {
7836
8780
  className: cn("gap-1 pl-2.5", className)
7837
8781
  }, props), {
7838
8782
  children: [
7839
- /* @__PURE__ */ jsx31(ChevronLeftIcon, { className: "h-4 w-4" }),
7840
- /* @__PURE__ */ jsx31("span", { children: "Previous" })
8783
+ /* @__PURE__ */ jsx32(ChevronLeftIcon, { className: "h-4 w-4" }),
8784
+ /* @__PURE__ */ jsx32("span", { children: "Previous" })
7841
8785
  ]
7842
8786
  })
7843
8787
  );
@@ -7849,7 +8793,7 @@ var PaginationNext = (_a) => {
7849
8793
  } = _b, props = __objRest(_b, [
7850
8794
  "className"
7851
8795
  ]);
7852
- return /* @__PURE__ */ jsxs20(
8796
+ return /* @__PURE__ */ jsxs21(
7853
8797
  PaginationLink,
7854
8798
  __spreadProps(__spreadValues({
7855
8799
  "aria-label": "Go to next page",
@@ -7857,8 +8801,8 @@ var PaginationNext = (_a) => {
7857
8801
  className: cn("gap-1 pr-2.5", className)
7858
8802
  }, props), {
7859
8803
  children: [
7860
- /* @__PURE__ */ jsx31("span", { children: "Next" }),
7861
- /* @__PURE__ */ jsx31(ChevronRightIcon5, { className: "h-4 w-4" })
8804
+ /* @__PURE__ */ jsx32("span", { children: "Next" }),
8805
+ /* @__PURE__ */ jsx32(ChevronRightIcon5, { className: "h-4 w-4" })
7862
8806
  ]
7863
8807
  })
7864
8808
  );
@@ -7870,7 +8814,7 @@ var PaginationNextLast = (_a) => {
7870
8814
  } = _b, props = __objRest(_b, [
7871
8815
  "className"
7872
8816
  ]);
7873
- return /* @__PURE__ */ jsxs20(
8817
+ return /* @__PURE__ */ jsxs21(
7874
8818
  PaginationLink,
7875
8819
  __spreadProps(__spreadValues({
7876
8820
  "aria-label": "Go to next page",
@@ -7878,8 +8822,8 @@ var PaginationNextLast = (_a) => {
7878
8822
  className: cn("gap-1 pr-2.5", className)
7879
8823
  }, props), {
7880
8824
  children: [
7881
- /* @__PURE__ */ jsx31("span", { className: "sr-only", children: "Next Last" }),
7882
- /* @__PURE__ */ jsx31(ChevronRight2, { className: "h-4 w-4" })
8825
+ /* @__PURE__ */ jsx32("span", { className: "sr-only", children: "Next Last" }),
8826
+ /* @__PURE__ */ jsx32(ChevronRight2, { className: "h-4 w-4" })
7883
8827
  ]
7884
8828
  })
7885
8829
  );
@@ -7891,15 +8835,15 @@ var PaginationEllipsis = (_a) => {
7891
8835
  } = _b, props = __objRest(_b, [
7892
8836
  "className"
7893
8837
  ]);
7894
- return /* @__PURE__ */ jsxs20(
8838
+ return /* @__PURE__ */ jsxs21(
7895
8839
  "span",
7896
8840
  __spreadProps(__spreadValues({
7897
8841
  "aria-hidden": true,
7898
8842
  className: cn("flex h-9 w-9 items-center justify-center", className)
7899
8843
  }, props), {
7900
8844
  children: [
7901
- /* @__PURE__ */ jsx31(DotsHorizontalIcon2, { className: "h-4 w-4" }),
7902
- /* @__PURE__ */ jsx31("span", { className: "sr-only", children: "More pages" })
8845
+ /* @__PURE__ */ jsx32(DotsHorizontalIcon2, { className: "h-4 w-4" }),
8846
+ /* @__PURE__ */ jsx32("span", { className: "sr-only", children: "More pages" })
7903
8847
  ]
7904
8848
  })
7905
8849
  );
@@ -7909,13 +8853,13 @@ PaginationEllipsis.displayName = "PaginationEllipsis";
7909
8853
  // src/components/popover.tsx
7910
8854
  import * as PopoverPrimitive from "@radix-ui/react-popover";
7911
8855
  import * as React54 from "react";
7912
- import { jsx as jsx32 } from "react/jsx-runtime";
8856
+ import { jsx as jsx33 } from "react/jsx-runtime";
7913
8857
  var Popover = PopoverPrimitive.Root;
7914
8858
  var PopoverTrigger = PopoverPrimitive.Trigger;
7915
8859
  var PopoverAnchor = PopoverPrimitive.Anchor;
7916
8860
  var PopoverContent = React54.forwardRef((_a, ref) => {
7917
8861
  var _b = _a, { className, align = "center", sideOffset = 4 } = _b, props = __objRest(_b, ["className", "align", "sideOffset"]);
7918
- return /* @__PURE__ */ jsx32(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx32(
8862
+ return /* @__PURE__ */ jsx33(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx33(
7919
8863
  PopoverPrimitive.Content,
7920
8864
  __spreadValues({
7921
8865
  ref,
@@ -7933,10 +8877,10 @@ PopoverContent.displayName = PopoverPrimitive.Content.displayName;
7933
8877
  // src/components/progress.tsx
7934
8878
  import * as ProgressPrimitive from "@radix-ui/react-progress";
7935
8879
  import * as React55 from "react";
7936
- import { jsx as jsx33 } from "react/jsx-runtime";
8880
+ import { jsx as jsx34 } from "react/jsx-runtime";
7937
8881
  var Progress = React55.forwardRef((_a, ref) => {
7938
8882
  var _b = _a, { className, value } = _b, props = __objRest(_b, ["className", "value"]);
7939
- return /* @__PURE__ */ jsx33(
8883
+ return /* @__PURE__ */ jsx34(
7940
8884
  ProgressPrimitive.Root,
7941
8885
  __spreadProps(__spreadValues({
7942
8886
  ref,
@@ -7945,7 +8889,7 @@ var Progress = React55.forwardRef((_a, ref) => {
7945
8889
  className
7946
8890
  )
7947
8891
  }, props), {
7948
- children: /* @__PURE__ */ jsx33(
8892
+ children: /* @__PURE__ */ jsx34(
7949
8893
  ProgressPrimitive.Indicator,
7950
8894
  {
7951
8895
  className: "h-full w-full flex-1 bg-primary transition-all",
@@ -7958,13 +8902,13 @@ var Progress = React55.forwardRef((_a, ref) => {
7958
8902
  Progress.displayName = ProgressPrimitive.Root.displayName;
7959
8903
 
7960
8904
  // src/components/radio-group.tsx
7961
- import { CheckIcon as CheckIcon6 } from "@radix-ui/react-icons";
8905
+ import { CheckIcon as CheckIcon7 } from "@radix-ui/react-icons";
7962
8906
  import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
7963
8907
  import * as React56 from "react";
7964
- import { jsx as jsx34 } from "react/jsx-runtime";
8908
+ import { jsx as jsx35 } from "react/jsx-runtime";
7965
8909
  var RadioGroup4 = React56.forwardRef((_a, ref) => {
7966
8910
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7967
- return /* @__PURE__ */ jsx34(
8911
+ return /* @__PURE__ */ jsx35(
7968
8912
  RadioGroupPrimitive.Root,
7969
8913
  __spreadProps(__spreadValues({
7970
8914
  className: cn("grid gap-2", className)
@@ -7976,7 +8920,7 @@ var RadioGroup4 = React56.forwardRef((_a, ref) => {
7976
8920
  RadioGroup4.displayName = RadioGroupPrimitive.Root.displayName;
7977
8921
  var RadioGroupItem = React56.forwardRef((_a, ref) => {
7978
8922
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
7979
- return /* @__PURE__ */ jsx34(
8923
+ return /* @__PURE__ */ jsx35(
7980
8924
  RadioGroupPrimitive.Item,
7981
8925
  __spreadProps(__spreadValues({
7982
8926
  ref,
@@ -7985,7 +8929,7 @@ var RadioGroupItem = React56.forwardRef((_a, ref) => {
7985
8929
  className
7986
8930
  )
7987
8931
  }, 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" }) })
8932
+ 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
8933
  })
7990
8934
  );
7991
8935
  });
@@ -7994,14 +8938,14 @@ RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
7994
8938
  // src/components/resizable.tsx
7995
8939
  import { DragHandleDots2Icon } from "@radix-ui/react-icons";
7996
8940
  import * as ResizablePrimitive from "react-resizable-panels";
7997
- import { jsx as jsx35 } from "react/jsx-runtime";
8941
+ import { jsx as jsx36 } from "react/jsx-runtime";
7998
8942
  var ResizablePanelGroup = (_a) => {
7999
8943
  var _b = _a, {
8000
8944
  className
8001
8945
  } = _b, props = __objRest(_b, [
8002
8946
  "className"
8003
8947
  ]);
8004
- return /* @__PURE__ */ jsx35(
8948
+ return /* @__PURE__ */ jsx36(
8005
8949
  ResizablePrimitive.Group,
8006
8950
  __spreadValues({
8007
8951
  className: cn("flex h-full w-full aria-[orientation=vertical]:flex-col", className)
@@ -8017,7 +8961,7 @@ var ResizableHandle = (_a) => {
8017
8961
  "withHandle",
8018
8962
  "className"
8019
8963
  ]);
8020
- return /* @__PURE__ */ jsx35(
8964
+ return /* @__PURE__ */ jsx36(
8021
8965
  ResizablePrimitive.Separator,
8022
8966
  __spreadProps(__spreadValues({
8023
8967
  className: cn(
@@ -8025,7 +8969,7 @@ var ResizableHandle = (_a) => {
8025
8969
  className
8026
8970
  )
8027
8971
  }, 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" }) })
8972
+ 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
8973
  })
8030
8974
  );
8031
8975
  };
@@ -8033,19 +8977,19 @@ var ResizableHandle = (_a) => {
8033
8977
  // src/components/scroll-area.tsx
8034
8978
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
8035
8979
  import * as React57 from "react";
8036
- import { jsx as jsx36, jsxs as jsxs21 } from "react/jsx-runtime";
8980
+ import { jsx as jsx37, jsxs as jsxs22 } from "react/jsx-runtime";
8037
8981
  var ScrollArea = React57.forwardRef((_a, ref) => {
8038
8982
  var _b = _a, { className, children } = _b, props = __objRest(_b, ["className", "children"]);
8039
- return /* @__PURE__ */ jsxs21(
8983
+ return /* @__PURE__ */ jsxs22(
8040
8984
  ScrollAreaPrimitive.Root,
8041
8985
  __spreadProps(__spreadValues({
8042
8986
  ref,
8043
8987
  className: cn("relative overflow-hidden", className)
8044
8988
  }, props), {
8045
8989
  children: [
8046
- /* @__PURE__ */ jsx36(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
8047
- /* @__PURE__ */ jsx36(ScrollBar, {}),
8048
- /* @__PURE__ */ jsx36(ScrollAreaPrimitive.Corner, {})
8990
+ /* @__PURE__ */ jsx37(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children }),
8991
+ /* @__PURE__ */ jsx37(ScrollBar, {}),
8992
+ /* @__PURE__ */ jsx37(ScrollAreaPrimitive.Corner, {})
8049
8993
  ]
8050
8994
  })
8051
8995
  );
@@ -8053,7 +8997,7 @@ var ScrollArea = React57.forwardRef((_a, ref) => {
8053
8997
  ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
8054
8998
  var ScrollBar = React57.forwardRef((_a, ref) => {
8055
8999
  var _b = _a, { className, orientation = "vertical" } = _b, props = __objRest(_b, ["className", "orientation"]);
8056
- return /* @__PURE__ */ jsx36(
9000
+ return /* @__PURE__ */ jsx37(
8057
9001
  ScrollAreaPrimitive.ScrollAreaScrollbar,
8058
9002
  __spreadProps(__spreadValues({
8059
9003
  ref,
@@ -8065,7 +9009,7 @@ var ScrollBar = React57.forwardRef((_a, ref) => {
8065
9009
  className
8066
9010
  )
8067
9011
  }, props), {
8068
- children: /* @__PURE__ */ jsx36(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
9012
+ children: /* @__PURE__ */ jsx37(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" })
8069
9013
  })
8070
9014
  );
8071
9015
  });
@@ -8074,7 +9018,7 @@ ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
8074
9018
  // src/components/search-input.tsx
8075
9019
  import * as React58 from "react";
8076
9020
  import { useDebouncedCallback } from "use-debounce";
8077
- import { jsx as jsx37 } from "react/jsx-runtime";
9021
+ import { jsx as jsx38 } from "react/jsx-runtime";
8078
9022
  function setForwardedRef(ref, value) {
8079
9023
  if (typeof ref === "function") {
8080
9024
  ref(value);
@@ -8155,7 +9099,7 @@ var SearchInput = React58.forwardRef(
8155
9099
  focusInput();
8156
9100
  });
8157
9101
  };
8158
- return /* @__PURE__ */ jsx37(
9102
+ return /* @__PURE__ */ jsx38(
8159
9103
  Input,
8160
9104
  __spreadValues({
8161
9105
  ref: composedRef,
@@ -8164,363 +9108,44 @@ var SearchInput = React58.forwardRef(
8164
9108
  placeholder,
8165
9109
  onChange: handleChange,
8166
9110
  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
8321
- }
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);
9111
+ classNameDefault,
9112
+ autoComplete: "off",
9113
+ onKeyDown: (event) => {
9114
+ if (event.key !== "Escape") {
9115
+ event.stopPropagation();
9116
+ }
9117
+ onKeyDown == null ? void 0 : onKeyDown(event);
9118
+ },
9119
+ onPointerDown: (event) => {
9120
+ event.stopPropagation();
9121
+ onPointerDown == null ? void 0 : onPointerDown(event);
9122
+ },
9123
+ onMouseDown: (event) => {
9124
+ event.stopPropagation();
9125
+ onMouseDown == null ? void 0 : onMouseDown(event);
9126
+ },
9127
+ onClick: (event) => {
9128
+ event.stopPropagation();
8335
9129
  requestAnimationFrame(() => {
8336
- var _a;
8337
- (_a = inputRef.current) == null ? void 0 : _a.focus({ preventScroll: true });
9130
+ focusInput();
8338
9131
  });
9132
+ onClick == null ? void 0 : onClick(event);
8339
9133
  },
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
9134
+ onFocus: (event) => {
9135
+ event.stopPropagation();
9136
+ onFocus == null ? void 0 : onFocus(event);
9137
+ }
9138
+ }, props)
9139
+ );
9140
+ }
8517
9141
  );
9142
+ SearchInput.displayName = "SearchInput";
8518
9143
 
8519
9144
  // src/components/separator.tsx
8520
9145
  import * as SeparatorPrimitive from "@radix-ui/react-separator";
8521
- import * as React60 from "react";
9146
+ import * as React59 from "react";
8522
9147
  import { jsx as jsx39 } from "react/jsx-runtime";
8523
- var Separator6 = React60.forwardRef(
9148
+ var Separator5 = React59.forwardRef(
8524
9149
  (_a, ref) => {
8525
9150
  var _b = _a, { className, orientation = "horizontal", decorative = true } = _b, props = __objRest(_b, ["className", "orientation", "decorative"]);
8526
9151
  return /* @__PURE__ */ jsx39(
@@ -8538,19 +9163,19 @@ var Separator6 = React60.forwardRef(
8538
9163
  );
8539
9164
  }
8540
9165
  );
8541
- Separator6.displayName = SeparatorPrimitive.Root.displayName;
9166
+ Separator5.displayName = SeparatorPrimitive.Root.displayName;
8542
9167
 
8543
9168
  // src/components/sheet.tsx
8544
9169
  import * as SheetPrimitive from "@radix-ui/react-dialog";
8545
9170
  import { Cross2Icon as Cross2Icon3 } from "@radix-ui/react-icons";
8546
9171
  import { cva as cva7 } from "class-variance-authority";
8547
- import * as React61 from "react";
9172
+ import * as React60 from "react";
8548
9173
  import { jsx as jsx40, jsxs as jsxs23 } from "react/jsx-runtime";
8549
9174
  var Sheet = SheetPrimitive.Root;
8550
9175
  var SheetTrigger = SheetPrimitive.Trigger;
8551
9176
  var SheetClose = SheetPrimitive.Close;
8552
9177
  var SheetPortal = SheetPrimitive.Portal;
8553
- var SheetOverlay = React61.forwardRef((_a, ref) => {
9178
+ var SheetOverlay = React60.forwardRef((_a, ref) => {
8554
9179
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8555
9180
  return /* @__PURE__ */ jsx40(
8556
9181
  SheetPrimitive.Overlay,
@@ -8581,7 +9206,7 @@ var sheetVariants = cva7(
8581
9206
  }
8582
9207
  }
8583
9208
  );
8584
- var SheetContent = React61.forwardRef((_a, ref) => {
9209
+ var SheetContent = React60.forwardRef((_a, ref) => {
8585
9210
  var _b = _a, { side = "right", className, children } = _b, props = __objRest(_b, ["side", "className", "children"]);
8586
9211
  return /* @__PURE__ */ jsxs23(SheetPortal, { children: [
8587
9212
  /* @__PURE__ */ jsx40(SheetOverlay, {}),
@@ -8637,7 +9262,7 @@ var SheetFooter = (_a) => {
8637
9262
  );
8638
9263
  };
8639
9264
  SheetFooter.displayName = "SheetFooter";
8640
- var SheetTitle = React61.forwardRef((_a, ref) => {
9265
+ var SheetTitle = React60.forwardRef((_a, ref) => {
8641
9266
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8642
9267
  return /* @__PURE__ */ jsx40(
8643
9268
  SheetPrimitive.Title,
@@ -8648,7 +9273,7 @@ var SheetTitle = React61.forwardRef((_a, ref) => {
8648
9273
  );
8649
9274
  });
8650
9275
  SheetTitle.displayName = SheetPrimitive.Title.displayName;
8651
- var SheetDescription = React61.forwardRef((_a, ref) => {
9276
+ var SheetDescription = React60.forwardRef((_a, ref) => {
8652
9277
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8653
9278
  return /* @__PURE__ */ jsx40(
8654
9279
  SheetPrimitive.Description,
@@ -8678,9 +9303,9 @@ function Skeleton(_a) {
8678
9303
 
8679
9304
  // src/components/slider.tsx
8680
9305
  import * as SliderPrimitive from "@radix-ui/react-slider";
8681
- import * as React62 from "react";
9306
+ import * as React61 from "react";
8682
9307
  import { jsx as jsx42, jsxs as jsxs24 } from "react/jsx-runtime";
8683
- var Slider = React62.forwardRef((_a, ref) => {
9308
+ var Slider = React61.forwardRef((_a, ref) => {
8684
9309
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8685
9310
  return /* @__PURE__ */ jsxs24(
8686
9311
  SliderPrimitive.Root,
@@ -8726,9 +9351,9 @@ var ToasterSonner = (_a) => {
8726
9351
 
8727
9352
  // src/components/switch.tsx
8728
9353
  import * as SwitchPrimitives from "@radix-ui/react-switch";
8729
- import * as React63 from "react";
9354
+ import * as React62 from "react";
8730
9355
  import { jsx as jsx44 } from "react/jsx-runtime";
8731
- var Switch = React63.forwardRef((_a, ref) => {
9356
+ var Switch = React62.forwardRef((_a, ref) => {
8732
9357
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8733
9358
  return /* @__PURE__ */ jsx44(
8734
9359
  SwitchPrimitives.Root,
@@ -8753,9 +9378,9 @@ var Switch = React63.forwardRef((_a, ref) => {
8753
9378
  Switch.displayName = SwitchPrimitives.Root.displayName;
8754
9379
 
8755
9380
  // src/components/table.tsx
8756
- import * as React64 from "react";
9381
+ import * as React63 from "react";
8757
9382
  import { jsx as jsx45 } from "react/jsx-runtime";
8758
- var Table = React64.forwardRef(
9383
+ var Table = React63.forwardRef(
8759
9384
  (_a, ref) => {
8760
9385
  var _b = _a, { className, containerClassName } = _b, props = __objRest(_b, ["className", "containerClassName"]);
8761
9386
  return /* @__PURE__ */ jsx45("div", { className: cn("relative w-full overflow-visible", containerClassName), children: /* @__PURE__ */ jsx45(
@@ -8768,12 +9393,12 @@ var Table = React64.forwardRef(
8768
9393
  }
8769
9394
  );
8770
9395
  Table.displayName = "Table";
8771
- var TableHeader = React64.forwardRef((_a, ref) => {
9396
+ var TableHeader = React63.forwardRef((_a, ref) => {
8772
9397
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8773
9398
  return /* @__PURE__ */ jsx45("thead", __spreadValues({ ref, className: cn("[&_tr]:border-b", className) }, props));
8774
9399
  });
8775
9400
  TableHeader.displayName = "TableHeader";
8776
- var TableBody = React64.forwardRef((_a, ref) => {
9401
+ var TableBody = React63.forwardRef((_a, ref) => {
8777
9402
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8778
9403
  return /* @__PURE__ */ jsx45(
8779
9404
  "tbody",
@@ -8784,7 +9409,7 @@ var TableBody = React64.forwardRef((_a, ref) => {
8784
9409
  );
8785
9410
  });
8786
9411
  TableBody.displayName = "TableBody";
8787
- var TableFooter = React64.forwardRef((_a, ref) => {
9412
+ var TableFooter = React63.forwardRef((_a, ref) => {
8788
9413
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8789
9414
  return /* @__PURE__ */ jsx45(
8790
9415
  "tfoot",
@@ -8798,7 +9423,7 @@ var TableFooter = React64.forwardRef((_a, ref) => {
8798
9423
  );
8799
9424
  });
8800
9425
  TableFooter.displayName = "TableFooter";
8801
- var TableRow = React64.forwardRef((_a, ref) => {
9426
+ var TableRow = React63.forwardRef((_a, ref) => {
8802
9427
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8803
9428
  return /* @__PURE__ */ jsx45(
8804
9429
  "tr",
@@ -8812,7 +9437,7 @@ var TableRow = React64.forwardRef((_a, ref) => {
8812
9437
  );
8813
9438
  });
8814
9439
  TableRow.displayName = "TableRow";
8815
- var TableHead = React64.forwardRef((_a, ref) => {
9440
+ var TableHead = React63.forwardRef((_a, ref) => {
8816
9441
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8817
9442
  return /* @__PURE__ */ jsx45(
8818
9443
  "th",
@@ -8826,7 +9451,7 @@ var TableHead = React64.forwardRef((_a, ref) => {
8826
9451
  );
8827
9452
  });
8828
9453
  TableHead.displayName = "TableHead";
8829
- var TableCell = React64.forwardRef((_a, ref) => {
9454
+ var TableCell = React63.forwardRef((_a, ref) => {
8830
9455
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8831
9456
  return /* @__PURE__ */ jsx45(
8832
9457
  "td",
@@ -8840,7 +9465,7 @@ var TableCell = React64.forwardRef((_a, ref) => {
8840
9465
  );
8841
9466
  });
8842
9467
  TableCell.displayName = "TableCell";
8843
- var TableCaption = React64.forwardRef((_a, ref) => {
9468
+ var TableCaption = React63.forwardRef((_a, ref) => {
8844
9469
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8845
9470
  return /* @__PURE__ */ jsx45(
8846
9471
  "caption",
@@ -8854,10 +9479,10 @@ TableCaption.displayName = "TableCaption";
8854
9479
 
8855
9480
  // src/components/tabs.tsx
8856
9481
  import * as TabsPrimitive from "@radix-ui/react-tabs";
8857
- import * as React65 from "react";
9482
+ import * as React64 from "react";
8858
9483
  import { jsx as jsx46 } from "react/jsx-runtime";
8859
9484
  var Tabs = TabsPrimitive.Root;
8860
- var TabsList = React65.forwardRef((_a, ref) => {
9485
+ var TabsList = React64.forwardRef((_a, ref) => {
8861
9486
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8862
9487
  return /* @__PURE__ */ jsx46(
8863
9488
  TabsPrimitive.List,
@@ -8871,7 +9496,7 @@ var TabsList = React65.forwardRef((_a, ref) => {
8871
9496
  );
8872
9497
  });
8873
9498
  TabsList.displayName = TabsPrimitive.List.displayName;
8874
- var TabsTrigger = React65.forwardRef((_a, ref) => {
9499
+ var TabsTrigger = React64.forwardRef((_a, ref) => {
8875
9500
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8876
9501
  return /* @__PURE__ */ jsx46(
8877
9502
  TabsPrimitive.Trigger,
@@ -8885,7 +9510,7 @@ var TabsTrigger = React65.forwardRef((_a, ref) => {
8885
9510
  );
8886
9511
  });
8887
9512
  TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
8888
- var TabsContent = React65.forwardRef((_a, ref) => {
9513
+ var TabsContent = React64.forwardRef((_a, ref) => {
8889
9514
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8890
9515
  return /* @__PURE__ */ jsx46(
8891
9516
  TabsPrimitive.Content,
@@ -8901,9 +9526,9 @@ var TabsContent = React65.forwardRef((_a, ref) => {
8901
9526
  TabsContent.displayName = TabsPrimitive.Content.displayName;
8902
9527
 
8903
9528
  // src/components/textarea.tsx
8904
- import * as React66 from "react";
9529
+ import * as React65 from "react";
8905
9530
  import { jsx as jsx47 } from "react/jsx-runtime";
8906
- var Textarea = React66.forwardRef(
9531
+ var Textarea = React65.forwardRef(
8907
9532
  (_a, ref) => {
8908
9533
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8909
9534
  return /* @__PURE__ */ jsx47(
@@ -8924,10 +9549,10 @@ Textarea.displayName = "Textarea";
8924
9549
  import { Cross2Icon as Cross2Icon4 } from "@radix-ui/react-icons";
8925
9550
  import * as ToastPrimitives from "@radix-ui/react-toast";
8926
9551
  import { cva as cva8 } from "class-variance-authority";
8927
- import * as React67 from "react";
9552
+ import * as React66 from "react";
8928
9553
  import { jsx as jsx48 } from "react/jsx-runtime";
8929
9554
  var ToastProvider = ToastPrimitives.Provider;
8930
- var ToastViewport = React67.forwardRef((_a, ref) => {
9555
+ var ToastViewport = React66.forwardRef((_a, ref) => {
8931
9556
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8932
9557
  return /* @__PURE__ */ jsx48(
8933
9558
  ToastPrimitives.Viewport,
@@ -8955,7 +9580,7 @@ var toastVariants = cva8(
8955
9580
  }
8956
9581
  }
8957
9582
  );
8958
- var Toast = React67.forwardRef((_a, ref) => {
9583
+ var Toast = React66.forwardRef((_a, ref) => {
8959
9584
  var _b = _a, { className, variant } = _b, props = __objRest(_b, ["className", "variant"]);
8960
9585
  return /* @__PURE__ */ jsx48(
8961
9586
  ToastPrimitives.Root,
@@ -8966,7 +9591,7 @@ var Toast = React67.forwardRef((_a, ref) => {
8966
9591
  );
8967
9592
  });
8968
9593
  Toast.displayName = ToastPrimitives.Root.displayName;
8969
- var ToastAction = React67.forwardRef((_a, ref) => {
9594
+ var ToastAction = React66.forwardRef((_a, ref) => {
8970
9595
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8971
9596
  return /* @__PURE__ */ jsx48(
8972
9597
  ToastPrimitives.Action,
@@ -8980,7 +9605,7 @@ var ToastAction = React67.forwardRef((_a, ref) => {
8980
9605
  );
8981
9606
  });
8982
9607
  ToastAction.displayName = ToastPrimitives.Action.displayName;
8983
- var ToastClose = React67.forwardRef((_a, ref) => {
9608
+ var ToastClose = React66.forwardRef((_a, ref) => {
8984
9609
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
8985
9610
  return /* @__PURE__ */ jsx48(
8986
9611
  ToastPrimitives.Close,
@@ -8997,7 +9622,7 @@ var ToastClose = React67.forwardRef((_a, ref) => {
8997
9622
  );
8998
9623
  });
8999
9624
  ToastClose.displayName = ToastPrimitives.Close.displayName;
9000
- var ToastTitle = React67.forwardRef((_a, ref) => {
9625
+ var ToastTitle = React66.forwardRef((_a, ref) => {
9001
9626
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
9002
9627
  return /* @__PURE__ */ jsx48(
9003
9628
  ToastPrimitives.Title,
@@ -9008,7 +9633,7 @@ var ToastTitle = React67.forwardRef((_a, ref) => {
9008
9633
  );
9009
9634
  });
9010
9635
  ToastTitle.displayName = ToastPrimitives.Title.displayName;
9011
- var ToastDescription = React67.forwardRef((_a, ref) => {
9636
+ var ToastDescription = React66.forwardRef((_a, ref) => {
9012
9637
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
9013
9638
  return /* @__PURE__ */ jsx48(
9014
9639
  ToastPrimitives.Description,
@@ -9021,7 +9646,7 @@ var ToastDescription = React67.forwardRef((_a, ref) => {
9021
9646
  ToastDescription.displayName = ToastPrimitives.Description.displayName;
9022
9647
 
9023
9648
  // src/components/use-toast.ts
9024
- import * as React68 from "react";
9649
+ import * as React67 from "react";
9025
9650
  var TOAST_LIMIT = 1;
9026
9651
  var TOAST_REMOVE_DELAY = 1e6;
9027
9652
  var count = 0;
@@ -9116,8 +9741,8 @@ function toast(_a) {
9116
9741
  };
9117
9742
  }
9118
9743
  function useToast() {
9119
- const [state, setState] = React68.useState(memoryState);
9120
- React68.useEffect(() => {
9744
+ const [state, setState] = React67.useState(memoryState);
9745
+ React67.useEffect(() => {
9121
9746
  listeners.push(setState);
9122
9747
  return () => {
9123
9748
  const index = listeners.indexOf(setState);
@@ -9155,7 +9780,7 @@ function Toaster() {
9155
9780
  // src/components/toggle.tsx
9156
9781
  import * as TogglePrimitive from "@radix-ui/react-toggle";
9157
9782
  import { cva as cva9 } from "class-variance-authority";
9158
- import * as React69 from "react";
9783
+ import * as React68 from "react";
9159
9784
  import { jsx as jsx50 } from "react/jsx-runtime";
9160
9785
  var toggleVariants = cva9(
9161
9786
  "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 +9802,7 @@ var toggleVariants = cva9(
9177
9802
  }
9178
9803
  }
9179
9804
  );
9180
- var Toggle = React69.forwardRef((_a, ref) => {
9805
+ var Toggle = React68.forwardRef((_a, ref) => {
9181
9806
  var _b = _a, { className, variant, size } = _b, props = __objRest(_b, ["className", "variant", "size"]);
9182
9807
  return /* @__PURE__ */ jsx50(
9183
9808
  TogglePrimitive.Root,
@@ -9191,13 +9816,13 @@ Toggle.displayName = TogglePrimitive.Root.displayName;
9191
9816
 
9192
9817
  // src/components/toggle-group.tsx
9193
9818
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
9194
- import * as React70 from "react";
9819
+ import * as React69 from "react";
9195
9820
  import { jsx as jsx51 } from "react/jsx-runtime";
9196
- var ToggleGroupContext = React70.createContext({
9821
+ var ToggleGroupContext = React69.createContext({
9197
9822
  size: "default",
9198
9823
  variant: "default"
9199
9824
  });
9200
- var ToggleGroup = React70.forwardRef((_a, ref) => {
9825
+ var ToggleGroup = React69.forwardRef((_a, ref) => {
9201
9826
  var _b = _a, { className, variant, size, children } = _b, props = __objRest(_b, ["className", "variant", "size", "children"]);
9202
9827
  return /* @__PURE__ */ jsx51(
9203
9828
  ToggleGroupPrimitive.Root,
@@ -9210,9 +9835,9 @@ var ToggleGroup = React70.forwardRef((_a, ref) => {
9210
9835
  );
9211
9836
  });
9212
9837
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
9213
- var ToggleGroupItem = React70.forwardRef((_a, ref) => {
9838
+ var ToggleGroupItem = React69.forwardRef((_a, ref) => {
9214
9839
  var _b = _a, { className, children, variant, size } = _b, props = __objRest(_b, ["className", "children", "variant", "size"]);
9215
- const context = React70.useContext(ToggleGroupContext);
9840
+ const context = React69.useContext(ToggleGroupContext);
9216
9841
  return /* @__PURE__ */ jsx51(
9217
9842
  ToggleGroupPrimitive.Item,
9218
9843
  __spreadProps(__spreadValues({
@@ -9233,12 +9858,12 @@ ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;
9233
9858
 
9234
9859
  // src/components/tooltip.tsx
9235
9860
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
9236
- import * as React71 from "react";
9861
+ import * as React70 from "react";
9237
9862
  import { jsx as jsx52 } from "react/jsx-runtime";
9238
9863
  var TooltipProvider = TooltipPrimitive.Provider;
9239
9864
  var Tooltip = TooltipPrimitive.Root;
9240
9865
  var TooltipTrigger = TooltipPrimitive.Trigger;
9241
- var TooltipContent = React71.forwardRef((_a, ref) => {
9866
+ var TooltipContent = React70.forwardRef((_a, ref) => {
9242
9867
  var _b = _a, { className, sideOffset = 4 } = _b, props = __objRest(_b, ["className", "sideOffset"]);
9243
9868
  return /* @__PURE__ */ jsx52(
9244
9869
  TooltipPrimitive.Content,
@@ -9255,10 +9880,10 @@ var TooltipContent = React71.forwardRef((_a, ref) => {
9255
9880
  TooltipContent.displayName = TooltipPrimitive.Content.displayName;
9256
9881
 
9257
9882
  // src/components/ui/input.tsx
9258
- import * as React72 from "react";
9883
+ import * as React71 from "react";
9259
9884
  import { Asterisk as Asterisk4 } from "lucide-react";
9260
9885
  import { jsx as jsx53, jsxs as jsxs26 } from "react/jsx-runtime";
9261
- var UiInput = React72.forwardRef(
9886
+ var UiInput = React71.forwardRef(
9262
9887
  (_a, ref) => {
9263
9888
  var _b = _a, {
9264
9889
  label,
@@ -9283,7 +9908,7 @@ var UiInput = React72.forwardRef(
9283
9908
  "invalid",
9284
9909
  "className"
9285
9910
  ]);
9286
- const generatedId = React72.useId();
9911
+ const generatedId = React71.useId();
9287
9912
  const inputId = htmlFormItemId != null ? htmlFormItemId : generatedId;
9288
9913
  const messageId = `${inputId}-message`;
9289
9914
  const hasError = Boolean(errorMessage || invalid);
@@ -9337,22 +9962,8 @@ var UiInput = React72.forwardRef(
9337
9962
  UiInput.displayName = "UiInput";
9338
9963
 
9339
9964
  // src/components/ui/select.tsx
9340
- import * as React73 from "react";
9965
+ import * as React72 from "react";
9341
9966
  import { Asterisk as Asterisk5 } from "lucide-react";
9342
-
9343
- // src/types/select.ts
9344
- var selectVariants = {
9345
- outline: "rounded-md border border-input bg-input backdrop-blur-sm shadow-sm hover:border-primary/60 focus:border-primary focus:ring-2 focus:ring-primary/20",
9346
- soft: "rounded-md border border-transparent bg-muted/60 shadow-sm hover:bg-muted focus:bg-input/80 focus:ring-2 focus:ring-primary/20",
9347
- ghost: "rounded-md border border-transparent bg-transparent hover:bg-muted/50 focus:ring-2 focus:ring-ring",
9348
- filled: "rounded-md border border-input bg-muted/70 shadow-inner hover:bg-muted focus:bg-input/70 focus:ring-2 focus:ring-primary/20",
9349
- flushed: "rounded-none border-0 border-b border-input px-0 shadow-none focus:border-b-2 focus:border-primary focus:ring-0",
9350
- unstyled: "border-0 shadow-none focus:ring-0",
9351
- link: "h-auto border-0 bg-transparent p-0 text-primary shadow-none underline-offset-4 focus:underline focus:ring-0"
9352
- };
9353
- var variants2 = selectVariants;
9354
-
9355
- // src/components/ui/select.tsx
9356
9967
  import { jsx as jsx54, jsxs as jsxs27 } from "react/jsx-runtime";
9357
9968
  function UiSelect({
9358
9969
  label,
@@ -9372,33 +9983,28 @@ function UiSelect({
9372
9983
  messageClassName,
9373
9984
  requiredLabelClassName,
9374
9985
  size = "md",
9986
+ customSize,
9375
9987
  variant = "outline",
9988
+ classNameDefault = true,
9376
9989
  errorMessage,
9377
- htmlFormItemId
9990
+ htmlFormItemId,
9991
+ position
9378
9992
  }) {
9379
- const generatedId = React73.useId();
9993
+ const generatedId = React72.useId();
9380
9994
  const triggerId = htmlFormItemId != null ? htmlFormItemId : generatedId;
9381
9995
  const messageId = `${triggerId}-message`;
9382
9996
  const hasError = Boolean(errorMessage);
9383
- const triggerBase = "relative inline-flex w-full items-center justify-between text-foreground outline-none ring-offset-background transition placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50";
9384
- const sizeTrigger = {
9385
- sm: "h-9 px-3 text-sm",
9386
- md: "h-10 px-3.5 text-sm",
9387
- lg: "h-11 px-4 text-base"
9388
- };
9389
- const itemSize = {
9390
- sm: "h-8 text-sm",
9391
- md: "h-9 text-sm",
9392
- lg: "h-10 text-base"
9393
- };
9394
- const specialFlushed = variant === "flushed" ? size === "sm" ? "h-9 text-sm" : size === "lg" ? "h-11 text-base" : "h-10 text-sm" : "";
9395
- const specialLink = variant === "link" ? "text-sm" : "";
9396
- return /* @__PURE__ */ jsxs27("div", { className: cn("w-full space-y-1.5", selectClassName), children: [
9997
+ const sizeClasses = getFormSizeClasses(size, customSize);
9998
+ const triggerSizeClass = getFormControlSizeClass(variant, sizeClasses);
9999
+ const contentBase = "z-50 rounded-xl border border-border bg-popover text-popover-foreground shadow-xl outline-none";
10000
+ 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]";
10001
+ return /* @__PURE__ */ jsxs27("div", { className: cn("w-full space-y-2", selectClassName), children: [
9397
10002
  label ? /* @__PURE__ */ jsxs27(
9398
10003
  Label3,
9399
10004
  {
9400
10005
  className: cn(
9401
- "inline-flex items-start gap-0.5 text-sm font-medium",
10006
+ "inline-flex items-start gap-0.5 font-medium",
10007
+ sizeClasses.label,
9402
10008
  hasError && "text-destructive",
9403
10009
  labelClassName
9404
10010
  ),
@@ -9410,7 +10016,7 @@ function UiSelect({
9410
10016
  {
9411
10017
  "aria-hidden": "true",
9412
10018
  className: cn(
9413
- "mt-0.5 h-3 w-3 shrink-0 text-red-500",
10019
+ "h-3 w-3 shrink-0 text-red-500",
9414
10020
  requiredLabelClassName
9415
10021
  )
9416
10022
  }
@@ -9432,26 +10038,45 @@ function UiSelect({
9432
10038
  id: triggerId,
9433
10039
  "aria-invalid": hasError || void 0,
9434
10040
  "aria-describedby": errorMessage ? messageId : void 0,
9435
- className: cn(
9436
- triggerBase,
9437
- variants2[variant],
9438
- variant === "flushed" ? specialFlushed : variant === "link" ? specialLink : sizeTrigger[size],
9439
- hasError && "border-destructive ring-destructive focus:ring-destructive/40",
10041
+ className: classNameDefault ? cn(
10042
+ formControlBase,
10043
+ formInputVariants[variant],
10044
+ triggerSizeClass,
10045
+ hasError && formControlErrorClass,
9440
10046
  className
9441
- ),
10047
+ ) : className,
9442
10048
  children: /* @__PURE__ */ jsx54(SelectValue, { placeholder })
9443
10049
  }
9444
10050
  ),
9445
- /* @__PURE__ */ jsx54(SelectContent, { className: contentClassName, children: children != null ? children : items == null ? void 0 : items.map((item) => /* @__PURE__ */ jsx54(
9446
- SelectItem,
10051
+ /* @__PURE__ */ jsx54(
10052
+ SelectContent,
9447
10053
  {
9448
- value: item.value,
9449
- disabled: item.disabled,
9450
- className: cn(itemSize[size], itemClassName),
9451
- children: item.label
9452
- },
9453
- item.value
9454
- )) })
10054
+ position,
10055
+ sideOffset: 6,
10056
+ className: cn(
10057
+ contentBase,
10058
+ contentViewport,
10059
+ "w-(--radix-select-trigger-width) min-w-(--radix-select-trigger-width) overflow-hidden!",
10060
+ contentClassName
10061
+ ),
10062
+ onWheelCapture: (event) => {
10063
+ event.stopPropagation();
10064
+ },
10065
+ onTouchMoveCapture: (event) => {
10066
+ event.stopPropagation();
10067
+ },
10068
+ children: children != null ? children : items == null ? void 0 : items.map((item) => /* @__PURE__ */ jsx54(
10069
+ SelectItem,
10070
+ {
10071
+ value: item.value,
10072
+ disabled: item.disabled,
10073
+ className: cn(sizeClasses.selectItem, itemClassName),
10074
+ children: item.label
10075
+ },
10076
+ item.value
10077
+ ))
10078
+ }
10079
+ )
9455
10080
  ]
9456
10081
  }
9457
10082
  ),
@@ -9459,7 +10084,11 @@ function UiSelect({
9459
10084
  "p",
9460
10085
  {
9461
10086
  id: messageId,
9462
- className: cn("text-sm font-medium text-destructive", messageClassName),
10087
+ className: cn(
10088
+ "font-medium text-destructive",
10089
+ sizeClasses.message,
10090
+ messageClassName
10091
+ ),
9463
10092
  children: errorMessage
9464
10093
  }
9465
10094
  ) : null
@@ -9467,10 +10096,10 @@ function UiSelect({
9467
10096
  }
9468
10097
 
9469
10098
  // src/components/ui/ui-checkbox.tsx
9470
- import * as React74 from "react";
10099
+ import * as React73 from "react";
9471
10100
  import { Asterisk as Asterisk6 } from "lucide-react";
9472
10101
  import { jsx as jsx55, jsxs as jsxs28 } from "react/jsx-runtime";
9473
- var UiCheckbox = React74.forwardRef(
10102
+ var UiCheckbox = React73.forwardRef(
9474
10103
  (_a, ref) => {
9475
10104
  var _b = _a, {
9476
10105
  label,
@@ -9575,18 +10204,18 @@ var UiCheckbox = React74.forwardRef(
9575
10204
  UiCheckbox.displayName = "UiCheckbox";
9576
10205
 
9577
10206
  // src/hooks/use-sidebar.tsx
9578
- import { createContext as createContext5, useContext as useContext6, useState as useState7 } from "react";
10207
+ import { createContext as createContext6, useContext as useContext7, useState as useState8 } from "react";
9579
10208
  import { jsx as jsx56 } from "react/jsx-runtime";
9580
- var SidebarContext = createContext5({
10209
+ var SidebarContext = createContext6({
9581
10210
  isMinimized: false,
9582
10211
  toggle: () => {
9583
10212
  }
9584
10213
  });
9585
- var useSidebar = () => useContext6(SidebarContext);
10214
+ var useSidebar = () => useContext7(SidebarContext);
9586
10215
  var SidebarProvider = ({
9587
10216
  children
9588
10217
  }) => {
9589
- const [isMinimized, setIsMinimized] = useState7(false);
10218
+ const [isMinimized, setIsMinimized] = useState8(false);
9590
10219
  const toggle = () => {
9591
10220
  setIsMinimized(!isMinimized);
9592
10221
  };
@@ -9653,7 +10282,7 @@ function Breadcrumbs({
9653
10282
  }
9654
10283
 
9655
10284
  // src/shared/data-table.tsx
9656
- import { useMemo as useMemo5 } from "react";
10285
+ import { useMemo as useMemo6 } from "react";
9657
10286
  import { AnimatePresence, motion } from "framer-motion";
9658
10287
  import {
9659
10288
  DoubleArrowLeftIcon,
@@ -9903,7 +10532,7 @@ function DataTable({
9903
10532
  const safePageCount = Math.max(pageCount != null ? pageCount : 1, 1);
9904
10533
  const pageIndex = Math.min(Math.max(page - 1, 0), safePageCount - 1);
9905
10534
  const pageSize = Math.max(perPage, 1);
9906
- const paginationState = useMemo5(
10535
+ const paginationState = useMemo6(
9907
10536
  () => ({ pageIndex, pageSize }),
9908
10537
  [pageIndex, pageSize]
9909
10538
  );
@@ -9920,7 +10549,7 @@ function DataTable({
9920
10549
  autoResetPageIndex: false
9921
10550
  });
9922
10551
  const clickable = !!onClick;
9923
- const pageKey = useMemo5(
10552
+ const pageKey = useMemo6(
9924
10553
  () => `${pageIndex}-${pageSize}-${data.length}`,
9925
10554
  [pageIndex, pageSize, data.length]
9926
10555
  );
@@ -9935,7 +10564,7 @@ function DataTable({
9935
10564
  onPageSizeChange == null ? void 0 : onPageSizeChange(size);
9936
10565
  onPageChange == null ? void 0 : onPageChange(1);
9937
10566
  };
9938
- const ui = useMemo5(() => {
10567
+ const ui = useMemo6(() => {
9939
10568
  var _a;
9940
10569
  const builtIn = (_a = DATA_TABLE_TEMPLATES[template]) != null ? _a : DATA_TABLE_TEMPLATES.neo;
9941
10570
  return mergeSlots(DATA_TABLE_TEMPLATES.neo, builtIn, classNames);
@@ -10068,7 +10697,7 @@ function DataTable({
10068
10697
  children: /* @__PURE__ */ jsx59(SelectValue, { placeholder: `${pageSize}` })
10069
10698
  }
10070
10699
  ),
10071
- /* @__PURE__ */ jsx59(SelectContent, { side: "top", children: pageSizeOptions.map((size) => /* @__PURE__ */ jsx59(SelectItem, { value: `${size}`, children: size }, size)) })
10700
+ /* @__PURE__ */ jsx59(SelectContent, { children: pageSizeOptions.map((size) => /* @__PURE__ */ jsx59(SelectItem, { value: `${size}`, children: size }, size)) })
10072
10701
  ]
10073
10702
  }
10074
10703
  )
@@ -10239,7 +10868,7 @@ function Dropzone({
10239
10868
  // src/shared/fileupload.tsx
10240
10869
  import { AvatarIcon } from "@radix-ui/react-icons";
10241
10870
  import { CameraIcon } from "lucide-react";
10242
- import { useEffect as useEffect6, useState as useState8 } from "react";
10871
+ import { useEffect as useEffect7, useState as useState9 } from "react";
10243
10872
  import { useDropzone as useDropzone2 } from "react-dropzone";
10244
10873
  import { jsx as jsx62, jsxs as jsxs34 } from "react/jsx-runtime";
10245
10874
  function FileUpload({
@@ -10276,8 +10905,8 @@ function FileUpload({
10276
10905
  ) });
10277
10906
  }
10278
10907
  function ImagePreview({ file }) {
10279
- const [objectUrl, setObjectUrl] = useState8(null);
10280
- useEffect6(() => {
10908
+ const [objectUrl, setObjectUrl] = useState9(null);
10909
+ useEffect7(() => {
10281
10910
  const url = URL.createObjectURL(file);
10282
10911
  setObjectUrl(url);
10283
10912
  return () => {
@@ -10592,12 +11221,10 @@ export {
10592
11221
  SelectGroup,
10593
11222
  SelectItem,
10594
11223
  SelectLabel,
10595
- SelectScrollDownButton,
10596
- SelectScrollUpButton,
10597
11224
  SelectSeparator,
10598
11225
  SelectTrigger,
10599
11226
  SelectValue,
10600
- Separator6 as Separator,
11227
+ Separator5 as Separator,
10601
11228
  Sheet,
10602
11229
  SheetClose,
10603
11230
  SheetContent,
@@ -10648,9 +11275,18 @@ export {
10648
11275
  badgeVariants,
10649
11276
  buttonVariants,
10650
11277
  cn,
11278
+ formCompositeControlBase,
11279
+ formCompositeControlErrorClass,
11280
+ formCompositeVariants,
11281
+ formControlBase,
11282
+ formControlErrorClass,
11283
+ formInputVariants,
11284
+ formSizeVariants,
10651
11285
  getDefaultOptionLabel,
10652
11286
  getDefaultOptionValue,
10653
11287
  getErrorMessage,
11288
+ getFormControlSizeClass,
11289
+ getFormSizeClasses,
10654
11290
  getNextEnabledIndex,
10655
11291
  iconButtonVariants,
10656
11292
  navigationMenuTriggerStyle,
@@ -10660,5 +11296,6 @@ export {
10660
11296
  toggleVariants,
10661
11297
  useFormField,
10662
11298
  useSidebar,
10663
- useToast
11299
+ useToast,
11300
+ variants
10664
11301
  };