@stll/ui 0.26.1 → 0.26.3

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.
@@ -10,7 +10,7 @@
10
10
  */
11
11
  declare const buttonAccessibleDisabledClass = "cursor-not-allowed opacity-64";
12
12
  declare const buttonVariants: (props?: ({
13
- size?: "sm" | "default" | "lg" | "chip" | "icon" | "icon-lg" | "icon-sm" | "icon-xl" | "icon-xs" | "xl" | "xs" | null | undefined;
13
+ size?: "default" | "chip" | "icon" | "icon-lg" | "icon-sm" | "icon-xl" | "icon-xs" | "lg" | "sm" | "xl" | "xs" | null | undefined;
14
14
  variant?: "link" | "default" | "destructive" | "destructive-outline" | "ghost" | "outline" | "secondary" | null | undefined;
15
15
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
16
16
  //#endregion
@@ -18,12 +18,15 @@ function Button({ className, variant, size, render, loading, children, disabled,
18
18
  });
19
19
  const isAccessibleDisabled = disposition === BUTTON_DISPOSITION.accessibleDisabled;
20
20
  const defaultProps = {
21
- children: loading ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(LoaderIcon, { className: "animate-spin" }), children] }) : children,
21
+ children: loading ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(LoaderIcon, {
22
+ className: "animate-spin",
23
+ "data-slot": "button-loader"
24
+ }), children] }) : children,
22
25
  className: cn(buttonVariants({
23
26
  className,
24
27
  size,
25
28
  variant
26
- }), isAccessibleDisabled && "cursor-not-allowed opacity-64"),
29
+ }), loading && "[&_svg:not([data-slot=button-loader])]:hidden", isAccessibleDisabled && "cursor-not-allowed opacity-64"),
27
30
  "data-slot": "button",
28
31
  ...isAccessibleDisabled ? {
29
32
  "aria-disabled": true,
@@ -83,7 +83,7 @@ declare const SidebarMenu: ({ className, ...props }: React.ComponentProps<"ul">)
83
83
  declare const SidebarMenuItem: ({ className, ...props }: React.ComponentProps<"li">) => import("react").JSX.Element;
84
84
  declare const sidebarMenuButtonVariants: (props?: ({
85
85
  variant?: "default" | "outline" | null | undefined;
86
- size?: "sm" | "default" | "lg" | "rail" | null | undefined;
86
+ size?: "default" | "lg" | "sm" | "rail" | null | undefined;
87
87
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
88
88
  declare const SidebarMenuButton: ({ asChild, isActive, variant, size, tooltip, className, ...props }: React.ComponentProps<"button"> & {
89
89
  asChild?: boolean;
@@ -45,7 +45,7 @@ const InspectorRailCell = ({ className, ...props }) => /* @__PURE__ */ jsx("div"
45
45
  });
46
46
  /** Scroll owner for rail tabs and other middle actions. */
47
47
  const InspectorRailContent = ({ className, ...props }) => /* @__PURE__ */ jsx("div", {
48
- className: cn("scrollbar-subtle flex min-h-0 flex-1 flex-col overflow-x-hidden overflow-y-auto overscroll-contain", className),
48
+ className: cn("flex min-h-0 flex-1 scrollbar-none flex-col overflow-x-hidden overflow-y-auto overscroll-contain", className),
49
49
  "data-slot": "inspector-rail-content",
50
50
  ...props
51
51
  });
@@ -1,5 +1,6 @@
1
1
  import { cn } from "../lib/utils.js";
2
2
  import "./pane-width.js";
3
+ import { EllipsisIcon } from "lucide-react";
3
4
  import { jsx, jsxs } from "react/jsx-runtime";
4
5
  //#region src/inspector/dock.tsx
5
6
  const InspectorDock = ({ children, className, onResetWidth, rail, resizeHandleLabel, resizeHandleProps, showPaneContent, width }) => {
@@ -18,14 +19,23 @@ const InspectorDock = ({ children, className, onResetWidth, rail, resizeHandleLa
18
19
  className: "fixed inset-y-0 end-0 z-10 hidden h-svh md:flex",
19
20
  "data-slot": "inspector-dock-pane",
20
21
  style: { width: widthPx },
21
- children: [showPaneContent && /* @__PURE__ */ jsx("div", {
22
+ children: [showPaneContent && /* @__PURE__ */ jsxs("div", {
22
23
  "aria-label": resizeHandleLabel,
23
- className: "hover:bg-border active:bg-border focus-visible:bg-primary focus-visible:outline-primary absolute inset-y-0 -start-px z-20 flex w-1 cursor-col-resize items-center justify-center border-s focus-visible:outline-2",
24
+ className: "group focus-visible:outline-primary absolute inset-y-0 -start-1.5 z-20 flex w-3 cursor-col-resize items-center justify-center focus-visible:outline-2",
24
25
  "data-slot": "inspector-resize-handle",
25
26
  role: "separator",
26
27
  ...resizeHandleProps,
27
28
  tabIndex: 0,
28
- onDoubleClick: onResetWidth
29
+ onDoubleClick: onResetWidth,
30
+ children: [/* @__PURE__ */ jsx("span", {
31
+ "aria-hidden": "true",
32
+ className: "bg-border group-hover:bg-primary group-active:bg-primary absolute inset-y-0 start-1/2 w-px -translate-x-1/2"
33
+ }), /* @__PURE__ */ jsx("span", {
34
+ "aria-hidden": "true",
35
+ className: "bg-background/80 text-foreground-placeholder ring-border/60 group-hover:bg-accent group-hover:text-foreground group-focus-visible:bg-accent group-focus-visible:text-foreground relative flex h-5 w-3 items-center justify-center rounded-full opacity-0 shadow-xs ring-1 backdrop-blur-sm transition-[color,background-color,opacity] group-hover:opacity-100 group-focus-visible:opacity-100 group-active:opacity-100",
36
+ "data-slot": "inspector-resize-grip",
37
+ children: /* @__PURE__ */ jsx(EllipsisIcon, { className: "size-3 rotate-90" })
38
+ })]
29
39
  }), showPaneContent || rail === void 0 ? /* @__PURE__ */ jsxs("div", {
30
40
  className: "bg-sidebar flex h-full w-full flex-row",
31
41
  children: [rail, /* @__PURE__ */ jsx("div", {
@@ -5,6 +5,6 @@ declare const CONTROL_SIZE: Readonly<{
5
5
  readonly lg: "lg";
6
6
  }>;
7
7
  type ControlSize = (typeof CONTROL_SIZE)[keyof typeof CONTROL_SIZE];
8
- declare const CONTROL_SIZES: readonly ("sm" | "default" | "lg")[];
8
+ declare const CONTROL_SIZES: readonly ("default" | "lg" | "sm")[];
9
9
  //#endregion
10
10
  export { CONTROL_SIZE, CONTROL_SIZES, type ControlSize };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stll/ui",
3
- "version": "0.26.1",
3
+ "version": "0.26.3",
4
4
  "description": "Stella's design system: bidi-aware React primitives built on Base UI, the dockable inspector pane, and the Tailwind v4 theme they are styled with.",
5
5
  "keywords": [
6
6
  "base-ui",
@@ -603,7 +603,7 @@
603
603
  "@base-ui/react": "1.7.0",
604
604
  "@dnd-kit/core": "^6.3.1",
605
605
  "@dnd-kit/sortable": "^10.0.0",
606
- "@playwright/test": "^1.62.0",
606
+ "@playwright/test": "^1.63.0",
607
607
  "@stll/typescript-config": "0.0.0",
608
608
  "@tailwindcss/vite": "4.3.3",
609
609
  "@tanstack/react-virtual": "^3.14.10",