@structyl/styled 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 your-lib contributors
3
+ Copyright (c) 2026 Mohammed Irfanul Alam Tanveer
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -125,11 +125,11 @@ The package re-exports a large catalog of components. Highlights:
125
125
  | `Table`, `Chart`, `Timeline`, `Stat`, `Rating`, `Typography` | Mixed | Data display and content. |
126
126
  | `buttonVariants`, `alertVariants` | Function | `tailwind-variants` helpers for composing class names. |
127
127
 
128
- Component prop types are re-exported alongside each component (for example `ButtonProps`, `DialogContentProps`, `SelectRootProps`). See the [full reference](https://structyl.dev) for every export and prop.
128
+ Component prop types are re-exported alongside each component (for example `ButtonProps`, `DialogContentProps`, `SelectRootProps`). See the [full reference](https://www.structyl.com) for every export and prop.
129
129
 
130
130
  ## Part of structyl
131
131
 
132
- This package is part of [structyl](https://github.com/imirfanul/structyl) — the React UI library with structure. Full documentation lives at [structyl.dev](https://structyl.dev).
132
+ This package is part of [structyl](https://github.com/imirfanul/structyl) — the React UI library with structure. Full documentation lives at [www.structyl.com](https://www.structyl.com).
133
133
 
134
134
  ## License
135
135
 
package/dist/index.cjs CHANGED
@@ -305,25 +305,30 @@ var buttonVariants = tailwindVariants.tv({
305
305
  ],
306
306
  defaultVariants: { variant: "default", size: "default" }
307
307
  });
308
- var ButtonSpinner = ({ className }) => /* @__PURE__ */ React44__namespace.createElement(
309
- "svg",
310
- {
311
- className: utils.cn("animate-spin", className),
312
- xmlns: "http://www.w3.org/2000/svg",
313
- fill: "none",
314
- viewBox: "0 0 24 24",
315
- "aria-hidden": true
316
- },
317
- /* @__PURE__ */ React44__namespace.createElement("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }),
318
- /* @__PURE__ */ React44__namespace.createElement(
319
- "path",
308
+ var ButtonSpinner = React44__namespace.forwardRef(
309
+ ({ className, ...props }, ref) => /* @__PURE__ */ React44__namespace.createElement(
310
+ "svg",
320
311
  {
321
- className: "opacity-75",
322
- fill: "currentColor",
323
- d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"
324
- }
312
+ ref,
313
+ className: utils.cn("animate-spin", className),
314
+ xmlns: "http://www.w3.org/2000/svg",
315
+ fill: "none",
316
+ viewBox: "0 0 24 24",
317
+ "aria-hidden": true,
318
+ ...props
319
+ },
320
+ /* @__PURE__ */ React44__namespace.createElement("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }),
321
+ /* @__PURE__ */ React44__namespace.createElement(
322
+ "path",
323
+ {
324
+ className: "opacity-75",
325
+ fill: "currentColor",
326
+ d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"
327
+ }
328
+ )
325
329
  )
326
330
  );
331
+ ButtonSpinner.displayName = "ButtonSpinner";
327
332
  var Button = React44__namespace.forwardRef(
328
333
  ({ className, variant, size, color, asChild = false, loading = false, loadingText, leftIcon, rightIcon, disabled, children, ...props }, ref) => {
329
334
  const isDisabled = disabled || loading;
@@ -892,19 +897,27 @@ var skeletonVariants = tailwindVariants.tv({
892
897
  var Skeleton = React44__namespace.forwardRef(
893
898
  ({ className, variant, shape, width, height, lines, style, ...props }, ref) => {
894
899
  if (lines && lines > 1) {
895
- return /* @__PURE__ */ React44__namespace.createElement("div", { className: "flex flex-col gap-2" }, Array.from({ length: lines }).map((_, i) => /* @__PURE__ */ React44__namespace.createElement(
900
+ return /* @__PURE__ */ React44__namespace.createElement(
896
901
  "div",
897
902
  {
898
- key: i,
899
- "aria-hidden": true,
900
- className: utils.cn(
901
- skeletonVariants({ variant, shape: "text" }),
902
- i === lines - 1 && "w-4/5",
903
- className
904
- ),
905
- style: { width: i === lines - 1 ? void 0 : width, height, ...style }
906
- }
907
- )));
903
+ ref,
904
+ className: utils.cn("flex flex-col gap-2", className),
905
+ style,
906
+ ...props
907
+ },
908
+ Array.from({ length: lines }).map((_, i) => /* @__PURE__ */ React44__namespace.createElement(
909
+ "div",
910
+ {
911
+ key: i,
912
+ "aria-hidden": true,
913
+ className: utils.cn(
914
+ skeletonVariants({ variant, shape: "text" }),
915
+ i === lines - 1 && "w-4/5"
916
+ ),
917
+ style: { width: i === lines - 1 ? void 0 : width, height }
918
+ }
919
+ ))
920
+ );
908
921
  }
909
922
  return /* @__PURE__ */ React44__namespace.createElement(
910
923
  "div",
@@ -2087,7 +2100,8 @@ var Pagination = React44__namespace.forwardRef(
2087
2100
  onPageSizeChange,
2088
2101
  pageSizeOptions = [10, 25, 50, 100],
2089
2102
  showTotalRows = true,
2090
- className
2103
+ className,
2104
+ ...rest
2091
2105
  }, ref) => {
2092
2106
  const totalPages = Math.max(pageCount, 1);
2093
2107
  const canPrev = page > 1;
@@ -2107,7 +2121,8 @@ var Pagination = React44__namespace.forwardRef(
2107
2121
  className: utils.cn(
2108
2122
  "flex flex-col gap-3 py-3 sm:flex-row sm:items-center sm:justify-between",
2109
2123
  className
2110
- )
2124
+ ),
2125
+ ...rest
2111
2126
  },
2112
2127
  /* @__PURE__ */ React44__namespace.createElement("div", { className: "text-muted-foreground flex flex-wrap items-center gap-4 text-sm" }, showTotalRows && totalRows !== void 0 && /* @__PURE__ */ React44__namespace.createElement("span", { className: "tabular-nums" }, totalRows, " total rows"), onPageSizeChange && /* @__PURE__ */ React44__namespace.createElement("label", { className: "flex items-center gap-2" }, /* @__PURE__ */ React44__namespace.createElement("span", { className: "whitespace-nowrap" }, "Rows per page"), /* @__PURE__ */ React44__namespace.createElement(
2113
2128
  Root12,
@@ -2657,10 +2672,11 @@ var Tooltip = ({
2657
2672
  variant,
2658
2673
  maxWidth,
2659
2674
  arrow,
2660
- disabled
2675
+ disabled,
2676
+ ...triggerProps
2661
2677
  }) => {
2662
2678
  if (disabled) return /* @__PURE__ */ React44__namespace.createElement(React44__namespace.Fragment, null, children);
2663
- return /* @__PURE__ */ React44__namespace.createElement(Primitives.Tooltip.Provider, { delayDuration, skipDelayDuration }, /* @__PURE__ */ React44__namespace.createElement(Root18, null, /* @__PURE__ */ React44__namespace.createElement(Trigger10, { asChild: true }, children), /* @__PURE__ */ React44__namespace.createElement(Content12, { side, align, variant, maxWidth, arrow }, label)));
2679
+ return /* @__PURE__ */ React44__namespace.createElement(Primitives.Tooltip.Provider, { delayDuration, skipDelayDuration }, /* @__PURE__ */ React44__namespace.createElement(Root18, null, /* @__PURE__ */ React44__namespace.createElement(Trigger10, { asChild: true, ...triggerProps }, children), /* @__PURE__ */ React44__namespace.createElement(Content12, { side, align, variant, maxWidth, arrow }, label)));
2664
2680
  };
2665
2681
  Tooltip.displayName = "Tooltip";
2666
2682
 
@@ -2922,7 +2938,8 @@ function Toaster({
2922
2938
  horizontal: defaultH = "right",
2923
2939
  vertical: defaultV = "bottom",
2924
2940
  maxToasts = 5,
2925
- className
2941
+ className,
2942
+ ...props
2926
2943
  }) {
2927
2944
  const { toasts, remove: remove2 } = useToast();
2928
2945
  const groups = React44__namespace.useMemo(() => {
@@ -2966,6 +2983,7 @@ function Toaster({
2966
2983
  }), /* @__PURE__ */ React44__namespace.createElement(
2967
2984
  Primitives.Toast.Viewport,
2968
2985
  {
2986
+ ...props,
2969
2987
  className: utils.cn(
2970
2988
  "fixed z-[100] flex max-h-screen w-full p-4 md:max-w-[420px] gap-2",
2971
2989
  getViewportClasses(h, v),
@@ -5459,8 +5477,10 @@ var DatePickerRoot = React44__namespace.forwardRef(
5459
5477
  loading,
5460
5478
  showOutsideDays,
5461
5479
  showDaysOutsideCurrentMonth,
5480
+ rootProps,
5462
5481
  ...props
5463
5482
  }, ref) => {
5483
+ const { className: rootClassName, ...restRootProps } = rootProps ?? {};
5464
5484
  const generatedId = React44__namespace.useId();
5465
5485
  const triggerId = id ?? generatedId;
5466
5486
  const helperId = helperText ? `${triggerId}-helper` : void 0;
@@ -5474,36 +5494,46 @@ var DatePickerRoot = React44__namespace.forwardRef(
5474
5494
  locale,
5475
5495
  loading
5476
5496
  },
5477
- /* @__PURE__ */ React44__namespace.createElement("div", { ref, className: utils.cn("grid w-fit gap-1.5", className) }, label ? /* @__PURE__ */ React44__namespace.createElement("label", { className: "text-sm font-medium text-foreground", htmlFor: triggerId }, label, required ? /* @__PURE__ */ React44__namespace.createElement("span", { "aria-hidden": "true" }, " *") : null) : null, /* @__PURE__ */ React44__namespace.createElement(
5478
- Trigger17,
5497
+ /* @__PURE__ */ React44__namespace.createElement(
5498
+ "div",
5479
5499
  {
5480
- id: triggerId,
5481
- name,
5482
- disabled: disabled || disableOpenPicker,
5483
- autoFocus,
5484
- "aria-invalid": error || void 0,
5485
- "aria-describedby": helperId,
5486
- "aria-label": labelText ?? "Choose date",
5487
- className: triggerClassName
5500
+ ...restRootProps,
5501
+ ref,
5502
+ className: utils.cn("grid w-fit gap-1.5", className, rootClassName)
5488
5503
  },
5504
+ label ? /* @__PURE__ */ React44__namespace.createElement("label", { className: "text-sm font-medium text-foreground", htmlFor: triggerId }, label, required ? /* @__PURE__ */ React44__namespace.createElement("span", { "aria-hidden": "true" }, " *") : null) : null,
5489
5505
  /* @__PURE__ */ React44__namespace.createElement(
5490
- Primitives.DatePicker.Value,
5506
+ Trigger17,
5491
5507
  {
5492
- locale,
5493
- format,
5494
- formatDensity,
5495
- placeholder: placeholder ?? "MM/DD/YYYY"
5496
- }
5497
- )
5498
- ), helperText ? /* @__PURE__ */ React44__namespace.createElement(
5499
- Typography2,
5500
- {
5501
- id: helperId,
5502
- variant: "muted",
5503
- className: utils.cn("text-xs", error && "text-destructive")
5504
- },
5505
- helperText
5506
- ) : null),
5508
+ id: triggerId,
5509
+ name,
5510
+ disabled: disabled || disableOpenPicker,
5511
+ autoFocus,
5512
+ "aria-invalid": error || void 0,
5513
+ "aria-describedby": helperId,
5514
+ "aria-label": labelText ?? "Choose date",
5515
+ className: triggerClassName
5516
+ },
5517
+ /* @__PURE__ */ React44__namespace.createElement(
5518
+ Primitives.DatePicker.Value,
5519
+ {
5520
+ locale,
5521
+ format,
5522
+ formatDensity,
5523
+ placeholder: placeholder ?? "MM/DD/YYYY"
5524
+ }
5525
+ )
5526
+ ),
5527
+ helperText ? /* @__PURE__ */ React44__namespace.createElement(
5528
+ Typography2,
5529
+ {
5530
+ id: helperId,
5531
+ variant: "muted",
5532
+ className: utils.cn("text-xs", error && "text-destructive")
5533
+ },
5534
+ helperText
5535
+ ) : null
5536
+ ),
5507
5537
  /* @__PURE__ */ React44__namespace.createElement(Content20, { className: contentClassName }, loading ? /* @__PURE__ */ React44__namespace.createElement("div", { className: "p-4 text-sm text-muted-foreground" }, /* @__PURE__ */ React44__namespace.createElement(Loading2, null)) : /* @__PURE__ */ React44__namespace.createElement(
5508
5538
  Calendar2,
5509
5539
  {
@@ -5552,7 +5582,9 @@ var Segment = React44__namespace.forwardRef(({ className, ...props }, ref) => /*
5552
5582
  ));
5553
5583
  Segment.displayName = "TimePicker.Segment";
5554
5584
  var Value4 = Primitives.TimePicker.Value;
5555
- var Separator10 = ({ children = ":" }) => /* @__PURE__ */ React44__namespace.createElement("span", { className: "text-muted-foreground" }, children);
5585
+ var Separator10 = React44__namespace.forwardRef(
5586
+ ({ className, children = ":", ...props }, ref) => /* @__PURE__ */ React44__namespace.createElement("span", { ref, className: utils.cn("text-muted-foreground", className), ...props }, children)
5587
+ );
5556
5588
  Separator10.displayName = "TimePicker.Separator";
5557
5589
  var TimePickerPanel = React44__namespace.forwardRef(
5558
5590
  ({
@@ -5870,8 +5902,10 @@ var TimePickerRoot = React44__namespace.forwardRef(
5870
5902
  locale,
5871
5903
  referenceDate,
5872
5904
  views,
5905
+ rootProps,
5873
5906
  ...props
5874
5907
  }, ref) => {
5908
+ const { className: rootClassName, ...restRootProps } = rootProps ?? {};
5875
5909
  const generatedId = React44__namespace.useId();
5876
5910
  const triggerId = id ?? generatedId;
5877
5911
  const helperId = helperText ? `${triggerId}-helper` : void 0;
@@ -5921,7 +5955,7 @@ var TimePickerRoot = React44__namespace.forwardRef(
5921
5955
  shouldDisableTime
5922
5956
  ]
5923
5957
  );
5924
- return /* @__PURE__ */ React44__namespace.createElement(Root17, { open, onOpenChange: setOpen }, /* @__PURE__ */ React44__namespace.createElement("div", { ref, className: utils.cn("grid w-fit gap-1.5", className) }, label ? /* @__PURE__ */ React44__namespace.createElement("label", { className: "text-sm font-medium text-foreground", htmlFor: triggerId, suppressHydrationWarning: true }, label, required ? /* @__PURE__ */ React44__namespace.createElement("span", { "aria-hidden": "true" }, " *") : null) : null, /* @__PURE__ */ React44__namespace.createElement(Trigger9, { asChild: true }, /* @__PURE__ */ React44__namespace.createElement(
5958
+ return /* @__PURE__ */ React44__namespace.createElement(Root17, { open, onOpenChange: setOpen }, /* @__PURE__ */ React44__namespace.createElement("div", { ...restRootProps, ref, className: utils.cn("grid w-fit gap-1.5", className, rootClassName) }, label ? /* @__PURE__ */ React44__namespace.createElement("label", { className: "text-sm font-medium text-foreground", htmlFor: triggerId, suppressHydrationWarning: true }, label, required ? /* @__PURE__ */ React44__namespace.createElement("span", { "aria-hidden": "true" }, " *") : null) : null, /* @__PURE__ */ React44__namespace.createElement(Trigger9, { asChild: true }, /* @__PURE__ */ React44__namespace.createElement(
5925
5959
  Button,
5926
5960
  {
5927
5961
  id: triggerId,
@@ -6401,42 +6435,53 @@ var DateRangePickerRoot = React44__namespace.forwardRef(
6401
6435
  shortcutsClassName,
6402
6436
  showOutsideDays,
6403
6437
  showDaysOutsideCurrentMonth,
6438
+ rootProps,
6404
6439
  ...props
6405
6440
  }, ref) => {
6406
6441
  const generatedId = React44__namespace.useId();
6407
6442
  const triggerId = id ?? generatedId;
6408
6443
  const helperId = helperText ? `${triggerId}-helper` : void 0;
6409
6444
  const labelText = typeof label === "string" ? label : void 0;
6410
- return /* @__PURE__ */ React44__namespace.createElement(Root33, { ...props, disabled, readOnly, locale, loading }, /* @__PURE__ */ React44__namespace.createElement("div", { ref, className: utils.cn("grid w-fit gap-1.5", className) }, label ? /* @__PURE__ */ React44__namespace.createElement("label", { className: "text-sm font-medium text-foreground", htmlFor: triggerId }, label, required ? /* @__PURE__ */ React44__namespace.createElement("span", { "aria-hidden": "true" }, " *") : null) : null, /* @__PURE__ */ React44__namespace.createElement(
6411
- Trigger18,
6445
+ return /* @__PURE__ */ React44__namespace.createElement(Root33, { ...props, disabled, readOnly, locale, loading }, /* @__PURE__ */ React44__namespace.createElement(
6446
+ "div",
6412
6447
  {
6413
- id: triggerId,
6414
- name,
6415
- disabled,
6416
- "aria-invalid": error || void 0,
6417
- "aria-describedby": helperId,
6418
- "aria-label": labelText ?? "Choose date range",
6419
- className: triggerClassName
6448
+ ref,
6449
+ ...rootProps,
6450
+ className: utils.cn("grid w-fit gap-1.5", className, rootProps?.className)
6420
6451
  },
6452
+ label ? /* @__PURE__ */ React44__namespace.createElement("label", { className: "text-sm font-medium text-foreground", htmlFor: triggerId }, label, required ? /* @__PURE__ */ React44__namespace.createElement("span", { "aria-hidden": "true" }, " *") : null) : null,
6421
6453
  /* @__PURE__ */ React44__namespace.createElement(
6422
- Primitives.DateRangePicker.Value,
6454
+ Trigger18,
6423
6455
  {
6424
- locale,
6425
- format,
6426
- formatDensity,
6427
- separator,
6428
- placeholder: placeholder ?? "MM/DD/YYYY - MM/DD/YYYY"
6429
- }
6430
- )
6431
- ), helperText ? /* @__PURE__ */ React44__namespace.createElement(
6432
- Typography2,
6433
- {
6434
- id: helperId,
6435
- variant: "muted",
6436
- className: utils.cn("text-xs", error && "text-destructive")
6437
- },
6438
- helperText
6439
- ) : null), /* @__PURE__ */ React44__namespace.createElement(
6456
+ id: triggerId,
6457
+ name,
6458
+ disabled,
6459
+ "aria-invalid": error || void 0,
6460
+ "aria-describedby": helperId,
6461
+ "aria-label": labelText ?? "Choose date range",
6462
+ className: triggerClassName
6463
+ },
6464
+ /* @__PURE__ */ React44__namespace.createElement(
6465
+ Primitives.DateRangePicker.Value,
6466
+ {
6467
+ locale,
6468
+ format,
6469
+ formatDensity,
6470
+ separator,
6471
+ placeholder: placeholder ?? "MM/DD/YYYY - MM/DD/YYYY"
6472
+ }
6473
+ )
6474
+ ),
6475
+ helperText ? /* @__PURE__ */ React44__namespace.createElement(
6476
+ Typography2,
6477
+ {
6478
+ id: helperId,
6479
+ variant: "muted",
6480
+ className: utils.cn("text-xs", error && "text-destructive")
6481
+ },
6482
+ helperText
6483
+ ) : null
6484
+ ), /* @__PURE__ */ React44__namespace.createElement(
6440
6485
  Content21,
6441
6486
  {
6442
6487
  calendars,
@@ -6518,7 +6563,9 @@ var Segment2 = React44__namespace.forwardRef(({ className, ...props }, ref) => /
6518
6563
  }
6519
6564
  ));
6520
6565
  Segment2.displayName = "DateTimePicker.Segment";
6521
- var Separator11 = ({ children = ":" }) => /* @__PURE__ */ React44__namespace.createElement("span", { className: "text-muted-foreground" }, children);
6566
+ var Separator11 = React44__namespace.forwardRef(
6567
+ ({ className, children = ":", ...props }, ref) => /* @__PURE__ */ React44__namespace.createElement("span", { ref, className: utils.cn("text-muted-foreground", className), ...props }, children)
6568
+ );
6522
6569
  Separator11.displayName = "DateTimePicker.Separator";
6523
6570
  var Trigger19 = React44__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React44__namespace.createElement(
6524
6571
  Primitives.DateTimePicker.Trigger,
@@ -6606,6 +6653,64 @@ var Content22 = React44__namespace.forwardRef(
6606
6653
  ))
6607
6654
  );
6608
6655
  Content22.displayName = "DateTimePicker.Content";
6656
+ var DATE_TIME_PICKER_ROOT_CONFIG_KEYS = [
6657
+ "value",
6658
+ "defaultValue",
6659
+ "onChange",
6660
+ "onValueChange",
6661
+ "onAccept",
6662
+ "onError",
6663
+ "open",
6664
+ "defaultOpen",
6665
+ "onOpenChange",
6666
+ "onOpen",
6667
+ "onClose",
6668
+ "closeOnSelect",
6669
+ "minDate",
6670
+ "maxDate",
6671
+ "minDateTime",
6672
+ "maxDateTime",
6673
+ "disablePast",
6674
+ "disableFuture",
6675
+ "disabledDays",
6676
+ "shouldDisableDate",
6677
+ "shouldDisableMonth",
6678
+ "shouldDisableYear",
6679
+ "weekStartsOn",
6680
+ "ampmInClock",
6681
+ "dayOfWeekFormatter",
6682
+ "desktopModeMediaQuery",
6683
+ "disableHighlightToday",
6684
+ "disableIgnoringDatePartForTimeValidation",
6685
+ "displayWeekNumber",
6686
+ "fixedWeekNumber",
6687
+ "formatDensity",
6688
+ "inputRef",
6689
+ "keepOpenDuringFieldFocus",
6690
+ "localeText",
6691
+ "monthsPerRow",
6692
+ "onMonthChange",
6693
+ "onSelectedSectionsChange",
6694
+ "onViewChange",
6695
+ "onYearChange",
6696
+ "openTo",
6697
+ "orientation",
6698
+ "reduceAnimations",
6699
+ "referenceDate",
6700
+ "renderLoading",
6701
+ "selectedSections",
6702
+ "defaultSelectedSections",
6703
+ "slotProps",
6704
+ "slots",
6705
+ "sx",
6706
+ "thresholdToRenderTimeInASingleColumn",
6707
+ "timezone",
6708
+ "view",
6709
+ "defaultView",
6710
+ "viewRenderers",
6711
+ "yearsOrder",
6712
+ "yearsPerRow"
6713
+ ];
6609
6714
  var DateTimePickerRoot = React44__namespace.forwardRef(
6610
6715
  ({
6611
6716
  className,
@@ -6643,10 +6748,20 @@ var DateTimePickerRoot = React44__namespace.forwardRef(
6643
6748
  const helperId = helperText ? `${triggerId}-helper` : void 0;
6644
6749
  const labelText = typeof label === "string" ? label : void 0;
6645
6750
  const withSeconds = (timeSteps?.seconds ?? 0) > 0;
6751
+ const rootConfigKeys = new Set(DATE_TIME_PICKER_ROOT_CONFIG_KEYS);
6752
+ const rootConfigProps = {};
6753
+ const nativeDivProps = {};
6754
+ for (const [key, value] of Object.entries(props)) {
6755
+ if (rootConfigKeys.has(key)) {
6756
+ rootConfigProps[key] = value;
6757
+ } else {
6758
+ nativeDivProps[key] = value;
6759
+ }
6760
+ }
6646
6761
  return /* @__PURE__ */ React44__namespace.createElement(
6647
6762
  Root34,
6648
6763
  {
6649
- ...props,
6764
+ ...rootConfigProps,
6650
6765
  disabled,
6651
6766
  readOnly,
6652
6767
  locale,
@@ -6660,7 +6775,7 @@ var DateTimePickerRoot = React44__namespace.forwardRef(
6660
6775
  timeSteps,
6661
6776
  views
6662
6777
  },
6663
- /* @__PURE__ */ React44__namespace.createElement("div", { ref, className: utils.cn("grid w-fit gap-1.5", className) }, label ? /* @__PURE__ */ React44__namespace.createElement("label", { className: "text-sm font-medium text-foreground", htmlFor: triggerId, suppressHydrationWarning: true }, label, required ? /* @__PURE__ */ React44__namespace.createElement("span", { "aria-hidden": "true" }, " *") : null) : null, /* @__PURE__ */ React44__namespace.createElement(
6778
+ /* @__PURE__ */ React44__namespace.createElement("div", { ...nativeDivProps, ref, className: utils.cn("grid w-fit gap-1.5", className) }, label ? /* @__PURE__ */ React44__namespace.createElement("label", { className: "text-sm font-medium text-foreground", htmlFor: triggerId, suppressHydrationWarning: true }, label, required ? /* @__PURE__ */ React44__namespace.createElement("span", { "aria-hidden": "true" }, " *") : null) : null, /* @__PURE__ */ React44__namespace.createElement(
6664
6779
  Trigger19,
6665
6780
  {
6666
6781
  id: triggerId,
@@ -6829,7 +6944,7 @@ var Trigger20 = Primitives.FileUpload.Trigger;
6829
6944
  var Clear = Primitives.FileUpload.Clear;
6830
6945
  var List6 = React44__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ React44__namespace.createElement(Primitives.FileUpload.List, { ref, className: utils.cn("mt-2 space-y-1", className), ...props }));
6831
6946
  List6.displayName = "FileUpload.List";
6832
- var Item13 = ({ file }) => /* @__PURE__ */ React44__namespace.createElement(Primitives.FileUpload.Item, { file }, /* @__PURE__ */ React44__namespace.createElement("div", { className: "flex items-center justify-between gap-2 rounded-md border border-border bg-bg px-3 py-2 text-sm" }, /* @__PURE__ */ React44__namespace.createElement("span", { className: "truncate" }, file.name), /* @__PURE__ */ React44__namespace.createElement("span", { className: "text-muted-foreground" }, Math.round(file.size / 1024), " KB")));
6947
+ var Item13 = React44__namespace.forwardRef(({ file, children, ...props }, ref) => /* @__PURE__ */ React44__namespace.createElement(Primitives.FileUpload.Item, { file, ref, ...props }, children ?? /* @__PURE__ */ React44__namespace.createElement("div", { className: "flex items-center justify-between gap-2 rounded-md border border-border bg-bg px-3 py-2 text-sm" }, /* @__PURE__ */ React44__namespace.createElement("span", { className: "truncate" }, file.name), /* @__PURE__ */ React44__namespace.createElement("span", { className: "text-muted-foreground" }, Math.round(file.size / 1024), " KB"))));
6833
6948
  Item13.displayName = "FileUpload.Item";
6834
6949
  var colorClassMap = {
6835
6950
  primary: "text-primary",
@@ -7258,7 +7373,7 @@ var Input9 = React44__namespace.forwardRef(({ className, ...props }, ref) => /*
7258
7373
  }
7259
7374
  ));
7260
7375
  Input9.displayName = "TagsInput.Input";
7261
- var Tag = ({ index, tag }) => /* @__PURE__ */ React44__namespace.createElement(Primitives.TagsInput.Tag, { index }, /* @__PURE__ */ React44__namespace.createElement("span", { className: "inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-1 text-xs" }, tag, /* @__PURE__ */ React44__namespace.createElement(
7376
+ var Tag = ({ index, tag, ...rest }) => /* @__PURE__ */ React44__namespace.createElement(Primitives.TagsInput.Tag, { index, ...rest }, /* @__PURE__ */ React44__namespace.createElement("span", { className: "inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-1 text-xs" }, tag, /* @__PURE__ */ React44__namespace.createElement(
7262
7377
  "button",
7263
7378
  {
7264
7379
  type: "button",
@@ -7295,11 +7410,12 @@ var Textarea2 = React44__namespace.forwardRef(({ className, ...props }, ref) =>
7295
7410
  }
7296
7411
  ));
7297
7412
  Textarea2.displayName = "Mentions.Textarea";
7298
- var Suggestions = React44__namespace.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ React44__namespace.createElement(Primitives.Mentions.Suggestions, { disablePortal: true, ...props }, /* @__PURE__ */ React44__namespace.createElement(
7413
+ var Suggestions = React44__namespace.forwardRef(({ items, container, className, children, ...rest }, ref) => /* @__PURE__ */ React44__namespace.createElement(Primitives.Mentions.Suggestions, { items, container, disablePortal: true }, /* @__PURE__ */ React44__namespace.createElement(
7299
7414
  "div",
7300
7415
  {
7301
7416
  ref,
7302
- className: utils.cn("absolute left-0 top-full z-50 mt-1 min-w-[8rem]", className)
7417
+ className: utils.cn("absolute left-0 top-full z-50 mt-1 min-w-[8rem]", className),
7418
+ ...rest
7303
7419
  },
7304
7420
  children
7305
7421
  )));
@@ -7848,7 +7964,7 @@ var trendVariants = tailwindVariants.tv({
7848
7964
  }
7849
7965
  }
7850
7966
  });
7851
- var TrendBadge = ({ value, direction = "neutral", className }) => /* @__PURE__ */ React44__namespace.createElement("span", { className: utils.cn(trendVariants({ direction }), className) }, direction === "up" && /* @__PURE__ */ React44__namespace.createElement("span", { "aria-hidden": true }, "\u2191"), direction === "down" && /* @__PURE__ */ React44__namespace.createElement("span", { "aria-hidden": true }, "\u2193"), direction === "neutral" && /* @__PURE__ */ React44__namespace.createElement("span", { "aria-hidden": true }, "\u2192"), value);
7967
+ var TrendBadge = ({ value, direction = "neutral", className, ...props }) => /* @__PURE__ */ React44__namespace.createElement("span", { className: utils.cn(trendVariants({ direction }), className), ...props }, direction === "up" && /* @__PURE__ */ React44__namespace.createElement("span", { "aria-hidden": true }, "\u2191"), direction === "down" && /* @__PURE__ */ React44__namespace.createElement("span", { "aria-hidden": true }, "\u2193"), direction === "neutral" && /* @__PURE__ */ React44__namespace.createElement("span", { "aria-hidden": true }, "\u2192"), value);
7852
7968
  var highlightClasses = {
7853
7969
  primary: "border-primary/30 bg-primary/5",
7854
7970
  secondary: "border-secondary/30 bg-secondary/5",
@@ -8156,7 +8272,9 @@ var Popconfirm = ({
8156
8272
  disabled = false,
8157
8273
  side = "top",
8158
8274
  align = "center",
8159
- loading = false
8275
+ loading = false,
8276
+ className,
8277
+ ...rest
8160
8278
  }) => {
8161
8279
  const titleId = React44__namespace.useId();
8162
8280
  const [internalOpen, setInternalOpen] = React44__namespace.useState(false);
@@ -8178,6 +8296,7 @@ var Popconfirm = ({
8178
8296
  return /* @__PURE__ */ React44__namespace.createElement(Primitives.Popover.Root, { open, onOpenChange: setOpen }, /* @__PURE__ */ React44__namespace.createElement(Primitives.Popover.Trigger, { asChild: true }, children), /* @__PURE__ */ React44__namespace.createElement(Primitives.Popover.Portal, null, /* @__PURE__ */ React44__namespace.createElement(
8179
8297
  Primitives.Popover.Content,
8180
8298
  {
8299
+ ...rest,
8181
8300
  side,
8182
8301
  align,
8183
8302
  sideOffset: 8,
@@ -8186,7 +8305,8 @@ var Popconfirm = ({
8186
8305
  "animate-in fade-in-0 zoom-in-95 duration-100",
8187
8306
  "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
8188
8307
  "data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1",
8189
- "data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1"
8308
+ "data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1",
8309
+ className
8190
8310
  ),
8191
8311
  "aria-labelledby": titleId,
8192
8312
  onOpenAutoFocus: (e) => e.preventDefault()