@warmio/ui 1.0.0 → 1.2.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.
@@ -25,21 +25,21 @@ var WarmLogoIcon = ({
25
25
  "path",
26
26
  {
27
27
  d: "M 33.500 40.660 C 20.206 42.744, 0 48.560, -0 50.302 C -0 51.759, 123.955 348.889, 127.738 356.500 C 142.182 385.561, 169.450 410.275, 198.946 421.040 C 218.922 428.330, 243.683 430.825, 264.526 427.648 C 277.151 425.724, 294.628 420.011, 294.194 417.952 C 293.790 416.040, 172.732 124.599, 168.522 115.405 C 161.779 100.679, 149.168 84.171, 135.093 71.646 C 119.358 57.644, 98.880 47.362, 77 42.478 C 69.645 40.836, 40.220 39.606, 33.500 40.660",
28
- fill: "var(--logo-primary)"
28
+ fill: "currentColor"
29
29
  }
30
30
  ),
31
31
  /* @__PURE__ */ jsx(
32
32
  "path",
33
33
  {
34
34
  d: "M 229.651 41.597 C 217.916 43.718, 202.443 49.144, 202.744 51.035 C 203.418 55.268, 329.689 356.584, 333.687 363.500 C 340.525 375.327, 345.293 381.483, 355.408 391.538 C 374.603 410.619, 398.878 423.014, 425.907 427.533 C 439.649 429.831, 463.594 429.132, 476 426.072 C 489.892 422.645, 497.188 419.815, 496.703 418.043 C 495.416 413.331, 371.058 116.094, 367.406 109 C 349.467 74.149, 313.008 47.875, 273.752 41.509 C 262.281 39.648, 240.195 39.693, 229.651 41.597",
35
- fill: "var(--logo-primary)"
35
+ fill: "currentColor"
36
36
  }
37
37
  ),
38
38
  /* @__PURE__ */ jsx(
39
39
  "path",
40
40
  {
41
41
  d: "M 463 40.593 C 451.670 42.545, 447.288 43.569, 439 46.203 C 433.775 47.864, 429.338 49.372, 429.140 49.555 C 428.942 49.737, 434.670 64.021, 441.868 81.297 C 455.574 114.190, 462.215 131.660, 468.447 151.208 C 475.360 172.892, 486.124 186.213, 503.834 194.997 C 530.956 208.450, 564.982 201.679, 583.654 179.112 C 604.399 154.041, 605.407 121.944, 586.291 95.155 C 567.827 69.280, 539.107 50.114, 508 42.907 C 500.680 41.212, 494.713 40.644, 482 40.434 C 472.925 40.284, 464.375 40.356, 463 40.593",
42
- fill: "var(--logo-accent)"
42
+ fill: "currentColor"
43
43
  }
44
44
  )
45
45
  ]
@@ -81,7 +81,7 @@ var Logo = ({
81
81
  }) => {
82
82
  return /* @__PURE__ */ jsxs2("div", { className: "inline-flex items-center gap-2", children: [
83
83
  /* @__PURE__ */ jsx2(WarmLogoIcon2, { size, tone, decorative: showText }),
84
- showText ? /* @__PURE__ */ jsx2("span", { className: "text-sm font-bold tracking-wide text-foreground", children: "Warm" }) : null
84
+ showText ? /* @__PURE__ */ jsx2("span", { className: cn("text-sm font-bold tracking-wide", toneClasses[tone]), children: "Warm" }) : null
85
85
  ] });
86
86
  };
87
87
 
@@ -0,0 +1,92 @@
1
+ import {
2
+ SheetClose,
3
+ SheetContent,
4
+ SheetDescription,
5
+ SheetFooter,
6
+ SheetHeader,
7
+ SheetTitle,
8
+ SheetTrigger
9
+ } from "./chunk-OWDC2VC6.js";
10
+
11
+ // ../ui/src/warmio/sheet.tsx
12
+ import { jsx } from "react/jsx-runtime";
13
+ function SheetTrigger2({
14
+ className: _className,
15
+ style: _style,
16
+ ...props
17
+ }) {
18
+ return /* @__PURE__ */ jsx(SheetTrigger, { ...props });
19
+ }
20
+ function SheetClose2({ className: _className, style: _style, ...props }) {
21
+ return /* @__PURE__ */ jsx(SheetClose, { ...props });
22
+ }
23
+ function SheetContent2({
24
+ className: _className,
25
+ overlayClassName: _overlayClassName,
26
+ presentation,
27
+ responsive = "always",
28
+ style: _style,
29
+ width = "default",
30
+ ...props
31
+ }) {
32
+ const navigationClassName = presentation === "navigation" ? `w-[var(--sidebar-width-mobile)] gap-0 overflow-hidden border-border bg-sidebar p-0 text-foreground duration-200 ease-in-out data-open:fade-in-100 data-closed:fade-out-100${responsive === "mobileOnly" ? " md:hidden" : ""}` : void 0;
33
+ const widthClassName = width === "full" ? "w-full data-[side=left]:sm:max-w-none data-[side=right]:sm:max-w-none" : width === "wide" ? "w-full data-[side=left]:sm:max-w-lg data-[side=right]:sm:max-w-lg" : void 0;
34
+ const contentClassName = presentation === "scroll" ? `overflow-y-auto${widthClassName ? ` ${widthClassName}` : ""}` : navigationClassName ?? widthClassName;
35
+ return /* @__PURE__ */ jsx(
36
+ SheetContent,
37
+ {
38
+ ...props,
39
+ className: contentClassName,
40
+ overlayClassName: presentation === "navigation" ? "duration-200 ease-in-out" : void 0
41
+ }
42
+ );
43
+ }
44
+ function SheetFooter2({
45
+ className: _className,
46
+ spacing = "default",
47
+ style: _style,
48
+ ...props
49
+ }) {
50
+ return /* @__PURE__ */ jsx(SheetFooter, { ...props, className: spacing === "roomy" ? "gap-4 p-6" : void 0 });
51
+ }
52
+ function SheetHeader2({
53
+ className: _className,
54
+ presentation,
55
+ spacing = "default",
56
+ style: _style,
57
+ ...props
58
+ }) {
59
+ const className = presentation === "navigation" ? "border-b border-border bg-background p-0" : spacing === "roomy" ? "gap-2 p-6" : void 0;
60
+ return /* @__PURE__ */ jsx(SheetHeader, { ...props, className });
61
+ }
62
+ function SheetTitle2({
63
+ className: _className,
64
+ presentation,
65
+ style: _style,
66
+ ...props
67
+ }) {
68
+ return /* @__PURE__ */ jsx(
69
+ SheetTitle,
70
+ {
71
+ ...props,
72
+ className: presentation === "navigation" ? "min-w-0 truncate text-left text-base font-bold text-foreground" : void 0
73
+ }
74
+ );
75
+ }
76
+ function SheetDescription2({
77
+ className: _className,
78
+ style: _style,
79
+ ...props
80
+ }) {
81
+ return /* @__PURE__ */ jsx(SheetDescription, { ...props });
82
+ }
83
+
84
+ export {
85
+ SheetTrigger2 as SheetTrigger,
86
+ SheetClose2 as SheetClose,
87
+ SheetContent2 as SheetContent,
88
+ SheetFooter2 as SheetFooter,
89
+ SheetHeader2 as SheetHeader,
90
+ SheetTitle2 as SheetTitle,
91
+ SheetDescription2 as SheetDescription
92
+ };
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ import {
3
+ DropdownMenu,
4
+ DropdownMenuCheckboxItem,
5
+ DropdownMenuContent,
6
+ DropdownMenuGroup,
7
+ DropdownMenuItem,
8
+ DropdownMenuLabel,
9
+ DropdownMenuLinkItem,
10
+ DropdownMenuRadioGroup,
11
+ DropdownMenuRadioItem,
12
+ DropdownMenuSeparator,
13
+ DropdownMenuTrigger
14
+ } from "./chunks/chunk-SK7IZUFC.js";
15
+ import "./chunks/chunk-VIB7OX7D.js";
16
+ export {
17
+ DropdownMenu,
18
+ DropdownMenuCheckboxItem,
19
+ DropdownMenuContent,
20
+ DropdownMenuGroup,
21
+ DropdownMenuItem,
22
+ DropdownMenuLabel,
23
+ DropdownMenuLinkItem,
24
+ DropdownMenuRadioGroup,
25
+ DropdownMenuRadioItem,
26
+ DropdownMenuSeparator,
27
+ DropdownMenuTrigger
28
+ };
package/dist/index.js CHANGED
@@ -1,12 +1,48 @@
1
+ import {
2
+ StackedDisplay,
3
+ Text
4
+ } from "./chunks/chunk-D25QMXJR.js";
1
5
  import {
2
6
  Badge
3
7
  } from "./chunks/chunk-ICC7GQXS.js";
8
+ import {
9
+ Button,
10
+ ButtonLink
11
+ } from "./chunks/chunk-KCEDMF2I.js";
12
+ import {
13
+ DropdownMenu,
14
+ DropdownMenuCheckboxItem,
15
+ DropdownMenuContent,
16
+ DropdownMenuGroup,
17
+ DropdownMenuItem,
18
+ DropdownMenuLabel,
19
+ DropdownMenuLinkItem,
20
+ DropdownMenuRadioGroup,
21
+ DropdownMenuRadioItem,
22
+ DropdownMenuSeparator,
23
+ DropdownMenuTrigger
24
+ } from "./chunks/chunk-SK7IZUFC.js";
4
25
  import {
5
26
  Logo,
6
27
  WarmLogoIcon
7
- } from "./chunks/chunk-HMXXCKZG.js";
28
+ } from "./chunks/chunk-VNQVIATP.js";
29
+ import {
30
+ ProductHeader,
31
+ ProductHeaderBreadcrumb
32
+ } from "./chunks/chunk-4UZNCKKG.js";
33
+ import {
34
+ SheetClose,
35
+ SheetContent,
36
+ SheetDescription,
37
+ SheetFooter,
38
+ SheetHeader,
39
+ SheetTitle,
40
+ SheetTrigger
41
+ } from "./chunks/chunk-ZEDHNFX6.js";
8
42
  import {
9
43
  Sidebar,
44
+ SidebarAccountTrigger,
45
+ SidebarBrand,
10
46
  SidebarContent,
11
47
  SidebarFooter,
12
48
  SidebarGroup,
@@ -20,12 +56,41 @@ import {
20
56
  SidebarMenuItem,
21
57
  SidebarProvider,
22
58
  useSidebar
23
- } from "./chunks/chunk-EJ2CNGRW.js";
59
+ } from "./chunks/chunk-UB25BRXT.js";
60
+ import {
61
+ Sheet
62
+ } from "./chunks/chunk-OWDC2VC6.js";
63
+ import "./chunks/chunk-T2TXMN3G.js";
24
64
  import "./chunks/chunk-VIB7OX7D.js";
25
65
  export {
26
66
  Badge,
67
+ Button,
68
+ ButtonLink,
69
+ DropdownMenu,
70
+ DropdownMenuCheckboxItem,
71
+ DropdownMenuContent,
72
+ DropdownMenuGroup,
73
+ DropdownMenuItem,
74
+ DropdownMenuLabel,
75
+ DropdownMenuLinkItem,
76
+ DropdownMenuRadioGroup,
77
+ DropdownMenuRadioItem,
78
+ DropdownMenuSeparator,
79
+ DropdownMenuTrigger,
27
80
  Logo,
81
+ ProductHeader,
82
+ ProductHeaderBreadcrumb,
83
+ Sheet,
84
+ SheetClose,
85
+ SheetContent,
86
+ SheetDescription,
87
+ SheetFooter,
88
+ SheetHeader,
89
+ SheetTitle,
90
+ SheetTrigger,
28
91
  Sidebar,
92
+ SidebarAccountTrigger,
93
+ SidebarBrand,
29
94
  SidebarContent,
30
95
  SidebarFooter,
31
96
  SidebarGroup,
@@ -38,6 +103,8 @@ export {
38
103
  SidebarMenuButton,
39
104
  SidebarMenuItem,
40
105
  SidebarProvider,
106
+ StackedDisplay,
107
+ Text,
41
108
  WarmLogoIcon,
42
109
  useSidebar
43
110
  };
package/dist/logo.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Logo,
3
3
  WarmLogoIcon
4
- } from "./chunks/chunk-HMXXCKZG.js";
4
+ } from "./chunks/chunk-VNQVIATP.js";
5
5
  import "./chunks/chunk-VIB7OX7D.js";
6
6
  export {
7
7
  Logo,
@@ -0,0 +1,9 @@
1
+ import {
2
+ ProductHeader,
3
+ ProductHeaderBreadcrumb
4
+ } from "./chunks/chunk-4UZNCKKG.js";
5
+ import "./chunks/chunk-VIB7OX7D.js";
6
+ export {
7
+ ProductHeader,
8
+ ProductHeaderBreadcrumb
9
+ };
@@ -0,0 +1,17 @@
1
+ import type { ReactNode, Ref } from 'react';
2
+
3
+ export type ProductHeaderVisibility = 'always' | 'container' | 'desktop';
4
+
5
+ export interface ProductHeaderBreadcrumbProps {
6
+ pageTitle?: string;
7
+ productName?: string;
8
+ }
9
+
10
+ export interface ProductHeaderProps extends ProductHeaderBreadcrumbProps {
11
+ actions?: ReactNode;
12
+ actionsTargetRef?: Ref<HTMLDivElement>;
13
+ desktopShell?: boolean;
14
+ leading?: ReactNode;
15
+ titleTargetRef?: Ref<HTMLDivElement>;
16
+ visibility?: ProductHeaderVisibility;
17
+ }
package/dist/sheet.js ADDED
@@ -0,0 +1,24 @@
1
+ import {
2
+ SheetClose,
3
+ SheetContent,
4
+ SheetDescription,
5
+ SheetFooter,
6
+ SheetHeader,
7
+ SheetTitle,
8
+ SheetTrigger
9
+ } from "./chunks/chunk-ZEDHNFX6.js";
10
+ import {
11
+ Sheet
12
+ } from "./chunks/chunk-OWDC2VC6.js";
13
+ import "./chunks/chunk-T2TXMN3G.js";
14
+ import "./chunks/chunk-VIB7OX7D.js";
15
+ export {
16
+ Sheet,
17
+ SheetClose,
18
+ SheetContent,
19
+ SheetDescription,
20
+ SheetFooter,
21
+ SheetHeader,
22
+ SheetTitle,
23
+ SheetTrigger
24
+ };
package/dist/sidebar.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import {
2
2
  Sidebar,
3
+ SidebarAccountTrigger,
4
+ SidebarBrand,
3
5
  SidebarContent,
4
6
  SidebarFooter,
5
7
  SidebarGroup,
@@ -13,10 +15,14 @@ import {
13
15
  SidebarMenuItem,
14
16
  SidebarProvider,
15
17
  useSidebar
16
- } from "./chunks/chunk-EJ2CNGRW.js";
18
+ } from "./chunks/chunk-UB25BRXT.js";
19
+ import "./chunks/chunk-OWDC2VC6.js";
20
+ import "./chunks/chunk-T2TXMN3G.js";
17
21
  import "./chunks/chunk-VIB7OX7D.js";
18
22
  export {
19
23
  Sidebar,
24
+ SidebarAccountTrigger,
25
+ SidebarBrand,
20
26
  SidebarContent,
21
27
  SidebarFooter,
22
28
  SidebarGroup,
package/dist/text.js ADDED
@@ -0,0 +1,9 @@
1
+ import {
2
+ StackedDisplay,
3
+ Text
4
+ } from "./chunks/chunk-D25QMXJR.js";
5
+ import "./chunks/chunk-VIB7OX7D.js";
6
+ export {
7
+ StackedDisplay,
8
+ Text
9
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@warmio/ui",
3
- "version": "1.0.0",
4
- "description": "Portable React components for Warm products.",
3
+ "version": "1.2.0",
4
+ "description": "Portable, sealed React components for Warm products.",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "sideEffects": false,
@@ -30,15 +30,40 @@
30
30
  "import": "./dist/badge.js",
31
31
  "default": "./dist/badge.js"
32
32
  },
33
+ "./button": {
34
+ "types": "./types/button.d.ts",
35
+ "import": "./dist/button.js",
36
+ "default": "./dist/button.js"
37
+ },
38
+ "./dropdown-menu": {
39
+ "types": "./types/dropdown-menu.d.ts",
40
+ "import": "./dist/dropdown-menu.js",
41
+ "default": "./dist/dropdown-menu.js"
42
+ },
33
43
  "./logo": {
34
44
  "types": "./types/logo.d.ts",
35
45
  "import": "./dist/logo.js",
36
46
  "default": "./dist/logo.js"
37
47
  },
48
+ "./product-header": {
49
+ "types": "./types/product-header.d.ts",
50
+ "import": "./dist/product-header.js",
51
+ "default": "./dist/product-header.js"
52
+ },
38
53
  "./sidebar": {
39
54
  "types": "./types/sidebar.d.ts",
40
55
  "import": "./dist/sidebar.js",
41
56
  "default": "./dist/sidebar.js"
57
+ },
58
+ "./sheet": {
59
+ "types": "./types/sheet.d.ts",
60
+ "import": "./dist/sheet.js",
61
+ "default": "./dist/sheet.js"
62
+ },
63
+ "./text": {
64
+ "types": "./types/text.d.ts",
65
+ "import": "./dist/text.js",
66
+ "default": "./dist/text.js"
42
67
  }
43
68
  },
44
69
  "peerDependencies": {
@@ -46,6 +71,7 @@
46
71
  "@warmio/design": "1.0.0",
47
72
  "class-variance-authority": "^0.7.1",
48
73
  "clsx": "^2.1.1",
74
+ "cuelume": "0.1.0",
49
75
  "lucide-react": ">=0.562.0 <2.0.0",
50
76
  "react": ">=19.0.0",
51
77
  "react-dom": ">=19.0.0",
@@ -0,0 +1,48 @@
1
+ // Dedicated public declaration entrypoint keeps the ./button npm export independent of private workspace source.
2
+ import type { ComponentPropsWithRef, ReactNode } from 'react';
3
+
4
+ export type ButtonPresentation =
5
+ | 'assistantIcon'
6
+ | 'assistantRoundIcon'
7
+ | 'compact'
8
+ | 'composerIcon'
9
+ | 'controlPeer'
10
+ | 'default'
11
+ | 'editPill'
12
+ | 'hero'
13
+ | 'menuOption'
14
+ | 'promptCategory'
15
+ | 'promptOption'
16
+ | 'sidebarIcon'
17
+ | 'tableHeader'
18
+ | 'threadMore'
19
+ | 'threadNew'
20
+ | 'touch';
21
+ export type ButtonVariant = 'apple' | 'default' | 'destructive' | 'ghost' | 'outline';
22
+ export type ButtonSize = 'default' | 'icon';
23
+ export type ButtonProps = Omit<ComponentPropsWithRef<'button'>, 'className' | 'style'> & {
24
+ presentation?: ButtonPresentation;
25
+ size?: ButtonSize;
26
+ style?: never;
27
+ variant?: ButtonVariant;
28
+ width?: 'full';
29
+ };
30
+ export type ButtonLinkProps = Omit<
31
+ ComponentPropsWithRef<'a'>,
32
+ 'aria-disabled' | 'className' | 'disabled' | 'role' | 'style'
33
+ > & {
34
+ asChild?: never;
35
+ className?: never;
36
+ disabled?: never;
37
+ href: string;
38
+ presentation?: ButtonPresentation;
39
+ render?: never;
40
+ role?: never;
41
+ size?: ButtonSize;
42
+ style?: never;
43
+ variant?: ButtonVariant;
44
+ width?: 'full';
45
+ 'aria-disabled'?: never;
46
+ };
47
+ export declare const Button: (props: ButtonProps) => ReactNode;
48
+ export declare const ButtonLink: (props: ButtonLinkProps) => ReactNode;
@@ -0,0 +1,54 @@
1
+ // Dedicated public declaration entrypoint keeps the ./dropdown-menu npm export independent of private workspace source.
2
+ import type { Menu } from '@base-ui/react/menu';
3
+ import type { ReactElement, ReactNode } from 'react';
4
+
5
+ type WithoutChrome<T> = Omit<T, 'className' | 'style'> & {
6
+ className?: never;
7
+ style?: never;
8
+ };
9
+ type WithoutStyling<T> = Omit<T, 'asChild' | 'className' | 'render' | 'style'>;
10
+
11
+ export type DropdownMenuSide = 'top' | 'right' | 'bottom' | 'left';
12
+ export type DropdownMenuAlign = 'start' | 'center' | 'end';
13
+ export type DropdownMenuContentSize = 'default' | 'auto' | 'sidebar';
14
+ export type DropdownMenuContentSpacing = 'default' | 'roomy';
15
+ export type DropdownMenuItemVariant = 'default' | 'destructive';
16
+ export type DropdownMenuContentProps = WithoutStyling<Menu.Popup.Props> &
17
+ Pick<Menu.Positioner.Props, 'align' | 'alignOffset' | 'side' | 'sideOffset'> & {
18
+ align?: DropdownMenuAlign;
19
+ portal?: boolean;
20
+ side?: DropdownMenuSide;
21
+ size?: DropdownMenuContentSize;
22
+ spacing?: DropdownMenuContentSpacing;
23
+ };
24
+ export type DropdownMenuItemProps = WithoutStyling<Menu.Item.Props> & {
25
+ inset?: boolean;
26
+ variant?: DropdownMenuItemVariant;
27
+ };
28
+ export type DropdownMenuLinkItemProps = DropdownMenuItemProps & {
29
+ href: string;
30
+ };
31
+ export type DropdownMenuCheckboxItemProps = WithoutStyling<Menu.CheckboxItem.Props> & {
32
+ inset?: boolean;
33
+ };
34
+ export type DropdownMenuRadioItemProps = WithoutStyling<Menu.RadioItem.Props> & { inset?: boolean };
35
+ export type DropdownMenuLabelProps = WithoutStyling<Menu.GroupLabel.Props> & {
36
+ inset?: boolean;
37
+ };
38
+ export type DropdownMenuSeparatorProps = WithoutStyling<Menu.Separator.Props>;
39
+ export type DropdownMenuTriggerProps = WithoutChrome<Menu.Trigger.Props> & {
40
+ asChild?: boolean;
41
+ };
42
+ export type DropdownMenuGroupProps = WithoutChrome<Menu.Group.Props>;
43
+ export type DropdownMenuRadioGroupProps = WithoutChrome<Menu.RadioGroup.Props>;
44
+ export declare function DropdownMenu(props: Menu.Root.Props): ReactNode;
45
+ export declare function DropdownMenuTrigger(props: DropdownMenuTriggerProps): ReactNode;
46
+ export declare function DropdownMenuContent(props: DropdownMenuContentProps): ReactNode;
47
+ export declare function DropdownMenuGroup(props: DropdownMenuGroupProps): ReactNode;
48
+ export declare function DropdownMenuLabel(props: DropdownMenuLabelProps): ReactNode;
49
+ export declare function DropdownMenuItem(props: DropdownMenuItemProps): ReactNode;
50
+ export declare function DropdownMenuLinkItem(props: DropdownMenuLinkItemProps): ReactNode;
51
+ export declare function DropdownMenuCheckboxItem(props: DropdownMenuCheckboxItemProps): ReactNode;
52
+ export declare function DropdownMenuRadioGroup(props: DropdownMenuRadioGroupProps): ReactNode;
53
+ export declare function DropdownMenuRadioItem(props: DropdownMenuRadioItemProps): ReactNode;
54
+ export declare function DropdownMenuSeparator(props: DropdownMenuSeparatorProps): ReactNode;
package/types/index.d.ts CHANGED
@@ -1,3 +1,8 @@
1
1
  export * from './badge.js';
2
+ export * from './button.js';
3
+ export * from './dropdown-menu.js';
2
4
  export * from './logo.js';
5
+ export * from './product-header.js';
6
+ export * from './sheet.js';
3
7
  export * from './sidebar.js';
8
+ export * from './text.js';
@@ -0,0 +1,14 @@
1
+ import type { ReactNode } from 'react';
2
+ import type {
3
+ ProductHeaderBreadcrumbProps,
4
+ ProductHeaderProps,
5
+ } from '../dist/product-header.types.js';
6
+
7
+ export type {
8
+ ProductHeaderBreadcrumbProps,
9
+ ProductHeaderProps,
10
+ ProductHeaderVisibility,
11
+ } from '../dist/product-header.types.js';
12
+
13
+ export declare function ProductHeaderBreadcrumb(props: ProductHeaderBreadcrumbProps): ReactNode;
14
+ export declare const ProductHeader: (props: ProductHeaderProps) => ReactNode;
@@ -0,0 +1,40 @@
1
+ // Dedicated public declaration entrypoint keeps the ./sheet npm export independent of private workspace source.
2
+ import type { Dialog } from '@base-ui/react/dialog';
3
+ import type { ComponentProps, ReactNode } from 'react';
4
+
5
+ type WithoutChrome<T> = Omit<T, 'className' | 'style'> & {
6
+ className?: never;
7
+ style?: never;
8
+ };
9
+ export type SheetCloseProps = WithoutChrome<Dialog.Close.Props> & {
10
+ asChild?: boolean;
11
+ };
12
+ export type SheetContentProps = Omit<WithoutChrome<Dialog.Popup.Props>, 'overlayClassName'> & {
13
+ overlayClassName?: never;
14
+ presentation?: 'navigation' | 'scroll';
15
+ responsive?: 'always' | 'mobileOnly';
16
+ width?: 'default' | 'full' | 'wide';
17
+ };
18
+ export type SheetFooterProps = WithoutChrome<ComponentProps<'div'>> & {
19
+ spacing?: 'default' | 'roomy';
20
+ };
21
+ export type SheetHeaderProps = WithoutChrome<ComponentProps<'div'>> & {
22
+ presentation?: 'navigation';
23
+ spacing?: 'default' | 'roomy';
24
+ };
25
+ export type SheetTitleProps = WithoutChrome<Dialog.Title.Props> & {
26
+ presentation?: 'navigation';
27
+ };
28
+ export type SheetTriggerProps = WithoutChrome<Dialog.Trigger.Props> & {
29
+ asChild?: boolean;
30
+ };
31
+ export declare function Sheet(props: Dialog.Root.Props): ReactNode;
32
+ export declare function SheetTrigger(props: SheetTriggerProps): ReactNode;
33
+ export declare function SheetClose(props: SheetCloseProps): ReactNode;
34
+ export declare function SheetContent(props: SheetContentProps): ReactNode;
35
+ export declare function SheetHeader(props: SheetHeaderProps): ReactNode;
36
+ export declare function SheetFooter(props: SheetFooterProps): ReactNode;
37
+ export declare function SheetTitle(props: SheetTitleProps): ReactNode;
38
+ export declare const SheetDescription: (
39
+ props: WithoutChrome<Dialog.Description.Props>
40
+ ) => ReactNode;
@@ -1,4 +1,4 @@
1
- import type { ComponentProps, ReactElement, ReactNode } from 'react';
1
+ import type { ComponentProps, ComponentPropsWithRef, ReactElement, ReactNode } from 'react';
2
2
 
3
3
  type WithoutChrome<T> = Omit<T, 'className' | 'style'> & {
4
4
  className?: never;
@@ -39,7 +39,7 @@ export type SidebarFooterProps = WithoutChrome<ComponentProps<'div'>> & {
39
39
 
40
40
  export type SidebarGroupProps = WithoutChrome<ComponentProps<'div'>> & {
41
41
  collapsed?: boolean;
42
- presentation?: 'mockup' | 'navigation';
42
+ presentation?: 'mockup' | 'navigation' | 'navigation-primary';
43
43
  };
44
44
 
45
45
  export type SidebarGroupContentProps = WithoutChrome<ComponentProps<'div'>>;
@@ -60,7 +60,8 @@ export type SidebarMenuButtonProps = WithoutChrome<ComponentProps<'button'>> & {
60
60
  render?: ReactElement;
61
61
  variant?: 'default' | 'outline' | null;
62
62
  size?: 'default' | 'sm' | 'lg' | null;
63
- presentation?: 'account' | 'disabled' | 'previewCollapsed';
63
+ collapsed?: boolean;
64
+ presentation?: 'account' | 'disabled' | 'navigation' | 'previewCollapsed';
64
65
  };
65
66
 
66
67
  export type SidebarMenuBadgeProps = WithoutChrome<ComponentProps<'div'>> & {
@@ -91,3 +92,25 @@ export declare function SidebarMenuItem(props: SidebarMenuItemProps): ReactNode;
91
92
  export declare function SidebarMenuButton(props: SidebarMenuButtonProps): ReactNode;
92
93
  export declare function SidebarMenuBadge(props: SidebarMenuBadgeProps): ReactNode;
93
94
  export declare function useSidebar(): SidebarContextValue;
95
+
96
+ export type SidebarBrandProps = {
97
+ actions?: ReactNode;
98
+ className?: never;
99
+ /** Routing/link elements; SidebarBrand injects the sealed visual classes. */
100
+ collapsed: ReactElement<{ className?: string }>;
101
+ /** Routing/link elements; SidebarBrand injects the sealed visual classes. */
102
+ expanded: ReactElement<{ className?: string }>;
103
+ style?: never;
104
+ };
105
+ export type SidebarAccountTriggerProps = Omit<
106
+ ComponentPropsWithRef<'button'>,
107
+ 'children' | 'className' | 'style'
108
+ > & {
109
+ avatar?: ReactNode;
110
+ className?: never;
111
+ email: string;
112
+ label: string;
113
+ style?: never;
114
+ };
115
+ export declare function SidebarBrand(props: SidebarBrandProps): ReactNode;
116
+ export declare function SidebarAccountTrigger(props: SidebarAccountTriggerProps): ReactNode;
@@ -0,0 +1,36 @@
1
+ // Dedicated public declaration entrypoint keeps the ./text npm export independent of private workspace source.
2
+ import type { ReactNode } from 'react';
3
+
4
+ export type TextVariant =
5
+ | 'body'
6
+ | 'caption'
7
+ | 'display'
8
+ | 'displayCompact'
9
+ | 'helper'
10
+ | 'micro'
11
+ | 'microStrong'
12
+ | 'overline'
13
+ | 'sectionTitle';
14
+ export type TextTone = 'default' | 'foreground' | 'muted' | 'primary' | 'success' | 'warning';
15
+ export type TextAlign = 'center' | 'end' | 'start';
16
+ export type TextProps = {
17
+ align?: TextAlign;
18
+ as?: 'div' | 'h2' | 'h3' | 'p' | 'small' | 'span';
19
+ children?: ReactNode;
20
+ className?: never;
21
+ numeric?: boolean;
22
+ style?: never;
23
+ tone?: TextTone;
24
+ truncate?: boolean;
25
+ variant?: TextVariant;
26
+ };
27
+ export type StackedDisplayProps = {
28
+ align?: TextAlign;
29
+ className?: never;
30
+ firstLine: ReactNode;
31
+ presentation?: 'dashboard' | 'welcome';
32
+ secondLine: ReactNode;
33
+ style?: never;
34
+ };
35
+ export declare function Text(props: TextProps): ReactNode;
36
+ export declare function StackedDisplay(props: StackedDisplayProps): ReactNode;