@pubinfo/core 2.1.10 → 2.1.11
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/built-in/layout-component/composables/useContext.d.ts +1 -0
- package/dist/index.js +43 -26
- package/dist/style.css +1 -1
- package/package.json +7 -7
- package/src/built-in/layout-component/components/Menu/item.vue +2 -2
- package/src/built-in/layout-component/components/Menu/sub.vue +20 -1
- package/src/built-in/layout-component/composables/useContext.ts +1 -0
- package/src/built-in/layout-component/provider.ts +5 -0
|
@@ -10,6 +10,7 @@ interface LayoutContext {
|
|
|
10
10
|
favoritesStore: ReturnType<typeof useFavoritesStore>;
|
|
11
11
|
appTitle: string;
|
|
12
12
|
isDev: boolean;
|
|
13
|
+
indentSize: number;
|
|
13
14
|
generateTitle: (titile?: string | (() => any)) => string;
|
|
14
15
|
}
|
|
15
16
|
export declare function createContext(options: LayoutContext): void;
|
package/dist/index.js
CHANGED
|
@@ -330,6 +330,10 @@ const Provider = defineComponent({
|
|
|
330
330
|
isDev: {
|
|
331
331
|
type: Boolean,
|
|
332
332
|
default: !1
|
|
333
|
+
},
|
|
334
|
+
indentSize: {
|
|
335
|
+
type: Number,
|
|
336
|
+
default: 32
|
|
333
337
|
}
|
|
334
338
|
},
|
|
335
339
|
setup(e, { slots: M }) {
|
|
@@ -345,6 +349,7 @@ const Provider = defineComponent({
|
|
|
345
349
|
favoritesStore: Ke,
|
|
346
350
|
appTitle: e.appTitle,
|
|
347
351
|
isDev: e.isDev,
|
|
352
|
+
indentSize: e.indentSize,
|
|
348
353
|
generateTitle: $e
|
|
349
354
|
}), () => h(PubinfoProvider_default, {}, () => M?.default?.({
|
|
350
355
|
allMenus: ve.allMenus,
|
|
@@ -2990,26 +2995,26 @@ var _hoisted_1$26 = ["title"], item_default = /* @__PURE__ */ _plugin_vue_export
|
|
|
2990
2995
|
}
|
|
2991
2996
|
},
|
|
2992
2997
|
setup(e, { expose: M }) {
|
|
2993
|
-
let ne = e, ve = inject(rootMenuInjectionKey), { generateTitle: Ee } = useContext(),
|
|
2998
|
+
let ne = e, ve = inject(rootMenuInjectionKey), { generateTitle: Ee, indentSize: De } = useContext(), ke = ref(), je = computed(() => ne.subMenu ? ve.subMenus[ne.uniqueKey[ne.uniqueKey.length - 1]]?.active : ve.activeIndex === ne.uniqueKey[ne.uniqueKey.length - 1]), We = computed(() => je.value && (!ne.subMenu || ve.isMenuPopup)), Ke = computed(() => {
|
|
2994
2999
|
let e;
|
|
2995
|
-
return ne.item.meta?.icon && (e = ne.item.meta.icon),
|
|
2996
|
-
}),
|
|
2997
|
-
let e =
|
|
3000
|
+
return ne.item.meta?.icon && (e = ne.item.meta.icon), je.value && (ne.item.meta?.activeIcon === "system-point" ? e = "system-point" : ne.item.meta?.activeIcon && (e = ne.item.meta.activeIcon)), e;
|
|
3001
|
+
}), $e = computed(() => ne.item.meta?.iconOptions), at = computed(() => {
|
|
3002
|
+
let e = $e.value?.boxType;
|
|
2998
3003
|
return e && e !== "null" ? e : void 0;
|
|
2999
|
-
}),
|
|
3000
|
-
return M({ ref:
|
|
3001
|
-
let
|
|
3004
|
+
}), ft = computed(() => $e.value?.iconColor || void 0), Et = computed(() => ve.isMenuPopup ? "" : `padding-left: ${De * (ne.level ?? 0)}px`);
|
|
3005
|
+
return M({ ref: ke }), (M, ne) => {
|
|
3006
|
+
let De = HBadge_default;
|
|
3002
3007
|
return openBlock(), createElementBlock("div", {
|
|
3003
3008
|
ref_key: "itemRef",
|
|
3004
|
-
ref:
|
|
3009
|
+
ref: ke,
|
|
3005
3010
|
class: normalizeClass(["menu-item relative transition-all", {
|
|
3006
|
-
active: unref(
|
|
3011
|
+
active: unref(We),
|
|
3007
3012
|
"px-2 py-1": unref(ve).props.rounded,
|
|
3008
3013
|
"px-1! py-2!": unref(ve).props.rounded && unref(ve).isMenuPopup && e.level === 0 && unref(ve).props.mode === "horizontal"
|
|
3009
3014
|
}])
|
|
3010
3015
|
}, [createElementVNode("div", {
|
|
3011
3016
|
class: normalizeClass(["group menu-item-container h-full w-full flex cursor-pointer items-center justify-between gap-1 px-5 py-14px text-[var(--g-sub-sidebar-menu-color)] transition-all hover:(bg-[var(--g-sub-sidebar-menu-hover-bg)] text-[var(--g-sub-sidebar-menu-hover-color)])", {
|
|
3012
|
-
"text-[var(--g-sub-sidebar-menu-active-color)]! bg-[var(--g-sub-sidebar-menu-active-bg)]!": unref(
|
|
3017
|
+
"text-[var(--g-sub-sidebar-menu-active-color)]! bg-[var(--g-sub-sidebar-menu-active-bg)]!": unref(We),
|
|
3013
3018
|
"rounded-2": unref(ve).props.rounded,
|
|
3014
3019
|
"px-2!": unref(ve).isMenuPopup && e.level === 0,
|
|
3015
3020
|
"py-3!": unref(ve).props.rounded && unref(ve).isMenuPopup && e.level !== 0
|
|
@@ -3022,19 +3027,19 @@ var _hoisted_1$26 = ["title"], item_default = /* @__PURE__ */ _plugin_vue_export
|
|
|
3022
3027
|
"w-full": unref(ve).isMenuPopup && e.level === 0 && unref(ve).props.showCollapseName && unref(ve).props.mode === "vertical",
|
|
3023
3028
|
"w-[50px]": unref(ve).isMenuPopup && e.level === 0 && unref(ve).props.showCollapseName && unref(ve).props.mode === "horizontal"
|
|
3024
3029
|
}]),
|
|
3025
|
-
style: normalizeStyle(unref(
|
|
3030
|
+
style: normalizeStyle(unref(Et))
|
|
3026
3031
|
}, [
|
|
3027
|
-
unref(
|
|
3032
|
+
unref(Ke) && unref(Ke) !== "system-point" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [unref($e) && unref(at) ? (openBlock(), createBlock(unref(PubinfoIcon_default), {
|
|
3028
3033
|
key: 0,
|
|
3029
3034
|
small: "",
|
|
3030
|
-
name: unref(
|
|
3031
|
-
box: unref(
|
|
3035
|
+
name: unref(Ke),
|
|
3036
|
+
box: unref(at),
|
|
3032
3037
|
size: 20,
|
|
3033
|
-
"icon-size": unref(
|
|
3034
|
-
angle: unref(
|
|
3035
|
-
background: unref(
|
|
3036
|
-
radius: unref(
|
|
3037
|
-
color: (unref(
|
|
3038
|
+
"icon-size": unref($e)?.iconSize,
|
|
3039
|
+
angle: unref($e)?.angle,
|
|
3040
|
+
background: unref($e)?.background,
|
|
3041
|
+
radius: unref($e)?.radius,
|
|
3042
|
+
color: (unref(Ke) || "").startsWith("antd:") ? unref(ft) || "#ffffff" : void 0,
|
|
3038
3043
|
class: "menu-item-container-icon transition-transform group-hover:scale-115"
|
|
3039
3044
|
}, null, 8, [
|
|
3040
3045
|
"name",
|
|
@@ -3046,9 +3051,9 @@ var _hoisted_1$26 = ["title"], item_default = /* @__PURE__ */ _plugin_vue_export
|
|
|
3046
3051
|
"color"
|
|
3047
3052
|
])) : (openBlock(), createBlock(unref(PubinfoIcon_default), {
|
|
3048
3053
|
key: 1,
|
|
3049
|
-
name: unref(
|
|
3054
|
+
name: unref(Ke),
|
|
3050
3055
|
size: 20,
|
|
3051
|
-
color: (unref(
|
|
3056
|
+
color: (unref(Ke) || "").startsWith("antd:") ? unref(ft) : void 0,
|
|
3052
3057
|
class: "menu-item-container-icon transition-transform group-hover:scale-115"
|
|
3053
3058
|
}, null, 8, ["name", "color"]))], 64)) : createCommentVNode("", !0),
|
|
3054
3059
|
unref(ve).isMenuPopup && e.level === 0 && !unref(ve).props.showCollapseName ? createCommentVNode("", !0) : (openBlock(), createElementBlock("span", {
|
|
@@ -3056,10 +3061,10 @@ var _hoisted_1$26 = ["title"], item_default = /* @__PURE__ */ _plugin_vue_export
|
|
|
3056
3061
|
class: normalizeClass(["title w-0 flex-1 truncate text-sm transition-height transition-opacity transition-width", {
|
|
3057
3062
|
"opacity-0 w-0 h-0": unref(ve).isMenuPopup && e.level === 0 && !unref(ve).props.showCollapseName,
|
|
3058
3063
|
"w-full text-center": unref(ve).isMenuPopup && e.level === 0 && unref(ve).props.showCollapseName,
|
|
3059
|
-
"system-point": unref(
|
|
3064
|
+
"system-point": unref(Ke) === "system-point" && unref(We)
|
|
3060
3065
|
}])
|
|
3061
3066
|
}, toDisplayString(unref(Ee)(e.item.meta?.title)), 3)),
|
|
3062
|
-
e.item.meta?.badge ? (openBlock(), createBlock(
|
|
3067
|
+
e.item.meta?.badge ? (openBlock(), createBlock(De, {
|
|
3063
3068
|
key: 2,
|
|
3064
3069
|
value: typeof e.item.meta.badge == "function" ? e.item.meta.badge() : e.item.meta.badge,
|
|
3065
3070
|
class: normalizeClass(["badge", { "opacity-0": unref(ve).isMenuPopup && e.level === 0 }])
|
|
@@ -3074,7 +3079,7 @@ var _hoisted_1$26 = ["title"], item_default = /* @__PURE__ */ _plugin_vue_export
|
|
|
3074
3079
|
}, null, 2)) : createCommentVNode("", !0)], 10, _hoisted_1$26)], 2);
|
|
3075
3080
|
};
|
|
3076
3081
|
}
|
|
3077
|
-
}), [["__scopeId", "data-v-
|
|
3082
|
+
}), [["__scopeId", "data-v-e299a724"]]), sub_default = /* @__PURE__ */ defineComponent({
|
|
3078
3083
|
name: "SubMenu",
|
|
3079
3084
|
__name: "sub",
|
|
3080
3085
|
props: {
|
|
@@ -3177,7 +3182,7 @@ var _hoisted_1$26 = ["title"], item_default = /* @__PURE__ */ _plugin_vue_export
|
|
|
3177
3182
|
to: "body",
|
|
3178
3183
|
disabled: !unref(De).isMenuPopup
|
|
3179
3184
|
}, [createVNode(Transition, mergeProps(unref(We), toHandlers(unref(je))), {
|
|
3180
|
-
default: withCtx(() => [unref(ke) ? (openBlock(), createBlock(unref(P$3), {
|
|
3185
|
+
default: withCtx(() => [unref(ke) && unref(De).isMenuPopup ? (openBlock(), createBlock(unref(P$3), {
|
|
3181
3186
|
key: 0,
|
|
3182
3187
|
ref_key: "subMenuRef",
|
|
3183
3188
|
ref: Ee,
|
|
@@ -3201,7 +3206,19 @@ var _hoisted_1$26 = ["title"], item_default = /* @__PURE__ */ _plugin_vue_export
|
|
|
3201
3206
|
"level"
|
|
3202
3207
|
]))], 64))), 128))]),
|
|
3203
3208
|
_: 1
|
|
3204
|
-
}, 8, ["class"])) :
|
|
3209
|
+
}, 8, ["class"])) : unref(ke) ? (openBlock(), createElementBlock("div", {
|
|
3210
|
+
key: 1,
|
|
3211
|
+
class: normalizeClass(["sub-menu", { "rounded-2 py-1": unref(De).props.rounded && !unref(De).isMenuPopup }])
|
|
3212
|
+
}, [(openBlock(!0), createElementBlock(Fragment, null, renderList(e.menu.children, (M) => (openBlock(), createElementBlock(Fragment, { key: M.path ?? JSON.stringify(M) }, [M.meta?.sidebar === !1 ? createCommentVNode("", !0) : (openBlock(), createBlock(at, {
|
|
3213
|
+
key: 0,
|
|
3214
|
+
"unique-key": [...e.uniqueKey, M.path ?? JSON.stringify(M)],
|
|
3215
|
+
menu: M,
|
|
3216
|
+
level: e.level + 1
|
|
3217
|
+
}, null, 8, [
|
|
3218
|
+
"unique-key",
|
|
3219
|
+
"menu",
|
|
3220
|
+
"level"
|
|
3221
|
+
]))], 64))), 128))], 2)) : createCommentVNode("", !0)]),
|
|
3205
3222
|
_: 1
|
|
3206
3223
|
}, 16)], 8, ["disabled"])) : createCommentVNode("", !0)], 64);
|
|
3207
3224
|
};
|