@cognite/aura 0.1.6 → 0.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.
Files changed (71) hide show
  1. package/DESIGN.md +1211 -0
  2. package/README.md +24 -0
  3. package/dist/colors.css +441 -214
  4. package/dist/components/index.d.ts +17 -1
  5. package/dist/components/index.js +344 -269
  6. package/dist/components/ui/core/accordion/accordion.js +22 -22
  7. package/dist/components/ui/core/alert/alert.d.ts +3 -2
  8. package/dist/components/ui/core/alert/alert.js +111 -87
  9. package/dist/components/ui/core/alert/alert.metadata.js +1 -1
  10. package/dist/components/ui/core/avatar/avatar.js +10 -10
  11. package/dist/components/ui/core/badge/badge.d.ts +2 -2
  12. package/dist/components/ui/core/badge/badge.js +13 -13
  13. package/dist/components/ui/core/banner/banner.d.ts +4 -4
  14. package/dist/components/ui/core/breadcrumb/breadcrumb.d.ts +11 -0
  15. package/dist/components/ui/core/breadcrumb/breadcrumb.js +190 -0
  16. package/dist/components/ui/core/breadcrumb/breadcrumb.metadata.d.ts +2 -0
  17. package/dist/components/ui/core/breadcrumb/breadcrumb.metadata.js +9 -0
  18. package/dist/components/ui/core/button/button.d.ts +1 -1
  19. package/dist/components/ui/core/card/card.d.ts +7 -4
  20. package/dist/components/ui/core/card/card.js +131 -87
  21. package/dist/components/ui/core/card/card.metadata.js +1 -1
  22. package/dist/components/ui/core/checkbox/checkbox.d.ts +13 -0
  23. package/dist/components/ui/core/checkbox/checkbox.js +129 -0
  24. package/dist/components/ui/core/checkbox/checkbox.metadata.d.ts +2 -0
  25. package/dist/components/ui/core/checkbox/checkbox.metadata.js +8 -0
  26. package/dist/components/ui/core/code-block/code-block.d.ts +5 -1
  27. package/dist/components/ui/core/code-block/code-block.js +200 -132
  28. package/dist/components/ui/core/command/command.d.ts +2 -2
  29. package/dist/components/ui/core/count/count.d.ts +8 -0
  30. package/dist/components/ui/core/count/count.js +32 -0
  31. package/dist/components/ui/core/dropdown-menu/dropdown-menu.d.ts +1 -1
  32. package/dist/components/ui/core/dropdown-menu/dropdown-menu.js +43 -40
  33. package/dist/components/ui/core/inline-citation/inline-citation.js +8 -8
  34. package/dist/components/ui/core/input-group/input-group.d.ts +1 -1
  35. package/dist/components/ui/core/kbd/kbd.d.ts +3 -0
  36. package/dist/components/ui/core/kbd/kbd.js +36 -0
  37. package/dist/components/ui/core/kbd/kbd.metadata.d.ts +2 -0
  38. package/dist/components/ui/core/kbd/kbd.metadata.js +9 -0
  39. package/dist/components/ui/core/loader/loader.d.ts +9 -1
  40. package/dist/components/ui/core/loader/loader.js +106 -107
  41. package/dist/components/ui/core/loader/loader.metadata.js +2 -2
  42. package/dist/components/ui/core/popover/popover.d.ts +1 -1
  43. package/dist/components/ui/core/prompt-input/prompt-input.d.ts +1 -1
  44. package/dist/components/ui/core/radio-group/radio-group.d.ts +16 -0
  45. package/dist/components/ui/core/radio-group/radio-group.js +110 -0
  46. package/dist/components/ui/core/radio-group/radio-group.metadata.d.ts +2 -0
  47. package/dist/components/ui/core/radio-group/radio-group.metadata.js +9 -0
  48. package/dist/components/ui/core/scroll-area/scroll-area.d.ts +3 -0
  49. package/dist/components/ui/core/scroll-area/scroll-area.js +71 -0
  50. package/dist/components/ui/core/scroll-area/scroll-area.metadata.d.ts +2 -0
  51. package/dist/components/ui/core/scroll-area/scroll-area.metadata.js +9 -0
  52. package/dist/components/ui/core/segmented-control/segmented-control.d.ts +16 -0
  53. package/dist/components/ui/core/segmented-control/segmented-control.js +169 -0
  54. package/dist/components/ui/core/sonner-toast/sonner-toast.d.ts +3 -0
  55. package/dist/components/ui/core/sonner-toast/sonner-toast.js +48 -0
  56. package/dist/components/ui/core/sonner-toast/sonner-toast.metadata.d.ts +2 -0
  57. package/dist/components/ui/core/sonner-toast/sonner-toast.metadata.js +9 -0
  58. package/dist/components/ui/core/tabs/tabs.d.ts +23 -0
  59. package/dist/components/ui/core/tabs/tabs.js +222 -0
  60. package/dist/components/ui/core/tabs/tabs.utils.d.ts +2 -0
  61. package/dist/components/ui/core/tabs/tabs.utils.js +9 -0
  62. package/dist/components/ui/core/tool/tool.js +31 -27
  63. package/dist/components/ui/core/topbar/topbar.d.ts +30 -0
  64. package/dist/components/ui/core/topbar/topbar.js +190 -0
  65. package/dist/index.d.ts +1 -1
  66. package/dist/index.js +312 -248
  67. package/dist/lib/utils.d.ts +11 -0
  68. package/dist/lib/utils.js +40 -29
  69. package/dist/styles.css +1 -1
  70. package/dist/styles.source.css +66 -7
  71. package/package.json +11 -6
@@ -0,0 +1,190 @@
1
+ import { jsx as a, jsxs as u, Fragment as c } from "react/jsx-runtime";
2
+ import { forwardRef as o } from "react";
3
+ import { mergeProps as m } from "@base-ui/react/merge-props";
4
+ import { useRender as l } from "@base-ui/react/use-render";
5
+ import { IconDots as i, IconSlash as p } from "@tabler/icons-react";
6
+ import { cn as n } from "../../../../lib/utils.js";
7
+ const b = o(
8
+ ({ ...e }, t) => /* @__PURE__ */ a(
9
+ "nav",
10
+ {
11
+ ref: t,
12
+ "aria-label": "breadcrumb",
13
+ "data-slot": "breadcrumb",
14
+ ...e
15
+ }
16
+ )
17
+ );
18
+ b.displayName = "Breadcrumb";
19
+ const g = o(
20
+ ({ className: e, ...t }, r) => /* @__PURE__ */ a(
21
+ "ol",
22
+ {
23
+ ref: r,
24
+ "data-slot": "breadcrumb-list",
25
+ className: n(
26
+ "flex items-center text-sm tracking-tight flex-wrap wrap-break-word",
27
+ e
28
+ ),
29
+ ...t
30
+ }
31
+ )
32
+ );
33
+ g.displayName = "BreadcrumbList";
34
+ const f = o(
35
+ ({ className: e, ...t }, r) => /* @__PURE__ */ a(
36
+ "li",
37
+ {
38
+ ref: r,
39
+ "data-slot": "breadcrumb-item",
40
+ className: n(
41
+ "inline-flex items-center text-muted-foreground text-sm tracking-tight",
42
+ "has-[button[data-popup-open]]:bg-accent-background has-[button[data-popup-open]]:text-foreground has-[button[data-popup-open]]:rounded-sm",
43
+ e
44
+ ),
45
+ ...t
46
+ }
47
+ )
48
+ );
49
+ f.displayName = "BreadcrumbItem";
50
+ const x = o(({ className: e, render: t, children: r, ...s }, d) => l({
51
+ defaultTagName: "a",
52
+ ref: d,
53
+ props: m(
54
+ {
55
+ ...{
56
+ "data-slot": "breadcrumb-link"
57
+ },
58
+ className: n(
59
+ "inline-flex h-7 items-center justify-center gap-2 rounded-md px-[6px] py-1",
60
+ "text-muted-foreground text-sm leading-[18px] tracking-tight font-normal",
61
+ "transition-colors hover:bg-accent-background hover:text-foreground",
62
+ "aria-[current=page]:font-medium aria-[current=page]:text-foreground",
63
+ e
64
+ )
65
+ },
66
+ { ...s, children: r }
67
+ ),
68
+ render: t,
69
+ state: {
70
+ slot: "breadcrumb-link"
71
+ }
72
+ }));
73
+ x.displayName = "BreadcrumbLink";
74
+ const h = o(({ className: e, ...t }, r) => /* @__PURE__ */ a(
75
+ "span",
76
+ {
77
+ ref: r,
78
+ "data-slot": "breadcrumb-page",
79
+ role: "link",
80
+ "aria-disabled": "true",
81
+ "aria-current": "page",
82
+ tabIndex: -1,
83
+ className: n(
84
+ "inline-flex h-7 items-center justify-center gap-2 rounded-md px-[6px] py-1",
85
+ "cursor-default hover:bg-transparent dark:hover:bg-transparent",
86
+ "text-sm leading-[18px] tracking-tight font-medium text-foreground",
87
+ e
88
+ ),
89
+ ...t
90
+ }
91
+ ));
92
+ h.displayName = "BreadcrumbPage";
93
+ const N = o(({ className: e, ...t }, r) => /* @__PURE__ */ a(
94
+ "button",
95
+ {
96
+ ref: r,
97
+ "data-slot": "breadcrumb-page-button",
98
+ type: "button",
99
+ "aria-current": "page",
100
+ className: n(
101
+ "inline-flex h-7 items-center justify-center gap-2 rounded-md px-[6px] py-1",
102
+ "text-sm leading-[18px] tracking-tight font-medium text-foreground",
103
+ "transition-colors hover:bg-accent-background",
104
+ e
105
+ ),
106
+ ...t
107
+ }
108
+ ));
109
+ N.displayName = "BreadcrumbPageButton";
110
+ const y = o(({ className: e, children: t, ...r }, s) => /* @__PURE__ */ a(
111
+ "button",
112
+ {
113
+ ref: s,
114
+ "data-slot": "breadcrumb-ellipsis-button",
115
+ type: "button",
116
+ className: n(
117
+ "flex size-7 items-center justify-center rounded-md",
118
+ "text-muted-foreground transition-colors hover:bg-accent-background hover:text-foreground",
119
+ "data-[popup-open]:bg-accent-background data-[popup-open]:text-foreground",
120
+ e
121
+ ),
122
+ ...r,
123
+ children: t ?? /* @__PURE__ */ u(c, { children: [
124
+ /* @__PURE__ */ a(i, { className: "size-3" }),
125
+ /* @__PURE__ */ a("span", { className: "sr-only", children: "More" })
126
+ ] })
127
+ }
128
+ ));
129
+ y.displayName = "BreadcrumbEllipsisButton";
130
+ const B = o(({ children: e, className: t, ...r }, s) => /* @__PURE__ */ a(
131
+ "li",
132
+ {
133
+ ref: s,
134
+ "data-slot": "breadcrumb-separator",
135
+ role: "presentation",
136
+ "aria-hidden": "true",
137
+ className: n(
138
+ "flex size-4 items-center justify-center [&>svg]:size-4",
139
+ t
140
+ ),
141
+ ...r,
142
+ children: e ?? /* @__PURE__ */ a(p, { className: "size-4 text-muted-foreground" })
143
+ }
144
+ ));
145
+ B.displayName = "BreadcrumbSeparator";
146
+ const k = o(
147
+ ({ children: e, className: t, ...r }, s) => {
148
+ const d = e != null;
149
+ return /* @__PURE__ */ a(
150
+ "li",
151
+ {
152
+ ref: s,
153
+ "data-slot": "breadcrumb-ellipsis",
154
+ role: d ? void 0 : "presentation",
155
+ "aria-hidden": d ? void 0 : !0,
156
+ className: n(
157
+ "inline-flex items-center",
158
+ "has-[button[data-popup-open]]:bg-accent-background has-[button[data-popup-open]]:text-foreground has-[button[data-popup-open]]:rounded-sm",
159
+ t
160
+ ),
161
+ ...r,
162
+ children: e ?? /* @__PURE__ */ u(
163
+ "span",
164
+ {
165
+ className: n(
166
+ "flex size-7 items-center justify-center rounded-md",
167
+ "cursor-default text-muted-foreground hover:bg-transparent dark:hover:bg-transparent"
168
+ ),
169
+ children: [
170
+ /* @__PURE__ */ a(i, { className: "size-3" }),
171
+ /* @__PURE__ */ a("span", { className: "sr-only", children: "More" })
172
+ ]
173
+ }
174
+ )
175
+ }
176
+ );
177
+ }
178
+ );
179
+ k.displayName = "BreadcrumbEllipsis";
180
+ export {
181
+ b as Breadcrumb,
182
+ k as BreadcrumbEllipsis,
183
+ y as BreadcrumbEllipsisButton,
184
+ f as BreadcrumbItem,
185
+ x as BreadcrumbLink,
186
+ g as BreadcrumbList,
187
+ h as BreadcrumbPage,
188
+ N as BreadcrumbPageButton,
189
+ B as BreadcrumbSeparator
190
+ };
@@ -0,0 +1,2 @@
1
+ import { ComponentMeta } from '../../../../lib/types';
2
+ export declare const BreadcrumbMetadata: ComponentMeta;
@@ -0,0 +1,9 @@
1
+ const e = {
2
+ name: "Breadcrumb",
3
+ status: "in-progress-code-review",
4
+ description: "A navigation component showing the users location in a hierarchy.",
5
+ llmUsage: 'Use `<Breadcrumb>` with `<BreadcrumbList>`, `<BreadcrumbItem>`, `<BreadcrumbLink>`, and `<BreadcrumbPage>`. Use `<BreadcrumbPage>` for non-clickable current page text; for a clickable current page, use `<BreadcrumbLink aria-current="page">`.'
6
+ };
7
+ export {
8
+ e as BreadcrumbMetadata
9
+ };
@@ -2,7 +2,7 @@ import { Button as ButtonPrimitive } from '@base-ui/react/button';
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  declare const buttonVariants: (props?: ({
4
4
  variant?: "default" | "secondary" | "outline" | "ghost" | "destructive" | null | undefined;
5
- size?: "icon" | "default" | "sm" | "lg" | "icon-sm" | "icon-lg" | null | undefined;
5
+ size?: "default" | "sm" | "lg" | "icon" | "icon-sm" | "icon-lg" | null | undefined;
6
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
7
  type ButtonProps = ButtonPrimitive.Props & VariantProps<typeof buttonVariants>;
8
8
  declare const Button: import('react').ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & import('react').RefAttributes<HTMLElement>>;
@@ -1,17 +1,20 @@
1
1
  import { ReactNode } from 'react';
2
2
  type HeadingElement = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
3
3
  declare const Card: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
4
- declare const CardHeader: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
5
- declare const CardIcon: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
4
+ declare const CardHeaderStart: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
6
5
  declare const CardTitle: import('react').ForwardRefExoticComponent<Omit<import('react').ClassAttributes<HTMLHeadingElement> & import('react').HTMLAttributes<HTMLHeadingElement> & {
7
6
  as?: HeadingElement;
8
7
  }, "ref"> & import('react').RefAttributes<HTMLHeadingElement>>;
9
8
  declare const CardDescription: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLParagraphElement>, HTMLParagraphElement>, "ref"> & import('react').RefAttributes<HTMLParagraphElement>>;
10
- declare const CardHeaderRight: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
9
+ declare const CardHeaderEnd: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
10
+ declare const CardHeader: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
11
+ declare const CardHeaderCenter: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
11
12
  declare const CardActions: import('react').ForwardRefExoticComponent<Omit<import("@base-ui/react").MenuRoot.Props<unknown>, "children"> & {
12
13
  children?: ReactNode;
13
14
  align?: "start" | "center" | "end";
14
15
  } & import('react').RefAttributes<HTMLElement>>;
15
16
  declare const CardContent: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
16
17
  declare const CardFooter: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
17
- export { Card, CardHeader, CardIcon, CardHeaderRight, CardFooter, CardTitle, CardActions, CardDescription, CardContent, };
18
+ declare const CardFooterStart: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
19
+ declare const CardFooterEnd: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
20
+ export { Card, CardHeader, CardHeaderCenter, CardHeaderStart, CardHeaderEnd, CardFooter, CardFooterStart, CardFooterEnd, CardTitle, CardActions, CardDescription, CardContent, };
@@ -1,143 +1,187 @@
1
- import { jsx as d, jsxs as c } from "react/jsx-runtime";
2
- import { forwardRef as e } from "react";
3
- import { IconDotsVertical as n } from "@tabler/icons-react";
4
- import { cn as o } from "../../../../lib/utils.js";
5
- import { Button as i } from "../button/button.js";
6
- import { DropdownMenu as l, DropdownMenuTrigger as m, DropdownMenuContent as p } from "../dropdown-menu/dropdown-menu.js";
7
- const u = e(
8
- ({ className: a, ...r }, t) => /* @__PURE__ */ d(
1
+ import { jsx as e, jsxs as n } from "react/jsx-runtime";
2
+ import { forwardRef as d } from "react";
3
+ import { IconDotsVertical as l } from "@tabler/icons-react";
4
+ import { cn as s } from "../../../../lib/utils.js";
5
+ import { Button as c } from "../button/button.js";
6
+ import { DropdownMenu as i, DropdownMenuTrigger as m, DropdownMenuContent as f } from "../dropdown-menu/dropdown-menu.js";
7
+ const p = d(
8
+ ({ className: t, ...r }, a) => /* @__PURE__ */ e(
9
9
  "div",
10
10
  {
11
- ref: t,
11
+ ref: a,
12
12
  "data-slot": "card",
13
- className: o(
14
- "bg-card-background text-foreground flex flex-col rounded-lg",
15
- a
13
+ className: s(
14
+ "bg-card-background text-foreground flex flex-col rounded-xl p-4 gap-4",
15
+ t
16
16
  ),
17
17
  ...r
18
18
  }
19
19
  )
20
20
  );
21
- u.displayName = "Card";
22
- const h = e(
23
- ({ className: a, ...r }, t) => /* @__PURE__ */ d(
21
+ p.displayName = "Card";
22
+ const u = d(
23
+ ({ className: t, children: r, ...a }, o) => /* @__PURE__ */ e(
24
24
  "div",
25
25
  {
26
- ref: t,
27
- "data-slot": "card-header",
28
- className: o(
29
- "@container/card-header group/card-header grid auto-rows-min items-start gap-1.5 px-4 pt-4 [.border-b]:pb-6",
30
- "grid-cols-[1fr]",
31
- "has-data-[slot=card-icon]:grid-cols-[auto_1fr]",
32
- "has-data-[slot=card-header-right]:grid-cols-[1fr_auto]",
33
- "has-data-[slot=card-icon]:has-data-[slot=card-header-right]:grid-cols-[auto_1fr_auto]",
34
- a
26
+ ref: o,
27
+ "data-slot": "card-header-start",
28
+ className: s(
29
+ "col-start-1 row-start-1 h-12 self-stretch pt-1.5",
30
+ t
35
31
  ),
36
- ...r
32
+ ...a,
33
+ children: /* @__PURE__ */ e("div", { className: "flex items-start h-full", children: r })
37
34
  }
38
35
  )
39
36
  );
40
- h.displayName = "CardHeader";
41
- const f = e(
42
- ({ className: a, children: r, ...t }, s) => /* @__PURE__ */ d(
43
- "div",
44
- {
45
- ref: s,
46
- "data-slot": "card-icon",
47
- className: o("col-start-1 row-start-1 h-full", a),
48
- ...t,
49
- children: /* @__PURE__ */ d("div", { className: "flex items-center h-full", children: r })
50
- }
51
- )
52
- );
53
- f.displayName = "CardIcon";
54
- const g = e(({ className: a, as: r = "h3", ...t }, s) => /* @__PURE__ */ d(
37
+ u.displayName = "CardHeaderStart";
38
+ const C = d(({ className: t, as: r = "h3", ...a }, o) => /* @__PURE__ */ e(
55
39
  r,
56
40
  {
57
- ref: s,
41
+ ref: o,
58
42
  "data-slot": "card-title",
59
- className: o(
60
- "tracking-tightest text-foreground font-medium text-lg row-start-1",
61
- "group-has-data-[slot=card-icon]/card-header:col-start-2",
62
- a
43
+ className: s(
44
+ "tracking-tightest text-foreground font-medium text-lg leading-6 line-clamp-2 overflow-hidden",
45
+ t
63
46
  ),
64
- ...t
47
+ ...a
65
48
  }
66
49
  ));
67
- g.displayName = "CardTitle";
68
- const C = e(
69
- ({ className: a, ...r }, t) => /* @__PURE__ */ d(
50
+ C.displayName = "CardTitle";
51
+ const g = d(
52
+ ({ className: t, ...r }, a) => /* @__PURE__ */ e(
70
53
  "p",
71
54
  {
72
- ref: t,
55
+ ref: a,
73
56
  "data-slot": "card-description",
74
- className: o(
75
- "text-muted-foreground text-sm row-start-2",
76
- "group-has-data-[slot=card-icon]/card-header:col-start-2",
77
- a
57
+ className: s(
58
+ "text-muted-foreground text-sm font-normal leading-5 tracking-tight line-clamp-2 overflow-hidden",
59
+ t
78
60
  ),
79
61
  ...r
80
62
  }
81
63
  )
82
64
  );
83
- C.displayName = "CardDescription";
84
- const N = e(
85
- ({ className: a, ...r }, t) => /* @__PURE__ */ d(
65
+ g.displayName = "CardDescription";
66
+ const x = d(
67
+ ({ className: t, ...r }, a) => /* @__PURE__ */ e(
68
+ "div",
69
+ {
70
+ ref: a,
71
+ "data-slot": "card-header-end",
72
+ className: s(
73
+ "col-start-3 row-start-1 self-start justify-self-end flex justify-end items-start gap-1",
74
+ t
75
+ ),
76
+ ...r
77
+ }
78
+ )
79
+ );
80
+ x.displayName = "CardHeaderEnd";
81
+ const N = d(
82
+ ({ className: t, children: r, ...a }, o) => /* @__PURE__ */ e(
83
+ "div",
84
+ {
85
+ ref: o,
86
+ "data-slot": "card-header",
87
+ className: s(
88
+ "group/card-header @container/card-header grid items-center gap-x-3 grid-cols-[auto_minmax(0,1fr)_auto]",
89
+ t
90
+ ),
91
+ ...a,
92
+ children: r
93
+ }
94
+ )
95
+ );
96
+ N.displayName = "CardHeader";
97
+ const h = d(
98
+ ({ className: t, ...r }, a) => /* @__PURE__ */ e(
86
99
  "div",
87
100
  {
88
- ref: t,
89
- "data-slot": "card-header-right",
90
- className: o(
91
- "row-span-2 row-start-1 self-start justify-self-end",
92
- a
101
+ ref: a,
102
+ "data-slot": "card-header-center",
103
+ className: s(
104
+ "col-start-1 row-start-1 min-w-0 flex flex-col justify-center",
105
+ "group-has-data-[slot=card-header-start]/card-header:col-start-2",
106
+ t
93
107
  ),
94
108
  ...r
95
109
  }
96
110
  )
97
111
  );
98
- N.displayName = "CardHeaderRight";
99
- const x = e(({ children: a, align: r = "end", ...t }, s) => /* @__PURE__ */ c(l, { ...t, children: [
100
- /* @__PURE__ */ d(
112
+ h.displayName = "CardHeaderCenter";
113
+ const y = d(({ children: t, align: r = "end", ...a }, o) => /* @__PURE__ */ n(i, { ...a, children: [
114
+ /* @__PURE__ */ e(
101
115
  m,
102
116
  {
103
- render: /* @__PURE__ */ d(i, { variant: "ghost", size: "icon-sm", ref: s, children: /* @__PURE__ */ d(n, {}) })
117
+ render: /* @__PURE__ */ e(c, { variant: "ghost", size: "icon-sm", ref: o, children: /* @__PURE__ */ e(l, {}) })
104
118
  }
105
119
  ),
106
- /* @__PURE__ */ d(p, { align: r, children: a })
120
+ /* @__PURE__ */ e(f, { align: r, children: t })
107
121
  ] }));
108
- x.displayName = "CardActions";
109
- const w = e(
110
- ({ className: a, ...r }, t) => /* @__PURE__ */ d(
122
+ y.displayName = "CardActions";
123
+ const v = d(
124
+ ({ className: t, ...r }, a) => /* @__PURE__ */ e(
111
125
  "div",
112
126
  {
113
- ref: t,
127
+ ref: a,
114
128
  "data-slot": "card-content",
115
- className: o("p-4", a),
129
+ className: s(
130
+ "text-secondary-foreground flex flex-col items-start gap-4 self-stretch",
131
+ t
132
+ ),
116
133
  ...r
117
134
  }
118
135
  )
119
136
  );
120
- w.displayName = "CardContent";
121
- const y = e(
122
- ({ className: a, ...r }, t) => /* @__PURE__ */ d(
137
+ v.displayName = "CardContent";
138
+ const w = d(
139
+ ({ className: t, ...r }, a) => /* @__PURE__ */ e(
123
140
  "div",
124
141
  {
125
- ref: t,
142
+ ref: a,
126
143
  "data-slot": "card-footer",
127
- className: o("flex px-4 pb-4", a),
144
+ className: s("flex items-center gap-4 self-stretch", t),
145
+ ...r
146
+ }
147
+ )
148
+ );
149
+ w.displayName = "CardFooter";
150
+ const H = d(
151
+ ({ className: t, ...r }, a) => /* @__PURE__ */ e(
152
+ "div",
153
+ {
154
+ ref: a,
155
+ "data-slot": "card-footer-start",
156
+ className: s("flex-1 flex items-start justify-start gap-2", t),
157
+ ...r
158
+ }
159
+ )
160
+ );
161
+ H.displayName = "CardFooterStart";
162
+ const j = d(
163
+ ({ className: t, ...r }, a) => /* @__PURE__ */ e(
164
+ "div",
165
+ {
166
+ ref: a,
167
+ "data-slot": "card-footer-end",
168
+ className: s("flex items-center justify-end", t),
128
169
  ...r
129
170
  }
130
171
  )
131
172
  );
132
- y.displayName = "CardFooter";
173
+ j.displayName = "CardFooterEnd";
133
174
  export {
134
- u as Card,
135
- x as CardActions,
136
- w as CardContent,
137
- C as CardDescription,
138
- y as CardFooter,
139
- h as CardHeader,
140
- N as CardHeaderRight,
141
- f as CardIcon,
142
- g as CardTitle
175
+ p as Card,
176
+ y as CardActions,
177
+ v as CardContent,
178
+ g as CardDescription,
179
+ w as CardFooter,
180
+ j as CardFooterEnd,
181
+ H as CardFooterStart,
182
+ N as CardHeader,
183
+ h as CardHeaderCenter,
184
+ x as CardHeaderEnd,
185
+ u as CardHeaderStart,
186
+ C as CardTitle
143
187
  };
@@ -2,7 +2,7 @@ const e = {
2
2
  name: "Card",
3
3
  status: "in-progress-code-review",
4
4
  description: "A flexible card layout with header, content, action, and footer slots.",
5
- llmUsage: "Use `<Card>` with `<CardHeader>`, `<CardTitle>`, `<CardDescription>`, `<CardContent>`, and `<CardFooter>` for structured content containers."
5
+ llmUsage: "Use `<Card>` with `<CardHeader>`, `<CardHeaderCenter>`, `<CardTitle>`, `<CardDescription>`, `<CardContent>`, and `<CardFooter>` for structured content containers."
6
6
  };
7
7
  export {
8
8
  e as CardMetadata
@@ -0,0 +1,13 @@
1
+ import { HTMLAttributes } from 'react';
2
+ import { VariantProps } from 'class-variance-authority';
3
+ type Orientation = 'horizontal' | 'vertical';
4
+ declare const CheckboxGroup: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
5
+ orientation?: Orientation;
6
+ } & import('react').RefAttributes<HTMLDivElement>>;
7
+ declare const CheckboxItem: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLLabelElement> & VariantProps<(props?: ({
8
+ variant?: "default" | "card" | null | undefined;
9
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string> & import('react').RefAttributes<HTMLLabelElement>>;
10
+ declare const CheckboxItemControl: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').CheckboxRootProps, "ref"> & import('react').RefAttributes<HTMLElement>>;
11
+ declare const CheckboxItemLabel: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & import('react').RefAttributes<HTMLSpanElement>>;
12
+ declare const CheckboxItemDescription: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & import('react').RefAttributes<HTMLSpanElement>>;
13
+ export { CheckboxGroup, CheckboxItem, CheckboxItemControl, CheckboxItemDescription, CheckboxItemLabel, };
@@ -0,0 +1,129 @@
1
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
2
+ import { forwardRef as r } from "react";
3
+ import { Checkbox as i } from "@base-ui/react/checkbox";
4
+ import { IconCheck as l, IconMinus as b } from "@tabler/icons-react";
5
+ import { cva as m } from "class-variance-authority";
6
+ import { cn as d, selectionItemBase as h, selectionItemCard as k, selectionItemDefault as u, invalidState as x, focusState as p, selectionItemLabel as g, selectionItemDescription as f } from "../../../../lib/utils.js";
7
+ const I = r(
8
+ ({ className: a, orientation: e = "vertical", role: t = "group", ...c }, n) => /* @__PURE__ */ o(
9
+ "div",
10
+ {
11
+ ref: n,
12
+ role: t,
13
+ "data-slot": "checkbox-group",
14
+ "data-orientation": e,
15
+ className: d(
16
+ e === "horizontal" ? "flex items-center gap-2" : "grid has-[[data-variant=card]]:gap-2",
17
+ a
18
+ ),
19
+ ...c
20
+ }
21
+ )
22
+ );
23
+ I.displayName = "CheckboxGroup";
24
+ const C = m(d("group/checkbox-item", h), {
25
+ variants: {
26
+ variant: {
27
+ default: u,
28
+ card: k
29
+ }
30
+ },
31
+ defaultVariants: {
32
+ variant: "default"
33
+ }
34
+ }), v = r(
35
+ ({ className: a, variant: e, ...t }, c) => /* @__PURE__ */ o(
36
+ "label",
37
+ {
38
+ ref: c,
39
+ "data-slot": "checkbox-item",
40
+ "data-variant": e ?? "default",
41
+ className: d(C({ variant: e }), a),
42
+ ...t
43
+ }
44
+ )
45
+ );
46
+ v.displayName = "CheckboxItem";
47
+ const N = r(({ className: a, ...e }, t) => /* @__PURE__ */ o(
48
+ i.Root,
49
+ {
50
+ ref: t,
51
+ "data-slot": "checkbox-item-control",
52
+ className: d(
53
+ "peer relative size-4 shrink-0 rounded-sm border-[1.5px] border-inactive-foreground bg-transparent text-foreground-on-primary outline-none transition-colors",
54
+ "[&:is([data-checked],[data-indeterminate]):not([data-disabled])]:border-transparent [&:is([data-checked],[data-indeterminate]):not([data-disabled])]:bg-primary-background",
55
+ "data-unchecked:not-data-disabled:hover:border-secondary-foreground group-hover/checkbox-item:data-unchecked:not-data-disabled:border-secondary-foreground",
56
+ "data-disabled:pointer-events-none data-disabled:cursor-not-allowed data-disabled:border-transparent data-disabled:bg-disabled-background data-disabled:text-disabled-foreground data-disabled:data-unchecked:border-border",
57
+ "[&[data-checked]_[data-slot=checkbox-check]]:block [&[data-indeterminate]_[data-slot=checkbox-dash]]:block",
58
+ p,
59
+ x,
60
+ a
61
+ ),
62
+ ...e,
63
+ children: /* @__PURE__ */ s(
64
+ i.Indicator,
65
+ {
66
+ "data-slot": "checkbox-indicator",
67
+ className: "grid size-full place-content-center text-current transition-none",
68
+ children: [
69
+ /* @__PURE__ */ o(
70
+ l,
71
+ {
72
+ "aria-hidden": "true",
73
+ "data-slot": "checkbox-check",
74
+ className: "hidden size-3",
75
+ stroke: 3
76
+ }
77
+ ),
78
+ /* @__PURE__ */ o(
79
+ b,
80
+ {
81
+ "aria-hidden": "true",
82
+ "data-slot": "checkbox-dash",
83
+ className: "hidden size-3",
84
+ stroke: 3.5
85
+ }
86
+ )
87
+ ]
88
+ }
89
+ )
90
+ }
91
+ ));
92
+ N.displayName = "CheckboxItemControl";
93
+ const y = r(({ className: a, ...e }, t) => /* @__PURE__ */ o(
94
+ "span",
95
+ {
96
+ ref: t,
97
+ "data-slot": "checkbox-item-label",
98
+ className: d(
99
+ g,
100
+ "group-has-[[data-checked]]/checkbox-item:text-foreground",
101
+ "group-has-[[data-indeterminate]]/checkbox-item:text-foreground",
102
+ "group-has-[[data-disabled]]/checkbox-item:text-disabled-foreground",
103
+ a
104
+ ),
105
+ ...e
106
+ }
107
+ ));
108
+ y.displayName = "CheckboxItemLabel";
109
+ const z = r(({ className: a, ...e }, t) => /* @__PURE__ */ o(
110
+ "span",
111
+ {
112
+ ref: t,
113
+ "data-slot": "checkbox-item-description",
114
+ className: d(
115
+ f,
116
+ "group-has-[[data-disabled]]/checkbox-item:text-disabled-foreground",
117
+ a
118
+ ),
119
+ ...e
120
+ }
121
+ ));
122
+ z.displayName = "CheckboxItemDescription";
123
+ export {
124
+ I as CheckboxGroup,
125
+ v as CheckboxItem,
126
+ N as CheckboxItemControl,
127
+ z as CheckboxItemDescription,
128
+ y as CheckboxItemLabel
129
+ };