@zl-ui-kit/components 0.26.1 → 0.27.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.
- package/README.md +22 -18
- package/dist/components/ZlAction/List.vue.mjs +46 -49
- package/dist/components/ZlAction/index.vue.d.ts +1 -7
- package/dist/components/ZlAction/index.vue.mjs +8 -12
- package/dist/components/ZlAction/types.d.ts +2 -5
- package/dist/components/ZlAppLayout/Horizontal.css +1 -1
- package/dist/components/ZlAppLayout/Vertical.css +1 -1
- package/dist/components/ZlAppLayout/Vertical2.vue.mjs +41 -39
- package/dist/components/ZlAppLayout/index.vue.d.ts +6 -6
- package/dist/components/ZlAppLayout/index.vue.mjs +8 -8
- package/dist/components/ZlAppMenu/AppMenu.css +1 -0
- package/dist/components/ZlAppMenu/AppMenu.vue.d.ts +27 -0
- package/dist/components/ZlAppMenu/AppMenu.vue.mjs +37 -0
- package/dist/components/ZlAppMenu/AppMenu3.vue.mjs +6 -0
- package/dist/components/ZlAppMenu/AppMenuItem.vue.d.ts +11 -0
- package/dist/components/ZlAppMenu/AppMenuItem.vue.mjs +58 -0
- package/dist/components/ZlAppMenu/AppMenuItem2.vue.mjs +5 -0
- package/dist/components/ZlAppSlogan/index.css +1 -1
- package/dist/components/ZlAppSlogan/index.vue.d.ts +1 -1
- package/dist/components/ZlAppSlogan/index.vue.mjs +12 -19
- package/dist/components/ZlCardPage/index.vue.d.ts +3 -41
- package/dist/components/ZlCardPage/index.vue.mjs +68 -68
- package/dist/components/ZlCheckboxTag/index.css +1 -1
- package/dist/components/ZlCheckboxTag/index.vue.d.ts +4 -4
- package/dist/components/ZlCheckboxTag/index.vue.mjs +30 -34
- package/dist/components/ZlCopy/copy.mjs +7 -17
- package/dist/components/ZlCopy/index.css +1 -1
- package/dist/components/ZlCopy/index.vue.mjs +2 -2
- package/dist/components/ZlCopy/index2.vue.mjs +36 -34
- package/dist/components/ZlDescription/index.css +1 -1
- package/dist/components/ZlDescription/index.vue.mjs +24 -28
- package/dist/components/ZlDialog/index.css +1 -1
- package/dist/components/ZlDialog/index.vue.d.ts +0 -3
- package/dist/components/ZlDialog/index.vue.mjs +35 -39
- package/dist/components/ZlDictTag/index.vue.d.ts +3 -12
- package/dist/components/ZlDictTag/index.vue.mjs +26 -31
- package/dist/components/ZlDrawer/index.css +1 -1
- package/dist/components/ZlDrawer/index.vue.d.ts +0 -3
- package/dist/components/ZlDrawer/index.vue.mjs +32 -36
- package/dist/components/ZlDynamicComponent/index.vue.d.ts +3 -5
- package/dist/components/ZlForm/index.css +1 -1
- package/dist/components/ZlForm/index.vue.d.ts +0 -7
- package/dist/components/ZlForm/index.vue.mjs +47 -50
- package/dist/components/ZlLayoutSwitch/index.css +1 -1
- package/dist/components/ZlLayoutSwitch/index.vue.d.ts +0 -10
- package/dist/components/ZlLayoutSwitch/index.vue.mjs +1 -1
- package/dist/components/ZlLayoutSwitch/index2.vue.mjs +19 -27
- package/dist/components/ZlLogin/components/LoginForm.css +1 -1
- package/dist/components/ZlLogin/components/LoginForm.vue.mjs +1 -1
- package/dist/components/ZlLogin/components/LoginForm2.vue.mjs +25 -26
- package/dist/components/ZlPageContainer/index.css +1 -1
- package/dist/components/ZlPageContainer/index.vue.mjs +1 -1
- package/dist/components/ZlPagination/index.css +1 -1
- package/dist/components/ZlPagination/index.vue.d.ts +1 -21
- package/dist/components/ZlPagination/index.vue.mjs +1 -1
- package/dist/components/ZlPagination/index2.vue.mjs +33 -59
- package/dist/components/ZlPagination/usePagination.d.ts +0 -1
- package/dist/components/ZlPagination/usePagination.mjs +34 -51
- package/dist/components/ZlPopconfirm/index.vue.mjs +24 -25
- package/dist/components/ZlSearch/index.vue.d.ts +0 -25
- package/dist/components/ZlSearch/index.vue.mjs +205 -202
- package/dist/components/ZlSearchTable/index.vue.d.ts +2 -40
- package/dist/components/ZlSearchTable/index.vue.mjs +55 -59
- package/dist/components/ZlTable/useTablePagination.d.ts +0 -1
- package/dist/components/ZlTable/useTablePagination.mjs +23 -37
- package/dist/components/ZlTabs/index.vue.d.ts +3 -16
- package/dist/components/ZlTag/ZlCornerTag.css +1 -1
- package/dist/components/ZlTag/ZlCornerTag.vue.d.ts +1 -14
- package/dist/components/ZlTag/ZlCornerTag.vue.mjs +14 -25
- package/dist/components/ZlTag/index.vue.mjs +4 -4
- package/dist/components/ZlUpload/index.css +1 -1
- package/dist/components/ZlUpload/index.vue.d.ts +3 -44
- package/dist/components/ZlUpload/index.vue.mjs +3 -3
- package/dist/components/ZlUpload/index2.vue.mjs +79 -119
- package/dist/index.d.ts +2 -8
- package/dist/index.mjs +169 -183
- package/dist/locales/en.mjs +2 -2
- package/dist/locales/zh-cn.mjs +3 -3
- package/package.json +6 -6
- package/dist/components/ZlAppLayout/HeaderAside.css +0 -1
- package/dist/components/ZlAppLayout/HeaderAside.vue.d.ts +0 -25
- package/dist/components/ZlAppLayout/HeaderAside.vue.mjs +0 -6
- package/dist/components/ZlAppLayout/HeaderAside2.vue.mjs +0 -65
- package/dist/components/ZlBreadcrumb/index.css +0 -1
- package/dist/components/ZlBreadcrumb/index.vue.d.ts +0 -32
- package/dist/components/ZlBreadcrumb/index.vue.mjs +0 -58
- package/dist/components/ZlBreadcrumb/index3.vue.mjs +0 -6
- package/dist/components/ZlBreadcrumb/types.d.ts +0 -16
- package/dist/components/ZlButton/index.vue.d.ts +0 -81
- package/dist/components/ZlButton/index.vue.mjs +0 -60
- package/dist/components/ZlButton/index2.vue.mjs +0 -5
- package/dist/components/ZlCardPage/resolvePagination.d.ts +0 -20
- package/dist/components/ZlCardPage/resolvePagination.mjs +0 -24
- package/dist/components/ZlDevMenu/index.css +0 -1
- package/dist/components/ZlDevMenu/index.vue.d.ts +0 -33
- package/dist/components/ZlDevMenu/index.vue.mjs +0 -110
- package/dist/components/ZlDevMenu/index3.vue.mjs +0 -6
- package/dist/components/ZlDevMenu/types.d.ts +0 -8
- package/dist/components/ZlLoading/index.css +0 -1
- package/dist/components/ZlLoading/index.vue.d.ts +0 -27
- package/dist/components/ZlLoading/index.vue.mjs +0 -8
- package/dist/components/ZlLoading/index2.vue.mjs +0 -30
- package/dist/components/ZlMenu/MenuIcon.d.ts +0 -17
- package/dist/components/ZlMenu/MenuIcon.mjs +0 -21
- package/dist/components/ZlMenu/ZlMenuItem.vue.d.ts +0 -7
- package/dist/components/ZlMenu/ZlMenuItem.vue.mjs +0 -53
- package/dist/components/ZlMenu/ZlMenuItem2.vue.mjs +0 -5
- package/dist/components/ZlMenu/index.css +0 -1
- package/dist/components/ZlMenu/index.vue.d.ts +0 -40
- package/dist/components/ZlMenu/index.vue.mjs +0 -60
- package/dist/components/ZlMenu/index3.vue.mjs +0 -6
- package/dist/components/ZlMenu/types.d.ts +0 -20
package/README.md
CHANGED
|
@@ -4325,7 +4325,7 @@ import { ZlAddSub } from '@zl-ui-kit/components'
|
|
|
4325
4325
|
|
|
4326
4326
|
<sub>入口 `@zl-ui-kit/components` · 源码 `packages/components/src/components/ZlAppLayout/index.vue`</sub>
|
|
4327
4327
|
|
|
4328
|
-
**接口概览**:
|
|
4328
|
+
**接口概览**:5 props · 8 插槽
|
|
4329
4329
|
|
|
4330
4330
|
**用法示例**
|
|
4331
4331
|
|
|
@@ -4358,9 +4358,13 @@ import { ZlAppLayout } from '@zl-ui-kit/components'
|
|
|
4358
4358
|
|
|
4359
4359
|
**props**
|
|
4360
4360
|
|
|
4361
|
-
| 属性
|
|
4362
|
-
|
|
|
4363
|
-
| `layout`
|
|
4361
|
+
| 属性 | 类型 | 默认值 | 必填 | 示例 | 说明 |
|
|
4362
|
+
| -------------------- | ---------------------------------------------- | ---------------- | ---- | -------------------------------------------------- | ---------------------------------------------------------------------------- |
|
|
4363
|
+
| `layout` | `'horizontal' \| 'vertical' \| 'header-aside'` | `'header-aside'` | 否 | `layout="horizontal"` | 布局方向:横向用顶部菜单,纵向用侧边菜单,header-aside 用通栏顶栏 + 侧边菜单 |
|
|
4364
|
+
| `header-bg` | `string` | — | 否 | `header-bg="#fff"` | 顶栏背景:支持颜色/渐变/图片URL,图片路径自动包装 `url()` |
|
|
4365
|
+
| `aside-bg` | `string` | — | 否 | `aside-bg="linear-gradient(...)"` | 侧栏背景:支持颜色/渐变/图片URL |
|
|
4366
|
+
| `content-bg` | `string` | — | 否 | `content-bg="/bg.png"` | 内容区背景:支持颜色/渐变/图片URL |
|
|
4367
|
+
| `breadcrumb-border` | `string` | — | 否 | `breadcrumb-border="none"` | 面包屑底边框样式,如 `'1px solid #e3e9ef'`,传 `'none'` 隐藏 |
|
|
4364
4368
|
|
|
4365
4369
|
> 选项式组件(`defineComponent`),props 定义在 `props: {}` 中
|
|
4366
4370
|
> 把 `$attrs` 透传给内部组件,未列出的属性会继续下传
|
|
@@ -4379,27 +4383,27 @@ import { ZlAppLayout } from '@zl-ui-kit/components'
|
|
|
4379
4383
|
| `menu` | — | `<template #menu>…</template>` | 顶栏中部菜单区(横向形态下占满剩余宽度) |
|
|
4380
4384
|
| `logo` | `v-bind="{ collapsed }"` 展开 | `<template #logo="{ collapsed }">…</template>` | 侧栏顶部 logo 区(纵向形态下作用域带 `{ collapsed }`,可据此在折叠态隐去文字) |
|
|
4381
4385
|
|
|
4382
|
-
|
|
4386
|
+
**背景配置**
|
|
4383
4387
|
|
|
4384
|
-
|
|
4388
|
+
推荐使用 props 方式(`header-bg` / `aside-bg` / `content-bg`),组件内部自动处理 `url()` 包装:
|
|
4389
|
+
|
|
4390
|
+
```vue
|
|
4391
|
+
<ZlAppLayout
|
|
4392
|
+
header-bg="linear-gradient(135deg, #667eea 0%, #764ba2 100%)"
|
|
4393
|
+
aside-bg="#1a1a2e"
|
|
4394
|
+
content-bg="/bg.png"
|
|
4395
|
+
breadcrumb-border="none"
|
|
4396
|
+
/>
|
|
4397
|
+
```
|
|
4398
|
+
|
|
4399
|
+
也可通过 CSS 变量配置(向后兼容):
|
|
4385
4400
|
|
|
4386
4401
|
| 变量 | 适用区域 | 默认值 | 说明 |
|
|
4387
4402
|
| ------------------------- | -------- | ------------------------------------- | -------------------------------------- |
|
|
4388
4403
|
| `--zl-layout-header-bg` | 顶栏 | `#fff` | 支持纯色、`linear-gradient`、`url()` |
|
|
4389
4404
|
| `--zl-layout-aside-bg` | 侧边栏 | `var(--zl-fill-1, #f9fbfd)` | 支持纯色、`linear-gradient`、`url()` |
|
|
4390
4405
|
| `--zl-layout-content-bg` | 内容区 | `transparent` | 支持纯色、`linear-gradient`、`url()` |
|
|
4391
|
-
|
|
4392
|
-
```css
|
|
4393
|
-
/* 使用示例 */
|
|
4394
|
-
.my-layout {
|
|
4395
|
-
/* 顶栏:渐变色 */
|
|
4396
|
-
--zl-layout-header-bg: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
4397
|
-
/* 侧边栏:深色 */
|
|
4398
|
-
--zl-layout-aside-bg: #1a1a2e;
|
|
4399
|
-
/* 内容区:图片背景 */
|
|
4400
|
-
--zl-layout-content-bg: url('/bg.png');
|
|
4401
|
-
}
|
|
4402
|
-
```
|
|
4406
|
+
| `--zl-breadcrumb-border` | 面包屑 | `1px solid var(--zl-border-2, #e3e9ef)` | 传 `none` 隐藏 |
|
|
4403
4407
|
|
|
4404
4408
|
#### `ZlAppSlogan`
|
|
4405
4409
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { useZlT as
|
|
3
|
-
import { isPlainObject as
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import { usePermission as
|
|
7
|
-
const
|
|
1
|
+
import { defineComponent as Z, computed as C, resolveComponent as s, openBlock as n, createElementBlock as c, Fragment as p, renderList as g, createBlock as r, withCtx as i, createVNode as h, mergeProps as f, withModifiers as _, createCommentVNode as a, createElementVNode as j, toDisplayString as v, renderSlot as E, normalizeProps as O, createTextVNode as z, unref as S, normalizeClass as T } from "vue";
|
|
2
|
+
import { useZlT as D } from "@zl-ui-kit/composables";
|
|
3
|
+
import { isPlainObject as F } from "@zl-ui-kit/utils";
|
|
4
|
+
import w from "../ZlIcon/index.vue.mjs";
|
|
5
|
+
import A from "../ZlIconHover/index.vue.mjs";
|
|
6
|
+
import { usePermission as I } from "../ZlPermission/usePermission.mjs";
|
|
7
|
+
const q = { class: "zl-action-list" }, G = {
|
|
8
8
|
key: 2,
|
|
9
9
|
class: "zl-action-list__separator"
|
|
10
|
-
},
|
|
10
|
+
}, W = /* @__PURE__ */ Z({
|
|
11
11
|
name: "ZlActionList",
|
|
12
12
|
__name: "List",
|
|
13
13
|
props: {
|
|
@@ -19,19 +19,19 @@ const G = { class: "zl-action-list" }, H = {
|
|
|
19
19
|
separator: { type: Boolean }
|
|
20
20
|
},
|
|
21
21
|
emits: ["action"],
|
|
22
|
-
setup(b, { emit:
|
|
23
|
-
const { t:
|
|
22
|
+
setup(b, { emit: P }) {
|
|
23
|
+
const { t: M } = D(), t = b, B = P, k = C(() => {
|
|
24
24
|
if (t.iconMore === !0)
|
|
25
|
-
return { icon: "zl:
|
|
26
|
-
if (
|
|
27
|
-
return { icon: "zl:
|
|
25
|
+
return { icon: "zl:operate-color" };
|
|
26
|
+
if (F(t.iconMore))
|
|
27
|
+
return { icon: "zl:operate-color", ...t.iconMore };
|
|
28
28
|
});
|
|
29
|
-
function
|
|
30
|
-
return o.permission ?
|
|
29
|
+
function N(o) {
|
|
30
|
+
return o.permission ? I(o.permission).value : !0;
|
|
31
31
|
}
|
|
32
|
-
const
|
|
32
|
+
const u = C(() => {
|
|
33
33
|
const o = t.actions.filter((l) => {
|
|
34
|
-
const d =
|
|
34
|
+
const d = N(l);
|
|
35
35
|
return typeof l.visible == "function" ? l.visible(...t.visibleArgs, l) && d : (l.visible === void 0 || !!l.visible) && d;
|
|
36
36
|
});
|
|
37
37
|
return o.length <= t.listCount ? { list: o, more: [] } : {
|
|
@@ -39,72 +39,69 @@ const G = { class: "zl-action-list" }, H = {
|
|
|
39
39
|
more: o.slice(t.listCount - 1)
|
|
40
40
|
};
|
|
41
41
|
});
|
|
42
|
-
function
|
|
43
|
-
o.disabled || (
|
|
44
|
-
}
|
|
45
|
-
function y(o) {
|
|
46
|
-
return typeof o.tooltip == "string" ? o.tooltip : o.label;
|
|
42
|
+
function m(o) {
|
|
43
|
+
o.disabled || (B("action", o, ...t.actionArgs), typeof o.handler == "function" && o.handler(...t.actionArgs, o));
|
|
47
44
|
}
|
|
48
45
|
return (o, l) => {
|
|
49
|
-
const d = s("el-tooltip"),
|
|
50
|
-
return n(), c("div",
|
|
51
|
-
(n(!0), c(
|
|
46
|
+
const d = s("el-tooltip"), y = s("el-link"), V = s("el-dropdown-item"), $ = s("el-dropdown-menu"), x = s("el-dropdown");
|
|
47
|
+
return n(), c("div", q, [
|
|
48
|
+
(n(!0), c(p, null, g(u.value.list, (e) => (n(), c(p, {
|
|
52
49
|
key: e.label
|
|
53
50
|
}, [
|
|
54
|
-
e.tooltip && e.icon
|
|
51
|
+
e.tooltip && e.icon ? (n(), r(d, {
|
|
55
52
|
key: 0,
|
|
56
|
-
content:
|
|
53
|
+
content: e.label,
|
|
57
54
|
placement: "top"
|
|
58
55
|
}, {
|
|
59
56
|
default: i(() => [
|
|
60
|
-
h(
|
|
57
|
+
h(A, f({
|
|
61
58
|
icon: e.icon
|
|
62
59
|
}, { ref_for: !0 }, e.iconProps, {
|
|
63
|
-
onClick: _((
|
|
60
|
+
onClick: _((L) => m(e), ["stop"])
|
|
64
61
|
}), null, 16, ["icon", "onClick"])
|
|
65
62
|
]),
|
|
66
63
|
_: 2
|
|
67
|
-
}, 1032, ["content"])) : (n(), r(
|
|
64
|
+
}, 1032, ["content"])) : (n(), r(y, {
|
|
68
65
|
key: 1,
|
|
69
66
|
class: "zl-action-list__action",
|
|
70
67
|
type: "primary",
|
|
71
|
-
underline:
|
|
68
|
+
underline: !1,
|
|
72
69
|
disabled: e.disabled,
|
|
73
|
-
onClick: _((
|
|
70
|
+
onClick: _((L) => m(e), ["stop"])
|
|
74
71
|
}, {
|
|
75
72
|
default: i(() => [
|
|
76
|
-
e.icon ? (n(), r(
|
|
73
|
+
e.icon ? (n(), r(w, f({
|
|
77
74
|
key: 0,
|
|
78
75
|
icon: e.icon
|
|
79
|
-
}, { ref_for: !0 }, e.iconProps), null, 16, ["icon"])) :
|
|
80
|
-
|
|
76
|
+
}, { ref_for: !0 }, e.iconProps), null, 16, ["icon"])) : a("", !0),
|
|
77
|
+
j("span", null, v(e.label), 1)
|
|
81
78
|
]),
|
|
82
79
|
_: 2
|
|
83
80
|
}, 1032, ["disabled", "onClick"])),
|
|
84
|
-
b.separator ? (n(), c("div",
|
|
81
|
+
b.separator ? (n(), c("div", G)) : a("", !0)
|
|
85
82
|
], 64))), 128)),
|
|
86
|
-
|
|
83
|
+
u.value.more.length ? (n(), r(x, {
|
|
87
84
|
key: 0,
|
|
88
85
|
trigger: "hover",
|
|
89
86
|
placement: "bottom-end",
|
|
90
87
|
class: "zl-action-list__more",
|
|
91
|
-
onCommand:
|
|
88
|
+
onCommand: m
|
|
92
89
|
}, {
|
|
93
90
|
dropdown: i(() => [
|
|
94
|
-
h(
|
|
91
|
+
h($, null, {
|
|
95
92
|
default: i(() => [
|
|
96
|
-
(n(!0), c(
|
|
93
|
+
(n(!0), c(p, null, g(u.value.more, (e) => (n(), r(V, {
|
|
97
94
|
key: e.label,
|
|
98
95
|
command: e,
|
|
99
96
|
disabled: e.disabled,
|
|
100
97
|
divided: e.divided
|
|
101
98
|
}, {
|
|
102
99
|
default: i(() => [
|
|
103
|
-
e.icon ? (n(), r(
|
|
100
|
+
e.icon ? (n(), r(w, {
|
|
104
101
|
key: 0,
|
|
105
102
|
icon: e.icon,
|
|
106
|
-
class:
|
|
107
|
-
}, null, 8, ["icon", "class"])) :
|
|
103
|
+
class: T(e.iconClass)
|
|
104
|
+
}, null, 8, ["icon", "class"])) : a("", !0),
|
|
108
105
|
z(" " + v(e.label), 1)
|
|
109
106
|
]),
|
|
110
107
|
_: 2
|
|
@@ -114,29 +111,29 @@ const G = { class: "zl-action-list" }, H = {
|
|
|
114
111
|
})
|
|
115
112
|
]),
|
|
116
113
|
default: i(() => [
|
|
117
|
-
|
|
118
|
-
k.value ? (n(), r(
|
|
114
|
+
E(o.$slots, "more", {}, () => [
|
|
115
|
+
k.value ? (n(), r(A, O(f({ key: 0 }, k.value)), null, 16)) : (n(), r(y, {
|
|
119
116
|
key: 1,
|
|
120
117
|
class: "zl-action-list__more-icon",
|
|
121
118
|
type: "primary",
|
|
122
|
-
underline:
|
|
119
|
+
underline: !1,
|
|
123
120
|
onClick: l[0] || (l[0] = _(() => {
|
|
124
121
|
}, ["stop"]))
|
|
125
122
|
}, {
|
|
126
123
|
default: i(() => [
|
|
127
|
-
z(v(
|
|
124
|
+
z(v(S(M)("zl.action.more", "更多")), 1)
|
|
128
125
|
]),
|
|
129
126
|
_: 1
|
|
130
127
|
}))
|
|
131
128
|
])
|
|
132
129
|
]),
|
|
133
130
|
_: 3
|
|
134
|
-
})) :
|
|
131
|
+
})) : a("", !0)
|
|
135
132
|
]);
|
|
136
133
|
};
|
|
137
134
|
}
|
|
138
135
|
});
|
|
139
136
|
export {
|
|
140
|
-
|
|
137
|
+
W as default
|
|
141
138
|
};
|
|
142
139
|
//# sourceMappingURL=List.vue.mjs.map
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
/** 直接展示的操作数,超出收入"更多"下拉,默认 2;透传给 ZlActionList */
|
|
3
|
-
listCount?: number;
|
|
4
|
-
};
|
|
5
|
-
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
6
|
-
listCount: number;
|
|
7
|
-
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
8
2
|
export default _default;
|
|
9
3
|
//# sourceMappingURL=index.vue.d.ts.map
|
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
import { defineComponent as r, resolveComponent as
|
|
2
|
-
import
|
|
1
|
+
import { defineComponent as r, resolveComponent as n, openBlock as t, createBlock as c, normalizeProps as i, guardReactiveProps as a, withCtx as m, createVNode as p } from "vue";
|
|
2
|
+
import s from "./List.vue.mjs";
|
|
3
3
|
import './List.css';/* empty css */
|
|
4
4
|
const h = /* @__PURE__ */ r({
|
|
5
5
|
name: "ZlAction",
|
|
6
6
|
__name: "index",
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const n = c("zl-icon-hover");
|
|
14
|
-
return s(), i(_, p(a({ ...t.$attrs, listCount: e.listCount })), {
|
|
15
|
-
more: l(() => [
|
|
16
|
-
m(n, { icon: "zl:password-color" })
|
|
7
|
+
setup(_) {
|
|
8
|
+
return (o, l) => {
|
|
9
|
+
const e = n("zl-icon-hover");
|
|
10
|
+
return t(), c(s, i(a({ ...o.$attrs, listCount: 2 })), {
|
|
11
|
+
more: m(() => [
|
|
12
|
+
p(e, { icon: "zl:password-color" })
|
|
17
13
|
]),
|
|
18
14
|
_: 1
|
|
19
15
|
}, 16);
|
|
@@ -10,11 +10,8 @@ export interface ActionItem {
|
|
|
10
10
|
iconProps?: Record<string, any>;
|
|
11
11
|
/** 图标自定义类名 */
|
|
12
12
|
iconClass?: string;
|
|
13
|
-
/**
|
|
14
|
-
|
|
15
|
-
* 仅对纯图标操作项生效(配置了 `icon`)。
|
|
16
|
-
*/
|
|
17
|
-
tooltip?: boolean | string;
|
|
13
|
+
/** 是否用 tooltip 包住文案(文字过长时) */
|
|
14
|
+
tooltip?: boolean;
|
|
18
15
|
/** 禁用(点击无响应) */
|
|
19
16
|
disabled?: boolean;
|
|
20
17
|
/** 与下一项之间显示分割线 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.zl-layout-horizontal{height:100%;display:flex;flex-direction:column}.zl-layout-horizontal__header{display:flex;align-items:center;background:var(--zl-layout-
|
|
1
|
+
.zl-layout-horizontal{height:100%;display:flex;flex-direction:column}.zl-layout-horizontal__header{display:flex;align-items:center;background:var(--zl-layout-horizontal-header-bg, #fff)}.zl-layout-horizontal__logo{padding:10px 16px}.zl-layout-horizontal__menu{flex:1;width:1px}.zl-layout-horizontal__user{flex:0 0 auto;padding-right:16px}.zl-layout-horizontal__main{display:flex;flex-direction:column;flex:1;height:1px;padding:12px;border-radius:var(--zl-radius-medium, 4px);overflow:hidden}.zl-layout-horizontal__tabs{padding:12px 16px;background-color:var(--zl-bg-1, #fff);border-radius:var(--zl-radius-medium, 4px) var(--zl-radius-medium, 4px) 0 0}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.zl-layout-vertical{height:100%;display:flex}.zl-layout-vertical.collapsed .zl-layout-vertical__aside{width:
|
|
1
|
+
.zl-layout-vertical{height:100%;display:flex}.zl-layout-vertical.collapsed .zl-layout-vertical__aside{width:44px}.zl-layout-vertical.collapsed .zl-layout-vertical__aside__header{padding-inline:10px}.zl-layout-vertical.collapsed .zl-layout-vertical__aside__footer{padding-inline:8px}.zl-layout-vertical__aside{flex:0 0 auto;width:220px;background-image:var(--zl-layout-vertical-aside-bg, none);background-color:var(--zl-fill-1, #f9fbfd);background-size:cover;display:flex;flex-direction:column;transition:width .2s cubic-bezier(.34,.69,.1,1)}.zl-layout-vertical__aside__header{padding:12px 16px;overflow:hidden;border-bottom:1px solid var(--zl-border-1, #eff4f9);transition:padding .2s cubic-bezier(.34,.69,.1,1)}.zl-layout-vertical__aside__content{flex:1;overflow-y:auto}.zl-layout-vertical__aside__footer{padding:12px 16px;display:flex;justify-content:flex-end;flex-wrap:wrap-reverse;gap:8px;transition:padding .2s cubic-bezier(.34,.69,.1,1)}.zl-layout-vertical__main{flex:1;width:1px;display:flex;flex-direction:column}.zl-layout-vertical__header{padding:10px 16px;border-bottom:1px solid var(--zl-border-2, #e3e9ef);line-height:24px;background-color:var(--zl-bg-1, #fff);display:flex;justify-content:space-between}.zl-layout-vertical__content{flex:1;padding:12px;height:1px}
|
|
@@ -1,51 +1,53 @@
|
|
|
1
|
-
import { defineComponent as _,
|
|
2
|
-
import { useToggle as
|
|
3
|
-
import p from "../ZlButton/index.vue.mjs";
|
|
1
|
+
import { defineComponent as _, resolveComponent as d, openBlock as u, createElementBlock as v, normalizeClass as m, unref as s, createElementVNode as e, renderSlot as t, normalizeProps as c, guardReactiveProps as i, createVNode as r, withCtx as p } from "vue";
|
|
2
|
+
import { useToggle as z } from "@vueuse/core";
|
|
4
3
|
import f from "../ZlIcon/index.vue.mjs";
|
|
5
|
-
const
|
|
4
|
+
const h = { class: "zl-layout-vertical__aside" }, y = { class: "zl-layout-vertical__aside__header" }, $ = { class: "zl-layout-vertical__aside__content" }, b = { class: "zl-layout-vertical__aside__footer" }, C = { class: "zl-layout-vertical__main" }, g = { class: "zl-layout-vertical__header" }, V = { class: "zl-layout-vertical__breadcrumb" }, k = { class: "zl-layout-vertical__app-header" }, B = { class: "zl-layout-vertical__content" }, I = /* @__PURE__ */ _({
|
|
6
5
|
name: "ZlVerticalLayout",
|
|
7
6
|
__name: "Vertical",
|
|
8
|
-
setup(
|
|
9
|
-
const [o] =
|
|
10
|
-
return (l, a) =>
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
setup(E) {
|
|
8
|
+
const [o] = z(!1);
|
|
9
|
+
return (l, a) => {
|
|
10
|
+
const n = d("el-button");
|
|
11
|
+
return u(), v("div", {
|
|
12
|
+
class: m(["zl-layout-vertical", { collapsed: s(o) }])
|
|
13
|
+
}, [
|
|
14
14
|
e("div", h, [
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
e("div", y, [
|
|
16
|
+
t(l.$slots, "logo", c(i({ collapsed: s(o) })))
|
|
17
|
+
]),
|
|
18
|
+
e("div", $, [
|
|
19
|
+
t(l.$slots, "menu", c(i({ collapsed: s(o) })))
|
|
20
|
+
]),
|
|
21
|
+
e("div", b, [
|
|
22
|
+
r(n, {
|
|
23
|
+
circle: "",
|
|
24
|
+
onClick: a[0] || (a[0] = (N) => o.value = !s(o))
|
|
25
|
+
}, {
|
|
26
|
+
icon: p(() => [
|
|
27
|
+
r(f, {
|
|
28
|
+
icon: s(o) ? "zl:slider-on-color" : "zl:slider-off-color"
|
|
29
|
+
}, null, 8, ["icon"])
|
|
30
|
+
]),
|
|
31
|
+
_: 1
|
|
32
|
+
}),
|
|
33
|
+
t(l.$slots, "footer")
|
|
34
|
+
])
|
|
19
35
|
]),
|
|
20
|
-
e("div",
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}, {
|
|
25
|
-
icon: v(() => [
|
|
26
|
-
c(f, {
|
|
27
|
-
icon: t(o) ? "zl:slider-on-color" : "zl:slider-off-color"
|
|
28
|
-
}, null, 8, ["icon"])
|
|
36
|
+
e("div", C, [
|
|
37
|
+
e("div", g, [
|
|
38
|
+
e("div", V, [
|
|
39
|
+
t(l.$slots, "breadcrumb")
|
|
29
40
|
]),
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
])
|
|
34
|
-
]),
|
|
35
|
-
e("div", b, [
|
|
36
|
-
e("div", g, [
|
|
37
|
-
e("div", C, [
|
|
38
|
-
s(l.$slots, "breadcrumb")
|
|
41
|
+
e("div", k, [
|
|
42
|
+
t(l.$slots, "header")
|
|
43
|
+
])
|
|
39
44
|
]),
|
|
40
|
-
e("div",
|
|
41
|
-
|
|
45
|
+
e("div", B, [
|
|
46
|
+
t(l.$slots, "default")
|
|
42
47
|
])
|
|
43
|
-
]),
|
|
44
|
-
e("div", k, [
|
|
45
|
-
s(l.$slots, "default")
|
|
46
48
|
])
|
|
47
|
-
])
|
|
48
|
-
|
|
49
|
+
], 2);
|
|
50
|
+
};
|
|
49
51
|
}
|
|
50
52
|
});
|
|
51
53
|
export {
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* 应用布局:
|
|
2
|
+
* 应用布局:horizontal(默认,顶部菜单)/ vertical(侧边菜单,可折叠)
|
|
3
3
|
* 插槽:logo/menu/breadcrumb/header/footer/default
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
6
|
-
/**
|
|
6
|
+
/** 布局方向:横向用顶部菜单,纵向用侧边菜单 */
|
|
7
7
|
layout: {
|
|
8
|
-
type: () => "horizontal" | "vertical"
|
|
8
|
+
type: () => "horizontal" | "vertical";
|
|
9
9
|
default: string;
|
|
10
10
|
};
|
|
11
11
|
}>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
12
12
|
[key: string]: any;
|
|
13
13
|
}>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
14
|
-
/**
|
|
14
|
+
/** 布局方向:横向用顶部菜单,纵向用侧边菜单 */
|
|
15
15
|
layout: {
|
|
16
|
-
type: () => "horizontal" | "vertical"
|
|
16
|
+
type: () => "horizontal" | "vertical";
|
|
17
17
|
default: string;
|
|
18
18
|
};
|
|
19
19
|
}>> & Readonly<{}>, {
|
|
20
|
-
layout: "horizontal" | "vertical"
|
|
20
|
+
layout: "horizontal" | "vertical";
|
|
21
21
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
22
22
|
export default _default;
|
|
23
23
|
//# sourceMappingURL=index.vue.d.ts.map
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { defineComponent as r, defineAsyncComponent as
|
|
2
|
-
const
|
|
1
|
+
import { defineComponent as r, defineAsyncComponent as o, h as a } from "vue";
|
|
2
|
+
const m = r({
|
|
3
3
|
name: "ZlAppLayout",
|
|
4
4
|
props: {
|
|
5
|
-
/**
|
|
6
|
-
layout: { type: String, default: "
|
|
5
|
+
/** 布局方向:横向用顶部菜单,纵向用侧边菜单 */
|
|
6
|
+
layout: { type: String, default: "horizontal" }
|
|
7
7
|
},
|
|
8
|
-
setup(
|
|
8
|
+
setup(t, { slots: n, attrs: e }) {
|
|
9
9
|
return () => {
|
|
10
|
-
|
|
11
|
-
return
|
|
10
|
+
const p = t.layout === "horizontal" ? o(() => import("./Horizontal.vue.mjs")) : o(() => import("./Vertical.vue.mjs"));
|
|
11
|
+
return a(p, { ...e }, n);
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
14
|
});
|
|
15
15
|
export {
|
|
16
|
-
|
|
16
|
+
m as default
|
|
17
17
|
};
|
|
18
18
|
//# sourceMappingURL=index.vue.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.zl-menu.el-menu{--el-menu-bg-color: transparent;--el-menu-text-color: var(--zl-menu-text-color, var(--zl-text-2));--el-menu-active-color: var(--zl-menu-text-color, var(--zl-text-2));--el-menu-hover-bg-color: var(--zl-menu-hover-bg, var(--zl-fill-2));border-right:none;background-color:transparent}.zl-menu.el-menu .el-menu-item.is-active{background-color:var(--zl-menu-hover-bg, var(--zl-fill-2))}.zl-menu.el-menu:not(.el-menu--horizontal){font-size:12px}.zl-menu.el-menu:not(.el-menu--horizontal) .el-menu-item,.zl-menu.el-menu:not(.el-menu--horizontal) .el-sub-menu__title{height:36px;line-height:36px}.zl-menu.el-menu.el-menu--horizontal .el-menu-item,.zl-menu.el-menu.el-menu--horizontal .el-sub-menu__title{height:44px;line-height:44px}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface MenuItem {
|
|
2
|
+
/** 唯一键 */
|
|
3
|
+
name: string;
|
|
4
|
+
title: string;
|
|
5
|
+
icon?: string;
|
|
6
|
+
children?: MenuItem[];
|
|
7
|
+
[key: string]: any;
|
|
8
|
+
}
|
|
9
|
+
type __VLS_Props = {
|
|
10
|
+
/** 菜单是否收起为图标,侧栏折叠时用 */
|
|
11
|
+
collapsed?: boolean;
|
|
12
|
+
/** el-menu 模式:vertical / horizontal */
|
|
13
|
+
layout?: 'vertical' | 'horizontal';
|
|
14
|
+
/** 菜单树数据,递归渲染为多级菜单项 */
|
|
15
|
+
menus?: MenuItem[];
|
|
16
|
+
};
|
|
17
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
18
|
+
"menu-item-click": (menu: MenuItem) => any;
|
|
19
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
20
|
+
"onMenu-item-click"?: ((menu: MenuItem) => any) | undefined;
|
|
21
|
+
}>, {
|
|
22
|
+
layout: "vertical" | "horizontal";
|
|
23
|
+
collapsed: boolean;
|
|
24
|
+
menus: MenuItem[];
|
|
25
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
26
|
+
export default _default;
|
|
27
|
+
//# sourceMappingURL=AppMenu.vue.d.ts.map
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { defineComponent as u, resolveComponent as s, openBlock as n, createBlock as l, withCtx as i, createElementBlock as r, Fragment as p, renderList as f } from "vue";
|
|
2
|
+
import d from "./AppMenuItem.vue.mjs";
|
|
3
|
+
const B = /* @__PURE__ */ u({
|
|
4
|
+
name: "ZlAppMenu",
|
|
5
|
+
__name: "AppMenu",
|
|
6
|
+
props: {
|
|
7
|
+
collapsed: { type: Boolean, default: !1 },
|
|
8
|
+
layout: { default: "vertical" },
|
|
9
|
+
menus: { default: () => [] }
|
|
10
|
+
},
|
|
11
|
+
emits: ["menu-item-click"],
|
|
12
|
+
setup(e, { emit: o }) {
|
|
13
|
+
const m = o;
|
|
14
|
+
return (k, _) => {
|
|
15
|
+
const a = s("el-menu");
|
|
16
|
+
return n(), l(a, {
|
|
17
|
+
class: "zl-menu",
|
|
18
|
+
collapse: e.collapsed,
|
|
19
|
+
mode: e.layout,
|
|
20
|
+
"collapse-transition": !1
|
|
21
|
+
}, {
|
|
22
|
+
default: i(() => [
|
|
23
|
+
(n(!0), r(p, null, f(e.menus, (t) => (n(), l(d, {
|
|
24
|
+
key: t.name,
|
|
25
|
+
menu: t,
|
|
26
|
+
onMenuItemClick: (c) => m("menu-item-click", c)
|
|
27
|
+
}, null, 8, ["menu", "onMenuItemClick"]))), 128))
|
|
28
|
+
]),
|
|
29
|
+
_: 1
|
|
30
|
+
}, 8, ["collapse", "mode"]);
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
export {
|
|
35
|
+
B as default
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=AppMenu.vue.mjs.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MenuItem } from './AppMenu.vue';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
menu: MenuItem;
|
|
4
|
+
};
|
|
5
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
6
|
+
"menu-item-click": (menu: MenuItem) => any;
|
|
7
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
8
|
+
"onMenu-item-click"?: ((menu: MenuItem) => any) | undefined;
|
|
9
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
10
|
+
export default _default;
|
|
11
|
+
//# sourceMappingURL=AppMenuItem.vue.d.ts.map
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { defineComponent as I, resolveComponent as i, openBlock as n, createBlock as t, withCtx as m, createElementBlock as M, Fragment as p, renderList as A, createCommentVNode as r, createElementVNode as g, toDisplayString as a, createTextVNode as h } from "vue";
|
|
2
|
+
import d from "../ZlIcon/index.vue.mjs";
|
|
3
|
+
const V = /* @__PURE__ */ I({
|
|
4
|
+
name: "ZlAppMenuItem",
|
|
5
|
+
__name: "AppMenuItem",
|
|
6
|
+
props: {
|
|
7
|
+
menu: {}
|
|
8
|
+
},
|
|
9
|
+
emits: ["menu-item-click"],
|
|
10
|
+
setup(e, { emit: k }) {
|
|
11
|
+
const f = e, s = k;
|
|
12
|
+
function l(c = f.menu) {
|
|
13
|
+
s("menu-item-click", c);
|
|
14
|
+
}
|
|
15
|
+
return (c, o) => {
|
|
16
|
+
const x = i("AppMenuItem", !0), y = i("el-sub-menu"), C = i("el-menu-item");
|
|
17
|
+
return e.menu.children?.length ? (n(), t(y, {
|
|
18
|
+
key: 0,
|
|
19
|
+
index: e.menu.name
|
|
20
|
+
}, {
|
|
21
|
+
title: m(() => [
|
|
22
|
+
e.menu.icon ? (n(), t(d, {
|
|
23
|
+
key: 0,
|
|
24
|
+
icon: e.menu.icon
|
|
25
|
+
}, null, 8, ["icon"])) : r("", !0),
|
|
26
|
+
g("span", null, a(e.menu.title), 1)
|
|
27
|
+
]),
|
|
28
|
+
default: m(() => [
|
|
29
|
+
(n(!0), M(p, null, A(e.menu.children, (u) => (n(), t(x, {
|
|
30
|
+
key: u.name,
|
|
31
|
+
menu: u,
|
|
32
|
+
onMenuItemClick: l
|
|
33
|
+
}, null, 8, ["menu"]))), 128))
|
|
34
|
+
]),
|
|
35
|
+
_: 1
|
|
36
|
+
}, 8, ["index"])) : (n(), t(C, {
|
|
37
|
+
key: 1,
|
|
38
|
+
index: e.menu.name,
|
|
39
|
+
onClick: o[0] || (o[0] = (u) => l())
|
|
40
|
+
}, {
|
|
41
|
+
title: m(() => [
|
|
42
|
+
h(a(e.menu.title), 1)
|
|
43
|
+
]),
|
|
44
|
+
default: m(() => [
|
|
45
|
+
e.menu.icon ? (n(), t(d, {
|
|
46
|
+
key: 0,
|
|
47
|
+
icon: e.menu.icon
|
|
48
|
+
}, null, 8, ["icon"])) : r("", !0)
|
|
49
|
+
]),
|
|
50
|
+
_: 1
|
|
51
|
+
}, 8, ["index"]));
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
export {
|
|
56
|
+
V as default
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=AppMenuItem.vue.mjs.map
|