@mesob/ui 0.5.0 → 0.5.2

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.
@@ -2188,9 +2188,9 @@ function SidebarProvider({
2188
2188
  window.addEventListener("keydown", handleKeyDown);
2189
2189
  return () => window.removeEventListener("keydown", handleKeyDown);
2190
2190
  }, [toggleSidebar]);
2191
- const state = open ? "expanded" : "collapsed";
2191
+ const state2 = open ? "expanded" : "collapsed";
2192
2192
  const contextValue = {
2193
- state,
2193
+ state: state2,
2194
2194
  open,
2195
2195
  setOpen,
2196
2196
  isMobile,
@@ -2229,7 +2229,7 @@ function Sidebar({
2229
2229
  children,
2230
2230
  ...props
2231
2231
  }) {
2232
- const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
2232
+ const { isMobile, state: state2, openMobile, setOpenMobile } = useSidebar();
2233
2233
  if (collapsible === "none") {
2234
2234
  return /* @__PURE__ */ jsx20(
2235
2235
  "div",
@@ -2270,8 +2270,8 @@ function Sidebar({
2270
2270
  "div",
2271
2271
  {
2272
2272
  className: "group peer text-sidebar-foreground hidden md:block",
2273
- "data-state": state,
2274
- "data-collapsible": state === "collapsed" ? collapsible : "",
2273
+ "data-state": state2,
2274
+ "data-collapsible": state2 === "collapsed" ? collapsible : "",
2275
2275
  "data-variant": variant,
2276
2276
  "data-side": side,
2277
2277
  "data-slot": "sidebar",
@@ -2561,7 +2561,7 @@ function SidebarMenuButton({
2561
2561
  className,
2562
2562
  ...props
2563
2563
  }) {
2564
- const { isMobile, state } = useSidebar();
2564
+ const { isMobile, state: state2 } = useSidebar();
2565
2565
  const button = useRender3({
2566
2566
  render,
2567
2567
  props: {
@@ -2589,7 +2589,7 @@ function SidebarMenuButton({
2589
2589
  {
2590
2590
  side: "right",
2591
2591
  align: "center",
2592
- hidden: state !== "collapsed" || isMobile,
2592
+ hidden: state2 !== "collapsed" || isMobile,
2593
2593
  ...tooltip
2594
2594
  }
2595
2595
  )
@@ -5549,7 +5549,7 @@ function EntitySection({
5549
5549
  icon,
5550
5550
  actions,
5551
5551
  config = {},
5552
- state,
5552
+ state: state2,
5553
5553
  onOpenChange,
5554
5554
  showToolbar = true,
5555
5555
  children
@@ -5569,7 +5569,7 @@ function EntitySection({
5569
5569
  filterOptions,
5570
5570
  sortOptions,
5571
5571
  views
5572
- } = state;
5572
+ } = state2;
5573
5573
  const searchPlaceholder = config.searchPlaceholder ?? "Search...";
5574
5574
  const hasFilter = (config.filterOptions ?? filterOptions).length > 0;
5575
5575
  const hasSort = (config.sortOptions ?? sortOptions).length > 0;
@@ -5636,7 +5636,7 @@ function EntitySection({
5636
5636
  ) : void 0
5637
5637
  }
5638
5638
  ),
5639
- children(state)
5639
+ children(state2)
5640
5640
  ] }) });
5641
5641
  }
5642
5642
 
@@ -6131,7 +6131,7 @@ function EntitySelector({
6131
6131
  items,
6132
6132
  total: totalProp,
6133
6133
  isLoading = false,
6134
- state
6134
+ state: state2
6135
6135
  }) {
6136
6136
  const {
6137
6137
  title,
@@ -6216,46 +6216,46 @@ function EntitySelector({
6216
6216
  const { total, pageCount } = useEntityPagination({
6217
6217
  items,
6218
6218
  total: totalProp,
6219
- pageSize: state.pageSize
6219
+ pageSize: state2.pageSize
6220
6220
  });
6221
6221
  const colCount = columnCount ?? columns.length + 1;
6222
6222
  const handleSearch = useCallback4(
6223
6223
  (v) => {
6224
- state.setSearch(v);
6225
- state.setPageReset();
6224
+ state2.setSearch(v);
6225
+ state2.setPageReset();
6226
6226
  },
6227
- [state]
6227
+ [state2]
6228
6228
  );
6229
6229
  const handleFilter = useCallback4(
6230
6230
  (v) => {
6231
- state.setFilter(v);
6232
- state.setPageReset();
6231
+ state2.setFilter(v);
6232
+ state2.setPageReset();
6233
6233
  },
6234
- [state]
6234
+ [state2]
6235
6235
  );
6236
6236
  const handleSort = useCallback4(
6237
6237
  (v) => {
6238
- state.setSort(v);
6239
- state.setPageReset();
6238
+ state2.setSort(v);
6239
+ state2.setPageReset();
6240
6240
  },
6241
- [state]
6241
+ [state2]
6242
6242
  );
6243
6243
  const handleOrder = useCallback4(
6244
6244
  (v) => {
6245
- state.setOrder(v);
6246
- state.setPageReset();
6245
+ state2.setOrder(v);
6246
+ state2.setPageReset();
6247
6247
  },
6248
- [state]
6248
+ [state2]
6249
6249
  );
6250
6250
  let content;
6251
6251
  if (isLoading) {
6252
6252
  content = /* @__PURE__ */ jsx60(
6253
6253
  EntityLoadingState,
6254
6254
  {
6255
- view: state.view === "list" ? "table" : state.view,
6256
- rowCount: state.pageSize,
6255
+ view: state2.view === "list" ? "table" : state2.view,
6256
+ rowCount: state2.pageSize,
6257
6257
  columnCount: colCount,
6258
- cardCount: state.pageSize
6258
+ cardCount: state2.pageSize
6259
6259
  }
6260
6260
  );
6261
6261
  } else if (total === 0) {
@@ -6278,7 +6278,7 @@ function EntitySelector({
6278
6278
  search: searchPlaceholder !== void 0 && /* @__PURE__ */ jsx60(
6279
6279
  EntitySearchState,
6280
6280
  {
6281
- value: state.search,
6281
+ value: state2.search,
6282
6282
  onValueChange: handleSearch,
6283
6283
  placeholder: searchPlaceholder
6284
6284
  }
@@ -6286,7 +6286,7 @@ function EntitySelector({
6286
6286
  filter: filterOptions.length > 0 ? /* @__PURE__ */ jsx60(
6287
6287
  EntityFilterState,
6288
6288
  {
6289
- value: state.filter,
6289
+ value: state2.filter,
6290
6290
  onValueChange: handleFilter,
6291
6291
  options: filterOptions,
6292
6292
  placeholder: "Filter"
@@ -6295,8 +6295,8 @@ function EntitySelector({
6295
6295
  sort: sortOptions.length > 0 ? /* @__PURE__ */ jsx60(
6296
6296
  EntitySortState,
6297
6297
  {
6298
- sort: state.sort,
6299
- order: state.order,
6298
+ sort: state2.sort,
6299
+ order: state2.order,
6300
6300
  onSortChange: handleSort,
6301
6301
  onOrderChange: handleOrder,
6302
6302
  options: sortOptions
@@ -6305,14 +6305,14 @@ function EntitySelector({
6305
6305
  view: showViewToggle && renderCard ? /* @__PURE__ */ jsx60(
6306
6306
  EntityViewToggleState,
6307
6307
  {
6308
- value: state.view,
6309
- onValueChange: state.setView,
6308
+ value: state2.view,
6309
+ onValueChange: state2.setView,
6310
6310
  views: ["table", "card"]
6311
6311
  }
6312
6312
  ) : void 0
6313
6313
  }
6314
6314
  ),
6315
- state.view === "table" || !renderCard ? /* @__PURE__ */ jsxs43("div", { className: "space-y-4", children: [
6315
+ state2.view === "table" || !renderCard ? /* @__PURE__ */ jsxs43("div", { className: "space-y-4", children: [
6316
6316
  multiple ? /* @__PURE__ */ jsxs43(DisplayTable, { withTableBorder: true, children: [
6317
6317
  /* @__PURE__ */ jsx60(DisplayTableThead, { children: /* @__PURE__ */ jsxs43(DisplayTableTr, { children: [
6318
6318
  /* @__PURE__ */ jsx60(DisplayTableTh, { className: "w-[50px]" }),
@@ -6375,14 +6375,14 @@ function EntitySelector({
6375
6375
  /* @__PURE__ */ jsx60(
6376
6376
  DataTablePagination,
6377
6377
  {
6378
- pageIndex: state.page - 1,
6379
- pageSize: state.pageSize,
6378
+ pageIndex: state2.page - 1,
6379
+ pageSize: state2.pageSize,
6380
6380
  pageCount,
6381
6381
  totalRows: total,
6382
- onPageChange: (p) => state.setPage(p + 1),
6382
+ onPageChange: (p) => state2.setPage(p + 1),
6383
6383
  onPageSizeChange: (size) => {
6384
- state.setPageSize(size);
6385
- state.setPage(1);
6384
+ state2.setPageSize(size);
6385
+ state2.setPage(1);
6386
6386
  }
6387
6387
  }
6388
6388
  )
@@ -6410,14 +6410,14 @@ function EntitySelector({
6410
6410
  /* @__PURE__ */ jsx60(
6411
6411
  DataTablePagination,
6412
6412
  {
6413
- pageIndex: state.page - 1,
6414
- pageSize: state.pageSize,
6413
+ pageIndex: state2.page - 1,
6414
+ pageSize: state2.pageSize,
6415
6415
  pageCount,
6416
6416
  totalRows: total,
6417
- onPageChange: (p) => state.setPage(p + 1),
6417
+ onPageChange: (p) => state2.setPage(p + 1),
6418
6418
  onPageSizeChange: (size) => {
6419
- state.setPageSize(size);
6420
- state.setPage(1);
6419
+ state2.setPageSize(size);
6420
+ state2.setPage(1);
6421
6421
  }
6422
6422
  }
6423
6423
  )
@@ -9175,46 +9175,46 @@ function useDatePicker(props) {
9175
9175
  import { jsx as jsx77 } from "react/jsx-runtime";
9176
9176
  function DatePicker(props) {
9177
9177
  const { className, renderDay, getDayProps, static: isStatic } = props;
9178
- const state = useDatePicker(props);
9178
+ const state2 = useDatePicker(props);
9179
9179
  return /* @__PURE__ */ jsx77("div", { className: cn("inline-block", className), children: /* @__PURE__ */ jsx77(
9180
9180
  DatePickerContent,
9181
9181
  {
9182
- view: state.view,
9183
- calendarType: state.calendarType,
9184
- cells: state.cells,
9185
- years: state.years,
9186
- decadeStart: state.decadeStart,
9187
- ecViewYear: state.ecViewYear,
9188
- gcViewYear: state.gcViewYear,
9189
- primaryDate: state.primaryDate,
9190
- hasRange: state.hasRange,
9191
- hideOutsideDates: state.hideOutsideDates,
9192
- hideWeekdays: state.hideWeekdays,
9193
- firstDayOfWeek: state.firstDayOfWeek,
9194
- withWeekNumbers: state.withWeekNumbers,
9195
- weekendDays: state.weekendDays,
9196
- prevDisabled: state.prevDisabled,
9197
- nextDisabled: state.nextDisabled,
9198
- isDayDisabled: state.isDayDisabled,
9182
+ view: state2.view,
9183
+ calendarType: state2.calendarType,
9184
+ cells: state2.cells,
9185
+ years: state2.years,
9186
+ decadeStart: state2.decadeStart,
9187
+ ecViewYear: state2.ecViewYear,
9188
+ gcViewYear: state2.gcViewYear,
9189
+ primaryDate: state2.primaryDate,
9190
+ hasRange: state2.hasRange,
9191
+ hideOutsideDates: state2.hideOutsideDates,
9192
+ hideWeekdays: state2.hideWeekdays,
9193
+ firstDayOfWeek: state2.firstDayOfWeek,
9194
+ withWeekNumbers: state2.withWeekNumbers,
9195
+ weekendDays: state2.weekendDays,
9196
+ prevDisabled: state2.prevDisabled,
9197
+ nextDisabled: state2.nextDisabled,
9198
+ isDayDisabled: state2.isDayDisabled,
9199
9199
  renderDay,
9200
9200
  getDayProps,
9201
9201
  static: isStatic,
9202
- headerLabel: state.headerLabel(),
9203
- presets: state.presets,
9204
- onPresetClick: state.handlePresetClick,
9205
- onPrev: state.handlePrev,
9206
- onNext: state.handleNext,
9207
- onHeaderClick: state.handleHeaderClick,
9208
- onDayClick: state.handleDayClick,
9209
- onDayHover: state.handleDayHover,
9210
- onGridMouseLeave: state.handleGridMouseLeave,
9211
- onMonthSelect: state.handleMonthSelect,
9212
- onYearSelect: state.handleYearSelect,
9213
- onCalendarTypeChange: state.handleCalendarTypeChange,
9214
- isDateSelected: state.isDateSelected,
9215
- isDateInRange: state.isDateInRange,
9216
- isRangeStart: state.isRangeStart,
9217
- isRangeEnd: state.isRangeEnd
9202
+ headerLabel: state2.headerLabel(),
9203
+ presets: state2.presets,
9204
+ onPresetClick: state2.handlePresetClick,
9205
+ onPrev: state2.handlePrev,
9206
+ onNext: state2.handleNext,
9207
+ onHeaderClick: state2.handleHeaderClick,
9208
+ onDayClick: state2.handleDayClick,
9209
+ onDayHover: state2.handleDayHover,
9210
+ onGridMouseLeave: state2.handleGridMouseLeave,
9211
+ onMonthSelect: state2.handleMonthSelect,
9212
+ onYearSelect: state2.handleYearSelect,
9213
+ onCalendarTypeChange: state2.handleCalendarTypeChange,
9214
+ isDateSelected: state2.isDateSelected,
9215
+ isDateInRange: state2.isDateInRange,
9216
+ isRangeStart: state2.isRangeStart,
9217
+ isRangeEnd: state2.isRangeEnd
9218
9218
  }
9219
9219
  ) });
9220
9220
  }
@@ -11592,7 +11592,7 @@ var DateInput = forwardRef4(
11592
11592
  "aria-label": ariaLabel,
11593
11593
  ...inputProps
11594
11594
  } = props;
11595
- const state = useDateInput(props);
11595
+ const state2 = useDateInput(props);
11596
11596
  return /* @__PURE__ */ jsx99(
11597
11597
  InputWrapper,
11598
11598
  {
@@ -11604,8 +11604,8 @@ var DateInput = forwardRef4(
11604
11604
  disabled,
11605
11605
  className,
11606
11606
  labelProps: { htmlFor: inputId },
11607
- children: /* @__PURE__ */ jsxs66(Popover, { open: state.open, onOpenChange: state.handleOpenChange, children: [
11608
- /* @__PURE__ */ jsx99("div", { ref: state.triggerRef, className: "w-full", children: /* @__PURE__ */ jsxs66(
11607
+ children: /* @__PURE__ */ jsxs66(Popover, { open: state2.open, onOpenChange: state2.handleOpenChange, children: [
11608
+ /* @__PURE__ */ jsx99("div", { ref: state2.triggerRef, className: "w-full", children: /* @__PURE__ */ jsxs66(
11609
11609
  InputGroup,
11610
11610
  {
11611
11611
  disabled,
@@ -11625,10 +11625,10 @@ var DateInput = forwardRef4(
11625
11625
  type: "text",
11626
11626
  placeholder,
11627
11627
  disabled,
11628
- value: state.draft,
11629
- onChange: (e) => state.setDraft(e.target.value),
11630
- onBlur: state.handleBlur,
11631
- onFocus: state.handleFocus,
11628
+ value: state2.draft,
11629
+ onChange: (e) => state2.setDraft(e.target.value),
11630
+ onBlur: state2.handleBlur,
11631
+ onFocus: state2.handleFocus,
11632
11632
  onKeyDown: (e) => {
11633
11633
  inputProps.onKeyDown?.(e);
11634
11634
  if (e.key === "Enter") {
@@ -11641,14 +11641,14 @@ var DateInput = forwardRef4(
11641
11641
  }
11642
11642
  ),
11643
11643
  /* @__PURE__ */ jsxs66("span", { className: "mr-1 flex items-center gap-0.5 pr-0.5", children: [
11644
- state.showClear ? /* @__PURE__ */ jsx99(
11644
+ state2.showClear ? /* @__PURE__ */ jsx99(
11645
11645
  InputGroupButton,
11646
11646
  {
11647
11647
  type: "button",
11648
11648
  size: "icon-sm",
11649
11649
  "aria-label": "Clear",
11650
11650
  onMouseDown: (e) => e.preventDefault(),
11651
- onClick: () => state.handleClear(),
11651
+ onClick: () => state2.handleClear(),
11652
11652
  children: CloseIcon
11653
11653
  }
11654
11654
  ) : null,
@@ -11659,7 +11659,7 @@ var DateInput = forwardRef4(
11659
11659
  size: "icon-sm",
11660
11660
  "aria-label": "Open calendar",
11661
11661
  onMouseDown: (e) => e.preventDefault(),
11662
- onClick: () => state.handleOpenChange(!state.open),
11662
+ onClick: () => state2.handleOpenChange(!state2.open),
11663
11663
  children: CalendarIcon
11664
11664
  }
11665
11665
  )
@@ -11670,52 +11670,52 @@ var DateInput = forwardRef4(
11670
11670
  /* @__PURE__ */ jsx99(
11671
11671
  PopoverContent,
11672
11672
  {
11673
- anchor: state.triggerRef,
11674
- side: state.contentSide,
11673
+ anchor: state2.triggerRef,
11674
+ side: state2.contentSide,
11675
11675
  sideOffset: 8,
11676
11676
  align: "center",
11677
11677
  className: cn(
11678
11678
  "max-w-[calc(100vw-2rem)] rounded-md border border-border bg-background p-0 shadow-xl",
11679
- state.presets?.length ? "flex w-[460px]" : "flex w-fit",
11679
+ state2.presets?.length ? "flex w-[460px]" : "flex w-fit",
11680
11680
  popoverClassName
11681
11681
  ),
11682
11682
  children: /* @__PURE__ */ jsx99(
11683
11683
  DatePickerContent,
11684
11684
  {
11685
- view: state.view,
11686
- calendarType: state.calendarType,
11687
- cells: state.cells,
11688
- years: state.years,
11689
- decadeStart: state.decadeStart,
11690
- ecViewYear: state.ecViewYear,
11691
- gcViewYear: state.gcViewYear,
11692
- primaryDate: state.primaryDate,
11693
- hasRange: state.hasRange,
11694
- hideOutsideDates: state.hideOutsideDates,
11695
- hideWeekdays: state.hideWeekdays,
11696
- firstDayOfWeek: state.firstDayOfWeek,
11697
- withWeekNumbers: state.withWeekNumbers,
11698
- weekendDays: state.weekendDays,
11699
- prevDisabled: state.prevDisabled,
11700
- nextDisabled: state.nextDisabled,
11701
- isDayDisabled: state.isDayDisabled,
11685
+ view: state2.view,
11686
+ calendarType: state2.calendarType,
11687
+ cells: state2.cells,
11688
+ years: state2.years,
11689
+ decadeStart: state2.decadeStart,
11690
+ ecViewYear: state2.ecViewYear,
11691
+ gcViewYear: state2.gcViewYear,
11692
+ primaryDate: state2.primaryDate,
11693
+ hasRange: state2.hasRange,
11694
+ hideOutsideDates: state2.hideOutsideDates,
11695
+ hideWeekdays: state2.hideWeekdays,
11696
+ firstDayOfWeek: state2.firstDayOfWeek,
11697
+ withWeekNumbers: state2.withWeekNumbers,
11698
+ weekendDays: state2.weekendDays,
11699
+ prevDisabled: state2.prevDisabled,
11700
+ nextDisabled: state2.nextDisabled,
11701
+ isDayDisabled: state2.isDayDisabled,
11702
11702
  renderDay,
11703
- headerLabel: state.headerLabel(),
11704
- presets: state.presets,
11705
- onPresetClick: state.handlePresetClick,
11706
- onPrev: state.handlePrev,
11707
- onNext: state.handleNext,
11708
- onHeaderClick: state.handleHeaderClick,
11709
- onDayClick: state.handleDayClick,
11710
- onDayHover: state.handleDayHover,
11711
- onGridMouseLeave: state.handleGridMouseLeave,
11712
- onMonthSelect: state.handleMonthSelect,
11713
- onYearSelect: state.handleYearSelect,
11714
- onCalendarTypeChange: state.handleCalendarTypeChange,
11715
- isDateSelected: state.isDateSelected,
11716
- isDateInRange: state.isDateInRange,
11717
- isRangeStart: state.isRangeStart,
11718
- isRangeEnd: state.isRangeEnd
11703
+ headerLabel: state2.headerLabel(),
11704
+ presets: state2.presets,
11705
+ onPresetClick: state2.handlePresetClick,
11706
+ onPrev: state2.handlePrev,
11707
+ onNext: state2.handleNext,
11708
+ onHeaderClick: state2.handleHeaderClick,
11709
+ onDayClick: state2.handleDayClick,
11710
+ onDayHover: state2.handleDayHover,
11711
+ onGridMouseLeave: state2.handleGridMouseLeave,
11712
+ onMonthSelect: state2.handleMonthSelect,
11713
+ onYearSelect: state2.handleYearSelect,
11714
+ onCalendarTypeChange: state2.handleCalendarTypeChange,
11715
+ isDateSelected: state2.isDateSelected,
11716
+ isDateInRange: state2.isDateInRange,
11717
+ isRangeStart: state2.isRangeStart,
11718
+ isRangeEnd: state2.isRangeEnd
11719
11719
  }
11720
11720
  )
11721
11721
  }
@@ -12013,7 +12013,7 @@ var DatePickerInput = forwardRef6(function DatePickerInput2(props, ref) {
12013
12013
  "aria-label": ariaLabel,
12014
12014
  className
12015
12015
  } = props;
12016
- const state = useDatePickerInput(props);
12016
+ const state2 = useDatePickerInput(props);
12017
12017
  return /* @__PURE__ */ jsx102(
12018
12018
  DateInputShell,
12019
12019
  {
@@ -12033,52 +12033,52 @@ var DatePickerInput = forwardRef6(function DatePickerInput2(props, ref) {
12033
12033
  leftSectionPointerEvents,
12034
12034
  "aria-label": ariaLabel,
12035
12035
  className,
12036
- displayValue: state.displayValue,
12037
- hasValue: state.hasValue,
12038
- open: state.open,
12039
- onOpenChange: state.handleOpenChange,
12040
- contentSide: state.contentSide,
12041
- triggerRef: state.triggerRef,
12042
- onClear: state.handleClear,
12036
+ displayValue: state2.displayValue,
12037
+ hasValue: state2.hasValue,
12038
+ open: state2.open,
12039
+ onOpenChange: state2.handleOpenChange,
12040
+ contentSide: state2.contentSide,
12041
+ triggerRef: state2.triggerRef,
12042
+ onClear: state2.handleClear,
12043
12043
  dropdownClassName: presets?.length ? "flex w-[460px]" : "flex w-fit",
12044
12044
  buttonRef: ref,
12045
12045
  children: /* @__PURE__ */ jsx102(
12046
12046
  DatePickerContent,
12047
12047
  {
12048
- view: state.view,
12049
- calendarType: state.calendarType,
12050
- cells: state.cells,
12051
- years: state.years,
12052
- decadeStart: state.decadeStart,
12053
- ecViewYear: state.ecViewYear,
12054
- gcViewYear: state.gcViewYear,
12055
- primaryDate: state.primaryDate,
12056
- hasRange: state.hasRange,
12057
- hideOutsideDates: state.hideOutsideDates,
12058
- hideWeekdays: state.hideWeekdays,
12059
- firstDayOfWeek: state.firstDayOfWeek,
12060
- withWeekNumbers: state.withWeekNumbers,
12061
- weekendDays: state.weekendDays,
12062
- prevDisabled: state.prevDisabled,
12063
- nextDisabled: state.nextDisabled,
12064
- isDayDisabled: state.isDayDisabled,
12048
+ view: state2.view,
12049
+ calendarType: state2.calendarType,
12050
+ cells: state2.cells,
12051
+ years: state2.years,
12052
+ decadeStart: state2.decadeStart,
12053
+ ecViewYear: state2.ecViewYear,
12054
+ gcViewYear: state2.gcViewYear,
12055
+ primaryDate: state2.primaryDate,
12056
+ hasRange: state2.hasRange,
12057
+ hideOutsideDates: state2.hideOutsideDates,
12058
+ hideWeekdays: state2.hideWeekdays,
12059
+ firstDayOfWeek: state2.firstDayOfWeek,
12060
+ withWeekNumbers: state2.withWeekNumbers,
12061
+ weekendDays: state2.weekendDays,
12062
+ prevDisabled: state2.prevDisabled,
12063
+ nextDisabled: state2.nextDisabled,
12064
+ isDayDisabled: state2.isDayDisabled,
12065
12065
  renderDay: props.renderDay,
12066
- headerLabel: state.headerLabel(),
12067
- presets: state.presets,
12068
- onPresetClick: state.handlePresetClick,
12069
- onPrev: state.handlePrev,
12070
- onNext: state.handleNext,
12071
- onHeaderClick: state.handleHeaderClick,
12072
- onDayClick: state.handleDayClick,
12073
- onDayHover: state.handleDayHover,
12074
- onGridMouseLeave: state.handleGridMouseLeave,
12075
- onMonthSelect: state.handleMonthSelect,
12076
- onYearSelect: state.handleYearSelect,
12077
- onCalendarTypeChange: state.handleCalendarTypeChange,
12078
- isDateSelected: state.isDateSelected,
12079
- isDateInRange: state.isDateInRange,
12080
- isRangeStart: state.isRangeStart,
12081
- isRangeEnd: state.isRangeEnd
12066
+ headerLabel: state2.headerLabel(),
12067
+ presets: state2.presets,
12068
+ onPresetClick: state2.handlePresetClick,
12069
+ onPrev: state2.handlePrev,
12070
+ onNext: state2.handleNext,
12071
+ onHeaderClick: state2.handleHeaderClick,
12072
+ onDayClick: state2.handleDayClick,
12073
+ onDayHover: state2.handleDayHover,
12074
+ onGridMouseLeave: state2.handleGridMouseLeave,
12075
+ onMonthSelect: state2.handleMonthSelect,
12076
+ onYearSelect: state2.handleYearSelect,
12077
+ onCalendarTypeChange: state2.handleCalendarTypeChange,
12078
+ isDateSelected: state2.isDateSelected,
12079
+ isDateInRange: state2.isDateInRange,
12080
+ isRangeStart: state2.isRangeStart,
12081
+ isRangeEnd: state2.isRangeEnd
12082
12082
  }
12083
12083
  )
12084
12084
  }
@@ -12845,10 +12845,10 @@ var DateTimePicker = forwardRef7(function DateTimePicker2(props, ref) {
12845
12845
  "aria-label": ariaLabel,
12846
12846
  className
12847
12847
  } = props;
12848
- const state = useDateTimePicker(props);
12848
+ const state2 = useDateTimePicker(props);
12849
12849
  let displayValue;
12850
- if (state.value) {
12851
- displayValue = valueFormat ? valueFormat(state.value) : state.formatDisplay(state.value);
12850
+ if (state2.value) {
12851
+ displayValue = valueFormat ? valueFormat(state2.value) : state2.formatDisplay(state2.value);
12852
12852
  } else {
12853
12853
  displayValue = null;
12854
12854
  }
@@ -12868,12 +12868,12 @@ var DateTimePicker = forwardRef7(function DateTimePicker2(props, ref) {
12868
12868
  "aria-label": ariaLabel,
12869
12869
  className,
12870
12870
  displayValue,
12871
- hasValue: !!state.value,
12872
- open: state.open,
12873
- onOpenChange: state.handleOpenChange,
12874
- contentSide: state.contentSide,
12875
- triggerRef: state.triggerRef,
12876
- onClear: state.handleClear,
12871
+ hasValue: !!state2.value,
12872
+ open: state2.open,
12873
+ onOpenChange: state2.handleOpenChange,
12874
+ contentSide: state2.contentSide,
12875
+ triggerRef: state2.triggerRef,
12876
+ onClear: state2.handleClear,
12877
12877
  dropdownClassName: presets?.length ? "flex w-[460px]" : "flex w-fit",
12878
12878
  buttonRef: ref,
12879
12879
  children: /* @__PURE__ */ jsx105(
@@ -12881,34 +12881,34 @@ var DateTimePicker = forwardRef7(function DateTimePicker2(props, ref) {
12881
12881
  {
12882
12882
  hasPresets: Boolean(presets?.length),
12883
12883
  presets,
12884
- onPresetClick: state.handlePresetClick,
12885
- view: state.view,
12886
- calendarType: state.calendarType,
12887
- value: state.value,
12888
- headerLabel: state.headerLabel(),
12889
- cells: state.cells,
12890
- years: state.years,
12891
- decadeStart: state.decadeStart,
12892
- ecViewYear: state.ecViewYear,
12893
- gcViewYear: state.gcViewYear,
12894
- onPrev: state.handlePrev,
12895
- onNext: state.handleNext,
12896
- onHeaderClick: state.handleHeaderClick,
12897
- onDayClick: state.handleDayClick,
12898
- onMonthSelect: state.handleMonthSelect,
12899
- onYearSelect: state.handleYearSelect,
12900
- onCalendarTypeChange: state.handleCalendarTypeChange,
12901
- timeH: state.timeH,
12902
- timeM: state.timeM,
12903
- timeS: state.timeS,
12904
- timeFocus: state.timeFocus,
12884
+ onPresetClick: state2.handlePresetClick,
12885
+ view: state2.view,
12886
+ calendarType: state2.calendarType,
12887
+ value: state2.value,
12888
+ headerLabel: state2.headerLabel(),
12889
+ cells: state2.cells,
12890
+ years: state2.years,
12891
+ decadeStart: state2.decadeStart,
12892
+ ecViewYear: state2.ecViewYear,
12893
+ gcViewYear: state2.gcViewYear,
12894
+ onPrev: state2.handlePrev,
12895
+ onNext: state2.handleNext,
12896
+ onHeaderClick: state2.handleHeaderClick,
12897
+ onDayClick: state2.handleDayClick,
12898
+ onMonthSelect: state2.handleMonthSelect,
12899
+ onYearSelect: state2.handleYearSelect,
12900
+ onCalendarTypeChange: state2.handleCalendarTypeChange,
12901
+ timeH: state2.timeH,
12902
+ timeM: state2.timeM,
12903
+ timeS: state2.timeS,
12904
+ timeFocus: state2.timeFocus,
12905
12905
  withSeconds,
12906
- onTimeFocus: state.setTimeFocus,
12907
- onTimeBlur: state.handleTimeBlur,
12908
- onTimeHChange: state.setTimeH,
12909
- onTimeMChange: state.setTimeM,
12910
- onTimeSChange: state.setTimeS,
12911
- onConfirm: state.handleConfirm
12906
+ onTimeFocus: state2.setTimeFocus,
12907
+ onTimeBlur: state2.handleTimeBlur,
12908
+ onTimeHChange: state2.setTimeH,
12909
+ onTimeMChange: state2.setTimeM,
12910
+ onTimeSChange: state2.setTimeS,
12911
+ onConfirm: state2.handleConfirm
12912
12912
  }
12913
12913
  )
12914
12914
  }
@@ -13332,7 +13332,7 @@ function MiniCalendar({
13332
13332
  nextControlProps,
13333
13333
  ...rest
13334
13334
  }) {
13335
- const state = useMiniCalendar(rest);
13335
+ const state2 = useMiniCalendar(rest);
13336
13336
  const {
13337
13337
  className: prevClassName,
13338
13338
  disabled: _prevDis,
@@ -13362,13 +13362,13 @@ function MiniCalendar({
13362
13362
  "flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground disabled:pointer-events-none disabled:opacity-40",
13363
13363
  prevClassName
13364
13364
  ),
13365
- disabled: state.prevDisabled,
13365
+ disabled: state2.prevDisabled,
13366
13366
  "aria-label": "Previous dates",
13367
13367
  ...prevSpread,
13368
13368
  onClick: (e) => {
13369
13369
  prevOnClick?.(e);
13370
13370
  if (!e.defaultPrevented) {
13371
- state.goPrev();
13371
+ state2.goPrev();
13372
13372
  }
13373
13373
  },
13374
13374
  children: ChevronLeft3
@@ -13379,11 +13379,11 @@ function MiniCalendar({
13379
13379
  {
13380
13380
  className: "flex min-w-0 flex-1 items-stretch justify-between gap-0.5",
13381
13381
  "data-slot": "mini-calendar-days",
13382
- children: state.days.map((day) => {
13382
+ children: state2.days.map((day) => {
13383
13383
  const iso = dateToIsoDate(day);
13384
- const selectedDate = state.selectedIso ? isoDateToDate(state.selectedIso) : null;
13384
+ const selectedDate = state2.selectedIso ? isoDateToDate(state2.selectedIso) : null;
13385
13385
  const selected = !!selectedDate && isSameDay2(day, selectedDate);
13386
- const dayDisabled = state.isDayDisabled(day);
13386
+ const dayDisabled = state2.isDayDisabled(day);
13387
13387
  const user = getDayProps?.(day) ?? {};
13388
13388
  const {
13389
13389
  className: userClassName,
@@ -13411,7 +13411,7 @@ function MiniCalendar({
13411
13411
  onClick: (e) => {
13412
13412
  userOnClick?.(e);
13413
13413
  if (!(e.defaultPrevented || disabled)) {
13414
- state.selectDay(day);
13414
+ state2.selectDay(day);
13415
13415
  }
13416
13416
  },
13417
13417
  children: [
@@ -13449,13 +13449,13 @@ function MiniCalendar({
13449
13449
  "flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-muted hover:text-foreground disabled:pointer-events-none disabled:opacity-40",
13450
13450
  nextClassName
13451
13451
  ),
13452
- disabled: state.nextDisabled,
13452
+ disabled: state2.nextDisabled,
13453
13453
  "aria-label": "Next dates",
13454
13454
  ...nextSpread,
13455
13455
  onClick: (e) => {
13456
13456
  nextOnClick?.(e);
13457
13457
  if (!e.defaultPrevented) {
13458
- state.goNext();
13458
+ state2.goNext();
13459
13459
  }
13460
13460
  },
13461
13461
  children: ChevronRight3
@@ -13980,31 +13980,31 @@ function useMonthPicker(props) {
13980
13980
  import { jsx as jsx112 } from "react/jsx-runtime";
13981
13981
  function MonthPicker(props) {
13982
13982
  const { className } = props;
13983
- const state = useMonthPicker(props);
13983
+ const state2 = useMonthPicker(props);
13984
13984
  return /* @__PURE__ */ jsx112("div", { className: cn("inline-block", className), children: /* @__PURE__ */ jsx112(
13985
13985
  MonthPickerContent,
13986
13986
  {
13987
- view: state.view,
13988
- calendarType: state.calendarType,
13989
- years: state.years,
13990
- decadeStart: state.decadeStart,
13991
- ecViewYear: state.ecViewYear,
13992
- gcViewYear: state.gcViewYear,
13993
- primaryDate: state.primaryDate,
13994
- hasRange: state.hasRange,
13995
- headerLabel: state.headerLabel(),
13996
- onPrev: state.handlePrev,
13997
- onNext: state.handleNext,
13998
- onHeaderClick: state.handleHeaderClick,
13999
- onMonthClick: state.handleMonthClick,
14000
- onMonthHover: state.handleMonthHover,
14001
- onGridMouseLeave: state.handleGridMouseLeave,
14002
- onYearSelect: state.handleYearSelect,
14003
- onCalendarTypeChange: state.handleCalendarTypeChange,
14004
- isMonthSelected: state.isMonthSelected,
14005
- isMonthInRange: state.isMonthInRange,
14006
- isRangeStart: state.isRangeStart,
14007
- isRangeEnd: state.isRangeEnd
13987
+ view: state2.view,
13988
+ calendarType: state2.calendarType,
13989
+ years: state2.years,
13990
+ decadeStart: state2.decadeStart,
13991
+ ecViewYear: state2.ecViewYear,
13992
+ gcViewYear: state2.gcViewYear,
13993
+ primaryDate: state2.primaryDate,
13994
+ hasRange: state2.hasRange,
13995
+ headerLabel: state2.headerLabel(),
13996
+ onPrev: state2.handlePrev,
13997
+ onNext: state2.handleNext,
13998
+ onHeaderClick: state2.handleHeaderClick,
13999
+ onMonthClick: state2.handleMonthClick,
14000
+ onMonthHover: state2.handleMonthHover,
14001
+ onGridMouseLeave: state2.handleGridMouseLeave,
14002
+ onYearSelect: state2.handleYearSelect,
14003
+ onCalendarTypeChange: state2.handleCalendarTypeChange,
14004
+ isMonthSelected: state2.isMonthSelected,
14005
+ isMonthInRange: state2.isMonthInRange,
14006
+ isRangeStart: state2.isRangeStart,
14007
+ isRangeEnd: state2.isRangeEnd
14008
14008
  }
14009
14009
  ) });
14010
14010
  }
@@ -14135,7 +14135,7 @@ var MonthPickerInput = forwardRef8(function MonthPickerInput2(props, ref) {
14135
14135
  "aria-label": ariaLabel,
14136
14136
  className
14137
14137
  } = props;
14138
- const state = useMonthPickerInput(props);
14138
+ const state2 = useMonthPickerInput(props);
14139
14139
  return /* @__PURE__ */ jsx113(
14140
14140
  DateInputShell,
14141
14141
  {
@@ -14151,38 +14151,38 @@ var MonthPickerInput = forwardRef8(function MonthPickerInput2(props, ref) {
14151
14151
  dropdownType,
14152
14152
  "aria-label": ariaLabel,
14153
14153
  className,
14154
- displayValue: state.displayValue,
14155
- open: state.open,
14156
- onOpenChange: state.handleOpenChange,
14157
- contentSide: state.contentSide,
14158
- triggerRef: state.triggerRef,
14159
- onClear: state.handleClear,
14154
+ displayValue: state2.displayValue,
14155
+ open: state2.open,
14156
+ onOpenChange: state2.handleOpenChange,
14157
+ contentSide: state2.contentSide,
14158
+ triggerRef: state2.triggerRef,
14159
+ onClear: state2.handleClear,
14160
14160
  dropdownClassName: "w-fit",
14161
14161
  buttonRef: ref,
14162
14162
  children: /* @__PURE__ */ jsx113(
14163
14163
  MonthPickerContent,
14164
14164
  {
14165
- view: state.view,
14166
- calendarType: state.calendarType,
14167
- years: state.years,
14168
- decadeStart: state.decadeStart,
14169
- ecViewYear: state.ecViewYear,
14170
- gcViewYear: state.gcViewYear,
14171
- primaryDate: state.primaryDate,
14172
- hasRange: state.hasRange,
14173
- headerLabel: state.headerLabel(),
14174
- onPrev: state.handlePrev,
14175
- onNext: state.handleNext,
14176
- onHeaderClick: state.handleHeaderClick,
14177
- onMonthClick: state.handleMonthClick,
14178
- onMonthHover: state.handleMonthHover,
14179
- onGridMouseLeave: state.handleGridMouseLeave,
14180
- onYearSelect: state.handleYearSelect,
14181
- onCalendarTypeChange: state.handleCalendarTypeChange,
14182
- isMonthSelected: state.isMonthSelected,
14183
- isMonthInRange: state.isMonthInRange,
14184
- isRangeStart: state.isRangeStart,
14185
- isRangeEnd: state.isRangeEnd
14165
+ view: state2.view,
14166
+ calendarType: state2.calendarType,
14167
+ years: state2.years,
14168
+ decadeStart: state2.decadeStart,
14169
+ ecViewYear: state2.ecViewYear,
14170
+ gcViewYear: state2.gcViewYear,
14171
+ primaryDate: state2.primaryDate,
14172
+ hasRange: state2.hasRange,
14173
+ headerLabel: state2.headerLabel(),
14174
+ onPrev: state2.handlePrev,
14175
+ onNext: state2.handleNext,
14176
+ onHeaderClick: state2.handleHeaderClick,
14177
+ onMonthClick: state2.handleMonthClick,
14178
+ onMonthHover: state2.handleMonthHover,
14179
+ onGridMouseLeave: state2.handleGridMouseLeave,
14180
+ onYearSelect: state2.handleYearSelect,
14181
+ onCalendarTypeChange: state2.handleCalendarTypeChange,
14182
+ isMonthSelected: state2.isMonthSelected,
14183
+ isMonthInRange: state2.isMonthInRange,
14184
+ isRangeStart: state2.isRangeStart,
14185
+ isRangeEnd: state2.isRangeEnd
14186
14186
  }
14187
14187
  )
14188
14188
  }
@@ -14442,7 +14442,7 @@ var TimePicker = forwardRef9(
14442
14442
  "aria-label": ariaLabel,
14443
14443
  className
14444
14444
  } = props;
14445
- const state = useTimePicker(props);
14445
+ const state2 = useTimePicker(props);
14446
14446
  return /* @__PURE__ */ jsx115(
14447
14447
  DateInputShell,
14448
14448
  {
@@ -14458,29 +14458,29 @@ var TimePicker = forwardRef9(
14458
14458
  dropdownType,
14459
14459
  "aria-label": ariaLabel,
14460
14460
  className,
14461
- displayValue: state.displayValue,
14462
- hasValue: !!state.value,
14463
- open: state.open,
14464
- onOpenChange: state.handleOpenChange,
14465
- contentSide: state.contentSide,
14466
- triggerRef: state.triggerRef,
14467
- onClear: state.handleClear,
14461
+ displayValue: state2.displayValue,
14462
+ hasValue: !!state2.value,
14463
+ open: state2.open,
14464
+ onOpenChange: state2.handleOpenChange,
14465
+ contentSide: state2.contentSide,
14466
+ triggerRef: state2.triggerRef,
14467
+ onClear: state2.handleClear,
14468
14468
  dropdownClassName: "w-[200px]",
14469
14469
  buttonRef: ref,
14470
14470
  children: /* @__PURE__ */ jsx115(
14471
14471
  TimePickerContent,
14472
14472
  {
14473
- timeH: state.timeH,
14474
- timeM: state.timeM,
14475
- timeS: state.timeS,
14476
- timeFocus: state.timeFocus,
14473
+ timeH: state2.timeH,
14474
+ timeM: state2.timeM,
14475
+ timeS: state2.timeS,
14476
+ timeFocus: state2.timeFocus,
14477
14477
  withSeconds,
14478
- onTimeFocus: state.setTimeFocus,
14479
- onTimeBlur: state.handleTimeBlur,
14480
- onTimeHChange: state.setTimeH,
14481
- onTimeMChange: state.setTimeM,
14482
- onTimeSChange: state.setTimeS,
14483
- onConfirm: state.handleConfirm
14478
+ onTimeFocus: state2.setTimeFocus,
14479
+ onTimeBlur: state2.handleTimeBlur,
14480
+ onTimeHChange: state2.setTimeH,
14481
+ onTimeMChange: state2.setTimeM,
14482
+ onTimeSChange: state2.setTimeS,
14483
+ onConfirm: state2.handleConfirm
14484
14484
  }
14485
14485
  )
14486
14486
  }
@@ -14839,24 +14839,24 @@ function useYearPicker(props) {
14839
14839
  import { jsx as jsx117 } from "react/jsx-runtime";
14840
14840
  function YearPicker(props) {
14841
14841
  const { className } = props;
14842
- const state = useYearPicker(props);
14842
+ const state2 = useYearPicker(props);
14843
14843
  return /* @__PURE__ */ jsx117("div", { className: cn("inline-block", className), children: /* @__PURE__ */ jsx117(
14844
14844
  YearPickerContent,
14845
14845
  {
14846
- calendarType: state.calendarType,
14847
- years: state.years,
14848
- decadeStart: state.decadeStart,
14849
- headerLabel: state.headerLabel(),
14850
- onPrev: state.handlePrev,
14851
- onNext: state.handleNext,
14852
- onYearClick: state.handleYearClick,
14853
- onYearHover: state.handleYearHover,
14854
- onGridMouseLeave: state.handleGridMouseLeave,
14855
- onCalendarTypeChange: state.handleCalendarTypeChange,
14856
- isYearSelected: state.isYearSelected,
14857
- isYearInRange: state.isYearInRange,
14858
- isRangeStart: state.isRangeStart,
14859
- isRangeEnd: state.isRangeEnd
14846
+ calendarType: state2.calendarType,
14847
+ years: state2.years,
14848
+ decadeStart: state2.decadeStart,
14849
+ headerLabel: state2.headerLabel(),
14850
+ onPrev: state2.handlePrev,
14851
+ onNext: state2.handleNext,
14852
+ onYearClick: state2.handleYearClick,
14853
+ onYearHover: state2.handleYearHover,
14854
+ onGridMouseLeave: state2.handleGridMouseLeave,
14855
+ onCalendarTypeChange: state2.handleCalendarTypeChange,
14856
+ isYearSelected: state2.isYearSelected,
14857
+ isYearInRange: state2.isYearInRange,
14858
+ isRangeStart: state2.isRangeStart,
14859
+ isRangeEnd: state2.isRangeEnd
14860
14860
  }
14861
14861
  ) });
14862
14862
  }
@@ -14957,8 +14957,8 @@ var YearPickerInput = forwardRef10(function YearPickerInput2(props, ref) {
14957
14957
  "aria-label": ariaLabel,
14958
14958
  className
14959
14959
  } = props;
14960
- const state = useYearPickerInput(props);
14961
- const p = state.picker;
14960
+ const state2 = useYearPickerInput(props);
14961
+ const p = state2.picker;
14962
14962
  return /* @__PURE__ */ jsx118(
14963
14963
  DateInputShell,
14964
14964
  {
@@ -14974,12 +14974,12 @@ var YearPickerInput = forwardRef10(function YearPickerInput2(props, ref) {
14974
14974
  dropdownType,
14975
14975
  "aria-label": ariaLabel,
14976
14976
  className,
14977
- displayValue: state.displayValue,
14978
- open: state.open,
14979
- onOpenChange: state.handleOpenChange,
14980
- contentSide: state.contentSide,
14981
- triggerRef: state.triggerRef,
14982
- onClear: state.handleClear,
14977
+ displayValue: state2.displayValue,
14978
+ open: state2.open,
14979
+ onOpenChange: state2.handleOpenChange,
14980
+ contentSide: state2.contentSide,
14981
+ triggerRef: state2.triggerRef,
14982
+ onClear: state2.handleClear,
14983
14983
  dropdownClassName: "w-fit",
14984
14984
  buttonRef: ref,
14985
14985
  children: /* @__PURE__ */ jsx118(
@@ -15429,7 +15429,7 @@ function AngleSlider({
15429
15429
  onChange,
15430
15430
  onChangeEnd,
15431
15431
  size = 120,
15432
- step = 1,
15432
+ step: step2 = 1,
15433
15433
  withLabel = true,
15434
15434
  formatLabel,
15435
15435
  disabled = false,
@@ -15465,10 +15465,10 @@ function AngleSlider({
15465
15465
  if (a < 0) {
15466
15466
  a += 360;
15467
15467
  }
15468
- const stepped = Math.round(a / step) * step;
15468
+ const stepped = Math.round(a / step2) * step2;
15469
15469
  return stepped % 360;
15470
15470
  },
15471
- [value, step]
15471
+ [value, step2]
15472
15472
  );
15473
15473
  const handleMove = useCallback20(
15474
15474
  (clientX, clientY) => {
@@ -17298,7 +17298,7 @@ function ColorPicker({
17298
17298
  lastHsvaRef.current = next;
17299
17299
  }
17300
17300
  }, [value]);
17301
- const emit = useCallback21(
17301
+ const emit2 = useCallback21(
17302
17302
  (next) => {
17303
17303
  const str = formatColor(next, format);
17304
17304
  if (!isControlled) {
@@ -17415,7 +17415,7 @@ function ColorPicker({
17415
17415
  value: Math.round(hsva.h),
17416
17416
  min: 0,
17417
17417
  max: 360,
17418
- onChange: (h) => emit({ ...hsva, h }),
17418
+ onChange: (h) => emit2({ ...hsva, h }),
17419
17419
  onEnd: (h) => emitEnd({ ...hsva, h }),
17420
17420
  disabled,
17421
17421
  size,
@@ -17444,7 +17444,7 @@ function ColorPicker({
17444
17444
  value: Math.round(hsva.a * 100),
17445
17445
  min: 0,
17446
17446
  max: 100,
17447
- onChange: (a) => emit({ ...hsva, a: a / 100 }),
17447
+ onChange: (a) => emit2({ ...hsva, a: a / 100 }),
17448
17448
  onEnd: (a) => emitEnd({ ...hsva, a: a / 100 }),
17449
17449
  disabled,
17450
17450
  size,
@@ -21552,8 +21552,242 @@ function NavigationMenuIndicator({
21552
21552
  );
21553
21553
  }
21554
21554
 
21555
- // src/components/ui/number-formatter.tsx
21555
+ // src/components/ui/nprogress.tsx
21556
+ import { useEffect as useEffect29, useSyncExternalStore } from "react";
21556
21557
  import { jsx as jsx175 } from "react/jsx-runtime";
21558
+ var DEFAULT_STEP_INTERVAL = 450;
21559
+ var DEFAULT_INITIAL_PROGRESS = 8;
21560
+ var MIN_PROGRESS = 0;
21561
+ var MAX_PROGRESS = 100;
21562
+ var state = {
21563
+ mounted: false,
21564
+ progress: MIN_PROGRESS
21565
+ };
21566
+ var step = 1;
21567
+ var stepInterval = DEFAULT_STEP_INTERVAL;
21568
+ var intervalId = null;
21569
+ var resetTimeoutId = null;
21570
+ var hideTimeoutId = null;
21571
+ var listeners = /* @__PURE__ */ new Set();
21572
+ function clampProgress(value) {
21573
+ return Math.min(MAX_PROGRESS, Math.max(MIN_PROGRESS, value));
21574
+ }
21575
+ function getIntervalProgressValue(current) {
21576
+ if (current <= 20) {
21577
+ return current + 10;
21578
+ }
21579
+ if (current <= 50) {
21580
+ return current + 4;
21581
+ }
21582
+ if (current <= 80) {
21583
+ return current + 2;
21584
+ }
21585
+ if (current <= 99) {
21586
+ return current + 1;
21587
+ }
21588
+ return current;
21589
+ }
21590
+ function emit() {
21591
+ for (const listener of listeners) {
21592
+ listener();
21593
+ }
21594
+ }
21595
+ function setState(next) {
21596
+ state = { ...state, ...next };
21597
+ emit();
21598
+ }
21599
+ function clearTimers() {
21600
+ if (intervalId !== null) {
21601
+ clearInterval(intervalId);
21602
+ intervalId = null;
21603
+ }
21604
+ if (resetTimeoutId !== null) {
21605
+ clearTimeout(resetTimeoutId);
21606
+ resetTimeoutId = null;
21607
+ }
21608
+ if (hideTimeoutId !== null) {
21609
+ clearTimeout(hideTimeoutId);
21610
+ hideTimeoutId = null;
21611
+ }
21612
+ }
21613
+ function subscribe(listener) {
21614
+ listeners.add(listener);
21615
+ return () => {
21616
+ listeners.delete(listener);
21617
+ };
21618
+ }
21619
+ function getSnapshot() {
21620
+ return state;
21621
+ }
21622
+ function configureNProgress(options = {}) {
21623
+ if (typeof options.stepInterval === "number") {
21624
+ stepInterval = Math.max(50, options.stepInterval);
21625
+ }
21626
+ if (typeof options.initialProgress === "number") {
21627
+ state = {
21628
+ ...state,
21629
+ progress: clampProgress(options.initialProgress)
21630
+ };
21631
+ }
21632
+ }
21633
+ function setNProgress(value) {
21634
+ clearTimers();
21635
+ setState({
21636
+ mounted: true,
21637
+ progress: clampProgress(value)
21638
+ });
21639
+ }
21640
+ function incrementNProgress(amount = step) {
21641
+ setState({
21642
+ mounted: true,
21643
+ progress: clampProgress(state.progress + amount)
21644
+ });
21645
+ }
21646
+ function startNProgress() {
21647
+ clearTimers();
21648
+ setState({
21649
+ mounted: true,
21650
+ progress: getIntervalProgressValue(
21651
+ state.progress > MIN_PROGRESS ? state.progress : DEFAULT_INITIAL_PROGRESS
21652
+ )
21653
+ });
21654
+ intervalId = setInterval(() => {
21655
+ setState({
21656
+ mounted: true,
21657
+ progress: getIntervalProgressValue(state.progress)
21658
+ });
21659
+ }, stepInterval);
21660
+ }
21661
+ function completeNProgress() {
21662
+ clearTimers();
21663
+ setState({
21664
+ mounted: true,
21665
+ progress: MAX_PROGRESS
21666
+ });
21667
+ hideTimeoutId = setTimeout(() => {
21668
+ setState({ mounted: false });
21669
+ }, 100);
21670
+ resetTimeoutId = setTimeout(() => {
21671
+ setState({ progress: MIN_PROGRESS });
21672
+ }, stepInterval + 120);
21673
+ }
21674
+ function resetNProgress() {
21675
+ clearTimers();
21676
+ setState({
21677
+ mounted: false,
21678
+ progress: MIN_PROGRESS
21679
+ });
21680
+ }
21681
+ function setNProgressStep(stepValue) {
21682
+ step = Math.max(0.25, stepValue);
21683
+ }
21684
+ function isPlainLeftClick(event) {
21685
+ return event.button === 0 && !event.metaKey && !event.ctrlKey && !event.shiftKey && !event.altKey;
21686
+ }
21687
+ function isInternalLink(link) {
21688
+ if (!link.href || link.target === "_blank" || link.hasAttribute("download")) {
21689
+ return false;
21690
+ }
21691
+ try {
21692
+ const targetUrl = new URL(link.href, window.location.href);
21693
+ const currentUrl = new URL(window.location.href);
21694
+ return targetUrl.origin === currentUrl.origin;
21695
+ } catch {
21696
+ return false;
21697
+ }
21698
+ }
21699
+ function isHashOnlyLink(link) {
21700
+ try {
21701
+ const targetUrl = new URL(link.href, window.location.href);
21702
+ const currentUrl = new URL(window.location.href);
21703
+ return targetUrl.pathname === currentUrl.pathname && targetUrl.search === currentUrl.search && targetUrl.hash !== "";
21704
+ } catch {
21705
+ return false;
21706
+ }
21707
+ }
21708
+ function NProgress({
21709
+ className,
21710
+ height = 3,
21711
+ zIndex = 9999,
21712
+ color,
21713
+ pathname,
21714
+ withNavigation = false,
21715
+ style,
21716
+ ...props
21717
+ }) {
21718
+ const current = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
21719
+ const translateX = current.progress - MAX_PROGRESS;
21720
+ useEffect29(() => {
21721
+ if (!pathname) {
21722
+ return;
21723
+ }
21724
+ completeNProgress();
21725
+ }, [pathname]);
21726
+ useEffect29(() => {
21727
+ if (!withNavigation) {
21728
+ return;
21729
+ }
21730
+ const onDocumentClick = (event) => {
21731
+ if (!isPlainLeftClick(event)) {
21732
+ return;
21733
+ }
21734
+ const target = event.target;
21735
+ if (!(target instanceof Element)) {
21736
+ return;
21737
+ }
21738
+ const link = target.closest("a[href]");
21739
+ if (!(link instanceof HTMLAnchorElement)) {
21740
+ return;
21741
+ }
21742
+ if (!isInternalLink(link) || isHashOnlyLink(link)) {
21743
+ return;
21744
+ }
21745
+ startNProgress();
21746
+ };
21747
+ const onPopState = () => {
21748
+ startNProgress();
21749
+ };
21750
+ document.addEventListener("click", onDocumentClick, { capture: true });
21751
+ window.addEventListener("popstate", onPopState);
21752
+ return () => {
21753
+ document.removeEventListener("click", onDocumentClick, {
21754
+ capture: true
21755
+ });
21756
+ window.removeEventListener("popstate", onPopState);
21757
+ };
21758
+ }, [withNavigation]);
21759
+ return /* @__PURE__ */ jsx175(
21760
+ "div",
21761
+ {
21762
+ "data-slot": "nprogress",
21763
+ "data-mounted": current.mounted ? "" : void 0,
21764
+ className: cn(
21765
+ "cn-nprogress-root pointer-events-none fixed inset-x-0 top-0 overflow-hidden",
21766
+ className
21767
+ ),
21768
+ style: {
21769
+ ...style,
21770
+ height,
21771
+ zIndex
21772
+ },
21773
+ ...props,
21774
+ children: /* @__PURE__ */ jsx175(
21775
+ "div",
21776
+ {
21777
+ className: "cn-nprogress-bar h-full w-full",
21778
+ style: {
21779
+ transform: `translate3d(${translateX}%, 0, 0)`,
21780
+ backgroundColor: color
21781
+ },
21782
+ children: /* @__PURE__ */ jsx175("div", { className: "cn-nprogress-peg" })
21783
+ }
21784
+ )
21785
+ }
21786
+ );
21787
+ }
21788
+
21789
+ // src/components/ui/number-formatter.tsx
21790
+ import { jsx as jsx176 } from "react/jsx-runtime";
21557
21791
  function NumberFormatter({
21558
21792
  className,
21559
21793
  value,
@@ -21584,7 +21818,7 @@ function NumberFormatter({
21584
21818
  }
21585
21819
  return `${prefix}${result}${suffix}`;
21586
21820
  };
21587
- return /* @__PURE__ */ jsx175(
21821
+ return /* @__PURE__ */ jsx176(
21588
21822
  "span",
21589
21823
  {
21590
21824
  "data-slot": "number-formatter",
@@ -21601,10 +21835,10 @@ import { forwardRef as forwardRef14, useCallback as useCallback24 } from "react"
21601
21835
 
21602
21836
  // src/components/ui/unstyled-button.tsx
21603
21837
  import { useRender as useRender9 } from "@base-ui/react/use-render";
21604
- import { jsx as jsx176 } from "react/jsx-runtime";
21838
+ import { jsx as jsx177 } from "react/jsx-runtime";
21605
21839
  function UnstyledButton({
21606
21840
  className,
21607
- render = /* @__PURE__ */ jsx176("button", { type: "button" }),
21841
+ render = /* @__PURE__ */ jsx177("button", { type: "button" }),
21608
21842
  ...props
21609
21843
  }) {
21610
21844
  return useRender9({
@@ -21622,7 +21856,7 @@ function UnstyledButton({
21622
21856
  }
21623
21857
 
21624
21858
  // src/components/ui/number-input.tsx
21625
- import { jsx as jsx177, jsxs as jsxs103 } from "react/jsx-runtime";
21859
+ import { jsx as jsx178, jsxs as jsxs103 } from "react/jsx-runtime";
21626
21860
  var sizeClasses5 = {
21627
21861
  xs: "h-7",
21628
21862
  sm: "h-8",
@@ -21674,7 +21908,7 @@ var NumberInput = forwardRef14(
21674
21908
  size = "md",
21675
21909
  min,
21676
21910
  max,
21677
- step = 1,
21911
+ step: step2 = 1,
21678
21912
  controls = true,
21679
21913
  leftSection,
21680
21914
  rightSection,
@@ -21731,7 +21965,7 @@ var NumberInput = forwardRef14(
21731
21965
  "data-slot": "number-input-controls",
21732
21966
  className: "cn-number-input-controls",
21733
21967
  children: [
21734
- /* @__PURE__ */ jsx177(
21968
+ /* @__PURE__ */ jsx178(
21735
21969
  UnstyledButton,
21736
21970
  {
21737
21971
  type: "button",
@@ -21742,12 +21976,12 @@ var NumberInput = forwardRef14(
21742
21976
  className: "cn-number-input-control",
21743
21977
  onMouseDown: (e) => {
21744
21978
  e.preventDefault();
21745
- handleStep(step ?? 1);
21979
+ handleStep(step2 ?? 1);
21746
21980
  },
21747
- children: /* @__PURE__ */ jsx177(IconChevronUp4, { className: "size-4" })
21981
+ children: /* @__PURE__ */ jsx178(IconChevronUp4, { className: "size-4" })
21748
21982
  }
21749
21983
  ),
21750
- /* @__PURE__ */ jsx177(
21984
+ /* @__PURE__ */ jsx178(
21751
21985
  UnstyledButton,
21752
21986
  {
21753
21987
  type: "button",
@@ -21758,17 +21992,17 @@ var NumberInput = forwardRef14(
21758
21992
  className: "cn-number-input-control",
21759
21993
  onMouseDown: (e) => {
21760
21994
  e.preventDefault();
21761
- handleStep(-(step ?? 1));
21995
+ handleStep(-(step2 ?? 1));
21762
21996
  },
21763
- children: /* @__PURE__ */ jsx177(IconChevronDown14, { className: "size-4" })
21997
+ children: /* @__PURE__ */ jsx178(IconChevronDown14, { className: "size-4" })
21764
21998
  }
21765
21999
  )
21766
22000
  ]
21767
22001
  }
21768
22002
  ) : null;
21769
22003
  const inputEl = /* @__PURE__ */ jsxs103(InputGroup, { disabled, className: cn(sizeClasses5[size]), children: [
21770
- leftSection && /* @__PURE__ */ jsx177(InputGroupAddon, { align: "inline-start", className: "pointer-events-none", children: leftSection }),
21771
- /* @__PURE__ */ jsx177(
22004
+ leftSection && /* @__PURE__ */ jsx178(InputGroupAddon, { align: "inline-start", className: "pointer-events-none", children: leftSection }),
22005
+ /* @__PURE__ */ jsx178(
21772
22006
  InputGroupInput,
21773
22007
  {
21774
22008
  ref,
@@ -21779,15 +22013,15 @@ var NumberInput = forwardRef14(
21779
22013
  disabled,
21780
22014
  min,
21781
22015
  max,
21782
- step,
22016
+ step: step2,
21783
22017
  "aria-invalid": error ? true : void 0,
21784
22018
  required,
21785
22019
  className: cn(className),
21786
22020
  ...inputProps
21787
22021
  }
21788
22022
  ),
21789
- rightSection && !showControls && /* @__PURE__ */ jsx177(InputGroupAddon, { align: "inline-end", children: rightSection }),
21790
- showControls && /* @__PURE__ */ jsx177(
22023
+ rightSection && !showControls && /* @__PURE__ */ jsx178(InputGroupAddon, { align: "inline-end", children: rightSection }),
22024
+ showControls && /* @__PURE__ */ jsx178(
21791
22025
  InputGroupAddon,
21792
22026
  {
21793
22027
  align: "inline-end",
@@ -21799,7 +22033,7 @@ var NumberInput = forwardRef14(
21799
22033
  if (!hasWrapper) {
21800
22034
  return inputEl;
21801
22035
  }
21802
- return /* @__PURE__ */ jsx177(
22036
+ return /* @__PURE__ */ jsx178(
21803
22037
  InputWrapper,
21804
22038
  {
21805
22039
  label,
@@ -21826,9 +22060,9 @@ import {
21826
22060
  IconChevronRight as IconChevronRight10,
21827
22061
  IconDots as IconDots2
21828
22062
  } from "@tabler/icons-react";
21829
- import { jsx as jsx178, jsxs as jsxs104 } from "react/jsx-runtime";
22063
+ import { jsx as jsx179, jsxs as jsxs104 } from "react/jsx-runtime";
21830
22064
  function Pagination({ className, ...props }) {
21831
- return /* @__PURE__ */ jsx178(
22065
+ return /* @__PURE__ */ jsx179(
21832
22066
  "nav",
21833
22067
  {
21834
22068
  "aria-label": "pagination",
@@ -21842,7 +22076,7 @@ function PaginationContent({
21842
22076
  className,
21843
22077
  ...props
21844
22078
  }) {
21845
- return /* @__PURE__ */ jsx178(
22079
+ return /* @__PURE__ */ jsx179(
21846
22080
  "ul",
21847
22081
  {
21848
22082
  "data-slot": "pagination-content",
@@ -21852,7 +22086,7 @@ function PaginationContent({
21852
22086
  );
21853
22087
  }
21854
22088
  function PaginationItem({ ...props }) {
21855
- return /* @__PURE__ */ jsx178("li", { "data-slot": "pagination-item", ...props });
22089
+ return /* @__PURE__ */ jsx179("li", { "data-slot": "pagination-item", ...props });
21856
22090
  }
21857
22091
  function PaginationLink({
21858
22092
  className,
@@ -21860,7 +22094,7 @@ function PaginationLink({
21860
22094
  size = "icon",
21861
22095
  ...props
21862
22096
  }) {
21863
- return /* @__PURE__ */ jsx178(
22097
+ return /* @__PURE__ */ jsx179(
21864
22098
  "a",
21865
22099
  {
21866
22100
  "aria-current": isActive ? "page" : void 0,
@@ -21890,8 +22124,8 @@ function PaginationPrevious({
21890
22124
  className: cn("cn-pagination-previous gap-1", className),
21891
22125
  ...props,
21892
22126
  children: [
21893
- /* @__PURE__ */ jsx178(IconChevronLeft4, {}),
21894
- /* @__PURE__ */ jsx178("span", { className: "hidden sm:block", children: "Previous" })
22127
+ /* @__PURE__ */ jsx179(IconChevronLeft4, {}),
22128
+ /* @__PURE__ */ jsx179("span", { className: "hidden sm:block", children: "Previous" })
21895
22129
  ]
21896
22130
  }
21897
22131
  );
@@ -21908,8 +22142,8 @@ function PaginationNext({
21908
22142
  className: cn("cn-pagination-next gap-1", className),
21909
22143
  ...props,
21910
22144
  children: [
21911
- /* @__PURE__ */ jsx178("span", { className: "hidden sm:block", children: "Next" }),
21912
- /* @__PURE__ */ jsx178(IconChevronRight10, {})
22145
+ /* @__PURE__ */ jsx179("span", { className: "hidden sm:block", children: "Next" }),
22146
+ /* @__PURE__ */ jsx179(IconChevronRight10, {})
21913
22147
  ]
21914
22148
  }
21915
22149
  );
@@ -21926,15 +22160,15 @@ function PaginationEllipsis({
21926
22160
  className: cn("cn-pagination-ellipsis flex", className),
21927
22161
  ...props,
21928
22162
  children: [
21929
- /* @__PURE__ */ jsx178(IconDots2, { className: "size-4" }),
21930
- /* @__PURE__ */ jsx178("span", { className: "sr-only", children: "More pages" })
22163
+ /* @__PURE__ */ jsx179(IconDots2, { className: "size-4" }),
22164
+ /* @__PURE__ */ jsx179("span", { className: "sr-only", children: "More pages" })
21931
22165
  ]
21932
22166
  }
21933
22167
  );
21934
22168
  }
21935
22169
 
21936
22170
  // src/components/ui/paper.tsx
21937
- import { jsx as jsx179 } from "react/jsx-runtime";
22171
+ import { jsx as jsx180 } from "react/jsx-runtime";
21938
22172
  function Paper({
21939
22173
  className,
21940
22174
  padding = "md",
@@ -21967,7 +22201,7 @@ function Paper({
21967
22201
  lg: "shadow-lg",
21968
22202
  xl: "shadow-xl"
21969
22203
  };
21970
- return /* @__PURE__ */ jsx179(
22204
+ return /* @__PURE__ */ jsx180(
21971
22205
  "div",
21972
22206
  {
21973
22207
  "data-slot": "paper",
@@ -21987,7 +22221,7 @@ function Paper({
21987
22221
  // src/components/ui/password-input.tsx
21988
22222
  import { IconEye, IconEyeOff } from "@tabler/icons-react";
21989
22223
  import { forwardRef as forwardRef15, useState as useState50 } from "react";
21990
- import { jsx as jsx180, jsxs as jsxs105 } from "react/jsx-runtime";
22224
+ import { jsx as jsx181, jsxs as jsxs105 } from "react/jsx-runtime";
21991
22225
  var PasswordInput = forwardRef15(
21992
22226
  ({ className, showToggle = true, size, ...props }, ref) => {
21993
22227
  const [showPassword, setShowPassword] = useState50(false);
@@ -22005,7 +22239,7 @@ var PasswordInput = forwardRef15(
22005
22239
  disabled: props.disabled,
22006
22240
  className: cn(size && groupSizeClasses[size]),
22007
22241
  children: [
22008
- /* @__PURE__ */ jsx180(
22242
+ /* @__PURE__ */ jsx181(
22009
22243
  InputGroupInput,
22010
22244
  {
22011
22245
  ref,
@@ -22014,7 +22248,7 @@ var PasswordInput = forwardRef15(
22014
22248
  ...props
22015
22249
  }
22016
22250
  ),
22017
- showToggle && /* @__PURE__ */ jsx180(InputGroupAddon, { align: "inline-end", children: /* @__PURE__ */ jsx180(
22251
+ showToggle && /* @__PURE__ */ jsx181(InputGroupAddon, { align: "inline-end", children: /* @__PURE__ */ jsx181(
22018
22252
  InputGroupButton,
22019
22253
  {
22020
22254
  type: "button",
@@ -22025,7 +22259,7 @@ var PasswordInput = forwardRef15(
22025
22259
  "aria-label": showPassword ? "Hide password" : "Show password",
22026
22260
  tabIndex: -1,
22027
22261
  disabled: props.disabled,
22028
- children: showPassword ? /* @__PURE__ */ jsx180(IconEyeOff, { className: "size-4" }) : /* @__PURE__ */ jsx180(IconEye, { className: "size-4" })
22262
+ children: showPassword ? /* @__PURE__ */ jsx181(IconEyeOff, { className: "size-4" }) : /* @__PURE__ */ jsx181(IconEye, { className: "size-4" })
22029
22263
  }
22030
22264
  ) })
22031
22265
  ]
@@ -22050,11 +22284,11 @@ var PasswordInputWithWrapper = forwardRef15(
22050
22284
  ...passwordInputProps
22051
22285
  }, ref) => {
22052
22286
  const hasWrapper = label || description || error || required || withAsterisk;
22053
- const passwordInput = /* @__PURE__ */ jsx180(PasswordInput, { ref, disabled, ...passwordInputProps });
22287
+ const passwordInput = /* @__PURE__ */ jsx181(PasswordInput, { ref, disabled, ...passwordInputProps });
22054
22288
  if (!hasWrapper) {
22055
22289
  return passwordInput;
22056
22290
  }
22057
- return /* @__PURE__ */ jsx180(
22291
+ return /* @__PURE__ */ jsx181(
22058
22292
  InputWrapper,
22059
22293
  {
22060
22294
  label,
@@ -22077,7 +22311,7 @@ PasswordInputWithWrapper.displayName = "PasswordInputWithWrapper";
22077
22311
 
22078
22312
  // src/components/ui/pill.tsx
22079
22313
  import { cva as cva23 } from "class-variance-authority";
22080
- import { jsx as jsx181, jsxs as jsxs106 } from "react/jsx-runtime";
22314
+ import { jsx as jsx182, jsxs as jsxs106 } from "react/jsx-runtime";
22081
22315
  var pillVariants = cva23(
22082
22316
  "cn-pill inline-flex items-center gap-1 font-medium shrink-0 outline-none transition-colors focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-100",
22083
22317
  {
@@ -22134,8 +22368,8 @@ function Pill({
22134
22368
  ),
22135
22369
  ...props,
22136
22370
  children: [
22137
- /* @__PURE__ */ jsx181("span", { className: "truncate", children }),
22138
- withRemoveButton && !disabled && /* @__PURE__ */ jsx181(
22371
+ /* @__PURE__ */ jsx182("span", { className: "truncate", children }),
22372
+ withRemoveButton && !disabled && /* @__PURE__ */ jsx182(
22139
22373
  CloseButton,
22140
22374
  {
22141
22375
  size: "icon-xs",
@@ -22162,7 +22396,7 @@ function Pill({
22162
22396
 
22163
22397
  // src/components/ui/progress.tsx
22164
22398
  import { Progress as ProgressPrimitive } from "@base-ui/react/progress";
22165
- import { jsx as jsx182 } from "react/jsx-runtime";
22399
+ import { jsx as jsx183 } from "react/jsx-runtime";
22166
22400
  function Progress({
22167
22401
  className,
22168
22402
  value,
@@ -22179,7 +22413,7 @@ function Progress({
22179
22413
  xl: "rounded-[var(--radius-xl)]",
22180
22414
  full: "rounded-full"
22181
22415
  };
22182
- return /* @__PURE__ */ jsx182(
22416
+ return /* @__PURE__ */ jsx183(
22183
22417
  ProgressPrimitive.Root,
22184
22418
  {
22185
22419
  "data-slot": "progress",
@@ -22191,7 +22425,7 @@ function Progress({
22191
22425
  className
22192
22426
  ),
22193
22427
  ...props,
22194
- children: /* @__PURE__ */ jsx182(
22428
+ children: /* @__PURE__ */ jsx183(
22195
22429
  ProgressPrimitive.Track,
22196
22430
  {
22197
22431
  "data-slot": "progress-track",
@@ -22200,7 +22434,7 @@ function Progress({
22200
22434
  "cn-progress-track h-full w-full",
22201
22435
  radius && radiusClasses2[radius]
22202
22436
  ),
22203
- children: /* @__PURE__ */ jsx182(
22437
+ children: /* @__PURE__ */ jsx183(
22204
22438
  ProgressPrimitive.Indicator,
22205
22439
  {
22206
22440
  "data-slot": "progress-indicator",
@@ -22221,7 +22455,7 @@ import {
22221
22455
  IconStarHalfFilled
22222
22456
  } from "@tabler/icons-react";
22223
22457
  import { useState as useState51 } from "react";
22224
- import { jsx as jsx183 } from "react/jsx-runtime";
22458
+ import { jsx as jsx184 } from "react/jsx-runtime";
22225
22459
  function Rating({
22226
22460
  count = 5,
22227
22461
  value = 0,
@@ -22258,16 +22492,16 @@ function Rating({
22258
22492
  };
22259
22493
  const renderIcon = (filled, half) => {
22260
22494
  if (filled) {
22261
- return /* @__PURE__ */ jsx183(IconStarFilled, { className: cn(sizeClasses6[size], color) });
22495
+ return /* @__PURE__ */ jsx184(IconStarFilled, { className: cn(sizeClasses6[size], color) });
22262
22496
  }
22263
22497
  if (half) {
22264
- return /* @__PURE__ */ jsx183(IconStarHalfFilled, { className: cn(sizeClasses6[size], color) });
22498
+ return /* @__PURE__ */ jsx184(IconStarHalfFilled, { className: cn(sizeClasses6[size], color) });
22265
22499
  }
22266
- return /* @__PURE__ */ jsx183(IconStar, { className: cn(sizeClasses6[size], "text-muted-foreground") });
22500
+ return /* @__PURE__ */ jsx184(IconStar, { className: cn(sizeClasses6[size], "text-muted-foreground") });
22267
22501
  };
22268
22502
  return (
22269
22503
  // biome-ignore lint/a11y/useSemanticElements: fieldset would affect layout
22270
- /* @__PURE__ */ jsx183(
22504
+ /* @__PURE__ */ jsx184(
22271
22505
  "div",
22272
22506
  {
22273
22507
  "data-slot": "rating",
@@ -22286,7 +22520,7 @@ function Rating({
22286
22520
  const isFilled = displayValue >= index + 1;
22287
22521
  const isHalf = displayValue >= index + 0.5 && displayValue < index + 1;
22288
22522
  const StarWrapper = isDisabled ? "div" : "button";
22289
- return /* @__PURE__ */ jsx183(
22523
+ return /* @__PURE__ */ jsx184(
22290
22524
  StarWrapper,
22291
22525
  {
22292
22526
  type: isDisabled ? void 0 : "button",
@@ -22326,12 +22560,12 @@ function Rating({
22326
22560
 
22327
22561
  // src/components/ui/resizable.tsx
22328
22562
  import * as ResizablePrimitive from "react-resizable-panels";
22329
- import { jsx as jsx184 } from "react/jsx-runtime";
22563
+ import { jsx as jsx185 } from "react/jsx-runtime";
22330
22564
  function ResizablePanelGroup({
22331
22565
  className,
22332
22566
  ...props
22333
22567
  }) {
22334
- return /* @__PURE__ */ jsx184(
22568
+ return /* @__PURE__ */ jsx185(
22335
22569
  ResizablePrimitive.PanelGroup,
22336
22570
  {
22337
22571
  "data-slot": "resizable-panel-group",
@@ -22346,26 +22580,26 @@ function ResizablePanelGroup({
22346
22580
  function ResizablePanel({
22347
22581
  ...props
22348
22582
  }) {
22349
- return /* @__PURE__ */ jsx184(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
22583
+ return /* @__PURE__ */ jsx185(ResizablePrimitive.Panel, { "data-slot": "resizable-panel", ...props });
22350
22584
  }
22351
22585
  function ResizableHandle({
22352
22586
  withHandle,
22353
22587
  className,
22354
22588
  ...props
22355
22589
  }) {
22356
- return /* @__PURE__ */ jsx184(
22590
+ return /* @__PURE__ */ jsx185(
22357
22591
  ResizablePrimitive.PanelResizeHandle,
22358
22592
  {
22359
22593
  "data-slot": "resizable-handle",
22360
22594
  className: cn("cn-resizable-handle", className),
22361
22595
  ...props,
22362
- children: withHandle && /* @__PURE__ */ jsx184("div", { "aria-hidden": true, className: "cn-resizable-handle-icon" })
22596
+ children: withHandle && /* @__PURE__ */ jsx185("div", { "aria-hidden": true, className: "cn-resizable-handle-icon" })
22363
22597
  }
22364
22598
  );
22365
22599
  }
22366
22600
 
22367
22601
  // src/components/ui/ring-progress.tsx
22368
- import { jsx as jsx185, jsxs as jsxs107 } from "react/jsx-runtime";
22602
+ import { jsx as jsx186, jsxs as jsxs107 } from "react/jsx-runtime";
22369
22603
  function RingProgress({
22370
22604
  value,
22371
22605
  size = 120,
@@ -22396,7 +22630,7 @@ function RingProgress({
22396
22630
  normalizedValue,
22397
22631
  "%"
22398
22632
  ] }),
22399
- /* @__PURE__ */ jsx185(
22633
+ /* @__PURE__ */ jsx186(
22400
22634
  "circle",
22401
22635
  {
22402
22636
  cx: size / 2,
@@ -22408,7 +22642,7 @@ function RingProgress({
22408
22642
  className: "text-muted/40"
22409
22643
  }
22410
22644
  ),
22411
- /* @__PURE__ */ jsx185(
22645
+ /* @__PURE__ */ jsx186(
22412
22646
  "circle",
22413
22647
  {
22414
22648
  cx: size / 2,
@@ -22424,14 +22658,14 @@ function RingProgress({
22424
22658
  }
22425
22659
  )
22426
22660
  ] }),
22427
- label && /* @__PURE__ */ jsx185("div", { className: "absolute inset-0 flex items-center justify-center", children: typeof label === "string" ? /* @__PURE__ */ jsx185("span", { className: "text-foreground text-sm font-semibold", children: label }) : label })
22661
+ label && /* @__PURE__ */ jsx186("div", { className: "absolute inset-0 flex items-center justify-center", children: typeof label === "string" ? /* @__PURE__ */ jsx186("span", { className: "text-foreground text-sm font-semibold", children: label }) : label })
22428
22662
  ]
22429
22663
  }
22430
22664
  );
22431
22665
  }
22432
22666
 
22433
22667
  // src/components/ui/semi-circle-progress.tsx
22434
- import { jsx as jsx186, jsxs as jsxs108 } from "react/jsx-runtime";
22668
+ import { jsx as jsx187, jsxs as jsxs108 } from "react/jsx-runtime";
22435
22669
  function SemiCircleProgress({
22436
22670
  className,
22437
22671
  value,
@@ -22470,7 +22704,7 @@ function SemiCircleProgress({
22470
22704
  Math.round(normalizedValue),
22471
22705
  "%"
22472
22706
  ] }),
22473
- /* @__PURE__ */ jsx186(
22707
+ /* @__PURE__ */ jsx187(
22474
22708
  "path",
22475
22709
  {
22476
22710
  d: `M ${thickness / 2},${size / 2} A ${radius},${radius} 0 0,1 ${size - thickness / 2},${size / 2}`,
@@ -22480,7 +22714,7 @@ function SemiCircleProgress({
22480
22714
  strokeLinecap: "round"
22481
22715
  }
22482
22716
  ),
22483
- /* @__PURE__ */ jsx186(
22717
+ /* @__PURE__ */ jsx187(
22484
22718
  "path",
22485
22719
  {
22486
22720
  d: `M ${thickness / 2},${size / 2} A ${radius},${radius} 0 0,1 ${size - thickness / 2},${size / 2}`,
@@ -22498,7 +22732,7 @@ function SemiCircleProgress({
22498
22732
  ]
22499
22733
  }
22500
22734
  ),
22501
- label && /* @__PURE__ */ jsx186("div", { className: "cn-semi-circle-progress-label text-center", children: label })
22735
+ label && /* @__PURE__ */ jsx187("div", { className: "cn-semi-circle-progress-label text-center", children: label })
22502
22736
  ]
22503
22737
  }
22504
22738
  );
@@ -22506,7 +22740,7 @@ function SemiCircleProgress({
22506
22740
 
22507
22741
  // src/components/ui/simple-grid.tsx
22508
22742
  import { cva as cva24 } from "class-variance-authority";
22509
- import { jsx as jsx187 } from "react/jsx-runtime";
22743
+ import { jsx as jsx188 } from "react/jsx-runtime";
22510
22744
  var simpleGridVariants = cva24("grid w-full", {
22511
22745
  variants: {
22512
22746
  cols: {
@@ -22553,7 +22787,7 @@ function SimpleGrid({
22553
22787
  "2xl": "2.5rem"
22554
22788
  }[verticalSpacing] : void 0;
22555
22789
  const gridTemplateColumns = minChildWidth ? `repeat(auto-fit, minmax(${typeof minChildWidth === "number" ? `${minChildWidth}px` : minChildWidth}, 1fr))` : void 0;
22556
- return /* @__PURE__ */ jsx187(
22790
+ return /* @__PURE__ */ jsx188(
22557
22791
  "div",
22558
22792
  {
22559
22793
  "data-slot": "simple-grid",
@@ -22574,7 +22808,7 @@ function SimpleGrid({
22574
22808
  }
22575
22809
 
22576
22810
  // src/components/ui/space.tsx
22577
- import { jsx as jsx188 } from "react/jsx-runtime";
22811
+ import { jsx as jsx189 } from "react/jsx-runtime";
22578
22812
  var sizeToRem = {
22579
22813
  xs: "0.25rem",
22580
22814
  sm: "0.5rem",
@@ -22606,7 +22840,7 @@ function Space({ className, h, w, style, ...props }) {
22606
22840
  styleOut.width = wVal;
22607
22841
  styleOut.minWidth = styleOut.minWidth ?? wVal;
22608
22842
  }
22609
- return /* @__PURE__ */ jsx188(
22843
+ return /* @__PURE__ */ jsx189(
22610
22844
  "div",
22611
22845
  {
22612
22846
  "data-slot": "space",
@@ -22619,8 +22853,8 @@ function Space({ className, h, w, style, ...props }) {
22619
22853
 
22620
22854
  // src/components/ui/spoiler.tsx
22621
22855
  import { IconChevronDown as IconChevronDown15 } from "@tabler/icons-react";
22622
- import { useEffect as useEffect29, useRef as useRef22, useState as useState52 } from "react";
22623
- import { jsx as jsx189, jsxs as jsxs109 } from "react/jsx-runtime";
22856
+ import { useEffect as useEffect30, useRef as useRef22, useState as useState52 } from "react";
22857
+ import { jsx as jsx190, jsxs as jsxs109 } from "react/jsx-runtime";
22624
22858
  function Spoiler({
22625
22859
  maxHeight = 100,
22626
22860
  showLabel = "Show more",
@@ -22633,7 +22867,7 @@ function Spoiler({
22633
22867
  const [isExpanded, setIsExpanded] = useState52(initialState);
22634
22868
  const [shouldShowButton, setShouldShowButton] = useState52(false);
22635
22869
  const contentRef = useRef22(null);
22636
- useEffect29(() => {
22870
+ useEffect30(() => {
22637
22871
  const el = contentRef.current;
22638
22872
  if (!el) {
22639
22873
  return;
@@ -22657,7 +22891,7 @@ function Spoiler({
22657
22891
  className: cn("cn-spoiler relative", className),
22658
22892
  ...props,
22659
22893
  children: [
22660
- /* @__PURE__ */ jsx189(
22894
+ /* @__PURE__ */ jsx190(
22661
22895
  "div",
22662
22896
  {
22663
22897
  ref: contentRef,
@@ -22669,7 +22903,7 @@ function Spoiler({
22669
22903
  children
22670
22904
  }
22671
22905
  ),
22672
- !isExpanded && shouldShowButton && /* @__PURE__ */ jsx189(
22906
+ !isExpanded && shouldShowButton && /* @__PURE__ */ jsx190(
22673
22907
  "div",
22674
22908
  {
22675
22909
  "data-slot": "spoiler-fade",
@@ -22685,7 +22919,7 @@ function Spoiler({
22685
22919
  className: "mt-2 transition-colors",
22686
22920
  children: [
22687
22921
  isExpanded ? hideLabel : showLabel,
22688
- /* @__PURE__ */ jsx189(
22922
+ /* @__PURE__ */ jsx190(
22689
22923
  IconChevronDown15,
22690
22924
  {
22691
22925
  className: cn(
@@ -22703,7 +22937,7 @@ function Spoiler({
22703
22937
  }
22704
22938
 
22705
22939
  // src/components/ui/stack.tsx
22706
- import { jsx as jsx190 } from "react/jsx-runtime";
22940
+ import { jsx as jsx191 } from "react/jsx-runtime";
22707
22941
  function Stack({
22708
22942
  className,
22709
22943
  gap = "md",
@@ -22732,7 +22966,7 @@ function Stack({
22732
22966
  between: "justify-between",
22733
22967
  around: "justify-around"
22734
22968
  };
22735
- return /* @__PURE__ */ jsx190(
22969
+ return /* @__PURE__ */ jsx191(
22736
22970
  "div",
22737
22971
  {
22738
22972
  "data-slot": "stack",
@@ -22752,7 +22986,7 @@ function Stack({
22752
22986
  // src/components/ui/stepper.tsx
22753
22987
  import { IconCheck as IconCheck9 } from "@tabler/icons-react";
22754
22988
  import { createContext as createContext8, useContext as useContext9 } from "react";
22755
- import { jsx as jsx191, jsxs as jsxs110 } from "react/jsx-runtime";
22989
+ import { jsx as jsx192, jsxs as jsxs110 } from "react/jsx-runtime";
22756
22990
  var StepperContext = createContext8({
22757
22991
  activeStep: 0,
22758
22992
  orientation: "horizontal"
@@ -22765,7 +22999,7 @@ function Stepper({
22765
22999
  children,
22766
23000
  ...props
22767
23001
  }) {
22768
- return /* @__PURE__ */ jsx191(StepperContext.Provider, { value: { activeStep, orientation }, children: /* @__PURE__ */ jsx191(
23002
+ return /* @__PURE__ */ jsx192(StepperContext.Provider, { value: { activeStep, orientation }, children: /* @__PURE__ */ jsx192(
22769
23003
  "div",
22770
23004
  {
22771
23005
  "data-slot": "stepper",
@@ -22791,17 +23025,17 @@ function Step({
22791
23025
  const { activeStep, orientation } = useContext9(StepperContext);
22792
23026
  const isActive = index === activeStep;
22793
23027
  const isCompleted = index < activeStep;
22794
- let state = "inactive";
23028
+ let state2 = "inactive";
22795
23029
  if (isCompleted) {
22796
- state = "completed";
23030
+ state2 = "completed";
22797
23031
  } else if (isActive) {
22798
- state = "active";
23032
+ state2 = "active";
22799
23033
  }
22800
23034
  return /* @__PURE__ */ jsxs110(
22801
23035
  "div",
22802
23036
  {
22803
23037
  "data-slot": "step",
22804
- "data-state": state,
23038
+ "data-state": state2,
22805
23039
  className: cn(
22806
23040
  "cn-step flex",
22807
23041
  orientation === "horizontal" ? "flex-1 items-center" : "flex-row gap-4",
@@ -22817,13 +23051,13 @@ function Step({
22817
23051
  orientation === "horizontal" && "flex-col gap-2"
22818
23052
  ),
22819
23053
  children: [
22820
- /* @__PURE__ */ jsx191(
23054
+ /* @__PURE__ */ jsx192(
22821
23055
  "div",
22822
23056
  {
22823
23057
  "data-slot": "step-indicator",
22824
- "data-state": state,
23058
+ "data-state": state2,
22825
23059
  className: cn("cn-step-indicator"),
22826
- children: isCompleted ? /* @__PURE__ */ jsx191(IconCheck9, { className: "size-5" }) : /* @__PURE__ */ jsx191("span", { children: index + 1 })
23060
+ children: isCompleted ? /* @__PURE__ */ jsx192(IconCheck9, { className: "size-5" }) : /* @__PURE__ */ jsx192("span", { children: index + 1 })
22827
23061
  }
22828
23062
  ),
22829
23063
  (label || description) && /* @__PURE__ */ jsxs110(
@@ -22834,23 +23068,23 @@ function Step({
22834
23068
  orientation === "vertical" && "text-left"
22835
23069
  ),
22836
23070
  children: [
22837
- label && /* @__PURE__ */ jsx191("div", { className: cn("cn-step-label"), children: label }),
22838
- description && /* @__PURE__ */ jsx191("div", { className: "cn-step-description", children: description })
23071
+ label && /* @__PURE__ */ jsx192("div", { className: cn("cn-step-label"), children: label }),
23072
+ description && /* @__PURE__ */ jsx192("div", { className: "cn-step-description", children: description })
22839
23073
  ]
22840
23074
  }
22841
23075
  )
22842
23076
  ]
22843
23077
  }
22844
23078
  ),
22845
- orientation === "horizontal" && !isLast && /* @__PURE__ */ jsx191(
23079
+ orientation === "horizontal" && !isLast && /* @__PURE__ */ jsx192(
22846
23080
  "div",
22847
23081
  {
22848
23082
  "data-slot": "step-connector",
22849
- "data-state": state,
23083
+ "data-state": state2,
22850
23084
  className: cn("cn-step-connector")
22851
23085
  }
22852
23086
  ),
22853
- orientation === "vertical" && /* @__PURE__ */ jsx191("div", { className: "flex flex-1 flex-col gap-2", children })
23087
+ orientation === "vertical" && /* @__PURE__ */ jsx192("div", { className: "flex flex-1 flex-col gap-2", children })
22854
23088
  ]
22855
23089
  }
22856
23090
  );
@@ -22858,7 +23092,7 @@ function Step({
22858
23092
 
22859
23093
  // src/components/ui/switch.tsx
22860
23094
  import { Switch as SwitchPrimitive } from "@base-ui/react/switch";
22861
- import { jsx as jsx192 } from "react/jsx-runtime";
23095
+ import { jsx as jsx193 } from "react/jsx-runtime";
22862
23096
  function mapSwitchSize(size) {
22863
23097
  return size === "xs" || size === "sm" ? "sm" : "default";
22864
23098
  }
@@ -22869,7 +23103,7 @@ function Switch({
22869
23103
  ...props
22870
23104
  }) {
22871
23105
  const mappedSize = mapSwitchSize(size);
22872
- return /* @__PURE__ */ jsx192(
23106
+ return /* @__PURE__ */ jsx193(
22873
23107
  SwitchPrimitive.Root,
22874
23108
  {
22875
23109
  "data-slot": "switch",
@@ -22881,7 +23115,7 @@ function Switch({
22881
23115
  className
22882
23116
  ),
22883
23117
  ...props,
22884
- children: /* @__PURE__ */ jsx192(
23118
+ children: /* @__PURE__ */ jsx193(
22885
23119
  SwitchPrimitive.Thumb,
22886
23120
  {
22887
23121
  "data-slot": "switch-thumb",
@@ -22893,7 +23127,7 @@ function Switch({
22893
23127
  }
22894
23128
 
22895
23129
  // src/components/ui/table-of-contents.tsx
22896
- import { jsx as jsx193 } from "react/jsx-runtime";
23130
+ import { jsx as jsx194 } from "react/jsx-runtime";
22897
23131
  function TableOfContents({
22898
23132
  className,
22899
23133
  items,
@@ -22904,7 +23138,7 @@ function TableOfContents({
22904
23138
  minDepth = 1,
22905
23139
  ...props
22906
23140
  }) {
22907
- return /* @__PURE__ */ jsx193(
23141
+ return /* @__PURE__ */ jsx194(
22908
23142
  "nav",
22909
23143
  {
22910
23144
  "data-slot": "table-of-contents",
@@ -22915,7 +23149,7 @@ function TableOfContents({
22915
23149
  const depth = item.depth ?? 1;
22916
23150
  const paddingLeft = Math.max(0, depth - minDepth) * depthOffset;
22917
23151
  const isActive = activeId === item.id;
22918
- return /* @__PURE__ */ jsx193(
23152
+ return /* @__PURE__ */ jsx194(
22919
23153
  UnstyledButton,
22920
23154
  {
22921
23155
  type: "button",
@@ -22938,7 +23172,7 @@ function TableOfContents({
22938
23172
  // src/components/ui/tags-input.tsx
22939
23173
  import { IconX as IconX14 } from "@tabler/icons-react";
22940
23174
  import { useState as useState53 } from "react";
22941
- import { jsx as jsx194, jsxs as jsxs111 } from "react/jsx-runtime";
23175
+ import { jsx as jsx195, jsxs as jsxs111 } from "react/jsx-runtime";
22942
23176
  function TagsInput({
22943
23177
  className,
22944
23178
  value,
@@ -23019,8 +23253,8 @@ function TagsInput({
23019
23253
  disabled,
23020
23254
  className: "cn-combobox-chip-remove",
23021
23255
  children: [
23022
- /* @__PURE__ */ jsx194("span", { className: "sr-only", children: "Remove" }),
23023
- /* @__PURE__ */ jsx194(IconX14, { className: "size-3" })
23256
+ /* @__PURE__ */ jsx195("span", { className: "sr-only", children: "Remove" }),
23257
+ /* @__PURE__ */ jsx195(IconX14, { className: "size-3" })
23024
23258
  ]
23025
23259
  }
23026
23260
  )
@@ -23028,7 +23262,7 @@ function TagsInput({
23028
23262
  },
23029
23263
  allowDuplicates ? `${tag}-${index}` : tag
23030
23264
  )),
23031
- /* @__PURE__ */ jsx194(
23265
+ /* @__PURE__ */ jsx195(
23032
23266
  "input",
23033
23267
  {
23034
23268
  type: "text",
@@ -23047,7 +23281,7 @@ function TagsInput({
23047
23281
 
23048
23282
  // src/components/ui/text-input.tsx
23049
23283
  import { forwardRef as forwardRef16 } from "react";
23050
- import { jsx as jsx195, jsxs as jsxs112 } from "react/jsx-runtime";
23284
+ import { jsx as jsx196, jsxs as jsxs112 } from "react/jsx-runtime";
23051
23285
  var TextInput = forwardRef16(
23052
23286
  ({
23053
23287
  label,
@@ -23082,8 +23316,8 @@ var TextInput = forwardRef16(
23082
23316
  disabled,
23083
23317
  className: cn(size && groupSizeClasses[size]),
23084
23318
  children: [
23085
- leftSection && /* @__PURE__ */ jsx195(InputGroupAddon, { align: "inline-start", className: "pointer-events-none", children: leftSection }),
23086
- /* @__PURE__ */ jsx195(
23319
+ leftSection && /* @__PURE__ */ jsx196(InputGroupAddon, { align: "inline-start", className: "pointer-events-none", children: leftSection }),
23320
+ /* @__PURE__ */ jsx196(
23087
23321
  InputGroupInput,
23088
23322
  {
23089
23323
  ref,
@@ -23094,7 +23328,7 @@ var TextInput = forwardRef16(
23094
23328
  ...inputProps
23095
23329
  }
23096
23330
  ),
23097
- rightSection && /* @__PURE__ */ jsx195(
23331
+ rightSection && /* @__PURE__ */ jsx196(
23098
23332
  InputGroupAddon,
23099
23333
  {
23100
23334
  align: "inline-end",
@@ -23110,7 +23344,7 @@ var TextInput = forwardRef16(
23110
23344
  if (!hasWrapper) {
23111
23345
  return inputElement;
23112
23346
  }
23113
- return /* @__PURE__ */ jsx195(
23347
+ return /* @__PURE__ */ jsx196(
23114
23348
  InputWrapper,
23115
23349
  {
23116
23350
  label,
@@ -23133,7 +23367,7 @@ TextInput.displayName = "TextInput";
23133
23367
 
23134
23368
  // src/components/ui/theme-icon.tsx
23135
23369
  import { cva as cva25 } from "class-variance-authority";
23136
- import { jsx as jsx196 } from "react/jsx-runtime";
23370
+ import { jsx as jsx197 } from "react/jsx-runtime";
23137
23371
  var themeIconVariants = cva25(
23138
23372
  "cn-theme-icon inline-flex items-center justify-center shrink-0 transition-colors",
23139
23373
  {
@@ -23266,7 +23500,7 @@ function ThemeIcon({
23266
23500
  children,
23267
23501
  ...props
23268
23502
  }) {
23269
- return /* @__PURE__ */ jsx196(
23503
+ return /* @__PURE__ */ jsx197(
23270
23504
  "div",
23271
23505
  {
23272
23506
  "data-slot": "theme-icon",
@@ -23281,9 +23515,9 @@ function ThemeIcon({
23281
23515
  }
23282
23516
 
23283
23517
  // src/components/ui/timeline.tsx
23284
- import { jsx as jsx197 } from "react/jsx-runtime";
23518
+ import { jsx as jsx198 } from "react/jsx-runtime";
23285
23519
  function Timeline({ className, ...props }) {
23286
- return /* @__PURE__ */ jsx197(
23520
+ return /* @__PURE__ */ jsx198(
23287
23521
  "ol",
23288
23522
  {
23289
23523
  "data-slot": "timeline",
@@ -23293,7 +23527,7 @@ function Timeline({ className, ...props }) {
23293
23527
  );
23294
23528
  }
23295
23529
  function TimelineItem({ className, ...props }) {
23296
- return /* @__PURE__ */ jsx197(
23530
+ return /* @__PURE__ */ jsx198(
23297
23531
  "li",
23298
23532
  {
23299
23533
  "data-slot": "timeline-item",
@@ -23307,7 +23541,7 @@ function TimelineDot({
23307
23541
  variant = "default",
23308
23542
  ...props
23309
23543
  }) {
23310
- return /* @__PURE__ */ jsx197(
23544
+ return /* @__PURE__ */ jsx198(
23311
23545
  "div",
23312
23546
  {
23313
23547
  "data-slot": "timeline-dot",
@@ -23318,7 +23552,7 @@ function TimelineDot({
23318
23552
  );
23319
23553
  }
23320
23554
  function TimelineContent({ className, ...props }) {
23321
- return /* @__PURE__ */ jsx197(
23555
+ return /* @__PURE__ */ jsx198(
23322
23556
  "div",
23323
23557
  {
23324
23558
  "data-slot": "timeline-content",
@@ -23332,13 +23566,13 @@ function TimelineTitle({
23332
23566
  children,
23333
23567
  ...props
23334
23568
  }) {
23335
- return /* @__PURE__ */ jsx197(
23569
+ return /* @__PURE__ */ jsx198(
23336
23570
  "h3",
23337
23571
  {
23338
23572
  "data-slot": "timeline-title",
23339
23573
  className: cn("cn-timeline-title", className),
23340
23574
  ...props,
23341
- children: children ?? /* @__PURE__ */ jsx197("span", { className: "sr-only", children: "Timeline item" })
23575
+ children: children ?? /* @__PURE__ */ jsx198("span", { className: "sr-only", children: "Timeline item" })
23342
23576
  }
23343
23577
  );
23344
23578
  }
@@ -23346,7 +23580,7 @@ function TimelineDescription({
23346
23580
  className,
23347
23581
  ...props
23348
23582
  }) {
23349
- return /* @__PURE__ */ jsx197(
23583
+ return /* @__PURE__ */ jsx198(
23350
23584
  "p",
23351
23585
  {
23352
23586
  "data-slot": "timeline-description",
@@ -23356,7 +23590,7 @@ function TimelineDescription({
23356
23590
  );
23357
23591
  }
23358
23592
  function TimelineTime({ className, ...props }) {
23359
- return /* @__PURE__ */ jsx197(
23593
+ return /* @__PURE__ */ jsx198(
23360
23594
  "time",
23361
23595
  {
23362
23596
  "data-slot": "timeline-time",
@@ -23368,7 +23602,7 @@ function TimelineTime({ className, ...props }) {
23368
23602
 
23369
23603
  // src/components/ui/title.tsx
23370
23604
  import { cva as cva26 } from "class-variance-authority";
23371
- import { jsx as jsx198 } from "react/jsx-runtime";
23605
+ import { jsx as jsx199 } from "react/jsx-runtime";
23372
23606
  var titleVariants = cva26("font-semibold tracking-tight text-pretty", {
23373
23607
  variants: {
23374
23608
  order: {
@@ -23419,7 +23653,7 @@ function Title({
23419
23653
  ...props
23420
23654
  }) {
23421
23655
  const Component = `h${order}`;
23422
- return /* @__PURE__ */ jsx198(
23656
+ return /* @__PURE__ */ jsx199(
23423
23657
  Component,
23424
23658
  {
23425
23659
  "data-slot": "title",
@@ -23436,7 +23670,7 @@ function Title({
23436
23670
  // src/components/ui/toggle.tsx
23437
23671
  import { Toggle as TogglePrimitive } from "@base-ui/react/toggle";
23438
23672
  import { cva as cva27 } from "class-variance-authority";
23439
- import { jsx as jsx199 } from "react/jsx-runtime";
23673
+ import { jsx as jsx200 } from "react/jsx-runtime";
23440
23674
  var toggleVariants = cva27(
23441
23675
  'cn-toggle inline-flex items-center justify-center gap-2 whitespace-nowrap border border-transparent outline-none transition-colors [&_svg]:pointer-events-none [&_svg:not([class*="size-"])]:size-4 [&_svg]:shrink-0',
23442
23676
  {
@@ -23463,7 +23697,7 @@ function Toggle({
23463
23697
  size,
23464
23698
  ...props
23465
23699
  }) {
23466
- return /* @__PURE__ */ jsx199(
23700
+ return /* @__PURE__ */ jsx200(
23467
23701
  TogglePrimitive,
23468
23702
  {
23469
23703
  "data-slot": "toggle",
@@ -23477,7 +23711,7 @@ function Toggle({
23477
23711
  import { Toggle as TogglePrimitive2 } from "@base-ui/react/toggle";
23478
23712
  import { ToggleGroup as ToggleGroupPrimitive } from "@base-ui/react/toggle-group";
23479
23713
  import * as React16 from "react";
23480
- import { jsx as jsx200 } from "react/jsx-runtime";
23714
+ import { jsx as jsx201 } from "react/jsx-runtime";
23481
23715
  var ToggleGroupContext = React16.createContext({
23482
23716
  size: "default",
23483
23717
  variant: "default",
@@ -23491,7 +23725,7 @@ function ToggleGroup({
23491
23725
  children,
23492
23726
  ...props
23493
23727
  }) {
23494
- return /* @__PURE__ */ jsx200(
23728
+ return /* @__PURE__ */ jsx201(
23495
23729
  ToggleGroupPrimitive,
23496
23730
  {
23497
23731
  "data-slot": "toggle-group",
@@ -23504,7 +23738,7 @@ function ToggleGroup({
23504
23738
  className
23505
23739
  ),
23506
23740
  ...props,
23507
- children: /* @__PURE__ */ jsx200(ToggleGroupContext.Provider, { value: { variant, size, spacing }, children })
23741
+ children: /* @__PURE__ */ jsx201(ToggleGroupContext.Provider, { value: { variant, size, spacing }, children })
23508
23742
  }
23509
23743
  );
23510
23744
  }
@@ -23516,7 +23750,7 @@ function ToggleGroupItem({
23516
23750
  ...props
23517
23751
  }) {
23518
23752
  const context = React16.useContext(ToggleGroupContext);
23519
- return /* @__PURE__ */ jsx200(
23753
+ return /* @__PURE__ */ jsx201(
23520
23754
  TogglePrimitive2,
23521
23755
  {
23522
23756
  "data-slot": "toggle-group-item",
@@ -23538,8 +23772,8 @@ function ToggleGroupItem({
23538
23772
  }
23539
23773
 
23540
23774
  // src/components/ui/transition.tsx
23541
- import { useEffect as useEffect30, useState as useState54 } from "react";
23542
- import { Fragment as Fragment30, jsx as jsx201 } from "react/jsx-runtime";
23775
+ import { useEffect as useEffect31, useState as useState54 } from "react";
23776
+ import { Fragment as Fragment30, jsx as jsx202 } from "react/jsx-runtime";
23543
23777
  var TRANSITIONS = {
23544
23778
  fade: {
23545
23779
  in: { opacity: 1 },
@@ -23597,7 +23831,7 @@ function useTransitionState(mounted, duration, exitDuration, timingFunction, onE
23597
23831
  mounted ? "entered" : "exited"
23598
23832
  );
23599
23833
  const [displayDuration, setDisplayDuration] = useState54(duration);
23600
- useEffect30(() => {
23834
+ useEffect31(() => {
23601
23835
  if (mounted) {
23602
23836
  setDisplayDuration(duration);
23603
23837
  const t12 = setTimeout(() => {
@@ -23679,7 +23913,7 @@ function Transition({
23679
23913
  const t = TRANSITIONS[transition];
23680
23914
  if (!t) {
23681
23915
  if (mounted) {
23682
- return /* @__PURE__ */ jsx201(Fragment30, { children: children({}) });
23916
+ return /* @__PURE__ */ jsx202(Fragment30, { children: children({}) });
23683
23917
  }
23684
23918
  if (keepMounted) {
23685
23919
  return children({ display: "none" });
@@ -23705,13 +23939,13 @@ function Transition({
23705
23939
  transitionDuration: `${d}ms`,
23706
23940
  transitionTimingFunction: tf
23707
23941
  };
23708
- return /* @__PURE__ */ jsx201(Fragment30, { children: children(styles) });
23942
+ return /* @__PURE__ */ jsx202(Fragment30, { children: children(styles) });
23709
23943
  }
23710
23944
 
23711
23945
  // src/components/ui/tree.tsx
23712
23946
  import { IconChevronRight as IconChevronRight11 } from "@tabler/icons-react";
23713
23947
  import { useState as useState55 } from "react";
23714
- import { jsx as jsx202, jsxs as jsxs113 } from "react/jsx-runtime";
23948
+ import { jsx as jsx203, jsxs as jsxs113 } from "react/jsx-runtime";
23715
23949
  function Tree({
23716
23950
  className,
23717
23951
  data,
@@ -23747,14 +23981,14 @@ function Tree({
23747
23981
  onSelectedValueChange?.(node.value);
23748
23982
  }
23749
23983
  };
23750
- return /* @__PURE__ */ jsx202(
23984
+ return /* @__PURE__ */ jsx203(
23751
23985
  "div",
23752
23986
  {
23753
23987
  "data-slot": "tree",
23754
23988
  role: "tree",
23755
23989
  className: cn("cn-tree", className),
23756
23990
  ...props,
23757
- children: data.map((node) => /* @__PURE__ */ jsx202(
23991
+ children: data.map((node) => /* @__PURE__ */ jsx203(
23758
23992
  TreeNode,
23759
23993
  {
23760
23994
  node,
@@ -23808,21 +24042,21 @@ function TreeNode({
23808
24042
  style: { paddingLeft: `${level * levelOffset + 4}px` },
23809
24043
  onClick: () => handleNodeClick(node, hasChildren),
23810
24044
  children: [
23811
- hasChildren ? /* @__PURE__ */ jsx202(
24045
+ hasChildren ? /* @__PURE__ */ jsx203(
23812
24046
  "span",
23813
24047
  {
23814
24048
  className: cn(
23815
24049
  "cn-tree-node-chevron text-muted-foreground flex shrink-0 transition-transform",
23816
24050
  expanded && "rotate-90"
23817
24051
  ),
23818
- children: /* @__PURE__ */ jsx202(IconChevronRight11, { className: "size-4" })
24052
+ children: /* @__PURE__ */ jsx203(IconChevronRight11, { className: "size-4" })
23819
24053
  }
23820
- ) : /* @__PURE__ */ jsx202("span", { "aria-hidden": true, className: "cn-tree-node-spacer w-4 shrink-0" }),
23821
- /* @__PURE__ */ jsx202("span", { className: "cn-tree-node-label min-w-0 flex-1 truncate", children: label })
24054
+ ) : /* @__PURE__ */ jsx203("span", { "aria-hidden": true, className: "cn-tree-node-spacer w-4 shrink-0" }),
24055
+ /* @__PURE__ */ jsx203("span", { className: "cn-tree-node-label min-w-0 flex-1 truncate", children: label })
23822
24056
  ]
23823
24057
  }
23824
24058
  ),
23825
- hasChildren && expanded && node.children && /* @__PURE__ */ jsx202("fieldset", { className: "cn-tree-node-children list-none border-0 p-0 m-0 min-w-0", children: node.children.map((child) => /* @__PURE__ */ jsx202(
24059
+ hasChildren && expanded && node.children && /* @__PURE__ */ jsx203("fieldset", { className: "cn-tree-node-children list-none border-0 p-0 m-0 min-w-0", children: node.children.map((child) => /* @__PURE__ */ jsx203(
23826
24060
  TreeNode,
23827
24061
  {
23828
24062
  node: child,
@@ -24140,6 +24374,7 @@ export {
24140
24374
  MonthPickerContent,
24141
24375
  MonthPickerInput,
24142
24376
  MultiSelect,
24377
+ NProgress,
24143
24378
  NativeSelect,
24144
24379
  NativeSelectBase,
24145
24380
  NavLink,
@@ -24317,11 +24552,14 @@ export {
24317
24552
  buttonVariants,
24318
24553
  chipVariants,
24319
24554
  codeVariants,
24555
+ completeNProgress,
24556
+ configureNProgress,
24320
24557
  containerVariants,
24321
24558
  dateToIsoDate,
24322
24559
  formatDateWithPattern,
24323
24560
  gridColVariants,
24324
24561
  gridVariants,
24562
+ incrementNProgress,
24325
24563
  indicatorVariants,
24326
24564
  isSameDay2 as isSameDay,
24327
24565
  isoDateToDate,
@@ -24332,7 +24570,11 @@ export {
24332
24570
  parseDateWithPattern,
24333
24571
  parseLooseDateString,
24334
24572
  pillVariants,
24573
+ resetNProgress,
24574
+ setNProgress,
24575
+ setNProgressStep,
24335
24576
  simpleGridVariants,
24577
+ startNProgress,
24336
24578
  stripTime2 as stripTime,
24337
24579
  tabsListVariants,
24338
24580
  textVariants,