@motiadev/ui 0.14.0-beta.165-285707 → 0.14.0-beta.165-602289

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 (141) hide show
  1. package/dist/components/ui/background-effect.d.ts +7 -4
  2. package/dist/components/ui/background-effect.d.ts.map +1 -1
  3. package/dist/components/ui/background-effect.js +35 -0
  4. package/dist/components/ui/background-effect.js.map +1 -0
  5. package/dist/components/ui/badge.d.ts +11 -8
  6. package/dist/components/ui/badge.d.ts.map +1 -1
  7. package/dist/components/ui/badge.js +61 -0
  8. package/dist/components/ui/badge.js.map +1 -0
  9. package/dist/components/ui/breadcrumb.d.ts +24 -20
  10. package/dist/components/ui/breadcrumb.d.ts.map +1 -1
  11. package/dist/components/ui/breadcrumb.js +176 -0
  12. package/dist/components/ui/breadcrumb.js.map +1 -0
  13. package/dist/components/ui/button.d.ts +14 -9
  14. package/dist/components/ui/button.d.ts.map +1 -1
  15. package/dist/components/ui/button.js +92 -0
  16. package/dist/components/ui/button.js.map +1 -0
  17. package/dist/components/ui/checkbox.d.ts +7 -3
  18. package/dist/components/ui/checkbox.d.ts.map +1 -1
  19. package/dist/components/ui/checkbox.js +57 -0
  20. package/dist/components/ui/checkbox.js.map +1 -0
  21. package/dist/components/ui/collapsible-panel.d.ts +17 -13
  22. package/dist/components/ui/collapsible-panel.d.ts.map +1 -1
  23. package/dist/components/ui/collapsible-panel.js +268 -0
  24. package/dist/components/ui/collapsible-panel.js.map +1 -0
  25. package/dist/components/ui/container.d.ts +17 -13
  26. package/dist/components/ui/container.d.ts.map +1 -1
  27. package/dist/components/ui/container.js +155 -0
  28. package/dist/components/ui/container.js.map +1 -0
  29. package/dist/components/ui/dropdown-menu.d.ts +23 -21
  30. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  31. package/dist/components/ui/dropdown-menu.js +482 -0
  32. package/dist/components/ui/dropdown-menu.js.map +1 -0
  33. package/dist/components/ui/empty.d.ts +34 -10
  34. package/dist/components/ui/empty.d.ts.map +1 -1
  35. package/dist/components/ui/empty.js +243 -0
  36. package/dist/components/ui/empty.js.map +1 -0
  37. package/dist/components/ui/input.d.ts +12 -8
  38. package/dist/components/ui/input.d.ts.map +1 -1
  39. package/dist/components/ui/input.js +70 -0
  40. package/dist/components/ui/input.js.map +1 -0
  41. package/dist/components/ui/label.d.ts +7 -3
  42. package/dist/components/ui/label.d.ts.map +1 -1
  43. package/dist/components/ui/label.js +47 -0
  44. package/dist/components/ui/label.js.map +1 -0
  45. package/dist/components/ui/level-dot.d.ts +7 -3
  46. package/dist/components/ui/level-dot.d.ts.map +1 -1
  47. package/dist/components/ui/level-dot.js +39 -0
  48. package/dist/components/ui/level-dot.js.map +1 -0
  49. package/dist/components/ui/panel.d.ts +32 -28
  50. package/dist/components/ui/panel.d.ts.map +1 -1
  51. package/dist/components/ui/panel.js +292 -0
  52. package/dist/components/ui/panel.js.map +1 -0
  53. package/dist/components/ui/select.d.ts +11 -13
  54. package/dist/components/ui/select.d.ts.map +1 -1
  55. package/dist/components/ui/select.js +369 -0
  56. package/dist/components/ui/select.js.map +1 -0
  57. package/dist/components/ui/side-panel-detail.d.ts +8 -5
  58. package/dist/components/ui/side-panel-detail.d.ts.map +1 -1
  59. package/dist/components/ui/side-panel-detail.js +62 -0
  60. package/dist/components/ui/side-panel-detail.js.map +1 -0
  61. package/dist/components/ui/side-panel.d.ts +18 -18
  62. package/dist/components/ui/side-panel.d.ts.map +1 -1
  63. package/dist/components/ui/side-panel.js +142 -0
  64. package/dist/components/ui/side-panel.js.map +1 -0
  65. package/dist/components/ui/sidebar.d.ts +12 -8
  66. package/dist/components/ui/sidebar.d.ts.map +1 -1
  67. package/dist/components/ui/sidebar.js +157 -0
  68. package/dist/components/ui/sidebar.js.map +1 -0
  69. package/dist/components/ui/table.d.ts +5 -4
  70. package/dist/components/ui/table.d.ts.map +1 -1
  71. package/dist/components/ui/table.js +317 -0
  72. package/dist/components/ui/table.js.map +1 -0
  73. package/dist/components/ui/tabs.d.ts +10 -6
  74. package/dist/components/ui/tabs.d.ts.map +1 -1
  75. package/dist/components/ui/tabs.js +158 -0
  76. package/dist/components/ui/tabs.js.map +1 -0
  77. package/dist/components/ui/textarea.d.ts +6 -2
  78. package/dist/components/ui/textarea.d.ts.map +1 -1
  79. package/dist/components/ui/textarea.js +46 -0
  80. package/dist/components/ui/textarea.js.map +1 -0
  81. package/dist/components/ui/tooltip.d.ts +10 -5
  82. package/dist/components/ui/tooltip.d.ts.map +1 -1
  83. package/dist/components/ui/tooltip.js +58 -0
  84. package/dist/components/ui/tooltip.js.map +1 -0
  85. package/dist/index.d.ts +24 -24
  86. package/dist/index.js +25 -11031
  87. package/dist/lib/utils.d.ts +6 -2
  88. package/dist/lib/utils.d.ts.map +1 -1
  89. package/dist/lib/utils.js +11 -0
  90. package/dist/lib/utils.js.map +1 -0
  91. package/dist/stores/use-theme-store.d.ts +22 -17
  92. package/dist/stores/use-theme-store.d.ts.map +1 -1
  93. package/dist/stores/use-theme-store.js +30 -0
  94. package/dist/stores/use-theme-store.js.map +1 -0
  95. package/dist/styles.css +2653 -0
  96. package/dist/styles.css.map +1 -0
  97. package/dist/styles.js +0 -0
  98. package/package.json +21 -23
  99. package/dist/components/ui/background-effect.stories.d.ts +0 -12
  100. package/dist/components/ui/background-effect.stories.d.ts.map +0 -1
  101. package/dist/components/ui/badge.stories.d.ts +0 -19
  102. package/dist/components/ui/badge.stories.d.ts.map +0 -1
  103. package/dist/components/ui/breadcrumb.stories.d.ts +0 -21
  104. package/dist/components/ui/breadcrumb.stories.d.ts.map +0 -1
  105. package/dist/components/ui/button.stories.d.ts +0 -25
  106. package/dist/components/ui/button.stories.d.ts.map +0 -1
  107. package/dist/components/ui/checkbox.stories.d.ts +0 -25
  108. package/dist/components/ui/checkbox.stories.d.ts.map +0 -1
  109. package/dist/components/ui/collapsible-panel.stories.d.ts +0 -12
  110. package/dist/components/ui/collapsible-panel.stories.d.ts.map +0 -1
  111. package/dist/components/ui/container.stories.d.ts +0 -10
  112. package/dist/components/ui/container.stories.d.ts.map +0 -1
  113. package/dist/components/ui/dropdown-menu.stories.d.ts +0 -18
  114. package/dist/components/ui/dropdown-menu.stories.d.ts.map +0 -1
  115. package/dist/components/ui/input.stories.d.ts +0 -23
  116. package/dist/components/ui/input.stories.d.ts.map +0 -1
  117. package/dist/components/ui/label.stories.d.ts +0 -17
  118. package/dist/components/ui/label.stories.d.ts.map +0 -1
  119. package/dist/components/ui/level-dot.stories.d.ts +0 -19
  120. package/dist/components/ui/level-dot.stories.d.ts.map +0 -1
  121. package/dist/components/ui/panel.stories.d.ts +0 -24
  122. package/dist/components/ui/panel.stories.d.ts.map +0 -1
  123. package/dist/components/ui/select.stories.d.ts +0 -18
  124. package/dist/components/ui/select.stories.d.ts.map +0 -1
  125. package/dist/components/ui/side-panel-detail.stories.d.ts +0 -12
  126. package/dist/components/ui/side-panel-detail.stories.d.ts.map +0 -1
  127. package/dist/components/ui/side-panel.stories.d.ts +0 -13
  128. package/dist/components/ui/side-panel.stories.d.ts.map +0 -1
  129. package/dist/components/ui/sidebar.stories.d.ts +0 -14
  130. package/dist/components/ui/sidebar.stories.d.ts.map +0 -1
  131. package/dist/components/ui/table.stories.d.ts +0 -18
  132. package/dist/components/ui/table.stories.d.ts.map +0 -1
  133. package/dist/components/ui/tabs.stories.d.ts +0 -16
  134. package/dist/components/ui/tabs.stories.d.ts.map +0 -1
  135. package/dist/components/ui/textarea.stories.d.ts +0 -21
  136. package/dist/components/ui/textarea.stories.d.ts.map +0 -1
  137. package/dist/components/ui/tooltip.stories.d.ts +0 -21
  138. package/dist/components/ui/tooltip.stories.d.ts.map +0 -1
  139. package/dist/index.cjs +0 -122
  140. package/dist/index.d.ts.map +0 -1
  141. 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 SelectPrimitive from '@radix-ui/react-select';
2
- import * as React from 'react';
3
- declare const Select: React.FC<SelectPrimitive.SelectProps>;
4
- declare const SelectGroup: React.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
5
- declare const SelectValue: React.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
6
- declare const SelectTrigger: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
7
- declare const SelectScrollUpButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
8
- declare const SelectScrollDownButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
- declare const SelectContent: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
- declare const SelectLabel: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
- declare const SelectItem: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
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","sourceRoot":"","sources":["../../../src/components/ui/select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAA;AAEzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,QAAA,MAAM,MAAM,uCAAuB,CAAA;AAEnC,QAAA,MAAM,WAAW,yGAAwB,CAAA;AAEzC,QAAA,MAAM,WAAW,0GAAwB,CAAA;AAEzC,QAAA,MAAM,aAAa,oKAiBjB,CAAA;AAGF,QAAA,MAAM,oBAAoB,qKAWxB,CAAA;AAGF,QAAA,MAAM,sBAAsB,uKAW1B,CAAA;AAGF,QAAA,MAAM,aAAa,8JA6BjB,CAAA;AAGF,QAAA,MAAM,WAAW,4JAKf,CAAA;AAGF,QAAA,MAAM,UAAU,2JAmBd,CAAA;AAGF,QAAA,MAAM,eAAe,gKAKnB,CAAA;AAGF,OAAO,EACL,MAAM,EACN,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,UAAU,EACV,eAAe,EACf,oBAAoB,EACpB,sBAAsB,GACvB,CAAA"}
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"}