shadcn-glass-ui 2.2.4 → 2.3.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/CHANGELOG.md +22 -0
- package/dist/cli/index.cjs +1 -1
- package/dist/components/glass/ui/checkbox-glass.d.ts +71 -38
- package/dist/components/glass/ui/checkbox-glass.d.ts.map +1 -1
- package/dist/components/glass/ui/tabs-glass.d.ts +57 -7
- package/dist/components/glass/ui/tabs-glass.d.ts.map +1 -1
- package/dist/components.cjs +4 -4
- package/dist/components.mjs +1 -1
- package/dist/hooks.cjs +2 -2
- package/dist/index.cjs +10 -5
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/lib/types.d.ts +2 -2
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/r/checkbox-glass.json +3 -2
- package/dist/r/tabs-glass.json +4 -2
- package/dist/{theme-context-DBAPfMto.cjs → theme-context-DmTETrFi.cjs} +2 -2
- package/dist/{theme-context-DBAPfMto.cjs.map → theme-context-DmTETrFi.cjs.map} +1 -1
- package/dist/themes.cjs +1 -1
- package/dist/{trust-score-card-glass-_v9hGnCW.cjs → trust-score-card-glass-3VBi9soW.cjs} +76 -17
- package/dist/trust-score-card-glass-3VBi9soW.cjs.map +1 -0
- package/dist/{trust-score-card-glass-BUt9MIF0.mjs → trust-score-card-glass-EfMB5l5J.mjs} +44 -15
- package/dist/trust-score-card-glass-EfMB5l5J.mjs.map +1 -0
- package/dist/{use-focus-DBs46Dxv.cjs → use-focus-CswOSq71.cjs} +2 -2
- package/dist/{use-focus-DBs46Dxv.cjs.map → use-focus-CswOSq71.cjs.map} +1 -1
- package/dist/{use-wallpaper-tint-DNdTbD1y.cjs → use-wallpaper-tint-WtRWtupA.cjs} +2 -2
- package/dist/{use-wallpaper-tint-DNdTbD1y.cjs.map → use-wallpaper-tint-WtRWtupA.cjs.map} +1 -1
- package/dist/{utils-D5ef293O.cjs → utils-DX6rdBol.cjs} +2 -2
- package/dist/{utils-D5ef293O.cjs.map → utils-DX6rdBol.cjs.map} +1 -1
- package/dist/utils.cjs +1 -1
- package/package.json +1 -1
- package/dist/trust-score-card-glass-BUt9MIF0.mjs.map +0 -1
- package/dist/trust-score-card-glass-_v9hGnCW.cjs.map +0 -1
|
@@ -528,14 +528,31 @@ const ButtonGlass = forwardRef(({ asChild = false, className, variant = "default
|
|
|
528
528
|
});
|
|
529
529
|
});
|
|
530
530
|
ButtonGlass.displayName = "ButtonGlass";
|
|
531
|
-
const CheckboxGlass = forwardRef(({ className, checked, onChange, label, disabled, ...props }, ref) => {
|
|
531
|
+
const CheckboxGlass = forwardRef(({ className, checked: controlledChecked, defaultChecked, onCheckedChange, onChange, label, disabled, ...props }, ref) => {
|
|
532
532
|
const { isHovered, hoverProps } = useHover();
|
|
533
533
|
const { isFocusVisible, focusProps } = useFocus({ focusVisible: true });
|
|
534
|
+
const [uncontrolledChecked, setUncontrolledChecked] = React.useState(defaultChecked ?? false);
|
|
535
|
+
const isControlled = controlledChecked !== void 0;
|
|
536
|
+
const checked = isControlled ? controlledChecked : uncontrolledChecked;
|
|
537
|
+
const isChecked = checked === true;
|
|
538
|
+
const isIndeterminate = checked === "indeterminate";
|
|
539
|
+
const showIndicator = isChecked || isIndeterminate;
|
|
540
|
+
const handleChange = (newChecked) => {
|
|
541
|
+
if (disabled) return;
|
|
542
|
+
if (!isControlled) setUncontrolledChecked(newChecked);
|
|
543
|
+
onCheckedChange?.(newChecked);
|
|
544
|
+
if (onChange && typeof newChecked === "boolean") onChange(newChecked);
|
|
545
|
+
};
|
|
546
|
+
const toggleChecked = () => {
|
|
547
|
+
if (isIndeterminate) handleChange(true);
|
|
548
|
+
else handleChange(!isChecked);
|
|
549
|
+
};
|
|
534
550
|
const checkboxStyles = {
|
|
535
|
-
background:
|
|
536
|
-
border: `2px solid ${
|
|
551
|
+
background: showIndicator ? "var(--checkbox-checked-bg)" : "var(--checkbox-bg)",
|
|
552
|
+
border: `2px solid ${showIndicator ? "var(--checkbox-checked-bg)" : "var(--checkbox-border)"}`,
|
|
537
553
|
boxShadow: isFocusVisible && !disabled ? "var(--focus-glow)" : isHovered && !disabled ? "var(--checkbox-glow)" : "none"
|
|
538
554
|
};
|
|
555
|
+
const ariaChecked = isIndeterminate ? "mixed" : isChecked;
|
|
539
556
|
return /* @__PURE__ */ jsxs("label", {
|
|
540
557
|
className: cn("inline-flex items-center gap-2 md:gap-2.5", disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer", className),
|
|
541
558
|
onMouseEnter: hoverProps.onMouseEnter,
|
|
@@ -544,34 +561,37 @@ const CheckboxGlass = forwardRef(({ className, checked, onChange, label, disable
|
|
|
544
561
|
/* @__PURE__ */ jsx("input", {
|
|
545
562
|
ref,
|
|
546
563
|
type: "checkbox",
|
|
547
|
-
checked,
|
|
548
|
-
onChange: (e) =>
|
|
564
|
+
checked: isChecked,
|
|
565
|
+
onChange: (e) => handleChange(e.target.checked),
|
|
549
566
|
disabled,
|
|
550
567
|
className: "sr-only",
|
|
551
568
|
...props
|
|
552
569
|
}),
|
|
553
570
|
/* @__PURE__ */ jsx("span", {
|
|
554
571
|
className: "inline-flex items-center justify-center min-w-11 min-h-11",
|
|
555
|
-
children: /* @__PURE__ */
|
|
556
|
-
onClick:
|
|
572
|
+
children: /* @__PURE__ */ jsxs("div", {
|
|
573
|
+
onClick: toggleChecked,
|
|
557
574
|
onFocus: focusProps.onFocus,
|
|
558
575
|
onBlur: focusProps.onBlur,
|
|
559
576
|
className: "relative w-6 h-6 md:w-5 md:h-5 rounded-md flex items-center justify-center transition-all duration-300",
|
|
560
577
|
style: checkboxStyles,
|
|
561
578
|
role: "checkbox",
|
|
562
|
-
"aria-checked":
|
|
579
|
+
"aria-checked": ariaChecked,
|
|
563
580
|
"aria-label": label || "Checkbox",
|
|
564
581
|
tabIndex: disabled ? -1 : 0,
|
|
565
582
|
onKeyDown: (e) => {
|
|
566
583
|
if (!disabled && (e.key === "Enter" || e.key === " ")) {
|
|
567
584
|
e.preventDefault();
|
|
568
|
-
|
|
585
|
+
toggleChecked();
|
|
569
586
|
}
|
|
570
587
|
},
|
|
571
|
-
children:
|
|
588
|
+
children: [isChecked && /* @__PURE__ */ jsx(Check, {
|
|
572
589
|
className: "w-3.5 h-3.5 md:w-3 md:h-3",
|
|
573
590
|
style: { color: "var(--text-inverse)" }
|
|
574
|
-
})
|
|
591
|
+
}), isIndeterminate && /* @__PURE__ */ jsx(Minus, {
|
|
592
|
+
className: "w-3.5 h-3.5 md:w-3 md:h-3",
|
|
593
|
+
style: { color: "var(--text-inverse)" }
|
|
594
|
+
})]
|
|
575
595
|
})
|
|
576
596
|
}),
|
|
577
597
|
label && /* @__PURE__ */ jsx("span", {
|
|
@@ -583,6 +603,7 @@ const CheckboxGlass = forwardRef(({ className, checked, onChange, label, disable
|
|
|
583
603
|
});
|
|
584
604
|
});
|
|
585
605
|
CheckboxGlass.displayName = "CheckboxGlass";
|
|
606
|
+
const Checkbox = CheckboxGlass;
|
|
586
607
|
var circularProgressVariants = cva("relative inline-flex items-center justify-center p-4", {
|
|
587
608
|
variants: { size: {
|
|
588
609
|
sm: "w-20 h-20",
|
|
@@ -1545,11 +1566,18 @@ var useTabsContext = () => {
|
|
|
1545
1566
|
if (!context) throw new Error("Tabs compound components must be used within TabsGlass.Root");
|
|
1546
1567
|
return context;
|
|
1547
1568
|
};
|
|
1548
|
-
var TabsRoot = ({ value, onValueChange, children, className }) => {
|
|
1569
|
+
var TabsRoot = ({ value: controlledValue, defaultValue, onValueChange, children, className }) => {
|
|
1570
|
+
const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue ?? "");
|
|
1571
|
+
const isControlled = controlledValue !== void 0;
|
|
1572
|
+
const value = isControlled ? controlledValue : uncontrolledValue;
|
|
1573
|
+
const handleValueChange = (newValue) => {
|
|
1574
|
+
if (!isControlled) setUncontrolledValue(newValue);
|
|
1575
|
+
onValueChange?.(newValue);
|
|
1576
|
+
};
|
|
1549
1577
|
return /* @__PURE__ */ jsx(TabsContext.Provider, {
|
|
1550
1578
|
value: {
|
|
1551
1579
|
value,
|
|
1552
|
-
onValueChange
|
|
1580
|
+
onValueChange: handleValueChange
|
|
1553
1581
|
},
|
|
1554
1582
|
children: /* @__PURE__ */ jsx("div", {
|
|
1555
1583
|
className: cn("tabs-glass-root", className),
|
|
@@ -1650,6 +1678,7 @@ const TabsGlass = {
|
|
|
1650
1678
|
Trigger: TabsTrigger,
|
|
1651
1679
|
Content: TabsContent
|
|
1652
1680
|
};
|
|
1681
|
+
const Tabs = TabsRoot;
|
|
1653
1682
|
const toggleSizes = cva("relative rounded-full transition-all duration-300", {
|
|
1654
1683
|
variants: {
|
|
1655
1684
|
size: {
|
|
@@ -4192,6 +4221,6 @@ const TrustScoreCardGlass = forwardRef(({ score = 72, metrics = [], className, .
|
|
|
4192
4221
|
});
|
|
4193
4222
|
});
|
|
4194
4223
|
TrustScoreCardGlass.displayName = "TrustScoreCardGlass";
|
|
4195
|
-
export {
|
|
4224
|
+
export { TabsTrigger as $, FlagAlertGlass as A, DropdownMenuGlassTrigger as At, IconButtonGlass as B, AvatarGlass as Bt, sparklineContainerVariants as C, DropdownMenuGlassRadioGroup as Ct, progressSizes as D, DropdownMenuGlassSub as Dt, ProgressGlass as E, DropdownMenuGlassShortcut as Et, SortDropdownGlass as F, CheckboxGlass as Ft, TooltipGlassSimple as G, statusSizes as Gt, TooltipGlass as H, AvatarGlassImage as Ht, SearchBoxGlass as I, ButtonGlass as It, toggleSizes as J, AlertGlassTitle as Jt, TooltipGlassTrigger as K, AlertGlass as Kt, InsightCardGlass as L, buttonGlassVariants as Lt, BaseProgressGlass as M, inputVariants as Mt, ThemeToggleGlass as N, CircularProgressGlass as Nt, ProfileAvatarGlass as O, DropdownMenuGlassSubContent as Ot, StatItemGlass as P, Checkbox as Pt, TabsList as Q, alertVariants as Qt, insightCardVariants as R, BadgeGlass as Rt, sparklineBarVariants as S, DropdownMenuGlassPortal as St, RainbowProgressGlass as T, DropdownMenuGlassSeparator as Tt, TooltipGlassContent as U, AvatarGlassSimple as Ut, ExpandableHeaderGlass as V, AvatarGlassFallback as Vt, TooltipGlassProvider as W, avatarSizes as Wt, TabsContent as X, FormFieldWrapper as Xt, Tabs as Y, InteractiveCard as Yt, TabsGlass as Z, TouchTarget as Zt, ContributionMetricsGlass as _, DropdownMenuGlassCheckboxItem as _t, HeaderBrandingGlass as a, PopoverGlassContent as at, AICardGlass as b, DropdownMenuGlassItem as bt, YearCardGlass as c, NotificationGlass as ct, TrustScoreDisplayGlass as d, modalSizes as dt, SliderGlass as et, RepositoryMetadataGlass as f, InputGlass as ft, MetricCardGlass as g, DropdownMenuGlass as gt, MetricsGridGlass as h, DropdownGlass as ht, HeaderNavGlass as i, PopoverGlassAnchor as it, StatusIndicatorGlass as j, ComboBoxGlass as jt, LanguageBarGlass as k, DropdownMenuGlassSubTrigger as kt, UserStatsLineGlass as l, notificationVariants as lt, RepositoryCardGlass as m, cardIntensity as mt, ProjectsListGlass as n, skeletonVariants as nt, FlagsSectionGlass as o, PopoverGlassLegacy as ot, RepositoryHeaderGlass as p, GlassCard as pt, ToggleGlass as q, AlertGlassDescription as qt, ProfileHeaderGlass as r, PopoverGlass as rt, CareerStatsGlass as s, PopoverGlassTrigger as st, TrustScoreCardGlass as t, SkeletonGlass as tt, UserInfoGlass as u, ModalGlass as ut, CircularMetricGlass as v, DropdownMenuGlassContent as vt, SegmentedControlGlass as w, DropdownMenuGlassRadioItem as wt, SparklineGlass as x, DropdownMenuGlassLabel as xt, CareerStatsHeaderGlass as y, DropdownMenuGlassGroup as yt, insightVariantConfig as z, badgeVariants as zt };
|
|
4196
4225
|
|
|
4197
|
-
//# sourceMappingURL=trust-score-card-glass-
|
|
4226
|
+
//# sourceMappingURL=trust-score-card-glass-EfMB5l5J.mjs.map
|