@motiadev/ui 0.14.0-beta.165-454838 → 0.14.0-beta.165-210612
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/dist/components/ui/background-effect.d.ts +7 -4
- package/dist/components/ui/background-effect.d.ts.map +1 -1
- package/dist/components/ui/background-effect.js +35 -0
- package/dist/components/ui/background-effect.js.map +1 -0
- package/dist/components/ui/badge.d.ts +11 -8
- package/dist/components/ui/badge.d.ts.map +1 -1
- package/dist/components/ui/badge.js +61 -0
- package/dist/components/ui/badge.js.map +1 -0
- package/dist/components/ui/breadcrumb.d.ts +24 -20
- package/dist/components/ui/breadcrumb.d.ts.map +1 -1
- package/dist/components/ui/breadcrumb.js +176 -0
- package/dist/components/ui/breadcrumb.js.map +1 -0
- package/dist/components/ui/button.d.ts +14 -9
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.js +92 -0
- package/dist/components/ui/button.js.map +1 -0
- package/dist/components/ui/checkbox.d.ts +7 -3
- package/dist/components/ui/checkbox.d.ts.map +1 -1
- package/dist/components/ui/checkbox.js +57 -0
- package/dist/components/ui/checkbox.js.map +1 -0
- package/dist/components/ui/collapsible-panel.d.ts +17 -13
- package/dist/components/ui/collapsible-panel.d.ts.map +1 -1
- package/dist/components/ui/collapsible-panel.js +268 -0
- package/dist/components/ui/collapsible-panel.js.map +1 -0
- package/dist/components/ui/container.d.ts +17 -13
- package/dist/components/ui/container.d.ts.map +1 -1
- package/dist/components/ui/container.js +155 -0
- package/dist/components/ui/container.js.map +1 -0
- package/dist/components/ui/dropdown-menu.d.ts +23 -21
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/components/ui/dropdown-menu.js +482 -0
- package/dist/components/ui/dropdown-menu.js.map +1 -0
- package/dist/components/ui/empty.d.ts +34 -10
- package/dist/components/ui/empty.d.ts.map +1 -1
- package/dist/components/ui/empty.js +243 -0
- package/dist/components/ui/empty.js.map +1 -0
- package/dist/components/ui/input.d.ts +12 -8
- package/dist/components/ui/input.d.ts.map +1 -1
- package/dist/components/ui/input.js +70 -0
- package/dist/components/ui/input.js.map +1 -0
- package/dist/components/ui/label.d.ts +7 -3
- package/dist/components/ui/label.d.ts.map +1 -1
- package/dist/components/ui/label.js +47 -0
- package/dist/components/ui/label.js.map +1 -0
- package/dist/components/ui/level-dot.d.ts +7 -3
- package/dist/components/ui/level-dot.d.ts.map +1 -1
- package/dist/components/ui/level-dot.js +39 -0
- package/dist/components/ui/level-dot.js.map +1 -0
- package/dist/components/ui/panel.d.ts +32 -28
- package/dist/components/ui/panel.d.ts.map +1 -1
- package/dist/components/ui/panel.js +292 -0
- package/dist/components/ui/panel.js.map +1 -0
- package/dist/components/ui/select.d.ts +11 -13
- package/dist/components/ui/select.d.ts.map +1 -1
- package/dist/components/ui/select.js +369 -0
- package/dist/components/ui/select.js.map +1 -0
- package/dist/components/ui/side-panel-detail.d.ts +8 -5
- package/dist/components/ui/side-panel-detail.d.ts.map +1 -1
- package/dist/components/ui/side-panel-detail.js +62 -0
- package/dist/components/ui/side-panel-detail.js.map +1 -0
- package/dist/components/ui/side-panel.d.ts +18 -18
- package/dist/components/ui/side-panel.d.ts.map +1 -1
- package/dist/components/ui/side-panel.js +142 -0
- package/dist/components/ui/side-panel.js.map +1 -0
- package/dist/components/ui/sidebar.d.ts +12 -8
- package/dist/components/ui/sidebar.d.ts.map +1 -1
- package/dist/components/ui/sidebar.js +157 -0
- package/dist/components/ui/sidebar.js.map +1 -0
- package/dist/components/ui/table.d.ts +5 -4
- package/dist/components/ui/table.d.ts.map +1 -1
- package/dist/components/ui/table.js +317 -0
- package/dist/components/ui/table.js.map +1 -0
- package/dist/components/ui/tabs.d.ts +10 -6
- package/dist/components/ui/tabs.d.ts.map +1 -1
- package/dist/components/ui/tabs.js +158 -0
- package/dist/components/ui/tabs.js.map +1 -0
- package/dist/components/ui/textarea.d.ts +6 -2
- package/dist/components/ui/textarea.d.ts.map +1 -1
- package/dist/components/ui/textarea.js +46 -0
- package/dist/components/ui/textarea.js.map +1 -0
- package/dist/components/ui/tooltip.d.ts +10 -5
- package/dist/components/ui/tooltip.d.ts.map +1 -1
- package/dist/components/ui/tooltip.js +58 -0
- package/dist/components/ui/tooltip.js.map +1 -0
- package/dist/index.d.ts +24 -24
- package/dist/index.js +25 -11031
- package/dist/lib/utils.d.ts +6 -2
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +11 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/stores/use-theme-store.d.ts +22 -17
- package/dist/stores/use-theme-store.d.ts.map +1 -1
- package/dist/stores/use-theme-store.js +30 -0
- package/dist/stores/use-theme-store.js.map +1 -0
- package/dist/styles.css +2653 -0
- package/dist/styles.css.map +1 -0
- package/dist/styles.js +0 -0
- package/package.json +21 -23
- package/dist/components/ui/background-effect.stories.d.ts +0 -12
- package/dist/components/ui/background-effect.stories.d.ts.map +0 -1
- package/dist/components/ui/badge.stories.d.ts +0 -19
- package/dist/components/ui/badge.stories.d.ts.map +0 -1
- package/dist/components/ui/breadcrumb.stories.d.ts +0 -21
- package/dist/components/ui/breadcrumb.stories.d.ts.map +0 -1
- package/dist/components/ui/button.stories.d.ts +0 -25
- package/dist/components/ui/button.stories.d.ts.map +0 -1
- package/dist/components/ui/checkbox.stories.d.ts +0 -25
- package/dist/components/ui/checkbox.stories.d.ts.map +0 -1
- package/dist/components/ui/collapsible-panel.stories.d.ts +0 -12
- package/dist/components/ui/collapsible-panel.stories.d.ts.map +0 -1
- package/dist/components/ui/container.stories.d.ts +0 -10
- package/dist/components/ui/container.stories.d.ts.map +0 -1
- package/dist/components/ui/dropdown-menu.stories.d.ts +0 -18
- package/dist/components/ui/dropdown-menu.stories.d.ts.map +0 -1
- package/dist/components/ui/input.stories.d.ts +0 -23
- package/dist/components/ui/input.stories.d.ts.map +0 -1
- package/dist/components/ui/label.stories.d.ts +0 -17
- package/dist/components/ui/label.stories.d.ts.map +0 -1
- package/dist/components/ui/level-dot.stories.d.ts +0 -19
- package/dist/components/ui/level-dot.stories.d.ts.map +0 -1
- package/dist/components/ui/panel.stories.d.ts +0 -24
- package/dist/components/ui/panel.stories.d.ts.map +0 -1
- package/dist/components/ui/select.stories.d.ts +0 -18
- package/dist/components/ui/select.stories.d.ts.map +0 -1
- package/dist/components/ui/side-panel-detail.stories.d.ts +0 -12
- package/dist/components/ui/side-panel-detail.stories.d.ts.map +0 -1
- package/dist/components/ui/side-panel.stories.d.ts +0 -13
- package/dist/components/ui/side-panel.stories.d.ts.map +0 -1
- package/dist/components/ui/sidebar.stories.d.ts +0 -14
- package/dist/components/ui/sidebar.stories.d.ts.map +0 -1
- package/dist/components/ui/table.stories.d.ts +0 -18
- package/dist/components/ui/table.stories.d.ts.map +0 -1
- package/dist/components/ui/tabs.stories.d.ts +0 -16
- package/dist/components/ui/tabs.stories.d.ts.map +0 -1
- package/dist/components/ui/textarea.stories.d.ts +0 -21
- package/dist/components/ui/textarea.stories.d.ts.map +0 -1
- package/dist/components/ui/tooltip.stories.d.ts +0 -21
- package/dist/components/ui/tooltip.stories.d.ts.map +0 -1
- package/dist/index.cjs +0 -122
- package/dist/index.d.ts.map +0 -1
- package/dist/ui.css +0 -1
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
import { BackgroundEffect } from "./background-effect.js";
|
|
2
|
+
import { cn } from "../../lib/utils.js";
|
|
3
|
+
import { Button } from "./button.js";
|
|
4
|
+
import { Tabs, TabsContent, TabsList, TabsTrigger } from "./tabs.js";
|
|
5
|
+
import { c } from "react/compiler-runtime";
|
|
6
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
|
|
8
|
+
//#region src/components/ui/panel.tsx
|
|
9
|
+
const panelVariants = {
|
|
10
|
+
default: "bg-transparent border border-border",
|
|
11
|
+
outlined: "bg-transparent border border-border",
|
|
12
|
+
filled: "bg-muted border border-transparent",
|
|
13
|
+
ghost: "bg-transparent border-transparent shadow-none"
|
|
14
|
+
};
|
|
15
|
+
const PanelDetailItem = (t0) => {
|
|
16
|
+
const $ = c(15);
|
|
17
|
+
if ($[0] !== "b3b7236dd5fadd4d6212298d092e19d59c580762f7498864f6e887d5ae5a53c3") {
|
|
18
|
+
for (let $i = 0; $i < 15; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
|
|
19
|
+
$[0] = "b3b7236dd5fadd4d6212298d092e19d59c580762f7498864f6e887d5ae5a53c3";
|
|
20
|
+
}
|
|
21
|
+
const { label, value, highlighted } = t0;
|
|
22
|
+
let t1;
|
|
23
|
+
if ($[1] !== label) {
|
|
24
|
+
t1 = /* @__PURE__ */ jsx("div", {
|
|
25
|
+
className: "flex items-center h-8 shrink-0",
|
|
26
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
27
|
+
className: "text-sm font-medium text-foreground tracking-[-0.25px] w-24 truncate",
|
|
28
|
+
children: label
|
|
29
|
+
})
|
|
30
|
+
});
|
|
31
|
+
$[1] = label;
|
|
32
|
+
$[2] = t1;
|
|
33
|
+
} else t1 = $[2];
|
|
34
|
+
const t2 = highlighted && "bg-secondary";
|
|
35
|
+
let t3;
|
|
36
|
+
if ($[3] !== t2) {
|
|
37
|
+
t3 = cn("flex-1 rounded-lg px-2 py-1 min-h-6", t2);
|
|
38
|
+
$[3] = t2;
|
|
39
|
+
$[4] = t3;
|
|
40
|
+
} else t3 = $[4];
|
|
41
|
+
let t4;
|
|
42
|
+
if ($[5] !== value) {
|
|
43
|
+
t4 = typeof value === "string" ? /* @__PURE__ */ jsx("span", {
|
|
44
|
+
className: "text-sm font-medium text-muted-foreground tracking-[-0.25px] leading-tight",
|
|
45
|
+
children: value
|
|
46
|
+
}) : value;
|
|
47
|
+
$[5] = value;
|
|
48
|
+
$[6] = t4;
|
|
49
|
+
} else t4 = $[6];
|
|
50
|
+
let t5;
|
|
51
|
+
if ($[7] !== t4) {
|
|
52
|
+
t5 = /* @__PURE__ */ jsx("div", {
|
|
53
|
+
className: "flex items-center min-h-6",
|
|
54
|
+
children: t4
|
|
55
|
+
});
|
|
56
|
+
$[7] = t4;
|
|
57
|
+
$[8] = t5;
|
|
58
|
+
} else t5 = $[8];
|
|
59
|
+
let t6;
|
|
60
|
+
if ($[9] !== t3 || $[10] !== t5) {
|
|
61
|
+
t6 = /* @__PURE__ */ jsx("div", {
|
|
62
|
+
className: t3,
|
|
63
|
+
children: t5
|
|
64
|
+
});
|
|
65
|
+
$[9] = t3;
|
|
66
|
+
$[10] = t5;
|
|
67
|
+
$[11] = t6;
|
|
68
|
+
} else t6 = $[11];
|
|
69
|
+
let t7;
|
|
70
|
+
if ($[12] !== t1 || $[13] !== t6) {
|
|
71
|
+
t7 = /* @__PURE__ */ jsxs("div", {
|
|
72
|
+
className: "flex gap-4 items-start",
|
|
73
|
+
children: [t1, t6]
|
|
74
|
+
});
|
|
75
|
+
$[12] = t1;
|
|
76
|
+
$[13] = t6;
|
|
77
|
+
$[14] = t7;
|
|
78
|
+
} else t7 = $[14];
|
|
79
|
+
return t7;
|
|
80
|
+
};
|
|
81
|
+
const Panel = (t0) => {
|
|
82
|
+
const $ = c(48);
|
|
83
|
+
if ($[0] !== "b3b7236dd5fadd4d6212298d092e19d59c580762f7498864f6e887d5ae5a53c3") {
|
|
84
|
+
for (let $i = 0; $i < 48; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
|
|
85
|
+
$[0] = "b3b7236dd5fadd4d6212298d092e19d59c580762f7498864f6e887d5ae5a53c3";
|
|
86
|
+
}
|
|
87
|
+
const { "data-testid": dataTestId, title, subtitle, details, actions, className, children, size, variant: t1, contentClassName, tabs } = t0;
|
|
88
|
+
const variant = t1 === void 0 ? "default" : t1;
|
|
89
|
+
const hasTabs = tabs && tabs.length > 0;
|
|
90
|
+
let t2;
|
|
91
|
+
bb0: {
|
|
92
|
+
let t3$1;
|
|
93
|
+
if ($[1] !== hasTabs || $[2] !== tabs || $[3] !== variant) {
|
|
94
|
+
t3$1 = hasTabs && /* @__PURE__ */ jsx(TabsList, {
|
|
95
|
+
className: cn("bg-card border-b border-border px-1 pt-5", { "bg-transparent": variant === "ghost" }),
|
|
96
|
+
children: tabs?.map(_temp)
|
|
97
|
+
});
|
|
98
|
+
$[1] = hasTabs;
|
|
99
|
+
$[2] = tabs;
|
|
100
|
+
$[3] = variant;
|
|
101
|
+
$[4] = t3$1;
|
|
102
|
+
} else t3$1 = $[4];
|
|
103
|
+
let t4$1;
|
|
104
|
+
if ($[5] !== contentClassName) {
|
|
105
|
+
t4$1 = cn("flex flex-col gap-2 p-4 h-full", contentClassName);
|
|
106
|
+
$[5] = contentClassName;
|
|
107
|
+
$[6] = t4$1;
|
|
108
|
+
} else t4$1 = $[6];
|
|
109
|
+
let t5$1;
|
|
110
|
+
if ($[7] !== details) {
|
|
111
|
+
t5$1 = details?.map(_temp2);
|
|
112
|
+
$[7] = details;
|
|
113
|
+
$[8] = t5$1;
|
|
114
|
+
} else t5$1 = $[8];
|
|
115
|
+
let t6$1;
|
|
116
|
+
if ($[9] !== hasTabs || $[10] !== tabs) {
|
|
117
|
+
t6$1 = hasTabs && tabs.map(_temp3);
|
|
118
|
+
$[9] = hasTabs;
|
|
119
|
+
$[10] = tabs;
|
|
120
|
+
$[11] = t6$1;
|
|
121
|
+
} else t6$1 = $[11];
|
|
122
|
+
let t7$1;
|
|
123
|
+
if ($[12] !== children || $[13] !== t4$1 || $[14] !== t5$1 || $[15] !== t6$1) {
|
|
124
|
+
t7$1 = /* @__PURE__ */ jsxs("div", {
|
|
125
|
+
className: t4$1,
|
|
126
|
+
children: [
|
|
127
|
+
t5$1,
|
|
128
|
+
t6$1,
|
|
129
|
+
children
|
|
130
|
+
]
|
|
131
|
+
});
|
|
132
|
+
$[12] = children;
|
|
133
|
+
$[13] = t4$1;
|
|
134
|
+
$[14] = t5$1;
|
|
135
|
+
$[15] = t6$1;
|
|
136
|
+
$[16] = t7$1;
|
|
137
|
+
} else t7$1 = $[16];
|
|
138
|
+
let t8$1;
|
|
139
|
+
if ($[17] !== t3$1 || $[18] !== t7$1) {
|
|
140
|
+
t8$1 = /* @__PURE__ */ jsxs(Fragment, { children: [t3$1, t7$1] });
|
|
141
|
+
$[17] = t3$1;
|
|
142
|
+
$[18] = t7$1;
|
|
143
|
+
$[19] = t8$1;
|
|
144
|
+
} else t8$1 = $[19];
|
|
145
|
+
const _view = t8$1;
|
|
146
|
+
if (hasTabs) {
|
|
147
|
+
const t9$1 = tabs?.[0]?.label;
|
|
148
|
+
let t10$1;
|
|
149
|
+
if ($[20] !== _view || $[21] !== t9$1) {
|
|
150
|
+
t10$1 = /* @__PURE__ */ jsx(Tabs, {
|
|
151
|
+
defaultValue: t9$1,
|
|
152
|
+
children: _view
|
|
153
|
+
});
|
|
154
|
+
$[20] = _view;
|
|
155
|
+
$[21] = t9$1;
|
|
156
|
+
$[22] = t10$1;
|
|
157
|
+
} else t10$1 = $[22];
|
|
158
|
+
t2 = t10$1;
|
|
159
|
+
break bb0;
|
|
160
|
+
}
|
|
161
|
+
t2 = _view;
|
|
162
|
+
}
|
|
163
|
+
const content = t2;
|
|
164
|
+
const t3 = panelVariants[variant];
|
|
165
|
+
let t4;
|
|
166
|
+
if ($[23] !== className || $[24] !== t3) {
|
|
167
|
+
t4 = cn("relative isolate size-full backdrop-blur-[48px] backdrop-filter", "text-foreground", "rounded-lg overflow-hidden", t3, className);
|
|
168
|
+
$[23] = className;
|
|
169
|
+
$[24] = t3;
|
|
170
|
+
$[25] = t4;
|
|
171
|
+
} else t4 = $[25];
|
|
172
|
+
let t5;
|
|
173
|
+
if ($[26] === Symbol.for("react.memo_cache_sentinel")) {
|
|
174
|
+
t5 = /* @__PURE__ */ jsx(BackgroundEffect, {});
|
|
175
|
+
$[26] = t5;
|
|
176
|
+
} else t5 = $[26];
|
|
177
|
+
const t6 = variant === "ghost";
|
|
178
|
+
let t7;
|
|
179
|
+
if ($[27] !== hasTabs || $[28] !== t6) {
|
|
180
|
+
t7 = cn("relative shrink-0 w-full border-b border-border bg-card", {
|
|
181
|
+
"bg-transparent": t6,
|
|
182
|
+
"border-b-0": hasTabs
|
|
183
|
+
});
|
|
184
|
+
$[27] = hasTabs;
|
|
185
|
+
$[28] = t6;
|
|
186
|
+
$[29] = t7;
|
|
187
|
+
} else t7 = $[29];
|
|
188
|
+
let t8;
|
|
189
|
+
if ($[30] !== actions || $[31] !== hasTabs || $[32] !== size || $[33] !== subtitle || $[34] !== title) {
|
|
190
|
+
t8 = title && /* @__PURE__ */ jsxs("div", {
|
|
191
|
+
className: cn("flex flex-col gap-1 px-5 py-4", {
|
|
192
|
+
"px-4 py-3": size === "sm",
|
|
193
|
+
"px-5 py-4": size === "md",
|
|
194
|
+
"pb-0": hasTabs
|
|
195
|
+
}),
|
|
196
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
197
|
+
className: "flex items-center w-full",
|
|
198
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
199
|
+
className: cn("font-semibold text-foreground tracking-[-0.25px] leading-tight flex-1", size === "sm" ? "text-xs" : "text-base"),
|
|
200
|
+
children: title
|
|
201
|
+
}), actions && actions.length > 0 && /* @__PURE__ */ jsx("div", {
|
|
202
|
+
className: "flex items-center gap-1",
|
|
203
|
+
children: actions.map(_temp4)
|
|
204
|
+
})]
|
|
205
|
+
}), subtitle && /* @__PURE__ */ jsx("p", {
|
|
206
|
+
className: "text-sm font-medium text-muted-foreground tracking-[-0.25px] leading-tight",
|
|
207
|
+
children: subtitle
|
|
208
|
+
})]
|
|
209
|
+
});
|
|
210
|
+
$[30] = actions;
|
|
211
|
+
$[31] = hasTabs;
|
|
212
|
+
$[32] = size;
|
|
213
|
+
$[33] = subtitle;
|
|
214
|
+
$[34] = title;
|
|
215
|
+
$[35] = t8;
|
|
216
|
+
} else t8 = $[35];
|
|
217
|
+
let t9;
|
|
218
|
+
if ($[36] !== t7 || $[37] !== t8) {
|
|
219
|
+
t9 = /* @__PURE__ */ jsx("div", {
|
|
220
|
+
className: t7,
|
|
221
|
+
children: t8
|
|
222
|
+
});
|
|
223
|
+
$[36] = t7;
|
|
224
|
+
$[37] = t8;
|
|
225
|
+
$[38] = t9;
|
|
226
|
+
} else t9 = $[38];
|
|
227
|
+
let t10;
|
|
228
|
+
if ($[39] !== content) {
|
|
229
|
+
t10 = /* @__PURE__ */ jsx("div", {
|
|
230
|
+
className: "flex-1 overflow-auto",
|
|
231
|
+
children: content
|
|
232
|
+
});
|
|
233
|
+
$[39] = content;
|
|
234
|
+
$[40] = t10;
|
|
235
|
+
} else t10 = $[40];
|
|
236
|
+
let t11;
|
|
237
|
+
if ($[41] !== t10 || $[42] !== t9) {
|
|
238
|
+
t11 = /* @__PURE__ */ jsxs("div", {
|
|
239
|
+
className: "flex flex-col size-full",
|
|
240
|
+
children: [t9, t10]
|
|
241
|
+
});
|
|
242
|
+
$[41] = t10;
|
|
243
|
+
$[42] = t9;
|
|
244
|
+
$[43] = t11;
|
|
245
|
+
} else t11 = $[43];
|
|
246
|
+
let t12;
|
|
247
|
+
if ($[44] !== dataTestId || $[45] !== t11 || $[46] !== t4) {
|
|
248
|
+
t12 = /* @__PURE__ */ jsxs("div", {
|
|
249
|
+
className: t4,
|
|
250
|
+
"data-testid": dataTestId,
|
|
251
|
+
children: [t5, t11]
|
|
252
|
+
});
|
|
253
|
+
$[44] = dataTestId;
|
|
254
|
+
$[45] = t11;
|
|
255
|
+
$[46] = t4;
|
|
256
|
+
$[47] = t12;
|
|
257
|
+
} else t12 = $[47];
|
|
258
|
+
return t12;
|
|
259
|
+
};
|
|
260
|
+
Panel.displayName = "Panel";
|
|
261
|
+
function _temp(tab) {
|
|
262
|
+
return /* @__PURE__ */ jsx(TabsTrigger, {
|
|
263
|
+
value: tab.label,
|
|
264
|
+
"data-testid": tab["data-testid"],
|
|
265
|
+
className: "cursor-pointer",
|
|
266
|
+
children: tab.labelComponent || tab.label
|
|
267
|
+
}, tab.label);
|
|
268
|
+
}
|
|
269
|
+
function _temp2(detail, index) {
|
|
270
|
+
return /* @__PURE__ */ jsx(PanelDetailItem, { ...detail }, index);
|
|
271
|
+
}
|
|
272
|
+
function _temp3(tab_0) {
|
|
273
|
+
return /* @__PURE__ */ jsx(TabsContent, {
|
|
274
|
+
value: tab_0.label,
|
|
275
|
+
children: tab_0.content
|
|
276
|
+
}, tab_0.label);
|
|
277
|
+
}
|
|
278
|
+
function _temp4(action, index_0) {
|
|
279
|
+
return /* @__PURE__ */ jsx(Button, {
|
|
280
|
+
onClick: action.onClick,
|
|
281
|
+
variant: "ghost",
|
|
282
|
+
className: cn(action.active && "bg-muted-foreground/20 hover:bg-muted-foreground/30"),
|
|
283
|
+
size: "icon",
|
|
284
|
+
"aria-label": action.label,
|
|
285
|
+
"data-testid": "close-panel",
|
|
286
|
+
children: action.icon
|
|
287
|
+
}, index_0);
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
//#endregion
|
|
291
|
+
export { Panel, PanelDetailItem };
|
|
292
|
+
//# sourceMappingURL=panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"panel.js","names":["FC","ReactNode","useMemo","cn","BackgroundEffect","Button","Tabs","TabsContent","TabsList","TabsTrigger","PanelDetailItemProps","label","value","highlighted","PanelAction","active","icon","onClick","PanelProps","title","subtitle","details","actions","className","children","size","variant","tabs","labelComponent","content","contentClassName","panelVariants","default","outlined","filled","ghost","PanelDetailItem","t0","$","_c","$i","Symbol","for","t1","t2","t3","t4","t5","t6","t7","Panel","dataTestId","undefined","hasTabs","length","bb0","map","_temp","_temp2","_temp3","t8","_view","t9","t10","_temp4","t11","t12","displayName","tab","detail","index","tab_0","action","index_0"],"sources":["../../../src/components/ui/panel.tsx"],"sourcesContent":["import { type FC, type ReactNode, useMemo } from 'react'\nimport { cn } from '../../lib/utils'\nimport { BackgroundEffect } from './background-effect'\nimport { Button } from './button'\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from './tabs'\n\nexport interface PanelDetailItemProps {\n label: string | ReactNode\n value: string | ReactNode\n highlighted?: boolean\n}\n\nexport interface PanelAction {\n active?: boolean\n icon: ReactNode\n onClick: () => void\n label?: string\n}\n\nexport interface PanelProps {\n 'data-testid'?: string\n title?: ReactNode\n subtitle?: ReactNode\n details?: PanelDetailItemProps[]\n actions?: PanelAction[]\n className?: string\n children?: ReactNode\n size?: 'sm' | 'md'\n variant?: 'default' | 'outlined' | 'filled' | 'ghost'\n tabs?: {\n label: string\n labelComponent?: ReactNode\n content: ReactNode\n 'data-testid'?: string\n }[]\n contentClassName?: string\n}\n\nconst panelVariants = {\n default: 'bg-transparent border border-border',\n outlined: 'bg-transparent border border-border',\n filled: 'bg-muted border border-transparent',\n ghost: 'bg-transparent border-transparent shadow-none',\n}\n\nexport const PanelDetailItem: FC<PanelDetailItemProps> = ({ label, value, highlighted }) => {\n return (\n <div className=\"flex gap-4 items-start\">\n <div className=\"flex items-center h-8 shrink-0\">\n <span className=\"text-sm font-medium text-foreground tracking-[-0.25px] w-24 truncate\">{label}</span>\n </div>\n <div className={cn('flex-1 rounded-lg px-2 py-1 min-h-6', highlighted && 'bg-secondary')}>\n <div className=\"flex items-center min-h-6\">\n {typeof value === 'string' ? (\n <span className=\"text-sm font-medium text-muted-foreground tracking-[-0.25px] leading-tight\">{value}</span>\n ) : (\n value\n )}\n </div>\n </div>\n </div>\n )\n}\n\nexport const Panel: FC<PanelProps> = ({\n 'data-testid': dataTestId,\n title,\n subtitle,\n details,\n actions,\n className,\n children,\n size,\n variant = 'default',\n contentClassName,\n tabs,\n}) => {\n const hasTabs = tabs && tabs.length > 0\n\n const content = useMemo(() => {\n const _view = (\n <>\n {hasTabs && (\n <TabsList\n className={cn('bg-card border-b border-border px-1 pt-5', {\n 'bg-transparent': variant === 'ghost',\n })}\n >\n {tabs?.map((tab) => (\n <TabsTrigger\n key={tab.label}\n value={tab.label}\n data-testid={tab['data-testid']}\n className=\"cursor-pointer\"\n >\n {tab.labelComponent || tab.label}\n </TabsTrigger>\n ))}\n </TabsList>\n )}\n <div className={cn('flex flex-col gap-2 p-4 h-full', contentClassName)}>\n {details?.map((detail, index) => (\n <PanelDetailItem key={index} {...detail} />\n ))}\n\n {hasTabs &&\n tabs.map((tab) => (\n <TabsContent key={tab.label} value={tab.label}>\n {tab.content}\n </TabsContent>\n ))}\n\n {children}\n </div>\n </>\n )\n\n if (hasTabs) {\n return <Tabs defaultValue={tabs?.[0]?.label}>{_view}</Tabs>\n }\n\n return _view\n }, [tabs, variant, size, title, subtitle, details, actions, contentClassName, children, hasTabs])\n\n return (\n <div\n className={cn(\n 'relative isolate size-full backdrop-blur-[48px] backdrop-filter',\n 'text-foreground',\n 'rounded-lg overflow-hidden',\n panelVariants[variant],\n className,\n )}\n data-testid={dataTestId}\n >\n <BackgroundEffect />\n <div className=\"flex flex-col size-full\">\n <div\n className={cn('relative shrink-0 w-full border-b border-border bg-card', {\n 'bg-transparent': variant === 'ghost',\n 'border-b-0': hasTabs,\n })}\n >\n {title && (\n <div\n className={cn('flex flex-col gap-1 px-5 py-4', {\n 'px-4 py-3': size === 'sm',\n 'px-5 py-4': size === 'md',\n 'pb-0': hasTabs,\n })}\n >\n <div className=\"flex items-center w-full\">\n <div\n className={cn(\n 'font-semibold text-foreground tracking-[-0.25px] leading-tight flex-1',\n size === 'sm' ? 'text-xs' : 'text-base',\n )}\n >\n {title}\n </div>\n {actions && actions.length > 0 && (\n <div className=\"flex items-center gap-1\">\n {actions.map((action, index) => (\n <Button\n key={index}\n onClick={action.onClick}\n variant=\"ghost\"\n className={cn(action.active && 'bg-muted-foreground/20 hover:bg-muted-foreground/30')}\n size=\"icon\"\n aria-label={action.label}\n data-testid=\"close-panel\"\n >\n {action.icon}\n </Button>\n ))}\n </div>\n )}\n </div>\n {subtitle && (\n <p className=\"text-sm font-medium text-muted-foreground tracking-[-0.25px] leading-tight\">{subtitle}</p>\n )}\n </div>\n )}\n </div>\n\n <div className=\"flex-1 overflow-auto\">{content}</div>\n </div>\n </div>\n )\n}\n\nPanel.displayName = 'Panel'\n"],"mappings":"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"}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
declare const
|
|
6
|
-
declare const
|
|
7
|
-
declare const
|
|
8
|
-
declare const
|
|
9
|
-
declare const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
declare const SelectSeparator: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
-
export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton, };
|
|
1
|
+
import * as React$1 from "react";
|
|
2
|
+
import * as SelectPrimitive from "@radix-ui/react-select";
|
|
3
|
+
|
|
4
|
+
//#region src/components/ui/select.d.ts
|
|
5
|
+
declare const Select: React$1.FC<SelectPrimitive.SelectProps>;
|
|
6
|
+
declare const SelectValue: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React$1.RefAttributes<HTMLSpanElement>>;
|
|
7
|
+
declare const SelectTrigger: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
8
|
+
declare const SelectContent: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
9
|
+
declare const SelectItem: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { Select, SelectContent, SelectItem, SelectTrigger, SelectValue };
|
|
14
12
|
//# sourceMappingURL=select.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.d.ts","
|
|
1
|
+
{"version":3,"file":"select.d.ts","names":[],"sources":["../../../src/components/ui/select.tsx"],"sourcesContent":[],"mappings":";;;;cAMM,QAAM,OAAA,CAAA,GAAA,eAAA,CAAA;AAJkB,cAQxB,WAJM,EAIK,OAAA,CAAA,yBAJL,CAIK,eAAA,CAAA,gBAJL,GAIK,OAAA,CAAA,aAJL,CAIK,eAJL,CAAA,CAAA;AAEK,cAIX,aAFmC,EAEtB,OAAA,CAAA,yBAFsB,CAEtB,IAFsB,CAEtB,eAAA,CAAA,kBAFsB,GAEtB,OAAA,CAAA,aAFsB,CAEtB,iBAFsB,CAAA,EAAA,KAAA,CAAA,GAEtB,OAAA,CAAA,aAFsB,CAEtB,iBAFsB,CAAA,CAAA;cAkDnC,aAlDW,EAkDE,OAAA,CAAA,yBAlDF,CAkDE,IAlDF,CAkDE,eAAA,CAAA,kBAlDF,GAkDE,OAAA,CAAA,aAlDF,CAkDE,cAlDF,CAAA,EAAA,KAAA,CAAA,GAkDE,OAAA,CAAA,aAlDF,CAkDE,cAlDF,CAAA,CAAA;cA0FX,UA1FW,EA0FD,OAAA,CAAA,yBA1FC,CA0FD,IA1FC,CA0FD,eAAA,CAAA,eA1FC,GA0FD,OAAA,CAAA,aA1FC,CA0FD,cA1FC,CAAA,EAAA,KAAA,CAAA,GA0FD,OAAA,CAAA,aA1FC,CA0FD,cA1FC,CAAA,CAAA"}
|