shadcn-glass-ui 2.2.4 → 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 (70) hide show
  1. package/CHANGELOG.md +48 -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 +66 -58
  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 +111 -110
  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 +17 -5
  29. package/dist/index.cjs.map +1 -1
  30. package/dist/index.d.ts +4 -2
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.mjs +9 -2
  33. package/dist/index.mjs.map +1 -1
  34. package/dist/lib/types.d.ts +2 -2
  35. package/dist/lib/types.d.ts.map +1 -1
  36. package/dist/lib/variants/skeleton-glass-variants.d.ts +1 -1
  37. package/dist/r/avatar-glass.json +1 -1
  38. package/dist/r/checkbox-glass.json +6 -6
  39. package/dist/r/circular-progress-glass.json +1 -1
  40. package/dist/r/dropdown-glass.json +1 -1
  41. package/dist/r/dropdown-menu-glass.json +1 -1
  42. package/dist/r/flag-alert-glass.json +1 -1
  43. package/dist/r/glass-card.json +3 -2
  44. package/dist/r/notification-glass.json +1 -1
  45. package/dist/r/popover-glass.json +1 -1
  46. package/dist/r/progress-glass.json +1 -1
  47. package/dist/r/registry.json +2 -2
  48. package/dist/r/skeleton-glass.json +1 -1
  49. package/dist/r/slider-glass.json +1 -1
  50. package/dist/r/stepper-glass.json +1 -1
  51. package/dist/r/tabs-glass.json +8 -5
  52. package/dist/r/toggle-glass.json +1 -1
  53. package/dist/shadcn-glass-ui.css +1 -1
  54. package/dist/{theme-context-DBAPfMto.cjs → theme-context-7NcW0KZL.cjs} +2 -2
  55. package/dist/{theme-context-DBAPfMto.cjs.map → theme-context-7NcW0KZL.cjs.map} +1 -1
  56. package/dist/themes.cjs +1 -1
  57. package/dist/{trust-score-card-glass-BUt9MIF0.mjs → trust-score-card-glass-BGqBcdyJ.mjs} +126 -154
  58. package/dist/trust-score-card-glass-BGqBcdyJ.mjs.map +1 -0
  59. package/dist/{trust-score-card-glass-_v9hGnCW.cjs → trust-score-card-glass-DtgFygh5.cjs} +159 -155
  60. package/dist/trust-score-card-glass-DtgFygh5.cjs.map +1 -0
  61. package/dist/{use-focus-DBs46Dxv.cjs → use-focus-BFBcpBh1.cjs} +2 -2
  62. package/dist/{use-focus-DBs46Dxv.cjs.map → use-focus-BFBcpBh1.cjs.map} +1 -1
  63. package/dist/{use-wallpaper-tint-DNdTbD1y.cjs → use-wallpaper-tint-DTTStm5f.cjs} +2 -2
  64. package/dist/{use-wallpaper-tint-DNdTbD1y.cjs.map → use-wallpaper-tint-DTTStm5f.cjs.map} +1 -1
  65. package/dist/{utils-D5ef293O.cjs → utils-CiuCe_Aq.cjs} +2 -2
  66. package/dist/{utils-D5ef293O.cjs.map → utils-CiuCe_Aq.cjs.map} +1 -1
  67. package/dist/utils.cjs +1 -1
  68. package/package.json +5 -1
  69. package/dist/trust-score-card-glass-BUt9MIF0.mjs.map +0 -1
  70. package/dist/trust-score-card-glass-_v9hGnCW.cjs.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-D5ef293O.cjs");
22
- const require_use_focus = require("./use-focus-DBs46Dxv.cjs");
23
- const require_theme_context = require("./theme-context-DBAPfMto.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,61 +562,51 @@ 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, onChange, label, disabled, ...props }, ref) => {
558
- const { isHovered, hoverProps } = require_use_focus.useHover();
559
- const { isFocusVisible, focusProps } = require_use_focus.useFocus({ focusVisible: true });
565
+ const CheckboxGlass = react.forwardRef(({ className, label, onChange, onCheckedChange, disabled, checked, ...props }, ref) => {
566
+ const handleCheckedChange = react.useCallback((newChecked) => {
567
+ onCheckedChange?.(newChecked);
568
+ if (onChange && typeof newChecked === "boolean") onChange(newChecked);
569
+ }, [onCheckedChange, onChange]);
570
+ const isIndeterminate = checked === "indeterminate";
571
+ const showIndicator = checked === true || isIndeterminate;
560
572
  const checkboxStyles = {
561
- background: checked ? "var(--checkbox-checked-bg)" : "var(--checkbox-bg)",
562
- border: `2px solid ${checked ? "var(--checkbox-checked-bg)" : "var(--checkbox-border)"}`,
563
- boxShadow: isFocusVisible && !disabled ? "var(--focus-glow)" : isHovered && !disabled ? "var(--checkbox-glow)" : "none"
573
+ background: showIndicator ? "var(--checkbox-checked-bg)" : "var(--checkbox-bg)",
574
+ borderColor: showIndicator ? "var(--checkbox-checked-bg)" : "var(--checkbox-border)"
564
575
  };
565
576
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("label", {
566
577
  className: require_utils.cn("inline-flex items-center gap-2 md:gap-2.5", disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer", className),
567
- onMouseEnter: hoverProps.onMouseEnter,
568
- onMouseLeave: hoverProps.onMouseLeave,
569
- children: [
570
- /* @__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, {
571
581
  ref,
572
- type: "checkbox",
582
+ "data-slot": "checkbox",
573
583
  checked,
574
- onChange: (e) => !disabled && onChange?.(e.target.checked),
584
+ onCheckedChange: handleCheckedChange,
575
585
  disabled,
576
- className: "sr-only",
577
- ...props
578
- }),
579
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
580
- className: "inline-flex items-center justify-center min-w-11 min-h-11",
581
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
582
- onClick: () => !disabled && onChange?.(!checked),
583
- onFocus: focusProps.onFocus,
584
- onBlur: focusProps.onBlur,
585
- className: "relative w-6 h-6 md:w-5 md:h-5 rounded-md flex items-center justify-center transition-all duration-300",
586
- style: checkboxStyles,
587
- role: "checkbox",
588
- "aria-checked": checked,
589
- "aria-label": label || "Checkbox",
590
- tabIndex: disabled ? -1 : 0,
591
- onKeyDown: (e) => {
592
- if (!disabled && (e.key === "Enter" || e.key === " ")) {
593
- e.preventDefault();
594
- onChange?.(!checked);
595
- }
596
- },
597
- children: checked && /* @__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, {
593
+ className: "w-3.5 h-3.5 md:w-3 md:h-3",
594
+ style: { color: "var(--text-inverse)" }
595
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.Check, {
598
596
  className: "w-3.5 h-3.5 md:w-3 md:h-3",
599
597
  style: { color: "var(--text-inverse)" }
600
598
  })
601
599
  })
602
- }),
603
- label && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
604
- className: "text-xs md:text-sm",
605
- style: { color: "var(--text-secondary)" },
606
- children: label
607
600
  })
608
- ]
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
+ })]
609
606
  });
610
607
  });
611
608
  CheckboxGlass.displayName = "CheckboxGlass";
609
+ const Checkbox = CheckboxGlass;
612
610
  var circularProgressVariants = (0, class_variance_authority.cva)("relative inline-flex items-center justify-center p-4", {
613
611
  variants: { size: {
614
612
  sm: "w-20 h-20",
@@ -684,6 +682,7 @@ const CircularProgressGlass = (0, react.forwardRef)(({ className, size = "md", v
684
682
  const glowId = `circular-glow-${uniqueId}`;
685
683
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
686
684
  ref,
685
+ "data-slot": "circular-progress",
687
686
  className: require_utils.cn(circularProgressVariants({ size }), className),
688
687
  ...props,
689
688
  children: [
@@ -957,14 +956,33 @@ function ComboBoxGlassInner({ options, value, onValueChange, placeholder = "Sele
957
956
  }
958
957
  const ComboBoxGlass = (0, react.forwardRef)(ComboBoxGlassInner);
959
958
  ComboBoxGlassInner.displayName = "ComboBoxGlass";
960
- var DropdownMenuGlass = __radix_ui_react_dropdown_menu.Root;
961
- var DropdownMenuGlassTrigger = __radix_ui_react_dropdown_menu.Trigger;
962
- 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";
963
974
  var DropdownMenuGlassPortal = __radix_ui_react_dropdown_menu.Portal;
964
- var DropdownMenuGlassSub = __radix_ui_react_dropdown_menu.Sub;
965
- 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";
966
983
  var DropdownMenuGlassSubTrigger = react.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__radix_ui_react_dropdown_menu.SubTrigger, {
967
984
  ref,
985
+ "data-slot": "dropdown-menu-sub-trigger",
968
986
  className: require_utils.cn(getDropdownItemClasses(), "data-[state=open]:bg-[var(--dropdown-item-hover)]", inset && "pl-8", className),
969
987
  ...props,
970
988
  children: [children, /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronRightIcon, { className: "ml-auto h-4 w-4" })]
@@ -972,6 +990,7 @@ var DropdownMenuGlassSubTrigger = react.forwardRef(({ className, inset, children
972
990
  DropdownMenuGlassSubTrigger.displayName = "DropdownMenuGlassSubTrigger";
973
991
  var DropdownMenuGlassSubContent = react.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_dropdown_menu.SubContent, {
974
992
  ref,
993
+ "data-slot": "dropdown-menu-sub-content",
975
994
  className: require_utils.cn(dropdownContentClasses, "p-1.5", className),
976
995
  style: getDropdownContentStyles(),
977
996
  ...props
@@ -979,6 +998,7 @@ var DropdownMenuGlassSubContent = react.forwardRef(({ className, ...props }, ref
979
998
  DropdownMenuGlassSubContent.displayName = "DropdownMenuGlassSubContent";
980
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, {
981
1000
  ref,
1001
+ "data-slot": "dropdown-menu-content",
982
1002
  sideOffset,
983
1003
  className: require_utils.cn(dropdownContentClasses, "p-1.5", className),
984
1004
  style: getDropdownContentStyles(),
@@ -987,12 +1007,14 @@ var DropdownMenuGlassContent = react.forwardRef(({ className, sideOffset = 8, ..
987
1007
  DropdownMenuGlassContent.displayName = "DropdownMenuGlassContent";
988
1008
  var DropdownMenuGlassItem = react.forwardRef(({ className, inset, variant = "default", ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_dropdown_menu.Item, {
989
1009
  ref,
1010
+ "data-slot": "dropdown-menu-item",
990
1011
  className: require_utils.cn(getDropdownItemClasses({ danger: variant === "destructive" }), inset && "pl-8", className),
991
1012
  ...props
992
1013
  }));
993
1014
  DropdownMenuGlassItem.displayName = "DropdownMenuGlassItem";
994
1015
  var DropdownMenuGlassCheckboxItem = react.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__radix_ui_react_dropdown_menu.CheckboxItem, {
995
1016
  ref,
1017
+ "data-slot": "dropdown-menu-checkbox-item",
996
1018
  className: require_utils.cn(getDropdownItemClasses(), "pl-8 pr-2", className),
997
1019
  checked,
998
1020
  ...props,
@@ -1004,6 +1026,7 @@ var DropdownMenuGlassCheckboxItem = react.forwardRef(({ className, children, che
1004
1026
  DropdownMenuGlassCheckboxItem.displayName = "DropdownMenuGlassCheckboxItem";
1005
1027
  var DropdownMenuGlassRadioItem = react.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__radix_ui_react_dropdown_menu.RadioItem, {
1006
1028
  ref,
1029
+ "data-slot": "dropdown-menu-radio-item",
1007
1030
  className: require_utils.cn(getDropdownItemClasses(), "pl-8 pr-2", className),
1008
1031
  ...props,
1009
1032
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
@@ -1014,18 +1037,21 @@ var DropdownMenuGlassRadioItem = react.forwardRef(({ className, children, ...pro
1014
1037
  DropdownMenuGlassRadioItem.displayName = "DropdownMenuGlassRadioItem";
1015
1038
  var DropdownMenuGlassLabel = react.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_dropdown_menu.Label, {
1016
1039
  ref,
1040
+ "data-slot": "dropdown-menu-label",
1017
1041
  className: require_utils.cn(dropdownLabelClasses, inset && "pl-8", className),
1018
1042
  ...props
1019
1043
  }));
1020
1044
  DropdownMenuGlassLabel.displayName = "DropdownMenuGlassLabel";
1021
1045
  var DropdownMenuGlassSeparator = react.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_dropdown_menu.Separator, {
1022
1046
  ref,
1047
+ "data-slot": "dropdown-menu-separator",
1023
1048
  className: require_utils.cn(dropdownSeparatorClasses, "-mx-1 my-1", className),
1024
1049
  ...props
1025
1050
  }));
1026
1051
  DropdownMenuGlassSeparator.displayName = "DropdownMenuGlassSeparator";
1027
1052
  var DropdownMenuGlassShortcut = ({ className, ...props }) => {
1028
1053
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
1054
+ "data-slot": "dropdown-menu-shortcut",
1029
1055
  className: require_utils.cn("ml-auto text-xs tracking-widest text-(--text-muted)", className),
1030
1056
  ...props
1031
1057
  });
@@ -1034,6 +1060,7 @@ DropdownMenuGlassShortcut.displayName = "DropdownMenuGlassShortcut";
1034
1060
  const DropdownGlass = react.forwardRef(({ trigger, items, align = "left", className }, ref) => {
1035
1061
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1036
1062
  ref,
1063
+ "data-slot": "dropdown",
1037
1064
  className: require_utils.cn("relative inline-block", className),
1038
1065
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(DropdownMenuGlass, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(DropdownMenuGlassTrigger, {
1039
1066
  asChild: true,
@@ -1109,6 +1136,7 @@ const GlassCard = (0, react.forwardRef)(({ asChild = false, children, className,
1109
1136
  };
1110
1137
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(asChild ? __radix_ui_react_slot.Slot : "div", {
1111
1138
  ref,
1139
+ "data-slot": "card",
1112
1140
  className: require_utils.cn(cardIntensity({
1113
1141
  intensity,
1114
1142
  hover,
@@ -1391,6 +1419,7 @@ const NotificationGlass = (0, react.forwardRef)(({ variant: variantProp, type: t
1391
1419
  };
1392
1420
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
1393
1421
  ref,
1422
+ "data-slot": "notification",
1394
1423
  className: require_utils.cn(notificationVariants({ type: effectiveType }), className),
1395
1424
  style: containerStyles,
1396
1425
  role: "alert",
@@ -1431,9 +1460,20 @@ const NotificationGlass = (0, react.forwardRef)(({ variant: variantProp, type: t
1431
1460
  });
1432
1461
  });
1433
1462
  NotificationGlass.displayName = "NotificationGlass";
1434
- var PopoverGlassRoot = __radix_ui_react_popover.Root;
1435
- var PopoverGlassTrigger = __radix_ui_react_popover.Trigger;
1436
- 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";
1437
1477
  var PopoverGlassContent = react.forwardRef(({ className, align = "center", sideOffset = 8, showArrow = true, children, ...props }, ref) => {
1438
1478
  const popoverStyles = {
1439
1479
  background: "var(--popover-bg)",
@@ -1445,6 +1485,7 @@ var PopoverGlassContent = react.forwardRef(({ className, align = "center", sideO
1445
1485
  const arrowStyles = { fill: "var(--popover-arrow-bg)" };
1446
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, {
1447
1487
  ref,
1488
+ "data-slot": "popover-content",
1448
1489
  align,
1449
1490
  sideOffset,
1450
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),
@@ -1500,6 +1541,7 @@ const SkeletonGlass = (0, react.forwardRef)(({ className, variant = "text", widt
1500
1541
  };
1501
1542
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1502
1543
  ref,
1544
+ "data-slot": "skeleton",
1503
1545
  className: require_utils.cn(skeletonVariants({ variant }), className),
1504
1546
  style: skeletonStyles,
1505
1547
  "aria-hidden": "true",
@@ -1538,6 +1580,7 @@ const SliderGlass = (0, react.forwardRef)(({ className, value, defaultValue, onV
1538
1580
  className: require_utils.cn("w-full", className),
1539
1581
  children: [customLabel, /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(__radix_ui_react_slider.Root, {
1540
1582
  ref,
1583
+ "data-slot": "slider",
1541
1584
  value,
1542
1585
  defaultValue,
1543
1586
  onValueChange,
@@ -1550,13 +1593,16 @@ const SliderGlass = (0, react.forwardRef)(({ className, value, defaultValue, onV
1550
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"),
1551
1594
  ...props,
1552
1595
  children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_slider.Track, {
1596
+ "data-slot": "slider-track",
1553
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"),
1554
1598
  style: trackStyles,
1555
1599
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_slider.Range, {
1600
+ "data-slot": "slider-range",
1556
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)"),
1557
1602
  style: rangeStyles
1558
1603
  })
1559
1604
  }), currentValue.map((_, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__radix_ui_react_slider.Thumb, {
1605
+ "data-slot": "slider-thumb",
1560
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"),
1561
1607
  style: thumbStyles,
1562
1608
  "aria-label": label ? currentValue.length > 1 ? `${label} thumb ${index + 1}` : label : `Slider thumb ${index + 1}`
@@ -1565,117 +1611,42 @@ const SliderGlass = (0, react.forwardRef)(({ className, value, defaultValue, onV
1565
1611
  });
1566
1612
  });
1567
1613
  SliderGlass.displayName = "SliderGlass";
1568
- var TabsContext = (0, react.createContext)(null);
1569
- var useTabsContext = () => {
1570
- const context = (0, react.useContext)(TabsContext);
1571
- if (!context) throw new Error("Tabs compound components must be used within TabsGlass.Root");
1572
- return context;
1573
- };
1574
- var TabsRoot = ({ value, onValueChange, children, className }) => {
1575
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TabsContext.Provider, {
1576
- value: {
1577
- value,
1578
- onValueChange
1579
- },
1580
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1581
- className: require_utils.cn("tabs-glass-root", className),
1582
- children
1583
- })
1584
- });
1585
- };
1586
- var TabsList = (0, react.forwardRef)(({ children, className, ...props }, ref) => {
1587
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1588
- ref,
1589
- className: require_utils.cn("inline-flex gap-0.5 md:gap-1 p-0.5 md:p-1 rounded-xl", className),
1590
- style: {
1591
- background: "var(--tab-container-bg)",
1592
- border: "1px solid var(--tab-container-border)"
1593
- },
1594
- role: "tablist",
1595
- ...props,
1596
- 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
1597
1619
  });
1598
- });
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
+ }));
1599
1627
  TabsList.displayName = "TabsList";
1600
- var TabsTrigger = (0, react.forwardRef)(({ value, children, className, disabled }, ref) => {
1601
- const { value: activeValue, onValueChange } = useTabsContext();
1602
- const { isFocusVisible, focusProps } = require_use_focus.useFocus({ focusVisible: true });
1603
- const isActive = activeValue === value;
1604
- const tabStyles = {
1605
- background: isActive ? "var(--tab-active-bg)" : "var(--tab-bg)",
1606
- color: isActive ? "var(--tab-active-text)" : "var(--text-secondary)",
1607
- boxShadow: isFocusVisible && !disabled ? "var(--focus-glow)" : "none"
1608
- };
1609
- const handleKeyDown = (e) => {
1610
- if (disabled) return;
1611
- const tablist = e.currentTarget.closest("[role=\"tablist\"]");
1612
- if (!tablist) return;
1613
- const tabs = Array.from(tablist.querySelectorAll("[role=\"tab\"]:not([disabled])"));
1614
- const currentIndex = tabs.indexOf(e.currentTarget);
1615
- let nextIndex = currentIndex;
1616
- switch (e.key) {
1617
- case "ArrowRight":
1618
- e.preventDefault();
1619
- nextIndex = currentIndex + 1 >= tabs.length ? 0 : currentIndex + 1;
1620
- break;
1621
- case "ArrowLeft":
1622
- e.preventDefault();
1623
- nextIndex = currentIndex - 1 < 0 ? tabs.length - 1 : currentIndex - 1;
1624
- break;
1625
- case "Home":
1626
- e.preventDefault();
1627
- nextIndex = 0;
1628
- break;
1629
- case "End":
1630
- e.preventDefault();
1631
- nextIndex = tabs.length - 1;
1632
- break;
1633
- default: return;
1634
- }
1635
- const nextTab = tabs[nextIndex];
1636
- if (nextTab) {
1637
- nextTab.focus();
1638
- const nextValue = nextTab.getAttribute("data-value");
1639
- if (nextValue && onValueChange) onValueChange(nextValue);
1640
- }
1641
- };
1642
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
1643
- ref,
1644
- type: "button",
1645
- role: "tab",
1646
- "aria-selected": isActive,
1647
- disabled,
1648
- "data-value": value,
1649
- 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),
1650
- style: tabStyles,
1651
- onClick: () => !disabled && onValueChange?.(value),
1652
- onKeyDown: handleKeyDown,
1653
- onFocus: focusProps.onFocus,
1654
- onBlur: focusProps.onBlur,
1655
- children: [children, isActive && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1656
- className: "absolute bottom-0 left-1/2 -translate-x-1/2 w-6 md:w-8 h-0.5 rounded-full",
1657
- style: { background: "var(--tab-indicator)" }
1658
- })]
1659
- });
1660
- });
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
+ }));
1661
1635
  TabsTrigger.displayName = "TabsTrigger";
1662
- var TabsContent = ({ value, children, className }) => {
1663
- const { value: activeValue } = useTabsContext();
1664
- const isActive = activeValue === value;
1665
- if (!isActive) return null;
1666
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
1667
- role: "tabpanel",
1668
- "aria-hidden": !isActive,
1669
- className: require_utils.cn("animate-in fade-in-0 duration-200", className),
1670
- children
1671
- });
1672
- };
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";
1673
1643
  const TabsGlass = {
1674
1644
  Root: TabsRoot,
1675
1645
  List: TabsList,
1676
1646
  Trigger: TabsTrigger,
1677
1647
  Content: TabsContent
1678
1648
  };
1649
+ const Tabs = TabsRoot;
1679
1650
  const toggleSizes = (0, class_variance_authority.cva)("relative rounded-full transition-all duration-300", {
1680
1651
  variants: {
1681
1652
  size: {
@@ -1738,6 +1709,7 @@ const ToggleGlass = (0, react.forwardRef)(({ className, size = "default", varian
1738
1709
  className: "inline-flex items-center justify-center min-h-11",
1739
1710
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
1740
1711
  ref,
1712
+ "data-slot": "toggle",
1741
1713
  type: "button",
1742
1714
  role: "switch",
1743
1715
  "aria-pressed": isPressed,
@@ -2341,7 +2313,7 @@ const FlagAlertGlass = (0, react.forwardRef)(({ type = "warning", title, descrip
2341
2313
  };
2342
2314
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2343
2315
  ref,
2344
- 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),
2345
2317
  style: alertStyles,
2346
2318
  onMouseEnter: () => setIsHovered(true),
2347
2319
  onMouseLeave: () => setIsHovered(false),
@@ -2531,6 +2503,7 @@ const ProgressGlass = (0, react.forwardRef)(({ className, size = "md", value = 0
2531
2503
  };
2532
2504
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
2533
2505
  ref,
2506
+ "data-slot": "progress",
2534
2507
  className: require_utils.cn("w-full", className),
2535
2508
  ...props,
2536
2509
  children: [showLabel && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
@@ -2546,6 +2519,7 @@ const ProgressGlass = (0, react.forwardRef)(({ className, size = "md", value = 0
2546
2519
  className: require_utils.cn(progressSizes({ size })),
2547
2520
  style: trackStyles,
2548
2521
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
2522
+ "data-slot": "progress-indicator",
2549
2523
  className: "h-full rounded-full transition-all duration-700 ease-out",
2550
2524
  style: fillStyles,
2551
2525
  role: "progressbar",
@@ -4296,6 +4270,12 @@ Object.defineProperty(exports, "CareerStatsHeaderGlass", {
4296
4270
  return CareerStatsHeaderGlass;
4297
4271
  }
4298
4272
  });
4273
+ Object.defineProperty(exports, "Checkbox", {
4274
+ enumerable: true,
4275
+ get: function() {
4276
+ return Checkbox;
4277
+ }
4278
+ });
4299
4279
  Object.defineProperty(exports, "CheckboxGlass", {
4300
4280
  enumerable: true,
4301
4281
  get: function() {
@@ -4644,12 +4624,36 @@ Object.defineProperty(exports, "StatusIndicatorGlass", {
4644
4624
  return StatusIndicatorGlass;
4645
4625
  }
4646
4626
  });
4627
+ Object.defineProperty(exports, "Tabs", {
4628
+ enumerable: true,
4629
+ get: function() {
4630
+ return Tabs;
4631
+ }
4632
+ });
4633
+ Object.defineProperty(exports, "TabsContent", {
4634
+ enumerable: true,
4635
+ get: function() {
4636
+ return TabsContent;
4637
+ }
4638
+ });
4647
4639
  Object.defineProperty(exports, "TabsGlass", {
4648
4640
  enumerable: true,
4649
4641
  get: function() {
4650
4642
  return TabsGlass;
4651
4643
  }
4652
4644
  });
4645
+ Object.defineProperty(exports, "TabsList", {
4646
+ enumerable: true,
4647
+ get: function() {
4648
+ return TabsList;
4649
+ }
4650
+ });
4651
+ Object.defineProperty(exports, "TabsTrigger", {
4652
+ enumerable: true,
4653
+ get: function() {
4654
+ return TabsTrigger;
4655
+ }
4656
+ });
4653
4657
  Object.defineProperty(exports, "ThemeToggleGlass", {
4654
4658
  enumerable: true,
4655
4659
  get: function() {
@@ -4831,4 +4835,4 @@ Object.defineProperty(exports, "toggleSizes", {
4831
4835
  }
4832
4836
  });
4833
4837
 
4834
- //# sourceMappingURL=trust-score-card-glass-_v9hGnCW.cjs.map
4838
+ //# sourceMappingURL=trust-score-card-glass-DtgFygh5.cjs.map