@motiadev/ui 0.15.0-beta.165 → 0.15.2-beta.167

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 (46) hide show
  1. package/LICENSE +1 -1
  2. package/dist/components/ui/background-effect.js +9 -5
  3. package/dist/components/ui/background-effect.js.map +1 -1
  4. package/dist/components/ui/badge.js +23 -19
  5. package/dist/components/ui/badge.js.map +1 -1
  6. package/dist/components/ui/breadcrumb.js +69 -61
  7. package/dist/components/ui/breadcrumb.js.map +1 -1
  8. package/dist/components/ui/button.js +30 -26
  9. package/dist/components/ui/button.js.map +1 -1
  10. package/dist/components/ui/checkbox.js +23 -19
  11. package/dist/components/ui/checkbox.js.map +1 -1
  12. package/dist/components/ui/collapsible-panel.js +110 -94
  13. package/dist/components/ui/collapsible-panel.js.map +1 -1
  14. package/dist/components/ui/container.js +75 -63
  15. package/dist/components/ui/container.js.map +1 -1
  16. package/dist/components/ui/dropdown-menu.js +261 -209
  17. package/dist/components/ui/dropdown-menu.js.map +1 -1
  18. package/dist/components/ui/empty.js +124 -100
  19. package/dist/components/ui/empty.js.map +1 -1
  20. package/dist/components/ui/input.js +27 -23
  21. package/dist/components/ui/input.js.map +1 -1
  22. package/dist/components/ui/label.js +20 -16
  23. package/dist/components/ui/label.js.map +1 -1
  24. package/dist/components/ui/level-dot.js +13 -9
  25. package/dist/components/ui/level-dot.js.map +1 -1
  26. package/dist/components/ui/panel.js +113 -105
  27. package/dist/components/ui/panel.js.map +1 -1
  28. package/dist/components/ui/select.js +191 -163
  29. package/dist/components/ui/select.js.map +1 -1
  30. package/dist/components/ui/side-panel-detail.js +27 -19
  31. package/dist/components/ui/side-panel-detail.js.map +1 -1
  32. package/dist/components/ui/side-panel.js +57 -53
  33. package/dist/components/ui/side-panel.js.map +1 -1
  34. package/dist/components/ui/sidebar.js +63 -59
  35. package/dist/components/ui/sidebar.js.map +1 -1
  36. package/dist/components/ui/table.js +168 -136
  37. package/dist/components/ui/table.js.map +1 -1
  38. package/dist/components/ui/tabs.js +80 -64
  39. package/dist/components/ui/tabs.js.map +1 -1
  40. package/dist/components/ui/textarea.js +20 -16
  41. package/dist/components/ui/textarea.js.map +1 -1
  42. package/dist/components/ui/tooltip.js +24 -20
  43. package/dist/components/ui/tooltip.js.map +1 -1
  44. package/dist/styles.css +10 -4
  45. package/dist/styles.css.map +1 -1
  46. 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(4);
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 ($[0] !== t1) {
23
+ if ($[1] !== t1) {
20
24
  t2 = badgeVariants({ variant: t1 });
21
- $[0] = t1;
22
- $[1] = t2;
23
- } else t2 = $[1];
25
+ $[1] = t1;
26
+ $[2] = t2;
27
+ } else t2 = $[2];
24
28
  let t3;
25
- if ($[2] !== t2) {
29
+ if ($[3] !== t2) {
26
30
  t3 = /* @__PURE__ */ jsx("div", { className: t2 });
27
- $[2] = t2;
28
- $[3] = t3;
29
- } else t3 = $[3];
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,EAAAH,UAAAC;CACJ,MAAAG,KAAAJ;CAAsD,IAAAK;AAAA,KAAAH,EAAA,OAAAE,IAAA;AAA/EC,OAAAhB,cAAc,EAAAE,SAAWa,IAAwD,CAAC;AAAAF,IAAA,KAAAE;AAAAF,IAAA,KAAAG;OAAAA,MAAAH,EAAA;CAAA,IAAAI;AAAA,KAAAJ,EAAA,OAAAG,IAAA;AAAlGC,OAAA,oBAAA,SAAgB,WAAAD,KAAsF;AAAAH,IAAA,KAAAG;AAAAH,IAAA,KAAAI;OAAAA,MAAAJ,EAAA;AAAA,QAAtGI"}
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(14);
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 ($[0] !== label) {
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
- $[0] = label;
28
- $[1] = t1;
29
- } else t1 = $[1];
31
+ $[1] = label;
32
+ $[2] = t1;
33
+ } else t1 = $[2];
30
34
  const t2 = highlighted && "bg-secondary";
31
35
  let t3;
32
- if ($[2] !== t2) {
36
+ if ($[3] !== t2) {
33
37
  t3 = cn("flex-1 rounded-lg px-2 py-1 min-h-6", t2);
34
- $[2] = t2;
35
- $[3] = t3;
36
- } else t3 = $[3];
38
+ $[3] = t2;
39
+ $[4] = t3;
40
+ } else t3 = $[4];
37
41
  let t4;
38
- if ($[4] !== value) {
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
- $[4] = value;
44
- $[5] = t4;
45
- } else t4 = $[5];
47
+ $[5] = value;
48
+ $[6] = t4;
49
+ } else t4 = $[6];
46
50
  let t5;
47
- if ($[6] !== t4) {
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
- $[6] = t4;
53
- $[7] = t5;
54
- } else t5 = $[7];
56
+ $[7] = t4;
57
+ $[8] = t5;
58
+ } else t5 = $[8];
55
59
  let t6;
56
- if ($[8] !== t3 || $[9] !== t5) {
60
+ if ($[9] !== t3 || $[10] !== t5) {
57
61
  t6 = /* @__PURE__ */ jsx("div", {
58
62
  className: t3,
59
63
  children: t5
60
64
  });
61
- $[8] = t3;
62
- $[9] = t5;
63
- $[10] = t6;
64
- } else t6 = $[10];
65
+ $[9] = t3;
66
+ $[10] = t5;
67
+ $[11] = t6;
68
+ } else t6 = $[11];
65
69
  let t7;
66
- if ($[11] !== t1 || $[12] !== t6) {
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
- $[11] = t1;
72
- $[12] = t6;
73
- $[13] = t7;
74
- } else t7 = $[13];
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(47);
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 ($[0] !== hasTabs || $[1] !== tabs || $[2] !== variant) {
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
- $[0] = hasTabs;
91
- $[1] = tabs;
92
- $[2] = variant;
93
- $[3] = t3$1;
94
- } else t3$1 = $[3];
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 ($[4] !== contentClassName) {
104
+ if ($[5] !== contentClassName) {
97
105
  t4$1 = cn("flex flex-col gap-2 p-4 h-full", contentClassName);
98
- $[4] = contentClassName;
99
- $[5] = t4$1;
100
- } else t4$1 = $[5];
106
+ $[5] = contentClassName;
107
+ $[6] = t4$1;
108
+ } else t4$1 = $[6];
101
109
  let t5$1;
102
- if ($[6] !== details) {
110
+ if ($[7] !== details) {
103
111
  t5$1 = details?.map(_temp2);
104
- $[6] = details;
105
- $[7] = t5$1;
106
- } else t5$1 = $[7];
112
+ $[7] = details;
113
+ $[8] = t5$1;
114
+ } else t5$1 = $[8];
107
115
  let t6$1;
108
- if ($[8] !== hasTabs || $[9] !== tabs) {
116
+ if ($[9] !== hasTabs || $[10] !== tabs) {
109
117
  t6$1 = hasTabs && tabs.map(_temp3);
110
- $[8] = hasTabs;
111
- $[9] = tabs;
112
- $[10] = t6$1;
113
- } else t6$1 = $[10];
118
+ $[9] = hasTabs;
119
+ $[10] = tabs;
120
+ $[11] = t6$1;
121
+ } else t6$1 = $[11];
114
122
  let t7$1;
115
- if ($[11] !== children || $[12] !== t4$1 || $[13] !== t5$1 || $[14] !== t6$1) {
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
- $[11] = children;
125
- $[12] = t4$1;
126
- $[13] = t5$1;
127
- $[14] = t6$1;
128
- $[15] = t7$1;
129
- } else t7$1 = $[15];
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 ($[16] !== t3$1 || $[17] !== t7$1) {
139
+ if ($[17] !== t3$1 || $[18] !== t7$1) {
132
140
  t8$1 = /* @__PURE__ */ jsxs(Fragment, { children: [t3$1, t7$1] });
133
- $[16] = t3$1;
134
- $[17] = t7$1;
135
- $[18] = t8$1;
136
- } else t8$1 = $[18];
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 ($[19] !== _view || $[20] !== t9$1) {
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
- $[19] = _view;
147
- $[20] = t9$1;
148
- $[21] = t10$1;
149
- } else t10$1 = $[21];
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 ($[22] !== className || $[23] !== t3) {
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
- $[22] = className;
161
- $[23] = t3;
162
- $[24] = t4;
163
- } else t4 = $[24];
168
+ $[23] = className;
169
+ $[24] = t3;
170
+ $[25] = t4;
171
+ } else t4 = $[25];
164
172
  let t5;
165
- if ($[25] === Symbol.for("react.memo_cache_sentinel")) {
173
+ if ($[26] === Symbol.for("react.memo_cache_sentinel")) {
166
174
  t5 = /* @__PURE__ */ jsx(BackgroundEffect, {});
167
- $[25] = t5;
168
- } else t5 = $[25];
175
+ $[26] = t5;
176
+ } else t5 = $[26];
169
177
  const t6 = variant === "ghost";
170
178
  let t7;
171
- if ($[26] !== hasTabs || $[27] !== t6) {
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
- $[26] = hasTabs;
177
- $[27] = t6;
178
- $[28] = t7;
179
- } else t7 = $[28];
184
+ $[27] = hasTabs;
185
+ $[28] = t6;
186
+ $[29] = t7;
187
+ } else t7 = $[29];
180
188
  let t8;
181
- if ($[29] !== actions || $[30] !== hasTabs || $[31] !== size || $[32] !== subtitle || $[33] !== title) {
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
- $[29] = actions;
203
- $[30] = hasTabs;
204
- $[31] = size;
205
- $[32] = subtitle;
206
- $[33] = title;
207
- $[34] = t8;
208
- } else t8 = $[34];
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 ($[35] !== t7 || $[36] !== t8) {
218
+ if ($[36] !== t7 || $[37] !== t8) {
211
219
  t9 = /* @__PURE__ */ jsx("div", {
212
220
  className: t7,
213
221
  children: t8
214
222
  });
215
- $[35] = t7;
216
- $[36] = t8;
217
- $[37] = t9;
218
- } else t9 = $[37];
223
+ $[36] = t7;
224
+ $[37] = t8;
225
+ $[38] = t9;
226
+ } else t9 = $[38];
219
227
  let t10;
220
- if ($[38] !== content) {
228
+ if ($[39] !== content) {
221
229
  t10 = /* @__PURE__ */ jsx("div", {
222
230
  className: "flex-1 overflow-auto",
223
231
  children: content
224
232
  });
225
- $[38] = content;
226
- $[39] = t10;
227
- } else t10 = $[39];
233
+ $[39] = content;
234
+ $[40] = t10;
235
+ } else t10 = $[40];
228
236
  let t11;
229
- if ($[40] !== t10 || $[41] !== t9) {
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
- $[40] = t10;
235
- $[41] = t9;
236
- $[42] = t11;
237
- } else t11 = $[42];
242
+ $[41] = t10;
243
+ $[42] = t9;
244
+ $[43] = t11;
245
+ } else t11 = $[43];
238
246
  let t12;
239
- if ($[43] !== dataTestId || $[44] !== t11 || $[45] !== t4) {
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
- $[43] = dataTestId;
246
- $[44] = t11;
247
- $[45] = t4;
248
- $[46] = t12;
249
- } else t12 = $[46];
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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"}