shadcn-glass-ui 2.3.0 → 2.3.1

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.
Files changed (66) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/cli/index.cjs +1 -1
  3. package/dist/components/glass/index.d.ts +7 -5
  4. package/dist/components/glass/index.d.ts.map +1 -1
  5. package/dist/components/glass/specialized/flag-alert-glass.d.ts.map +1 -1
  6. package/dist/components/glass/specialized/progress-glass.d.ts.map +1 -1
  7. package/dist/components/glass/ui/avatar-glass.d.ts.map +1 -1
  8. package/dist/components/glass/ui/checkbox-glass.d.ts +21 -46
  9. package/dist/components/glass/ui/checkbox-glass.d.ts.map +1 -1
  10. package/dist/components/glass/ui/circular-progress-glass.d.ts.map +1 -1
  11. package/dist/components/glass/ui/dropdown-menu-glass.d.ts +11 -5
  12. package/dist/components/glass/ui/dropdown-menu-glass.d.ts.map +1 -1
  13. package/dist/components/glass/ui/glass-card.d.ts.map +1 -1
  14. package/dist/components/glass/ui/index.d.ts +7 -1
  15. package/dist/components/glass/ui/index.d.ts.map +1 -1
  16. package/dist/components/glass/ui/notification-glass.d.ts.map +1 -1
  17. package/dist/components/glass/ui/popover-glass.d.ts +6 -3
  18. package/dist/components/glass/ui/popover-glass.d.ts.map +1 -1
  19. package/dist/components/glass/ui/skeleton-glass.d.ts.map +1 -1
  20. package/dist/components/glass/ui/slider-glass.d.ts.map +1 -1
  21. package/dist/components/glass/ui/stepper-glass.d.ts.map +1 -1
  22. package/dist/components/glass/ui/tabs-glass.d.ts +93 -142
  23. package/dist/components/glass/ui/tabs-glass.d.ts.map +1 -1
  24. package/dist/components/glass/ui/toggle-glass.d.ts.map +1 -1
  25. package/dist/components.cjs +4 -4
  26. package/dist/components.mjs +1 -1
  27. package/dist/hooks.cjs +2 -2
  28. package/dist/index.cjs +12 -5
  29. package/dist/index.cjs.map +1 -1
  30. package/dist/index.mjs +8 -1
  31. package/dist/index.mjs.map +1 -1
  32. package/dist/lib/variants/skeleton-glass-variants.d.ts +1 -1
  33. package/dist/r/avatar-glass.json +1 -1
  34. package/dist/r/checkbox-glass.json +4 -5
  35. package/dist/r/circular-progress-glass.json +1 -1
  36. package/dist/r/dropdown-glass.json +1 -1
  37. package/dist/r/dropdown-menu-glass.json +1 -1
  38. package/dist/r/flag-alert-glass.json +1 -1
  39. package/dist/r/glass-card.json +3 -2
  40. package/dist/r/notification-glass.json +1 -1
  41. package/dist/r/popover-glass.json +1 -1
  42. package/dist/r/progress-glass.json +1 -1
  43. package/dist/r/registry.json +2 -2
  44. package/dist/r/skeleton-glass.json +1 -1
  45. package/dist/r/slider-glass.json +1 -1
  46. package/dist/r/stepper-glass.json +1 -1
  47. package/dist/r/tabs-glass.json +5 -4
  48. package/dist/r/toggle-glass.json +1 -1
  49. package/dist/shadcn-glass-ui.css +1 -1
  50. package/dist/{theme-context-DmTETrFi.cjs → theme-context-7NcW0KZL.cjs} +2 -2
  51. package/dist/{theme-context-DmTETrFi.cjs.map → theme-context-7NcW0KZL.cjs.map} +1 -1
  52. package/dist/themes.cjs +1 -1
  53. package/dist/{trust-score-card-glass-EfMB5l5J.mjs → trust-score-card-glass-BGqBcdyJ.mjs} +120 -177
  54. package/dist/trust-score-card-glass-BGqBcdyJ.mjs.map +1 -0
  55. package/dist/{trust-score-card-glass-3VBi9soW.cjs → trust-score-card-glass-DtgFygh5.cjs} +124 -179
  56. package/dist/trust-score-card-glass-DtgFygh5.cjs.map +1 -0
  57. package/dist/{use-focus-CswOSq71.cjs → use-focus-BFBcpBh1.cjs} +2 -2
  58. package/dist/{use-focus-CswOSq71.cjs.map → use-focus-BFBcpBh1.cjs.map} +1 -1
  59. package/dist/{use-wallpaper-tint-WtRWtupA.cjs → use-wallpaper-tint-DTTStm5f.cjs} +2 -2
  60. package/dist/{use-wallpaper-tint-WtRWtupA.cjs.map → use-wallpaper-tint-DTTStm5f.cjs.map} +1 -1
  61. package/dist/{utils-DX6rdBol.cjs → utils-CiuCe_Aq.cjs} +2 -2
  62. package/dist/{utils-DX6rdBol.cjs.map → utils-CiuCe_Aq.cjs.map} +1 -1
  63. package/dist/utils.cjs +1 -1
  64. package/package.json +5 -1
  65. package/dist/trust-score-card-glass-3VBi9soW.cjs.map +0 -1
  66. package/dist/trust-score-card-glass-EfMB5l5J.mjs.map +0 -1
@@ -18,9 +18,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
18
18
  value: mod,
19
19
  enumerable: true
20
20
  }) : target, mod));
21
- const require_utils = require("./utils-DX6rdBol.cjs");
22
- const require_use_focus = require("./use-focus-CswOSq71.cjs");
23
- const require_theme_context = require("./theme-context-DmTETrFi.cjs");
21
+ const require_utils = require("./utils-CiuCe_Aq.cjs");
22
+ const require_use_focus = require("./use-focus-BFBcpBh1.cjs");
23
+ const require_theme_context = require("./theme-context-7NcW0KZL.cjs");
24
24
  let react = require("react");
25
25
  react = __toESM(react);
26
26
  let lucide_react = require("lucide-react");
@@ -29,6 +29,8 @@ let react_jsx_runtime = require("react/jsx-runtime");
29
29
  let __radix_ui_react_avatar = require("@radix-ui/react-avatar");
30
30
  __radix_ui_react_avatar = __toESM(__radix_ui_react_avatar);
31
31
  let __radix_ui_react_slot = require("@radix-ui/react-slot");
32
+ let __radix_ui_react_checkbox = require("@radix-ui/react-checkbox");
33
+ __radix_ui_react_checkbox = __toESM(__radix_ui_react_checkbox);
32
34
  let __radix_ui_react_popover = require("@radix-ui/react-popover");
33
35
  __radix_ui_react_popover = __toESM(__radix_ui_react_popover);
34
36
  let cmdk = require("cmdk");
@@ -38,6 +40,8 @@ let __radix_ui_react_dropdown_menu = require("@radix-ui/react-dropdown-menu");
38
40
  __radix_ui_react_dropdown_menu = __toESM(__radix_ui_react_dropdown_menu);
39
41
  let __radix_ui_react_slider = require("@radix-ui/react-slider");
40
42
  __radix_ui_react_slider = __toESM(__radix_ui_react_slider);
43
+ let __radix_ui_react_tabs = require("@radix-ui/react-tabs");
44
+ __radix_ui_react_tabs = __toESM(__radix_ui_react_tabs);
41
45
  let __radix_ui_react_tooltip = require("@radix-ui/react-tooltip");
42
46
  __radix_ui_react_tooltip = __toESM(__radix_ui_react_tooltip);
43
47
  let recharts = require("recharts");
@@ -287,6 +291,7 @@ var AvatarGlassRoot = react.forwardRef(({ className, size = "md", status, glowin
287
291
  glowing
288
292
  },
289
293
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
294
+ "data-slot": "avatar",
290
295
  className: require_utils.cn("relative inline-flex", className),
291
296
  onMouseEnter: hoverProps.onMouseEnter,
292
297
  onMouseLeave: hoverProps.onMouseLeave,
@@ -297,6 +302,7 @@ var AvatarGlassRoot = react.forwardRef(({ className, size = "md", status, glowin
297
302
  ...props,
298
303
  children
299
304
  }), status && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
305
+ "data-slot": "avatar-status",
300
306
  className: require_utils.cn(statusSizes({ size })),
301
307
  style: {
302
308
  background: getStatusVars$1(status).bg,
@@ -312,6 +318,7 @@ AvatarGlassRoot.displayName = "AvatarGlass";
312
318
  var AvatarGlassImage = react.forwardRef(({ className, ...props }, ref) => {
313
319
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_avatar.Image, {
314
320
  ref,
321
+ "data-slot": "avatar-image",
315
322
  className: require_utils.cn("aspect-square h-full w-full object-cover", className),
316
323
  ...props
317
324
  });
@@ -320,6 +327,7 @@ AvatarGlassImage.displayName = "AvatarGlassImage";
320
327
  var AvatarGlassFallback = react.forwardRef(({ className, ...props }, ref) => {
321
328
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_avatar.Fallback, {
322
329
  ref,
330
+ "data-slot": "avatar-fallback",
323
331
  className: require_utils.cn("flex h-full w-full items-center justify-center font-semibold uppercase", className),
324
332
  ...props
325
333
  });
@@ -554,78 +562,47 @@ const ButtonGlass = (0, react.forwardRef)(({ asChild = false, className, variant
554
562
  });
555
563
  });
556
564
  ButtonGlass.displayName = "ButtonGlass";
557
- const CheckboxGlass = (0, react.forwardRef)(({ className, checked: controlledChecked, defaultChecked, onCheckedChange, onChange, label, disabled, ...props }, ref) => {
558
- const { isHovered, hoverProps } = require_use_focus.useHover();
559
- const { isFocusVisible, focusProps } = require_use_focus.useFocus({ focusVisible: true });
560
- const [uncontrolledChecked, setUncontrolledChecked] = react.useState(defaultChecked ?? false);
561
- const isControlled = controlledChecked !== void 0;
562
- const checked = isControlled ? controlledChecked : uncontrolledChecked;
563
- const isChecked = checked === true;
564
- const isIndeterminate = checked === "indeterminate";
565
- const showIndicator = isChecked || isIndeterminate;
566
- const handleChange = (newChecked) => {
567
- if (disabled) return;
568
- if (!isControlled) setUncontrolledChecked(newChecked);
565
+ const CheckboxGlass = react.forwardRef(({ className, label, onChange, onCheckedChange, disabled, checked, ...props }, ref) => {
566
+ const handleCheckedChange = react.useCallback((newChecked) => {
569
567
  onCheckedChange?.(newChecked);
570
568
  if (onChange && typeof newChecked === "boolean") onChange(newChecked);
571
- };
572
- const toggleChecked = () => {
573
- if (isIndeterminate) handleChange(true);
574
- else handleChange(!isChecked);
575
- };
569
+ }, [onCheckedChange, onChange]);
570
+ const isIndeterminate = checked === "indeterminate";
571
+ const showIndicator = checked === true || isIndeterminate;
576
572
  const checkboxStyles = {
577
573
  background: showIndicator ? "var(--checkbox-checked-bg)" : "var(--checkbox-bg)",
578
- border: `2px solid ${showIndicator ? "var(--checkbox-checked-bg)" : "var(--checkbox-border)"}`,
579
- boxShadow: isFocusVisible && !disabled ? "var(--focus-glow)" : isHovered && !disabled ? "var(--checkbox-glow)" : "none"
574
+ borderColor: showIndicator ? "var(--checkbox-checked-bg)" : "var(--checkbox-border)"
580
575
  };
581
- const ariaChecked = isIndeterminate ? "mixed" : isChecked;
582
576
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
583
577
  className: require_utils.cn("inline-flex items-center gap-2 md:gap-2.5", disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer", className),
584
- onMouseEnter: hoverProps.onMouseEnter,
585
- onMouseLeave: hoverProps.onMouseLeave,
586
- children: [
587
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
578
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
579
+ className: "inline-flex items-center justify-center min-w-11 min-h-11",
580
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_checkbox.Root, {
588
581
  ref,
589
- type: "checkbox",
590
- checked: isChecked,
591
- onChange: (e) => handleChange(e.target.checked),
582
+ "data-slot": "checkbox",
583
+ checked,
584
+ onCheckedChange: handleCheckedChange,
592
585
  disabled,
593
- className: "sr-only",
594
- ...props
595
- }),
596
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
597
- className: "inline-flex items-center justify-center min-w-11 min-h-11",
598
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
599
- onClick: toggleChecked,
600
- onFocus: focusProps.onFocus,
601
- onBlur: focusProps.onBlur,
602
- className: "relative w-6 h-6 md:w-5 md:h-5 rounded-md flex items-center justify-center transition-all duration-300",
603
- style: checkboxStyles,
604
- role: "checkbox",
605
- "aria-checked": ariaChecked,
606
- "aria-label": label || "Checkbox",
607
- tabIndex: disabled ? -1 : 0,
608
- onKeyDown: (e) => {
609
- if (!disabled && (e.key === "Enter" || e.key === " ")) {
610
- e.preventDefault();
611
- toggleChecked();
612
- }
613
- },
614
- children: [isChecked && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Check, {
586
+ className: require_utils.cn("peer relative w-6 h-6 md:w-5 md:h-5 shrink-0", "rounded-md border-2 transition-all duration-300", "flex items-center justify-center", "focus-visible:outline-none focus-visible:shadow-(--focus-glow)", "hover:shadow-(--checkbox-glow)", "disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:shadow-none"),
587
+ style: checkboxStyles,
588
+ ...props,
589
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_checkbox.Indicator, {
590
+ "data-slot": "checkbox-indicator",
591
+ className: "flex items-center justify-center text-current",
592
+ children: isIndeterminate ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Minus, {
615
593
  className: "w-3.5 h-3.5 md:w-3 md:h-3",
616
594
  style: { color: "var(--text-inverse)" }
617
- }), isIndeterminate && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Minus, {
595
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Check, {
618
596
  className: "w-3.5 h-3.5 md:w-3 md:h-3",
619
597
  style: { color: "var(--text-inverse)" }
620
- })]
598
+ })
621
599
  })
622
- }),
623
- label && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
624
- className: "text-xs md:text-sm",
625
- style: { color: "var(--text-secondary)" },
626
- children: label
627
600
  })
628
- ]
601
+ }), label && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
602
+ className: "text-xs md:text-sm",
603
+ style: { color: "var(--text-secondary)" },
604
+ children: label
605
+ })]
629
606
  });
630
607
  });
631
608
  CheckboxGlass.displayName = "CheckboxGlass";
@@ -705,6 +682,7 @@ const CircularProgressGlass = (0, react.forwardRef)(({ className, size = "md", v
705
682
  const glowId = `circular-glow-${uniqueId}`;
706
683
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
707
684
  ref,
685
+ "data-slot": "circular-progress",
708
686
  className: require_utils.cn(circularProgressVariants({ size }), className),
709
687
  ...props,
710
688
  children: [
@@ -978,14 +956,33 @@ function ComboBoxGlassInner({ options, value, onValueChange, placeholder = "Sele
978
956
  }
979
957
  const ComboBoxGlass = (0, react.forwardRef)(ComboBoxGlassInner);
980
958
  ComboBoxGlassInner.displayName = "ComboBoxGlass";
981
- var DropdownMenuGlass = __radix_ui_react_dropdown_menu.Root;
982
- var DropdownMenuGlassTrigger = __radix_ui_react_dropdown_menu.Trigger;
983
- var DropdownMenuGlassGroup = __radix_ui_react_dropdown_menu.Group;
959
+ var DropdownMenuGlassRoot = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_dropdown_menu.Root, { ...props });
960
+ DropdownMenuGlassRoot.displayName = "DropdownMenuGlass";
961
+ var DropdownMenuGlass = DropdownMenuGlassRoot;
962
+ var DropdownMenuGlassTrigger = react.forwardRef((props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_dropdown_menu.Trigger, {
963
+ "data-slot": "dropdown-menu-trigger",
964
+ ref,
965
+ ...props
966
+ }));
967
+ DropdownMenuGlassTrigger.displayName = "DropdownMenuGlassTrigger";
968
+ var DropdownMenuGlassGroup = react.forwardRef((props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_dropdown_menu.Group, {
969
+ "data-slot": "dropdown-menu-group",
970
+ ref,
971
+ ...props
972
+ }));
973
+ DropdownMenuGlassGroup.displayName = "DropdownMenuGlassGroup";
984
974
  var DropdownMenuGlassPortal = __radix_ui_react_dropdown_menu.Portal;
985
- var DropdownMenuGlassSub = __radix_ui_react_dropdown_menu.Sub;
986
- var DropdownMenuGlassRadioGroup = __radix_ui_react_dropdown_menu.RadioGroup;
975
+ var DropdownMenuGlassSub = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_dropdown_menu.Sub, { ...props });
976
+ DropdownMenuGlassSub.displayName = "DropdownMenuGlassSub";
977
+ var DropdownMenuGlassRadioGroup = react.forwardRef((props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_dropdown_menu.RadioGroup, {
978
+ "data-slot": "dropdown-menu-radio-group",
979
+ ref,
980
+ ...props
981
+ }));
982
+ DropdownMenuGlassRadioGroup.displayName = "DropdownMenuGlassRadioGroup";
987
983
  var DropdownMenuGlassSubTrigger = react.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__radix_ui_react_dropdown_menu.SubTrigger, {
988
984
  ref,
985
+ "data-slot": "dropdown-menu-sub-trigger",
989
986
  className: require_utils.cn(getDropdownItemClasses(), "data-[state=open]:bg-[var(--dropdown-item-hover)]", inset && "pl-8", className),
990
987
  ...props,
991
988
  children: [children, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronRightIcon, { className: "ml-auto h-4 w-4" })]
@@ -993,6 +990,7 @@ var DropdownMenuGlassSubTrigger = react.forwardRef(({ className, inset, children
993
990
  DropdownMenuGlassSubTrigger.displayName = "DropdownMenuGlassSubTrigger";
994
991
  var DropdownMenuGlassSubContent = react.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_dropdown_menu.SubContent, {
995
992
  ref,
993
+ "data-slot": "dropdown-menu-sub-content",
996
994
  className: require_utils.cn(dropdownContentClasses, "p-1.5", className),
997
995
  style: getDropdownContentStyles(),
998
996
  ...props
@@ -1000,6 +998,7 @@ var DropdownMenuGlassSubContent = react.forwardRef(({ className, ...props }, ref
1000
998
  DropdownMenuGlassSubContent.displayName = "DropdownMenuGlassSubContent";
1001
999
  var DropdownMenuGlassContent = react.forwardRef(({ className, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_dropdown_menu.Portal, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_dropdown_menu.Content, {
1002
1000
  ref,
1001
+ "data-slot": "dropdown-menu-content",
1003
1002
  sideOffset,
1004
1003
  className: require_utils.cn(dropdownContentClasses, "p-1.5", className),
1005
1004
  style: getDropdownContentStyles(),
@@ -1008,12 +1007,14 @@ var DropdownMenuGlassContent = react.forwardRef(({ className, sideOffset = 8, ..
1008
1007
  DropdownMenuGlassContent.displayName = "DropdownMenuGlassContent";
1009
1008
  var DropdownMenuGlassItem = react.forwardRef(({ className, inset, variant = "default", ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_dropdown_menu.Item, {
1010
1009
  ref,
1010
+ "data-slot": "dropdown-menu-item",
1011
1011
  className: require_utils.cn(getDropdownItemClasses({ danger: variant === "destructive" }), inset && "pl-8", className),
1012
1012
  ...props
1013
1013
  }));
1014
1014
  DropdownMenuGlassItem.displayName = "DropdownMenuGlassItem";
1015
1015
  var DropdownMenuGlassCheckboxItem = react.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__radix_ui_react_dropdown_menu.CheckboxItem, {
1016
1016
  ref,
1017
+ "data-slot": "dropdown-menu-checkbox-item",
1017
1018
  className: require_utils.cn(getDropdownItemClasses(), "pl-8 pr-2", className),
1018
1019
  checked,
1019
1020
  ...props,
@@ -1025,6 +1026,7 @@ var DropdownMenuGlassCheckboxItem = react.forwardRef(({ className, children, che
1025
1026
  DropdownMenuGlassCheckboxItem.displayName = "DropdownMenuGlassCheckboxItem";
1026
1027
  var DropdownMenuGlassRadioItem = react.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__radix_ui_react_dropdown_menu.RadioItem, {
1027
1028
  ref,
1029
+ "data-slot": "dropdown-menu-radio-item",
1028
1030
  className: require_utils.cn(getDropdownItemClasses(), "pl-8 pr-2", className),
1029
1031
  ...props,
1030
1032
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
@@ -1035,18 +1037,21 @@ var DropdownMenuGlassRadioItem = react.forwardRef(({ className, children, ...pro
1035
1037
  DropdownMenuGlassRadioItem.displayName = "DropdownMenuGlassRadioItem";
1036
1038
  var DropdownMenuGlassLabel = react.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_dropdown_menu.Label, {
1037
1039
  ref,
1040
+ "data-slot": "dropdown-menu-label",
1038
1041
  className: require_utils.cn(dropdownLabelClasses, inset && "pl-8", className),
1039
1042
  ...props
1040
1043
  }));
1041
1044
  DropdownMenuGlassLabel.displayName = "DropdownMenuGlassLabel";
1042
1045
  var DropdownMenuGlassSeparator = react.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_dropdown_menu.Separator, {
1043
1046
  ref,
1047
+ "data-slot": "dropdown-menu-separator",
1044
1048
  className: require_utils.cn(dropdownSeparatorClasses, "-mx-1 my-1", className),
1045
1049
  ...props
1046
1050
  }));
1047
1051
  DropdownMenuGlassSeparator.displayName = "DropdownMenuGlassSeparator";
1048
1052
  var DropdownMenuGlassShortcut = ({ className, ...props }) => {
1049
1053
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
1054
+ "data-slot": "dropdown-menu-shortcut",
1050
1055
  className: require_utils.cn("ml-auto text-xs tracking-widest text-(--text-muted)", className),
1051
1056
  ...props
1052
1057
  });
@@ -1055,6 +1060,7 @@ DropdownMenuGlassShortcut.displayName = "DropdownMenuGlassShortcut";
1055
1060
  const DropdownGlass = react.forwardRef(({ trigger, items, align = "left", className }, ref) => {
1056
1061
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1057
1062
  ref,
1063
+ "data-slot": "dropdown",
1058
1064
  className: require_utils.cn("relative inline-block", className),
1059
1065
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(DropdownMenuGlass, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(DropdownMenuGlassTrigger, {
1060
1066
  asChild: true,
@@ -1130,6 +1136,7 @@ const GlassCard = (0, react.forwardRef)(({ asChild = false, children, className,
1130
1136
  };
1131
1137
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(asChild ? __radix_ui_react_slot.Slot : "div", {
1132
1138
  ref,
1139
+ "data-slot": "card",
1133
1140
  className: require_utils.cn(cardIntensity({
1134
1141
  intensity,
1135
1142
  hover,
@@ -1412,6 +1419,7 @@ const NotificationGlass = (0, react.forwardRef)(({ variant: variantProp, type: t
1412
1419
  };
1413
1420
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1414
1421
  ref,
1422
+ "data-slot": "notification",
1415
1423
  className: require_utils.cn(notificationVariants({ type: effectiveType }), className),
1416
1424
  style: containerStyles,
1417
1425
  role: "alert",
@@ -1452,9 +1460,20 @@ const NotificationGlass = (0, react.forwardRef)(({ variant: variantProp, type: t
1452
1460
  });
1453
1461
  });
1454
1462
  NotificationGlass.displayName = "NotificationGlass";
1455
- var PopoverGlassRoot = __radix_ui_react_popover.Root;
1456
- var PopoverGlassTrigger = __radix_ui_react_popover.Trigger;
1457
- var PopoverGlassAnchor = __radix_ui_react_popover.Anchor;
1463
+ var PopoverGlassRoot = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_popover.Root, { ...props });
1464
+ PopoverGlassRoot.displayName = "PopoverGlass";
1465
+ var PopoverGlassTrigger = react.forwardRef((props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_popover.Trigger, {
1466
+ "data-slot": "popover-trigger",
1467
+ ref,
1468
+ ...props
1469
+ }));
1470
+ PopoverGlassTrigger.displayName = "PopoverGlassTrigger";
1471
+ var PopoverGlassAnchor = react.forwardRef((props, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_popover.Anchor, {
1472
+ "data-slot": "popover-anchor",
1473
+ ref,
1474
+ ...props
1475
+ }));
1476
+ PopoverGlassAnchor.displayName = "PopoverGlassAnchor";
1458
1477
  var PopoverGlassContent = react.forwardRef(({ className, align = "center", sideOffset = 8, showArrow = true, children, ...props }, ref) => {
1459
1478
  const popoverStyles = {
1460
1479
  background: "var(--popover-bg)",
@@ -1466,6 +1485,7 @@ var PopoverGlassContent = react.forwardRef(({ className, align = "center", sideO
1466
1485
  const arrowStyles = { fill: "var(--popover-arrow-bg)" };
1467
1486
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_popover.Portal, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__radix_ui_react_popover.Content, {
1468
1487
  ref,
1488
+ "data-slot": "popover-content",
1469
1489
  align,
1470
1490
  sideOffset,
1471
1491
  className: require_utils.cn("z-50003 rounded-2xl", "animate-in fade-in-0 zoom-in-95 duration-200", "data-[side=bottom]:slide-in-from-top-2", "data-[side=top]:slide-in-from-bottom-2", "data-[side=right]:slide-in-from-left-2", "data-[side=left]:slide-in-from-right-2", "outline-none", className),
@@ -1521,6 +1541,7 @@ const SkeletonGlass = (0, react.forwardRef)(({ className, variant = "text", widt
1521
1541
  };
1522
1542
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1523
1543
  ref,
1544
+ "data-slot": "skeleton",
1524
1545
  className: require_utils.cn(skeletonVariants({ variant }), className),
1525
1546
  style: skeletonStyles,
1526
1547
  "aria-hidden": "true",
@@ -1559,6 +1580,7 @@ const SliderGlass = (0, react.forwardRef)(({ className, value, defaultValue, onV
1559
1580
  className: require_utils.cn("w-full", className),
1560
1581
  children: [customLabel, /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__radix_ui_react_slider.Root, {
1561
1582
  ref,
1583
+ "data-slot": "slider",
1562
1584
  value,
1563
1585
  defaultValue,
1564
1586
  onValueChange,
@@ -1571,13 +1593,16 @@ const SliderGlass = (0, react.forwardRef)(({ className, value, defaultValue, onV
1571
1593
  className: require_utils.cn("relative flex touch-none select-none", orientation === "horizontal" ? "w-full h-8 md:h-6 items-center" : "flex-col h-full w-8 md:w-6 justify-center", disabled && "opacity-50 cursor-not-allowed", "group"),
1572
1594
  ...props,
1573
1595
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_slider.Track, {
1596
+ "data-slot": "slider-track",
1574
1597
  className: require_utils.cn("relative grow rounded-full", orientation === "horizontal" ? "h-2.5 md:h-2 w-full" : "w-2.5 md:w-2 h-full"),
1575
1598
  style: trackStyles,
1576
1599
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_slider.Range, {
1600
+ "data-slot": "slider-range",
1577
1601
  className: require_utils.cn("absolute rounded-full transition-shadow duration-150", orientation === "horizontal" ? "h-full" : "w-full", "group-hover:shadow-(--slider-fill-glow)", "group-active:shadow-(--slider-fill-glow)"),
1578
1602
  style: rangeStyles
1579
1603
  })
1580
1604
  }), currentValue.map((_, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_slider.Thumb, {
1605
+ "data-slot": "slider-thumb",
1581
1606
  className: require_utils.cn("block rounded-full shadow-md transition-all duration-150", "w-6 h-6 md:w-5 md:h-5", "hover:scale-105", "focus-visible:outline-none focus-visible:shadow-(--focus-glow)", "active:scale-110", disabled && "pointer-events-none"),
1582
1607
  style: thumbStyles,
1583
1608
  "aria-label": label ? currentValue.length > 1 ? `${label} thumb ${index + 1}` : label : `Slider thumb ${index + 1}`
@@ -1586,118 +1611,35 @@ const SliderGlass = (0, react.forwardRef)(({ className, value, defaultValue, onV
1586
1611
  });
1587
1612
  });
1588
1613
  SliderGlass.displayName = "SliderGlass";
1589
- var TabsContext = (0, react.createContext)(null);
1590
- var useTabsContext = () => {
1591
- const context = (0, react.useContext)(TabsContext);
1592
- if (!context) throw new Error("Tabs compound components must be used within TabsGlass.Root");
1593
- return context;
1594
- };
1595
- var TabsRoot = ({ value: controlledValue, defaultValue, onValueChange, children, className }) => {
1596
- const [uncontrolledValue, setUncontrolledValue] = (0, react.useState)(defaultValue ?? "");
1597
- const isControlled = controlledValue !== void 0;
1598
- const value = isControlled ? controlledValue : uncontrolledValue;
1599
- const handleValueChange = (newValue) => {
1600
- if (!isControlled) setUncontrolledValue(newValue);
1601
- onValueChange?.(newValue);
1602
- };
1603
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TabsContext.Provider, {
1604
- value: {
1605
- value,
1606
- onValueChange: handleValueChange
1607
- },
1608
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1609
- className: require_utils.cn("tabs-glass-root", className),
1610
- children
1611
- })
1612
- });
1613
- };
1614
- var TabsList = (0, react.forwardRef)(({ children, className, ...props }, ref) => {
1615
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1616
- ref,
1617
- className: require_utils.cn("inline-flex gap-0.5 md:gap-1 p-0.5 md:p-1 rounded-xl", className),
1618
- style: {
1619
- background: "var(--tab-container-bg)",
1620
- border: "1px solid var(--tab-container-border)"
1621
- },
1622
- role: "tablist",
1623
- ...props,
1624
- children
1614
+ function TabsRoot({ className, ...props }) {
1615
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_tabs.Root, {
1616
+ "data-slot": "tabs",
1617
+ className: require_utils.cn("tabs-glass-root", className),
1618
+ ...props
1625
1619
  });
1626
- });
1620
+ }
1621
+ var TabsList = react.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_tabs.List, {
1622
+ ref,
1623
+ "data-slot": "tabs-list",
1624
+ className: require_utils.cn("inline-flex gap-0.5 md:gap-1 p-0.5 md:p-1 rounded-xl", "bg-(--tab-container-bg) border border-(--tab-container-border)", className),
1625
+ ...props
1626
+ }));
1627
1627
  TabsList.displayName = "TabsList";
1628
- var TabsTrigger = (0, react.forwardRef)(({ value, children, className, disabled }, ref) => {
1629
- const { value: activeValue, onValueChange } = useTabsContext();
1630
- const { isFocusVisible, focusProps } = require_use_focus.useFocus({ focusVisible: true });
1631
- const isActive = activeValue === value;
1632
- const tabStyles = {
1633
- background: isActive ? "var(--tab-active-bg)" : "var(--tab-bg)",
1634
- color: isActive ? "var(--tab-active-text)" : "var(--text-secondary)",
1635
- boxShadow: isFocusVisible && !disabled ? "var(--focus-glow)" : "none"
1636
- };
1637
- const handleKeyDown = (e) => {
1638
- if (disabled) return;
1639
- const tablist = e.currentTarget.closest("[role=\"tablist\"]");
1640
- if (!tablist) return;
1641
- const tabs = Array.from(tablist.querySelectorAll("[role=\"tab\"]:not([disabled])"));
1642
- const currentIndex = tabs.indexOf(e.currentTarget);
1643
- let nextIndex = currentIndex;
1644
- switch (e.key) {
1645
- case "ArrowRight":
1646
- e.preventDefault();
1647
- nextIndex = currentIndex + 1 >= tabs.length ? 0 : currentIndex + 1;
1648
- break;
1649
- case "ArrowLeft":
1650
- e.preventDefault();
1651
- nextIndex = currentIndex - 1 < 0 ? tabs.length - 1 : currentIndex - 1;
1652
- break;
1653
- case "Home":
1654
- e.preventDefault();
1655
- nextIndex = 0;
1656
- break;
1657
- case "End":
1658
- e.preventDefault();
1659
- nextIndex = tabs.length - 1;
1660
- break;
1661
- default: return;
1662
- }
1663
- const nextTab = tabs[nextIndex];
1664
- if (nextTab) {
1665
- nextTab.focus();
1666
- const nextValue = nextTab.getAttribute("data-value");
1667
- if (nextValue && onValueChange) onValueChange(nextValue);
1668
- }
1669
- };
1670
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
1671
- ref,
1672
- type: "button",
1673
- role: "tab",
1674
- "aria-selected": isActive,
1675
- disabled,
1676
- "data-value": value,
1677
- className: require_utils.cn("relative px-2.5 py-1.5 md:px-4 md:py-2 rounded-lg text-xs md:text-sm font-medium transition-[background-color,color,opacity] duration-300", disabled && "opacity-50 cursor-not-allowed", className),
1678
- style: tabStyles,
1679
- onClick: () => !disabled && onValueChange?.(value),
1680
- onKeyDown: handleKeyDown,
1681
- onFocus: focusProps.onFocus,
1682
- onBlur: focusProps.onBlur,
1683
- children: [children, isActive && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1684
- className: "absolute bottom-0 left-1/2 -translate-x-1/2 w-6 md:w-8 h-0.5 rounded-full",
1685
- style: { background: "var(--tab-indicator)" }
1686
- })]
1687
- });
1688
- });
1628
+ var TabsTrigger = react.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_tabs.Trigger, {
1629
+ ref,
1630
+ "data-slot": "tabs-trigger",
1631
+ className: require_utils.cn("relative px-2.5 py-1.5 md:px-4 md:py-2 rounded-lg", "text-xs md:text-sm font-medium", "transition-[background-color,color,opacity,box-shadow] duration-300", "bg-(--tab-bg) text-(--text-secondary)", "data-[state=active]:bg-(--tab-active-bg) data-[state=active]:text-(--tab-active-text)", "focus-visible:outline-none focus-visible:shadow-(--focus-glow)", "disabled:opacity-50 disabled:cursor-not-allowed", "after:absolute after:bottom-0 after:left-1/2 after:-translate-x-1/2", "after:w-6 md:after:w-8 after:h-0.5 after:rounded-full", "after:bg-(--tab-indicator)", "after:opacity-0 data-[state=active]:after:opacity-100", "after:transition-opacity after:duration-300", className),
1632
+ ...props,
1633
+ children
1634
+ }));
1689
1635
  TabsTrigger.displayName = "TabsTrigger";
1690
- var TabsContent = ({ value, children, className }) => {
1691
- const { value: activeValue } = useTabsContext();
1692
- const isActive = activeValue === value;
1693
- if (!isActive) return null;
1694
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1695
- role: "tabpanel",
1696
- "aria-hidden": !isActive,
1697
- className: require_utils.cn("animate-in fade-in-0 duration-200", className),
1698
- children
1699
- });
1700
- };
1636
+ var TabsContent = react.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_tabs.Content, {
1637
+ ref,
1638
+ "data-slot": "tabs-content",
1639
+ className: require_utils.cn("animate-in fade-in-0 duration-200 outline-none", "focus-visible:outline-none", className),
1640
+ ...props
1641
+ }));
1642
+ TabsContent.displayName = "TabsContent";
1701
1643
  const TabsGlass = {
1702
1644
  Root: TabsRoot,
1703
1645
  List: TabsList,
@@ -1767,6 +1709,7 @@ const ToggleGlass = (0, react.forwardRef)(({ className, size = "default", varian
1767
1709
  className: "inline-flex items-center justify-center min-h-11",
1768
1710
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
1769
1711
  ref,
1712
+ "data-slot": "toggle",
1770
1713
  type: "button",
1771
1714
  role: "switch",
1772
1715
  "aria-pressed": isPressed,
@@ -2370,7 +2313,7 @@ const FlagAlertGlass = (0, react.forwardRef)(({ type = "warning", title, descrip
2370
2313
  };
2371
2314
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2372
2315
  ref,
2373
- className: require_utils.cn("p-2.5 md:p-3 rounded-xl border transition-all duration-300", className),
2316
+ className: require_utils.cn("p-2.5 md:p-3 rounded-xl border transition-all duration-300 max-w-md", className),
2374
2317
  style: alertStyles,
2375
2318
  onMouseEnter: () => setIsHovered(true),
2376
2319
  onMouseLeave: () => setIsHovered(false),
@@ -2560,6 +2503,7 @@ const ProgressGlass = (0, react.forwardRef)(({ className, size = "md", value = 0
2560
2503
  };
2561
2504
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2562
2505
  ref,
2506
+ "data-slot": "progress",
2563
2507
  className: require_utils.cn("w-full", className),
2564
2508
  ...props,
2565
2509
  children: [showLabel && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
@@ -2575,6 +2519,7 @@ const ProgressGlass = (0, react.forwardRef)(({ className, size = "md", value = 0
2575
2519
  className: require_utils.cn(progressSizes({ size })),
2576
2520
  style: trackStyles,
2577
2521
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
2522
+ "data-slot": "progress-indicator",
2578
2523
  className: "h-full rounded-full transition-all duration-700 ease-out",
2579
2524
  style: fillStyles,
2580
2525
  role: "progressbar",
@@ -4890,4 +4835,4 @@ Object.defineProperty(exports, "toggleSizes", {
4890
4835
  }
4891
4836
  });
4892
4837
 
4893
- //# sourceMappingURL=trust-score-card-glass-3VBi9soW.cjs.map
4838
+ //# sourceMappingURL=trust-score-card-glass-DtgFygh5.cjs.map