@actioneer/ads 1.0.7 → 1.0.9
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.
- package/DESIGN.md +119 -91
- package/README.md +19 -1
- package/components/ai-elements/chart.js +20 -20
- package/components/ai-elements/inline-citation.js +50 -50
- package/components/ai-elements/message.js +1 -1
- package/components/ai-elements/tool.js +5 -5
- package/components/alert.d.ts +3 -2
- package/components/alert.js +25 -25
- package/components/answer.js +1 -1
- package/components/assistant-ui/action-bar.js +1 -1
- package/components/assistant-ui/attachment.js +68 -49
- package/components/assistant-ui/composer-add-context.js +1 -1
- package/components/assistant-ui/composer-harness.js +5 -4
- package/components/assistant-ui/composer-trigger-popover.js +1 -1
- package/components/assistant-ui/composer.js +13 -13
- package/components/assistant-ui/message-timing.js +6 -6
- package/components/assistant-ui/selection-toolbar.js +5 -5
- package/components/assistant-ui/sources.js +15 -15
- package/components/assistant-ui/tooltip-icon-button.js +18 -14
- package/components/audio-waveform.d.ts +21 -8
- package/components/audio-waveform.js +371 -94
- package/components/autocomplete.js +9 -9
- package/components/breadcrumbs.js +36 -42
- package/components/button.d.ts +16 -1
- package/components/button.js +86 -73
- package/components/card.js +1 -1
- package/components/chart.d.ts +31 -4
- package/components/chart.js +900 -666
- package/components/chip.d.ts +2 -1
- package/components/chip.js +56 -51
- package/components/command-palette.js +12 -12
- package/components/connector-card.d.ts +1 -2
- package/components/connector-card.js +17 -17
- package/components/date-range-picker.js +1 -2
- package/components/drawer.js +9 -10
- package/components/dropdown.js +1 -1
- package/components/empty-state.d.ts +2 -0
- package/components/empty-state.js +17 -15
- package/components/field.js +9 -10
- package/components/file-dropzone.d.ts +6 -3
- package/components/file-dropzone.js +72 -60
- package/components/filters.d.ts +37 -0
- package/components/filters.js +129 -0
- package/components/index.d.ts +1 -0
- package/components/index.js +447 -444
- package/components/infinite-canvas.js +9 -9
- package/components/modal.d.ts +2 -1
- package/components/modal.js +102 -91
- package/components/page-body.js +8 -8
- package/components/popover.d.ts +6 -1
- package/components/popover.js +75 -65
- package/components/progress-circle.d.ts +1 -1
- package/components/progress-circle.js +57 -48
- package/components/segmented.d.ts +1 -0
- package/components/segmented.js +34 -36
- package/components/select.js +2 -2
- package/components/selection-action-bar.js +32 -31
- package/components/setting-row.js +10 -10
- package/components/sidebar.d.ts +15 -0
- package/components/sidebar.js +186 -149
- package/components/slider.js +5 -5
- package/components/stepper.d.ts +1 -1
- package/components/stepper.js +1 -1
- package/components/switch.js +10 -10
- package/components/table.d.ts +10 -2
- package/components/table.js +380 -366
- package/components/tabs.d.ts +6 -1
- package/components/tabs.js +32 -29
- package/components/timeline.js +3 -3
- package/components/toast.js +53 -56
- package/components/ui/button.js +4 -4
- package/components/ui/dialog.js +1 -1
- package/components/viz-charts.js +263 -221
- package/demo/components/add-to-artifact.js +3 -2
- package/examples/README.md +31 -0
- package/examples/agents-screen.tsx +477 -0
- package/examples/campaign-analysis-screen.tsx +138 -0
- package/examples/campaigns-screen.tsx +439 -0
- package/examples/settings-screen.tsx +90 -0
- package/examples/workspace-header.tsx +71 -0
- package/lib/icons.d.ts +8 -0
- package/lib/icons.js +171 -118
- package/llms.txt +93 -29
- package/manifest.json +1660 -113
- package/package.json +1 -1
- package/styles.css +55 -68
- package/theme.css +50 -59
|
@@ -1,69 +1,78 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as
|
|
3
|
-
import * as
|
|
4
|
-
import { MotionConfig as
|
|
5
|
-
import { cn as
|
|
6
|
-
import { springProgress as
|
|
7
|
-
const
|
|
2
|
+
import { jsx as i, jsxs as x } from "react/jsx-runtime";
|
|
3
|
+
import * as p from "react";
|
|
4
|
+
import { MotionConfig as L, motion as N } from "motion/react";
|
|
5
|
+
import { cn as u } from "../lib/cn.js";
|
|
6
|
+
import { springProgress as b } from "../lib/motion.js";
|
|
7
|
+
const M = 4, g = 96;
|
|
8
|
+
function w(s, e) {
|
|
9
|
+
const t = [];
|
|
10
|
+
for (let o = 0; o <= g; o++) {
|
|
11
|
+
const n = -Math.PI / 2 + o / g * Math.PI * 2, a = Math.cos(n), r = Math.sin(n), c = s + e * Math.sign(a) * Math.abs(a) ** (2 / M), l = s + e * Math.sign(r) * Math.abs(r) ** (2 / M);
|
|
12
|
+
t.push(`${c.toFixed(2)},${l.toFixed(2)}`);
|
|
13
|
+
}
|
|
14
|
+
return `M${t.join(" L")} Z`;
|
|
15
|
+
}
|
|
16
|
+
const j = p.forwardRef(
|
|
8
17
|
({
|
|
9
|
-
className:
|
|
10
|
-
value:
|
|
11
|
-
max:
|
|
12
|
-
size:
|
|
13
|
-
strokeWidth:
|
|
14
|
-
isIndeterminate:
|
|
15
|
-
label:
|
|
16
|
-
...
|
|
17
|
-
},
|
|
18
|
-
const
|
|
19
|
-
return /* @__PURE__ */
|
|
18
|
+
className: s,
|
|
19
|
+
value: e = 0,
|
|
20
|
+
max: t = 100,
|
|
21
|
+
size: o = 40,
|
|
22
|
+
strokeWidth: n = 4,
|
|
23
|
+
isIndeterminate: a = !1,
|
|
24
|
+
label: r,
|
|
25
|
+
...c
|
|
26
|
+
}, l) => {
|
|
27
|
+
const h = Math.min(Math.max(e, 0), t), v = t > 0 ? h / t : 0, m = o / 2, d = (o - n) / 2, f = p.useMemo(() => w(m, d), [m, d]), P = a ? 75 : 100 - v * 100;
|
|
28
|
+
return /* @__PURE__ */ i(
|
|
20
29
|
"div",
|
|
21
30
|
{
|
|
22
|
-
ref:
|
|
31
|
+
ref: l,
|
|
23
32
|
role: "progressbar",
|
|
24
|
-
"aria-label":
|
|
33
|
+
"aria-label": r,
|
|
25
34
|
"aria-valuemin": 0,
|
|
26
|
-
"aria-valuemax":
|
|
27
|
-
"aria-valuenow":
|
|
28
|
-
className:
|
|
29
|
-
style: { width:
|
|
30
|
-
...
|
|
31
|
-
children: /* @__PURE__ */
|
|
35
|
+
"aria-valuemax": t,
|
|
36
|
+
"aria-valuenow": a ? void 0 : h,
|
|
37
|
+
className: u("inline-flex", s),
|
|
38
|
+
style: { width: o, height: o },
|
|
39
|
+
...c,
|
|
40
|
+
children: /* @__PURE__ */ x(
|
|
32
41
|
"svg",
|
|
33
42
|
{
|
|
34
|
-
width:
|
|
35
|
-
height:
|
|
36
|
-
viewBox: `0 0 ${
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
43
|
+
width: o,
|
|
44
|
+
height: o,
|
|
45
|
+
viewBox: `0 0 ${o} ${o}`,
|
|
46
|
+
"aria-hidden": "true",
|
|
47
|
+
className: u(
|
|
48
|
+
"overflow-visible",
|
|
49
|
+
a && "animate-[ads-spin_800ms_linear_infinite] motion-reduce:animate-none"
|
|
40
50
|
),
|
|
41
51
|
children: [
|
|
42
|
-
/* @__PURE__ */
|
|
43
|
-
"
|
|
52
|
+
/* @__PURE__ */ i(
|
|
53
|
+
"path",
|
|
44
54
|
{
|
|
45
55
|
className: "stroke-muted",
|
|
46
56
|
fill: "none",
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
strokeWidth: i
|
|
57
|
+
d: f,
|
|
58
|
+
strokeWidth: n,
|
|
59
|
+
strokeLinejoin: "round"
|
|
51
60
|
}
|
|
52
61
|
),
|
|
53
|
-
/* @__PURE__ */
|
|
54
|
-
|
|
62
|
+
/* @__PURE__ */ i(L, { reducedMotion: "user", children: /* @__PURE__ */ i(
|
|
63
|
+
N.path,
|
|
55
64
|
{
|
|
56
65
|
className: "stroke-brand",
|
|
57
66
|
fill: "none",
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
strokeWidth: i,
|
|
67
|
+
d: f,
|
|
68
|
+
pathLength: 100,
|
|
69
|
+
strokeWidth: n,
|
|
62
70
|
strokeLinecap: "round",
|
|
63
|
-
|
|
71
|
+
strokeLinejoin: "round",
|
|
72
|
+
strokeDasharray: "100 100",
|
|
64
73
|
initial: !1,
|
|
65
|
-
animate: { strokeDashoffset:
|
|
66
|
-
transition:
|
|
74
|
+
animate: { strokeDashoffset: P },
|
|
75
|
+
transition: b
|
|
67
76
|
}
|
|
68
77
|
) })
|
|
69
78
|
]
|
|
@@ -73,7 +82,7 @@ const N = x.forwardRef(
|
|
|
73
82
|
);
|
|
74
83
|
}
|
|
75
84
|
);
|
|
76
|
-
|
|
85
|
+
j.displayName = "ProgressCircle";
|
|
77
86
|
export {
|
|
78
|
-
|
|
87
|
+
j as ProgressCircle
|
|
79
88
|
};
|
|
@@ -14,6 +14,7 @@ export interface SegmentedControlProps extends Omit<React.HTMLAttributes<HTMLDiv
|
|
|
14
14
|
options: SegmentedOption[];
|
|
15
15
|
value: string;
|
|
16
16
|
onChange: (value: string) => void;
|
|
17
|
+
/** @deprecated No effect: the active thumb is always flat (ADS 1.0.8). */
|
|
17
18
|
elevated?: boolean;
|
|
18
19
|
}
|
|
19
20
|
export declare const SegmentedControl: React.ForwardRefExoticComponent<SegmentedControlProps & React.RefAttributes<HTMLDivElement>>;
|
package/components/segmented.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as n, jsxs as
|
|
2
|
+
import { jsx as n, jsxs as h } from "react/jsx-runtime";
|
|
3
3
|
import * as l from "react";
|
|
4
|
-
import { MotionConfig as v, motion as
|
|
4
|
+
import { MotionConfig as v, motion as x } from "motion/react";
|
|
5
5
|
import { cva as c } from "class-variance-authority";
|
|
6
|
-
import { cn as
|
|
7
|
-
import { springControl as
|
|
8
|
-
const
|
|
9
|
-
//
|
|
10
|
-
//
|
|
11
|
-
|
|
12
|
-
"inline-flex items-center gap-1 bg-surface p-1",
|
|
6
|
+
import { cn as a } from "../lib/cn.js";
|
|
7
|
+
import { springControl as w } from "../lib/motion.js";
|
|
8
|
+
const y = c(
|
|
9
|
+
// Soft WG2 track with a WG4 edge; the selected option is a White thumb with
|
|
10
|
+
// its own WG4 edge, so the control reads as one quiet, premium switcher.
|
|
11
|
+
"inline-flex items-center gap-0.5 border border-border bg-background p-0.5",
|
|
13
12
|
{
|
|
14
13
|
variants: {
|
|
15
14
|
size: {
|
|
@@ -21,10 +20,10 @@ const D = c(
|
|
|
21
20
|
defaultVariants: { size: "md" }
|
|
22
21
|
}
|
|
23
22
|
), k = c(
|
|
24
|
-
|
|
23
|
+
a(
|
|
25
24
|
// The active segment is a shared motion thumb that SLIDES between options
|
|
26
25
|
// (layoutId), so the option itself only carries text color.
|
|
27
|
-
"relative inline-flex items-center justify-center whitespace-nowrap text-m
|
|
26
|
+
"relative inline-flex items-center justify-center whitespace-nowrap text-m select-none",
|
|
28
27
|
"transition-colors duration-150 cursor-pointer",
|
|
29
28
|
"outline-none focus-visible:ring-3 focus-visible:ring-ring",
|
|
30
29
|
"disabled:pointer-events-none disabled:opacity-50"
|
|
@@ -32,44 +31,44 @@ const D = c(
|
|
|
32
31
|
{
|
|
33
32
|
variants: {
|
|
34
33
|
size: {
|
|
35
|
-
sm: "h-6 rounded-
|
|
36
|
-
md: "h-
|
|
37
|
-
lg: "h-
|
|
34
|
+
sm: "h-6 rounded-xs px-2.5",
|
|
35
|
+
md: "h-7.5 rounded-sm px-3",
|
|
36
|
+
lg: "h-8.5 rounded-sm px-4"
|
|
38
37
|
},
|
|
39
38
|
selected: {
|
|
40
|
-
true: "text-
|
|
41
|
-
false: "text-muted-foreground hover:text-
|
|
39
|
+
true: "font-medium text-foreground",
|
|
40
|
+
false: "font-normal text-muted-foreground hover:text-foreground"
|
|
42
41
|
}
|
|
43
42
|
},
|
|
44
43
|
defaultVariants: { size: "md", selected: !1 }
|
|
45
44
|
}
|
|
46
|
-
),
|
|
47
|
-
const
|
|
48
|
-
const r = t.findIndex((
|
|
45
|
+
), D = l.forwardRef(({ options: t, value: o, onChange: s, size: d, className: m, elevated: I, ...u }, f) => {
|
|
46
|
+
const b = l.useId(), i = (e) => {
|
|
47
|
+
const r = t.findIndex((p) => p.value === o), g = ((r < 0 ? 0 : r) + e + t.length) % t.length;
|
|
49
48
|
s(t[g].value);
|
|
50
49
|
};
|
|
51
50
|
return /* @__PURE__ */ n(
|
|
52
51
|
"div",
|
|
53
52
|
{
|
|
54
|
-
ref:
|
|
53
|
+
ref: f,
|
|
55
54
|
role: "radiogroup",
|
|
56
55
|
onKeyDown: (e) => {
|
|
57
56
|
switch (e.key) {
|
|
58
57
|
case "ArrowRight":
|
|
59
58
|
case "ArrowDown":
|
|
60
|
-
e.preventDefault(),
|
|
59
|
+
e.preventDefault(), i(1);
|
|
61
60
|
break;
|
|
62
61
|
case "ArrowLeft":
|
|
63
62
|
case "ArrowUp":
|
|
64
|
-
e.preventDefault(),
|
|
63
|
+
e.preventDefault(), i(-1);
|
|
65
64
|
break;
|
|
66
65
|
}
|
|
67
66
|
},
|
|
68
|
-
className:
|
|
69
|
-
...
|
|
67
|
+
className: a(y({ size: d }), m),
|
|
68
|
+
...u,
|
|
70
69
|
children: /* @__PURE__ */ n(v, { reducedMotion: "user", children: t.map((e) => {
|
|
71
|
-
const r = e.value ===
|
|
72
|
-
return /* @__PURE__ */
|
|
70
|
+
const r = e.value === o;
|
|
71
|
+
return /* @__PURE__ */ h(
|
|
73
72
|
"button",
|
|
74
73
|
{
|
|
75
74
|
type: "button",
|
|
@@ -78,18 +77,17 @@ const D = c(
|
|
|
78
77
|
"aria-label": e.ariaLabel,
|
|
79
78
|
tabIndex: r ? 0 : -1,
|
|
80
79
|
onClick: () => s(e.value),
|
|
81
|
-
className: k({ size:
|
|
80
|
+
className: k({ size: d, selected: r }),
|
|
82
81
|
children: [
|
|
83
82
|
r && /* @__PURE__ */ n(
|
|
84
|
-
|
|
83
|
+
x.span,
|
|
85
84
|
{
|
|
86
|
-
layoutId:
|
|
85
|
+
layoutId: b,
|
|
87
86
|
"aria-hidden": !0,
|
|
88
|
-
layoutDependency:
|
|
89
|
-
transition:
|
|
90
|
-
className:
|
|
91
|
-
"absolute inset-0 rounded-[inherit] bg-
|
|
92
|
-
u && "shadow-elevation"
|
|
87
|
+
layoutDependency: o,
|
|
88
|
+
transition: w,
|
|
89
|
+
className: a(
|
|
90
|
+
"absolute inset-0 rounded-[inherit] border border-border bg-card"
|
|
93
91
|
)
|
|
94
92
|
}
|
|
95
93
|
),
|
|
@@ -102,7 +100,7 @@ const D = c(
|
|
|
102
100
|
}
|
|
103
101
|
);
|
|
104
102
|
});
|
|
105
|
-
|
|
103
|
+
D.displayName = "SegmentedControl";
|
|
106
104
|
export {
|
|
107
|
-
|
|
105
|
+
D as SegmentedControl
|
|
108
106
|
};
|
package/components/select.js
CHANGED
|
@@ -61,7 +61,7 @@ const te = G(
|
|
|
61
61
|
},
|
|
62
62
|
className: b(
|
|
63
63
|
"pointer-events-auto min-w-[280px] max-h-60 overflow-auto p-1",
|
|
64
|
-
"rounded-md border border-input bg-elevated
|
|
64
|
+
"rounded-md border border-input bg-elevated",
|
|
65
65
|
$
|
|
66
66
|
),
|
|
67
67
|
children: [
|
|
@@ -220,7 +220,7 @@ const re = n.forwardRef(
|
|
|
220
220
|
},
|
|
221
221
|
className: b(
|
|
222
222
|
"pointer-events-auto max-h-60 overflow-auto p-1",
|
|
223
|
-
"rounded-md border border-border bg-elevated
|
|
223
|
+
"rounded-md border border-border bg-elevated",
|
|
224
224
|
m ? "fixed" : b(
|
|
225
225
|
"absolute z-50 w-full",
|
|
226
226
|
x === "top" ? "bottom-full mb-1.5" : "top-full mt-1.5"
|
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsxs as
|
|
3
|
-
import * as
|
|
2
|
+
import { jsxs as o, jsx as n } from "react/jsx-runtime";
|
|
3
|
+
import * as c from "react";
|
|
4
4
|
import { cn as s } from "../lib/cn.js";
|
|
5
|
-
import { Button as
|
|
6
|
-
const
|
|
5
|
+
import { Button as p } from "./button.js";
|
|
6
|
+
const b = c.forwardRef(
|
|
7
7
|
({
|
|
8
|
-
className:
|
|
9
|
-
selectedCount:
|
|
10
|
-
selectedLabel:
|
|
11
|
-
actions:
|
|
8
|
+
className: t,
|
|
9
|
+
selectedCount: a,
|
|
10
|
+
selectedLabel: i,
|
|
11
|
+
actions: r,
|
|
12
12
|
onClear: e,
|
|
13
|
-
clearLabel:
|
|
13
|
+
clearLabel: d = "Clear",
|
|
14
14
|
...m
|
|
15
|
-
},
|
|
15
|
+
}, h) => /* @__PURE__ */ o(
|
|
16
16
|
"div",
|
|
17
17
|
{
|
|
18
|
-
ref:
|
|
18
|
+
ref: h,
|
|
19
19
|
className: s(
|
|
20
|
-
"flex items-center gap-3 rounded-lg bg-
|
|
21
|
-
|
|
20
|
+
"flex items-center gap-3 rounded-lg bg-wg12 px-3 py-2 text-s text-white",
|
|
21
|
+
t
|
|
22
22
|
),
|
|
23
23
|
...m,
|
|
24
24
|
children: [
|
|
25
|
-
/* @__PURE__ */
|
|
26
|
-
/* @__PURE__ */
|
|
27
|
-
|
|
28
|
-
e && /* @__PURE__ */
|
|
29
|
-
|
|
25
|
+
/* @__PURE__ */ n("span", { className: "font-normal tabular-nums", children: i ?? `${a} selected` }),
|
|
26
|
+
/* @__PURE__ */ o("div", { className: "ml-auto flex items-center gap-1", children: [
|
|
27
|
+
r,
|
|
28
|
+
e && /* @__PURE__ */ n(
|
|
29
|
+
l,
|
|
30
30
|
{
|
|
31
31
|
onClick: e,
|
|
32
|
-
className: "text-
|
|
33
|
-
children:
|
|
32
|
+
className: "text-white",
|
|
33
|
+
children: d
|
|
34
34
|
}
|
|
35
35
|
)
|
|
36
36
|
] })
|
|
@@ -38,22 +38,23 @@ const p = i.forwardRef(
|
|
|
38
38
|
}
|
|
39
39
|
)
|
|
40
40
|
);
|
|
41
|
-
|
|
42
|
-
const
|
|
43
|
-
|
|
41
|
+
b.displayName = "SelectionActionBar";
|
|
42
|
+
const l = c.forwardRef(({ className: t, variant: a = "ghost", size: i = "xs", ...r }, e) => /* @__PURE__ */ n(
|
|
43
|
+
p,
|
|
44
44
|
{
|
|
45
45
|
ref: e,
|
|
46
|
-
variant:
|
|
47
|
-
size:
|
|
46
|
+
variant: a,
|
|
47
|
+
size: i,
|
|
48
48
|
className: s(
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
// Neutral black dock: actions wash 12% White on hover, no outline.
|
|
50
|
+
"text-white enabled:hover:border-transparent enabled:hover:bg-white/12 enabled:hover:text-white enabled:active:border-transparent enabled:active:bg-white/12 focus-visible:ring-white",
|
|
51
|
+
t
|
|
51
52
|
),
|
|
52
|
-
...
|
|
53
|
+
...r
|
|
53
54
|
}
|
|
54
55
|
));
|
|
55
|
-
|
|
56
|
+
l.displayName = "SelectionActionBarAction";
|
|
56
57
|
export {
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
b as SelectionActionBar,
|
|
59
|
+
l as SelectionActionBarAction
|
|
59
60
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsxs as
|
|
3
|
-
import * as
|
|
4
|
-
import { cva as
|
|
2
|
+
import { jsxs as f, jsx as e } from "react/jsx-runtime";
|
|
3
|
+
import * as d from "react";
|
|
4
|
+
import { cva as u } from "class-variance-authority";
|
|
5
5
|
import { cn as s } from "../lib/cn.js";
|
|
6
|
-
const g =
|
|
6
|
+
const g = u(
|
|
7
7
|
[
|
|
8
8
|
"relative flex w-full items-center gap-3 rounded-md bg-transparent px-4 py-3 text-left",
|
|
9
9
|
"after:pointer-events-none after:absolute after:inset-x-4 after:bottom-0 after:z-20",
|
|
@@ -18,10 +18,10 @@ const g = p(
|
|
|
18
18
|
},
|
|
19
19
|
defaultVariants: { isPressable: !1 }
|
|
20
20
|
}
|
|
21
|
-
), v =
|
|
21
|
+
), v = d.forwardRef(
|
|
22
22
|
({ className: a, icon: r, label: t, description: n, action: i, onSelect: o, ...c }, m) => {
|
|
23
23
|
const l = !!o;
|
|
24
|
-
return /* @__PURE__ */
|
|
24
|
+
return /* @__PURE__ */ f(
|
|
25
25
|
"div",
|
|
26
26
|
{
|
|
27
27
|
ref: m,
|
|
@@ -38,7 +38,7 @@ const g = p(
|
|
|
38
38
|
className: s(
|
|
39
39
|
"absolute inset-0 rounded-md outline-none",
|
|
40
40
|
"transition-[background-color,transform] duration-150 ease-out",
|
|
41
|
-
"hover:bg-
|
|
41
|
+
"hover:bg-wg2 focus-visible:ring-3 focus-visible:ring-ring",
|
|
42
42
|
"active:scale-[0.97] motion-reduce:transition-none"
|
|
43
43
|
)
|
|
44
44
|
}
|
|
@@ -51,7 +51,7 @@ const g = p(
|
|
|
51
51
|
children: r
|
|
52
52
|
}
|
|
53
53
|
),
|
|
54
|
-
/* @__PURE__ */
|
|
54
|
+
/* @__PURE__ */ f("div", { className: "relative z-10 flex min-w-0 flex-1 flex-col gap-0.5 pointer-events-none", children: [
|
|
55
55
|
/* @__PURE__ */ e("div", { className: "min-w-0 text-base text-foreground wrap-break-word", children: t }),
|
|
56
56
|
n && /* @__PURE__ */ e("div", { className: "min-w-0 text-xs text-tertiary", children: n })
|
|
57
57
|
] }),
|
|
@@ -61,7 +61,7 @@ const g = p(
|
|
|
61
61
|
"span",
|
|
62
62
|
{
|
|
63
63
|
className: "relative z-20 shrink-0",
|
|
64
|
-
onClick: (
|
|
64
|
+
onClick: (p) => p.stopPropagation(),
|
|
65
65
|
children: i
|
|
66
66
|
}
|
|
67
67
|
)
|
|
@@ -71,7 +71,7 @@ const g = p(
|
|
|
71
71
|
}
|
|
72
72
|
);
|
|
73
73
|
v.displayName = "SettingRow";
|
|
74
|
-
const x =
|
|
74
|
+
const x = d.forwardRef(
|
|
75
75
|
({ className: a, ...r }, t) => /* @__PURE__ */ e(
|
|
76
76
|
"div",
|
|
77
77
|
{
|
package/components/sidebar.d.ts
CHANGED
|
@@ -63,6 +63,21 @@ export interface SidebarBrandProps extends React.HTMLAttributes<HTMLDivElement>
|
|
|
63
63
|
* `SidebarHeader`.
|
|
64
64
|
*/
|
|
65
65
|
export declare function SidebarBrand({ logo, href, label, showTrigger, children, className, ...props }: SidebarBrandProps): React.JSX.Element;
|
|
66
|
+
export interface SidebarWorkspaceProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
67
|
+
/** Customer workspace name. Also the logo's alt text and the tile initial. */
|
|
68
|
+
name: string;
|
|
69
|
+
/** Customer logo URL. Without it, a WG12 letter tile shows the initial. */
|
|
70
|
+
logoSrc?: string;
|
|
71
|
+
/** Show the name beside the mark. Always hidden in the collapsed rail. Default true. */
|
|
72
|
+
showName?: boolean;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Customer workspace branding for the rail's top-left brand slot: a 32px
|
|
76
|
+
* customer logo (or a WG12 letter tile when no logo is given) and the
|
|
77
|
+
* workspace name, which truncates and hides in the collapsed rail. Pass it as
|
|
78
|
+
* `SidebarBrand`'s `logo`.
|
|
79
|
+
*/
|
|
80
|
+
export declare const SidebarWorkspace: React.ForwardRefExoticComponent<SidebarWorkspaceProps & React.RefAttributes<HTMLSpanElement>>;
|
|
66
81
|
export declare const SidebarHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
67
82
|
export declare const SidebarNav: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLElement> & React.RefAttributes<HTMLElement>>;
|
|
68
83
|
export interface SidebarSectionProps extends React.HTMLAttributes<HTMLDivElement> {
|