lkt-menu 2.0.12 → 2.0.14
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.
- package/dist/build.d.ts +3 -3
- package/dist/build.js +138 -120
- package/package.json +1 -1
package/dist/build.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
declare namespace
|
|
1
|
+
declare namespace Se {
|
|
2
2
|
function install(s: any): void;
|
|
3
3
|
}
|
|
4
|
-
declare function
|
|
5
|
-
export {
|
|
4
|
+
declare function Me(s: any): boolean;
|
|
5
|
+
export { Se as default, Me as setMenuToggleSlot };
|
package/dist/build.js
CHANGED
|
@@ -1,158 +1,173 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { MenuEntryType as
|
|
3
|
-
import { useRouter as
|
|
4
|
-
import { DataState as
|
|
5
|
-
import { httpCall as
|
|
1
|
+
import { defineComponent as Z, ref as L, useSlots as x, computed as d, watch as M, onMounted as ee, resolveComponent as I, createElementBlock as r, openBlock as u, normalizeClass as C, createElementVNode as K, createCommentVNode as g, createBlock as f, unref as c, normalizeProps as W, mergeProps as R, createSlots as q, withCtx as _, renderSlot as y, toDisplayString as le, resolveDynamicComponent as ne, Fragment as te, renderList as P, mergeDefaults as oe } from "vue";
|
|
2
|
+
import { MenuEntryType as T, MenuController as j, MenuType as Y, getDefaultValues as ue, Menu as se } from "lkt-vue-kernel";
|
|
3
|
+
import { useRouter as ie } from "vue-router";
|
|
4
|
+
import { DataState as ae } from "lkt-data-state";
|
|
5
|
+
import { httpCall as re } from "lkt-http-client";
|
|
6
6
|
const G = (s, V) => (V.forEach((o) => {
|
|
7
7
|
o.key && !s.includes(o.key) && s.push(o.key), o.children && o.children.length > 0 && G(s, o.children);
|
|
8
|
-
}), s),
|
|
8
|
+
}), s), U = class U {
|
|
9
9
|
};
|
|
10
|
-
|
|
11
|
-
let
|
|
12
|
-
const
|
|
10
|
+
U.toggleSlot = "", U.debugEnabled = !1;
|
|
11
|
+
let E = U;
|
|
12
|
+
const ce = ["id"], de = { class: "lkt-menu-entry-main" }, ve = { class: "lkt-entry-content" }, pe = {
|
|
13
13
|
key: 0,
|
|
14
14
|
class: "lkt-menu-entry-icon"
|
|
15
|
-
},
|
|
15
|
+
}, me = {
|
|
16
16
|
key: 1,
|
|
17
17
|
class: "lkt-menu-entry-text"
|
|
18
|
-
},
|
|
18
|
+
}, ye = {
|
|
19
19
|
key: 0,
|
|
20
20
|
class: "lkt-menu-entry-children"
|
|
21
|
-
},
|
|
21
|
+
}, ke = /* @__PURE__ */ Z({
|
|
22
22
|
__name: "MenuItem",
|
|
23
23
|
props: {
|
|
24
|
-
modelValue: { default: () => ({}) }
|
|
24
|
+
modelValue: { default: () => ({}) },
|
|
25
|
+
menuKey: {},
|
|
26
|
+
closeOnClickEntry: { type: Boolean }
|
|
25
27
|
},
|
|
26
28
|
emits: [
|
|
27
29
|
"update:modelValue"
|
|
28
30
|
],
|
|
29
31
|
setup(s, { emit: V }) {
|
|
30
|
-
const o = V, v = s, e =
|
|
32
|
+
const o = V, v = s, e = L(v.modelValue), p = x(), a = ie(), A = L(!1), B = () => {
|
|
31
33
|
e.value.isOpened = !e.value.isOpened;
|
|
32
34
|
}, b = () => {
|
|
33
35
|
var t, l;
|
|
34
|
-
return typeof e.value.children < "u" && ((t = e.value.children) == null ? void 0 : t.length) > 0 && !e.value.keepOpenOnChildClick &&
|
|
36
|
+
return typeof e.value.children < "u" && ((t = e.value.children) == null ? void 0 : t.length) > 0 && !e.value.keepOpenOnChildClick && B(), typeof ((l = e.value.events) == null ? void 0 : l.click) == "function" && e.value.events.click({
|
|
35
37
|
entry: e.value
|
|
36
38
|
}), 1;
|
|
37
|
-
}, D =
|
|
39
|
+
}, D = d(() => p["icon-" + e.value.key] || e.value.icon !== ""), w = d(() => {
|
|
38
40
|
let t = [];
|
|
39
41
|
return D.value && t.push("has-icon"), A.value && t.push("is-active"), e.value.type && t.push(`is-${e.value.type}`), t.join(" ");
|
|
40
|
-
}),
|
|
42
|
+
}), F = d(() => {
|
|
41
43
|
var l;
|
|
42
44
|
return G([], ((l = e.value) == null ? void 0 : l.children) ?? []);
|
|
43
|
-
}),
|
|
45
|
+
}), J = d(() => {
|
|
44
46
|
let t = [];
|
|
45
|
-
for (let l in
|
|
46
|
-
l.startsWith("icon-") &&
|
|
47
|
+
for (let l in p)
|
|
48
|
+
l.startsWith("icon-") && F.value.includes(l.substring(5)) && t.push(l);
|
|
47
49
|
return t;
|
|
48
|
-
}),
|
|
50
|
+
}), z = d(() => e.value.isActive ? !0 : typeof e.value.isActiveChecker == "function" ? !!e.value.isActiveChecker({
|
|
49
51
|
entry: e.value
|
|
50
|
-
}) : !1), N =
|
|
51
|
-
return
|
|
52
|
+
}) : !1), N = d(() => !!E.toggleSlot), n = d(() => E.toggleSlot);
|
|
53
|
+
return M(() => v.modelValue, (t) => {
|
|
52
54
|
e.value = t;
|
|
53
|
-
}, { deep: !0 }),
|
|
55
|
+
}, { deep: !0 }), M(e, (t) => {
|
|
54
56
|
o("update:modelValue", t);
|
|
55
|
-
}, { deep: !0 }),
|
|
57
|
+
}, { deep: !0 }), ee(() => {
|
|
56
58
|
var l, i, m;
|
|
57
59
|
let t = a == null ? void 0 : a.currentRoute;
|
|
58
60
|
if (t) {
|
|
59
61
|
if (t.value.path === ((l = e.value.anchor) == null ? void 0 : l.to))
|
|
60
62
|
e.value.isOpened = !0;
|
|
61
63
|
else if (typeof e.value.children < "u" && ((i = e.value.children) == null ? void 0 : i.length) > 0) {
|
|
62
|
-
let
|
|
63
|
-
(m = e.value.children) == null || m.forEach((
|
|
64
|
-
var
|
|
65
|
-
t.value.path === ((
|
|
66
|
-
}),
|
|
64
|
+
let $ = !1;
|
|
65
|
+
(m = e.value.children) == null || m.forEach((H) => {
|
|
66
|
+
var S;
|
|
67
|
+
t.value.path === ((S = H.anchor) == null ? void 0 : S.to) && ($ = !0);
|
|
68
|
+
}), $ && (e.value.isOpened = !0);
|
|
67
69
|
}
|
|
68
70
|
}
|
|
69
71
|
}), (t, l) => {
|
|
70
|
-
var
|
|
71
|
-
const i =
|
|
72
|
-
return u(),
|
|
73
|
-
class:
|
|
72
|
+
var S;
|
|
73
|
+
const i = I("lkt-button"), m = I("lkt-header"), $ = I("lkt-anchor"), H = I("menu-item", !0);
|
|
74
|
+
return u(), r("div", {
|
|
75
|
+
class: C(["lkt-menu-entry", w.value]),
|
|
74
76
|
id: `entry-${e.value.key}`
|
|
75
77
|
}, [
|
|
76
|
-
|
|
77
|
-
e.value.type ===
|
|
78
|
-
p
|
|
78
|
+
K("div", de, [
|
|
79
|
+
e.value.type === c(T).Button ? (u(), f(i, W(R({ key: 0 }, e.value.button)), q({ _: 2 }, [
|
|
80
|
+
c(p).tooltip ? {
|
|
79
81
|
name: "tooltip",
|
|
80
|
-
fn:
|
|
81
|
-
|
|
82
|
+
fn: _(() => [
|
|
83
|
+
y(t.$slots, "tooltip")
|
|
82
84
|
]),
|
|
83
85
|
key: "0"
|
|
84
86
|
} : void 0,
|
|
85
|
-
p
|
|
87
|
+
c(p).split ? {
|
|
86
88
|
name: "split",
|
|
87
|
-
fn:
|
|
88
|
-
|
|
89
|
+
fn: _(() => [
|
|
90
|
+
y(t.$slots, "split")
|
|
89
91
|
]),
|
|
90
92
|
key: "1"
|
|
91
93
|
} : void 0
|
|
92
|
-
]), 1040)) : e.value.type ===
|
|
94
|
+
]), 1040)) : e.value.type === c(T).Header ? (u(), f(m, W(R({ key: 1 }, e.value.header)), null, 16)) : e.value.type === c(T).Anchor ? (u(), f($, W(R({ key: 2 }, {
|
|
95
|
+
...e.value.anchor
|
|
96
|
+
})), null, 16)) : (u(), f($, R({ key: 3 }, {
|
|
97
|
+
...e.value.anchor,
|
|
98
|
+
events: {
|
|
99
|
+
...e.value.anchor.events,
|
|
100
|
+
click: (k) => {
|
|
101
|
+
var O, h, Q, X;
|
|
102
|
+
t.closeOnClickEntry && c(j).closeMenu(v.menuKey), typeof ((h = (O = e.value.anchor) == null ? void 0 : O.events) == null ? void 0 : h.click) == "function" && ((X = (Q = e.value.anchor) == null ? void 0 : Q.events) == null || X.click(k));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}, {
|
|
93
106
|
"on-click": b,
|
|
94
|
-
"is-active":
|
|
95
|
-
onActive: l[0] || (l[0] = (
|
|
107
|
+
"is-active": z.value,
|
|
108
|
+
onActive: l[0] || (l[0] = (k) => A.value = k)
|
|
96
109
|
}), {
|
|
97
|
-
text:
|
|
98
|
-
|
|
99
|
-
D.value ? (u(),
|
|
100
|
-
p
|
|
110
|
+
text: _(({ text: k }) => [
|
|
111
|
+
K("div", ve, [
|
|
112
|
+
D.value ? (u(), r("div", pe, [
|
|
113
|
+
c(p)["icon-" + e.value.key] ? y(t.$slots, "icon-" + e.value.key, {
|
|
101
114
|
key: e.value.key,
|
|
102
115
|
entry: e.value
|
|
103
|
-
}) : e.value.icon !== "" ? (u(),
|
|
116
|
+
}) : e.value.icon !== "" ? (u(), r("i", {
|
|
104
117
|
key: 1,
|
|
105
|
-
class:
|
|
106
|
-
}, null, 2)) :
|
|
107
|
-
])) :
|
|
108
|
-
|
|
118
|
+
class: C(e.value.icon)
|
|
119
|
+
}, null, 2)) : g("", !0)
|
|
120
|
+
])) : g("", !0),
|
|
121
|
+
k !== "" ? (u(), r("div", me, le(k), 1)) : g("", !0)
|
|
109
122
|
])
|
|
110
123
|
]),
|
|
111
124
|
_: 3
|
|
112
125
|
}, 16, ["is-active"])),
|
|
113
|
-
e.value.type !==
|
|
126
|
+
e.value.type !== c(T).Button && e.value.children && ((S = e.value.children) == null ? void 0 : S.length) > 0 ? (u(), r("div", {
|
|
114
127
|
key: 4,
|
|
115
128
|
class: "lkt-menu-entry-toggle",
|
|
116
|
-
onClick:
|
|
129
|
+
onClick: B
|
|
117
130
|
}, [
|
|
118
|
-
N.value ? (u(),
|
|
131
|
+
N.value ? (u(), f(ne(n.value), {
|
|
119
132
|
key: 0,
|
|
120
|
-
class:
|
|
121
|
-
}, null, 8, ["class"])) : (u(),
|
|
133
|
+
class: C(["lkt-menu-entry-toggle-inner", e.value.isOpened ? "is-opened" : ""])
|
|
134
|
+
}, null, 8, ["class"])) : (u(), r("div", {
|
|
122
135
|
key: 1,
|
|
123
|
-
class:
|
|
136
|
+
class: C(["lkt-menu-entry-toggle-inner", e.value.isOpened ? "is-opened" : ""])
|
|
124
137
|
}, l[1] || (l[1] = [
|
|
125
|
-
|
|
138
|
+
K("i", { class: "lkt-icn-angle-bottom" }, null, -1)
|
|
126
139
|
]), 2))
|
|
127
|
-
])) :
|
|
140
|
+
])) : g("", !0)
|
|
128
141
|
]),
|
|
129
|
-
e.value.isOpened ? (u(),
|
|
130
|
-
(u(!0),
|
|
131
|
-
modelValue: e.value.children[
|
|
132
|
-
"onUpdate:modelValue": (
|
|
133
|
-
key: e.value.children[
|
|
142
|
+
e.value.isOpened ? (u(), r("div", ye, [
|
|
143
|
+
(u(!0), r(te, null, P(e.value.children, (k, O) => (u(), f(H, {
|
|
144
|
+
modelValue: e.value.children[O],
|
|
145
|
+
"onUpdate:modelValue": (h) => e.value.children[O] = h,
|
|
146
|
+
key: e.value.children[O].key
|
|
134
147
|
}, q({ _: 2 }, [
|
|
135
|
-
|
|
136
|
-
name:
|
|
137
|
-
fn:
|
|
138
|
-
|
|
148
|
+
P(J.value, (h) => ({
|
|
149
|
+
name: h,
|
|
150
|
+
fn: _(() => [
|
|
151
|
+
y(t.$slots, h)
|
|
139
152
|
])
|
|
140
153
|
}))
|
|
141
154
|
]), 1032, ["modelValue", "onUpdate:modelValue"]))), 128))
|
|
142
|
-
])) :
|
|
143
|
-
], 10,
|
|
155
|
+
])) : g("", !0)
|
|
156
|
+
], 10, ce);
|
|
144
157
|
};
|
|
145
158
|
}
|
|
146
|
-
}),
|
|
159
|
+
}), he = ["role"], fe = { class: "lkt-menu-main" }, ge = { class: "lkt-menu-entries" }, _e = /* @__PURE__ */ Z({
|
|
147
160
|
__name: "LktMenu",
|
|
148
|
-
props: /* @__PURE__ */
|
|
161
|
+
props: /* @__PURE__ */ oe({
|
|
149
162
|
modelValue: {},
|
|
150
163
|
type: {},
|
|
151
164
|
menuKey: { type: [String, Number, Function] },
|
|
152
165
|
hiddenPosition: {},
|
|
166
|
+
renderOutside: { type: Boolean },
|
|
153
167
|
closeOnClickOutside: { type: Boolean },
|
|
168
|
+
closeOnClickEntry: { type: Boolean },
|
|
154
169
|
http: {}
|
|
155
|
-
},
|
|
170
|
+
}, ue(se)),
|
|
156
171
|
emits: [
|
|
157
172
|
"update:modelValue",
|
|
158
173
|
"click-outside",
|
|
@@ -163,97 +178,100 @@ const ae = ["id"], re = { class: "lkt-menu-entry-main" }, ce = { class: "lkt-ent
|
|
|
163
178
|
],
|
|
164
179
|
setup(s, { emit: V }) {
|
|
165
180
|
var N;
|
|
166
|
-
const o = s, v = V, e =
|
|
181
|
+
const o = s, v = V, e = L(!1), p = x(), a = L(o.modelValue), A = (n) => {
|
|
167
182
|
let t = {};
|
|
168
183
|
typeof n == "object" && Object.keys(n).length > 0 && (t = JSON.parse(JSON.stringify(n)));
|
|
169
184
|
for (let l in t)
|
|
170
185
|
(Array.isArray(t[l]) || typeof t[l] == "object") && (t[l] = JSON.stringify(t[l]));
|
|
171
186
|
return t;
|
|
172
187
|
};
|
|
173
|
-
|
|
188
|
+
M(() => j.config.value, (n) => {
|
|
174
189
|
}, { deep: !0 });
|
|
175
|
-
const
|
|
190
|
+
const B = d(() => {
|
|
176
191
|
let n = [
|
|
177
192
|
`type-${o.type}`
|
|
178
193
|
];
|
|
179
|
-
return o.menuKey && n.push(o.menuKey), e.value && n.push("is-visible"), o.type ===
|
|
194
|
+
return o.menuKey && n.push(o.menuKey), e.value && n.push("is-visible"), o.type === Y.Hidden && n.push(`${o.hiddenPosition}-hidden`), n.join(" ");
|
|
180
195
|
});
|
|
181
|
-
let b = new
|
|
196
|
+
let b = new ae({});
|
|
182
197
|
b.increment(A(((N = o.http) == null ? void 0 : N.data) ?? {}));
|
|
183
|
-
const D =
|
|
198
|
+
const D = d(() => G([], a.value)), w = d(() => {
|
|
184
199
|
let n = [];
|
|
185
|
-
for (let t in
|
|
200
|
+
for (let t in p)
|
|
186
201
|
t.startsWith("icon-") && D.value.includes(t.substring(5)) && n.push(t);
|
|
187
202
|
return n;
|
|
188
|
-
}),
|
|
203
|
+
}), F = () => {
|
|
189
204
|
var t, l;
|
|
190
205
|
if (!((t = o.http) != null && t.resource)) return;
|
|
191
206
|
let n = b.getData();
|
|
192
|
-
v("loading"),
|
|
207
|
+
v("loading"), re((l = o.http) == null ? void 0 : l.resource, n).then((i) => {
|
|
193
208
|
b.turnStoredIntoOriginal(), a.value = i.data, v("results", i.data), v("response", i);
|
|
194
209
|
}).catch((i) => {
|
|
195
210
|
v("error", i);
|
|
196
211
|
});
|
|
197
|
-
},
|
|
198
|
-
o.closeOnClickOutside &&
|
|
212
|
+
}, J = () => {
|
|
213
|
+
o.closeOnClickOutside && j.closeMenu(o.menuKey), v("click-outside");
|
|
199
214
|
};
|
|
200
|
-
|
|
215
|
+
M(() => o.modelValue, (n) => {
|
|
201
216
|
a.value = n;
|
|
202
|
-
}, { deep: !0 }),
|
|
217
|
+
}, { deep: !0 }), M(a, (n) => {
|
|
203
218
|
v("update:modelValue", n);
|
|
204
|
-
}, { deep: !0 }),
|
|
205
|
-
|
|
219
|
+
}, { deep: !0 }), ee(() => {
|
|
220
|
+
j.addMenu(o.menuKey, e), F();
|
|
206
221
|
});
|
|
207
|
-
const
|
|
208
|
-
if (o.type ===
|
|
222
|
+
const z = d(() => {
|
|
223
|
+
if (o.type === Y.TabList) return "tablist";
|
|
209
224
|
});
|
|
210
|
-
return (n, t) => (u(),
|
|
211
|
-
class:
|
|
212
|
-
role:
|
|
225
|
+
return (n, t) => (u(), r("div", {
|
|
226
|
+
class: C(["lkt-menu", B.value]),
|
|
227
|
+
role: z.value
|
|
213
228
|
}, [
|
|
214
|
-
|
|
215
|
-
p
|
|
216
|
-
|
|
217
|
-
(u(!0),
|
|
229
|
+
K("div", fe, [
|
|
230
|
+
c(p).before ? y(n.$slots, "before", { key: 0 }) : g("", !0),
|
|
231
|
+
K("div", ge, [
|
|
232
|
+
(u(!0), r(te, null, P(a.value, (l, i) => (u(), f(ke, {
|
|
218
233
|
modelValue: a.value[i],
|
|
219
234
|
"onUpdate:modelValue": (m) => a.value[i] = m,
|
|
220
|
-
class:
|
|
235
|
+
class: C(l.class),
|
|
236
|
+
"menu-key": n.menuKey,
|
|
237
|
+
"close-on-click-entry": n.closeOnClickEntry
|
|
221
238
|
}, q({ _: 2 }, [
|
|
222
|
-
|
|
239
|
+
P(w.value, (m) => ({
|
|
223
240
|
name: m,
|
|
224
|
-
fn:
|
|
225
|
-
|
|
241
|
+
fn: _(() => [
|
|
242
|
+
y(n.$slots, m)
|
|
226
243
|
])
|
|
227
244
|
})),
|
|
228
|
-
p
|
|
245
|
+
c(p)[`tooltip-${l.key}`] ? {
|
|
229
246
|
name: "tooltip",
|
|
230
|
-
fn:
|
|
231
|
-
|
|
247
|
+
fn: _(() => [
|
|
248
|
+
y(n.$slots, `tooltip-${l.key}`)
|
|
232
249
|
]),
|
|
233
250
|
key: "0"
|
|
234
251
|
} : void 0,
|
|
235
|
-
p
|
|
252
|
+
c(p)[`split-${l.key}`] ? {
|
|
236
253
|
name: "split",
|
|
237
|
-
fn:
|
|
238
|
-
|
|
254
|
+
fn: _(() => [
|
|
255
|
+
y(n.$slots, `split-${l.key}`)
|
|
239
256
|
]),
|
|
240
257
|
key: "1"
|
|
241
258
|
} : void 0
|
|
242
|
-
]), 1032, ["modelValue", "onUpdate:modelValue", "class"]))), 256))
|
|
259
|
+
]), 1032, ["modelValue", "onUpdate:modelValue", "class", "menu-key", "close-on-click-entry"]))), 256))
|
|
243
260
|
])
|
|
244
261
|
]),
|
|
245
|
-
|
|
262
|
+
n.renderOutside ? (u(), r("div", {
|
|
263
|
+
key: 0,
|
|
246
264
|
class: "lkt-menu-outside",
|
|
247
|
-
onClick:
|
|
248
|
-
})
|
|
249
|
-
], 10,
|
|
265
|
+
onClick: J
|
|
266
|
+
})) : g("", !0)
|
|
267
|
+
], 10, he));
|
|
250
268
|
}
|
|
251
|
-
}),
|
|
269
|
+
}), Se = {
|
|
252
270
|
install: (s) => {
|
|
253
|
-
s.component("lkt-menu") === void 0 && s.component("lkt-menu",
|
|
271
|
+
s.component("lkt-menu") === void 0 && s.component("lkt-menu", _e);
|
|
254
272
|
}
|
|
255
|
-
},
|
|
273
|
+
}, Me = (s) => (E.toggleSlot = s, !0);
|
|
256
274
|
export {
|
|
257
|
-
|
|
258
|
-
|
|
275
|
+
Se as default,
|
|
276
|
+
Me as setMenuToggleSlot
|
|
259
277
|
};
|