@kong-ui-public/split-pane 0.3.10-pr.3045.d28bba50d.0 → 0.3.10

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.
@@ -0,0 +1,549 @@
1
+ import { watch as q, onMounted as ee, nextTick as G, getCurrentScope as Re, onScopeDispose as xe, getCurrentInstance as he, computed as P, toValue as A, shallowRef as Y, watchEffect as Ce, unref as r, ref as b, readonly as te, defineComponent as ge, useCssVars as be, resolveComponent as se, openBlock as R, createElementBlock as k, createElementVNode as C, Fragment as ye, renderList as Le, createBlock as K, withCtx as J, createVNode as le, withModifiers as ne, normalizeClass as T, resolveDynamicComponent as re, createCommentVNode as N, useSlots as We, useTemplateRef as I, renderSlot as M, withDirectives as ue, vShow as de } from "vue";
2
+ import { ChevronDoubleLeftIcon as _e, ChevronDoubleRightIcon as ke } from "@kong/icons";
3
+ import { useRouter as $e } from "vue-router";
4
+ import { createI18n as ze, i18nTComponent as De } from "@kong-ui-public/i18n";
5
+ const Ie = "260px", ie = "500px", ce = "50%", fe = "50%";
6
+ function ae(e, n) {
7
+ return Re() ? (xe(e, n), !0) : !1;
8
+ }
9
+ const Ee = typeof window < "u" && typeof document < "u";
10
+ typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
11
+ const Te = (e) => e != null, Ne = Object.prototype.toString, Me = (e) => Ne.call(e) === "[object Object]", Se = () => {
12
+ };
13
+ function U(e) {
14
+ return Array.isArray(e) ? e : [e];
15
+ }
16
+ function Oe(e) {
17
+ return he();
18
+ }
19
+ function Ae(e, n = !0, l) {
20
+ Oe() ? ee(e, l) : n ? e() : G(e);
21
+ }
22
+ function Be(e, n, l) {
23
+ return q(e, n, {
24
+ ...l,
25
+ immediate: !0
26
+ });
27
+ }
28
+ const B = Ee ? window : void 0;
29
+ function $(e) {
30
+ var n;
31
+ const l = A(e);
32
+ return (n = l == null ? void 0 : l.$el) !== null && n !== void 0 ? n : l;
33
+ }
34
+ function j(...e) {
35
+ const n = (t, i, s, a) => (t.addEventListener(i, s, a), () => t.removeEventListener(i, s, a)), l = P(() => {
36
+ const t = U(A(e[0])).filter((i) => i != null);
37
+ return t.every((i) => typeof i != "string") ? t : void 0;
38
+ });
39
+ return Be(() => {
40
+ var t, i;
41
+ return [
42
+ (t = (i = l.value) === null || i === void 0 ? void 0 : i.map((s) => $(s))) !== null && t !== void 0 ? t : [B].filter((s) => s != null),
43
+ U(A(l.value ? e[1] : e[0])),
44
+ U(r(l.value ? e[2] : e[1])),
45
+ A(l.value ? e[3] : e[2])
46
+ ];
47
+ }, ([t, i, s, a], u, v) => {
48
+ if (!(t != null && t.length) || !(i != null && i.length) || !(s != null && s.length)) return;
49
+ const p = Me(a) ? { ...a } : a, d = t.flatMap((o) => i.flatMap((f) => s.map((h) => n(o, f, h, p))));
50
+ v(() => {
51
+ d.forEach((o) => o());
52
+ });
53
+ }, { flush: "post" });
54
+ }
55
+ // @__NO_SIDE_EFFECTS__
56
+ function He() {
57
+ const e = Y(!1), n = he();
58
+ return n && ee(() => {
59
+ e.value = !0;
60
+ }, n), e;
61
+ }
62
+ // @__NO_SIDE_EFFECTS__
63
+ function me(e) {
64
+ const n = /* @__PURE__ */ He();
65
+ return P(() => (n.value, !!e()));
66
+ }
67
+ function Xe(e, n, l = {}) {
68
+ const { window: t = B, ...i } = l;
69
+ let s;
70
+ const a = /* @__PURE__ */ me(() => t && "MutationObserver" in t), u = () => {
71
+ s && (s.disconnect(), s = void 0);
72
+ }, v = q(P(() => {
73
+ const o = U(A(e)).map($).filter(Te);
74
+ return new Set(o);
75
+ }), (o) => {
76
+ u(), a.value && o.size && (s = new MutationObserver(n), o.forEach((f) => s.observe(f, i)));
77
+ }, {
78
+ immediate: !0,
79
+ flush: "post"
80
+ }), p = () => s == null ? void 0 : s.takeRecords(), d = () => {
81
+ v(), u();
82
+ };
83
+ return ae(d), {
84
+ isSupported: a,
85
+ stop: d,
86
+ takeRecords: p
87
+ };
88
+ }
89
+ function Ve(e, n, l = {}) {
90
+ const { window: t = B, document: i = t == null ? void 0 : t.document, flush: s = "sync" } = l;
91
+ if (!t || !i) return Se;
92
+ let a;
93
+ const u = (d) => {
94
+ a == null || a(), a = d;
95
+ }, v = Ce(() => {
96
+ const d = $(e);
97
+ if (d) {
98
+ const { stop: o } = Xe(i, (f) => {
99
+ f.map((h) => [...h.removedNodes]).flat().some((h) => h === d || h.contains(d)) && n(f);
100
+ }, {
101
+ window: t,
102
+ childList: !0,
103
+ subtree: !0
104
+ });
105
+ u(o);
106
+ }
107
+ }, { flush: s }), p = () => {
108
+ v(), u();
109
+ };
110
+ return ae(p), p;
111
+ }
112
+ function Fe(e, n, l = {}) {
113
+ const { window: t = B, ...i } = l;
114
+ let s;
115
+ const a = /* @__PURE__ */ me(() => t && "ResizeObserver" in t), u = () => {
116
+ s && (s.disconnect(), s = void 0);
117
+ }, v = q(P(() => {
118
+ const d = A(e);
119
+ return Array.isArray(d) ? d.map((o) => $(o)) : [$(d)];
120
+ }), (d) => {
121
+ if (u(), a.value && t) {
122
+ s = new ResizeObserver(n);
123
+ for (const o of d) o && s.observe(o, i);
124
+ }
125
+ }, {
126
+ immediate: !0,
127
+ flush: "post"
128
+ }), p = () => {
129
+ u(), v();
130
+ };
131
+ return ae(p), {
132
+ isSupported: a,
133
+ stop: p
134
+ };
135
+ }
136
+ function ve(e, n = {}) {
137
+ const { delayEnter: l = 0, delayLeave: t = 0, triggerOnRemoval: i = !1, window: s = B } = n, a = Y(!1);
138
+ let u;
139
+ const v = (p) => {
140
+ const d = p ? l : t;
141
+ u && (clearTimeout(u), u = void 0), d ? u = setTimeout(() => a.value = p, d) : a.value = p;
142
+ };
143
+ return s && (j(e, "mouseenter", () => v(!0), { passive: !0 }), j(e, "mouseleave", () => v(!1), { passive: !0 }), i && Ve(P(() => $(e)), () => v(!1))), a;
144
+ }
145
+ function Ke(e, n = {
146
+ width: 0,
147
+ height: 0
148
+ }, l = {}) {
149
+ const { window: t = B, box: i = "content-box" } = l, s = P(() => {
150
+ var o;
151
+ return (o = $(e)) === null || o === void 0 || (o = o.namespaceURI) === null || o === void 0 ? void 0 : o.includes("svg");
152
+ }), a = Y(n.width), u = Y(n.height), { stop: v } = Fe(e, ([o]) => {
153
+ const f = i === "border-box" ? o.borderBoxSize : i === "content-box" ? o.contentBoxSize : o.devicePixelContentBoxSize;
154
+ if (t && s.value) {
155
+ const h = $(e);
156
+ if (h) {
157
+ const m = h.getBoundingClientRect();
158
+ a.value = m.width, u.value = m.height;
159
+ }
160
+ } else if (f) {
161
+ const h = U(f);
162
+ a.value = h.reduce((m, { inlineSize: _ }) => m + _, 0), u.value = h.reduce((m, { blockSize: _ }) => m + _, 0);
163
+ } else
164
+ a.value = o.contentRect.width, u.value = o.contentRect.height;
165
+ }, l);
166
+ Ae(() => {
167
+ const o = $(e);
168
+ o && (a.value = "offsetWidth" in o ? o.offsetWidth : n.width, u.value = "offsetHeight" in o ? o.offsetHeight : n.height);
169
+ });
170
+ const p = q(() => $(e), (o) => {
171
+ a.value = o ? n.width : 0, u.value = o ? n.height : 0;
172
+ });
173
+ function d() {
174
+ v(), p();
175
+ }
176
+ return {
177
+ width: a,
178
+ height: u,
179
+ stop: d
180
+ };
181
+ }
182
+ const pe = "20px", O = b(!1), E = b(!1), Q = b(!0), F = b(0);
183
+ function we(e) {
184
+ const n = (e == null ? void 0 : e.verticalNavRef) || b(null), l = (e == null ? void 0 : e.innerPanesContainerRef) || b(null), t = (e == null ? void 0 : e.paneLeftRef) || b(null), i = (e == null ? void 0 : e.paneCenterRef) || b(null), s = (e == null ? void 0 : e.paneRightRef) || b(null), a = (c) => {
185
+ var g, L, W, x, y;
186
+ switch (c) {
187
+ case "verticalNav":
188
+ return ((g = n.value) == null ? void 0 : g.offsetWidth) || 0;
189
+ case "innerPanesContainer":
190
+ return ((L = l.value) == null ? void 0 : L.offsetWidth) || 0;
191
+ case "paneLeft":
192
+ return ((W = t.value) == null ? void 0 : W.offsetWidth) || 0;
193
+ case "paneCenter":
194
+ return ((x = i.value) == null ? void 0 : x.offsetWidth) || 0;
195
+ case "paneRight":
196
+ return ((y = s.value) == null ? void 0 : y.offsetWidth) || 0;
197
+ default:
198
+ return 0;
199
+ }
200
+ }, u = b(50), v = b(0), p = b(0), d = b(0), o = b(0), f = (c) => {
201
+ if (i.value) {
202
+ if (c) {
203
+ i.value.style.width = `${c}%`, F.value = a("paneCenter");
204
+ return;
205
+ } else (typeof u.value != "number" || !isFinite(u.value)) && (u.value = 38);
206
+ i.value.style.width = `${u.value}%`, F.value = a("paneCenter");
207
+ }
208
+ }, h = () => {
209
+ var c;
210
+ i.value && ((c = s.value) == null ? void 0 : c.style.display) === "none" ? (i.value.style.flex = "1", f(100)) : (i.value && (i.value.style.flex = ""), f());
211
+ }, m = () => {
212
+ var W;
213
+ if (!l.value || !i.value) return;
214
+ const c = 100, g = a("innerPanesContainer") - a("verticalNav") - a("paneLeft") - c, L = u.value / 100 * a("innerPanesContainer");
215
+ if (L < c ? u.value = c / a("innerPanesContainer") * 100 : L > g && (u.value = g / a("innerPanesContainer") * 100), i.value && s.value && ((W = s.value) == null ? void 0 : W.style.display) === "none") {
216
+ f(100);
217
+ return;
218
+ }
219
+ f();
220
+ }, _ = (c) => {
221
+ !i.value || c.button !== 0 || (E.value = !0, v.value = c.clientX, p.value = i.value.offsetWidth || 0);
222
+ }, w = (c) => {
223
+ if (!E.value || !l.value || !i.value) return;
224
+ const g = l.value.offsetWidth, L = c.clientX - v.value, x = (p.value + L) / g * 100, y = 100 / g * 100, V = (g - 100) / g * 100;
225
+ u.value = Math.min(Math.max(y, x), V), f();
226
+ }, z = () => {
227
+ E.value = !1;
228
+ }, S = (c) => {
229
+ !t.value || !Q.value || c.button !== 0 || (O.value = !0, d.value = c.clientX, o.value = t.value.offsetWidth || 0);
230
+ }, Z = (c) => {
231
+ if (!O.value || !t.value) return;
232
+ let g = o.value + (c.clientX - d.value);
233
+ const L = Number(Ie.replace(/px$/i, "")), W = Number(ie.replace(/px$/i, ""));
234
+ g < L && (g = L), g > W && (g = W), t.value.style.width = `${g}px`, d.value = c.clientX, o.value = g, F.value = a("paneCenter");
235
+ }, D = () => {
236
+ O.value = !1;
237
+ }, H = () => {
238
+ E.value || m();
239
+ }, X = async () => {
240
+ Q.value = !Q.value;
241
+ };
242
+ return j(window, "resize", H), ee(async () => {
243
+ await G(), i.value && (m(), await G(), f(), requestAnimationFrame(() => {
244
+ F.value = a("paneCenter");
245
+ }));
246
+ }), j(document, "mousemove", (c) => {
247
+ E.value && w(c), O.value && Z(c);
248
+ }), j(document, "mouseup", () => {
249
+ E.value && z(), O.value && D();
250
+ }), {
251
+ isDraggingPaneLeft: te(O),
252
+ isDraggingInnerPanes: te(E),
253
+ startDraggingInnerPanes: _,
254
+ refreshInnerPaneSizes: h,
255
+ // Toggle the left pane
256
+ paneLeftExpanded: te(Q),
257
+ togglePaneLeft: X,
258
+ startDraggingPaneLeft: S,
259
+ centerPaneWidth: F
260
+ };
261
+ }
262
+ const Ue = {
263
+ return: "Return",
264
+ collapse_panel: "Collapse panel",
265
+ expand_panel: "Expand panel",
266
+ drag_to_resize: "Click and drag to resize"
267
+ }, je = {
268
+ actions: Ue
269
+ };
270
+ function Pe() {
271
+ const e = ze("en-us", je);
272
+ return {
273
+ i18n: e,
274
+ i18nT: De(e)
275
+ // Translation component <i18n-t>
276
+ };
277
+ }
278
+ const Ge = { class: "kong-ui-public-split-pane-vertical-navigation" }, qe = { class: "split-pane-nav" }, Ze = { class: "top" }, Je = { class: "bottom" }, Qe = /* @__PURE__ */ ge({
279
+ __name: "VerticalNavigation",
280
+ props: {
281
+ paneLeftWidth: { default: 0 },
282
+ paneLeftVisible: { type: Boolean, default: !0 },
283
+ items: { default: () => [] }
284
+ },
285
+ setup(e) {
286
+ be((f) => ({
287
+ c4231b96: d.value
288
+ }));
289
+ const { i18n: n } = Pe(), l = $e(), { paneLeftExpanded: t, togglePaneLeft: i, isDraggingPaneLeft: s, isDraggingInnerPanes: a } = we(), u = b(!1), v = b(!1), p = P(() => u.value || s.value || a.value), d = P(() => `${e.paneLeftWidth - 8}px`), o = (f) => {
290
+ t.value || i(), !f.active && f.to && l.push(f.to);
291
+ };
292
+ return ee(async () => {
293
+ await G(), await new Promise((f) => setTimeout(f, 500)), v.value = !0;
294
+ }), (f, h) => {
295
+ const m = se("KButton"), _ = se("KTooltip");
296
+ return R(), k("div", Ge, [
297
+ C("nav", qe, [
298
+ C("div", Ze, [
299
+ (R(!0), k(ye, null, Le(e.items, (w) => (R(), K(_, {
300
+ key: w.tooltip,
301
+ "kpop-attributes": { offset: "10px" },
302
+ label: w.tooltip,
303
+ placement: "right"
304
+ }, {
305
+ default: J(() => [
306
+ le(m, {
307
+ appearance: "none",
308
+ "aria-label": w.tooltip,
309
+ class: T(["split-pane-nav-item", { active: w.active }]),
310
+ "data-testid": `kong-ui-public-split-pane-vertical-navigation-nav-item-${w.testid}`,
311
+ icon: "",
312
+ size: "large",
313
+ style: { cursor: "pointer" },
314
+ to: w.to,
315
+ onClickCapture: ne((z) => o(w), ["prevent"])
316
+ }, {
317
+ default: J(() => [
318
+ (R(), K(re(w.icon), {
319
+ decorative: "",
320
+ size: r(pe)
321
+ }, null, 8, ["size"]))
322
+ ]),
323
+ _: 2
324
+ }, 1032, ["aria-label", "class", "data-testid", "to", "onClickCapture"])
325
+ ]),
326
+ _: 2
327
+ }, 1032, ["label"]))), 128))
328
+ ]),
329
+ C("div", Je, [
330
+ e.paneLeftVisible ? (R(), k("div", {
331
+ key: 0,
332
+ class: T(["toggle-left-panel-control", {
333
+ expanded: r(t),
334
+ "disable-animation": !v.value || r(s) || r(a)
335
+ }]),
336
+ onTransitionend: h[0] || (h[0] = ne((w) => u.value = !1, ["self"])),
337
+ onTransitionstart: h[1] || (h[1] = ne((w) => u.value = !0, ["self"]))
338
+ }, [
339
+ (R(), K(_, {
340
+ key: String(r(t)),
341
+ "kpop-attributes": r(t) ? void 0 : { offset: "10px" },
342
+ label: p.value ? void 0 : r(t) ? r(n).t("actions.collapse_panel") : r(n).t("actions.expand_panel"),
343
+ placement: r(t) ? "left" : "right"
344
+ }, {
345
+ default: J(() => [
346
+ le(m, {
347
+ appearance: "none",
348
+ "aria-controls": "left-pane",
349
+ "aria-expanded": r(t),
350
+ "aria-label": r(t) ? r(n).t("actions.collapse_panel") : r(n).t("actions.expand_panel"),
351
+ class: "split-pane-nav-item toggle-left-panel",
352
+ "data-testid": "kong-ui-public-split-pane-toggle-left-panel-button",
353
+ icon: "",
354
+ size: "large",
355
+ onClick: r(i)
356
+ }, {
357
+ default: J(() => [
358
+ (R(), K(re(r(t) ? r(_e) : r(ke)), {
359
+ decorative: "",
360
+ size: r(pe)
361
+ }, null, 8, ["size"]))
362
+ ]),
363
+ _: 1
364
+ }, 8, ["aria-expanded", "aria-label", "onClick"])
365
+ ]),
366
+ _: 1
367
+ }, 8, ["kpop-attributes", "label", "placement"]))
368
+ ], 34)) : N("", !0)
369
+ ])
370
+ ])
371
+ ]);
372
+ };
373
+ }
374
+ }), oe = (e, n) => {
375
+ const l = e.__vccOpts || e;
376
+ for (const [t, i] of n)
377
+ l[t] = i;
378
+ return l;
379
+ }, Ye = /* @__PURE__ */ oe(Qe, [["__scopeId", "data-v-2261cf1d"]]), et = { class: "split-pane-container" }, tt = { class: "split-pane-container-inner" }, nt = { class: "panes" }, it = ["aria-hidden", "tabindex"], at = ["title"], ot = { class: "split-pane-container-inner-content" }, st = ["aria-hidden", "tabindex"], lt = ["title"], rt = ["aria-hidden", "tabindex"], ut = /* @__PURE__ */ ge({
380
+ __name: "SplitPane",
381
+ props: {
382
+ resizable: { type: Boolean, default: !0 },
383
+ showResizeHandle: { type: Boolean, default: !0 },
384
+ showNavigation: { type: Boolean, default: !0 },
385
+ navigationItems: { default: () => [] },
386
+ paneLeft: { default: () => ({
387
+ /** Pass false to hide the panel even if it contains slot content */
388
+ visible: !0,
389
+ maxWidth: ie
390
+ }) },
391
+ paneCenter: { default: () => ({
392
+ /** Pass false to hide the panel even if it contains slot content */
393
+ visible: !0,
394
+ maxWidth: ce
395
+ }) },
396
+ paneRight: { default: () => ({
397
+ /** Pass false to hide the panel even if it contains slot content */
398
+ visible: !0,
399
+ maxWidth: fe
400
+ }) }
401
+ },
402
+ setup(e) {
403
+ be((x) => ({
404
+ v49e30752: t.value,
405
+ v2075cf60: i.value,
406
+ v8d772a96: s.value
407
+ }));
408
+ const n = We(), l = (x) => x === "left" ? e.paneLeft.maxWidth !== void 0 ? e.paneLeft.maxWidth : ie : x === "center" ? e.resizable ? "none" : e.paneCenter.maxWidth !== void 0 ? e.paneCenter.maxWidth : ce : x === "right" ? e.resizable ? "none" : e.paneRight.maxWidth !== void 0 ? e.paneRight.maxWidth : fe : "none", t = P(() => l("left")), i = P(() => l("center")), s = P(() => l("right")), a = I("verticalNavRef"), u = I("innerPanesContainerRef"), v = I("paneLeftRef"), p = I("paneCenterRef"), d = I("paneRightRef"), o = I("paneLeftDivider"), f = I("innerPanesDivider"), { startDraggingInnerPanes: h, startDraggingPaneLeft: m, refreshInnerPaneSizes: _, paneLeftExpanded: w, isDraggingPaneLeft: z, isDraggingInnerPanes: S } = we({
409
+ verticalNavRef: a,
410
+ innerPanesContainerRef: u,
411
+ paneLeftRef: v,
412
+ paneCenterRef: p,
413
+ paneRightRef: d
414
+ }), { i18n: Z } = Pe(), D = P(() => !!n["pane-left"] && e.paneLeft.visible !== !1 && w.value), H = P(() => !!n["pane-center"] && e.paneCenter.visible !== !1), X = P(() => !!n["pane-right"] && e.paneRight.visible !== !1), c = P(() => e.resizable && e.showResizeHandle && !!n["pane-center"] && e.paneCenter.visible !== !1 && !!n["pane-right"] && e.paneRight.visible !== !1), g = ve(o), L = ve(f), { width: W } = Ke(v);
415
+ return q(() => e.paneRight.visible, async () => {
416
+ e.resizable && (await G(), _());
417
+ }, { flush: "post" }), (x, y) => (R(), k("div", {
418
+ class: T(["kong-ui-public-split-pane", { "has-navigation": e.showNavigation }]),
419
+ "data-testid": "split-pane"
420
+ }, [
421
+ C("div", et, [
422
+ e.showNavigation ? (R(), K(Ye, {
423
+ key: 0,
424
+ ref_key: "verticalNavRef",
425
+ ref: a,
426
+ items: e.navigationItems,
427
+ "pane-left-visible": e.paneLeft.visible !== !1,
428
+ "pane-left-width": r(W)
429
+ }, null, 8, ["items", "pane-left-visible", "pane-left-width"])) : N("", !0),
430
+ C("div", tt, [
431
+ C("div", nt, [
432
+ C("div", {
433
+ ref_key: "paneLeftRef",
434
+ ref: v,
435
+ "aria-hidden": D.value ? void 0 : "true",
436
+ class: T(["split-pane-left", [{ expanded: r(w), "show-resize-border": r(g) }, { "is-dragging-pane-left": r(z) }, { "is-dragging-pane": r(z) || r(S) }]]),
437
+ "data-testid": "split-pane-left",
438
+ tabindex: D.value ? 0 : -1
439
+ }, [
440
+ M(x.$slots, "pane-left", {}, void 0, !0)
441
+ ], 10, it),
442
+ D.value ? (R(), k("div", {
443
+ key: 0,
444
+ ref_key: "paneLeftDivider",
445
+ ref: o,
446
+ class: "split-pane-resize-divider left",
447
+ "data-testid": "split-pane-resize-divider-left",
448
+ tabindex: "0",
449
+ title: r(Z).t("actions.drag_to_resize"),
450
+ onMousedown: y[0] || (y[0] = //@ts-ignore
451
+ (...V) => r(m) && r(m)(...V))
452
+ }, [...y[2] || (y[2] = [
453
+ C("div", { class: "split-pane-drag-handle" }, null, -1)
454
+ ])], 40, at)) : N("", !0),
455
+ C("div", ot, [
456
+ n.toolbar ? (R(), k("div", {
457
+ key: 0,
458
+ class: T(["split-pane-toolbar-container", { "has-resize-divider-left": D.value }]),
459
+ "data-testid": "split-pane-toolbar"
460
+ }, [
461
+ M(x.$slots, "toolbar", {}, void 0, !0)
462
+ ], 2)) : N("", !0),
463
+ C("div", {
464
+ ref_key: "innerPanesContainerRef",
465
+ ref: u,
466
+ class: "split-pane-inner-panes"
467
+ }, [
468
+ ue(C("div", {
469
+ ref_key: "paneCenterRef",
470
+ ref: p,
471
+ "aria-hidden": H.value ? void 0 : "true",
472
+ class: T(["split-pane-center", [{ "has-resize-divider-left": D.value }, { "has-resize-divider-right": c.value }, { "is-dragging-pane": r(z) || r(S) }]]),
473
+ "data-testid": "split-pane-center",
474
+ tabindex: H.value ? 0 : -1
475
+ }, [
476
+ M(x.$slots, "pane-center", {}, void 0, !0)
477
+ ], 10, st), [
478
+ [de, H.value]
479
+ ]),
480
+ c.value ? (R(), k("div", {
481
+ key: 0,
482
+ ref_key: "innerPanesDivider",
483
+ ref: f,
484
+ class: "split-pane-resize-divider right",
485
+ "data-testid": "split-pane-resize-divider-right",
486
+ tabindex: "0",
487
+ title: r(Z).t("actions.drag_to_resize"),
488
+ onMousedown: y[1] || (y[1] = //@ts-ignore
489
+ (...V) => r(h) && r(h)(...V))
490
+ }, [...y[3] || (y[3] = [
491
+ C("div", { class: "split-pane-drag-handle" }, null, -1)
492
+ ])], 40, lt)) : N("", !0),
493
+ ue(C("div", {
494
+ ref_key: "paneRightRef",
495
+ ref: d,
496
+ "aria-hidden": X.value ? void 0 : "true",
497
+ class: T(["split-pane-right", [
498
+ { "has-toolbar": !!n.toolbar },
499
+ { "show-resize-border": r(L) },
500
+ { "is-dragging-inner-panes": r(S) },
501
+ { "is-dragging-pane": r(z) || r(S) }
502
+ ]]),
503
+ "data-testid": "split-pane-right",
504
+ tabindex: X.value ? 0 : -1
505
+ }, [
506
+ M(x.$slots, "pane-right", {}, void 0, !0)
507
+ ], 10, rt), [
508
+ [de, X.value]
509
+ ])
510
+ ], 512)
511
+ ])
512
+ ])
513
+ ])
514
+ ])
515
+ ], 2));
516
+ }
517
+ }), Pt = /* @__PURE__ */ oe(ut, [["__scopeId", "data-v-e368f52f"]]), dt = {}, ct = {
518
+ class: "kong-ui-public-split-pane-toolbar",
519
+ "data-testid": "kong-ui-public-split-pane-toolbar"
520
+ }, ft = {
521
+ class: "left",
522
+ "data-testid": "split-toolbar-left"
523
+ }, vt = {
524
+ key: 0,
525
+ class: "center",
526
+ "data-testid": "split-toolbar-center"
527
+ }, pt = {
528
+ key: 1,
529
+ class: "right",
530
+ "data-testid": "split-toolbar-right"
531
+ };
532
+ function ht(e, n) {
533
+ return R(), k("div", ct, [
534
+ C("div", ft, [
535
+ M(e.$slots, "left", {}, void 0, !0)
536
+ ]),
537
+ e.$slots.center ? (R(), k("div", vt, [
538
+ M(e.$slots, "center", {}, void 0, !0)
539
+ ])) : N("", !0),
540
+ e.$slots.right ? (R(), k("div", pt, [
541
+ M(e.$slots, "right", {}, void 0, !0)
542
+ ])) : N("", !0)
543
+ ]);
544
+ }
545
+ const Rt = /* @__PURE__ */ oe(dt, [["render", ht], ["__scopeId", "data-v-44b95676"]]);
546
+ export {
547
+ Pt as SplitPane,
548
+ Rt as SplitToolbar
549
+ };
@@ -0,0 +1 @@
1
+ (function(R,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@kong/icons"),require("vue-router"),require("@kong-ui-public/i18n")):typeof define=="function"&&define.amd?define(["exports","vue","@kong/icons","vue-router","@kong-ui-public/i18n"],e):(R=typeof globalThis<"u"?globalThis:R||self,e(R["kong-ui-public-split-pane"]={},R.Vue,R.KongIcons,R.VueRouter,R["kong-ui-public-i18n"]))})(this,function(R,e,X,Q,F){"use strict";const Y="260px",O="500px",j="50%",K="50%";function A(t,i){return e.getCurrentScope()?(e.onScopeDispose(t,i),!0):!1}const ee=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const te=t=>t!=null,ne=Object.prototype.toString,ie=t=>ne.call(t)==="[object Object]",ae=()=>{};function T(t){return Array.isArray(t)?t:[t]}function oe(t){return e.getCurrentInstance()}function le(t,i=!0,r){oe()?e.onMounted(t,r):i?t():e.nextTick(t)}function se(t,i,r){return e.watch(t,i,{...r,immediate:!0})}const N=ee?window:void 0;function P(t){var i;const r=e.toValue(t);return(i=r==null?void 0:r.$el)!==null&&i!==void 0?i:r}function B(...t){const i=(n,a,s,o)=>(n.addEventListener(a,s,o),()=>n.removeEventListener(a,s,o)),r=e.computed(()=>{const n=T(e.toValue(t[0])).filter(a=>a!=null);return n.every(a=>typeof a!="string")?n:void 0});return se(()=>{var n,a;return[(n=(a=r.value)===null||a===void 0?void 0:a.map(s=>P(s)))!==null&&n!==void 0?n:[N].filter(s=>s!=null),T(e.toValue(r.value?t[1]:t[0])),T(e.unref(r.value?t[2]:t[1])),e.toValue(r.value?t[3]:t[2])]},([n,a,s,o],c,p)=>{if(!(n!=null&&n.length)||!(a!=null&&a.length)||!(s!=null&&s.length))return;const h=ie(o)?{...o}:o,d=n.flatMap(l=>a.flatMap(u=>s.map(g=>i(l,u,g,h))));p(()=>{d.forEach(l=>l())})},{flush:"post"})}function re(){const t=e.shallowRef(!1),i=e.getCurrentInstance();return i&&e.onMounted(()=>{t.value=!0},i),t}function q(t){const i=re();return e.computed(()=>(i.value,!!t()))}function ce(t,i,r={}){const{window:n=N,...a}=r;let s;const o=q(()=>n&&"MutationObserver"in n),c=()=>{s&&(s.disconnect(),s=void 0)},p=e.watch(e.computed(()=>{const l=T(e.toValue(t)).map(P).filter(te);return new Set(l)}),l=>{c(),o.value&&l.size&&(s=new MutationObserver(i),l.forEach(u=>s.observe(u,a)))},{immediate:!0,flush:"post"}),h=()=>s==null?void 0:s.takeRecords(),d=()=>{p(),c()};return A(d),{isSupported:o,stop:d,takeRecords:h}}function de(t,i,r={}){const{window:n=N,document:a=n==null?void 0:n.document,flush:s="sync"}=r;if(!n||!a)return ae;let o;const c=d=>{o==null||o(),o=d},p=e.watchEffect(()=>{const d=P(t);if(d){const{stop:l}=ce(a,u=>{u.map(g=>[...g.removedNodes]).flat().some(g=>g===d||g.contains(d))&&i(u)},{window:n,childList:!0,subtree:!0});c(l)}},{flush:s}),h=()=>{p(),c()};return A(h),h}function fe(t,i,r={}){const{window:n=N,...a}=r;let s;const o=q(()=>n&&"ResizeObserver"in n),c=()=>{s&&(s.disconnect(),s=void 0)},p=e.watch(e.computed(()=>{const d=e.toValue(t);return Array.isArray(d)?d.map(l=>P(l)):[P(d)]}),d=>{if(c(),o.value&&n){s=new ResizeObserver(i);for(const l of d)l&&s.observe(l,a)}},{immediate:!0,flush:"post"}),h=()=>{c(),p()};return A(h),{isSupported:o,stop:h}}function U(t,i={}){const{delayEnter:r=0,delayLeave:n=0,triggerOnRemoval:a=!1,window:s=N}=i,o=e.shallowRef(!1);let c;const p=h=>{const d=h?r:n;c&&(clearTimeout(c),c=void 0),d?c=setTimeout(()=>o.value=h,d):o.value=h};return s&&(B(t,"mouseenter",()=>p(!0),{passive:!0}),B(t,"mouseleave",()=>p(!1),{passive:!0}),a&&de(e.computed(()=>P(t)),()=>p(!1))),o}function ue(t,i={width:0,height:0},r={}){const{window:n=N,box:a="content-box"}=r,s=e.computed(()=>{var l;return(l=P(t))===null||l===void 0||(l=l.namespaceURI)===null||l===void 0?void 0:l.includes("svg")}),o=e.shallowRef(i.width),c=e.shallowRef(i.height),{stop:p}=fe(t,([l])=>{const u=a==="border-box"?l.borderBoxSize:a==="content-box"?l.contentBoxSize:l.devicePixelContentBoxSize;if(n&&s.value){const g=P(t);if(g){const b=g.getBoundingClientRect();o.value=b.width,c.value=b.height}}else if(u){const g=T(u);o.value=g.reduce((b,{inlineSize:y})=>b+y,0),c.value=g.reduce((b,{blockSize:y})=>b+y,0)}else o.value=l.contentRect.width,c.value=l.contentRect.height},r);le(()=>{const l=P(t);l&&(o.value="offsetWidth"in l?l.offsetWidth:i.width,c.value="offsetHeight"in l?l.offsetHeight:i.height)});const h=e.watch(()=>P(t),l=>{o.value=l?i.width:0,c.value=l?i.height:0});function d(){p(),h()}return{width:o,height:c,stop:d}}const G="20px",_=e.ref(!1),E=e.ref(!1),S=e.ref(!0),$=e.ref(0);function Z(t){const i=(t==null?void 0:t.verticalNavRef)||e.ref(null),r=(t==null?void 0:t.innerPanesContainerRef)||e.ref(null),n=(t==null?void 0:t.paneLeftRef)||e.ref(null),a=(t==null?void 0:t.paneCenterRef)||e.ref(null),s=(t==null?void 0:t.paneRightRef)||e.ref(null),o=f=>{var m,C,x,w,k;switch(f){case"verticalNav":return((m=i.value)==null?void 0:m.offsetWidth)||0;case"innerPanesContainer":return((C=r.value)==null?void 0:C.offsetWidth)||0;case"paneLeft":return((x=n.value)==null?void 0:x.offsetWidth)||0;case"paneCenter":return((w=a.value)==null?void 0:w.offsetWidth)||0;case"paneRight":return((k=s.value)==null?void 0:k.offsetWidth)||0;default:return 0}},c=e.ref(50),p=e.ref(0),h=e.ref(0),d=e.ref(0),l=e.ref(0),u=f=>{if(a.value){if(f){a.value.style.width=`${f}%`,$.value=o("paneCenter");return}else(typeof c.value!="number"||!isFinite(c.value))&&(c.value=38);a.value.style.width=`${c.value}%`,$.value=o("paneCenter")}},g=()=>{var f;a.value&&((f=s.value)==null?void 0:f.style.display)==="none"?(a.value.style.flex="1",u(100)):(a.value&&(a.value.style.flex=""),u())},b=()=>{var x;if(!r.value||!a.value)return;const f=100,m=o("innerPanesContainer")-o("verticalNav")-o("paneLeft")-f,C=c.value/100*o("innerPanesContainer");if(C<f?c.value=f/o("innerPanesContainer")*100:C>m&&(c.value=m/o("innerPanesContainer")*100),a.value&&s.value&&((x=s.value)==null?void 0:x.style.display)==="none"){u(100);return}u()},y=f=>{!a.value||f.button!==0||(E.value=!0,p.value=f.clientX,h.value=a.value.offsetWidth||0)},v=f=>{if(!E.value||!r.value||!a.value)return;const m=r.value.offsetWidth,C=f.clientX-p.value,w=(h.value+C)/m*100,k=100/m*100,I=(m-100)/m*100;c.value=Math.min(Math.max(k,w),I),u()},L=()=>{E.value=!1},z=f=>{!n.value||!S.value||f.button!==0||(_.value=!0,d.value=f.clientX,l.value=n.value.offsetWidth||0)},M=f=>{if(!_.value||!n.value)return;let m=l.value+(f.clientX-d.value);const C=Number(Y.replace(/px$/i,"")),x=Number(O.replace(/px$/i,""));m<C&&(m=C),m>x&&(m=x),n.value.style.width=`${m}px`,d.value=f.clientX,l.value=m,$.value=o("paneCenter")},W=()=>{_.value=!1},D=()=>{E.value||b()},V=async()=>{S.value=!S.value};return B(window,"resize",D),e.onMounted(async()=>{await e.nextTick(),a.value&&(b(),await e.nextTick(),u(),requestAnimationFrame(()=>{$.value=o("paneCenter")}))}),B(document,"mousemove",f=>{E.value&&v(f),_.value&&M(f)}),B(document,"mouseup",()=>{E.value&&L(),_.value&&W()}),{isDraggingPaneLeft:e.readonly(_),isDraggingInnerPanes:e.readonly(E),startDraggingInnerPanes:y,refreshInnerPaneSizes:g,paneLeftExpanded:e.readonly(S),togglePaneLeft:V,startDraggingPaneLeft:z,centerPaneWidth:$}}const pe={actions:{return:"Return",collapse_panel:"Collapse panel",expand_panel:"Expand panel",drag_to_resize:"Click and drag to resize"}};function J(){const t=F.createI18n("en-us",pe);return{i18n:t,i18nT:F.i18nTComponent(t)}}const he={class:"kong-ui-public-split-pane-vertical-navigation"},ge={class:"split-pane-nav"},me={class:"top"},be={class:"bottom"},ve=e.defineComponent({__name:"VerticalNavigation",props:{paneLeftWidth:{default:0},paneLeftVisible:{type:Boolean,default:!0},items:{default:()=>[]}},setup(t){e.useCssVars(u=>({c4231b96:d.value}));const{i18n:i}=J(),r=Q.useRouter(),{paneLeftExpanded:n,togglePaneLeft:a,isDraggingPaneLeft:s,isDraggingInnerPanes:o}=Z(),c=e.ref(!1),p=e.ref(!1),h=e.computed(()=>c.value||s.value||o.value),d=e.computed(()=>`${t.paneLeftWidth-8}px`),l=u=>{n.value||a(),!u.active&&u.to&&r.push(u.to)};return e.onMounted(async()=>{await e.nextTick(),await new Promise(u=>setTimeout(u,500)),p.value=!0}),(u,g)=>{const b=e.resolveComponent("KButton"),y=e.resolveComponent("KTooltip");return e.openBlock(),e.createElementBlock("div",he,[e.createElementVNode("nav",ge,[e.createElementVNode("div",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,v=>(e.openBlock(),e.createBlock(y,{key:v.tooltip,"kpop-attributes":{offset:"10px"},label:v.tooltip,placement:"right"},{default:e.withCtx(()=>[e.createVNode(b,{appearance:"none","aria-label":v.tooltip,class:e.normalizeClass(["split-pane-nav-item",{active:v.active}]),"data-testid":`kong-ui-public-split-pane-vertical-navigation-nav-item-${v.testid}`,icon:"",size:"large",style:{cursor:"pointer"},to:v.to,onClickCapture:e.withModifiers(L=>l(v),["prevent"])},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(v.icon),{decorative:"",size:e.unref(G)},null,8,["size"]))]),_:2},1032,["aria-label","class","data-testid","to","onClickCapture"])]),_:2},1032,["label"]))),128))]),e.createElementVNode("div",be,[t.paneLeftVisible?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["toggle-left-panel-control",{expanded:e.unref(n),"disable-animation":!p.value||e.unref(s)||e.unref(o)}]),onTransitionend:g[0]||(g[0]=e.withModifiers(v=>c.value=!1,["self"])),onTransitionstart:g[1]||(g[1]=e.withModifiers(v=>c.value=!0,["self"]))},[(e.openBlock(),e.createBlock(y,{key:String(e.unref(n)),"kpop-attributes":e.unref(n)?void 0:{offset:"10px"},label:h.value?void 0:e.unref(n)?e.unref(i).t("actions.collapse_panel"):e.unref(i).t("actions.expand_panel"),placement:e.unref(n)?"left":"right"},{default:e.withCtx(()=>[e.createVNode(b,{appearance:"none","aria-controls":"left-pane","aria-expanded":e.unref(n),"aria-label":e.unref(n)?e.unref(i).t("actions.collapse_panel"):e.unref(i).t("actions.expand_panel"),class:"split-pane-nav-item toggle-left-panel","data-testid":"kong-ui-public-split-pane-toggle-left-panel-button",icon:"",size:"large",onClick:e.unref(a)},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(n)?e.unref(X.ChevronDoubleLeftIcon):e.unref(X.ChevronDoubleRightIcon)),{decorative:"",size:e.unref(G)},null,8,["size"]))]),_:1},8,["aria-expanded","aria-label","onClick"])]),_:1},8,["kpop-attributes","label","placement"]))],34)):e.createCommentVNode("",!0)])])])}}}),H=(t,i)=>{const r=t.__vccOpts||t;for(const[n,a]of i)r[n]=a;return r},we=H(ve,[["__scopeId","data-v-2261cf1d"]]),ke={class:"split-pane-container"},Ce={class:"split-pane-container-inner"},Re={class:"panes"},xe=["aria-hidden","tabindex"],Pe=["title"],ye={class:"split-pane-container-inner-content"},Ee=["aria-hidden","tabindex"],Le=["title"],We=["aria-hidden","tabindex"],Ne=H(e.defineComponent({__name:"SplitPane",props:{resizable:{type:Boolean,default:!0},showResizeHandle:{type:Boolean,default:!0},showNavigation:{type:Boolean,default:!0},navigationItems:{default:()=>[]},paneLeft:{default:()=>({visible:!0,maxWidth:O})},paneCenter:{default:()=>({visible:!0,maxWidth:j})},paneRight:{default:()=>({visible:!0,maxWidth:K})}},setup(t){e.useCssVars(w=>({v49e30752:n.value,v2075cf60:a.value,v8d772a96:s.value}));const i=e.useSlots(),r=w=>w==="left"?t.paneLeft.maxWidth!==void 0?t.paneLeft.maxWidth:O:w==="center"?t.resizable?"none":t.paneCenter.maxWidth!==void 0?t.paneCenter.maxWidth:j:w==="right"?t.resizable?"none":t.paneRight.maxWidth!==void 0?t.paneRight.maxWidth:K:"none",n=e.computed(()=>r("left")),a=e.computed(()=>r("center")),s=e.computed(()=>r("right")),o=e.useTemplateRef("verticalNavRef"),c=e.useTemplateRef("innerPanesContainerRef"),p=e.useTemplateRef("paneLeftRef"),h=e.useTemplateRef("paneCenterRef"),d=e.useTemplateRef("paneRightRef"),l=e.useTemplateRef("paneLeftDivider"),u=e.useTemplateRef("innerPanesDivider"),{startDraggingInnerPanes:g,startDraggingPaneLeft:b,refreshInnerPaneSizes:y,paneLeftExpanded:v,isDraggingPaneLeft:L,isDraggingInnerPanes:z}=Z({verticalNavRef:o,innerPanesContainerRef:c,paneLeftRef:p,paneCenterRef:h,paneRightRef:d}),{i18n:M}=J(),W=e.computed(()=>!!i["pane-left"]&&t.paneLeft.visible!==!1&&v.value),D=e.computed(()=>!!i["pane-center"]&&t.paneCenter.visible!==!1),V=e.computed(()=>!!i["pane-right"]&&t.paneRight.visible!==!1),f=e.computed(()=>t.resizable&&t.showResizeHandle&&!!i["pane-center"]&&t.paneCenter.visible!==!1&&!!i["pane-right"]&&t.paneRight.visible!==!1),m=U(l),C=U(u),{width:x}=ue(p);return e.watch(()=>t.paneRight.visible,async()=>{t.resizable&&(await e.nextTick(),y())},{flush:"post"}),(w,k)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["kong-ui-public-split-pane",{"has-navigation":t.showNavigation}]),"data-testid":"split-pane"},[e.createElementVNode("div",ke,[t.showNavigation?(e.openBlock(),e.createBlock(we,{key:0,ref_key:"verticalNavRef",ref:o,items:t.navigationItems,"pane-left-visible":t.paneLeft.visible!==!1,"pane-left-width":e.unref(x)},null,8,["items","pane-left-visible","pane-left-width"])):e.createCommentVNode("",!0),e.createElementVNode("div",Ce,[e.createElementVNode("div",Re,[e.createElementVNode("div",{ref_key:"paneLeftRef",ref:p,"aria-hidden":W.value?void 0:"true",class:e.normalizeClass(["split-pane-left",[{expanded:e.unref(v),"show-resize-border":e.unref(m)},{"is-dragging-pane-left":e.unref(L)},{"is-dragging-pane":e.unref(L)||e.unref(z)}]]),"data-testid":"split-pane-left",tabindex:W.value?0:-1},[e.renderSlot(w.$slots,"pane-left",{},void 0,!0)],10,xe),W.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"paneLeftDivider",ref:l,class:"split-pane-resize-divider left","data-testid":"split-pane-resize-divider-left",tabindex:"0",title:e.unref(M).t("actions.drag_to_resize"),onMousedown:k[0]||(k[0]=(...I)=>e.unref(b)&&e.unref(b)(...I))},[...k[2]||(k[2]=[e.createElementVNode("div",{class:"split-pane-drag-handle"},null,-1)])],40,Pe)):e.createCommentVNode("",!0),e.createElementVNode("div",ye,[i.toolbar?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["split-pane-toolbar-container",{"has-resize-divider-left":W.value}]),"data-testid":"split-pane-toolbar"},[e.renderSlot(w.$slots,"toolbar",{},void 0,!0)],2)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"innerPanesContainerRef",ref:c,class:"split-pane-inner-panes"},[e.withDirectives(e.createElementVNode("div",{ref_key:"paneCenterRef",ref:h,"aria-hidden":D.value?void 0:"true",class:e.normalizeClass(["split-pane-center",[{"has-resize-divider-left":W.value},{"has-resize-divider-right":f.value},{"is-dragging-pane":e.unref(L)||e.unref(z)}]]),"data-testid":"split-pane-center",tabindex:D.value?0:-1},[e.renderSlot(w.$slots,"pane-center",{},void 0,!0)],10,Ee),[[e.vShow,D.value]]),f.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"innerPanesDivider",ref:u,class:"split-pane-resize-divider right","data-testid":"split-pane-resize-divider-right",tabindex:"0",title:e.unref(M).t("actions.drag_to_resize"),onMousedown:k[1]||(k[1]=(...I)=>e.unref(g)&&e.unref(g)(...I))},[...k[3]||(k[3]=[e.createElementVNode("div",{class:"split-pane-drag-handle"},null,-1)])],40,Le)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("div",{ref_key:"paneRightRef",ref:d,"aria-hidden":V.value?void 0:"true",class:e.normalizeClass(["split-pane-right",[{"has-toolbar":!!i.toolbar},{"show-resize-border":e.unref(C)},{"is-dragging-inner-panes":e.unref(z)},{"is-dragging-pane":e.unref(L)||e.unref(z)}]]),"data-testid":"split-pane-right",tabindex:V.value?0:-1},[e.renderSlot(w.$slots,"pane-right",{},void 0,!0)],10,We),[[e.vShow,V.value]])],512)])])])])],2))}}),[["__scopeId","data-v-e368f52f"]]),_e={},ze={class:"kong-ui-public-split-pane-toolbar","data-testid":"kong-ui-public-split-pane-toolbar"},Te={class:"left","data-testid":"split-toolbar-left"},Be={key:0,class:"center","data-testid":"split-toolbar-center"},$e={key:1,class:"right","data-testid":"split-toolbar-right"};function De(t,i){return e.openBlock(),e.createElementBlock("div",ze,[e.createElementVNode("div",Te,[e.renderSlot(t.$slots,"left",{},void 0,!0)]),t.$slots.center?(e.openBlock(),e.createElementBlock("div",Be,[e.renderSlot(t.$slots,"center",{},void 0,!0)])):e.createCommentVNode("",!0),t.$slots.right?(e.openBlock(),e.createElementBlock("div",$e,[e.renderSlot(t.$slots,"right",{},void 0,!0)])):e.createCommentVNode("",!0)])}const Ve=H(_e,[["render",De],["__scopeId","data-v-44b95676"]]);R.SplitPane=Ne,R.SplitToolbar=Ve,Object.defineProperty(R,Symbol.toStringTag,{value:"Module"})});
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .kong-ui-public-split-pane-vertical-navigation[data-v-2261cf1d]{color:#bee2ff;color:var(--kui-navigation-color-text, #bee2ff);display:flex;height:100%;justify-content:center;padding:8px;padding:var(--kui-space-40, 8px);position:relative;width:52px;z-index:1}.kong-ui-public-split-pane-vertical-navigation .split-pane-nav[data-v-2261cf1d]{align-items:center;display:flex;flex-direction:column;gap:12px;gap:var(--kui-space-50, 12px);justify-content:space-between;width:100%}.kong-ui-public-split-pane-vertical-navigation .split-pane-nav .top[data-v-2261cf1d],.kong-ui-public-split-pane-vertical-navigation .split-pane-nav .bottom[data-v-2261cf1d]{display:flex;flex-direction:column;flex-grow:1;gap:12px;gap:var(--kui-space-50, 12px);position:relative;width:100%}.kong-ui-public-split-pane-vertical-navigation .split-pane-nav .top[data-v-2261cf1d]{align-items:center;justify-content:flex-start}.kong-ui-public-split-pane-vertical-navigation .split-pane-nav .bottom[data-v-2261cf1d]{align-items:center;justify-content:flex-end}.kong-ui-public-split-pane-vertical-navigation .split-pane-nav[data-v-2261cf1d] .k-popover .popover{pointer-events:none}.kong-ui-public-split-pane-vertical-navigation .split-pane-nav-item[data-v-2261cf1d]{align-items:center;background-color:#000933;background-color:var(--kui-navigation-color-background, #000933);border:1px solid transparent;border:var(--kui-border-width-10, 1px) solid var(--kui-color-border-transparent, transparent);border-radius:6px;border-radius:var(--kui-border-radius-30, 6px);color:#bee2ff;color:var(--kui-navigation-color-text, #bee2ff);cursor:pointer;display:flex;justify-content:center;justify-content:space-between;text-decoration:none;transition:color .2s ease;white-space:nowrap}.kong-ui-public-split-pane-vertical-navigation .split-pane-nav-item[data-v-2261cf1d]:hover,.kong-ui-public-split-pane-vertical-navigation .split-pane-nav-item[data-v-2261cf1d]:focus-visible{color:#eefaff;color:var(--kui-navigation-color-text-hover, #eefaff)}.kong-ui-public-split-pane-vertical-navigation .split-pane-nav-item[data-v-2261cf1d]:hover svg,.kong-ui-public-split-pane-vertical-navigation .split-pane-nav-item[data-v-2261cf1d]:focus-visible svg{color:#eefaff;color:var(--kui-navigation-color-text-hover, #eefaff)}.kong-ui-public-split-pane-vertical-navigation .split-pane-nav-item[data-v-2261cf1d]:focus-visible{box-shadow:0 0 0 1px #fff9 inset;box-shadow:var(--kui-navigation-shadow-focus, 0 0 0 1px rgba(255, 255, 255, .6) inset);outline:none}.kong-ui-public-split-pane-vertical-navigation .split-pane-nav-item[data-v-2261cf1d] svg path{color:currentColor;fill:currentColor;transition:all .2s ease-out}.kong-ui-public-split-pane-vertical-navigation .split-pane-nav-item.active[data-v-2261cf1d]{background-color:#ffffff1f;background-color:var(--kui-navigation-color-background-selected, rgba(255, 255, 255, .12));border-color:#ffffff1f;border-color:var(--kui-navigation-color-border, rgba(255, 255, 255, .12));color:#00fabe;color:var(--kui-navigation-color-text-selected, #00fabe)}.kong-ui-public-split-pane-vertical-navigation .split-pane-nav-item.active[data-v-2261cf1d]:hover,.kong-ui-public-split-pane-vertical-navigation .split-pane-nav-item.active[data-v-2261cf1d]:focus-visible{color:#00fabe!important;color:var(--kui-navigation-color-text-selected, #00fabe)!important}.kong-ui-public-split-pane-vertical-navigation .split-pane-nav-item.active[data-v-2261cf1d]:hover svg,.kong-ui-public-split-pane-vertical-navigation .split-pane-nav-item.active[data-v-2261cf1d]:focus-visible svg{color:#00fabe;color:var(--kui-navigation-color-text-selected, #00fabe)}.kong-ui-public-split-pane-vertical-navigation .split-pane-nav-item.toggle-left-panel[data-v-2261cf1d]{border-color:#ffffff1f;border-color:var(--kui-navigation-color-border, rgba(255, 255, 255, .12))}.toggle-left-panel-control[data-v-2261cf1d]{left:0;position:absolute;z-index:1}.toggle-left-panel-control[data-v-2261cf1d]:not(.disable-animation){transition:left .2s ease-out}.toggle-left-panel-control.expanded[data-v-2261cf1d]{left:var(--c4231b96)}[data-v-e368f52f],[data-v-e368f52f] *{box-sizing:border-box}.kong-ui-public-split-pane[data-v-e368f52f]{height:100%}.kong-ui-public-split-pane.has-navigation[data-v-e368f52f]{background-color:#000933;background-color:var(--kui-navigation-color-background, #000933);bottom:0;left:0;position:fixed;right:0;top:0;z-index:2000}.kong-ui-public-split-pane.has-navigation .split-pane-container-inner[data-v-e368f52f]{padding-top:6px;padding-top:var(--kui-space-30, 6px)}.kong-ui-public-split-pane .split-pane-container[data-v-e368f52f]{display:flex;flex-direction:row;height:100%;width:100%}.kong-ui-public-split-pane .split-pane-container-inner[data-v-e368f52f]{display:flex;flex-direction:column;width:100%}.kong-ui-public-split-pane .split-pane-container-inner-content[data-v-e368f52f]{display:flex;flex:1 1 auto;flex-direction:column;height:100%;max-height:calc(100vh - 6px);min-width:0;position:relative;width:100%}.kong-ui-public-split-pane .split-pane-inner-panes[data-v-e368f52f]{display:flex;height:100%;width:100%}.kong-ui-public-split-pane .panes[data-v-e368f52f]{align-items:stretch;background-color:#fff;background-color:var(--kui-color-background, #ffffff);border-top-left-radius:6px;border-top-left-radius:var(--kui-border-radius-30, 6px);display:flex;flex:1 1 auto;flex-direction:row;overflow:hidden;z-index:0}.kong-ui-public-split-pane .split-pane-left[data-v-e368f52f],.kong-ui-public-split-pane .split-pane-center[data-v-e368f52f],.kong-ui-public-split-pane .split-pane-right[data-v-e368f52f]{overflow-x:hidden;overflow-y:auto;position:relative;scrollbar-width:thin}.kong-ui-public-split-pane .split-pane-left.has-toolbar[data-v-e368f52f],.kong-ui-public-split-pane .split-pane-center.has-toolbar[data-v-e368f52f],.kong-ui-public-split-pane .split-pane-right.has-toolbar[data-v-e368f52f]{max-height:calc(100vh - 44px)}.kong-ui-public-split-pane .split-pane-left.is-dragging-pane[data-v-e368f52f],.kong-ui-public-split-pane .split-pane-center.is-dragging-pane[data-v-e368f52f],.kong-ui-public-split-pane .split-pane-right.is-dragging-pane[data-v-e368f52f]{pointer-events:none;transition:none;-webkit-user-select:none;user-select:none}.kong-ui-public-split-pane .split-pane-left[data-v-e368f52f]{border-right:1px solid transparent;border-right:var(--kui-border-width-10, 1px) solid var(--kui-color-border-transparent, transparent);border-top-left-radius:6px;border-top-left-radius:var(--kui-border-radius-30, 6px);flex:0 0 auto;max-height:none!important;max-width:0;overflow:hidden;pointer-events:none;position:relative;transition:border-color .1s ease-in-out,max-width .1s ease-in-out;width:260px;will-change:border-color,max-width,min-width;z-index:5}.kong-ui-public-split-pane .split-pane-left.expanded[data-v-e368f52f]{border-right-color:#e0e4ea;border-right-color:var(--kui-color-border, #e0e4ea);max-width:var(--v49e30752);pointer-events:auto}.kong-ui-public-split-pane .split-pane-left.is-dragging-pane-left[data-v-e368f52f],.kong-ui-public-split-pane .split-pane-left.expanded.show-resize-border[data-v-e368f52f],.kong-ui-public-split-pane .split-pane-left.show-resize-border[data-v-e368f52f]{border-right-color:#0044f4;border-right-color:var(--kui-color-border-primary, #0044f4)}.kong-ui-public-split-pane .split-pane-center[data-v-e368f52f]{max-width:var(--v2075cf60);min-width:300px;width:300px}.kong-ui-public-split-pane .split-pane-center.has-resize-divider-left[data-v-e368f52f]{margin-left:-3px}.kong-ui-public-split-pane .split-pane-center.has-resize-divider-right[data-v-e368f52f]{margin-right:-3px}.kong-ui-public-split-pane .split-pane-right[data-v-e368f52f]{border-left:1px solid #e0e4ea;border-left:var(--kui-border-width-10, 1px) solid var(--kui-color-border, #e0e4ea);flex:1;max-width:var(--v8d772a96);min-width:300px;transition:border-color .1s ease-in-out}.kong-ui-public-split-pane .split-pane-right.is-dragging-inner-panes[data-v-e368f52f],.kong-ui-public-split-pane .split-pane-right.show-resize-border[data-v-e368f52f]{border-left-color:#0044f4;border-left-color:var(--kui-color-border-primary, #0044f4)}.kong-ui-public-split-pane .split-pane-toolbar-container.has-resize-divider-left[data-v-e368f52f]{margin-left:-3px}.kong-ui-public-split-pane .split-pane-resize-divider[data-v-e368f52f]{align-self:flex-end;background-color:transparent;background-color:var(--kui-color-background-transparent, transparent);cursor:col-resize;height:calc(100% - 43px);position:relative;transition:all .1s ease-in-out;width:3px;z-index:4}.kong-ui-public-split-pane .split-pane-resize-divider.left[data-v-e368f52f]{margin-left:0}.kong-ui-public-split-pane .split-pane-resize-divider.right[data-v-e368f52f]{right:-3px}.kong-ui-public-split-pane-toolbar[data-v-44b95676]{align-items:center;background:#fff;background:var(--kui-color-background, #ffffff);border-bottom:1px solid #e0e4ea;border-bottom:var(--kui-border-width-10, 1px) solid var(--kui-color-border, #e0e4ea);display:flex;flex:0 0 44px;justify-content:space-between;min-height:44px;overflow-x:auto;overflow-y:hidden;padding-left:8px;padding-left:var(--kui-space-40, 8px);padding-right:8px;padding-right:var(--kui-space-40, 8px);position:sticky;scrollbar-width:thin;top:0;z-index:3}.left[data-v-44b95676],.right[data-v-44b95676],.center[data-v-44b95676]{align-items:center;display:flex;gap:8px;gap:var(--kui-space-40, 8px);height:100%}.left[data-v-44b95676],.right[data-v-44b95676]{flex:1 1 0%}.right[data-v-44b95676]{justify-content:flex-end}
@@ -0,0 +1,17 @@
1
+ import type { SplitPaneProps } from '../types';
2
+ type __VLS_Slots = {
3
+ toolbar?: () => any;
4
+ 'pane-left'?: () => any;
5
+ 'pane-center'?: () => any;
6
+ 'pane-right'?: () => any;
7
+ };
8
+ declare const __VLS_base: import("vue").DefineComponent<SplitPaneProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<SplitPaneProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
9
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
10
+ declare const _default: typeof __VLS_export;
11
+ export default _default;
12
+ type __VLS_WithSlots<T, S> = T & {
13
+ new (): {
14
+ $slots: S;
15
+ };
16
+ };
17
+ //# sourceMappingURL=SplitPane.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SplitPane.vue.d.ts","sourceRoot":"","sources":["../../../src/components/SplitPane.vue"],"names":[],"mappings":"AAoZA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AA0B9C,KAAK,WAAW,GAAG;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,GAAG,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,GAAG,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,CAAA;CACzB,CAAC;AAuSF,QAAA,MAAM,UAAU,wSAEd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -0,0 +1,18 @@
1
+ declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {};
2
+ type __VLS_Slots = {} & {
3
+ left?: (props: typeof __VLS_1) => any;
4
+ } & {
5
+ center?: (props: typeof __VLS_3) => any;
6
+ } & {
7
+ right?: (props: typeof __VLS_5) => any;
8
+ };
9
+ declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
10
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;
13
+ type __VLS_WithSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
18
+ //# sourceMappingURL=SplitToolbar.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SplitToolbar.vue.d.ts","sourceRoot":"","sources":["../../../src/components/SplitToolbar.vue"],"names":[],"mappings":"AAqHA,QAAA,IAAI,OAAO,IAAU,EAAE,OAAO,IAAU,EAAE,OAAO,IAAW,CAAE;AAC9D,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GACzC;IAAE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,GAC3C;IAAE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAK7C,QAAA,MAAM,UAAU,+QACd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { VerticalNavigationItem } from '../types';
2
+ type __VLS_Props = {
3
+ paneLeftWidth?: number;
4
+ paneLeftVisible?: boolean;
5
+ items?: VerticalNavigationItem[];
6
+ };
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
+ declare const _default: typeof __VLS_export;
9
+ export default _default;
10
+ //# sourceMappingURL=VerticalNavigation.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerticalNavigation.vue.d.ts","sourceRoot":"","sources":["../../../src/components/VerticalNavigation.vue"],"names":[],"mappings":"AAgQA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAEtD,KAAK,WAAW,GAAG;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,KAAK,CAAC,EAAE,sBAAsB,EAAE,CAAA;CACjC,CAAC;AAsRF,QAAA,MAAM,YAAY,kSAEhB,CAAC;wBACkB,OAAO,YAAY;AAAxC,wBAAyC"}
@@ -0,0 +1,9 @@
1
+ import { createI18n, i18nTComponent } from '@kong-ui-public/i18n';
2
+ import english from '../locales/en.json';
3
+ interface UseI18nReturn {
4
+ i18n: ReturnType<typeof createI18n<typeof english>>;
5
+ i18nT: ReturnType<typeof i18nTComponent<typeof english>>;
6
+ }
7
+ export default function useI18n(): UseI18nReturn;
8
+ export {};
9
+ //# sourceMappingURL=useI18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useI18n.d.ts","sourceRoot":"","sources":["../../../src/composable/useI18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,OAAO,MAAM,oBAAoB,CAAA;AAExC,UAAU,aAAa;IACrB,IAAI,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAA;IACnD,KAAK,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,OAAO,OAAO,CAAC,CAAC,CAAA;CACzD;AAED,MAAM,CAAC,OAAO,UAAU,OAAO,IAAI,aAAa,CAO/C"}
@@ -0,0 +1,17 @@
1
+ import type { useSplitPaneParams } from '../types';
2
+ /**
3
+ * Composable for managing split pane layout with resizable panels
4
+ * @param {useSplitPaneParams} [params]
5
+ * @returns {Object} Object containing pane state and control functions
6
+ */
7
+ export default function useSplitPane(params?: useSplitPaneParams): {
8
+ isDraggingPaneLeft: Readonly<import("vue").Ref<boolean, boolean>>;
9
+ isDraggingInnerPanes: Readonly<import("vue").Ref<boolean, boolean>>;
10
+ startDraggingInnerPanes: (e: MouseEvent) => void;
11
+ refreshInnerPaneSizes: () => void;
12
+ paneLeftExpanded: Readonly<import("vue").Ref<boolean, boolean>>;
13
+ togglePaneLeft: () => Promise<void>;
14
+ startDraggingPaneLeft: (e: MouseEvent) => void;
15
+ centerPaneWidth: import("vue").Ref<number, number>;
16
+ };
17
+ //# sourceMappingURL=useSplitPane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSplitPane.d.ts","sourceRoot":"","sources":["../../../src/composable/useSplitPane.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAgBlD;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,MAAM,CAAC,EAAE,kBAAkB;;;iCAqH1B,UAAU,KAAG,IAAI;iCAjDnB,IAAI;;0BAyJL,OAAO,CAAC,IAAI,CAAC;+BA1DZ,UAAU,KAAG,IAAI;;EA2GpD"}
@@ -0,0 +1,9 @@
1
+ /** Default minimum width for the left pane */
2
+ export declare const PANE_LEFT_MIN_WIDTH = "260px";
3
+ /** Default maximum width for the left pane */
4
+ export declare const PANE_LEFT_MAX_WIDTH = "500px";
5
+ /** Default maximum width for the center pane */
6
+ export declare const PANE_CENTER_DEFAULT_MAX_WIDTH: string;
7
+ /** Default maximum width for the right pane */
8
+ export declare const PANE_RIGHT_DEFAULT_MAX_WIDTH: string;
9
+ //# sourceMappingURL=split-pane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split-pane.d.ts","sourceRoot":"","sources":["../../../src/constants/split-pane.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,eAAO,MAAM,mBAAmB,UAAU,CAAA;AAC1C,8CAA8C;AAC9C,eAAO,MAAM,mBAAmB,UAAU,CAAA;AAC1C,gDAAgD;AAChD,eAAO,MAAM,6BAA6B,EAAE,MAAc,CAAA;AAC1D,+CAA+C;AAC/C,eAAO,MAAM,4BAA4B,EAAE,MAAc,CAAA"}
@@ -0,0 +1,5 @@
1
+ import SplitPane from './components/SplitPane.vue';
2
+ import SplitToolbar from './components/SplitToolbar.vue';
3
+ export { SplitPane, SplitToolbar, };
4
+ export * from './types';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAClD,OAAO,YAAY,MAAM,+BAA+B,CAAA;AAExD,OAAO,EACL,SAAS,EACT,YAAY,GACb,CAAA;AAED,cAAc,SAAS,CAAA"}
@@ -0,0 +1,74 @@
1
+ import type { Component, ShallowRef } from 'vue';
2
+ import type { RouteLocationRaw } from 'vue-router';
3
+ export interface SplitPaneProps {
4
+ /**
5
+ * Should the center and right panels allow for resizing
6
+ * @default true
7
+ */
8
+ resizable?: boolean;
9
+ /**
10
+ * Should the resize handle be hidden
11
+ * @default true
12
+ */
13
+ showResizeHandle?: boolean;
14
+ /**
15
+ * Show the navigation pane
16
+ * @default true
17
+ */
18
+ showNavigation?: boolean;
19
+ /**
20
+ * The items to show in the vertical navigation
21
+ * @default []
22
+ */
23
+ navigationItems?: VerticalNavigationItem[];
24
+ paneLeft?: {
25
+ /** Pass false to hide the pane even if it contains slot content */
26
+ visible?: boolean;
27
+ maxWidth?: string;
28
+ };
29
+ paneCenter?: {
30
+ /** Pass false to hide the pane even if it contains slot content */
31
+ visible?: boolean;
32
+ maxWidth?: string;
33
+ };
34
+ paneRight?: {
35
+ /** Pass false to hide the pane even if it contains slot content */
36
+ visible?: boolean;
37
+ maxWidth?: string;
38
+ };
39
+ }
40
+ export interface VerticalNavigationItem {
41
+ /**
42
+ * The route location to navigate to
43
+ */
44
+ to?: RouteLocationRaw;
45
+ /**
46
+ * The tooltip text to show on hover
47
+ */
48
+ tooltip: string;
49
+ /**
50
+ * Is the item currently active
51
+ */
52
+ active: boolean;
53
+ /**
54
+ * The icon to show for the navigation item
55
+ */
56
+ icon: Component;
57
+ /**
58
+ * The test ID for the navigation item
59
+ */
60
+ testid: string;
61
+ }
62
+ export interface useSplitPaneParams {
63
+ /** The `useTemplateRef()` of the vertical navigation component */
64
+ verticalNavRef?: Readonly<ShallowRef<any | null>>;
65
+ /** The `useTemplateRef()` of the resizable pane's parent element */
66
+ innerPanesContainerRef?: Readonly<ShallowRef<HTMLDivElement | null>>;
67
+ /** The `useTemplateRef()` of the left pane */
68
+ paneLeftRef?: Readonly<ShallowRef<HTMLDivElement | null>>;
69
+ /** The `useTemplateRef()` of the center pane */
70
+ paneCenterRef?: Readonly<ShallowRef<HTMLDivElement | null>>;
71
+ /** The `useTemplateRef()` of the right pane */
72
+ paneRightRef?: Readonly<ShallowRef<HTMLDivElement | null>>;
73
+ }
74
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;OAGG;IACH,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAA;IAC1C,QAAQ,CAAC,EAAE;QACT,mEAAmE;QACnE,OAAO,CAAC,EAAE,OAAO,CAAA;QAEjB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;IACD,UAAU,CAAC,EAAE;QACX,mEAAmE;QACnE,OAAO,CAAC,EAAE,OAAO,CAAA;QAEjB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;IACD,SAAS,CAAC,EAAE;QACV,mEAAmE;QACnE,OAAO,CAAC,EAAE,OAAO,CAAA;QAEjB,QAAQ,CAAC,EAAE,MAAM,CAAA;KAClB,CAAA;CACF;AAGD,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,EAAE,CAAC,EAAE,gBAAgB,CAAA;IACrB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,MAAM,EAAE,OAAO,CAAA;IACf;;OAEG;IACH,IAAI,EAAE,SAAS,CAAA;IACf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;CACf;AAGD,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,cAAc,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAA;IACjD,oEAAoE;IACpE,sBAAsB,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAA;IACpE,8CAA8C;IAC9C,WAAW,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAA;IACzD,gDAAgD;IAChD,aAAa,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAA;IAC3D,+CAA+C;IAC/C,YAAY,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAA;CAC3D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kong-ui-public/split-pane",
3
- "version": "0.3.10-pr.3045.d28bba50d.0",
3
+ "version": "0.3.10",
4
4
  "type": "module",
5
5
  "description": "A shared SplitPane layout component for Vue 3 applications.",
6
6
  "main": "./dist/split-pane.umd.js",
@@ -45,7 +45,7 @@
45
45
  "errorLimit": "200KB"
46
46
  },
47
47
  "peerDependencies": {
48
- "@kong/icons": "^1.47.0",
48
+ "@kong/icons": "^1.48.0",
49
49
  "@kong/kongponents": ">=9.42.0 <10.0.0",
50
50
  "vue": "^3.5.27",
51
51
  "@kong-ui-public/i18n": "^2.4.6"