@motiadev/ui 0.15.0-beta.165 → 0.15.1-beta.166

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 (47) 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.d.ts.map +1 -1
  7. package/dist/components/ui/breadcrumb.js +69 -61
  8. package/dist/components/ui/breadcrumb.js.map +1 -1
  9. package/dist/components/ui/button.js +30 -26
  10. package/dist/components/ui/button.js.map +1 -1
  11. package/dist/components/ui/checkbox.js +23 -19
  12. package/dist/components/ui/checkbox.js.map +1 -1
  13. package/dist/components/ui/collapsible-panel.js +110 -94
  14. package/dist/components/ui/collapsible-panel.js.map +1 -1
  15. package/dist/components/ui/container.js +75 -63
  16. package/dist/components/ui/container.js.map +1 -1
  17. package/dist/components/ui/dropdown-menu.js +261 -209
  18. package/dist/components/ui/dropdown-menu.js.map +1 -1
  19. package/dist/components/ui/empty.js +124 -100
  20. package/dist/components/ui/empty.js.map +1 -1
  21. package/dist/components/ui/input.js +27 -23
  22. package/dist/components/ui/input.js.map +1 -1
  23. package/dist/components/ui/label.js +20 -16
  24. package/dist/components/ui/label.js.map +1 -1
  25. package/dist/components/ui/level-dot.js +13 -9
  26. package/dist/components/ui/level-dot.js.map +1 -1
  27. package/dist/components/ui/panel.js +113 -105
  28. package/dist/components/ui/panel.js.map +1 -1
  29. package/dist/components/ui/select.js +191 -163
  30. package/dist/components/ui/select.js.map +1 -1
  31. package/dist/components/ui/side-panel-detail.js +27 -19
  32. package/dist/components/ui/side-panel-detail.js.map +1 -1
  33. package/dist/components/ui/side-panel.js +57 -53
  34. package/dist/components/ui/side-panel.js.map +1 -1
  35. package/dist/components/ui/sidebar.js +63 -59
  36. package/dist/components/ui/sidebar.js.map +1 -1
  37. package/dist/components/ui/table.js +168 -136
  38. package/dist/components/ui/table.js.map +1 -1
  39. package/dist/components/ui/tabs.js +80 -64
  40. package/dist/components/ui/tabs.js.map +1 -1
  41. package/dist/components/ui/textarea.js +20 -16
  42. package/dist/components/ui/textarea.js.map +1 -1
  43. package/dist/components/ui/tooltip.js +24 -20
  44. package/dist/components/ui/tooltip.js.map +1 -1
  45. package/dist/styles.css +10 -4
  46. package/dist/styles.css.map +1 -1
  47. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"side-panel-detail.js","names":["PropsWithChildren","ItemProps","title","SidePanelDetail","React","FC","t0","$","_c","children","t1","SidePanelDetailItem","t2","t3","displayName"],"sources":["../../../src/components/ui/side-panel-detail.tsx"],"sourcesContent":["import type { PropsWithChildren } from 'react'\n\ntype ItemProps = PropsWithChildren<{\n title: string\n}>\n\nexport const SidePanelDetail: React.FC<PropsWithChildren> = ({ children }) => {\n return <table className=\"w-full\">{children}</table>\n}\n\nexport const SidePanelDetailItem: React.FC<ItemProps> = ({ title, children }) => {\n return (\n <tr>\n <td className=\"text-md min-w-[100px] font-medium\">{title}</td>\n <td className=\"py-2 text-muted-foreground font-medium\">{children}</td>\n </tr>\n )\n}\n\nSidePanelDetail.displayName = 'SidePanelDetail'\nSidePanelDetailItem.displayName = 'SidePanelDetailItem'\n"],"mappings":";;;;AAMA,MAAaG,mBAA+CG,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAC,aAAAH;CAAY,IAAAI;AAAA,KAAAH,EAAA,OAAAE,UAAA;AAChEC,OAAA,oBAAA;GAAiB,WAAA;GAAUD;IAAiB;AAAAF,IAAA,KAAAE;AAAAF,IAAA,KAAAG;OAAAA,MAAAH,EAAA;AAAA,QAA5CG;;AAGT,MAAaC,uBAA2CL,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAN,OAAAO,aAAAH;CAAmB,IAAAI;AAAA,KAAAH,EAAA,OAAAL,OAAA;AAGtEQ,OAAA,oBAAA;GAAc,WAAA;aAAqCR;IAAW;AAAAK,IAAA,KAAAL;AAAAK,IAAA,KAAAG;OAAAA,MAAAH,EAAA;CAAA,IAAAK;AAAA,KAAAL,EAAA,OAAAE,UAAA;AAC9DG,OAAA,oBAAA;GAAc,WAAA;GAA0CH;IAAc;AAAAF,IAAA,KAAAE;AAAAF,IAAA,KAAAK;OAAAA,MAAAL,EAAA;CAAA,IAAAM;AAAA,KAAAN,EAAA,OAAAG,MAAAH,EAAA,OAAAK,IAAA;AAFxEC,OAAA,qBAAA,mBACEH,IACAE,MACG;AAAAL,IAAA,KAAAG;AAAAH,IAAA,KAAAK;AAAAL,IAAA,KAAAM;OAAAA,MAAAN,EAAA;AAAA,QAHLM;;AAOJV,gBAAgBW,cAAc;AAC9BH,oBAAoBG,cAAc"}
1
+ {"version":3,"file":"side-panel-detail.js","names":["PropsWithChildren","ItemProps","title","SidePanelDetail","React","FC","t0","$","_c","$i","Symbol","for","children","t1","SidePanelDetailItem","t2","t3","displayName"],"sources":["../../../src/components/ui/side-panel-detail.tsx"],"sourcesContent":["import type { PropsWithChildren } from 'react'\n\ntype ItemProps = PropsWithChildren<{\n title: string\n}>\n\nexport const SidePanelDetail: React.FC<PropsWithChildren> = ({ children }) => {\n return <table className=\"w-full\">{children}</table>\n}\n\nexport const SidePanelDetailItem: React.FC<ItemProps> = ({ title, children }) => {\n return (\n <tr>\n <td className=\"text-md min-w-[100px] font-medium\">{title}</td>\n <td className=\"py-2 text-muted-foreground font-medium\">{children}</td>\n </tr>\n )\n}\n\nSidePanelDetail.displayName = 'SidePanelDetail'\nSidePanelDetailItem.displayName = 'SidePanelDetailItem'\n"],"mappings":";;;;AAMA,MAAaG,mBAA+CG,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,EAAAK,aAAAN;CAAY,IAAAO;AAAA,KAAAN,EAAA,OAAAK,UAAA;AAChEC,OAAA,oBAAA;GAAiB,WAAA;GAAUD;IAAiB;AAAAL,IAAA,KAAAK;AAAAL,IAAA,KAAAM;OAAAA,MAAAN,EAAA;AAAA,QAA5CM;;AAGT,MAAaC,uBAA2CR,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,EAAAL,OAAAU,aAAAN;CAAmB,IAAAO;AAAA,KAAAN,EAAA,OAAAL,OAAA;AAGtEW,OAAA,oBAAA;GAAc,WAAA;aAAqCX;IAAW;AAAAK,IAAA,KAAAL;AAAAK,IAAA,KAAAM;OAAAA,MAAAN,EAAA;CAAA,IAAAQ;AAAA,KAAAR,EAAA,OAAAK,UAAA;AAC9DG,OAAA,oBAAA;GAAc,WAAA;GAA0CH;IAAc;AAAAL,IAAA,KAAAK;AAAAL,IAAA,KAAAQ;OAAAA,MAAAR,EAAA;CAAA,IAAAS;AAAA,KAAAT,EAAA,OAAAM,MAAAN,EAAA,OAAAQ,IAAA;AAFxEC,OAAA,qBAAA,mBACEH,IACAE,MACG;AAAAR,IAAA,KAAAM;AAAAN,IAAA,KAAAQ;AAAAR,IAAA,KAAAS;OAAAA,MAAAT,EAAA;AAAA,QAHLS;;AAOJb,gBAAgBc,cAAc;AAC9BH,oBAAoBG,cAAc"}
@@ -6,36 +6,40 @@ import { X } from "lucide-react";
6
6
 
7
7
  //#region src/components/ui/side-panel.tsx
8
8
  const SidePanel = (t0) => {
9
- const $ = c(28);
9
+ const $ = c(29);
10
+ if ($[0] !== "39a5c1c37b367fbe5681e107f52c735a559918c882d3fc91fa9f52f7cdd414a8") {
11
+ for (let $i = 0; $i < 29; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
12
+ $[0] = "39a5c1c37b367fbe5681e107f52c735a559918c882d3fc91fa9f52f7cdd414a8";
13
+ }
10
14
  const { title, subtitle, actions, className, children, onClose } = t0;
11
15
  let t1;
12
- if ($[0] !== className) {
16
+ if ($[1] !== className) {
13
17
  t1 = cn("bg-muted-foreground/5 text-foreground border-l border-border overflow-hidden w-1/3", className);
14
- $[0] = className;
15
- $[1] = t1;
16
- } else t1 = $[1];
18
+ $[1] = className;
19
+ $[2] = t1;
20
+ } else t1 = $[2];
17
21
  let t2;
18
- if ($[2] !== title) {
22
+ if ($[3] !== title) {
19
23
  t2 = /* @__PURE__ */ jsx("div", {
20
24
  className: "text-lg font-semibold text-foreground tracking-[-0.25px] leading-tight",
21
25
  children: title
22
26
  });
23
- $[2] = title;
24
- $[3] = t2;
25
- } else t2 = $[3];
27
+ $[3] = title;
28
+ $[4] = t2;
29
+ } else t2 = $[4];
26
30
  let t3;
27
- if ($[4] !== actions) {
31
+ if ($[5] !== actions) {
28
32
  t3 = actions?.map(_temp);
29
- $[4] = actions;
30
- $[5] = t3;
31
- } else t3 = $[5];
33
+ $[5] = actions;
34
+ $[6] = t3;
35
+ } else t3 = $[6];
32
36
  let t4;
33
- if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
37
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
34
38
  t4 = /* @__PURE__ */ jsx(X, { className: "w-4 h-4 text-muted-foreground" });
35
- $[6] = t4;
36
- } else t4 = $[6];
39
+ $[7] = t4;
40
+ } else t4 = $[7];
37
41
  let t5;
38
- if ($[7] !== onClose) {
42
+ if ($[8] !== onClose) {
39
43
  t5 = /* @__PURE__ */ jsx(Button, {
40
44
  onClick: onClose,
41
45
  variant: "ghost",
@@ -43,40 +47,40 @@ const SidePanel = (t0) => {
43
47
  "aria-label": "Close",
44
48
  children: t4
45
49
  });
46
- $[7] = onClose;
47
- $[8] = t5;
48
- } else t5 = $[8];
50
+ $[8] = onClose;
51
+ $[9] = t5;
52
+ } else t5 = $[9];
49
53
  let t6;
50
- if ($[9] !== t3 || $[10] !== t5) {
54
+ if ($[10] !== t3 || $[11] !== t5) {
51
55
  t6 = /* @__PURE__ */ jsxs("div", {
52
56
  className: "flex items-center gap-1",
53
57
  children: [t3, t5]
54
58
  });
55
- $[9] = t3;
56
- $[10] = t5;
57
- $[11] = t6;
58
- } else t6 = $[11];
59
+ $[10] = t3;
60
+ $[11] = t5;
61
+ $[12] = t6;
62
+ } else t6 = $[12];
59
63
  let t7;
60
- if ($[12] !== t2 || $[13] !== t6) {
64
+ if ($[13] !== t2 || $[14] !== t6) {
61
65
  t7 = /* @__PURE__ */ jsxs("div", {
62
66
  className: "flex items-center justify-between w-full",
63
67
  children: [t2, t6]
64
68
  });
65
- $[12] = t2;
66
- $[13] = t6;
67
- $[14] = t7;
68
- } else t7 = $[14];
69
+ $[13] = t2;
70
+ $[14] = t6;
71
+ $[15] = t7;
72
+ } else t7 = $[15];
69
73
  let t8;
70
- if ($[15] !== subtitle) {
74
+ if ($[16] !== subtitle) {
71
75
  t8 = subtitle && /* @__PURE__ */ jsx("div", {
72
76
  className: "text-md font-medium text-muted-foreground tracking-[-0.25px] leading-tight",
73
77
  children: subtitle
74
78
  });
75
- $[15] = subtitle;
76
- $[16] = t8;
77
- } else t8 = $[16];
79
+ $[16] = subtitle;
80
+ $[17] = t8;
81
+ } else t8 = $[17];
78
82
  let t9;
79
- if ($[17] !== t7 || $[18] !== t8) {
83
+ if ($[18] !== t7 || $[19] !== t8) {
80
84
  t9 = /* @__PURE__ */ jsx("div", {
81
85
  className: "relative shrink-0 w-full border-b border-border",
82
86
  children: /* @__PURE__ */ jsxs("div", {
@@ -84,12 +88,12 @@ const SidePanel = (t0) => {
84
88
  children: [t7, t8]
85
89
  })
86
90
  });
87
- $[17] = t7;
88
- $[18] = t8;
89
- $[19] = t9;
90
- } else t9 = $[19];
91
+ $[18] = t7;
92
+ $[19] = t8;
93
+ $[20] = t9;
94
+ } else t9 = $[20];
91
95
  let t10;
92
- if ($[20] !== children) {
96
+ if ($[21] !== children) {
93
97
  t10 = /* @__PURE__ */ jsx("div", {
94
98
  className: "flex-1 overflow-auto",
95
99
  children: /* @__PURE__ */ jsx("div", {
@@ -97,29 +101,29 @@ const SidePanel = (t0) => {
97
101
  children
98
102
  })
99
103
  });
100
- $[20] = children;
101
- $[21] = t10;
102
- } else t10 = $[21];
104
+ $[21] = children;
105
+ $[22] = t10;
106
+ } else t10 = $[22];
103
107
  let t11;
104
- if ($[22] !== t10 || $[23] !== t9) {
108
+ if ($[23] !== t10 || $[24] !== t9) {
105
109
  t11 = /* @__PURE__ */ jsxs("div", {
106
110
  className: "flex flex-col size-full",
107
111
  children: [t9, t10]
108
112
  });
109
- $[22] = t10;
110
- $[23] = t9;
111
- $[24] = t11;
112
- } else t11 = $[24];
113
+ $[23] = t10;
114
+ $[24] = t9;
115
+ $[25] = t11;
116
+ } else t11 = $[25];
113
117
  let t12;
114
- if ($[25] !== t1 || $[26] !== t11) {
118
+ if ($[26] !== t1 || $[27] !== t11) {
115
119
  t12 = /* @__PURE__ */ jsx("div", {
116
120
  className: t1,
117
121
  children: t11
118
122
  });
119
- $[25] = t1;
120
- $[26] = t11;
121
- $[27] = t12;
122
- } else t12 = $[27];
123
+ $[26] = t1;
124
+ $[27] = t11;
125
+ $[28] = t12;
126
+ } else t12 = $[28];
123
127
  return t12;
124
128
  };
125
129
  SidePanel.displayName = "SidePanel";
@@ -1 +1 @@
1
- {"version":3,"file":"side-panel.js","names":["X","FC","cn","Button","PanelDetailItem","label","value","React","ReactNode","highlighted","PanelAction","icon","onClick","PanelProps","title","subtitle","actions","className","children","onClose","SidePanel","t0","$","_c","t1","t2","t3","map","_temp","t4","Symbol","for","t5","t6","t7","t8","t9","t10","t11","t12","displayName","action","index"],"sources":["../../../src/components/ui/side-panel.tsx"],"sourcesContent":["import { X } from 'lucide-react'\nimport type { FC } from 'react'\nimport { cn } from '../../lib/utils'\nimport { Button } from './button'\n\nexport interface PanelDetailItem {\n label: string\n value: string | React.ReactNode\n highlighted?: boolean\n}\n\nexport interface PanelAction {\n icon: React.ReactNode\n onClick: () => void\n label?: string\n}\n\nexport interface PanelProps {\n title: string\n subtitle?: string\n actions?: PanelAction[]\n className?: string\n children?: React.ReactNode\n onClose?: () => void\n}\n\nexport const SidePanel: FC<PanelProps> = ({ title, subtitle, actions, className, children, onClose }) => {\n return (\n <div\n className={cn('bg-muted-foreground/5 text-foreground border-l border-border overflow-hidden w-1/3', className)}\n >\n <div className=\"flex flex-col size-full\">\n <div className=\"relative shrink-0 w-full border-b border-border\">\n <div className=\"flex flex-col gap-0 p-4\">\n <div className=\"flex items-center justify-between w-full\">\n <div className=\"text-lg font-semibold text-foreground tracking-[-0.25px] leading-tight\">{title}</div>\n <div className=\"flex items-center gap-1\">\n {actions?.map((action, index) => (\n <Button key={index} onClick={action.onClick} variant=\"ghost\" size=\"icon\" aria-label={action.label}>\n {action.icon}\n </Button>\n ))}\n <Button onClick={onClose} variant=\"ghost\" size=\"icon\" aria-label=\"Close\">\n <X className=\"w-4 h-4 text-muted-foreground\" />\n </Button>\n </div>\n </div>\n {subtitle && (\n <div className=\"text-md font-medium text-muted-foreground tracking-[-0.25px] leading-tight\">\n {subtitle}\n </div>\n )}\n </div>\n </div>\n\n <div className=\"flex-1 overflow-auto\">\n <div className=\"flex flex-col gap-2 p-4\">{children}</div>\n </div>\n </div>\n </div>\n )\n}\n\nSidePanel.displayName = 'SidePanel'\n"],"mappings":"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"}
1
+ {"version":3,"file":"side-panel.js","names":["X","FC","cn","Button","PanelDetailItem","label","value","React","ReactNode","highlighted","PanelAction","icon","onClick","PanelProps","title","subtitle","actions","className","children","onClose","SidePanel","t0","$","_c","$i","Symbol","for","t1","t2","t3","map","_temp","t4","t5","t6","t7","t8","t9","t10","t11","t12","displayName","action","index"],"sources":["../../../src/components/ui/side-panel.tsx"],"sourcesContent":["import { X } from 'lucide-react'\nimport type { FC } from 'react'\nimport { cn } from '../../lib/utils'\nimport { Button } from './button'\n\nexport interface PanelDetailItem {\n label: string\n value: string | React.ReactNode\n highlighted?: boolean\n}\n\nexport interface PanelAction {\n icon: React.ReactNode\n onClick: () => void\n label?: string\n}\n\nexport interface PanelProps {\n title: string\n subtitle?: string\n actions?: PanelAction[]\n className?: string\n children?: React.ReactNode\n onClose?: () => void\n}\n\nexport const SidePanel: FC<PanelProps> = ({ title, subtitle, actions, className, children, onClose }) => {\n return (\n <div\n className={cn('bg-muted-foreground/5 text-foreground border-l border-border overflow-hidden w-1/3', className)}\n >\n <div className=\"flex flex-col size-full\">\n <div className=\"relative shrink-0 w-full border-b border-border\">\n <div className=\"flex flex-col gap-0 p-4\">\n <div className=\"flex items-center justify-between w-full\">\n <div className=\"text-lg font-semibold text-foreground tracking-[-0.25px] leading-tight\">{title}</div>\n <div className=\"flex items-center gap-1\">\n {actions?.map((action, index) => (\n <Button key={index} onClick={action.onClick} variant=\"ghost\" size=\"icon\" aria-label={action.label}>\n {action.icon}\n </Button>\n ))}\n <Button onClick={onClose} variant=\"ghost\" size=\"icon\" aria-label=\"Close\">\n <X className=\"w-4 h-4 text-muted-foreground\" />\n </Button>\n </div>\n </div>\n {subtitle && (\n <div className=\"text-md font-medium text-muted-foreground tracking-[-0.25px] leading-tight\">\n {subtitle}\n </div>\n )}\n </div>\n </div>\n\n <div className=\"flex-1 overflow-auto\">\n <div className=\"flex flex-col gap-2 p-4\">{children}</div>\n </div>\n </div>\n </div>\n )\n}\n\nSidePanel.displayName = 'SidePanel'\n"],"mappings":"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"}
@@ -10,44 +10,48 @@ import { useResizable } from "react-use-resizable";
10
10
  const APP_SIDEBAR_CONTAINER_ID = "app-sidebar-container";
11
11
  const CLOSE_PREVIOUS_SIDEBAR_EVENT = "close-previous-sidebar";
12
12
  const Sidebar = (t0) => {
13
- const $ = c(29);
13
+ const $ = c(30);
14
+ if ($[0] !== "2d038c97da230ef76b013d9bf722504b2323d8b19cafc19547e60c7328f1f3f3") {
15
+ for (let $i = 0; $i < 30; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
16
+ $[0] = "2d038c97da230ef76b013d9bf722504b2323d8b19cafc19547e60c7328f1f3f3";
17
+ }
14
18
  let containerId;
15
19
  let initialWidth;
16
20
  let onClose;
17
21
  let props;
18
- if ($[0] !== t0) {
22
+ if ($[1] !== t0) {
19
23
  ({initialWidth, onClose, containerId, ...props} = t0);
20
- $[0] = t0;
21
- $[1] = containerId;
22
- $[2] = initialWidth;
23
- $[3] = onClose;
24
- $[4] = props;
24
+ $[1] = t0;
25
+ $[2] = containerId;
26
+ $[3] = initialWidth;
27
+ $[4] = onClose;
28
+ $[5] = props;
25
29
  } else {
26
- containerId = $[1];
27
- initialWidth = $[2];
28
- onClose = $[3];
29
- props = $[4];
30
+ containerId = $[2];
31
+ initialWidth = $[3];
32
+ onClose = $[4];
33
+ props = $[5];
30
34
  }
31
35
  let t1;
32
- if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
36
+ if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
33
37
  t1 = Symbol();
34
- $[5] = t1;
35
- } else t1 = $[5];
38
+ $[6] = t1;
39
+ } else t1 = $[6];
36
40
  const sidebarId = t1;
37
41
  const t2 = initialWidth ?? 400;
38
42
  let t3;
39
43
  let t4;
40
- if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
44
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
41
45
  t3 = _temp;
42
46
  t4 = _temp2;
43
- $[6] = t3;
44
- $[7] = t4;
47
+ $[7] = t3;
48
+ $[8] = t4;
45
49
  } else {
46
- t3 = $[6];
47
- t4 = $[7];
50
+ t3 = $[7];
51
+ t4 = $[8];
48
52
  }
49
53
  let t5;
50
- if ($[8] !== t2) {
54
+ if ($[9] !== t2) {
51
55
  t5 = {
52
56
  lockVertical: true,
53
57
  initialWidth: t2,
@@ -55,13 +59,13 @@ const Sidebar = (t0) => {
55
59
  onDragStart: t3,
56
60
  onDragEnd: t4
57
61
  };
58
- $[8] = t2;
59
- $[9] = t5;
60
- } else t5 = $[9];
62
+ $[9] = t2;
63
+ $[10] = t5;
64
+ } else t5 = $[10];
61
65
  const { getRootProps, getHandleProps } = useResizable(t5);
62
66
  let t6;
63
67
  let t7;
64
- if ($[10] !== onClose) {
68
+ if ($[11] !== onClose) {
65
69
  t6 = () => {
66
70
  const event = new CustomEvent(CLOSE_PREVIOUS_SIDEBAR_EVENT, { detail: { sidebarId } });
67
71
  window.dispatchEvent(event);
@@ -74,71 +78,71 @@ const Sidebar = (t0) => {
74
78
  };
75
79
  };
76
80
  t7 = [sidebarId, onClose];
77
- $[10] = onClose;
78
- $[11] = t6;
79
- $[12] = t7;
81
+ $[11] = onClose;
82
+ $[12] = t6;
83
+ $[13] = t7;
80
84
  } else {
81
- t6 = $[11];
82
- t7 = $[12];
85
+ t6 = $[12];
86
+ t7 = $[13];
83
87
  }
84
88
  useEffect(t6, t7);
85
89
  let t8;
86
- if ($[13] !== getRootProps) {
90
+ if ($[14] !== getRootProps) {
87
91
  t8 = getRootProps();
88
- $[13] = getRootProps;
89
- $[14] = t8;
90
- } else t8 = $[14];
92
+ $[14] = getRootProps;
93
+ $[15] = t8;
94
+ } else t8 = $[15];
91
95
  let t9;
92
- if ($[15] !== getHandleProps) {
96
+ if ($[16] !== getHandleProps) {
93
97
  t9 = getHandleProps({ reverse: true });
94
- $[15] = getHandleProps;
95
- $[16] = t9;
96
- } else t9 = $[16];
98
+ $[16] = getHandleProps;
99
+ $[17] = t9;
100
+ } else t9 = $[17];
97
101
  let t10;
98
- if ($[17] === Symbol.for("react.memo_cache_sentinel")) {
102
+ if ($[18] === Symbol.for("react.memo_cache_sentinel")) {
99
103
  t10 = /* @__PURE__ */ jsx(Equal, { className: "rotate-90 w-4 h-4 text-muted-foreground" });
100
- $[17] = t10;
101
- } else t10 = $[17];
104
+ $[18] = t10;
105
+ } else t10 = $[18];
102
106
  let t11;
103
- if ($[18] !== t9) {
107
+ if ($[19] !== t9) {
104
108
  t11 = /* @__PURE__ */ jsx("div", {
105
109
  ...t9,
106
110
  className: "flex h-6 w-6 items-center justify-center rounded-full bg-background border border-border absolute top-1/2 -translate-y-1/2 -left-4 z-20",
107
111
  children: t10
108
112
  });
109
- $[18] = t9;
110
- $[19] = t11;
111
- } else t11 = $[19];
113
+ $[19] = t9;
114
+ $[20] = t11;
115
+ } else t11 = $[20];
112
116
  let t12;
113
- if ($[20] !== props) {
117
+ if ($[21] !== props) {
114
118
  t12 = /* @__PURE__ */ jsx(Panel, {
115
119
  ...props,
116
120
  variant: "outlined",
117
121
  className: "max-h-[calc(100vh-80px)] h-full",
118
122
  "data-testid": "sidebar-panel"
119
123
  });
120
- $[20] = props;
121
- $[21] = t12;
122
- } else t12 = $[21];
124
+ $[21] = props;
125
+ $[22] = t12;
126
+ } else t12 = $[22];
123
127
  let t13;
124
- if ($[22] !== t11 || $[23] !== t12 || $[24] !== t8) {
128
+ if ($[23] !== t11 || $[24] !== t12 || $[25] !== t8) {
125
129
  t13 = /* @__PURE__ */ jsxs("div", {
126
130
  ...t8,
127
131
  className: "pr-2 py-2 relative",
128
132
  children: [t11, t12]
129
133
  });
130
- $[22] = t11;
131
- $[23] = t12;
132
- $[24] = t8;
133
- $[25] = t13;
134
- } else t13 = $[25];
134
+ $[23] = t11;
135
+ $[24] = t12;
136
+ $[25] = t8;
137
+ $[26] = t13;
138
+ } else t13 = $[26];
135
139
  let t14;
136
- if ($[26] !== containerId || $[27] !== t13) {
140
+ if ($[27] !== containerId || $[28] !== t13) {
137
141
  t14 = createPortal(t13, document.querySelector(`#${containerId ?? APP_SIDEBAR_CONTAINER_ID}`));
138
- $[26] = containerId;
139
- $[27] = t13;
140
- $[28] = t14;
141
- } else t14 = $[28];
142
+ $[27] = containerId;
143
+ $[28] = t13;
144
+ $[29] = t14;
145
+ } else t14 = $[29];
142
146
  return t14;
143
147
  };
144
148
  function _temp() {
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.js","names":["Equal","FC","useEffect","useMemo","createPortal","useResizable","Panel","PanelProps","APP_SIDEBAR_CONTAINER_ID","CLOSE_PREVIOUS_SIDEBAR_EVENT","SidebarProps","onClose","initialWidth","containerId","Sidebar","t0","$","_c","props","t1","Symbol","for","sidebarId","t2","t3","t4","_temp","_temp2","t5","lockVertical","initialHeight","onDragStart","onDragEnd","getRootProps","getHandleProps","t6","t7","event","CustomEvent","detail","window","dispatchEvent","handleClose","e","customEvent","addEventListener","removeEventListener","t8","t9","reverse","t10","t11","t12","t13","t14","document","querySelector","HTMLDivElement","body","style","userSelect"],"sources":["../../../src/components/ui/sidebar.tsx"],"sourcesContent":["import { Equal } from 'lucide-react'\nimport { type FC, useEffect, useMemo } from 'react'\nimport { createPortal } from 'react-dom'\nimport { useResizable } from 'react-use-resizable'\nimport { Panel, type PanelProps } from './panel'\n\nexport const APP_SIDEBAR_CONTAINER_ID = 'app-sidebar-container'\n\nconst CLOSE_PREVIOUS_SIDEBAR_EVENT = 'close-previous-sidebar'\n\nexport type SidebarProps = PanelProps & {\n onClose: () => void\n initialWidth?: number\n containerId?: string\n}\n\nexport const Sidebar: FC<SidebarProps> = ({ initialWidth, onClose, containerId, ...props }) => {\n const sidebarId = useMemo(() => Symbol(), [])\n const { getRootProps, getHandleProps } = useResizable({\n lockVertical: true,\n initialWidth: initialWidth ?? 400,\n initialHeight: '100%',\n onDragStart: () => {\n document.body.style.userSelect = 'none'\n },\n onDragEnd: () => {\n document.body.style.userSelect = ''\n },\n })\n\n useEffect(() => {\n const event = new CustomEvent(CLOSE_PREVIOUS_SIDEBAR_EVENT, { detail: { sidebarId } })\n window.dispatchEvent(event)\n\n const handleClose = (e: Event) => {\n const customEvent = e as CustomEvent\n if (customEvent.detail.sidebarId !== sidebarId) {\n onClose()\n }\n }\n\n window.addEventListener(CLOSE_PREVIOUS_SIDEBAR_EVENT, handleClose)\n\n return () => {\n window.removeEventListener(CLOSE_PREVIOUS_SIDEBAR_EVENT, handleClose)\n }\n }, [sidebarId, onClose])\n\n return createPortal(\n <div {...getRootProps()} className=\"pr-2 py-2 relative\">\n <div\n {...getHandleProps({\n reverse: true,\n })}\n className=\"flex h-6 w-6 items-center justify-center rounded-full bg-background border border-border absolute top-1/2 -translate-y-1/2 -left-4 z-20\"\n >\n <Equal className=\"rotate-90 w-4 h-4 text-muted-foreground\" />\n </div>\n <Panel {...props} variant=\"outlined\" className=\"max-h-[calc(100vh-80px)] h-full\" data-testid=\"sidebar-panel\" />\n </div>,\n document.querySelector(`#${containerId ?? APP_SIDEBAR_CONTAINER_ID}`) as HTMLDivElement,\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"sidebar.js","names":["Equal","FC","useEffect","useMemo","createPortal","useResizable","Panel","PanelProps","APP_SIDEBAR_CONTAINER_ID","CLOSE_PREVIOUS_SIDEBAR_EVENT","SidebarProps","onClose","initialWidth","containerId","Sidebar","t0","$","_c","$i","Symbol","for","props","t1","sidebarId","t2","t3","t4","_temp","_temp2","t5","lockVertical","initialHeight","onDragStart","onDragEnd","getRootProps","getHandleProps","t6","t7","event","CustomEvent","detail","window","dispatchEvent","handleClose","e","customEvent","addEventListener","removeEventListener","t8","t9","reverse","t10","t11","t12","t13","t14","document","querySelector","HTMLDivElement","body","style","userSelect"],"sources":["../../../src/components/ui/sidebar.tsx"],"sourcesContent":["import { Equal } from 'lucide-react'\nimport { type FC, useEffect, useMemo } from 'react'\nimport { createPortal } from 'react-dom'\nimport { useResizable } from 'react-use-resizable'\nimport { Panel, type PanelProps } from './panel'\n\nexport const APP_SIDEBAR_CONTAINER_ID = 'app-sidebar-container'\n\nconst CLOSE_PREVIOUS_SIDEBAR_EVENT = 'close-previous-sidebar'\n\nexport type SidebarProps = PanelProps & {\n onClose: () => void\n initialWidth?: number\n containerId?: string\n}\n\nexport const Sidebar: FC<SidebarProps> = ({ initialWidth, onClose, containerId, ...props }) => {\n const sidebarId = useMemo(() => Symbol(), [])\n const { getRootProps, getHandleProps } = useResizable({\n lockVertical: true,\n initialWidth: initialWidth ?? 400,\n initialHeight: '100%',\n onDragStart: () => {\n document.body.style.userSelect = 'none'\n },\n onDragEnd: () => {\n document.body.style.userSelect = ''\n },\n })\n\n useEffect(() => {\n const event = new CustomEvent(CLOSE_PREVIOUS_SIDEBAR_EVENT, { detail: { sidebarId } })\n window.dispatchEvent(event)\n\n const handleClose = (e: Event) => {\n const customEvent = e as CustomEvent\n if (customEvent.detail.sidebarId !== sidebarId) {\n onClose()\n }\n }\n\n window.addEventListener(CLOSE_PREVIOUS_SIDEBAR_EVENT, handleClose)\n\n return () => {\n window.removeEventListener(CLOSE_PREVIOUS_SIDEBAR_EVENT, handleClose)\n }\n }, [sidebarId, onClose])\n\n return createPortal(\n <div {...getRootProps()} className=\"pr-2 py-2 relative\">\n <div\n {...getHandleProps({\n reverse: true,\n })}\n className=\"flex h-6 w-6 items-center justify-center rounded-full bg-background border border-border absolute top-1/2 -translate-y-1/2 -left-4 z-20\"\n >\n <Equal className=\"rotate-90 w-4 h-4 text-muted-foreground\" />\n </div>\n <Panel {...props} variant=\"outlined\" className=\"max-h-[calc(100vh-80px)] h-full\" data-testid=\"sidebar-panel\" />\n </div>,\n document.querySelector(`#${containerId ?? APP_SIDEBAR_CONTAINER_ID}`) as HTMLDivElement,\n )\n}\n"],"mappings":"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"}