@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,16 @@
1
+ import { HTMLAttributes } from 'react';
2
+ import { Radio as RadioPrimitive } from '@base-ui/react/radio';
3
+ import { RadioGroup as RadioGroupPrimitive } from '@base-ui/react/radio-group';
4
+ import { VariantProps } from 'class-variance-authority';
5
+ type Orientation = 'horizontal' | 'vertical';
6
+ type RadioGroupProps = RadioGroupPrimitive.Props & {
7
+ orientation?: Orientation;
8
+ };
9
+ declare const RadioGroup: import('react').ForwardRefExoticComponent<Omit<RadioGroupProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
10
+ declare const RadioGroupItem: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLLabelElement> & VariantProps<(props?: ({
11
+ variant?: "default" | "card" | null | undefined;
12
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string> & import('react').RefAttributes<HTMLLabelElement>>;
13
+ declare const RadioGroupItemControl: import('react').ForwardRefExoticComponent<Omit<RadioPrimitive.Root.Props<any>, "ref"> & import('react').RefAttributes<HTMLSpanElement>>;
14
+ declare const RadioGroupItemLabel: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & import('react').RefAttributes<HTMLSpanElement>>;
15
+ declare const RadioGroupItemDescription: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & import('react').RefAttributes<HTMLSpanElement>>;
16
+ export { RadioGroup, RadioGroupItem, RadioGroupItemControl, RadioGroupItemDescription, RadioGroupItemLabel, };
@@ -0,0 +1,110 @@
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { forwardRef as t } from "react";
3
+ import { Radio as s } from "@base-ui/react/radio";
4
+ import { RadioGroup as n } from "@base-ui/react/radio-group";
5
+ import { cva as u } from "class-variance-authority";
6
+ import { cn as d, selectionItemBase as b, selectionItemCard as l, selectionItemDefault as c, focusState as p, selectionItemLabel as f, selectionItemDescription as g } from "../../../../lib/utils.js";
7
+ const m = t(({ className: r, orientation: e = "vertical", ...o }, i) => /* @__PURE__ */ a(
8
+ n,
9
+ {
10
+ ref: i,
11
+ "data-slot": "radio-group",
12
+ "data-orientation": e,
13
+ "aria-orientation": e,
14
+ className: d(
15
+ e === "horizontal" ? "flex items-center gap-2" : "grid has-[[data-variant=card]]:gap-2",
16
+ r
17
+ ),
18
+ ...o
19
+ }
20
+ ));
21
+ m.displayName = "RadioGroup";
22
+ const h = u(
23
+ d("group/radio-group-item", b),
24
+ {
25
+ variants: {
26
+ variant: {
27
+ default: c,
28
+ card: l
29
+ }
30
+ },
31
+ defaultVariants: {
32
+ variant: "default"
33
+ }
34
+ }
35
+ ), v = t(
36
+ ({ className: r, variant: e, ...o }, i) => /* @__PURE__ */ a(
37
+ "label",
38
+ {
39
+ ref: i,
40
+ "data-slot": "radio-group-item",
41
+ "data-variant": e ?? "default",
42
+ className: d(h({ variant: e }), r),
43
+ ...o
44
+ }
45
+ )
46
+ );
47
+ v.displayName = "RadioGroupItem";
48
+ const I = t(({ className: r, ...e }, o) => /* @__PURE__ */ a(
49
+ s.Root,
50
+ {
51
+ ref: o,
52
+ "data-slot": "radio-group-item-control",
53
+ className: d(
54
+ "group relative flex size-4 shrink-0 items-center justify-center rounded-full bg-transparent outline-none before:pointer-events-none before:absolute before:inset-0 before:z-0 before:box-border before:rounded-full before:border-[1.5px] before:border-muted-foreground before:bg-transparent before:transition-[background-color,border-color,box-shadow] before:content-['']",
55
+ "data-[checked]:before:border-border-active",
56
+ "hover:before:border-secondary-foreground group-hover/radio-group-item:before:border-secondary-foreground",
57
+ "data-[checked]:hover:before:border-border-active data-[checked]:hover:before:bg-accent-background",
58
+ "data-[checked]:group-hover/radio-group-item:before:border-border-active data-[checked]:group-hover/radio-group-item:before:bg-accent-background",
59
+ "data-[disabled]:before:border-disabled-foreground data-[disabled]:before:bg-disabled-background data-[disabled]:hover:before:border-disabled-foreground data-[disabled]:group-hover/radio-group-item:before:border-disabled-foreground data-[disabled]:group-hover/radio-group-item:before:bg-disabled-background",
60
+ p,
61
+ r
62
+ ),
63
+ ...e,
64
+ children: /* @__PURE__ */ a(
65
+ s.Indicator,
66
+ {
67
+ "data-slot": "radio-group-item-indicator",
68
+ className: "relative z-10 flex items-center justify-center size-full",
69
+ children: /* @__PURE__ */ a("span", { className: "size-2.5 rounded-full bg-active-background group-hover:bg-active-background-hover group-data-[disabled]:bg-disabled-foreground" })
70
+ }
71
+ )
72
+ }
73
+ ));
74
+ I.displayName = "RadioGroupItemControl";
75
+ const R = t(({ className: r, ...e }, o) => /* @__PURE__ */ a(
76
+ "span",
77
+ {
78
+ ref: o,
79
+ "data-slot": "radio-group-item-label",
80
+ className: d(
81
+ f,
82
+ "group-has-[[data-checked]]/radio-group-item:text-foreground",
83
+ "group-has-[[data-disabled]]/radio-group-item:text-disabled-foreground",
84
+ r
85
+ ),
86
+ ...e
87
+ }
88
+ ));
89
+ R.displayName = "RadioGroupItemLabel";
90
+ const k = t(({ className: r, ...e }, o) => /* @__PURE__ */ a(
91
+ "span",
92
+ {
93
+ ref: o,
94
+ "data-slot": "radio-group-item-description",
95
+ className: d(
96
+ g,
97
+ "group-has-[[data-disabled]]/radio-group-item:text-disabled-foreground",
98
+ r
99
+ ),
100
+ ...e
101
+ }
102
+ ));
103
+ k.displayName = "RadioGroupItemDescription";
104
+ export {
105
+ m as RadioGroup,
106
+ v as RadioGroupItem,
107
+ I as RadioGroupItemControl,
108
+ k as RadioGroupItemDescription,
109
+ R as RadioGroupItemLabel
110
+ };
@@ -0,0 +1,2 @@
1
+ import { ComponentMeta } from '../../../../lib/types';
2
+ export declare const RadioGroupMetadata: ComponentMeta;
@@ -0,0 +1,9 @@
1
+ const e = {
2
+ name: "RadioGroup",
3
+ status: "in-progress-code-review",
4
+ description: "A composable radio group with optional label and description slots, including a card-style item variant.",
5
+ llmUsage: 'Use `<RadioGroup>` with `<RadioGroupItem>` wrapping `<RadioGroupItemControl value="..." />`, plus optional `<RadioGroupItemLabel>` and `<RadioGroupItemDescription>`. Always pass an accessible name on `<RadioGroupItemControl>` via `aria-label` (or `aria-labelledby` pointing to the label\'s id) — the wrapping `<label>` element names the underlying hidden form input, but does not name the visible `role="radio"` element that screen readers focus on. `<RadioGroupItemDescription>` is a visual slot at this primitive layer; if you need it announced by screen readers, give it an `id` and pass `aria-describedby` to `<RadioGroupItemControl>`. Use `variant="card"` on `<RadioGroupItem>` for card-style options. Pass `name`, `value`/`defaultValue`, `onValueChange`, `disabled`, `required`, and `orientation` on `<RadioGroup>` for form integration and layout.'
6
+ };
7
+ export {
8
+ e as RadioGroupMetadata
9
+ };
@@ -0,0 +1,3 @@
1
+ declare const ScrollArea: import('react').ForwardRefExoticComponent<Omit<Omit<import('@base-ui/react').ScrollAreaRootProps, "ref"> & import('react').RefAttributes<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
2
+ declare const ScrollBar: import('react').ForwardRefExoticComponent<Omit<Omit<import('@base-ui/react').ScrollAreaScrollbarProps, "ref"> & import('react').RefAttributes<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
3
+ export { ScrollArea, ScrollBar };
@@ -0,0 +1,71 @@
1
+ import { jsxs as d, jsx as r } from "react/jsx-runtime";
2
+ import { forwardRef as i } from "react";
3
+ import { ScrollArea as o } from "@base-ui/react/scroll-area";
4
+ import { focusRing as m, cn as s } from "../../../../lib/utils.js";
5
+ const p = i(
6
+ ({
7
+ className: a,
8
+ children: l,
9
+ ...e
10
+ }, t) => /* @__PURE__ */ d(
11
+ o.Root,
12
+ {
13
+ ref: t,
14
+ "data-slot": "scroll-area",
15
+ className: s("relative group/scroll-area", a),
16
+ ...e,
17
+ children: [
18
+ /* @__PURE__ */ r(
19
+ o.Viewport,
20
+ {
21
+ "data-slot": "scroll-area-viewport",
22
+ className: `size-full rounded-[inherit] transition-[color,box-shadow] ${m}`,
23
+ children: /* @__PURE__ */ r(o.Content, { "data-slot": "scroll-area-content", children: l })
24
+ }
25
+ ),
26
+ /* @__PURE__ */ r(c, { orientation: "vertical" }),
27
+ /* @__PURE__ */ r(c, { orientation: "horizontal" }),
28
+ /* @__PURE__ */ r(o.Corner, { "data-slot": "scroll-area-corner" })
29
+ ]
30
+ }
31
+ )
32
+ ), c = i(
33
+ ({
34
+ className: a,
35
+ orientation: l = "vertical",
36
+ ...e
37
+ }, t) => {
38
+ const n = l === "horizontal";
39
+ return /* @__PURE__ */ r(
40
+ o.Scrollbar,
41
+ {
42
+ ref: t,
43
+ "data-slot": "scroll-area-scrollbar",
44
+ "data-orientation": l,
45
+ orientation: l,
46
+ className: s(
47
+ "group/scroll-area-scrollbar flex touch-none select-none items-start transition-colors",
48
+ n ? "w-full py-0.5 px-3" : "inline-flex self-stretch px-0.5 py-3",
49
+ a
50
+ ),
51
+ ...e,
52
+ children: /* @__PURE__ */ r(
53
+ o.Thumb,
54
+ {
55
+ "data-slot": "scroll-area-thumb",
56
+ className: s(
57
+ "relative rounded-full bg-secondary-background transition-colors group-hover/scroll-area-scrollbar:bg-secondary-background-hover",
58
+ n ? "h-1 min-w-10" : "w-1 min-h-10"
59
+ )
60
+ }
61
+ )
62
+ }
63
+ );
64
+ }
65
+ );
66
+ p.displayName = "ScrollArea";
67
+ c.displayName = "ScrollBar";
68
+ export {
69
+ p as ScrollArea,
70
+ c as ScrollBar
71
+ };
@@ -0,0 +1,2 @@
1
+ import { ComponentMeta } from '../../../../lib/types';
2
+ export declare const ScrollAreaMetadata: ComponentMeta;
@@ -0,0 +1,9 @@
1
+ const a = {
2
+ name: "ScrollArea",
3
+ status: "in-progress-code-review",
4
+ description: "A custom scrollable area built on Base UI Scroll Area, with styled scrollbars and an automatic corner for bidirectional scrolling.",
5
+ llmUsage: "Use `<ScrollArea>` as the container and place scrollable content directly as children. Both vertical and horizontal scrollbars are rendered automatically and only appear on the axes that actually overflow. Use the `dir` prop for RTL layouts (and a Base UI `DirectionProvider` when required by your app setup)."
6
+ };
7
+ export {
8
+ a as ScrollAreaMetadata
9
+ };
@@ -0,0 +1,16 @@
1
+ import { Tabs as TabsPrimitive } from '@base-ui/react/tabs';
2
+ import { VariantProps } from 'class-variance-authority';
3
+ declare function SegmentedControl({ className, ...props }: TabsPrimitive.Root.Props): import("react/jsx-runtime").JSX.Element;
4
+ declare const segmentedControlListVariants: (props?: ({
5
+ size?: "default" | "small" | null | undefined;
6
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
+ type SegmentedControlListProps = TabsPrimitive.List.Props & VariantProps<typeof segmentedControlListVariants>;
8
+ declare function SegmentedControlList({ className, size, children, ...props }: SegmentedControlListProps): import("react/jsx-runtime").JSX.Element;
9
+ declare const segmentedControlButtonVariants: (props?: ({
10
+ size?: "default" | "small" | null | undefined;
11
+ tabContent?: "icon-label" | "label-only" | "icon-only" | null | undefined;
12
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
13
+ type SegmentedControlButtonProps = TabsPrimitive.Tab.Props & VariantProps<typeof segmentedControlButtonVariants>;
14
+ declare function SegmentedControlButton({ className, size, tabContent, ...props }: SegmentedControlButtonProps): import("react/jsx-runtime").JSX.Element;
15
+ declare function SegmentedControlContent({ className, ...props }: TabsPrimitive.Panel.Props): import("react/jsx-runtime").JSX.Element;
16
+ export { SegmentedControl, SegmentedControlButton, SegmentedControlContent, SegmentedControlList, segmentedControlButtonVariants, segmentedControlListVariants, };
@@ -0,0 +1,169 @@
1
+ import { jsx as n, jsxs as u } from "react/jsx-runtime";
2
+ import { createContext as m, useContext as f } from "react";
3
+ import { Tabs as a } from "@base-ui/react/tabs";
4
+ import { cva as l } from "class-variance-authority";
5
+ import { cn as i } from "../../../../lib/utils.js";
6
+ function N({ className: t, ...e }) {
7
+ return /* @__PURE__ */ n(
8
+ a.Root,
9
+ {
10
+ "data-slot": "segmented-control",
11
+ className: i("flex flex-col gap-2", t),
12
+ ...e
13
+ }
14
+ );
15
+ }
16
+ const g = l(
17
+ "bg-muted-background text-muted-foreground relative isolate inline-flex w-fit items-center justify-center gap-2 p-0.5",
18
+ {
19
+ variants: {
20
+ size: {
21
+ default: "h-9 rounded-lg",
22
+ small: "h-7 rounded-md"
23
+ }
24
+ },
25
+ defaultVariants: {
26
+ size: "default"
27
+ }
28
+ }
29
+ ), d = m(void 0);
30
+ function S({
31
+ className: t,
32
+ size: e,
33
+ children: o,
34
+ ...r
35
+ }) {
36
+ const s = e ?? "default";
37
+ return /* @__PURE__ */ n(
38
+ a.List,
39
+ {
40
+ "data-slot": "segmented-control-list",
41
+ className: i(g({ size: e }), t),
42
+ ...r,
43
+ children: /* @__PURE__ */ u(d.Provider, { value: s, children: [
44
+ /* @__PURE__ */ n(p, { size: s }),
45
+ o
46
+ ] })
47
+ }
48
+ );
49
+ }
50
+ const b = l(
51
+ "bg-background pointer-events-none absolute top-(--active-tab-top) left-(--active-tab-left) -z-0 h-(--active-tab-height) w-(--active-tab-width) motion-safe:transition-[top,left,width,height] motion-safe:duration-200 motion-safe:ease-out data-[activation-direction=none]:transition-none",
52
+ {
53
+ variants: {
54
+ size: {
55
+ default: "rounded-md",
56
+ small: "rounded-sm"
57
+ }
58
+ },
59
+ defaultVariants: {
60
+ size: "default"
61
+ }
62
+ }
63
+ );
64
+ function p({
65
+ className: t,
66
+ size: e,
67
+ ...o
68
+ }) {
69
+ return /* @__PURE__ */ n(
70
+ a.Indicator,
71
+ {
72
+ "data-slot": "segmented-control-indicator",
73
+ className: i(b({ size: e }), t),
74
+ ...o
75
+ }
76
+ );
77
+ }
78
+ const v = l(
79
+ "text-sm leading-4.5 tracking-normal font-medium relative z-10 inline-flex flex-1 items-center justify-center whitespace-nowrap text-muted-foreground dark:text-muted-foreground border border-transparent transition-[color,box-shadow] duration-200 ease-out focus-visible:border-ring focus-visible:ring focus-visible:ring-ring-shadow focus-visible:outline-1 focus-visible:outline-ring [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4 data-disabled:pointer-events-none data-disabled:opacity-50 hover:text-foreground data-active:text-foreground data-active:hover:text-foreground",
80
+ {
81
+ variants: {
82
+ size: {
83
+ default: "rounded-md",
84
+ small: "rounded-sm"
85
+ },
86
+ tabContent: {
87
+ "icon-label": "",
88
+ "label-only": "",
89
+ "icon-only": "px-0"
90
+ }
91
+ },
92
+ compoundVariants: [
93
+ {
94
+ size: "default",
95
+ tabContent: "icon-label",
96
+ className: "h-8 gap-2 px-2 py-0"
97
+ },
98
+ {
99
+ size: "default",
100
+ tabContent: "label-only",
101
+ className: "h-8 gap-0 px-2 py-0"
102
+ },
103
+ {
104
+ size: "default",
105
+ tabContent: "icon-only",
106
+ className: "size-8 gap-0 py-0"
107
+ },
108
+ {
109
+ size: "small",
110
+ tabContent: "icon-label",
111
+ className: "h-6 gap-2 px-2 py-0"
112
+ },
113
+ {
114
+ size: "small",
115
+ tabContent: "label-only",
116
+ className: "h-6 gap-0 px-2 py-0"
117
+ },
118
+ {
119
+ size: "small",
120
+ tabContent: "icon-only",
121
+ className: "size-6 gap-0 py-0"
122
+ }
123
+ ],
124
+ defaultVariants: {
125
+ size: "default",
126
+ tabContent: "icon-label"
127
+ }
128
+ }
129
+ );
130
+ function w({
131
+ className: t,
132
+ size: e,
133
+ tabContent: o,
134
+ ...r
135
+ }) {
136
+ const s = f(d), c = e ?? s;
137
+ return /* @__PURE__ */ n(
138
+ a.Tab,
139
+ {
140
+ "data-slot": "segmented-control-trigger",
141
+ className: i(
142
+ v({ size: c, tabContent: o }),
143
+ t
144
+ ),
145
+ ...r
146
+ }
147
+ );
148
+ }
149
+ function V({
150
+ className: t,
151
+ ...e
152
+ }) {
153
+ return /* @__PURE__ */ n(
154
+ a.Panel,
155
+ {
156
+ "data-slot": "segmented-control-content",
157
+ className: i("flex-1 outline-none", t),
158
+ ...e
159
+ }
160
+ );
161
+ }
162
+ export {
163
+ N as SegmentedControl,
164
+ w as SegmentedControlButton,
165
+ V as SegmentedControlContent,
166
+ S as SegmentedControlList,
167
+ v as segmentedControlButtonVariants,
168
+ g as segmentedControlListVariants
169
+ };
@@ -0,0 +1,3 @@
1
+ import { ToasterProps, toast } from 'sonner';
2
+ declare const Toaster: ({ ...props }: ToasterProps) => import("react/jsx-runtime").JSX.Element;
3
+ export { Toaster, toast };
@@ -0,0 +1,48 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { IconLoader2 as o, IconAlertOctagonFilled as s, IconAlertTriangleFilled as a, IconInfoCircleFilled as i, IconCircleCheckFilled as l, IconX as d } from "@tabler/icons-react";
3
+ import { Toaster as c } from "sonner";
4
+ import { toast as k } from "sonner";
5
+ import { cn as r } from "../../../../lib/utils.js";
6
+ const g = {
7
+ "--normal-bg": "var(--raised-background)",
8
+ "--normal-text": "var(--foreground-fixed-light)",
9
+ "--normal-border": "transparent",
10
+ "--border-radius": "var(--radius-lg)"
11
+ }, p = ({ ...n }) => {
12
+ const t = "flex h-5 min-w-5 items-center justify-center rounded-md px-1";
13
+ return /* @__PURE__ */ e(
14
+ c,
15
+ {
16
+ "data-slot": "sonner-toast",
17
+ theme: "system",
18
+ className: "toaster group",
19
+ icons: {
20
+ close: /* @__PURE__ */ e(d, { className: "size-4 text-foreground-fixed-light" }),
21
+ success: /* @__PURE__ */ e("span", { className: r(t, "bg-success-background"), children: /* @__PURE__ */ e(l, { className: "size-3 text-success-foreground-on-success" }) }),
22
+ info: /* @__PURE__ */ e("span", { className: r(t, "bg-info-background"), children: /* @__PURE__ */ e(i, { className: "size-3 text-info-foreground-on-info" }) }),
23
+ warning: /* @__PURE__ */ e("span", { className: r(t, "bg-warning-background"), children: /* @__PURE__ */ e(a, { className: "size-3 text-warning-foreground-on-warning" }) }),
24
+ error: /* @__PURE__ */ e("span", { className: r(t, "bg-destructive-background"), children: /* @__PURE__ */ e(s, { className: "size-3 text-destructive-foreground-on-critical" }) }),
25
+ loading: /* @__PURE__ */ e(o, { className: "size-4 animate-spin" })
26
+ },
27
+ style: g,
28
+ toastOptions: {
29
+ unstyled: !0,
30
+ classNames: {
31
+ toast: "flex w-[384px] min-h-11 items-center gap-2 rounded-lg bg-raised-background p-3 shadow-md has-[[data-description]]:[&_[data-icon]]:hidden",
32
+ icon: "order-1 m-0 shrink-0 flex items-start",
33
+ content: "order-2 flex flex-1 basis-0 flex-col items-start gap-0.5",
34
+ title: "w-full self-stretch text-sm font-medium leading-[18px] tracking-normal text-foreground-fixed-light",
35
+ description: "w-full self-stretch text-sm font-normal leading-[18px] tracking-tight text-muted-foreground-fixed-light",
36
+ actionButton: "order-3 ml-auto inline-flex h-7 items-center justify-center gap-1.5 rounded-md bg-transparent px-2 text-sm font-medium leading-[18px] tracking-normal text-foreground-fixed-light transition-all hover:cursor-pointer",
37
+ cancelButton: "order-3 ml-auto inline-flex h-7 items-center justify-center gap-1.5 rounded-md bg-transparent px-2 text-sm font-medium leading-[18px] tracking-normal text-foreground-fixed-light transition-all hover:cursor-pointer",
38
+ closeButton: "order-4 inline-flex size-7 items-center justify-center rounded-md text-foreground-fixed-light transition-all hover:cursor-pointer hover:text-foreground-fixed-light hover:!bg-transparent"
39
+ }
40
+ },
41
+ ...n
42
+ }
43
+ );
44
+ };
45
+ export {
46
+ p as Toaster,
47
+ k as toast
48
+ };
@@ -0,0 +1,2 @@
1
+ import { ComponentMeta } from '../../../../lib/types';
2
+ export declare const SonnerToastMetadata: ComponentMeta;
@@ -0,0 +1,9 @@
1
+ const t = {
2
+ name: "SonnerToast",
3
+ status: "draft",
4
+ description: "A Sonner-based toast primitive with fully custom Aura/Figma slot styling (unstyled mode), status badges for all semantic variants, and right-aligned action/cancel/close controls.",
5
+ llmUsage: "Mount `<Toaster />` once near app root, then call `toast(...)`, `toast.success(...)`, `toast.error(...)`, `toast.warning(...)`, or `toast.info(...)`. Use toast options for `description`, `action`, and `cancel`; use Toaster props (for example `position` and `closeButton`) to control placement and close-button visibility."
6
+ };
7
+ export {
8
+ t as SonnerToastMetadata
9
+ };
@@ -0,0 +1,23 @@
1
+ import { ReactNode } from 'react';
2
+ import { Tabs as TabsPrimitive } from '@base-ui/react/tabs';
3
+ import { VariantProps } from 'class-variance-authority';
4
+ declare const tabsListVariants: (props?: ({
5
+ orientation?: "horizontal" | "vertical" | null | undefined;
6
+ size?: "default" | "small" | null | undefined;
7
+ fullWidth?: boolean | null | undefined;
8
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
9
+ declare const tabsTriggerVariants: (props?: ({
10
+ size?: "default" | "small" | null | undefined;
11
+ fullWidth?: boolean | null | undefined;
12
+ stateTone?: "default" | null | undefined;
13
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
14
+ declare const Tabs: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').TabsRootProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
15
+ type TabsListProps = TabsPrimitive.List.Props & VariantProps<typeof tabsListVariants>;
16
+ declare const TabsList: import('react').ForwardRefExoticComponent<Omit<TabsListProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
17
+ type TabsTriggerProps = TabsPrimitive.Tab.Props & VariantProps<typeof tabsTriggerVariants> & {
18
+ badge?: ReactNode;
19
+ };
20
+ declare const TabsTrigger: import('react').ForwardRefExoticComponent<Omit<TabsTriggerProps, "ref"> & import('react').RefAttributes<HTMLElement>>;
21
+ declare const TabsLabel: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref"> & import('react').RefAttributes<HTMLSpanElement>>;
22
+ declare const TabsPanel: import('react').ForwardRefExoticComponent<Omit<import('@base-ui/react').TabsPanelProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
23
+ export { Tabs, TabsLabel, TabsList, TabsPanel, TabsTrigger, tabsListVariants, tabsTriggerVariants, };