@gv-tech/ui-web 2.9.1 → 2.12.0

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 (214) hide show
  1. package/dist/accordion.cjs.js +1 -0
  2. package/dist/accordion.d.ts +18 -0
  3. package/dist/accordion.es.js +259 -0
  4. package/dist/alert-dialog.cjs.js +7 -0
  5. package/dist/alert-dialog.d.ts +43 -0
  6. package/dist/alert-dialog.es.js +171 -0
  7. package/dist/alert.cjs.js +1 -0
  8. package/dist/alert.d.ts +18 -0
  9. package/dist/alert.es.js +32 -0
  10. package/dist/aspect-ratio.cjs.js +1 -0
  11. package/dist/aspect-ratio.d.ts +10 -0
  12. package/dist/aspect-ratio.es.js +43 -0
  13. package/dist/avatar.cjs.js +1 -0
  14. package/dist/avatar.d.ts +15 -0
  15. package/dist/avatar.es.js +205 -0
  16. package/dist/badge.cjs.js +1 -0
  17. package/dist/badge.d.ts +16 -0
  18. package/dist/badge.es.js +26 -0
  19. package/dist/breadcrumb.cjs.js +1 -0
  20. package/dist/breadcrumb.d.ts +35 -0
  21. package/dist/breadcrumb.es.js +69 -0
  22. package/dist/button.cjs.js +1 -0
  23. package/dist/button.d.ts +17 -0
  24. package/dist/button.es.js +40 -0
  25. package/dist/calendar.cjs.js +1 -0
  26. package/dist/calendar.d.ts +29 -0
  27. package/dist/calendar.es.js +2976 -0
  28. package/dist/card.cjs.js +1 -0
  29. package/dist/card.d.ts +19 -0
  30. package/dist/card.es.js +33 -0
  31. package/dist/carousel.cjs.js +1 -0
  32. package/dist/carousel.d.ts +50 -0
  33. package/dist/carousel.es.js +1403 -0
  34. package/dist/chart.cjs.js +16 -0
  35. package/dist/chart.d.ts +60 -0
  36. package/dist/chart.es.js +4402 -0
  37. package/dist/checkbox.cjs.js +1 -0
  38. package/dist/checkbox.d.ts +10 -0
  39. package/dist/checkbox.es.js +258 -0
  40. package/dist/collapsible.cjs.js +1 -0
  41. package/dist/collapsible.d.ts +20 -0
  42. package/dist/collapsible.es.js +7 -0
  43. package/dist/command.cjs.js +1 -0
  44. package/dist/command.d.ts +115 -0
  45. package/dist/command.es.js +396 -0
  46. package/dist/context-menu.cjs.js +1 -0
  47. package/dist/context-menu.d.ts +80 -0
  48. package/dist/context-menu.es.js +328 -0
  49. package/dist/dialog.cjs.js +1 -0
  50. package/dist/dialog.d.ts +31 -0
  51. package/dist/dialog.es.js +66 -0
  52. package/dist/drawer.cjs.js +3 -0
  53. package/dist/drawer.d.ts +65 -0
  54. package/dist/drawer.es.js +1085 -0
  55. package/dist/dropdown-menu.cjs.js +1 -0
  56. package/dist/dropdown-menu.d.ts +80 -0
  57. package/dist/dropdown-menu.es.js +316 -0
  58. package/dist/form.cjs.js +1 -0
  59. package/dist/form.d.ts +53 -0
  60. package/dist/form.es.js +355 -0
  61. package/dist/hover-card.cjs.js +1 -0
  62. package/dist/hover-card.d.ts +19 -0
  63. package/dist/hover-card.es.js +188 -0
  64. package/dist/index-0ioNhtNM.mjs +10 -0
  65. package/dist/index-3j-XAIXT.mjs +55 -0
  66. package/dist/index-B2XtpfGY.js +1 -0
  67. package/dist/index-B39Lzq0v.js +1 -0
  68. package/dist/index-B7n6fy75.js +1 -0
  69. package/dist/index-B8dxbSWX.js +41 -0
  70. package/dist/index-BGIK9FQF.js +1 -0
  71. package/dist/index-BZPx6jYI.mjs +8 -0
  72. package/dist/index-BoNjHhm4.js +1 -0
  73. package/dist/index-BtZvtDmp.js +1 -0
  74. package/dist/index-Bv7qrYW6.mjs +180 -0
  75. package/dist/index-ByiPJW53.js +5 -0
  76. package/dist/index-C0dlIQIi.js +1 -0
  77. package/dist/index-C1qb0595.mjs +27 -0
  78. package/dist/index-C7HEunrh.mjs +15 -0
  79. package/dist/index-C8ni3LLa.js +1 -0
  80. package/dist/index-CCKe-Mpx.mjs +6 -0
  81. package/dist/index-CD6_IrA-.mjs +10 -0
  82. package/dist/index-CRyCZJLa.mjs +677 -0
  83. package/dist/index-CVx1AgNG.mjs +615 -0
  84. package/dist/index-Ce5TOFAK.js +1 -0
  85. package/dist/index-CeSLNJ60.mjs +32 -0
  86. package/dist/index-CefEQe_4.js +1 -0
  87. package/dist/index-Cj5hzyBi.js +1 -0
  88. package/dist/index-Cjj_rUPu.js +1 -0
  89. package/dist/index-Cl3G0jzM.js +1 -0
  90. package/dist/index-CsjrqSSN.js +1 -0
  91. package/dist/index-CwfE56Ep.mjs +1545 -0
  92. package/dist/index-CwyAfCwY.js +1 -0
  93. package/dist/index-CzY-WZXL.js +1 -0
  94. package/dist/index-D2HnlO3y.js +1 -0
  95. package/dist/index-DAWHN3cH.mjs +85 -0
  96. package/dist/index-DFdF7K7v.mjs +50 -0
  97. package/dist/index-DIsg7zU7.js +1 -0
  98. package/dist/index-DKN_vhyX.mjs +32 -0
  99. package/dist/index-DLcqcWxM.mjs +29 -0
  100. package/dist/index-DSxf1gN6.mjs +118 -0
  101. package/dist/index-DYxWvftI.js +1 -0
  102. package/dist/index-DaILh3TV.mjs +32 -0
  103. package/dist/index-Dfzl8TxY.mjs +136 -0
  104. package/dist/index-Dko2XdTk.js +1 -0
  105. package/dist/index-DlY82G31.mjs +245 -0
  106. package/dist/index-DnFcfnA9.mjs +13 -0
  107. package/dist/index-IZ2gq03c.mjs +68 -0
  108. package/dist/index-K9FzbxYw.mjs +93 -0
  109. package/dist/index-Le8p9oP4.mjs +60 -0
  110. package/dist/index-MQ0c3ZX_.js +1 -0
  111. package/dist/index-_XxjJPRD.js +1 -0
  112. package/dist/index-_wdrnYim.js +1 -0
  113. package/dist/index-jv3B4mTd.js +1 -0
  114. package/dist/index-kaM0u2Q1.js +1 -0
  115. package/dist/index-p6xVFRb4.mjs +52 -0
  116. package/dist/index-rKs9bXHr.mjs +6 -0
  117. package/dist/index-vuPgkS0V.mjs +70 -0
  118. package/dist/index.cjs.js +1 -0
  119. package/dist/index.d.ts +1288 -0
  120. package/dist/index.es.js +289 -0
  121. package/dist/input.cjs.js +1 -0
  122. package/dist/input.d.ts +9 -0
  123. package/dist/input.es.js +19 -0
  124. package/dist/jsx-runtime-nZSsnGb7.js +6 -0
  125. package/dist/jsx-runtime-tc70JA_2.mjs +264 -0
  126. package/dist/label.cjs.js +1 -0
  127. package/dist/label.d.ts +11 -0
  128. package/dist/label.es.js +22 -0
  129. package/dist/menubar.cjs.js +1 -0
  130. package/dist/menubar.d.ts +79 -0
  131. package/dist/menubar.es.js +473 -0
  132. package/dist/navigation-menu.cjs.js +1 -0
  133. package/dist/navigation-menu.d.ts +47 -0
  134. package/dist/navigation-menu.es.js +673 -0
  135. package/dist/pagination.cjs.js +1 -0
  136. package/dist/pagination.d.ts +68 -0
  137. package/dist/pagination.es.js +68 -0
  138. package/dist/popover.cjs.js +1 -0
  139. package/dist/popover.d.ts +24 -0
  140. package/dist/popover.es.js +242 -0
  141. package/dist/progress.cjs.js +6 -0
  142. package/dist/progress.d.ts +9 -0
  143. package/dist/progress.es.js +99 -0
  144. package/dist/radio-group.cjs.js +1 -0
  145. package/dist/radio-group.d.ts +16 -0
  146. package/dist/radio-group.es.js +253 -0
  147. package/dist/resizable.cjs.js +1 -0
  148. package/dist/resizable.d.ts +22 -0
  149. package/dist/resizable.es.js +1990 -0
  150. package/dist/scroll-area.cjs.js +1 -0
  151. package/dist/scroll-area.d.ts +14 -0
  152. package/dist/scroll-area.es.js +546 -0
  153. package/dist/search.cjs.js +1 -0
  154. package/dist/search.d.ts +15 -0
  155. package/dist/search.es.js +51 -0
  156. package/dist/select.cjs.js +1 -0
  157. package/dist/select.d.ts +54 -0
  158. package/dist/select.es.js +908 -0
  159. package/dist/separator.cjs.js +1 -0
  160. package/dist/separator.d.ts +9 -0
  161. package/dist/separator.es.js +35 -0
  162. package/dist/sheet.cjs.js +1 -0
  163. package/dist/sheet.d.ts +68 -0
  164. package/dist/sheet.es.js +66 -0
  165. package/dist/skeleton.cjs.js +1 -0
  166. package/dist/skeleton.d.ts +9 -0
  167. package/dist/skeleton.es.js +8 -0
  168. package/dist/slider.cjs.js +1 -0
  169. package/dist/slider.d.ts +9 -0
  170. package/dist/slider.es.js +442 -0
  171. package/dist/sonner.cjs.js +1 -0
  172. package/dist/sonner.d.ts +10 -0
  173. package/dist/sonner.es.js +764 -0
  174. package/dist/switch.cjs.js +1 -0
  175. package/dist/switch.d.ts +9 -0
  176. package/dist/switch.es.js +149 -0
  177. package/dist/table.cjs.js +1 -0
  178. package/dist/table.d.ts +43 -0
  179. package/dist/table.es.js +57 -0
  180. package/dist/tabs.cjs.js +1 -0
  181. package/dist/tabs.d.ts +24 -0
  182. package/dist/tabs.es.js +195 -0
  183. package/dist/text.cjs.js +1 -0
  184. package/dist/text.d.ts +17 -0
  185. package/dist/text.es.js +42 -0
  186. package/dist/textarea.cjs.js +1 -0
  187. package/dist/textarea.d.ts +9 -0
  188. package/dist/textarea.es.js +18 -0
  189. package/dist/theme-provider.cjs.js +1 -0
  190. package/dist/theme-provider.d.ts +9 -0
  191. package/dist/theme-provider.es.js +8 -0
  192. package/dist/theme-toggle.cjs.js +1 -0
  193. package/dist/theme-toggle.d.ts +8 -0
  194. package/dist/theme-toggle.es.js +78 -0
  195. package/dist/toast.cjs.js +1 -0
  196. package/dist/toast.d.ts +26 -0
  197. package/dist/toast.es.js +494 -0
  198. package/dist/toaster-CIpfms4W.js +1 -0
  199. package/dist/toaster-jBYXAPRk.mjs +118 -0
  200. package/dist/toaster.cjs.js +1 -0
  201. package/dist/toaster.d.ts +6 -0
  202. package/dist/toaster.es.js +6 -0
  203. package/dist/toggle-group.cjs.js +1 -0
  204. package/dist/toggle-group.d.ts +18 -0
  205. package/dist/toggle-group.es.js +170 -0
  206. package/dist/toggle.cjs.js +1 -0
  207. package/dist/toggle.d.ts +14 -0
  208. package/dist/toggle.es.js +14 -0
  209. package/dist/tooltip.cjs.js +1 -0
  210. package/dist/tooltip.d.ts +25 -0
  211. package/dist/tooltip.es.js +342 -0
  212. package/dist/utils-B6yFEsav.mjs +8 -0
  213. package/dist/utils-IjLH3w2e.js +1 -0
  214. package/package.json +1 -1
@@ -0,0 +1,253 @@
1
+ import { j as t } from "./jsx-runtime-tc70JA_2.mjs";
2
+ import * as n from "react";
3
+ import { P as x, c as w } from "./index-K9FzbxYw.mjs";
4
+ import { u as C } from "./index-DLcqcWxM.mjs";
5
+ import { c as N } from "./index-IZ2gq03c.mjs";
6
+ import { R as K, I as T, c as g } from "./index-Bv7qrYW6.mjs";
7
+ import { u as U } from "./index-p6xVFRb4.mjs";
8
+ import { u as V } from "./index-CD6_IrA-.mjs";
9
+ import { u as z } from "./index-C1qb0595.mjs";
10
+ import { u as H } from "./index-BZPx6jYI.mjs";
11
+ import { P as $ } from "./index-vuPgkS0V.mjs";
12
+ import { Circle as W } from "lucide-react";
13
+ import { c as E } from "./utils-B6yFEsav.mjs";
14
+ var I = "Radio", [X, P] = N(I), [Y, J] = X(I), _ = n.forwardRef(
15
+ (r, a) => {
16
+ const {
17
+ __scopeRadio: e,
18
+ name: d,
19
+ checked: o = !1,
20
+ required: s,
21
+ disabled: i,
22
+ value: l = "on",
23
+ onCheck: f,
24
+ form: m,
25
+ ...R
26
+ } = r, [p, v] = n.useState(null), c = C(a, (h) => v(h)), u = n.useRef(!1), y = p ? m || !!p.closest("form") : !0;
27
+ return /* @__PURE__ */ t.jsxs(Y, { scope: e, checked: o, disabled: i, children: [
28
+ /* @__PURE__ */ t.jsx(
29
+ x.button,
30
+ {
31
+ type: "button",
32
+ role: "radio",
33
+ "aria-checked": o,
34
+ "data-state": S(o),
35
+ "data-disabled": i ? "" : void 0,
36
+ disabled: i,
37
+ value: l,
38
+ ...R,
39
+ ref: c,
40
+ onClick: w(r.onClick, (h) => {
41
+ o || f?.(), y && (u.current = h.isPropagationStopped(), u.current || h.stopPropagation());
42
+ })
43
+ }
44
+ ),
45
+ y && /* @__PURE__ */ t.jsx(
46
+ G,
47
+ {
48
+ control: p,
49
+ bubbles: !u.current,
50
+ name: d,
51
+ value: l,
52
+ checked: o,
53
+ required: s,
54
+ disabled: i,
55
+ form: m,
56
+ style: { transform: "translateX(-100%)" }
57
+ }
58
+ )
59
+ ] });
60
+ }
61
+ );
62
+ _.displayName = I;
63
+ var j = "RadioIndicator", k = n.forwardRef(
64
+ (r, a) => {
65
+ const { __scopeRadio: e, forceMount: d, ...o } = r, s = J(j, e);
66
+ return /* @__PURE__ */ t.jsx($, { present: d || s.checked, children: /* @__PURE__ */ t.jsx(
67
+ x.span,
68
+ {
69
+ "data-state": S(s.checked),
70
+ "data-disabled": s.disabled ? "" : void 0,
71
+ ...o,
72
+ ref: a
73
+ }
74
+ ) });
75
+ }
76
+ );
77
+ k.displayName = j;
78
+ var Q = "RadioBubbleInput", G = n.forwardRef(
79
+ ({
80
+ __scopeRadio: r,
81
+ control: a,
82
+ checked: e,
83
+ bubbles: d = !0,
84
+ ...o
85
+ }, s) => {
86
+ const i = n.useRef(null), l = C(i, s), f = H(e), m = z(a);
87
+ return n.useEffect(() => {
88
+ const R = i.current;
89
+ if (!R) return;
90
+ const p = window.HTMLInputElement.prototype, c = Object.getOwnPropertyDescriptor(
91
+ p,
92
+ "checked"
93
+ ).set;
94
+ if (f !== e && c) {
95
+ const u = new Event("click", { bubbles: d });
96
+ c.call(R, e), R.dispatchEvent(u);
97
+ }
98
+ }, [f, e, d]), /* @__PURE__ */ t.jsx(
99
+ x.input,
100
+ {
101
+ type: "radio",
102
+ "aria-hidden": !0,
103
+ defaultChecked: e,
104
+ ...o,
105
+ tabIndex: -1,
106
+ ref: l,
107
+ style: {
108
+ ...o.style,
109
+ ...m,
110
+ position: "absolute",
111
+ pointerEvents: "none",
112
+ opacity: 0,
113
+ margin: 0
114
+ }
115
+ }
116
+ );
117
+ }
118
+ );
119
+ G.displayName = Q;
120
+ function S(r) {
121
+ return r ? "checked" : "unchecked";
122
+ }
123
+ var Z = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"], b = "RadioGroup", [ee] = N(b, [
124
+ g,
125
+ P
126
+ ]), A = g(), D = P(), [oe, re] = ee(b), M = n.forwardRef(
127
+ (r, a) => {
128
+ const {
129
+ __scopeRadioGroup: e,
130
+ name: d,
131
+ defaultValue: o,
132
+ value: s,
133
+ required: i = !1,
134
+ disabled: l = !1,
135
+ orientation: f,
136
+ dir: m,
137
+ loop: R = !0,
138
+ onValueChange: p,
139
+ ...v
140
+ } = r, c = A(e), u = V(m), [y, h] = U({
141
+ prop: s,
142
+ defaultProp: o ?? null,
143
+ onChange: p,
144
+ caller: b
145
+ });
146
+ return /* @__PURE__ */ t.jsx(
147
+ oe,
148
+ {
149
+ scope: e,
150
+ name: d,
151
+ required: i,
152
+ disabled: l,
153
+ value: y,
154
+ onValueChange: h,
155
+ children: /* @__PURE__ */ t.jsx(
156
+ K,
157
+ {
158
+ asChild: !0,
159
+ ...c,
160
+ orientation: f,
161
+ dir: u,
162
+ loop: R,
163
+ children: /* @__PURE__ */ t.jsx(
164
+ x.div,
165
+ {
166
+ role: "radiogroup",
167
+ "aria-required": i,
168
+ "aria-orientation": f,
169
+ "data-disabled": l ? "" : void 0,
170
+ dir: u,
171
+ ...v,
172
+ ref: a
173
+ }
174
+ )
175
+ }
176
+ )
177
+ }
178
+ );
179
+ }
180
+ );
181
+ M.displayName = b;
182
+ var O = "RadioGroupItem", F = n.forwardRef(
183
+ (r, a) => {
184
+ const { __scopeRadioGroup: e, disabled: d, ...o } = r, s = re(O, e), i = s.disabled || d, l = A(e), f = D(e), m = n.useRef(null), R = C(a, m), p = s.value === o.value, v = n.useRef(!1);
185
+ return n.useEffect(() => {
186
+ const c = (y) => {
187
+ Z.includes(y.key) && (v.current = !0);
188
+ }, u = () => v.current = !1;
189
+ return document.addEventListener("keydown", c), document.addEventListener("keyup", u), () => {
190
+ document.removeEventListener("keydown", c), document.removeEventListener("keyup", u);
191
+ };
192
+ }, []), /* @__PURE__ */ t.jsx(
193
+ T,
194
+ {
195
+ asChild: !0,
196
+ ...l,
197
+ focusable: !i,
198
+ active: p,
199
+ children: /* @__PURE__ */ t.jsx(
200
+ _,
201
+ {
202
+ disabled: i,
203
+ required: s.required,
204
+ checked: p,
205
+ ...f,
206
+ ...o,
207
+ name: s.name,
208
+ ref: R,
209
+ onCheck: () => s.onValueChange(o.value),
210
+ onKeyDown: w((c) => {
211
+ c.key === "Enter" && c.preventDefault();
212
+ }),
213
+ onFocus: w(o.onFocus, () => {
214
+ v.current && m.current?.click();
215
+ })
216
+ }
217
+ )
218
+ }
219
+ );
220
+ }
221
+ );
222
+ F.displayName = O;
223
+ var te = "RadioGroupIndicator", L = n.forwardRef(
224
+ (r, a) => {
225
+ const { __scopeRadioGroup: e, ...d } = r, o = D(e);
226
+ return /* @__PURE__ */ t.jsx(k, { ...o, ...d, ref: a });
227
+ }
228
+ );
229
+ L.displayName = te;
230
+ var q = M, B = F, ae = L;
231
+ const se = n.forwardRef(
232
+ ({ className: r, ...a }, e) => /* @__PURE__ */ t.jsx(q, { className: E("grid gap-2", r), ...a, ref: e })
233
+ );
234
+ se.displayName = q.displayName;
235
+ const ne = n.forwardRef(
236
+ ({ className: r, ...a }, e) => /* @__PURE__ */ t.jsx(
237
+ B,
238
+ {
239
+ ref: e,
240
+ className: E(
241
+ "border-primary text-primary focus-visible:ring-ring aspect-square h-4 w-4 rounded-full border shadow focus:outline-none focus-visible:ring-1 disabled:cursor-not-allowed disabled:opacity-50",
242
+ r
243
+ ),
244
+ ...a,
245
+ children: /* @__PURE__ */ t.jsx(ae, { className: "flex items-center justify-center", children: /* @__PURE__ */ t.jsx(W, { className: "fill-primary h-3.5 w-3.5" }) })
246
+ }
247
+ )
248
+ );
249
+ ne.displayName = B.displayName;
250
+ export {
251
+ se as RadioGroup,
252
+ ne as RadioGroupItem
253
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const $=require("./jsx-runtime-nZSsnGb7.js"),Ze=require("lucide-react"),P=require("react"),Ge=require("./utils-IjLH3w2e.js");function Qe(e,t){const n=getComputedStyle(e),o=parseFloat(n.fontSize);return t*o}function et(e,t){const n=getComputedStyle(e.ownerDocument.body),o=parseFloat(n.fontSize);return t*o}function tt(e){return e/100*window.innerHeight}function nt(e){return e/100*window.innerWidth}function ot(e){switch(typeof e){case"number":return[e,"px"];case"string":{const t=parseFloat(e);return e.endsWith("%")?[t,"%"]:e.endsWith("px")?[t,"px"]:e.endsWith("rem")?[t,"rem"]:e.endsWith("em")?[t,"em"]:e.endsWith("vh")?[t,"vh"]:e.endsWith("vw")?[t,"vw"]:[t,"%"]}}}function oe({groupSize:e,panelElement:t,styleProp:n}){let o;const[a,i]=ot(n);switch(i){case"%":{o=a/100*e;break}case"px":{o=a;break}case"rem":{o=et(t,a);break}case"em":{o=Qe(t,a);break}case"vh":{o=tt(a);break}case"vw":{o=nt(a);break}}return o}function O(e){return parseFloat(e.toFixed(3))}function Z({group:e}){const{orientation:t,panels:n}=e;return n.reduce((o,a)=>(o+=t==="horizontal"?a.element.offsetWidth:a.element.offsetHeight,o),0)}function le(e){const{panels:t}=e,n=Z({group:e});return n===0?t.map(o=>({collapsedSize:0,collapsible:o.panelConstraints.collapsible===!0,defaultSize:void 0,disabled:o.panelConstraints.disabled,minSize:0,maxSize:100,panelId:o.id})):t.map(o=>{const{element:a,panelConstraints:i}=o;let l=0;if(i.collapsedSize!==void 0){const u=oe({groupSize:n,panelElement:a,styleProp:i.collapsedSize});l=O(u/n*100)}let r;if(i.defaultSize!==void 0){const u=oe({groupSize:n,panelElement:a,styleProp:i.defaultSize});r=O(u/n*100)}let s=0;if(i.minSize!==void 0){const u=oe({groupSize:n,panelElement:a,styleProp:i.minSize});s=O(u/n*100)}let c=100;if(i.maxSize!==void 0){const u=oe({groupSize:n,panelElement:a,styleProp:i.maxSize});c=O(u/n*100)}return{collapsedSize:l,collapsible:i.collapsible===!0,defaultSize:r,disabled:i.disabled,minSize:s,maxSize:c,panelId:o.id}})}function C(e,t="Assertion error"){if(!e)throw Error(t)}function ue(e,t){return Array.from(t).sort(e==="horizontal"?rt:at)}function rt(e,t){const n=e.element.offsetLeft-t.element.offsetLeft;return n!==0?n:e.element.offsetWidth-t.element.offsetWidth}function at(e,t){const n=e.element.offsetTop-t.element.offsetTop;return n!==0?n:e.element.offsetHeight-t.element.offsetHeight}function Te(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function Ie(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function it({orientation:e,rects:t,targetRect:n}){const o={x:n.x+n.width/2,y:n.y+n.height/2};let a,i=Number.MAX_VALUE;for(const l of t){const{x:r,y:s}=Ie(o,l),c=e==="horizontal"?r:s;c<i&&(i=c,a=l)}return C(a,"No rect found"),a}let re;function st(){return re===void 0&&(typeof matchMedia=="function"?re=!!matchMedia("(pointer:coarse)").matches:re=!1),re}function je(e){const{element:t,orientation:n,panels:o,separators:a}=e,i=ue(n,Array.from(t.children).filter(Te).map(h=>({element:h}))).map(({element:h})=>h),l=[];let r=!1,s=!1,c=-1,u=-1,x=0,S,b=[];{let h=-1;for(const d of i)d.hasAttribute("data-panel")&&(h++,d.ariaDisabled===null&&(x++,c===-1&&(c=h),u=h))}if(x>1){let h=-1;for(const d of i)if(d.hasAttribute("data-panel")){h++;const p=o.find(f=>f.element===d);if(p){if(S){const f=S.element.getBoundingClientRect(),v=d.getBoundingClientRect();let y;if(s){const g=n==="horizontal"?new DOMRect(f.right,f.top,0,f.height):new DOMRect(f.left,f.bottom,f.width,0),m=n==="horizontal"?new DOMRect(v.left,v.top,0,v.height):new DOMRect(v.left,v.top,v.width,0);switch(b.length){case 0:{y=[g,m];break}case 1:{const L=b[0],R=it({orientation:n,rects:[f,v],targetRect:L.element.getBoundingClientRect()});y=[L,R===f?m:g];break}default:{y=b;break}}}else b.length?y=b:y=[n==="horizontal"?new DOMRect(f.right,v.top,v.left-f.right,v.height):new DOMRect(v.left,f.bottom,v.width,v.top-f.bottom)];for(const g of y){let m="width"in g?g:g.element.getBoundingClientRect();const L=st()?e.resizeTargetMinimumSize.coarse:e.resizeTargetMinimumSize.fine;if(m.width<L){const M=L-m.width;m=new DOMRect(m.x-M/2,m.y,m.width+M,m.height)}if(m.height<L){const M=L-m.height;m=new DOMRect(m.x,m.y-M/2,m.width,m.height+M)}const R=h<=c||h>u;!r&&!R&&l.push({group:e,groupSize:Z({group:e}),panels:[S,p],separator:"width"in g?void 0:g,rect:m}),r=!1}}s=!1,S=p,b=[]}}else if(d.hasAttribute("data-separator")){d.ariaDisabled!==null&&(r=!0);const p=a.find(f=>f.element===d);p?b.push(p):(S=void 0,b=[])}else s=!0}return l}class lt{#e={};addListener(t,n){const o=this.#e[t];return o===void 0?this.#e[t]=[n]:o.includes(n)||o.push(n),()=>{this.removeListener(t,n)}}emit(t,n){const o=this.#e[t];if(o!==void 0)if(o.length===1)o[0].call(null,n);else{let a=!1,i=null;const l=Array.from(o);for(let r=0;r<l.length;r++){const s=l[r];try{s.call(null,n)}catch(c){i===null&&(a=!0,i=c)}}if(a)throw i}}removeAllListeners(){this.#e={}}removeListener(t,n){const o=this.#e[t];if(o!==void 0){const a=o.indexOf(n);a>=0&&o.splice(a,1)}}}function k(e,t,n=0){return Math.abs(O(e)-O(t))<=n}let j={cursorFlags:0,interactionState:{state:"inactive"},mountedGroups:new Map};const A=new lt;function D(){return j}function G(e){const t=typeof e=="function"?e(j):e;if(j===t)return j;const n=j;return j={...j,...t},t.cursorFlags!==void 0&&A.emit("cursorFlagsChange",j.cursorFlags),t.interactionState!==void 0&&A.emit("interactionStateChange",j.interactionState),t.mountedGroups!==void 0&&(j.mountedGroups.forEach((o,a)=>{o.derivedPanelConstraints.forEach(i=>{if(i.collapsible){const{layout:l}=n.mountedGroups.get(a)??{};if(l){const r=k(i.collapsedSize,o.layout[i.panelId]),s=k(i.collapsedSize,l[i.panelId]);r&&!s&&(a.inMemoryLastExpandedPanelSizes[i.panelId]=l[i.panelId])}}})}),A.emit("mountedGroupsChange",j.mountedGroups)),j}function ut(e,t,n){let o,a={x:1/0,y:1/0};for(const i of t){const l=Ie(n,i.rect);switch(e){case"horizontal":{l.x<=a.x&&(o=i,a=l);break}case"vertical":{l.y<=a.y&&(o=i,a=l);break}}}return o?{distance:a,hitRegion:o}:void 0}function ct(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function dt(e,t){if(e===t)throw new Error("Cannot compare node with itself");const n={a:be(e),b:be(t)};let o;for(;n.a.at(-1)===n.b.at(-1);)o=n.a.pop(),n.b.pop();C(o,"Stacking order can only be calculated for elements with a common ancestor");const a={a:ye(ve(n.a)),b:ye(ve(n.b))};if(a.a===a.b){const i=o.childNodes,l={a:n.a.at(-1),b:n.b.at(-1)};let r=i.length;for(;r--;){const s=i[r];if(s===l.a)return 1;if(s===l.b)return-1}}return Math.sign(a.a-a.b)}const ft=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function pt(e){const t=getComputedStyle(Ne(e)??e).display;return t==="flex"||t==="inline-flex"}function mt(e){const t=getComputedStyle(e);return!!(t.position==="fixed"||t.zIndex!=="auto"&&(t.position!=="static"||pt(e))||+t.opacity<1||"transform"in t&&t.transform!=="none"||"webkitTransform"in t&&t.webkitTransform!=="none"||"mixBlendMode"in t&&t.mixBlendMode!=="normal"||"filter"in t&&t.filter!=="none"||"webkitFilter"in t&&t.webkitFilter!=="none"||"isolation"in t&&t.isolation==="isolate"||ft.test(t.willChange)||t.webkitOverflowScrolling==="touch")}function ve(e){let t=e.length;for(;t--;){const n=e[t];if(C(n,"Missing node"),mt(n))return n}return null}function ye(e){return e&&Number(getComputedStyle(e).zIndex)||0}function be(e){const t=[];for(;e;)t.push(e),e=Ne(e);return t}function Ne(e){const{parentNode:t}=e;return ct(t)?t.host:t}function ht(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function gt({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!Te(n)||n.contains(e)||e.contains(n))return!0;if(dt(n,e)>0){let o=n;for(;o;){if(o.contains(e))return!0;if(ht(o.getBoundingClientRect(),t))return!1;o=o.parentElement}}return!0}function ce(e,t){const n=[];return t.forEach((o,a)=>{if(a.disabled)return;const i=je(a),l=ut(a.orientation,i,{x:e.clientX,y:e.clientY});l&&l.distance.x<=0&&l.distance.y<=0&&gt({groupElement:a.element,hitRegion:l.hitRegion.rect,pointerEventTarget:e.target})&&n.push(l.hitRegion)}),n}function vt(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function F(e,t){return k(e,t)?0:e>t?1:-1}function K({overrideDisabledPanels:e,panelConstraints:t,prevSize:n,size:o}){const{collapsedSize:a=0,collapsible:i,disabled:l,maxSize:r=100,minSize:s=0}=t;if(l&&!e)return n;if(F(o,s)<0)if(i){const c=(a+s)/2;F(o,c)<0?o=a:o=s}else o=s;return o=Math.min(r,o),o=O(o),o}function te({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:o,prevLayout:a,trigger:i}){if(k(e,0))return t;const l=i==="imperative-api",r=Object.values(t),s=Object.values(a),c=[...r],[u,x]=o;C(u!=null,"Invalid first pivot index"),C(x!=null,"Invalid second pivot index");let S=0;switch(i){case"keyboard":{{const d=e<0?x:u,p=n[d];C(p,`Panel constraints not found for index ${d}`);const{collapsedSize:f=0,collapsible:v,minSize:y=0}=p;if(v){const g=r[d];if(C(g!=null,`Previous layout not found for panel index ${d}`),k(g,f)){const m=y-g;F(m,Math.abs(e))>0&&(e=e<0?0-m:m)}}}{const d=e<0?u:x,p=n[d];C(p,`No panel constraints found for index ${d}`);const{collapsedSize:f=0,collapsible:v,minSize:y=0}=p;if(v){const g=r[d];if(C(g!=null,`Previous layout not found for panel index ${d}`),k(g,y)){const m=g-f;F(m,Math.abs(e))>0&&(e=e<0?0-m:m)}}}break}default:{const d=e<0?x:u,p=n[d];C(p,`Panel constraints not found for index ${d}`);const f=r[d],{collapsible:v,collapsedSize:y,minSize:g}=p;if(v&&F(f,g)<0)if(e>0){const m=g-y,L=m/2,R=f+e;F(R,g)<0&&(e=F(e,L)<=0?0:m)}else{const m=g-y,L=100-m/2,R=f-e;F(R,g)<0&&(e=F(100+e,L)>0?0:-m)}break}}{const d=e<0?1:-1;let p=e<0?x:u,f=0;for(;;){const y=r[p];C(y!=null,`Previous layout not found for panel index ${p}`);const g=K({overrideDisabledPanels:l,panelConstraints:n[p],prevSize:y,size:100})-y;if(f+=g,p+=d,p<0||p>=n.length)break}const v=Math.min(Math.abs(e),Math.abs(f));e=e<0?0-v:v}{let d=e<0?u:x;for(;d>=0&&d<n.length;){const p=Math.abs(e)-Math.abs(S),f=r[d];C(f!=null,`Previous layout not found for panel index ${d}`);const v=f-p,y=K({overrideDisabledPanels:l,panelConstraints:n[d],prevSize:f,size:v});if(!k(f,y)&&(S+=f-y,c[d]=y,S.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?d--:d++}}if(vt(s,c))return a;{const d=e<0?x:u,p=r[d];C(p!=null,`Previous layout not found for panel index ${d}`);const f=p+S,v=K({overrideDisabledPanels:l,panelConstraints:n[d],prevSize:p,size:f});if(c[d]=v,!k(v,f)){let y=f-v,g=e<0?x:u;for(;g>=0&&g<n.length;){const m=c[g];C(m!=null,`Previous layout not found for panel index ${g}`);const L=m+y,R=K({overrideDisabledPanels:l,panelConstraints:n[g],prevSize:m,size:L});if(k(m,R)||(y-=R-m,c[g]=R),k(y,0))break;e>0?g--:g++}}}const b=Object.values(c).reduce((d,p)=>p+d,0);if(!k(b,100,.1))return a;const h=Object.keys(a);return c.reduce((d,p,f)=>(d[h[f]]=p,d),{})}function q(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(t[n]===void 0||F(e[n],t[n])!==0)return!1;return!0}function Y({layout:e,panelConstraints:t}){const n=Object.values(e),o=[...n],a=o.reduce((r,s)=>r+s,0);if(o.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${o.map(r=>`${r}%`).join(", ")}`);if(!k(a,100)&&o.length>0)for(let r=0;r<t.length;r++){const s=o[r];C(s!=null,`No layout data found for index ${r}`);const c=100/a*s;o[r]=c}let i=0;for(let r=0;r<t.length;r++){const s=n[r];C(s!=null,`No layout data found for index ${r}`);const c=o[r];C(c!=null,`No layout data found for index ${r}`);const u=K({overrideDisabledPanels:!0,panelConstraints:t[r],prevSize:s,size:c});c!=u&&(i+=c-u,o[r]=u)}if(!k(i,0))for(let r=0;r<t.length;r++){const s=o[r];C(s!=null,`No layout data found for index ${r}`);const c=s+i,u=K({overrideDisabledPanels:!0,panelConstraints:t[r],prevSize:s,size:c});if(s!==u&&(i-=u-s,o[r]=u,k(i,0)))break}const l=Object.keys(e);return o.reduce((r,s,c)=>(r[l[c]]=s,r),{})}function Oe({groupId:e,panelId:t}){const n=()=>{const{mountedGroups:r}=D();for(const[s,{defaultLayoutDeferred:c,derivedPanelConstraints:u,layout:x,separatorToPanels:S}]of r)if(s.id===e)return{defaultLayoutDeferred:c,derivedPanelConstraints:u,group:s,layout:x,separatorToPanels:S};throw Error(`Group ${e} not found`)},o=()=>{const r=n().derivedPanelConstraints.find(s=>s.panelId===t);if(r!==void 0)return r;throw Error(`Panel constraints not found for Panel ${t}`)},a=()=>{const r=n().group.panels.find(s=>s.id===t);if(r!==void 0)return r;throw Error(`Layout not found for Panel ${t}`)},i=()=>{const r=n().layout[t];if(r!==void 0)return r;throw Error(`Layout not found for Panel ${t}`)},l=r=>{const s=i();if(r===s)return;const{defaultLayoutDeferred:c,derivedPanelConstraints:u,group:x,layout:S,separatorToPanels:b}=n(),h=x.panels.findIndex(v=>v.id===t),d=h===x.panels.length-1,p=te({delta:d?s-r:r-s,initialLayout:S,panelConstraints:u,pivotIndices:d?[h-1,h]:[h,h+1],prevLayout:S,trigger:"imperative-api"}),f=Y({layout:p,panelConstraints:u});q(S,f)||G(v=>({mountedGroups:new Map(v.mountedGroups).set(x,{defaultLayoutDeferred:c,derivedPanelConstraints:u,layout:f,separatorToPanels:b})}))};return{collapse:()=>{const{collapsible:r,collapsedSize:s}=o(),{mutableValues:c}=a(),u=i();r&&u!==s&&(c.expandToSize=u,l(s))},expand:()=>{const{collapsible:r,collapsedSize:s,minSize:c}=o(),{mutableValues:u}=a(),x=i();if(r&&x===s){let S=u.expandToSize??c;S===0&&(S=1),l(S)}},getSize:()=>{const{group:r}=n(),s=i(),{element:c}=a(),u=r.orientation==="horizontal"?c.offsetWidth:c.offsetHeight;return{asPercentage:s,inPixels:u}},isCollapsed:()=>{const{collapsible:r,collapsedSize:s}=o(),c=i();return r&&k(s,c)},resize:r=>{if(i()!==r){let s;switch(typeof r){case"number":{const{group:c}=n(),u=Z({group:c});s=O(r/u*100);break}case"string":{s=parseFloat(r);break}}l(s)}}}}function we(e){if(e.defaultPrevented)return;const{mountedGroups:t}=D();ce(e,t).forEach(n=>{if(n.separator){const o=n.panels.find(a=>a.panelConstraints.defaultSize!==void 0);if(o){const a=o.panelConstraints.defaultSize,i=Oe({groupId:n.group.id,panelId:o.id});i&&a!==void 0&&(i.resize(a),e.preventDefault())}}})}function ie(e){const{mountedGroups:t}=D();for(const[n]of t)if(n.separators.some(o=>o.element===e))return n;throw Error("Could not find parent Group for separator element")}function Fe({groupId:e}){const t=()=>{const{mountedGroups:n}=D();for(const[o,a]of n)if(o.id===e)return{group:o,...a};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){const{defaultLayoutDeferred:n,layout:o}=t();return n?{}:o},setLayout(n){const{defaultLayoutDeferred:o,derivedPanelConstraints:a,group:i,layout:l,separatorToPanels:r}=t(),s=Y({layout:n,panelConstraints:a});if(o)return l;if(!q(l,s)){G(u=>({mountedGroups:new Map(u.mountedGroups).set(i,{defaultLayoutDeferred:o,derivedPanelConstraints:a,layout:s,separatorToPanels:r})}));const c=i.panels.map(({id:u})=>u).join(",");i.inMemoryLayouts[c]=s}return s}}}function $e(e){const{mountedGroups:t}=D(),n=t.get(e);return C(n,`Mounted Group ${e.id} not found`),n}function X(e,t){const n=ie(e),o=$e(n),a=n.separators.find(u=>u.element===e);C(a,"Matching separator not found");const i=o.separatorToPanels.get(a);C(i,"Matching panels not found");const l=i.map(u=>n.panels.indexOf(u)),r=Fe({groupId:n.id}).getLayout(),s=te({delta:t,initialLayout:r,panelConstraints:o.derivedPanelConstraints,pivotIndices:l,prevLayout:r,trigger:"keyboard"}),c=Y({layout:s,panelConstraints:o.derivedPanelConstraints});q(r,c)||G(u=>({mountedGroups:new Map(u.mountedGroups).set(n,{defaultLayoutDeferred:o.defaultLayoutDeferred,derivedPanelConstraints:o.derivedPanelConstraints,layout:c,separatorToPanels:o.separatorToPanels})}))}function xe(e){if(e.defaultPrevented)return;const t=e.currentTarget,n=ie(t);if(!n.disabled)switch(e.key){case"ArrowDown":{e.preventDefault(),n.orientation==="vertical"&&X(t,5);break}case"ArrowLeft":{e.preventDefault(),n.orientation==="horizontal"&&X(t,-5);break}case"ArrowRight":{e.preventDefault(),n.orientation==="horizontal"&&X(t,5);break}case"ArrowUp":{e.preventDefault(),n.orientation==="vertical"&&X(t,-5);break}case"End":{e.preventDefault(),X(t,100);break}case"Enter":{e.preventDefault();const o=ie(t),{derivedPanelConstraints:a,layout:i,separatorToPanels:l}=$e(o),r=o.separators.find(x=>x.element===t);C(r,"Matching separator not found");const s=l.get(r);C(s,"Matching panels not found");const c=s[0],u=a.find(x=>x.panelId===c.id);if(C(u,"Panel metadata not found"),u.collapsible){const x=i[c.id],S=u.collapsedSize===x?o.inMemoryLastExpandedPanelSizes[c.id]??u.minSize:u.collapsedSize;X(t,S-x)}break}case"F6":{e.preventDefault();const o=ie(t).separators.map(l=>l.element),a=Array.from(o).findIndex(l=>l===e.currentTarget);C(a!==null,"Index not found");const i=e.shiftKey?a>0?a-1:o.length-1:a+1<o.length?a+1:0;o[i].focus();break}case"Home":{e.preventDefault(),X(t,-100);break}}}function Se(e){if(e.defaultPrevented||e.pointerType==="mouse"&&e.button>0)return;const{mountedGroups:t}=D(),n=ce(e,t),o=new Map;let a=!1;n.forEach(i=>{i.separator&&(a||(a=!0,i.separator.element.focus()));const l=t.get(i.group);l&&o.set(i.group,l.layout)}),G({interactionState:{hitRegions:n,initialLayoutMap:o,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:"active"}}),n.length&&e.preventDefault()}const yt=e=>e,se=()=>{},Ae=1,We=2,He=4,Ve=8,ze=3,Ce=12;let ae;function Le(){return ae===void 0&&(ae=!1,typeof window<"u"&&(window.navigator.userAgent.includes("Chrome")||window.navigator.userAgent.includes("Firefox"))&&(ae=!0)),ae}function bt({cursorFlags:e,groups:t,state:n}){let o=0,a=0;switch(n){case"active":case"hover":t.forEach(i=>{if(!i.disableCursor)switch(i.orientation){case"horizontal":{o++;break}case"vertical":{a++;break}}})}if(!(o===0&&a===0)){switch(n){case"active":{if(e&&Le()){const i=(e&Ae)!==0,l=(e&We)!==0,r=(e&He)!==0,s=(e&Ve)!==0;if(i)return r?"se-resize":s?"ne-resize":"e-resize";if(l)return r?"sw-resize":s?"nw-resize":"w-resize";if(r)return"s-resize";if(s)return"n-resize"}break}}return Le()?o>0&&a>0?"move":o>0?"ew-resize":"ns-resize":o>0&&a>0?"grab":o>0?"col-resize":"row-resize"}}const Pe=new WeakMap;function de(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=Pe.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets.push(n));const{cursorFlags:o,interactionState:a}=D();switch(a.state){case"active":case"hover":{const i=bt({cursorFlags:o,groups:a.hitRegions.map(r=>r.group),state:a.state}),l=`*, *:hover {cursor: ${i} !important; }`;if(t===l)return;t=l,i?n.cssRules.length===0?n.insertRule(l):n.replaceSync(l):n.cssRules.length===1&&n.deleteRule(0);break}case"inactive":{t=void 0,n.cssRules.length===1&&n.deleteRule(0);break}}Pe.set(e,{prevStyle:t,styleSheet:n})}function Be({document:e,event:t,hitRegions:n,initialLayoutMap:o,mountedGroups:a,pointerDownAtPoint:i,prevCursorFlags:l}){let r=0;const s=new Map(a);n.forEach(u=>{const{group:x,groupSize:S}=u,{disableCursor:b,orientation:h,panels:d}=x;let p=0;i?h==="horizontal"?p=(t.clientX-i.x)/S*100:p=(t.clientY-i.y)/S*100:h==="horizontal"?p=t.clientX<0?-100:100:p=t.clientY<0?-100:100;const f=o.get(x),{defaultLayoutDeferred:v,derivedPanelConstraints:y,layout:g,separatorToPanels:m}=a.get(x)??{defaultLayoutDeferred:!1};if(y&&f&&g&&m){const L=te({delta:p,initialLayout:f,panelConstraints:y,pivotIndices:u.panels.map(R=>d.indexOf(R)),prevLayout:g,trigger:"mouse-or-touch"});if(q(L,g)){if(p!==0&&!b)switch(h){case"horizontal":{r|=p<0?Ae:We;break}case"vertical":{r|=p<0?He:Ve;break}}}else{s.set(u.group,{defaultLayoutDeferred:v,derivedPanelConstraints:y,layout:L,separatorToPanels:m});const R=u.group.panels.map(({id:M})=>M).join(",");u.group.inMemoryLayouts[R]=L}}});let c=0;t.movementX===0?c|=l&ze:c|=r&ze,t.movementY===0?c|=l&Ce:c|=r&Ce,G({cursorFlags:c,mountedGroups:s}),de(e)}function Re(e){const{cursorFlags:t,interactionState:n,mountedGroups:o}=D();n.state==="active"&&Be({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:o,prevCursorFlags:t})}function Me(e){if(e.defaultPrevented)return;const{cursorFlags:t,interactionState:n,mountedGroups:o}=D();switch(n.state){case"active":{if(e.buttons===0){G(a=>a.interactionState.state==="inactive"?a:{cursorFlags:0,interactionState:{state:"inactive"}}),G(a=>({mountedGroups:new Map(a.mountedGroups)}));return}Be({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:o,pointerDownAtPoint:n.pointerDownAtPoint,prevCursorFlags:t});break}default:{const a=ce(e,o);a.length===0?n.state!=="inactive"&&G({interactionState:{state:"inactive"}}):G({interactionState:{hitRegions:a,state:"hover"}}),de(e.currentTarget);break}}}function Ee(e){if(e.relatedTarget instanceof HTMLIFrameElement){const{interactionState:t}=D();t.state==="hover"&&G({interactionState:{state:"inactive"}})}}function ke(e){if(e.defaultPrevented||e.pointerType==="mouse"&&e.button>0)return;const{interactionState:t}=D();t.state==="active"&&(G({cursorFlags:0,interactionState:{state:"inactive"}}),t.hitRegions.length>0&&(de(e.currentTarget),G(n=>({mountedGroups:new Map(n.mountedGroups)})),e.preventDefault()))}function De(e){let t=0,n=0;const o={};for(const i of e)if(i.defaultSize!==void 0){t++;const l=O(i.defaultSize);n+=l,o[i.panelId]=l}else o[i.panelId]=void 0;const a=e.length-t;if(a!==0){const i=O((100-n)/a);for(const l of e)l.defaultSize===void 0&&(o[l.panelId]=i)}return o}function wt(e,t,n){if(!n[0])return;const o=e.panels.find(s=>s.element===t);if(!o||!o.onResize)return;const a=Z({group:e}),i=e.orientation==="horizontal"?o.element.offsetWidth:o.element.offsetHeight,l=o.mutableValues.prevSize,r={asPercentage:O(i/a*100),inPixels:i};o.mutableValues.prevSize=r,o.onResize(r,o.id,l)}function xt(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(e[n]!==t[n])return!1;return!0}function St(e,t){const n=e.map(a=>a.id),o=Object.keys(t);if(n.length!==o.length)return!1;for(const a of n)if(!o.includes(a))return!1;return!0}const U=new Map;function zt(e){let t=!0;C(e.element.ownerDocument.defaultView,"Cannot register an unmounted Group");const n=e.element.ownerDocument.defaultView.ResizeObserver,o=new Set,a=new Set,i=new n(h=>{for(const d of h){const{borderBoxSize:p,target:f}=d;if(f===e.element){if(t){if(Z({group:e})===0)return;G(v=>{const y=v.mountedGroups.get(e);if(y){const g=le(e),m=y.defaultLayoutDeferred?De(g):y.layout,L=Y({layout:m,panelConstraints:g});return!y.defaultLayoutDeferred&&q(m,L)&&xt(y.derivedPanelConstraints,g)?v:{mountedGroups:new Map(v.mountedGroups).set(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:g,layout:L,separatorToPanels:y.separatorToPanels})}}return v})}}else wt(e,f,p)}});i.observe(e.element),e.panels.forEach(h=>{C(!o.has(h.id),`Panel ids must be unique; id "${h.id}" was used more than once`),o.add(h.id),h.onResize&&i.observe(h.element)});const l=Z({group:e}),r=le(e),s=e.panels.map(({id:h})=>h).join(",");let c=e.defaultLayout;c&&(St(e.panels,c)||(c=void 0));const u=e.inMemoryLayouts[s]??c??De(r),x=Y({layout:u,panelConstraints:r}),S=je(e),b=e.element.ownerDocument;return G(h=>{const d=new Map;return U.set(b,(U.get(b)??0)+1),S.forEach(p=>{p.separator&&d.set(p.separator,p.panels)}),{mountedGroups:new Map(h.mountedGroups).set(e,{defaultLayoutDeferred:l===0,derivedPanelConstraints:r,layout:x,separatorToPanels:d})}}),e.separators.forEach(h=>{C(!a.has(h.id),`Separator ids must be unique; id "${h.id}" was used more than once`),a.add(h.id),h.element.addEventListener("keydown",xe)}),U.get(b)===1&&(b.addEventListener("dblclick",we,!0),b.addEventListener("pointerdown",Se,!0),b.addEventListener("pointerleave",Re),b.addEventListener("pointermove",Me),b.addEventListener("pointerout",Ee),b.addEventListener("pointerup",ke,!0)),function(){t=!1,U.set(b,Math.max(0,(U.get(b)??0)-1)),G(h=>{const d=new Map(h.mountedGroups);return d.delete(e),{mountedGroups:d}}),e.separators.forEach(h=>{h.element.removeEventListener("keydown",xe)}),U.get(b)||(b.removeEventListener("dblclick",we,!0),b.removeEventListener("pointerdown",Se,!0),b.removeEventListener("pointerleave",Re),b.removeEventListener("pointermove",Me),b.removeEventListener("pointerout",Ee),b.removeEventListener("pointerup",ke,!0)),i.disconnect()}}function Ct(){const[e,t]=P.useState({}),n=P.useCallback(()=>t({}),[]);return[e,n]}function fe(e){const t=P.useId();return`${e??t}`}const _=typeof window<"u"?P.useLayoutEffect:P.useEffect;function ee(e){const t=P.useRef(e);return _(()=>{t.current=e},[e]),P.useCallback((...n)=>t.current?.(...n),[t])}function pe(...e){return ee(t=>{e.forEach(n=>{if(n)switch(typeof n){case"function":{n(t);break}case"object":{n.current=t;break}}})})}function me(e){const t=P.useRef({...e});return _(()=>{for(const n in e)t.current[n]=e[n]},[e]),t.current}const Xe=P.createContext(null);function Lt(e,t){const n=P.useRef({getLayout:()=>({}),setLayout:yt});P.useImperativeHandle(t,()=>n.current,[]),_(()=>{Object.assign(n.current,Fe({groupId:e}))})}function qe({children:e,className:t,defaultLayout:n,disableCursor:o,disabled:a,elementRef:i,groupRef:l,id:r,onLayoutChange:s,onLayoutChanged:c,orientation:u="horizontal",resizeTargetMinimumSize:x={coarse:20,fine:10},style:S,...b}){const h=P.useRef({onLayoutChange:{},onLayoutChanged:{}}),d=ee(w=>{q(h.current.onLayoutChange,w)||(h.current.onLayoutChange=w,s?.(w))}),p=ee(w=>{q(h.current.onLayoutChanged,w)||(h.current.onLayoutChanged=w,c?.(w))}),f=fe(r),v=P.useRef(null),[y,g]=Ct(),m=P.useRef({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:x,separators:[]}),L=pe(v,i);Lt(f,l);const R=ee((w,z)=>{const{interactionState:E,mountedGroups:T}=D();for(const I of T.keys())if(I.id===w){const N=T.get(I);if(N){let V=!1;return E.state==="active"&&(V=E.hitRegions.some(Q=>Q.group===I)),{flexGrow:N.layout[z]??1,pointerEvents:V?"none":void 0}}}return{flexGrow:n?.[z]??1}}),M=me({defaultLayout:n,disableCursor:o}),J=P.useMemo(()=>({get disableCursor(){return!!M.disableCursor},getPanelStyles:R,id:f,orientation:u,registerPanel:w=>{const z=m.current;return z.panels=ue(u,[...z.panels,w]),g(),()=>{z.panels=z.panels.filter(E=>E!==w),g()}},registerSeparator:w=>{const z=m.current;return z.separators=ue(u,[...z.separators,w]),g(),()=>{z.separators=z.separators.filter(E=>E!==w),g()}},togglePanelDisabled:(w,z)=>{const E=m.current.panels.find(I=>I.id===w);E&&(E.panelConstraints.disabled=z);const{mountedGroups:T}=D();for(const I of T.keys())if(I.id===f){const N=T.get(I);N&&(N.derivedPanelConstraints=le(I))}},toggleSeparatorDisabled:(w,z)=>{const E=m.current.separators.find(T=>T.id===w);E&&(E.disabled=z)}}),[R,f,g,u,M]),H=P.useRef(null);return _(()=>{const w=v.current;if(w===null)return;const z=m.current;let E;if(M.defaultLayout!==void 0&&Object.keys(M.defaultLayout).length===z.panels.length){E={};for(const W of z.panels){const B=M.defaultLayout[W.id];B!==void 0&&(E[W.id]=B)}}const T={defaultLayout:E,disableCursor:!!M.disableCursor,disabled:!!a,element:w,id:f,inMemoryLastExpandedPanelSizes:m.current.lastExpandedPanelSizes,inMemoryLayouts:m.current.layouts,orientation:u,panels:z.panels,resizeTargetMinimumSize:z.resizeTargetMinimumSize,separators:z.separators};H.current=T;const I=zt(T),N=D().mountedGroups.get(T);if(N){const{defaultLayoutDeferred:W,derivedPanelConstraints:B,layout:ne}=N;!W&&B.length>0&&(d(ne),p(ne))}const V=A.addListener("interactionStateChange",W=>{W.state}),Q=A.addListener("mountedGroupsChange",W=>{const B=W.get(T);if(B){const{defaultLayoutDeferred:ne,derivedPanelConstraints:Je,layout:ge}=B;if(ne||Je.length===0)return;const{interactionState:Ue}=D(),Ke=Ue.state!=="active";d(ge),Ke&&p(ge)}});return()=>{H.current=null,I(),V(),Q()}},[a,f,p,d,u,y,M]),P.useEffect(()=>{const w=H.current;w&&(w.defaultLayout=n,w.disableCursor=!!o)}),$.jsxRuntimeExports.jsx(Xe.Provider,{value:J,children:$.jsxRuntimeExports.jsx("div",{...b,className:t,"data-group":!0,"data-testid":f,id:f,ref:L,style:{height:"100%",width:"100%",overflow:"hidden",...S,display:"flex",flexDirection:u==="horizontal"?"row":"column",flexWrap:"nowrap",touchAction:u==="horizontal"?"pan-y":"pan-x"},children:e})})}qe.displayName="Group";function he(){const e=P.useContext(Xe);return C(e,"Group Context not found; did you render a Panel or Separator outside of a Group?"),e}function Pt(e,t){const{id:n}=he(),o=P.useRef({collapse:se,expand:se,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:se});P.useImperativeHandle(t,()=>o.current,[]),_(()=>{Object.assign(o.current,Oe({groupId:n,panelId:e}))})}function Ye({children:e,className:t,collapsedSize:n="0%",collapsible:o=!1,defaultSize:a,disabled:i,elementRef:l,id:r,maxSize:s="100%",minSize:c="0%",onResize:u,panelRef:x,style:S,...b}){const h=!!r,d=fe(r),p=me({disabled:i}),f=P.useRef(null),v=pe(f,l),{getPanelStyles:y,id:g,orientation:m,registerPanel:L,togglePanelDisabled:R}=he(),M=u!==null,J=ee((w,z,E)=>{u?.(w,r,E)});_(()=>{const w=f.current;if(w!==null){const z={element:w,id:d,idIsStable:h,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:M?J:void 0,panelConstraints:{collapsedSize:n,collapsible:o,defaultSize:a,disabled:p.disabled,maxSize:s,minSize:c}};return L(z)}},[n,o,a,M,d,h,s,c,J,L,p]),P.useEffect(()=>{R(d,!!i)},[i,d,R]),Pt(d,x);const H=P.useSyncExternalStore(w=>(A.addListener("mountedGroupsChange",w),()=>{A.removeListener("mountedGroupsChange",w)}),()=>JSON.stringify(y(g,d)),()=>JSON.stringify(y(g,d)));return $.jsxRuntimeExports.jsx("div",{...b,"aria-disabled":i||void 0,"data-panel":!0,"data-testid":d,id:d,ref:v,style:{...Rt,display:"flex",flexBasis:0,flexShrink:1,overflow:"hidden",...JSON.parse(H)},children:$.jsxRuntimeExports.jsx("div",{className:t,style:{maxHeight:"100%",maxWidth:"100%",flexGrow:1,...S,touchAction:m==="horizontal"?"pan-y":"pan-x"},children:e})})}Ye.displayName="Panel";const Rt={minHeight:0,maxHeight:"100%",height:"auto",minWidth:0,maxWidth:"100%",width:"auto",border:"none",borderWidth:0,padding:0,margin:0};function Mt({layout:e,panelConstraints:t,panelId:n,panelIndex:o}){let a,i;const l=e[n],r=t.find(s=>s.panelId===n);if(r){const s=r.maxSize,c=r.collapsible?r.collapsedSize:r.minSize,u=[o,o+1];i=Y({layout:te({delta:c-l,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n],a=Y({layout:te({delta:s-l,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:a,valueMin:i,valueNow:l}}function _e({children:e,className:t,disabled:n,elementRef:o,id:a,style:i,...l}){const r=fe(a),s=me({disabled:n}),[c,u]=P.useState({}),[x,S]=P.useState("inactive"),b=P.useRef(null),h=pe(b,o),{disableCursor:d,id:p,orientation:f,registerSeparator:v,toggleSeparatorDisabled:y}=he(),g=f==="horizontal"?"vertical":"horizontal";_(()=>{const L=b.current;if(L!==null){const R={disabled:s.disabled,element:L,id:r},M=v(R),J=A.addListener("interactionStateChange",w=>{S(w.state!=="inactive"&&w.hitRegions.some(z=>z.separator===R)?w.state:"inactive")}),H=A.addListener("mountedGroupsChange",w=>{w.forEach(({derivedPanelConstraints:z,layout:E,separatorToPanels:T},I)=>{if(I.id===p){const N=T.get(R);if(N){const V=N[0],Q=I.panels.indexOf(V);u(Mt({layout:E,panelConstraints:z,panelId:V.id,panelIndex:Q}))}}})});return()=>{J(),H(),M()}}},[p,r,v,s]),P.useEffect(()=>{y(r,!!n)},[n,r,y]);let m;return n&&!d&&(m="not-allowed"),$.jsxRuntimeExports.jsx("div",{...l,"aria-controls":c.valueControls,"aria-disabled":n||void 0,"aria-orientation":g,"aria-valuemax":c.valueMax,"aria-valuemin":c.valueMin,"aria-valuenow":c.valueNow,children:e,className:t,"data-separator":n?"disabled":x,"data-testid":r,id:r,ref:h,role:"separator",style:{flexBasis:"auto",cursor:m,...i,flexGrow:0,flexShrink:0,touchAction:"none"},tabIndex:n?void 0:0})}_e.displayName="Separator";const Et=({className:e,direction:t,...n})=>$.jsxRuntimeExports.jsx(qe,{orientation:t,className:Ge.cn("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",e),...n}),kt=Ye,Dt=({withHandle:e,className:t,...n})=>$.jsxRuntimeExports.jsx(_e,{className:Ge.cn("bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-none data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90",t),...n,children:e&&$.jsxRuntimeExports.jsx("div",{className:"bg-border z-10 flex h-4 w-3 items-center justify-center rounded-sm border",children:$.jsxRuntimeExports.jsx(Ze.GripVertical,{className:"h-2.5 w-2.5"})})});exports.ResizableHandle=Dt;exports.ResizablePanel=kt;exports.ResizablePanelGroup=Et;
@@ -0,0 +1,22 @@
1
+ import { Group } from 'react-resizable-panels';
2
+ import { JSX } from 'react/jsx-runtime';
3
+ import { Panel } from 'react-resizable-panels';
4
+ import * as React_2 from 'react';
5
+ import { ResizableHandleBaseProps as ResizableHandleProps } from '../../ui-core/src';
6
+ import { ResizablePanelGroupBaseProps as ResizablePanelGroupProps } from '../../ui-core/src';
7
+ import { ResizablePanelBaseProps as ResizablePanelProps } from '../../ui-core/src';
8
+ import { Separator } from 'react-resizable-panels';
9
+
10
+ export declare const ResizableHandle: ({ withHandle, className, ...props }: React_2.ComponentProps<typeof Separator> & ResizableHandleProps) => JSX.Element;
11
+
12
+ export { ResizableHandleProps }
13
+
14
+ export declare const ResizablePanel: typeof Panel;
15
+
16
+ export declare const ResizablePanelGroup: ({ className, direction, ...props }: React_2.ComponentProps<typeof Group> & ResizablePanelGroupProps) => JSX.Element;
17
+
18
+ export { ResizablePanelGroupProps }
19
+
20
+ export { ResizablePanelProps }
21
+
22
+ export { }