@motiadev/ui 0.14.0-beta.165-917560 → 0.14.0-beta.165-256670

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 (45) hide show
  1. package/dist/components/ui/background-effect.js +5 -9
  2. package/dist/components/ui/background-effect.js.map +1 -1
  3. package/dist/components/ui/badge.js +19 -23
  4. package/dist/components/ui/badge.js.map +1 -1
  5. package/dist/components/ui/breadcrumb.js +61 -69
  6. package/dist/components/ui/breadcrumb.js.map +1 -1
  7. package/dist/components/ui/button.js +26 -30
  8. package/dist/components/ui/button.js.map +1 -1
  9. package/dist/components/ui/checkbox.js +19 -23
  10. package/dist/components/ui/checkbox.js.map +1 -1
  11. package/dist/components/ui/collapsible-panel.js +94 -110
  12. package/dist/components/ui/collapsible-panel.js.map +1 -1
  13. package/dist/components/ui/container.js +63 -75
  14. package/dist/components/ui/container.js.map +1 -1
  15. package/dist/components/ui/dropdown-menu.js +209 -261
  16. package/dist/components/ui/dropdown-menu.js.map +1 -1
  17. package/dist/components/ui/empty.js +100 -124
  18. package/dist/components/ui/empty.js.map +1 -1
  19. package/dist/components/ui/input.js +23 -27
  20. package/dist/components/ui/input.js.map +1 -1
  21. package/dist/components/ui/label.js +16 -20
  22. package/dist/components/ui/label.js.map +1 -1
  23. package/dist/components/ui/level-dot.js +9 -13
  24. package/dist/components/ui/level-dot.js.map +1 -1
  25. package/dist/components/ui/panel.js +105 -113
  26. package/dist/components/ui/panel.js.map +1 -1
  27. package/dist/components/ui/select.js +163 -191
  28. package/dist/components/ui/select.js.map +1 -1
  29. package/dist/components/ui/side-panel-detail.js +19 -27
  30. package/dist/components/ui/side-panel-detail.js.map +1 -1
  31. package/dist/components/ui/side-panel.js +53 -57
  32. package/dist/components/ui/side-panel.js.map +1 -1
  33. package/dist/components/ui/sidebar.js +59 -63
  34. package/dist/components/ui/sidebar.js.map +1 -1
  35. package/dist/components/ui/table.js +136 -168
  36. package/dist/components/ui/table.js.map +1 -1
  37. package/dist/components/ui/tabs.js +64 -80
  38. package/dist/components/ui/tabs.js.map +1 -1
  39. package/dist/components/ui/textarea.js +16 -20
  40. package/dist/components/ui/textarea.js.map +1 -1
  41. package/dist/components/ui/tooltip.js +20 -24
  42. package/dist/components/ui/tooltip.js.map +1 -1
  43. package/dist/styles.css +4 -10
  44. package/dist/styles.css.map +1 -1
  45. package/package.json +2 -2
@@ -1 +1 @@
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"}
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"}
@@ -6,40 +6,36 @@ import { X } from "lucide-react";
6
6
 
7
7
  //#region src/components/ui/side-panel.tsx
8
8
  const SidePanel = (t0) => {
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
- }
9
+ const $ = c(28);
14
10
  const { title, subtitle, actions, className, children, onClose } = t0;
15
11
  let t1;
16
- if ($[1] !== className) {
12
+ if ($[0] !== className) {
17
13
  t1 = cn("bg-muted-foreground/5 text-foreground border-l border-border overflow-hidden w-1/3", className);
18
- $[1] = className;
19
- $[2] = t1;
20
- } else t1 = $[2];
14
+ $[0] = className;
15
+ $[1] = t1;
16
+ } else t1 = $[1];
21
17
  let t2;
22
- if ($[3] !== title) {
18
+ if ($[2] !== title) {
23
19
  t2 = /* @__PURE__ */ jsx("div", {
24
20
  className: "text-lg font-semibold text-foreground tracking-[-0.25px] leading-tight",
25
21
  children: title
26
22
  });
27
- $[3] = title;
28
- $[4] = t2;
29
- } else t2 = $[4];
23
+ $[2] = title;
24
+ $[3] = t2;
25
+ } else t2 = $[3];
30
26
  let t3;
31
- if ($[5] !== actions) {
27
+ if ($[4] !== actions) {
32
28
  t3 = actions?.map(_temp);
33
- $[5] = actions;
34
- $[6] = t3;
35
- } else t3 = $[6];
29
+ $[4] = actions;
30
+ $[5] = t3;
31
+ } else t3 = $[5];
36
32
  let t4;
37
- if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
33
+ if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
38
34
  t4 = /* @__PURE__ */ jsx(X, { className: "w-4 h-4 text-muted-foreground" });
39
- $[7] = t4;
40
- } else t4 = $[7];
35
+ $[6] = t4;
36
+ } else t4 = $[6];
41
37
  let t5;
42
- if ($[8] !== onClose) {
38
+ if ($[7] !== onClose) {
43
39
  t5 = /* @__PURE__ */ jsx(Button, {
44
40
  onClick: onClose,
45
41
  variant: "ghost",
@@ -47,40 +43,40 @@ const SidePanel = (t0) => {
47
43
  "aria-label": "Close",
48
44
  children: t4
49
45
  });
50
- $[8] = onClose;
51
- $[9] = t5;
52
- } else t5 = $[9];
46
+ $[7] = onClose;
47
+ $[8] = t5;
48
+ } else t5 = $[8];
53
49
  let t6;
54
- if ($[10] !== t3 || $[11] !== t5) {
50
+ if ($[9] !== t3 || $[10] !== t5) {
55
51
  t6 = /* @__PURE__ */ jsxs("div", {
56
52
  className: "flex items-center gap-1",
57
53
  children: [t3, t5]
58
54
  });
59
- $[10] = t3;
60
- $[11] = t5;
61
- $[12] = t6;
62
- } else t6 = $[12];
55
+ $[9] = t3;
56
+ $[10] = t5;
57
+ $[11] = t6;
58
+ } else t6 = $[11];
63
59
  let t7;
64
- if ($[13] !== t2 || $[14] !== t6) {
60
+ if ($[12] !== t2 || $[13] !== t6) {
65
61
  t7 = /* @__PURE__ */ jsxs("div", {
66
62
  className: "flex items-center justify-between w-full",
67
63
  children: [t2, t6]
68
64
  });
69
- $[13] = t2;
70
- $[14] = t6;
71
- $[15] = t7;
72
- } else t7 = $[15];
65
+ $[12] = t2;
66
+ $[13] = t6;
67
+ $[14] = t7;
68
+ } else t7 = $[14];
73
69
  let t8;
74
- if ($[16] !== subtitle) {
70
+ if ($[15] !== subtitle) {
75
71
  t8 = subtitle && /* @__PURE__ */ jsx("div", {
76
72
  className: "text-md font-medium text-muted-foreground tracking-[-0.25px] leading-tight",
77
73
  children: subtitle
78
74
  });
79
- $[16] = subtitle;
80
- $[17] = t8;
81
- } else t8 = $[17];
75
+ $[15] = subtitle;
76
+ $[16] = t8;
77
+ } else t8 = $[16];
82
78
  let t9;
83
- if ($[18] !== t7 || $[19] !== t8) {
79
+ if ($[17] !== t7 || $[18] !== t8) {
84
80
  t9 = /* @__PURE__ */ jsx("div", {
85
81
  className: "relative shrink-0 w-full border-b border-border",
86
82
  children: /* @__PURE__ */ jsxs("div", {
@@ -88,12 +84,12 @@ const SidePanel = (t0) => {
88
84
  children: [t7, t8]
89
85
  })
90
86
  });
91
- $[18] = t7;
92
- $[19] = t8;
93
- $[20] = t9;
94
- } else t9 = $[20];
87
+ $[17] = t7;
88
+ $[18] = t8;
89
+ $[19] = t9;
90
+ } else t9 = $[19];
95
91
  let t10;
96
- if ($[21] !== children) {
92
+ if ($[20] !== children) {
97
93
  t10 = /* @__PURE__ */ jsx("div", {
98
94
  className: "flex-1 overflow-auto",
99
95
  children: /* @__PURE__ */ jsx("div", {
@@ -101,29 +97,29 @@ const SidePanel = (t0) => {
101
97
  children
102
98
  })
103
99
  });
104
- $[21] = children;
105
- $[22] = t10;
106
- } else t10 = $[22];
100
+ $[20] = children;
101
+ $[21] = t10;
102
+ } else t10 = $[21];
107
103
  let t11;
108
- if ($[23] !== t10 || $[24] !== t9) {
104
+ if ($[22] !== t10 || $[23] !== t9) {
109
105
  t11 = /* @__PURE__ */ jsxs("div", {
110
106
  className: "flex flex-col size-full",
111
107
  children: [t9, t10]
112
108
  });
113
- $[23] = t10;
114
- $[24] = t9;
115
- $[25] = t11;
116
- } else t11 = $[25];
109
+ $[22] = t10;
110
+ $[23] = t9;
111
+ $[24] = t11;
112
+ } else t11 = $[24];
117
113
  let t12;
118
- if ($[26] !== t1 || $[27] !== t11) {
114
+ if ($[25] !== t1 || $[26] !== t11) {
119
115
  t12 = /* @__PURE__ */ jsx("div", {
120
116
  className: t1,
121
117
  children: t11
122
118
  });
123
- $[26] = t1;
124
- $[27] = t11;
125
- $[28] = t12;
126
- } else t12 = $[28];
119
+ $[25] = t1;
120
+ $[26] = t11;
121
+ $[27] = t12;
122
+ } else t12 = $[27];
127
123
  return t12;
128
124
  };
129
125
  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","$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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"}
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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"}
@@ -10,48 +10,44 @@ 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(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
- }
13
+ const $ = c(29);
18
14
  let containerId;
19
15
  let initialWidth;
20
16
  let onClose;
21
17
  let props;
22
- if ($[1] !== t0) {
18
+ if ($[0] !== t0) {
23
19
  ({initialWidth, onClose, containerId, ...props} = t0);
24
- $[1] = t0;
25
- $[2] = containerId;
26
- $[3] = initialWidth;
27
- $[4] = onClose;
28
- $[5] = props;
20
+ $[0] = t0;
21
+ $[1] = containerId;
22
+ $[2] = initialWidth;
23
+ $[3] = onClose;
24
+ $[4] = props;
29
25
  } else {
30
- containerId = $[2];
31
- initialWidth = $[3];
32
- onClose = $[4];
33
- props = $[5];
26
+ containerId = $[1];
27
+ initialWidth = $[2];
28
+ onClose = $[3];
29
+ props = $[4];
34
30
  }
35
31
  let t1;
36
- if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
32
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
37
33
  t1 = Symbol();
38
- $[6] = t1;
39
- } else t1 = $[6];
34
+ $[5] = t1;
35
+ } else t1 = $[5];
40
36
  const sidebarId = t1;
41
37
  const t2 = initialWidth ?? 400;
42
38
  let t3;
43
39
  let t4;
44
- if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
40
+ if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
45
41
  t3 = _temp;
46
42
  t4 = _temp2;
47
- $[7] = t3;
48
- $[8] = t4;
43
+ $[6] = t3;
44
+ $[7] = t4;
49
45
  } else {
50
- t3 = $[7];
51
- t4 = $[8];
46
+ t3 = $[6];
47
+ t4 = $[7];
52
48
  }
53
49
  let t5;
54
- if ($[9] !== t2) {
50
+ if ($[8] !== t2) {
55
51
  t5 = {
56
52
  lockVertical: true,
57
53
  initialWidth: t2,
@@ -59,13 +55,13 @@ const Sidebar = (t0) => {
59
55
  onDragStart: t3,
60
56
  onDragEnd: t4
61
57
  };
62
- $[9] = t2;
63
- $[10] = t5;
64
- } else t5 = $[10];
58
+ $[8] = t2;
59
+ $[9] = t5;
60
+ } else t5 = $[9];
65
61
  const { getRootProps, getHandleProps } = useResizable(t5);
66
62
  let t6;
67
63
  let t7;
68
- if ($[11] !== onClose) {
64
+ if ($[10] !== onClose) {
69
65
  t6 = () => {
70
66
  const event = new CustomEvent(CLOSE_PREVIOUS_SIDEBAR_EVENT, { detail: { sidebarId } });
71
67
  window.dispatchEvent(event);
@@ -78,71 +74,71 @@ const Sidebar = (t0) => {
78
74
  };
79
75
  };
80
76
  t7 = [sidebarId, onClose];
81
- $[11] = onClose;
82
- $[12] = t6;
83
- $[13] = t7;
77
+ $[10] = onClose;
78
+ $[11] = t6;
79
+ $[12] = t7;
84
80
  } else {
85
- t6 = $[12];
86
- t7 = $[13];
81
+ t6 = $[11];
82
+ t7 = $[12];
87
83
  }
88
84
  useEffect(t6, t7);
89
85
  let t8;
90
- if ($[14] !== getRootProps) {
86
+ if ($[13] !== getRootProps) {
91
87
  t8 = getRootProps();
92
- $[14] = getRootProps;
93
- $[15] = t8;
94
- } else t8 = $[15];
88
+ $[13] = getRootProps;
89
+ $[14] = t8;
90
+ } else t8 = $[14];
95
91
  let t9;
96
- if ($[16] !== getHandleProps) {
92
+ if ($[15] !== getHandleProps) {
97
93
  t9 = getHandleProps({ reverse: true });
98
- $[16] = getHandleProps;
99
- $[17] = t9;
100
- } else t9 = $[17];
94
+ $[15] = getHandleProps;
95
+ $[16] = t9;
96
+ } else t9 = $[16];
101
97
  let t10;
102
- if ($[18] === Symbol.for("react.memo_cache_sentinel")) {
98
+ if ($[17] === Symbol.for("react.memo_cache_sentinel")) {
103
99
  t10 = /* @__PURE__ */ jsx(Equal, { className: "rotate-90 w-4 h-4 text-muted-foreground" });
104
- $[18] = t10;
105
- } else t10 = $[18];
100
+ $[17] = t10;
101
+ } else t10 = $[17];
106
102
  let t11;
107
- if ($[19] !== t9) {
103
+ if ($[18] !== t9) {
108
104
  t11 = /* @__PURE__ */ jsx("div", {
109
105
  ...t9,
110
106
  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",
111
107
  children: t10
112
108
  });
113
- $[19] = t9;
114
- $[20] = t11;
115
- } else t11 = $[20];
109
+ $[18] = t9;
110
+ $[19] = t11;
111
+ } else t11 = $[19];
116
112
  let t12;
117
- if ($[21] !== props) {
113
+ if ($[20] !== props) {
118
114
  t12 = /* @__PURE__ */ jsx(Panel, {
119
115
  ...props,
120
116
  variant: "outlined",
121
117
  className: "max-h-[calc(100vh-80px)] h-full",
122
118
  "data-testid": "sidebar-panel"
123
119
  });
124
- $[21] = props;
125
- $[22] = t12;
126
- } else t12 = $[22];
120
+ $[20] = props;
121
+ $[21] = t12;
122
+ } else t12 = $[21];
127
123
  let t13;
128
- if ($[23] !== t11 || $[24] !== t12 || $[25] !== t8) {
124
+ if ($[22] !== t11 || $[23] !== t12 || $[24] !== t8) {
129
125
  t13 = /* @__PURE__ */ jsxs("div", {
130
126
  ...t8,
131
127
  className: "pr-2 py-2 relative",
132
128
  children: [t11, t12]
133
129
  });
134
- $[23] = t11;
135
- $[24] = t12;
136
- $[25] = t8;
137
- $[26] = t13;
138
- } else t13 = $[26];
130
+ $[22] = t11;
131
+ $[23] = t12;
132
+ $[24] = t8;
133
+ $[25] = t13;
134
+ } else t13 = $[25];
139
135
  let t14;
140
- if ($[27] !== containerId || $[28] !== t13) {
136
+ if ($[26] !== containerId || $[27] !== t13) {
141
137
  t14 = createPortal(t13, document.querySelector(`#${containerId ?? APP_SIDEBAR_CONTAINER_ID}`));
142
- $[27] = containerId;
143
- $[28] = t13;
144
- $[29] = t14;
145
- } else t14 = $[29];
138
+ $[26] = containerId;
139
+ $[27] = t13;
140
+ $[28] = t14;
141
+ } else t14 = $[28];
146
142
  return t14;
147
143
  };
148
144
  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","$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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"}
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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"}