@motiadev/ui 0.14.0-beta.165-256670 → 0.14.0-beta.165-246284
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.js +9 -5
- package/dist/components/ui/background-effect.js.map +1 -1
- package/dist/components/ui/badge.js +23 -19
- package/dist/components/ui/badge.js.map +1 -1
- package/dist/components/ui/breadcrumb.js +69 -61
- package/dist/components/ui/breadcrumb.js.map +1 -1
- package/dist/components/ui/button.js +30 -26
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/checkbox.js +23 -19
- package/dist/components/ui/checkbox.js.map +1 -1
- package/dist/components/ui/collapsible-panel.js +110 -94
- package/dist/components/ui/collapsible-panel.js.map +1 -1
- package/dist/components/ui/container.js +75 -63
- package/dist/components/ui/container.js.map +1 -1
- package/dist/components/ui/dropdown-menu.js +261 -209
- package/dist/components/ui/dropdown-menu.js.map +1 -1
- package/dist/components/ui/empty.js +124 -100
- package/dist/components/ui/empty.js.map +1 -1
- package/dist/components/ui/input.js +27 -23
- package/dist/components/ui/input.js.map +1 -1
- package/dist/components/ui/label.js +20 -16
- package/dist/components/ui/label.js.map +1 -1
- package/dist/components/ui/level-dot.js +13 -9
- package/dist/components/ui/level-dot.js.map +1 -1
- package/dist/components/ui/panel.js +113 -105
- package/dist/components/ui/panel.js.map +1 -1
- package/dist/components/ui/select.js +191 -163
- package/dist/components/ui/select.js.map +1 -1
- package/dist/components/ui/side-panel-detail.js +27 -19
- package/dist/components/ui/side-panel-detail.js.map +1 -1
- package/dist/components/ui/side-panel.js +57 -53
- package/dist/components/ui/side-panel.js.map +1 -1
- package/dist/components/ui/sidebar.js +63 -59
- package/dist/components/ui/sidebar.js.map +1 -1
- package/dist/components/ui/table.js +168 -136
- package/dist/components/ui/table.js.map +1 -1
- package/dist/components/ui/tabs.js +80 -64
- package/dist/components/ui/tabs.js.map +1 -1
- package/dist/components/ui/textarea.js +20 -16
- package/dist/components/ui/textarea.js.map +1 -1
- package/dist/components/ui/tooltip.js +24 -20
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/styles.css +10 -4
- package/dist/styles.css.map +1 -1
- package/package.json +2 -2
|
@@ -12,21 +12,25 @@ const badgeVariants = cva("text-xs font-medium tracking-wide rounded-full h-[6px
|
|
|
12
12
|
warn: "bg-[#F59F0B] outline-[#F59F0B]/20"
|
|
13
13
|
} } });
|
|
14
14
|
const LevelDot = (t0) => {
|
|
15
|
-
const $ = c(
|
|
15
|
+
const $ = c(5);
|
|
16
|
+
if ($[0] !== "287e910b40d2d16a0ea10c860e841aec14db3697fd5534011c819d5b26df8ac1") {
|
|
17
|
+
for (let $i = 0; $i < 5; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
|
|
18
|
+
$[0] = "287e910b40d2d16a0ea10c860e841aec14db3697fd5534011c819d5b26df8ac1";
|
|
19
|
+
}
|
|
16
20
|
const { level } = t0;
|
|
17
21
|
const t1 = level;
|
|
18
22
|
let t2;
|
|
19
|
-
if ($[
|
|
23
|
+
if ($[1] !== t1) {
|
|
20
24
|
t2 = badgeVariants({ variant: t1 });
|
|
21
|
-
$[
|
|
22
|
-
$[
|
|
23
|
-
} else t2 = $[
|
|
25
|
+
$[1] = t1;
|
|
26
|
+
$[2] = t2;
|
|
27
|
+
} else t2 = $[2];
|
|
24
28
|
let t3;
|
|
25
|
-
if ($[
|
|
29
|
+
if ($[3] !== t2) {
|
|
26
30
|
t3 = /* @__PURE__ */ jsx("div", { className: t2 });
|
|
27
|
-
$[
|
|
28
|
-
$[
|
|
29
|
-
} else t3 = $[
|
|
31
|
+
$[3] = t2;
|
|
32
|
+
$[4] = t3;
|
|
33
|
+
} else t3 = $[4];
|
|
30
34
|
return t3;
|
|
31
35
|
};
|
|
32
36
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"level-dot.js","names":["cva","VariantProps","React","badgeVariants","variants","variant","info","trace","debug","error","fatal","warn","LevelDot","FC","level","t0","$","_c","t1","t2","t3"],"sources":["../../../src/components/ui/level-dot.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority'\nimport type * as React from 'react'\n\nconst badgeVariants = cva('text-xs font-medium tracking-wide rounded-full h-[6px] w-[6px] m-[4px] outline-[2px]', {\n variants: {\n variant: {\n info: 'bg-[#2862FE] outline-[#2862FE]/20',\n trace: 'bg-[#2862FE] outline-[#2862FE]/20',\n debug: 'bg-[#2862FE] outline-[#2862FE]/20',\n error: 'bg-[#E22A6D] outline-[#E22A6D]/20',\n fatal: 'bg-[#E22A6D] outline-[#E22A6D]/20',\n warn: 'bg-[#F59F0B] outline-[#F59F0B]/20',\n },\n },\n})\n\nexport const LevelDot: React.FC<{ level: string }> = ({ level }) => {\n return <div className={badgeVariants({ variant: level as VariantProps<typeof badgeVariants>['variant'] })} />\n}\n"],"mappings":";;;;;AAGA,MAAMG,gBAAgBH,IAAI,wFAAwF,EAChHI,UAAU,EACRC,SAAS;CACPC,MAAM;CACNC,OAAO;CACPC,OAAO;CACPC,OAAO;CACPC,OAAO;CACPC,MAAM;CACR,EACF,EACD,CAAC;AAEF,MAAaC,YAAwCG,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,
|
|
1
|
+
{"version":3,"file":"level-dot.js","names":["cva","VariantProps","React","badgeVariants","variants","variant","info","trace","debug","error","fatal","warn","LevelDot","FC","level","t0","$","_c","$i","Symbol","for","t1","t2","t3"],"sources":["../../../src/components/ui/level-dot.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority'\nimport type * as React from 'react'\n\nconst badgeVariants = cva('text-xs font-medium tracking-wide rounded-full h-[6px] w-[6px] m-[4px] outline-[2px]', {\n variants: {\n variant: {\n info: 'bg-[#2862FE] outline-[#2862FE]/20',\n trace: 'bg-[#2862FE] outline-[#2862FE]/20',\n debug: 'bg-[#2862FE] outline-[#2862FE]/20',\n error: 'bg-[#E22A6D] outline-[#E22A6D]/20',\n fatal: 'bg-[#E22A6D] outline-[#E22A6D]/20',\n warn: 'bg-[#F59F0B] outline-[#F59F0B]/20',\n },\n },\n})\n\nexport const LevelDot: React.FC<{ level: string }> = ({ level }) => {\n return <div className={badgeVariants({ variant: level as VariantProps<typeof badgeVariants>['variant'] })} />\n}\n"],"mappings":";;;;;AAGA,MAAMG,gBAAgBH,IAAI,wFAAwF,EAChHI,UAAU,EACRC,SAAS;CACPC,MAAM;CACNC,OAAO;CACPC,OAAO;CACPC,OAAO;CACPC,OAAO;CACPC,MAAM;CACR,EACF,EACD,CAAC;AAEF,MAAaC,YAAwCG,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;AAAA,KAAAD,EAAA,OAAA,oEAAA;AAAA,OAAA,IAAAE,KAAA,GAAAA,KAAA,GAAAA,MAAA,EAAAF,GAAAE,MAAAC,OAAAC,IAAA,4BAAA;AAAAJ,IAAA,KAAA;;CAAC,MAAA,EAAAF,UAAAC;CACJ,MAAAM,KAAAP;CAAsD,IAAAQ;AAAA,KAAAN,EAAA,OAAAK,IAAA;AAA/EC,OAAAnB,cAAc,EAAAE,SAAWgB,IAAwD,CAAC;AAAAL,IAAA,KAAAK;AAAAL,IAAA,KAAAM;OAAAA,MAAAN,EAAA;CAAA,IAAAO;AAAA,KAAAP,EAAA,OAAAM,IAAA;AAAlGC,OAAA,oBAAA,SAAgB,WAAAD,KAAsF;AAAAN,IAAA,KAAAM;AAAAN,IAAA,KAAAO;OAAAA,MAAAP,EAAA;AAAA,QAAtGO"}
|
|
@@ -13,10 +13,14 @@ const panelVariants = {
|
|
|
13
13
|
ghost: "bg-transparent border-transparent shadow-none"
|
|
14
14
|
};
|
|
15
15
|
const PanelDetailItem = (t0) => {
|
|
16
|
-
const $ = c(
|
|
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
|
+
}
|
|
17
21
|
const { label, value, highlighted } = t0;
|
|
18
22
|
let t1;
|
|
19
|
-
if ($[
|
|
23
|
+
if ($[1] !== label) {
|
|
20
24
|
t1 = /* @__PURE__ */ jsx("div", {
|
|
21
25
|
className: "flex items-center h-8 shrink-0",
|
|
22
26
|
children: /* @__PURE__ */ jsx("span", {
|
|
@@ -24,95 +28,99 @@ const PanelDetailItem = (t0) => {
|
|
|
24
28
|
children: label
|
|
25
29
|
})
|
|
26
30
|
});
|
|
27
|
-
$[
|
|
28
|
-
$[
|
|
29
|
-
} else t1 = $[
|
|
31
|
+
$[1] = label;
|
|
32
|
+
$[2] = t1;
|
|
33
|
+
} else t1 = $[2];
|
|
30
34
|
const t2 = highlighted && "bg-secondary";
|
|
31
35
|
let t3;
|
|
32
|
-
if ($[
|
|
36
|
+
if ($[3] !== t2) {
|
|
33
37
|
t3 = cn("flex-1 rounded-lg px-2 py-1 min-h-6", t2);
|
|
34
|
-
$[
|
|
35
|
-
$[
|
|
36
|
-
} else t3 = $[
|
|
38
|
+
$[3] = t2;
|
|
39
|
+
$[4] = t3;
|
|
40
|
+
} else t3 = $[4];
|
|
37
41
|
let t4;
|
|
38
|
-
if ($[
|
|
42
|
+
if ($[5] !== value) {
|
|
39
43
|
t4 = typeof value === "string" ? /* @__PURE__ */ jsx("span", {
|
|
40
44
|
className: "text-sm font-medium text-muted-foreground tracking-[-0.25px] leading-tight",
|
|
41
45
|
children: value
|
|
42
46
|
}) : value;
|
|
43
|
-
$[
|
|
44
|
-
$[
|
|
45
|
-
} else t4 = $[
|
|
47
|
+
$[5] = value;
|
|
48
|
+
$[6] = t4;
|
|
49
|
+
} else t4 = $[6];
|
|
46
50
|
let t5;
|
|
47
|
-
if ($[
|
|
51
|
+
if ($[7] !== t4) {
|
|
48
52
|
t5 = /* @__PURE__ */ jsx("div", {
|
|
49
53
|
className: "flex items-center min-h-6",
|
|
50
54
|
children: t4
|
|
51
55
|
});
|
|
52
|
-
$[
|
|
53
|
-
$[
|
|
54
|
-
} else t5 = $[
|
|
56
|
+
$[7] = t4;
|
|
57
|
+
$[8] = t5;
|
|
58
|
+
} else t5 = $[8];
|
|
55
59
|
let t6;
|
|
56
|
-
if ($[
|
|
60
|
+
if ($[9] !== t3 || $[10] !== t5) {
|
|
57
61
|
t6 = /* @__PURE__ */ jsx("div", {
|
|
58
62
|
className: t3,
|
|
59
63
|
children: t5
|
|
60
64
|
});
|
|
61
|
-
$[
|
|
62
|
-
$[
|
|
63
|
-
$[
|
|
64
|
-
} else t6 = $[
|
|
65
|
+
$[9] = t3;
|
|
66
|
+
$[10] = t5;
|
|
67
|
+
$[11] = t6;
|
|
68
|
+
} else t6 = $[11];
|
|
65
69
|
let t7;
|
|
66
|
-
if ($[
|
|
70
|
+
if ($[12] !== t1 || $[13] !== t6) {
|
|
67
71
|
t7 = /* @__PURE__ */ jsxs("div", {
|
|
68
72
|
className: "flex gap-4 items-start",
|
|
69
73
|
children: [t1, t6]
|
|
70
74
|
});
|
|
71
|
-
$[
|
|
72
|
-
$[
|
|
73
|
-
$[
|
|
74
|
-
} else t7 = $[
|
|
75
|
+
$[12] = t1;
|
|
76
|
+
$[13] = t6;
|
|
77
|
+
$[14] = t7;
|
|
78
|
+
} else t7 = $[14];
|
|
75
79
|
return t7;
|
|
76
80
|
};
|
|
77
81
|
const Panel = (t0) => {
|
|
78
|
-
const $ = c(
|
|
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
|
+
}
|
|
79
87
|
const { "data-testid": dataTestId, title, subtitle, details, actions, className, children, size, variant: t1, contentClassName, tabs } = t0;
|
|
80
88
|
const variant = t1 === void 0 ? "default" : t1;
|
|
81
89
|
const hasTabs = tabs && tabs.length > 0;
|
|
82
90
|
let t2;
|
|
83
91
|
bb0: {
|
|
84
92
|
let t3$1;
|
|
85
|
-
if ($[
|
|
93
|
+
if ($[1] !== hasTabs || $[2] !== tabs || $[3] !== variant) {
|
|
86
94
|
t3$1 = hasTabs && /* @__PURE__ */ jsx(TabsList, {
|
|
87
95
|
className: cn("bg-card border-b border-border px-1 pt-5", { "bg-transparent": variant === "ghost" }),
|
|
88
96
|
children: tabs?.map(_temp)
|
|
89
97
|
});
|
|
90
|
-
$[
|
|
91
|
-
$[
|
|
92
|
-
$[
|
|
93
|
-
$[
|
|
94
|
-
} else t3$1 = $[
|
|
98
|
+
$[1] = hasTabs;
|
|
99
|
+
$[2] = tabs;
|
|
100
|
+
$[3] = variant;
|
|
101
|
+
$[4] = t3$1;
|
|
102
|
+
} else t3$1 = $[4];
|
|
95
103
|
let t4$1;
|
|
96
|
-
if ($[
|
|
104
|
+
if ($[5] !== contentClassName) {
|
|
97
105
|
t4$1 = cn("flex flex-col gap-2 p-4 h-full", contentClassName);
|
|
98
|
-
$[
|
|
99
|
-
$[
|
|
100
|
-
} else t4$1 = $[
|
|
106
|
+
$[5] = contentClassName;
|
|
107
|
+
$[6] = t4$1;
|
|
108
|
+
} else t4$1 = $[6];
|
|
101
109
|
let t5$1;
|
|
102
|
-
if ($[
|
|
110
|
+
if ($[7] !== details) {
|
|
103
111
|
t5$1 = details?.map(_temp2);
|
|
104
|
-
$[
|
|
105
|
-
$[
|
|
106
|
-
} else t5$1 = $[
|
|
112
|
+
$[7] = details;
|
|
113
|
+
$[8] = t5$1;
|
|
114
|
+
} else t5$1 = $[8];
|
|
107
115
|
let t6$1;
|
|
108
|
-
if ($[
|
|
116
|
+
if ($[9] !== hasTabs || $[10] !== tabs) {
|
|
109
117
|
t6$1 = hasTabs && tabs.map(_temp3);
|
|
110
|
-
$[
|
|
111
|
-
$[
|
|
112
|
-
$[
|
|
113
|
-
} else t6$1 = $[
|
|
118
|
+
$[9] = hasTabs;
|
|
119
|
+
$[10] = tabs;
|
|
120
|
+
$[11] = t6$1;
|
|
121
|
+
} else t6$1 = $[11];
|
|
114
122
|
let t7$1;
|
|
115
|
-
if ($[
|
|
123
|
+
if ($[12] !== children || $[13] !== t4$1 || $[14] !== t5$1 || $[15] !== t6$1) {
|
|
116
124
|
t7$1 = /* @__PURE__ */ jsxs("div", {
|
|
117
125
|
className: t4$1,
|
|
118
126
|
children: [
|
|
@@ -121,32 +129,32 @@ const Panel = (t0) => {
|
|
|
121
129
|
children
|
|
122
130
|
]
|
|
123
131
|
});
|
|
124
|
-
$[
|
|
125
|
-
$[
|
|
126
|
-
$[
|
|
127
|
-
$[
|
|
128
|
-
$[
|
|
129
|
-
} else t7$1 = $[
|
|
132
|
+
$[12] = children;
|
|
133
|
+
$[13] = t4$1;
|
|
134
|
+
$[14] = t5$1;
|
|
135
|
+
$[15] = t6$1;
|
|
136
|
+
$[16] = t7$1;
|
|
137
|
+
} else t7$1 = $[16];
|
|
130
138
|
let t8$1;
|
|
131
|
-
if ($[
|
|
139
|
+
if ($[17] !== t3$1 || $[18] !== t7$1) {
|
|
132
140
|
t8$1 = /* @__PURE__ */ jsxs(Fragment, { children: [t3$1, t7$1] });
|
|
133
|
-
$[
|
|
134
|
-
$[
|
|
135
|
-
$[
|
|
136
|
-
} else t8$1 = $[
|
|
141
|
+
$[17] = t3$1;
|
|
142
|
+
$[18] = t7$1;
|
|
143
|
+
$[19] = t8$1;
|
|
144
|
+
} else t8$1 = $[19];
|
|
137
145
|
const _view = t8$1;
|
|
138
146
|
if (hasTabs) {
|
|
139
147
|
const t9$1 = tabs?.[0]?.label;
|
|
140
148
|
let t10$1;
|
|
141
|
-
if ($[
|
|
149
|
+
if ($[20] !== _view || $[21] !== t9$1) {
|
|
142
150
|
t10$1 = /* @__PURE__ */ jsx(Tabs, {
|
|
143
151
|
defaultValue: t9$1,
|
|
144
152
|
children: _view
|
|
145
153
|
});
|
|
146
|
-
$[
|
|
147
|
-
$[
|
|
148
|
-
$[
|
|
149
|
-
} else t10$1 = $[
|
|
154
|
+
$[20] = _view;
|
|
155
|
+
$[21] = t9$1;
|
|
156
|
+
$[22] = t10$1;
|
|
157
|
+
} else t10$1 = $[22];
|
|
150
158
|
t2 = t10$1;
|
|
151
159
|
break bb0;
|
|
152
160
|
}
|
|
@@ -155,30 +163,30 @@ const Panel = (t0) => {
|
|
|
155
163
|
const content = t2;
|
|
156
164
|
const t3 = panelVariants[variant];
|
|
157
165
|
let t4;
|
|
158
|
-
if ($[
|
|
166
|
+
if ($[23] !== className || $[24] !== t3) {
|
|
159
167
|
t4 = cn("relative isolate size-full backdrop-blur-[48px] backdrop-filter", "text-foreground", "rounded-lg overflow-hidden", t3, className);
|
|
160
|
-
$[
|
|
161
|
-
$[
|
|
162
|
-
$[
|
|
163
|
-
} else t4 = $[
|
|
168
|
+
$[23] = className;
|
|
169
|
+
$[24] = t3;
|
|
170
|
+
$[25] = t4;
|
|
171
|
+
} else t4 = $[25];
|
|
164
172
|
let t5;
|
|
165
|
-
if ($[
|
|
173
|
+
if ($[26] === Symbol.for("react.memo_cache_sentinel")) {
|
|
166
174
|
t5 = /* @__PURE__ */ jsx(BackgroundEffect, {});
|
|
167
|
-
$[
|
|
168
|
-
} else t5 = $[
|
|
175
|
+
$[26] = t5;
|
|
176
|
+
} else t5 = $[26];
|
|
169
177
|
const t6 = variant === "ghost";
|
|
170
178
|
let t7;
|
|
171
|
-
if ($[
|
|
179
|
+
if ($[27] !== hasTabs || $[28] !== t6) {
|
|
172
180
|
t7 = cn("relative shrink-0 w-full border-b border-border bg-card", {
|
|
173
181
|
"bg-transparent": t6,
|
|
174
182
|
"border-b-0": hasTabs
|
|
175
183
|
});
|
|
176
|
-
$[
|
|
177
|
-
$[
|
|
178
|
-
$[
|
|
179
|
-
} else t7 = $[
|
|
184
|
+
$[27] = hasTabs;
|
|
185
|
+
$[28] = t6;
|
|
186
|
+
$[29] = t7;
|
|
187
|
+
} else t7 = $[29];
|
|
180
188
|
let t8;
|
|
181
|
-
if ($[
|
|
189
|
+
if ($[30] !== actions || $[31] !== hasTabs || $[32] !== size || $[33] !== subtitle || $[34] !== title) {
|
|
182
190
|
t8 = title && /* @__PURE__ */ jsxs("div", {
|
|
183
191
|
className: cn("flex flex-col gap-1 px-5 py-4", {
|
|
184
192
|
"px-4 py-3": size === "sm",
|
|
@@ -199,54 +207,54 @@ const Panel = (t0) => {
|
|
|
199
207
|
children: subtitle
|
|
200
208
|
})]
|
|
201
209
|
});
|
|
202
|
-
$[
|
|
203
|
-
$[
|
|
204
|
-
$[
|
|
205
|
-
$[
|
|
206
|
-
$[
|
|
207
|
-
$[
|
|
208
|
-
} else t8 = $[
|
|
210
|
+
$[30] = actions;
|
|
211
|
+
$[31] = hasTabs;
|
|
212
|
+
$[32] = size;
|
|
213
|
+
$[33] = subtitle;
|
|
214
|
+
$[34] = title;
|
|
215
|
+
$[35] = t8;
|
|
216
|
+
} else t8 = $[35];
|
|
209
217
|
let t9;
|
|
210
|
-
if ($[
|
|
218
|
+
if ($[36] !== t7 || $[37] !== t8) {
|
|
211
219
|
t9 = /* @__PURE__ */ jsx("div", {
|
|
212
220
|
className: t7,
|
|
213
221
|
children: t8
|
|
214
222
|
});
|
|
215
|
-
$[
|
|
216
|
-
$[
|
|
217
|
-
$[
|
|
218
|
-
} else t9 = $[
|
|
223
|
+
$[36] = t7;
|
|
224
|
+
$[37] = t8;
|
|
225
|
+
$[38] = t9;
|
|
226
|
+
} else t9 = $[38];
|
|
219
227
|
let t10;
|
|
220
|
-
if ($[
|
|
228
|
+
if ($[39] !== content) {
|
|
221
229
|
t10 = /* @__PURE__ */ jsx("div", {
|
|
222
230
|
className: "flex-1 overflow-auto",
|
|
223
231
|
children: content
|
|
224
232
|
});
|
|
225
|
-
$[
|
|
226
|
-
$[
|
|
227
|
-
} else t10 = $[
|
|
233
|
+
$[39] = content;
|
|
234
|
+
$[40] = t10;
|
|
235
|
+
} else t10 = $[40];
|
|
228
236
|
let t11;
|
|
229
|
-
if ($[
|
|
237
|
+
if ($[41] !== t10 || $[42] !== t9) {
|
|
230
238
|
t11 = /* @__PURE__ */ jsxs("div", {
|
|
231
239
|
className: "flex flex-col size-full",
|
|
232
240
|
children: [t9, t10]
|
|
233
241
|
});
|
|
234
|
-
$[
|
|
235
|
-
$[
|
|
236
|
-
$[
|
|
237
|
-
} else t11 = $[
|
|
242
|
+
$[41] = t10;
|
|
243
|
+
$[42] = t9;
|
|
244
|
+
$[43] = t11;
|
|
245
|
+
} else t11 = $[43];
|
|
238
246
|
let t12;
|
|
239
|
-
if ($[
|
|
247
|
+
if ($[44] !== dataTestId || $[45] !== t11 || $[46] !== t4) {
|
|
240
248
|
t12 = /* @__PURE__ */ jsxs("div", {
|
|
241
249
|
className: t4,
|
|
242
250
|
"data-testid": dataTestId,
|
|
243
251
|
children: [t5, t11]
|
|
244
252
|
});
|
|
245
|
-
$[
|
|
246
|
-
$[
|
|
247
|
-
$[
|
|
248
|
-
$[
|
|
249
|
-
} else t12 = $[
|
|
253
|
+
$[44] = dataTestId;
|
|
254
|
+
$[45] = t11;
|
|
255
|
+
$[46] = t4;
|
|
256
|
+
$[47] = t12;
|
|
257
|
+
} else t12 = $[47];
|
|
250
258
|
return t12;
|
|
251
259
|
};
|
|
252
260
|
Panel.displayName = "Panel";
|
|
@@ -1 +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","t1","t2","t3","t4","t5","t6","t7","Panel","dataTestId","undefined","hasTabs","length","bb0","map","_temp","_temp2","_temp3","t8","_view","t9","t10","Symbol","for","_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
|
+
{"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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"}
|