jky-component-lib 0.0.15 → 0.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/es/button/Button.vue.d.ts +6 -0
  2. package/dist/es/button/Button.vue.js +32 -4
  3. package/dist/es/button/style.css +144 -89
  4. package/dist/es/button-nav/ButtonNav.vue.d.ts +30 -0
  5. package/dist/es/button-nav/ButtonNav.vue.js +130 -0
  6. package/dist/es/button-nav/ButtonNav.vue3.js +5 -0
  7. package/dist/es/button-nav/index.d.ts +4 -0
  8. package/dist/es/button-nav/index.js +8 -0
  9. package/dist/es/button-nav/style.css +39 -0
  10. package/dist/es/components.d.ts +3 -0
  11. package/dist/es/components.js +10 -1
  12. package/dist/es/index.js +8 -2
  13. package/dist/es/menu/Menu.vue.d.ts +32 -0
  14. package/dist/es/menu/Menu.vue.js +110 -0
  15. package/dist/es/menu/Menu.vue3.js +5 -0
  16. package/dist/es/menu/index.d.ts +4 -0
  17. package/dist/es/menu/index.js +8 -0
  18. package/dist/es/menu/style.css +70 -0
  19. package/dist/es/package.json.js +1 -1
  20. package/dist/es/page-header/PageHeader.vue.d.ts +45 -0
  21. package/dist/es/page-header/PageHeader.vue.js +263 -0
  22. package/dist/es/page-header/PageHeader.vue3.js +5 -0
  23. package/dist/es/page-header/index.d.ts +4 -0
  24. package/dist/es/page-header/index.js +8 -0
  25. package/dist/es/page-header/style.css +140 -0
  26. package/dist/es/resolver.d.ts +1 -1
  27. package/dist/es/resolver.js +2 -2
  28. package/dist/es/say-hello/style.css +32 -8
  29. package/dist/es/style.css +531 -54
  30. package/dist/es/styles.css +1 -1
  31. package/dist/lib/button/Button.vue.d.ts +6 -0
  32. package/dist/lib/button/Button.vue.js +31 -3
  33. package/dist/lib/button/style.css +144 -89
  34. package/dist/lib/button-nav/ButtonNav.vue.d.ts +30 -0
  35. package/dist/lib/button-nav/ButtonNav.vue.js +130 -0
  36. package/dist/lib/button-nav/ButtonNav.vue3.js +5 -0
  37. package/dist/lib/button-nav/index.d.ts +4 -0
  38. package/dist/lib/button-nav/index.js +8 -0
  39. package/dist/lib/button-nav/style.css +39 -0
  40. package/dist/lib/components.d.ts +3 -0
  41. package/dist/lib/components.js +13 -4
  42. package/dist/lib/index.js +9 -3
  43. package/dist/lib/menu/Menu.vue.d.ts +32 -0
  44. package/dist/lib/menu/Menu.vue.js +110 -0
  45. package/dist/lib/menu/Menu.vue3.js +5 -0
  46. package/dist/lib/menu/index.d.ts +4 -0
  47. package/dist/lib/menu/index.js +8 -0
  48. package/dist/lib/menu/style.css +70 -0
  49. package/dist/lib/package.json.js +1 -1
  50. package/dist/lib/page-header/PageHeader.vue.d.ts +45 -0
  51. package/dist/lib/page-header/PageHeader.vue.js +263 -0
  52. package/dist/lib/page-header/PageHeader.vue3.js +5 -0
  53. package/dist/lib/page-header/index.d.ts +4 -0
  54. package/dist/lib/page-header/index.js +8 -0
  55. package/dist/lib/page-header/style.css +140 -0
  56. package/dist/lib/resolver.d.ts +1 -1
  57. package/dist/lib/resolver.js +2 -2
  58. package/dist/lib/say-hello/style.css +32 -8
  59. package/dist/lib/style.css +531 -54
  60. package/dist/lib/styles.css +1 -1
  61. package/dist/umd/index.js +1856 -14
  62. package/dist/umd/styles.css +1 -1
  63. package/package.json +3 -1
@@ -0,0 +1,32 @@
1
+ import { MenuProps } from 'element-plus/es/components/menu';
2
+ interface MenuItem {
3
+ index: string;
4
+ title?: string;
5
+ icon?: string;
6
+ disabled?: boolean;
7
+ children?: MenuItem[];
8
+ popperOffset?: number;
9
+ route?: string | object;
10
+ [key: string]: any;
11
+ }
12
+ interface Props extends MenuProps {
13
+ menuData?: MenuItem[];
14
+ modelValue?: string;
15
+ }
16
+ declare function __VLS_template(): {
17
+ attrs: Partial<{}>;
18
+ slots: {
19
+ default?(_: {}): any;
20
+ };
21
+ refs: {};
22
+ rootEl: any;
23
+ };
24
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
25
+ declare const __VLS_component: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
26
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
27
+ export default _default;
28
+ type __VLS_WithTemplateSlots<T, S> = T & {
29
+ new (): {
30
+ $slots: S;
31
+ };
32
+ };
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __spreadValues = (a, b) => {
10
+ for (var prop in b || (b = {}))
11
+ if (__hasOwnProp.call(b, prop))
12
+ __defNormalProp(a, prop, b[prop]);
13
+ if (__getOwnPropSymbols)
14
+ for (var prop of __getOwnPropSymbols(b)) {
15
+ if (__propIsEnum.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ }
18
+ return a;
19
+ };
20
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
22
+ const vue = require("vue");
23
+ const ElementPlus = require("element-plus");
24
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, {
25
+ name: "JkyMenu",
26
+ inheritAttrs: false
27
+ }), {
28
+ __name: "Menu",
29
+ props: {
30
+ menuData: { default: () => [] },
31
+ modelValue: {},
32
+ mode: {},
33
+ defaultActive: {},
34
+ defaultOpeneds: {},
35
+ uniqueOpened: { type: Boolean },
36
+ router: { type: Boolean },
37
+ menuTrigger: {},
38
+ collapse: { type: Boolean },
39
+ backgroundColor: {},
40
+ textColor: {},
41
+ activeTextColor: {},
42
+ closeOnClickOutside: { type: Boolean },
43
+ collapseTransition: { type: Boolean },
44
+ ellipsis: { type: Boolean },
45
+ popperOffset: {},
46
+ ellipsisIcon: {},
47
+ popperEffect: {},
48
+ popperClass: {},
49
+ popperStyle: {},
50
+ showTimeout: {},
51
+ hideTimeout: {},
52
+ persistent: { type: Boolean }
53
+ },
54
+ setup(__props) {
55
+ function renderMenuItem(item) {
56
+ return vue.h(
57
+ ElementPlus.ElMenuItem,
58
+ {
59
+ index: item.index,
60
+ disabled: item.disabled,
61
+ route: item.route
62
+ },
63
+ {
64
+ default: () => [
65
+ item.icon ? vue.h("span", { class: "jky-menu-item__icon" }, [vue.h("span", { class: item.icon })]) : null,
66
+ item.title ? vue.h("span", { class: "jky-menu-item__title" }, item.title) : null
67
+ ]
68
+ }
69
+ );
70
+ }
71
+ function renderSubMenu(item) {
72
+ var _a;
73
+ const children = item.children || [];
74
+ return vue.h(
75
+ ElementPlus.ElSubMenu,
76
+ {
77
+ index: item.index,
78
+ disabled: (_a = item.disabled) != null ? _a : false,
79
+ popperOffset: item.popperOffset
80
+ },
81
+ {
82
+ title: () => [
83
+ item.icon ? vue.h("span", { class: "jky-menu-item__icon" }, [vue.h("span", { class: item.icon })]) : null,
84
+ item.title ? vue.h("span", { class: "jky-menu-item__title" }, item.title) : null
85
+ ],
86
+ default: () => children.map((child) => renderMenuNode(child))
87
+ }
88
+ );
89
+ }
90
+ function renderMenuNode(item) {
91
+ if (item.children && item.children.length > 0) {
92
+ return renderSubMenu(item);
93
+ }
94
+ return renderMenuItem(item);
95
+ }
96
+ return (_ctx, _cache) => {
97
+ return vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElMenu), vue.mergeProps({ class: "jky-menu" }, _ctx.$attrs), {
98
+ default: vue.withCtx(() => [
99
+ __props.menuData && __props.menuData.length > 0 ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(__props.menuData, (item) => {
100
+ return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(renderMenuNode(item)), {
101
+ key: item.index
102
+ });
103
+ }), 128)) : vue.renderSlot(_ctx.$slots, "default", { key: 1 })
104
+ ]),
105
+ _: 3
106
+ }, 16);
107
+ };
108
+ }
109
+ }));
110
+ exports.default = _sfc_main;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const Menu_vue_vue_type_script_setup_true_lang = require("./Menu.vue.js");
4
+ ;/* empty css */
5
+ exports.default = Menu_vue_vue_type_script_setup_true_lang.default;
@@ -0,0 +1,4 @@
1
+ import { InstallWithSFC } from '../utils';
2
+ import { default as Menu } from './Menu.vue';
3
+ export declare const JkyMenu: InstallWithSFC<typeof Menu>;
4
+ export default JkyMenu;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const Menu_vue_vue_type_script_setup_true_lang = require("./Menu.vue.js");
4
+ ;/* empty css */
5
+ const withInstall = require("../utils/with-install.js");
6
+ const JkyMenu = withInstall.installWithSFC(Menu_vue_vue_type_script_setup_true_lang.default);
7
+ exports.JkyMenu = JkyMenu;
8
+ exports.default = JkyMenu;
@@ -0,0 +1,70 @@
1
+ /* Menu 组件样式 - 使用 CSS 变量实现主题化 */
2
+
3
+ /* 1. 定义 CSS 变量 */
4
+ :root {
5
+ /* 颜色变量 */
6
+ --jky-menu-bg-color: #ffffff;
7
+ --jky-menu-text-color: #303133;
8
+ --jky-menu-active-color: #409eff;
9
+ --jky-menu-hover-bg-color: #f5f7fa;
10
+ --jky-menu-hover-text-color: #606266;
11
+
12
+ /* 尺寸变量 */
13
+ --jky-menu-item-height: 56px;
14
+ --jky-menu-item-padding: 0 20px;
15
+ --jky-menu-item-font-size: 14px;
16
+
17
+ /* 图标 */
18
+ --jky-menu-icon-size: 18px;
19
+ --jky-menu-icon-margin: 8px;
20
+
21
+ /* 边框 */
22
+ --jky-menu-border-color: #e4e7ed;
23
+
24
+ /* 状态变量 */
25
+ --jky-menu-disabled-opacity: 0.5;
26
+ --jky-menu-disabled-text-color: #c0c4cc;
27
+ }
28
+
29
+ /* 2. 基础样式 */
30
+ .jky-menu {
31
+ background-color: var(--jky-menu-bg-color);
32
+ color: var(--jky-menu-text-color);
33
+ }
34
+
35
+ /* 3. 菜单项容器样式 - 确保统一高度 */
36
+ .jky-menu {
37
+ li + li {
38
+ margin-top: 0;
39
+ }
40
+ }
41
+
42
+ /* 4. 菜单项图标样式 */
43
+ .jky-menu-item__icon {
44
+ display: inline-flex;
45
+ align-items: center;
46
+ justify-content: center;
47
+ width: var(--jky-menu-icon-size);
48
+ height: var(--jky-menu-icon-size);
49
+ margin-right: var(--jky-menu-icon-margin);
50
+ font-size: var(--jky-menu-icon-size);
51
+ flex-shrink: 0;
52
+ }
53
+
54
+ /* 5. 菜单项标题样式 */
55
+ .jky-menu-item__title {
56
+ flex: 1;
57
+ font-size: var(--jky-menu-item-font-size);
58
+ color: var(--jky-menu-text-color);
59
+ line-height: normal;
60
+ overflow: hidden;
61
+ text-overflow: ellipsis;
62
+ white-space: nowrap;
63
+ }
64
+
65
+ /* 6. 禁用状态 */
66
+ .jky-menu-item.is-disabled {
67
+ opacity: var(--jky-menu-disabled-opacity);
68
+ color: var(--jky-menu-disabled-text-color);
69
+ cursor: not-allowed;
70
+ }
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const version = "0.0.15";
3
+ const version = "0.0.17";
4
4
  exports.version = version;
@@ -0,0 +1,45 @@
1
+ type __VLS_Props = {
2
+ logo?: string;
3
+ title?: string;
4
+ height?: string | number;
5
+ background?: string;
6
+ backgroundImage?: string;
7
+ statusIcons?: StatusIcon[];
8
+ userName?: string;
9
+ userAvatar?: string;
10
+ };
11
+ interface StatusIcon {
12
+ icon: string | object;
13
+ label: string;
14
+ color?: string;
15
+ onClick?: () => void;
16
+ }
17
+ declare function __VLS_template(): {
18
+ attrs: Partial<{}>;
19
+ slots: {
20
+ center?(_: {}): any;
21
+ time?(_: {}): any;
22
+ };
23
+ refs: {};
24
+ rootEl: HTMLElement;
25
+ };
26
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
27
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
28
+ logout: () => any;
29
+ clearCache: () => any;
30
+ profile: () => any;
31
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
32
+ onLogout?: (() => any) | undefined;
33
+ onClearCache?: (() => any) | undefined;
34
+ onProfile?: (() => any) | undefined;
35
+ }>, {
36
+ height: string | number;
37
+ statusIcons: StatusIcon[];
38
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
39
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
40
+ export default _default;
41
+ type __VLS_WithTemplateSlots<T, S> = T & {
42
+ new (): {
43
+ $slots: S;
44
+ };
45
+ };
@@ -0,0 +1,263 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defProps = Object.defineProperties;
4
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
8
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
9
+ var __spreadValues = (a, b) => {
10
+ for (var prop in b || (b = {}))
11
+ if (__hasOwnProp.call(b, prop))
12
+ __defNormalProp(a, prop, b[prop]);
13
+ if (__getOwnPropSymbols)
14
+ for (var prop of __getOwnPropSymbols(b)) {
15
+ if (__propIsEnum.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ }
18
+ return a;
19
+ };
20
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
22
+ const vue = require("vue");
23
+ const ElementPlus = require("element-plus");
24
+ const _hoisted_1 = { class: "jky-page-header__container" };
25
+ const _hoisted_2 = { class: "jky-page-header__left" };
26
+ const _hoisted_3 = ["src", "alt"];
27
+ const _hoisted_4 = {
28
+ key: 1,
29
+ class: "jky-page-header__title"
30
+ };
31
+ const _hoisted_5 = { class: "jky-page-header__center" };
32
+ const _hoisted_6 = { class: "jky-page-header__right" };
33
+ const _hoisted_7 = { class: "jky-page-header__status-icons hidden md:flex" };
34
+ const _hoisted_8 = {
35
+ xmlns: "http://www.w3.org/2000/svg",
36
+ style: { "color": "white" },
37
+ fill: "none",
38
+ viewBox: "0 0 24 24",
39
+ stroke: "currentColor"
40
+ };
41
+ const _hoisted_9 = { class: "jky-page-header__time hidden md:block" };
42
+ const _hoisted_10 = { class: "jky-page-header__user" };
43
+ const _hoisted_11 = ["src", "alt"];
44
+ const _hoisted_12 = {
45
+ key: 2,
46
+ class: "jky-page-header__username hidden md:block"
47
+ };
48
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent(__spreadProps(__spreadValues({}, {
49
+ name: "JkyPageHeader"
50
+ }), {
51
+ __name: "PageHeader",
52
+ props: {
53
+ logo: {},
54
+ title: {},
55
+ height: { default: 76 },
56
+ background: {},
57
+ backgroundImage: {},
58
+ statusIcons: { default: () => [] },
59
+ userName: {},
60
+ userAvatar: {}
61
+ },
62
+ emits: ["logout", "clearCache", "profile"],
63
+ setup(__props, { emit: __emit }) {
64
+ const props = __props;
65
+ const emit = __emit;
66
+ const heightValue = vue.computed(() => {
67
+ if (typeof props.height === "number") {
68
+ return `${props.height}px`;
69
+ }
70
+ return props.height;
71
+ });
72
+ const backgroundStyle = vue.computed(() => {
73
+ const style = {};
74
+ if (props.backgroundImage) {
75
+ style.backgroundImage = `url(${props.backgroundImage})`;
76
+ style.backgroundSize = "cover";
77
+ style.backgroundPosition = "center";
78
+ }
79
+ if (props.background) {
80
+ style.backgroundColor = props.background;
81
+ }
82
+ return style;
83
+ });
84
+ function handleLogout() {
85
+ emit("logout");
86
+ }
87
+ function handleClearCache() {
88
+ emit("clearCache");
89
+ }
90
+ function handleProfile() {
91
+ emit("profile");
92
+ }
93
+ return (_ctx, _cache) => {
94
+ return vue.openBlock(), vue.createElementBlock("header", {
95
+ class: "jky-page-header",
96
+ style: vue.normalizeStyle([backgroundStyle.value, { height: heightValue.value }])
97
+ }, [
98
+ vue.createElementVNode("div", _hoisted_1, [
99
+ vue.createElementVNode("div", _hoisted_2, [
100
+ __props.logo ? (vue.openBlock(), vue.createElementBlock("img", {
101
+ key: 0,
102
+ src: __props.logo,
103
+ alt: __props.title || "Logo",
104
+ class: "jky-page-header__logo"
105
+ }, null, 8, _hoisted_3)) : vue.createCommentVNode("", true),
106
+ __props.title ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4, vue.toDisplayString(__props.title), 1)) : vue.createCommentVNode("", true)
107
+ ]),
108
+ vue.createElementVNode("div", _hoisted_5, [
109
+ vue.renderSlot(_ctx.$slots, "center")
110
+ ]),
111
+ vue.createElementVNode("div", _hoisted_6, [
112
+ vue.createElementVNode("div", _hoisted_7, [
113
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.statusIcons, (icon, index) => {
114
+ return vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: index }, [
115
+ typeof icon.icon === "string" ? (vue.openBlock(), vue.createElementBlock("span", {
116
+ key: 0,
117
+ class: vue.normalizeClass(["jky-page-header__status-icon text-white cursor-pointer", [icon.icon]])
118
+ }, null, 2)) : (vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElIcon), {
119
+ key: 1,
120
+ size: 20,
121
+ title: icon.label,
122
+ color: icon.color || "white",
123
+ class: "jky-page-header__status-icon cursor-pointer",
124
+ onClick: icon.onClick
125
+ }, {
126
+ default: vue.withCtx(() => [
127
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(icon.icon)))
128
+ ]),
129
+ _: 2
130
+ }, 1032, ["title", "color", "onClick"]))
131
+ ], 64);
132
+ }), 128))
133
+ ]),
134
+ __props.statusIcons.length > 0 ? (vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElDropdown), {
135
+ key: 0,
136
+ trigger: "click",
137
+ class: "md:hidden"
138
+ }, {
139
+ dropdown: vue.withCtx(() => [
140
+ vue.createVNode(vue.unref(ElementPlus.ElDropdownMenu), null, {
141
+ default: vue.withCtx(() => [
142
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.statusIcons, (icon, index) => {
143
+ return vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElDropdownItem), {
144
+ key: index,
145
+ onClick: icon.onClick
146
+ }, {
147
+ default: vue.withCtx(() => [
148
+ typeof icon.icon === "string" ? (vue.openBlock(), vue.createElementBlock("span", {
149
+ key: 0,
150
+ class: vue.normalizeClass(["text-white", [icon.icon]])
151
+ }, null, 2)) : (vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElIcon), {
152
+ key: 1,
153
+ size: 16,
154
+ class: "mr-2"
155
+ }, {
156
+ default: vue.withCtx(() => [
157
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(icon.icon)))
158
+ ]),
159
+ _: 2
160
+ }, 1024)),
161
+ vue.createTextVNode(" " + vue.toDisplayString(icon.label), 1)
162
+ ]),
163
+ _: 2
164
+ }, 1032, ["onClick"]);
165
+ }), 128))
166
+ ]),
167
+ _: 1
168
+ })
169
+ ]),
170
+ default: vue.withCtx(() => [
171
+ vue.createVNode(vue.unref(ElementPlus.ElIcon), {
172
+ size: 20,
173
+ class: "jky-page-header__status-icon text-white"
174
+ }, {
175
+ default: vue.withCtx(() => [
176
+ (vue.openBlock(), vue.createElementBlock("svg", _hoisted_8, [..._cache[0] || (_cache[0] = [
177
+ vue.createElementVNode("path", {
178
+ "stroke-linecap": "round",
179
+ "stroke-linejoin": "round",
180
+ "stroke-width": "2",
181
+ d: "M4 6h16M4 12h16M4 18h16"
182
+ }, null, -1)
183
+ ])]))
184
+ ]),
185
+ _: 1
186
+ })
187
+ ]),
188
+ _: 1
189
+ })) : vue.createCommentVNode("", true),
190
+ vue.createElementVNode("div", _hoisted_9, [
191
+ vue.renderSlot(_ctx.$slots, "time", {}, () => [
192
+ vue.createElementVNode("span", null, vue.toDisplayString((/* @__PURE__ */ new Date()).toLocaleString("zh-CN")), 1)
193
+ ])
194
+ ]),
195
+ vue.createVNode(vue.unref(ElementPlus.ElDropdown), { trigger: "click" }, {
196
+ dropdown: vue.withCtx(() => [
197
+ vue.createVNode(vue.unref(ElementPlus.ElDropdownMenu), null, {
198
+ default: vue.withCtx(() => [
199
+ vue.createVNode(vue.unref(ElementPlus.ElDropdownItem), { onClick: handleProfile }, {
200
+ default: vue.withCtx(() => [..._cache[2] || (_cache[2] = [
201
+ vue.createElementVNode("span", { class: "icon-[heroicons--user]" }, null, -1),
202
+ vue.createTextVNode(" 个人信息 ", -1)
203
+ ])]),
204
+ _: 1
205
+ }),
206
+ vue.createVNode(vue.unref(ElementPlus.ElDropdownItem), { onClick: handleClearCache }, {
207
+ default: vue.withCtx(() => [..._cache[3] || (_cache[3] = [
208
+ vue.createElementVNode("span", { class: "icon-[heroicons--trash]" }, null, -1),
209
+ vue.createTextVNode(" 清理缓存 ", -1)
210
+ ])]),
211
+ _: 1
212
+ }),
213
+ vue.createVNode(vue.unref(ElementPlus.ElDropdownItem), {
214
+ divided: "",
215
+ onClick: handleLogout
216
+ }, {
217
+ default: vue.withCtx(() => [..._cache[4] || (_cache[4] = [
218
+ vue.createElementVNode("span", { class: "icon-[heroicons--arrow-right-on-rectangle]" }, null, -1),
219
+ vue.createTextVNode(" 注销 ", -1)
220
+ ])]),
221
+ _: 1
222
+ })
223
+ ]),
224
+ _: 1
225
+ })
226
+ ]),
227
+ default: vue.withCtx(() => [
228
+ vue.createElementVNode("div", _hoisted_10, [
229
+ __props.userAvatar ? (vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElIcon), {
230
+ key: 0,
231
+ size: 32,
232
+ class: "jky-page-header__avatar"
233
+ }, {
234
+ default: vue.withCtx(() => [
235
+ vue.createElementVNode("img", {
236
+ src: __props.userAvatar,
237
+ alt: __props.userName,
238
+ class: "rounded-full"
239
+ }, null, 8, _hoisted_11)
240
+ ]),
241
+ _: 1
242
+ })) : (vue.openBlock(), vue.createBlock(vue.unref(ElementPlus.ElIcon), {
243
+ key: 1,
244
+ size: 32,
245
+ class: "jky-page-header__avatar"
246
+ }, {
247
+ default: vue.withCtx(() => [..._cache[1] || (_cache[1] = [
248
+ vue.createElementVNode("span", { class: "icon-[heroicons--user]" }, null, -1)
249
+ ])]),
250
+ _: 1
251
+ })),
252
+ __props.userName ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_12, vue.toDisplayString(__props.userName), 1)) : vue.createCommentVNode("", true)
253
+ ])
254
+ ]),
255
+ _: 1
256
+ })
257
+ ])
258
+ ])
259
+ ], 4);
260
+ };
261
+ }
262
+ }));
263
+ exports.default = _sfc_main;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const PageHeader_vue_vue_type_script_setup_true_lang = require("./PageHeader.vue.js");
4
+ ;/* empty css */
5
+ exports.default = PageHeader_vue_vue_type_script_setup_true_lang.default;
@@ -0,0 +1,4 @@
1
+ import { InstallWithSFC } from '../utils';
2
+ import { default as PageHeader } from './PageHeader.vue';
3
+ export declare const JkyPageHeader: InstallWithSFC<typeof PageHeader>;
4
+ export default JkyPageHeader;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const PageHeader_vue_vue_type_script_setup_true_lang = require("./PageHeader.vue.js");
4
+ ;/* empty css */
5
+ const withInstall = require("../utils/with-install.js");
6
+ const JkyPageHeader = withInstall.installWithSFC(PageHeader_vue_vue_type_script_setup_true_lang.default);
7
+ exports.JkyPageHeader = JkyPageHeader;
8
+ exports.default = JkyPageHeader;