@glasshome/ui 1.3.0 → 1.4.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.
@@ -39,7 +39,7 @@ export declare const buttonVariants: import("cva").CVAComponent<Omit<{
39
39
  none: string;
40
40
  };
41
41
  };
42
- defaultVariants: Omit<{}, "variant" | "size"> & {
42
+ defaultVariants: Omit<{}, "size" | "variant"> & {
43
43
  variant: "default";
44
44
  size: "default";
45
45
  };
@@ -12900,14 +12900,16 @@ var $_ = /*#__PURE__*/ K("<div data-slot=dialog-header>"), ev = /*#__PURE__*/ K(
12900
12900
  }
12901
12901
  };
12902
12902
  return je(() => {
12903
- let e = setTimeout(c, 100), t = new ResizeObserver(() => {
12904
- setTimeout(c, 50);
12903
+ let e = setTimeout(c, 100), t, n = new ResizeObserver(() => {
12904
+ clearTimeout(t), t = setTimeout(c, 50);
12905
12905
  });
12906
- t.observe(i), F(() => {
12907
- clearTimeout(e), t.disconnect();
12906
+ n.observe(i), F(() => {
12907
+ clearTimeout(e), clearTimeout(t), n.disconnect();
12908
12908
  });
12909
12909
  }), j(() => {
12910
- t.items.length, setTimeout(c, 150);
12910
+ t.items.length;
12911
+ let e = setTimeout(c, 150);
12912
+ F(() => clearTimeout(e));
12911
12913
  }), (() => {
12912
12914
  var e = dv(), o = e.firstChild.firstChild;
12913
12915
  G(e, U({ get class() {
@@ -17598,24 +17600,21 @@ function tE(e) {
17598
17600
  }
17599
17601
  //#endregion
17600
17602
  //#region src/solid/widget-identity.tsx
17601
- var nE = /*#__PURE__*/ K("<span class=\"shrink-0 rounded-full bg-foreground/10 px-1.5 py-0.5 font-medium text-[10px] text-muted-foreground uppercase tracking-wide\">Unlisted"), rE = /*#__PURE__*/ K("<span class=\"shrink-0 font-mono text-muted-foreground text-xs tabular-nums\">v"), iE = /*#__PURE__*/ K("<div><div class=\"min-w-0 flex-1\"><div class=\"flex items-center gap-2\"></div><div class=\"mt-0.5 flex min-w-0 flex-wrap items-center gap-1.5\"><span class=\"truncate font-mono text-muted-foreground text-xs\">@<!>/"), aE = /*#__PURE__*/ K("<span class=\"flex items-center gap-1 tabular-nums\">"), oE = /*#__PURE__*/ K("<span class=\"flex items-center gap-1 tabular-nums\"> versions"), sE = /*#__PURE__*/ K("<div>");
17602
- function cE(e) {
17603
+ var nE = /*#__PURE__*/ K("<span class=\"shrink-0 font-mono text-muted-foreground text-xs tabular-nums\">v"), rE = /*#__PURE__*/ K("<div><div class=\"min-w-0 flex-1\"><div class=\"flex items-center gap-2\"></div><div class=\"mt-0.5 flex min-w-0 flex-wrap items-center gap-1.5\"><span class=\"truncate font-mono text-muted-foreground text-xs\">@<!>/"), iE = /*#__PURE__*/ K("<span class=\"flex items-center gap-1 tabular-nums\">"), aE = /*#__PURE__*/ K("<span class=\"flex items-center gap-1 tabular-nums\"> versions"), oE = /*#__PURE__*/ K("<div>");
17604
+ function sE(e) {
17603
17605
  return `/widgets/@${e.scope}/${e.name}`;
17604
17606
  }
17605
- function lE(e) {
17607
+ function cE(e) {
17606
17608
  let t = e ?? 0;
17607
17609
  return t >= 1e6 ? `${(t / 1e6).toFixed(1)}M` : t >= 1e3 ? `${(t / 1e3).toFixed(1)}k` : t.toString();
17608
17610
  }
17609
- function uE() {
17610
- return nE();
17611
- }
17612
- function dE(e) {
17611
+ function lE(e) {
17613
17612
  let t = ke({
17614
17613
  iconSize: "sm",
17615
17614
  showVersionInline: !0
17616
17615
  }, e);
17617
17616
  return (() => {
17618
- var e = iE(), n = e.firstChild, r = n.firstChild, i = r.nextSibling, a = i.firstChild, o = a.firstChild.nextSibling;
17617
+ var e = rE(), n = e.firstChild, r = n.firstChild, i = r.nextSibling, a = i.firstChild, o = a.firstChild.nextSibling;
17619
17618
  return o.nextSibling, V(e, z(xw, {
17620
17619
  get size() {
17621
17620
  return t.iconSize;
@@ -17643,7 +17642,7 @@ function dE(e) {
17643
17642
  return H(() => !!t.showVersionInline)() && t.widget.latestVersion;
17644
17643
  },
17645
17644
  get children() {
17646
- var e = rE();
17645
+ var e = nE();
17647
17646
  return e.firstChild, V(e, () => t.widget.latestVersion, null), e;
17648
17647
  }
17649
17648
  }), null), V(r, z(tE, { get isOfficial() {
@@ -17653,7 +17652,20 @@ function dE(e) {
17653
17652
  return t.widget.isUnlisted;
17654
17653
  },
17655
17654
  get children() {
17656
- return z(uE, {});
17655
+ return z(al, {
17656
+ tone: "var(--warning)",
17657
+ children: "Unlisted"
17658
+ });
17659
+ }
17660
+ }), null), V(r, z(k, {
17661
+ get when() {
17662
+ return t.widget.isUnpublished;
17663
+ },
17664
+ get children() {
17665
+ return z(al, {
17666
+ tone: "var(--destructive)",
17667
+ children: "Not published"
17668
+ });
17657
17669
  }
17658
17670
  }), null), V(a, () => t.widget.scope, o), V(a, () => t.widget.name, null), V(i, z(k, {
17659
17671
  get when() {
@@ -17672,28 +17684,28 @@ function dE(e) {
17672
17684
  }), null), B(() => R(e, O("flex min-w-0 items-center gap-3", t.class))), e;
17673
17685
  })();
17674
17686
  }
17675
- function fE(e) {
17687
+ function uE(e) {
17676
17688
  return (() => {
17677
- var t = sE();
17689
+ var t = oE();
17678
17690
  return V(t, z(k, {
17679
17691
  get when() {
17680
17692
  return e.widget.downloadCount != null;
17681
17693
  },
17682
17694
  get children() {
17683
- var t = aE();
17695
+ var t = iE();
17684
17696
  return V(t, z(Q, {
17685
17697
  icon: "lucide:arrow-down-to-line",
17686
17698
  width: 12,
17687
17699
  height: 12,
17688
17700
  class: "size-3"
17689
- }), null), V(t, () => lE(e.widget.downloadCount), null), t;
17701
+ }), null), V(t, () => cE(e.widget.downloadCount), null), t;
17690
17702
  }
17691
17703
  }), null), V(t, z(k, {
17692
17704
  get when() {
17693
17705
  return H(() => !!e.showVersions)() && e.widget.versionCount != null;
17694
17706
  },
17695
17707
  get children() {
17696
- var t = oE(), n = t.firstChild;
17708
+ var t = aE(), n = t.firstChild;
17697
17709
  return V(t, z(Q, {
17698
17710
  icon: "lucide:layers",
17699
17711
  width: 12,
@@ -17706,15 +17718,15 @@ function fE(e) {
17706
17718
  }
17707
17719
  //#endregion
17708
17720
  //#region src/solid/widget-card.tsx
17709
- var pE = /*#__PURE__*/ K("<div class=\"min-w-0 flex-1\">"), mE = /*#__PURE__*/ K("<p class=\"mt-3 line-clamp-2 text-muted-foreground text-xs leading-relaxed\">"), hE = /*#__PURE__*/ K("<span class=\"flex items-center gap-1 tabular-nums\">"), gE = /*#__PURE__*/ K("<span class=tabular-nums>v"), _E = /*#__PURE__*/ K("<div class=\"mt-auto flex items-center gap-4 pt-3 text-muted-foreground text-xs\">");
17710
- function vE(e) {
17711
- let t = ke({ layout: "row" }, e), n = () => t.href ?? (t.onClick ? void 0 : cE(t.widget)), r = () => n() != null || t.onClick != null;
17721
+ var dE = /*#__PURE__*/ K("<div class=\"min-w-0 flex-1\">"), fE = /*#__PURE__*/ K("<p class=\"mt-3 line-clamp-2 text-muted-foreground text-xs leading-relaxed\">"), pE = /*#__PURE__*/ K("<span class=\"flex items-center gap-1 tabular-nums\">"), mE = /*#__PURE__*/ K("<span class=tabular-nums>v"), hE = /*#__PURE__*/ K("<div class=\"mt-auto flex items-center gap-4 pt-3 text-muted-foreground text-xs\">");
17722
+ function gE(e) {
17723
+ let t = ke({ layout: "row" }, e), n = () => t.href ?? (t.onClick ? void 0 : sE(t.widget)), r = () => n() != null || t.onClick != null;
17712
17724
  return z(k, {
17713
17725
  get when() {
17714
17726
  return t.layout === "tile";
17715
17727
  },
17716
17728
  get fallback() {
17717
- return z(yE, U(t, {
17729
+ return z(_E, U(t, {
17718
17730
  get href() {
17719
17731
  return n();
17720
17732
  },
@@ -17724,7 +17736,7 @@ function vE(e) {
17724
17736
  }));
17725
17737
  },
17726
17738
  get children() {
17727
- return z(bE, U(t, {
17739
+ return z(vE, U(t, {
17728
17740
  get href() {
17729
17741
  return n();
17730
17742
  },
@@ -17735,7 +17747,7 @@ function vE(e) {
17735
17747
  }
17736
17748
  });
17737
17749
  }
17738
- function yE(e) {
17750
+ function _E(e) {
17739
17751
  let t = () => e.widget.downloadCount != null || e.showVersions && e.widget.versionCount != null, n = () => e.trailing !== void 0 || e.interactive;
17740
17752
  return z(Cu, {
17741
17753
  get as() {
@@ -17757,8 +17769,8 @@ function yE(e) {
17757
17769
  get children() {
17758
17770
  return [
17759
17771
  (() => {
17760
- var t = pE();
17761
- return V(t, z(dE, {
17772
+ var t = dE();
17773
+ return V(t, z(lE, {
17762
17774
  get widget() {
17763
17775
  return e.widget;
17764
17776
  },
@@ -17773,7 +17785,7 @@ function yE(e) {
17773
17785
  return t();
17774
17786
  },
17775
17787
  get children() {
17776
- return z(fE, {
17788
+ return z(uE, {
17777
17789
  get widget() {
17778
17790
  return e.widget;
17779
17791
  },
@@ -17812,7 +17824,7 @@ function yE(e) {
17812
17824
  }
17813
17825
  });
17814
17826
  }
17815
- function bE(e) {
17827
+ function vE(e) {
17816
17828
  let t = () => e.showDescription !== !1;
17817
17829
  return z(Cu, {
17818
17830
  get as() {
@@ -17833,7 +17845,7 @@ function bE(e) {
17833
17845
  },
17834
17846
  get children() {
17835
17847
  return [
17836
- z(dE, {
17848
+ z(lE, {
17837
17849
  get widget() {
17838
17850
  return e.widget;
17839
17851
  },
@@ -17845,31 +17857,31 @@ function bE(e) {
17845
17857
  return H(() => !!t())() && e.widget.description;
17846
17858
  },
17847
17859
  get children() {
17848
- var t = mE();
17860
+ var t = fE();
17849
17861
  return V(t, () => e.widget.description), t;
17850
17862
  }
17851
17863
  }),
17852
17864
  (() => {
17853
- var t = _E();
17865
+ var t = hE();
17854
17866
  return V(t, z(k, {
17855
17867
  get when() {
17856
17868
  return e.widget.downloadCount != null;
17857
17869
  },
17858
17870
  get children() {
17859
- var t = hE();
17871
+ var t = pE();
17860
17872
  return V(t, z(Q, {
17861
17873
  icon: "lucide:arrow-down-to-line",
17862
17874
  width: 12,
17863
17875
  height: 12,
17864
17876
  class: "size-3"
17865
- }), null), V(t, () => lE(e.widget.downloadCount), null), t;
17877
+ }), null), V(t, () => cE(e.widget.downloadCount), null), t;
17866
17878
  }
17867
17879
  }), null), V(t, z(k, {
17868
17880
  get when() {
17869
17881
  return e.widget.latestVersion;
17870
17882
  },
17871
17883
  get children() {
17872
- var t = gE();
17884
+ var t = mE();
17873
17885
  return t.firstChild, V(t, () => e.widget.latestVersion, null), t;
17874
17886
  }
17875
17887
  }), null), t;
@@ -17879,4 +17891,4 @@ function bE(e) {
17879
17891
  });
17880
17892
  }
17881
17893
  //#endregion
17882
- export { fi as Accordion, hi as AccordionContent, pi as AccordionItem, mi as AccordionTrigger, Ci as Alert, Ti as AlertDescription, La as AlertDialog, Ga as AlertDialogAction, Ka as AlertDialogCancel, Ba as AlertDialogContent, Wa as AlertDialogDescription, Ha as AlertDialogFooter, Va as AlertDialogHeader, Ua as AlertDialogTitle, Ra as AlertDialogTrigger, wi as AlertTitle, Ff as AreaChart, Uc as AreaPicker, Gc as AspectRatio, Qc as Avatar, el as AvatarFallback, $c as AvatarImage, al as Badge, If as BarList, zl as BottomSheet, Jl as BottomSheetBody, Xl as BottomSheetClose, Ul as BottomSheetContent, ql as BottomSheetDescription, Yl as BottomSheetFooter, Wl as BottomSheetHandle, Gl as BottomSheetHeader, Hl as BottomSheetOverlay, Vl as BottomSheetPortal, Kl as BottomSheetTitle, Bl as BottomSheetTrigger, ru as Breadcrumb, lu as BreadcrumbEllipsis, au as BreadcrumbItem, ou as BreadcrumbLink, iu as BreadcrumbList, su as BreadcrumbPage, cu as BreadcrumbSeparator, Pa as Button, mu as ButtonGroup, gu as ButtonGroupSeparator, hu as ButtonGroupText, Cu as Card, Du as CardAction, Ou as CardContent, Eu as CardDescription, ku as CardFooter, wu as CardHeader, Tu as CardTitle, Wd as Carousel, Gd as CarouselContent, qd as CarouselDots, Kd as CarouselItem, Yd as CarouselNext, Jd as CarouselPrevious, fp as Checkbox, pp as Collapsible, hp as CollapsibleContent, mp as CollapsibleTrigger, Wp as ColorSlider, lm as ColorWheel, lh as ContextMenu, vh as ContextMenuCheckboxItem, gh as ContextMenuContent, dh as ContextMenuGroup, _h as ContextMenuItem, bh as ContextMenuLabel, ph as ContextMenuRadioGroup, yh as ContextMenuRadioItem, xh as ContextMenuSeparator, Sh as ContextMenuShortcut, fh as ContextMenuSub, hh as ContextMenuSubContent, mh as ContextMenuSubTrigger, uh as ContextMenuTrigger, Vg as CopyButton, Ug as CountPill, tv as Dialog, rv as DialogClose, iv as DialogContent, cv as DialogDescription, ov as DialogFooter, av as DialogHeader, sv as DialogTitle, nv as DialogTrigger, pv as Dock, vv as DropdownMenu, Cv as DropdownMenuContent, bv as DropdownMenuGroup, wv as DropdownMenuItem, Ev as DropdownMenuLabel, Sv as DropdownMenuRadioGroup, Tv as DropdownMenuSeparator, Dv as DropdownMenuShortcut, xv as DropdownMenuSub, yv as DropdownMenuTrigger, Pv as Empty, Bv as EmptyContent, zv as EmptyDescription, Fv as EmptyHeader, Lv as EmptyMedia, Rv as EmptyTitle, qa as EntityDataContext, Sy as EntitySelector, Vy as Field, Hy as FieldContent, Gy as FieldDescription, qy as FieldError, zy as FieldGroup, Uy as FieldLabel, Ry as FieldLegend, Ky as FieldSeparator, Ly as FieldSet, Wy as FieldTitle, nb as Form, sb as FormControl, cb as FormDescription, ib as FormField, ab as FormItem, ob as FormLabel, lb as FormMessage, Ng as GlassToast, bb as HoverCard, Sb as HoverCardContent, xb as HoverCardTrigger, Pb as IconPicker, Qa as Input, Bb as InputGroup, Hb as InputGroupAddon, Wb as InputGroupButton, Kb as InputGroupInput, Gb as InputGroupText, qb as InputGroupTextarea, ex as InputOTP, tx as InputOTPGroup, rx as InputOTPSeparator, nx as InputOTPSlot, hx as Item, xx as ItemActions, vx as ItemContent, bx as ItemDescription, Cx as ItemFooter, fx as ItemGroup, Sx as ItemHeader, _x as ItemMedia, px as ItemSeparator, yx as ItemTitle, Ex as Kbd, Dx as KbdGroup, wy as Label, Fw as LabeledField, Iw as LabeledIconPicker, Lw as LabeledInput, Fx as Logo, Lx as NumberField, le as OVERLAY_SURFACE, zx as Overlay, Gx as PageHeader, $x as Pagination, eS as PaginationContent, aS as PaginationEllipsis, tS as PaginationItem, nS as PaginationLink, iS as PaginationNext, rS as PaginationPrevious, Cc as Popover, Ec as PopoverAnchor, Tc as PopoverContent, wc as PopoverTrigger, SS as Progress, LS as RadioGroup, RS as RadioGroupItem, Rf as RangeToggle, KS as ResizableHandle, GS as ResizablePanel, WS as ResizablePanelGroup, rC as ResponsiveDialog, fC as ResponsiveDialogClose, aC as ResponsiveDialogContent, uC as ResponsiveDialogDescription, dC as ResponsiveDialogFooter, cC as ResponsiveDialogHeader, lC as ResponsiveDialogTitle, iC as ResponsiveDialogTrigger, Pw as RowActions, PC as SCHEMA_FORM_FORM_TYPES, ae as SECTION_INNER_RADIUS, ce as SECTION_OUTER_RADIUS, D as SECTION_PADDING, C as SECTION_ROW_CLASS, YC as SchemaForm, nw as ScopeIndicator, aw as ScrollArea, ow as ScrollBar, Mw as SectionAddButton, _w as SectionCard, Nw as SectionEmpty, xw as SectionIcon, ww as SectionLabel, Tw as SectionMeta, vw as SectionRow, Ew as SectionRowSkeleton, Dw as SectionRowSkeletons, Cw as SectionSubtitle, Sw as SectionTitle, w_ as Select, D_ as SelectContent, A_ as SelectGroup, k_ as SelectItem, O_ as SelectLabel, j_ as SelectSeparator, E_ as SelectTrigger, T_ as SelectValue, du as Separator, Uw as Sheet, Gw as SheetClose, qw as SheetContent, Zw as SheetDescription, Yw as SheetFooter, Jw as SheetHeader, Xw as SheetTitle, Ww as SheetTrigger, $w as Skeleton, rT as Slider, Pc as SlidingIndicator, Sg as Spinner, zf as StackedBar, _C as Switch, Rw as SwitchRow, z_ as TABLE_BLEED, B_ as TABLE_CELL_X, U_ as TABLE_HEAD_CELL_CLASS, H_ as TABLE_HEAD_CLASS, G_ as TABLE_NUM_CELL_CLASS, V_ as TABLE_ROW_CLASS, W_ as TABLE_SCROLL_CLASS, fT as Table, mT as TableBody, Q_ as TableBulkBar, yT as TableCaption, vT as TableCell, Y_ as TableEmpty, X_ as TableError, K_ as TableFilterSelect, hT as TableFooter, _T as TableHead, pT as TableHeader, gT as TableRow, q_ as TableSearchInput, Z_ as TableSkeleton, J_ as TableSortHeader, lf as Tabs, ff as TabsContent, uf as TabsList, df as TabsTrigger, xT as Textarea, ol as TierBadge, zg as Toaster, ET as Toggle, PT as ToggleGroup, FT as ToggleGroupItem, XT as Tooltip, QT as TooltipContent, ZT as TooltipTrigger, vE as WidgetCard, dE as WidgetIdentity, fE as WidgetMeta, tE as WidgetTrustBadge, pu as buttonGroupVariants, se as buttonVariants, jx as createListReorder, Ax as dragTargetIndex, jf as formatBytes, kf as formatCompact, lE as formatWidgetCount, Fn as parseColor, Ya as provideEntityData, Lg as toast, TT as toggleVariants, Xa as useEntityData, rb as useFormField, cE as widgetHref };
17894
+ export { fi as Accordion, hi as AccordionContent, pi as AccordionItem, mi as AccordionTrigger, Ci as Alert, Ti as AlertDescription, La as AlertDialog, Ga as AlertDialogAction, Ka as AlertDialogCancel, Ba as AlertDialogContent, Wa as AlertDialogDescription, Ha as AlertDialogFooter, Va as AlertDialogHeader, Ua as AlertDialogTitle, Ra as AlertDialogTrigger, wi as AlertTitle, Ff as AreaChart, Uc as AreaPicker, Gc as AspectRatio, Qc as Avatar, el as AvatarFallback, $c as AvatarImage, al as Badge, If as BarList, zl as BottomSheet, Jl as BottomSheetBody, Xl as BottomSheetClose, Ul as BottomSheetContent, ql as BottomSheetDescription, Yl as BottomSheetFooter, Wl as BottomSheetHandle, Gl as BottomSheetHeader, Hl as BottomSheetOverlay, Vl as BottomSheetPortal, Kl as BottomSheetTitle, Bl as BottomSheetTrigger, ru as Breadcrumb, lu as BreadcrumbEllipsis, au as BreadcrumbItem, ou as BreadcrumbLink, iu as BreadcrumbList, su as BreadcrumbPage, cu as BreadcrumbSeparator, Pa as Button, mu as ButtonGroup, gu as ButtonGroupSeparator, hu as ButtonGroupText, Cu as Card, Du as CardAction, Ou as CardContent, Eu as CardDescription, ku as CardFooter, wu as CardHeader, Tu as CardTitle, Wd as Carousel, Gd as CarouselContent, qd as CarouselDots, Kd as CarouselItem, Yd as CarouselNext, Jd as CarouselPrevious, fp as Checkbox, pp as Collapsible, hp as CollapsibleContent, mp as CollapsibleTrigger, Wp as ColorSlider, lm as ColorWheel, lh as ContextMenu, vh as ContextMenuCheckboxItem, gh as ContextMenuContent, dh as ContextMenuGroup, _h as ContextMenuItem, bh as ContextMenuLabel, ph as ContextMenuRadioGroup, yh as ContextMenuRadioItem, xh as ContextMenuSeparator, Sh as ContextMenuShortcut, fh as ContextMenuSub, hh as ContextMenuSubContent, mh as ContextMenuSubTrigger, uh as ContextMenuTrigger, Vg as CopyButton, Ug as CountPill, tv as Dialog, rv as DialogClose, iv as DialogContent, cv as DialogDescription, ov as DialogFooter, av as DialogHeader, sv as DialogTitle, nv as DialogTrigger, pv as Dock, vv as DropdownMenu, Cv as DropdownMenuContent, bv as DropdownMenuGroup, wv as DropdownMenuItem, Ev as DropdownMenuLabel, Sv as DropdownMenuRadioGroup, Tv as DropdownMenuSeparator, Dv as DropdownMenuShortcut, xv as DropdownMenuSub, yv as DropdownMenuTrigger, Pv as Empty, Bv as EmptyContent, zv as EmptyDescription, Fv as EmptyHeader, Lv as EmptyMedia, Rv as EmptyTitle, qa as EntityDataContext, Sy as EntitySelector, Vy as Field, Hy as FieldContent, Gy as FieldDescription, qy as FieldError, zy as FieldGroup, Uy as FieldLabel, Ry as FieldLegend, Ky as FieldSeparator, Ly as FieldSet, Wy as FieldTitle, nb as Form, sb as FormControl, cb as FormDescription, ib as FormField, ab as FormItem, ob as FormLabel, lb as FormMessage, Ng as GlassToast, bb as HoverCard, Sb as HoverCardContent, xb as HoverCardTrigger, Pb as IconPicker, Qa as Input, Bb as InputGroup, Hb as InputGroupAddon, Wb as InputGroupButton, Kb as InputGroupInput, Gb as InputGroupText, qb as InputGroupTextarea, ex as InputOTP, tx as InputOTPGroup, rx as InputOTPSeparator, nx as InputOTPSlot, hx as Item, xx as ItemActions, vx as ItemContent, bx as ItemDescription, Cx as ItemFooter, fx as ItemGroup, Sx as ItemHeader, _x as ItemMedia, px as ItemSeparator, yx as ItemTitle, Ex as Kbd, Dx as KbdGroup, wy as Label, Fw as LabeledField, Iw as LabeledIconPicker, Lw as LabeledInput, Fx as Logo, Lx as NumberField, le as OVERLAY_SURFACE, zx as Overlay, Gx as PageHeader, $x as Pagination, eS as PaginationContent, aS as PaginationEllipsis, tS as PaginationItem, nS as PaginationLink, iS as PaginationNext, rS as PaginationPrevious, Cc as Popover, Ec as PopoverAnchor, Tc as PopoverContent, wc as PopoverTrigger, SS as Progress, LS as RadioGroup, RS as RadioGroupItem, Rf as RangeToggle, KS as ResizableHandle, GS as ResizablePanel, WS as ResizablePanelGroup, rC as ResponsiveDialog, fC as ResponsiveDialogClose, aC as ResponsiveDialogContent, uC as ResponsiveDialogDescription, dC as ResponsiveDialogFooter, cC as ResponsiveDialogHeader, lC as ResponsiveDialogTitle, iC as ResponsiveDialogTrigger, Pw as RowActions, PC as SCHEMA_FORM_FORM_TYPES, ae as SECTION_INNER_RADIUS, ce as SECTION_OUTER_RADIUS, D as SECTION_PADDING, C as SECTION_ROW_CLASS, YC as SchemaForm, nw as ScopeIndicator, aw as ScrollArea, ow as ScrollBar, Mw as SectionAddButton, _w as SectionCard, Nw as SectionEmpty, xw as SectionIcon, ww as SectionLabel, Tw as SectionMeta, vw as SectionRow, Ew as SectionRowSkeleton, Dw as SectionRowSkeletons, Cw as SectionSubtitle, Sw as SectionTitle, w_ as Select, D_ as SelectContent, A_ as SelectGroup, k_ as SelectItem, O_ as SelectLabel, j_ as SelectSeparator, E_ as SelectTrigger, T_ as SelectValue, du as Separator, Uw as Sheet, Gw as SheetClose, qw as SheetContent, Zw as SheetDescription, Yw as SheetFooter, Jw as SheetHeader, Xw as SheetTitle, Ww as SheetTrigger, $w as Skeleton, rT as Slider, Pc as SlidingIndicator, Sg as Spinner, zf as StackedBar, _C as Switch, Rw as SwitchRow, z_ as TABLE_BLEED, B_ as TABLE_CELL_X, U_ as TABLE_HEAD_CELL_CLASS, H_ as TABLE_HEAD_CLASS, G_ as TABLE_NUM_CELL_CLASS, V_ as TABLE_ROW_CLASS, W_ as TABLE_SCROLL_CLASS, fT as Table, mT as TableBody, Q_ as TableBulkBar, yT as TableCaption, vT as TableCell, Y_ as TableEmpty, X_ as TableError, K_ as TableFilterSelect, hT as TableFooter, _T as TableHead, pT as TableHeader, gT as TableRow, q_ as TableSearchInput, Z_ as TableSkeleton, J_ as TableSortHeader, lf as Tabs, ff as TabsContent, uf as TabsList, df as TabsTrigger, xT as Textarea, ol as TierBadge, zg as Toaster, ET as Toggle, PT as ToggleGroup, FT as ToggleGroupItem, XT as Tooltip, QT as TooltipContent, ZT as TooltipTrigger, gE as WidgetCard, lE as WidgetIdentity, uE as WidgetMeta, tE as WidgetTrustBadge, pu as buttonGroupVariants, se as buttonVariants, jx as createListReorder, Ax as dragTargetIndex, jf as formatBytes, kf as formatCompact, cE as formatWidgetCount, Fn as parseColor, Ya as provideEntityData, Lg as toast, TT as toggleVariants, Xa as useEntityData, rb as useFormField, sE as widgetHref };
@@ -32,7 +32,7 @@ declare const itemVariants: import("cva").CVAComponent<Omit<{
32
32
  sm: string;
33
33
  };
34
34
  };
35
- defaultVariants: Omit<{}, "variant" | "size"> & {
35
+ defaultVariants: Omit<{}, "size" | "variant"> & {
36
36
  variant: "default";
37
37
  size: "default";
38
38
  };
@@ -30,7 +30,7 @@ declare const toggleVariants: import("cva").CVAComponent<Omit<{
30
30
  lg: string;
31
31
  };
32
32
  };
33
- defaultVariants: Omit<{}, "variant" | "size"> & {
33
+ defaultVariants: Omit<{}, "size" | "variant"> & {
34
34
  variant: "default";
35
35
  size: "default";
36
36
  };
@@ -15,6 +15,11 @@ export interface WidgetSummary {
15
15
  description?: string | null;
16
16
  isOfficial?: boolean;
17
17
  isUnlisted?: boolean;
18
+ /** Newest version never finished publishing (bundle upload never confirmed,
19
+ * or no version row at all), so nothing is installable. Distinct from
20
+ * `isUnlisted`, which is a published widget hidden from search.
21
+ * Owner-facing surfaces set it; public ones leave it off. */
22
+ isUnpublished?: boolean;
18
23
  downloadCount?: number;
19
24
  latestVersion?: string | null;
20
25
  versionCount?: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@glasshome/ui",
3
- "version": "1.3.0",
3
+ "version": "1.4.0",
4
4
  "description": "SolidJS component library for GlassHome, built on Kobalte",
5
5
  "type": "module",
6
6
  "homepage": "https://github.com/glasshome/ui#readme",
@@ -59,6 +59,8 @@
59
59
  "scripts": {
60
60
  "build": "rm -rf dist && vite build && tsc",
61
61
  "check:structural": "bun scripts/check-structural-classes.ts",
62
+ "check:dead": "fallow dead-code --fail-on-issues",
63
+ "check:styling": "fallow health --css",
62
64
  "check:tokens": "bun scripts/check-tokens.ts",
63
65
  "check:types": "tsc --noEmit -p tsconfig.test.json",
64
66
  "check:publish": "publint && attw --pack . --profile esm-only --exclude-entrypoints ./styles ./styles/theme",
@@ -92,11 +94,12 @@
92
94
  "@tailwindcss/vite": "^4.1.13",
93
95
  "@types/json-schema": "^7.0.15",
94
96
  "@types/node": "^25.2.2",
97
+ "fallow": "3.17.0",
95
98
  "happy-dom": "^20.11.0",
96
99
  "publint": "^0.3.21",
97
100
  "tailwindcss": "^4.1.13",
98
101
  "tw-animate-css": "^1.4.0",
99
- "typescript": "^5",
102
+ "typescript": "^7.0.2",
100
103
  "vite": "^8.1.0",
101
104
  "vite-plugin-solid": "^2.11.12",
102
105
  "vitest": "^4.1.10"
@@ -261,6 +261,10 @@
261
261
  label:has(> input:is([type="checkbox"], [type="radio"]):not(:disabled)) {
262
262
  cursor: pointer;
263
263
  }
264
+ /* Old embedded WebViews (Shelly Wall Display) native-paint appearance:button as a gray box. */
265
+ button {
266
+ appearance: none;
267
+ }
264
268
  }
265
269
 
266
270
  /* Utility classes */