@gx-design-vue/pro-layout-components 0.1.0-alpha.6 → 0.1.0-alpha.8
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.
|
@@ -56,14 +56,19 @@ const RightContent = /* @__PURE__ */ defineComponent((props, { emit, slots }) =>
|
|
|
56
56
|
const menuSlots = slots?.dropdownMenu?.();
|
|
57
57
|
const items = props.dropdownProps?.menu?.items || [];
|
|
58
58
|
if (isArray(menuSlots)) menuSlots.forEach((item, index) => {
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
59
|
+
const props = item.props;
|
|
60
|
+
if (Object.hasOwn(props, "antd-menu")) {
|
|
61
|
+
const icon = item.props.icon;
|
|
62
|
+
items.push({
|
|
63
|
+
key: item.props.key || `menu-${index}`,
|
|
64
|
+
label: item.children,
|
|
65
|
+
icon,
|
|
66
|
+
onClick: (...arg) => {
|
|
67
|
+
item.props.onClick?.(...arg);
|
|
68
|
+
handleMenuClick(...arg);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
} else if (Object.hasOwn(props, "antd-menu-divider")) items.push({ type: "divider" });
|
|
67
72
|
});
|
|
68
73
|
items.push({
|
|
69
74
|
key: "logout",
|
|
@@ -73,6 +78,9 @@ const RightContent = /* @__PURE__ */ defineComponent((props, { emit, slots }) =>
|
|
|
73
78
|
});
|
|
74
79
|
return items;
|
|
75
80
|
});
|
|
81
|
+
const handleMenuClick = (...args) => {
|
|
82
|
+
emit("menuClick", ...args);
|
|
83
|
+
};
|
|
76
84
|
function handleUserMenuClick(info) {
|
|
77
85
|
if (info.key === "lock") lockOpen.value = true;
|
|
78
86
|
else if (info.key === "logout") emit("logout");
|
|
@@ -124,7 +132,8 @@ const RightContent = /* @__PURE__ */ defineComponent((props, { emit, slots }) =>
|
|
|
124
132
|
]), createVNode(Dropdown, mergeProps({ "placement": "bottomRight" }, props.dropdownProps, { "menu": { items: userMenuItems.value } }), {
|
|
125
133
|
default: () => [slots.dropdownTrigger ? slots.dropdownTrigger() : createVNode("div", { "class": classNames(`${prefixCls.value}-header-actions-avatar`) }, [createVNode(Avatar, {
|
|
126
134
|
"size": 28,
|
|
127
|
-
"icon": createVNode(GIcon, { "type": "UserOutlined" }, null)
|
|
135
|
+
"icon": createVNode(GIcon, { "type": "UserOutlined" }, null),
|
|
136
|
+
"src": props.avatar
|
|
128
137
|
}, null), props.name && createVNode("span", { "class": classNames(`${prefixCls.value}-header-actions-name`) }, [props.name])])],
|
|
129
138
|
popupRender: slots.popupRender
|
|
130
139
|
})])])]);
|
|
@@ -159,9 +168,25 @@ const RightContent = /* @__PURE__ */ defineComponent((props, { emit, slots }) =>
|
|
|
159
168
|
locale: {
|
|
160
169
|
type: Object,
|
|
161
170
|
required: false
|
|
171
|
+
},
|
|
172
|
+
onLogout: {
|
|
173
|
+
type: Function,
|
|
174
|
+
required: false
|
|
175
|
+
},
|
|
176
|
+
onMenuClick: {
|
|
177
|
+
type: Function,
|
|
178
|
+
required: false
|
|
179
|
+
},
|
|
180
|
+
onActionClick: {
|
|
181
|
+
type: Function,
|
|
182
|
+
required: false
|
|
162
183
|
}
|
|
163
184
|
},
|
|
164
|
-
emits: [
|
|
185
|
+
emits: [
|
|
186
|
+
"logout",
|
|
187
|
+
"menuClick",
|
|
188
|
+
"actionClick"
|
|
189
|
+
],
|
|
165
190
|
name: "RightContent",
|
|
166
191
|
inheritAttrs: false
|
|
167
192
|
});
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { ThemeValue } from "@gx-design-vue/context";
|
|
2
2
|
import { LayoutMenuRoute } from "@gx-design-vue/pro-layout";
|
|
3
3
|
import { CustomRender } from "@gx-design-vue/pro-utils";
|
|
4
|
-
import { DropdownProps, DropdownSlots } from "antdv-next";
|
|
4
|
+
import { DropdownProps, DropdownSlots, MenuEmits } from "antdv-next";
|
|
5
5
|
|
|
6
6
|
//#region src/RightContent/interface.d.ts
|
|
7
7
|
interface RightContentEmits {
|
|
8
8
|
'logout': () => void;
|
|
9
|
+
'menuClick': MenuEmits['click'];
|
|
9
10
|
'actionClick': (type: string) => void;
|
|
10
11
|
}
|
|
11
12
|
interface RightContentEmitsProps {
|
|
@@ -26,7 +27,6 @@ interface RightContentLocale {
|
|
|
26
27
|
searchPlaceholder?: string;
|
|
27
28
|
searchLabel?: string;
|
|
28
29
|
searchShortcutLabel?: string;
|
|
29
|
-
lockScreen?: string;
|
|
30
30
|
logout?: string;
|
|
31
31
|
noResult?: (keyword: string) => string;
|
|
32
32
|
noHistory?: string;
|
|
@@ -62,6 +62,9 @@ interface RightContentProps extends RightContentEmitsProps {
|
|
|
62
62
|
searchConfig?: SearchConfig;
|
|
63
63
|
/** 国际化文本 */
|
|
64
64
|
locale?: RightContentLocale;
|
|
65
|
+
onLogout?: RightContentEmits['logout'];
|
|
66
|
+
onMenuClick?: RightContentEmits['menuClick'];
|
|
67
|
+
onActionClick?: RightContentEmits['actionClick'];
|
|
65
68
|
}
|
|
66
69
|
interface RightContentSlots {
|
|
67
70
|
/** 替换整个 actions 区域 */
|
|
@@ -74,7 +74,6 @@ var ee = {
|
|
|
74
74
|
searchPlaceholder: "搜索导航菜单",
|
|
75
75
|
searchLabel: "搜索",
|
|
76
76
|
searchShortcutLabel: "⌘ K",
|
|
77
|
-
lockScreen: "锁定屏幕",
|
|
78
77
|
logout: "退出登录",
|
|
79
78
|
noResult: (e) => `未找到搜索结果 "${e}"`,
|
|
80
79
|
noHistory: "没有搜索历史",
|
|
@@ -97,17 +96,17 @@ function H(e) {
|
|
|
97
96
|
}
|
|
98
97
|
//#endregion
|
|
99
98
|
//#region ../../node_modules/.pnpm/es-toolkit@1.44.0/node_modules/es-toolkit/dist/compat/_internal/getSymbols.mjs
|
|
100
|
-
function
|
|
99
|
+
function U(e) {
|
|
101
100
|
return Object.getOwnPropertySymbols(e).filter((t) => Object.prototype.propertyIsEnumerable.call(e, t));
|
|
102
101
|
}
|
|
103
102
|
//#endregion
|
|
104
103
|
//#region ../../node_modules/.pnpm/es-toolkit@1.44.0/node_modules/es-toolkit/dist/compat/_internal/getTag.mjs
|
|
105
|
-
function
|
|
104
|
+
function te(e) {
|
|
106
105
|
return e == null ? e === void 0 ? "[object Undefined]" : "[object Null]" : Object.prototype.toString.call(e);
|
|
107
106
|
}
|
|
108
107
|
//#endregion
|
|
109
108
|
//#region ../../node_modules/.pnpm/es-toolkit@1.44.0/node_modules/es-toolkit/dist/compat/_internal/tags.mjs
|
|
110
|
-
var
|
|
109
|
+
var ne = "[object RegExp]", re = "[object String]", ie = "[object Number]", ae = "[object Boolean]", oe = "[object Arguments]", W = "[object Symbol]", G = "[object Date]", K = "[object Map]", q = "[object Set]", se = "[object Array]", ce = "[object ArrayBuffer]", le = "[object Object]", ue = "[object DataView]", de = "[object Uint8Array]", fe = "[object Uint8ClampedArray]", pe = "[object Uint16Array]", me = "[object Uint32Array]", he = "[object Int8Array]", ge = "[object Int16Array]", _e = "[object Int32Array]", ve = "[object Float32Array]", ye = "[object Float64Array]";
|
|
111
110
|
//#endregion
|
|
112
111
|
//#region ../../node_modules/.pnpm/es-toolkit@1.44.0/node_modules/es-toolkit/dist/object/cloneDeepWith.mjs
|
|
113
112
|
function J(e, t, n, r = /* @__PURE__ */ new Map(), i = void 0) {
|
|
@@ -181,19 +180,19 @@ function J(e, t, n, r = /* @__PURE__ */ new Map(), i = void 0) {
|
|
|
181
180
|
return e;
|
|
182
181
|
}
|
|
183
182
|
function Y(e, t, n = e, r, i) {
|
|
184
|
-
let a = [...Object.keys(t), ...
|
|
183
|
+
let a = [...Object.keys(t), ...U(t)];
|
|
185
184
|
for (let o = 0; o < a.length; o++) {
|
|
186
185
|
let s = a[o], c = Object.getOwnPropertyDescriptor(e, s);
|
|
187
186
|
(c == null || c.writable) && (e[s] = J(t[s], s, n, r, i));
|
|
188
187
|
}
|
|
189
188
|
}
|
|
190
189
|
function be(e) {
|
|
191
|
-
switch (
|
|
192
|
-
case
|
|
190
|
+
switch (te(e)) {
|
|
191
|
+
case oe:
|
|
193
192
|
case se:
|
|
194
193
|
case ce:
|
|
195
194
|
case ue:
|
|
196
|
-
case
|
|
195
|
+
case ae:
|
|
197
196
|
case G:
|
|
198
197
|
case ve:
|
|
199
198
|
case ye:
|
|
@@ -201,11 +200,11 @@ function be(e) {
|
|
|
201
200
|
case ge:
|
|
202
201
|
case _e:
|
|
203
202
|
case K:
|
|
204
|
-
case
|
|
203
|
+
case ie:
|
|
205
204
|
case le:
|
|
206
|
-
case
|
|
205
|
+
case ne:
|
|
207
206
|
case q:
|
|
208
|
-
case
|
|
207
|
+
case re:
|
|
209
208
|
case W:
|
|
210
209
|
case de:
|
|
211
210
|
case fe:
|
|
@@ -672,23 +671,31 @@ var Pe = [
|
|
|
672
671
|
let z = t(() => {
|
|
673
672
|
let e = a?.dropdownMenu?.(), t = n.dropdownProps?.menu?.items || [];
|
|
674
673
|
return P(e) && e.forEach((e, n) => {
|
|
675
|
-
let r = e.props
|
|
676
|
-
r
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
674
|
+
let r = e.props;
|
|
675
|
+
if (Object.hasOwn(r, "antd-menu")) {
|
|
676
|
+
let r = e.props.icon;
|
|
677
|
+
t.push({
|
|
678
|
+
key: e.props.key || `menu-${n}`,
|
|
679
|
+
label: e.children,
|
|
680
|
+
icon: r,
|
|
681
|
+
onClick: (...t) => {
|
|
682
|
+
e.props.onClick?.(...t), V(...t);
|
|
683
|
+
}
|
|
684
|
+
});
|
|
685
|
+
} else Object.hasOwn(r, "antd-menu-divider") && t.push({ type: "divider" });
|
|
681
686
|
}), t.push({
|
|
682
687
|
key: "logout",
|
|
683
688
|
icon: () => r(p, { type: "LogoutOutlined" }, null),
|
|
684
689
|
label: F.value.logout,
|
|
685
|
-
onClick:
|
|
690
|
+
onClick: H
|
|
686
691
|
}), t;
|
|
687
|
-
})
|
|
688
|
-
|
|
692
|
+
}), V = (...e) => {
|
|
693
|
+
i("menuClick", ...e);
|
|
694
|
+
};
|
|
695
|
+
function H(e) {
|
|
689
696
|
e.key === "lock" ? N.value = !0 : e.key === "logout" && i("logout");
|
|
690
697
|
}
|
|
691
|
-
function
|
|
698
|
+
function U(e) {
|
|
692
699
|
i("actionClick", e);
|
|
693
700
|
}
|
|
694
701
|
return () => {
|
|
@@ -725,7 +732,7 @@ var Pe = [
|
|
|
725
732
|
}, null)] })]),
|
|
726
733
|
I.value.themeEditor && !O.value && r("div", { class: B(t) }, [r(p, {
|
|
727
734
|
type: "SettingOutlined",
|
|
728
|
-
onClick: () =>
|
|
735
|
+
onClick: () => U("themeEditor")
|
|
729
736
|
}, null)]),
|
|
730
737
|
I.value.fullScreen && !O.value && r("div", { class: B(t) }, [r(p, {
|
|
731
738
|
type: s.value ? "CompressOutlined" : "ExpandOutlined",
|
|
@@ -735,7 +742,8 @@ var Pe = [
|
|
|
735
742
|
]), r(C, o({ placement: "bottomRight" }, n.dropdownProps, { menu: { items: z.value } }), {
|
|
736
743
|
default: () => [a.dropdownTrigger ? a.dropdownTrigger() : r("div", { class: B(`${b.value}-header-actions-avatar`) }, [r(S, {
|
|
737
744
|
size: 28,
|
|
738
|
-
icon: r(p, { type: "UserOutlined" }, null)
|
|
745
|
+
icon: r(p, { type: "UserOutlined" }, null),
|
|
746
|
+
src: n.avatar
|
|
739
747
|
}, null), n.name && r("span", { class: B(`${b.value}-header-actions-name`) }, [n.name])])],
|
|
740
748
|
popupRender: a.popupRender
|
|
741
749
|
})])])]);
|
|
@@ -770,9 +778,25 @@ var Pe = [
|
|
|
770
778
|
locale: {
|
|
771
779
|
type: Object,
|
|
772
780
|
required: !1
|
|
781
|
+
},
|
|
782
|
+
onLogout: {
|
|
783
|
+
type: Function,
|
|
784
|
+
required: !1
|
|
785
|
+
},
|
|
786
|
+
onMenuClick: {
|
|
787
|
+
type: Function,
|
|
788
|
+
required: !1
|
|
789
|
+
},
|
|
790
|
+
onActionClick: {
|
|
791
|
+
type: Function,
|
|
792
|
+
required: !1
|
|
773
793
|
}
|
|
774
794
|
},
|
|
775
|
-
emits: [
|
|
795
|
+
emits: [
|
|
796
|
+
"logout",
|
|
797
|
+
"menuClick",
|
|
798
|
+
"actionClick"
|
|
799
|
+
],
|
|
776
800
|
name: "RightContent",
|
|
777
801
|
inheritAttrs: !1
|
|
778
802
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("vue"),require("@gx-design-vue/context"),require("@gx-design-vue/icon"),require("@gx-design-vue/pro-layout"),require("@vueuse/core"),require("antdv-next"),require("antdv-next/config-provider/context"),require("antdv-next/config-provider/hooks/useCSSVarCls"),require("@gx-design-vue/pro-modal"),require("@gx-design-vue/pro-provider"),require("vue-router")):typeof define==`function`&&define.amd?define([`exports`,`vue`,`@gx-design-vue/context`,`@gx-design-vue/icon`,`@gx-design-vue/pro-layout`,`@vueuse/core`,`antdv-next`,`antdv-next/config-provider/context`,`antdv-next/config-provider/hooks/useCSSVarCls`,`@gx-design-vue/pro-modal`,`@gx-design-vue/pro-provider`,`vue-router`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.ProLayoutComponents={},e.Vue,e._gx_design_vue_context,e._gx_design_vue_icon,e._gx_design_vue_pro_layout,e._vueuse_core,e.antdv_next,e.antdv_next_config_provider_context,e.antdv_next_config_provider_hooks_useCSSVarCls,e._gx_design_vue_pro_modal,e._gx_design_vue_pro_provider,e.vue_router))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var f=Object.create,p=Object.defineProperty,m=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyNames,g=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty,v=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=h(t),a=0,o=i.length,s;a<o;a++)s=i[a],!_.call(e,s)&&s!==n&&p(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=m(t,s))||r.enumerable});return e};c=((e,t,n)=>(n=e==null?{}:f(g(e)),v(t||!e||!e.__esModule?p(n,`default`,{value:e,enumerable:!0}):n,e)))(c,1);function y(){return typeof navigator>`u`?!1:/windows|win32/i.test(navigator.userAgent)}function b(e,t){return Object.prototype.toString.call(e)===`[object ${t}]`}function x(e){return Array.isArray===void 0?Object.prototype.toString.call(e)===`[object Array]`:Array.isArray(e)}function S(e){return e!==null&&b(e,`Object`)}function C(e){return typeof e==`string`}function w(e){if(!e||!e.startsWith(`http`))return!1;try{return!!new URL(e)}catch{return!1}}function T(e,t=`children`){let n=[];return e.forEach(e=>{n.push(e),x(e[t])&&e[t].length>0&&(n=n.concat(T(e[t],t)))}),n}function E({suffixCls:e,customizePrefixCls:t,isPro:n,className:r}){let i=r||(n?`gx-pro`:`gx`);return t||(e?`${i}-${e}`:i)}function D(...e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r){if(C(r))t.push(r);else if(x(r))for(let e=0;e<r.length;e++){let n=D(r[e]);n&&t.push(n)}else if(S(r))for(let e in r)r[e]&&t.push(e)}}return t.filter(e=>e).join(` `)}var ee={searchPlaceholder:`搜索导航菜单`,searchLabel:`搜索`,searchShortcutLabel:`⌘ K`,lockScreen:`锁定屏幕`,logout:`退出登录`,noResult:e=>`未找到搜索结果 "${e}"`,noHistory:`没有搜索历史`,searchHistory:`搜索历史`,selectLabel:`选择`,navigateLabel:`导航`,lightTheme:`亮色`,darkTheme:`深色`,autoTheme:`自动`};function O(e){return e==null||typeof e!=`object`&&typeof e!=`function`}function k(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function A(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function j(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var M=`[object RegExp]`,N=`[object String]`,P=`[object Number]`,F=`[object Boolean]`,te=`[object Arguments]`,ne=`[object Symbol]`,re=`[object Date]`,ie=`[object Map]`,ae=`[object Set]`,oe=`[object Array]`,I=`[object ArrayBuffer]`,L=`[object Object]`,R=`[object DataView]`,z=`[object Uint8Array]`,B=`[object Uint8ClampedArray]`,V=`[object Uint16Array]`,H=`[object Uint32Array]`,U=`[object Int8Array]`,W=`[object Int16Array]`,G=`[object Int32Array]`,K=`[object Float32Array]`,q=`[object Float64Array]`;function J(e,t,n,r=new Map,i=void 0){let a=i?.(e,t,n,r);if(a!==void 0)return a;if(O(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){let t=Array(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=J(e[a],a,n,r,i);return Object.hasOwn(e,`index`)&&(t.index=e.index),Object.hasOwn(e,`input`)&&(t.input=e.input),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){let t=new Map;r.set(e,t);for(let[a,o]of e)t.set(a,J(o,a,n,r,i));return t}if(e instanceof Set){let t=new Set;r.set(e,t);for(let a of e)t.add(J(a,void 0,n,r,i));return t}if(typeof Buffer<`u`&&Buffer.isBuffer(e))return e.subarray();if(k(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=J(e[a],a,n,r,i);return t}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return r.set(e,t),Y(t,e,n,r,i),t}if(typeof File<`u`&&e instanceof File){let t=new File([e],e.name,{type:e.type});return r.set(e,t),Y(t,e,n,r,i),t}if(typeof Blob<`u`&&e instanceof Blob){let t=new Blob([e],{type:e.type});return r.set(e,t),Y(t,e,n,r,i),t}if(e instanceof Error){let t=new e.constructor;return r.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,Y(t,e,n,r,i),t}if(e instanceof Boolean){let t=new Boolean(e.valueOf());return r.set(e,t),Y(t,e,n,r,i),t}if(e instanceof Number){let t=new Number(e.valueOf());return r.set(e,t),Y(t,e,n,r,i),t}if(e instanceof String){let t=new String(e.valueOf());return r.set(e,t),Y(t,e,n,r,i),t}if(typeof e==`object`&&se(e)){let t=Object.create(Object.getPrototypeOf(e));return r.set(e,t),Y(t,e,n,r,i),t}return e}function Y(e,t,n=e,r,i){let a=[...Object.keys(t),...A(t)];for(let o=0;o<a.length;o++){let s=a[o],c=Object.getOwnPropertyDescriptor(e,s);(c==null||c.writable)&&(e[s]=J(t[s],s,n,r,i))}}function se(e){switch(j(e)){case te:case oe:case I:case R:case F:case re:case K:case q:case U:case W:case G:case ie:case P:case L:case M:case ae:case N:case ne:case z:case B:case V:case H:return!0;default:return!1}}function X(e){return J(e,void 0,e,new Map,void 0)}function ce(e,t){let n=new Map;return e.filter(e=>{let r=e[t];return n.has(r)?!1:(n.set(r,e),!0)})}var le=`ABCDEFGHJKLMNOPQRSTWXYZ`,ue=`阿八嚓哒鹅发旮哈讥咔垃妈拿噢啪七日撒他挖昔压匝`;function de(e){let t=e.codePointAt(0);if(t>=65&&t<=90)return e;if(t>=97&&t<=122)return e.toUpperCase();if(t<19968||t>40959)return``;for(let t=22;t>=0;t--)if(e.localeCompare(ue[t],`zh-CN`)>=0)return le[t];return``}function fe(e){let t=``;for(let n of e)t+=de(n);return t}function pe(e,t){if(!t)return!1;let n=t.trim().toLowerCase();return!!(e.toLowerCase().includes(n)||fe(e).toLowerCase().includes(n))}function me(e,t){let n=t.trim();if(!n)return[];let r=[];for(let t of e)t.meta?.hideInMenu||pe(t.meta?.title||(typeof t.name==`string`?t.name:``)||``,n)&&r.push(t);return r}var he=({className:e,value:n,locale:r})=>n?(0,t.createVNode)(o.Empty,{image:o.Empty.PRESENTED_IMAGE_SIMPLE,description:r.noResult?.(n)},null):(0,t.createVNode)(`div`,{class:e},[r.noHistory]),Z=(0,t.defineComponent)(e=>{let n=(0,d.useRouter)(),{renderEmpty:i}=(0,u.useProConfigContext)(),o=(0,a.useLocalStorage)(e.historyKey||E({suffixCls:`search-history`,isPro:!0}),[]),s=(0,t.ref)(0),c=(0,t.ref)(X((0,t.unref)(o))),l=(0,a.useThrottleFn)(t=>{let n=t.trim();if(!n){c.value=[];return}c.value=me(e.dataSource??[],n),s.value=0},200);(0,t.watch)(()=>e.keyword,e=>{e?l(e):c.value=X((0,t.unref)(o))});function f(){document.querySelector(`[data-search-item="${s.value}"]`)?.scrollIntoView({block:`nearest`})}async function p(){if(c.value.length===0)return;let r=s.value;if(r<0)return;let i=c.value[r];if(!i)return;let a=C(i.redirect)?i.redirect:i.path||``,l=i.meta?.link||``,u=w(l);o.value.every(e=>e.name!==i.name)&&o.value.push(X(i)),e.onClose?.(!0),await(0,t.nextTick)(),u&&l&&i.meta?.linkStatus===1?window.open(l,`_blank`):n.push({path:a})}function m(){c.value.length!==0&&(e.onBlur?.(),s.value--,s.value<0&&(s.value=c.value.length-1),f())}function h(){c.value.length!==0&&(e.onBlur?.(),s.value++,s.value>c.value.length-1&&(s.value=0),f())}(0,t.onMounted)(()=>{(0,a.onKeyStroke)(`Enter`,p),(0,a.onKeyStroke)(`ArrowUp`,m),(0,a.onKeyStroke)(`ArrowDown`,h)});function g(e){s.value=e}function _(e,t){e.stopPropagation(),c.value=c.value.filter(e=>e.name!==t.name),o.value=o.value.filter(e=>e.name!==t.name),s.value=s.value-1>=0?s.value-1:0,f()}let v=t=>D(`${e.className}${t?`-${t}`:``}`,e.hashId);return()=>(0,t.createVNode)(t.Fragment,null,[c.value.length>0?(0,t.createVNode)(t.Fragment,null,[o.value.length>0&&!e.keyword&&(0,t.createVNode)(`div`,{class:v(`panel-title`)},[e.locale.searchHistory]),(0,t.createVNode)(`div`,{class:v(`panel-list`)},[ce(c.value,`name`).map((n,i)=>(0,t.createVNode)(`div`,{key:n.name,class:v(D(`panel-item`,i===s.value&&`active`)),"data-search-item":i,onClick:()=>p(),onMouseenter:()=>g(i)},[(0,t.createVNode)(`div`,{class:v(`panel-item-left`)},[n.meta?.title]),o.value.length>0&&!e.keyword&&(0,t.createVNode)(r.GIcon,{type:`CloseOutlined`,onClick:e=>_(e,n)},null)]))])]):i.value?.()||(0,t.createVNode)(he,{className:v(`result`),value:e.keyword,locale:e.locale},null)])},{props:{className:{type:String,required:!1},hashId:{type:String,required:!1},keyword:{type:String,required:!1},dataSource:{type:Array,required:!1},historyKey:{type:String,required:!1},emptyProps:{type:Object,required:!1},locale:{type:Object,required:!0},onBlur:{type:Function,required:!1},onClose:{type:Function,required:!1}},name:`GSearchPanel`,inheritAttrs:!1}),ge=(0,u.proGenStyleHooks)(`ProRightSearch`,e=>{let t=e.menuItemIconSize||e.fontSize,n=e.calc(e.borderRadiusLG).mul(2).equal(),r=e.calc(e.paddingXXS).div(2).equal();return{[e.componentCls]:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:36,gap:12,cursor:`pointer`,fontSize:e.fontSizeSM,color:e.colorTextTertiary,paddingBlock:r,paddingInline:e.paddingXS,borderRadius:n,backgroundColor:e.headerColorBgRightActionsItemHover,transition:`all ${e.motionDurationMid} ${e.motionEaseInOut}`,lineHeight:1,">.anticon":{fontSize:e.fontSize,color:e.colorTextTertiary},"&-word":{lineHeight:1},"&-word-icon":{lineHeight:1,padding:`4px 6px`,borderTopLeftRadius:e.borderRadiusSM,borderBottomLeftRadius:e.borderRadiusSM,borderTopRightRadius:n,borderBottomRightRadius:n,backgroundColor:e.colorBgContainer},"&:hover":{color:e.colorTextSecondary},"&-modal":{"&-footer":{display:`flex`,alignItems:`center`,gap:e.marginXS,fontSize:12,color:e.colorTextSecondary},"&-footer-icon":{display:`flex`,alignItems:`center`,gap:4}},"&-panel":{"&-title":{color:e.colorTextQuaternary,lineHeight:e.lineHeight,marginBlockEnd:e.marginXS},"&-list":{display:`flex`,flexDirection:`column`,gap:12},"&-item":{display:`flex`,alignItems:`center`,justifyContent:`space-between`,cursor:`pointer`,fontSize:e.fontSize,lineHeight:e.lineHeight,padding:e.paddingXS,borderRadius:e.borderRadiusLG,backgroundColor:e.colorBgContainer,transition:`all ${e.motionDurationFast} ${e.motionEaseInOut}`,"&-left":{display:`flex`,alignItems:`center`,gap:e.sizeStep,">.anticon":{fontSize:`${t}px`}},"&.active":{backgroundColor:e.colorPrimary,color:e.colorTextLightSolid}}},"&-result":{display:`flex`,alignItems:`center`,justifyContent:`center`,paddingBlockStart:60,color:e.colorTextQuaternary}}}}),_e=({className:e,hashId:n,locale:i})=>(0,t.createVNode)(`div`,{class:D(`${e}-footer`,n)},[(0,t.createVNode)(`div`,{class:D(`${e}-footer-icon`,n)},[(0,t.createVNode)(r.GIcon,{type:`EnterOutlined`},null),i.selectLabel]),(0,t.createVNode)(`div`,{class:D(`${e}-footer-icon`,n)},[(0,t.createVNode)(r.GIcon,{type:`ArrowUpOutlined`},null),(0,t.createVNode)(r.GIcon,{type:`ArrowUpOutlined`,rotate:180},null),i.navigateLabel])]),ve=(0,t.defineComponent)(e=>{let n=(0,i.useInjectLayoutContext)(),{prefixCls:u}=(0,s.useBaseConfig)(`pro-right-search`),d=(0,c.default)(u),[f,p]=ge(u,d),m=(0,t.ref)(``),h=(0,t.ref)(!1),g=(0,a.useMagicKeys)(),_=y()?g[`ctrl+k`]:g[`cmd+k`],v=(0,t.ref)(),b=(0,t.computed)(()=>e.dataSource?.length?T(e.dataSource):n?.menuState?.flatMenus?n.menuState.flatMenus.value:[]);(0,a.whenever)(_,()=>{e.disabledShortKey||(h.value=!0)}),(0,a.whenever)(()=>h.value,()=>{(0,t.nextTick)(()=>{v.value?.focus?.()})});function x(e){h.value=!1,e&&(m.value=``)}return()=>{let n={className:u.value,hashId:f.value},i=`${u.value}-modal`;return(0,t.createVNode)(t.Fragment,null,[(0,t.createVNode)(`div`,{class:D(u.value,f.value,p.value,d.value),onClick:()=>{h.value=!0}},[(0,t.createVNode)(r.GIcon,{type:`SearchOutlined`},null),(0,t.createVNode)(`span`,{class:D(`${u.value}-word`,f.value)},[e.locale.searchLabel]),(0,t.createVNode)(`span`,{class:D(`${u.value}-word-icon`,f.value)},[(0,t.createTextVNode)(`⌘`),` `,(0,t.createVNode)(`kbd`,null,[(0,t.createTextVNode)(`K`)])])]),(0,t.createVNode)(l.GProModal,{wrapClassName:D(i,f.value),width:600,scrollProps:{maxHeight:400,minHeight:200},centered:!1,destroyOnHidden:!1,title:(0,t.createVNode)(o.Input,{style:{width:`${600*.8}px`,padding:0},ref:v,bordered:!1,size:`large`,placeholder:e.locale.searchPlaceholder,value:m.value,prefix:(0,t.createVNode)(r.GIcon,{type:`SearchOutlined`},null),"onUpdate:value":e=>{m.value=e}},null),open:h.value,footer:(0,t.createVNode)(_e,{className:i,hashId:f.value,locale:e.locale},null),onCancel:()=>x()},{default:()=>[(0,t.createVNode)(Z,(0,t.mergeProps)(n,{emptyProps:e.emptyProps,keyword:m.value,dataSource:b.value,historyKey:e.searchHistoryKey,locale:e.locale,onClose:x}),null)]})])}},{props:{dataSource:{type:Array,required:!1},disabledShortKey:{type:Boolean,required:!1,default:void 0},locale:{type:Object,required:!0},searchHistoryKey:{type:String,required:!1},emptyProps:{type:Object,required:!1}},name:`GSearchInput`,inheritAttrs:!1});function ye(e,t){return`color-mix(in srgb, ${e} ${t*100}%, transparent)`}var be=(0,u.proGenStyleHooks)(`ProRightContent`,e=>({[e.componentCls]:{height:`100%`,"&-header-actions":{display:`flex`,alignItems:`center`,justifyContent:`flex-end`,height:`100%`,gap:e.paddingXS,"&-item":{display:`inline-flex`,alignItems:`center`,justifyContent:`center`,paddingBlock:0,paddingInline:2,color:e.headerColorTextRightActionsItem,fontSize:14,cursor:`pointer`,borderRadius:e.borderRadius,".anticon":{color:e.headerColorTextRightActionsItem,transition:`color ${e.motionDurationMid}, background-color ${e.motionDurationMid}`,"&:hover":{color:e.headerColorTextRightActionsItemHover}},[`&${e.componentCls}-header-actions-theme`]:{[`${e.componentCls}-header-actions-icon`]:{paddingInline:4,paddingBlock:4,fontSize:18}},"> *":{paddingInline:6,paddingBlock:6,borderRadius:e.borderRadius,transition:`color ${e.motionDurationMid}, background-color ${e.motionDurationMid}`,"&:hover":{color:e.headerColorTextRightActionsItemHover,backgroundColor:e.headerColorBgRightActionsItemHover}}},[`&>${e.antCls}-dropdown-trigger`]:{color:e.colorTextTertiary,paddingInline:8,paddingBlock:8,cursor:`pointer`,display:`flex`,alignItems:`center`,height:44,lineHeight:`44px`,borderRadius:e.borderRadius,"&:hover":{backgroundColor:ye(e.colorTextBase,.03)}},"&-avatar":{display:`inline-flex`,alignItems:`center`,justifyContent:`center`,gap:e.paddingXS,paddingInlineStart:e.padding,paddingInlineEnd:e.padding,cursor:`pointer`,color:e.headerColorTextRightActionsItem},"&-name":{color:e.headerColorTextRightActionsItem}}}})),Q={fontSize:`15px`};function $(e,n){return()=>(0,t.createVNode)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`6px`}},[typeof e==`function`?e():e,n])}var xe=[{value:`light`,label:$((0,t.h)(r.GIcon,{type:`Moon`,style:Q}),`亮色`)},{value:`dark`,label:$((0,t.h)(r.GIcon,{type:`Sun`,style:Q}),`深色`)},{value:`system`,label:$((0,t.h)(r.GIcon,{type:`DesktopOutlined`,style:Q}),`自动`)}];e.RightContent=(0,t.defineComponent)((e,{emit:l,slots:u})=>{let{isFullscreen:d,toggle:f}=(0,a.useFullscreen)(),p=(0,i.useInjectLayoutContext)(),{setTheme:m,isDark:h,theme:g}=(0,n.useThemeContext)(),{prefixCls:_}=(0,s.useBaseConfig)(`pro-right-content`),v=(0,c.default)(_),[y,b]=be(_,v),S=(0,t.computed)(()=>p?.isMobile.value??!1),C=(0,t.ref)(),{width:w}=(0,a.useElementSize)(C),T=(0,t.ref)(`auto`),E=(0,t.ref)();(0,t.watch)(w,e=>{T.value=e>0?e:`auto`});let O=(0,t.ref)(!1),k=(0,t.computed)(()=>({...ee,...e.locale})),A=(0,t.computed)(()=>e.actions===!1?{}:{theme:!0,search:!0,themeEditor:!1,fullScreen:!0,...e.actions}),j=(0,t.computed)(()=>(e.themeOptions||xe).map(e=>({key:e.value,label:e.label()})));function M(e){let t=e.key;m(t)}let N=(0,t.computed)(()=>{let n=u?.dropdownMenu?.(),i=e.dropdownProps?.menu?.items||[];return x(n)&&n.forEach((e,t)=>{let n=e.props.key,r=e.props.icon;n===`menu-item`?i.push({key:`menu-${t}`,label:e.children,icon:r}):n===`menu-divider`&&i.push({type:`divider`})}),i.push({key:`logout`,icon:()=>(0,t.createVNode)(r.GIcon,{type:`LogoutOutlined`},null),label:k.value.logout,onClick:P}),i});function P(e){e.key===`lock`?O.value=!0:e.key===`logout`&&l(`logout`)}function F(e){l(`actionClick`,e)}return()=>{let n=[`${_.value}-header-actions-item`,y.value];return(0,t.createVNode)(`div`,{ref:C,class:D(_.value,y.value,b.value,v.value),style:{minWidth:T.value,height:`100%`}},[(0,t.createVNode)(`div`,{style:{height:`100%`}},[(0,t.createVNode)(`div`,{class:D(`${_.value}-header-actions`)},[u.default?u.default():(0,t.createVNode)(t.Fragment,null,[A.value.search&&!S.value&&(0,t.createVNode)(ve,{dataSource:e.searchConfig?.dataSource,disabledShortKey:e.searchConfig?.disabledShortKey,searchHistoryKey:e.searchConfig?.historyKey,emptyProps:e.searchConfig?.emptyProps,locale:k.value},null),A.value.theme&&(0,t.createVNode)(`div`,{ref:E,class:D(`${_.value}-header-actions-item`,`${_.value}-header-actions-theme`,y.value)},[(0,t.createVNode)(o.Dropdown,{trigger:[`click`],placement:`bottomRight`,menu:{items:j.value,onClick:M,selectedKeys:[g.value]}},{default:()=>[(0,t.createVNode)(r.GIcon,{class:D(`${_.value}-header-actions-icon`),type:h.value?`Moon`:`Sun`},null)]})]),A.value.themeEditor&&!S.value&&(0,t.createVNode)(`div`,{class:D(n)},[(0,t.createVNode)(r.GIcon,{type:`SettingOutlined`,onClick:()=>F(`themeEditor`)},null)]),A.value.fullScreen&&!S.value&&(0,t.createVNode)(`div`,{class:D(n)},[(0,t.createVNode)(r.GIcon,{type:d.value?`CompressOutlined`:`ExpandOutlined`,onClick:()=>f()},null)]),u.actionsRender?.(n)]),(0,t.createVNode)(o.Dropdown,(0,t.mergeProps)({placement:`bottomRight`},e.dropdownProps,{menu:{items:N.value}}),{default:()=>[u.dropdownTrigger?u.dropdownTrigger():(0,t.createVNode)(`div`,{class:D(`${_.value}-header-actions-avatar`)},[(0,t.createVNode)(o.Avatar,{size:28,icon:(0,t.createVNode)(r.GIcon,{type:`UserOutlined`},null)},null),e.name&&(0,t.createVNode)(`span`,{class:D(`${_.value}-header-actions-name`)},[e.name])])],popupRender:u.popupRender})])])])}},{props:{actions:{type:[Object,Boolean],required:!1,default:void 0},name:{type:String,required:!1},avatar:{type:String,required:!1},dropdownProps:{type:Object,required:!1},themeOptions:{type:Array,required:!1},searchConfig:{type:Object,required:!1},locale:{type:Object,required:!1}},emits:[`logout`,`actionClick`],name:`RightContent`,inheritAttrs:!1})});
|
|
1
|
+
(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("vue"),require("@gx-design-vue/context"),require("@gx-design-vue/icon"),require("@gx-design-vue/pro-layout"),require("@vueuse/core"),require("antdv-next"),require("antdv-next/config-provider/context"),require("antdv-next/config-provider/hooks/useCSSVarCls"),require("@gx-design-vue/pro-modal"),require("@gx-design-vue/pro-provider"),require("vue-router")):typeof define==`function`&&define.amd?define([`exports`,`vue`,`@gx-design-vue/context`,`@gx-design-vue/icon`,`@gx-design-vue/pro-layout`,`@vueuse/core`,`antdv-next`,`antdv-next/config-provider/context`,`antdv-next/config-provider/hooks/useCSSVarCls`,`@gx-design-vue/pro-modal`,`@gx-design-vue/pro-provider`,`vue-router`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.ProLayoutComponents={},e.Vue,e._gx_design_vue_context,e._gx_design_vue_icon,e._gx_design_vue_pro_layout,e._vueuse_core,e.antdv_next,e.antdv_next_config_provider_context,e.antdv_next_config_provider_hooks_useCSSVarCls,e._gx_design_vue_pro_modal,e._gx_design_vue_pro_provider,e.vue_router))})(this,function(e,t,n,r,i,a,o,s,c,l,u,d){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var f=Object.create,p=Object.defineProperty,m=Object.getOwnPropertyDescriptor,h=Object.getOwnPropertyNames,g=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty,v=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=h(t),a=0,o=i.length,s;a<o;a++)s=i[a],!_.call(e,s)&&s!==n&&p(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=m(t,s))||r.enumerable});return e};c=((e,t,n)=>(n=e==null?{}:f(g(e)),v(t||!e||!e.__esModule?p(n,`default`,{value:e,enumerable:!0}):n,e)))(c,1);function y(){return typeof navigator>`u`?!1:/windows|win32/i.test(navigator.userAgent)}function b(e,t){return Object.prototype.toString.call(e)===`[object ${t}]`}function x(e){return Array.isArray===void 0?Object.prototype.toString.call(e)===`[object Array]`:Array.isArray(e)}function S(e){return e!==null&&b(e,`Object`)}function C(e){return typeof e==`string`}function w(e){if(!e||!e.startsWith(`http`))return!1;try{return!!new URL(e)}catch{return!1}}function T(e,t=`children`){let n=[];return e.forEach(e=>{n.push(e),x(e[t])&&e[t].length>0&&(n=n.concat(T(e[t],t)))}),n}function E({suffixCls:e,customizePrefixCls:t,isPro:n,className:r}){let i=r||(n?`gx-pro`:`gx`);return t||(e?`${i}-${e}`:i)}function D(...e){let t=[];for(let n=0;n<e.length;n++){let r=e[n];if(r){if(C(r))t.push(r);else if(x(r))for(let e=0;e<r.length;e++){let n=D(r[e]);n&&t.push(n)}else if(S(r))for(let e in r)r[e]&&t.push(e)}}return t.filter(e=>e).join(` `)}var ee={searchPlaceholder:`搜索导航菜单`,searchLabel:`搜索`,searchShortcutLabel:`⌘ K`,logout:`退出登录`,noResult:e=>`未找到搜索结果 "${e}"`,noHistory:`没有搜索历史`,searchHistory:`搜索历史`,selectLabel:`选择`,navigateLabel:`导航`,lightTheme:`亮色`,darkTheme:`深色`,autoTheme:`自动`};function O(e){return e==null||typeof e!=`object`&&typeof e!=`function`}function k(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function A(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}function j(e){return e==null?e===void 0?`[object Undefined]`:`[object Null]`:Object.prototype.toString.call(e)}var M=`[object RegExp]`,N=`[object String]`,P=`[object Number]`,F=`[object Boolean]`,I=`[object Arguments]`,te=`[object Symbol]`,ne=`[object Date]`,re=`[object Map]`,ie=`[object Set]`,ae=`[object Array]`,oe=`[object ArrayBuffer]`,L=`[object Object]`,R=`[object DataView]`,z=`[object Uint8Array]`,B=`[object Uint8ClampedArray]`,V=`[object Uint16Array]`,H=`[object Uint32Array]`,U=`[object Int8Array]`,W=`[object Int16Array]`,G=`[object Int32Array]`,K=`[object Float32Array]`,q=`[object Float64Array]`;function J(e,t,n,r=new Map,i=void 0){let a=i?.(e,t,n,r);if(a!==void 0)return a;if(O(e))return e;if(r.has(e))return r.get(e);if(Array.isArray(e)){let t=Array(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=J(e[a],a,n,r,i);return Object.hasOwn(e,`index`)&&(t.index=e.index),Object.hasOwn(e,`input`)&&(t.input=e.input),t}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let t=new RegExp(e.source,e.flags);return t.lastIndex=e.lastIndex,t}if(e instanceof Map){let t=new Map;r.set(e,t);for(let[a,o]of e)t.set(a,J(o,a,n,r,i));return t}if(e instanceof Set){let t=new Set;r.set(e,t);for(let a of e)t.add(J(a,void 0,n,r,i));return t}if(typeof Buffer<`u`&&Buffer.isBuffer(e))return e.subarray();if(k(e)){let t=new(Object.getPrototypeOf(e)).constructor(e.length);r.set(e,t);for(let a=0;a<e.length;a++)t[a]=J(e[a],a,n,r,i);return t}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let t=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return r.set(e,t),Y(t,e,n,r,i),t}if(typeof File<`u`&&e instanceof File){let t=new File([e],e.name,{type:e.type});return r.set(e,t),Y(t,e,n,r,i),t}if(typeof Blob<`u`&&e instanceof Blob){let t=new Blob([e],{type:e.type});return r.set(e,t),Y(t,e,n,r,i),t}if(e instanceof Error){let t=new e.constructor;return r.set(e,t),t.message=e.message,t.name=e.name,t.stack=e.stack,t.cause=e.cause,Y(t,e,n,r,i),t}if(e instanceof Boolean){let t=new Boolean(e.valueOf());return r.set(e,t),Y(t,e,n,r,i),t}if(e instanceof Number){let t=new Number(e.valueOf());return r.set(e,t),Y(t,e,n,r,i),t}if(e instanceof String){let t=new String(e.valueOf());return r.set(e,t),Y(t,e,n,r,i),t}if(typeof e==`object`&&se(e)){let t=Object.create(Object.getPrototypeOf(e));return r.set(e,t),Y(t,e,n,r,i),t}return e}function Y(e,t,n=e,r,i){let a=[...Object.keys(t),...A(t)];for(let o=0;o<a.length;o++){let s=a[o],c=Object.getOwnPropertyDescriptor(e,s);(c==null||c.writable)&&(e[s]=J(t[s],s,n,r,i))}}function se(e){switch(j(e)){case I:case ae:case oe:case R:case F:case ne:case K:case q:case U:case W:case G:case re:case P:case L:case M:case ie:case N:case te:case z:case B:case V:case H:return!0;default:return!1}}function X(e){return J(e,void 0,e,new Map,void 0)}function ce(e,t){let n=new Map;return e.filter(e=>{let r=e[t];return n.has(r)?!1:(n.set(r,e),!0)})}var le=`ABCDEFGHJKLMNOPQRSTWXYZ`,ue=`阿八嚓哒鹅发旮哈讥咔垃妈拿噢啪七日撒他挖昔压匝`;function de(e){let t=e.codePointAt(0);if(t>=65&&t<=90)return e;if(t>=97&&t<=122)return e.toUpperCase();if(t<19968||t>40959)return``;for(let t=22;t>=0;t--)if(e.localeCompare(ue[t],`zh-CN`)>=0)return le[t];return``}function fe(e){let t=``;for(let n of e)t+=de(n);return t}function pe(e,t){if(!t)return!1;let n=t.trim().toLowerCase();return!!(e.toLowerCase().includes(n)||fe(e).toLowerCase().includes(n))}function me(e,t){let n=t.trim();if(!n)return[];let r=[];for(let t of e)t.meta?.hideInMenu||pe(t.meta?.title||(typeof t.name==`string`?t.name:``)||``,n)&&r.push(t);return r}var he=({className:e,value:n,locale:r})=>n?(0,t.createVNode)(o.Empty,{image:o.Empty.PRESENTED_IMAGE_SIMPLE,description:r.noResult?.(n)},null):(0,t.createVNode)(`div`,{class:e},[r.noHistory]),Z=(0,t.defineComponent)(e=>{let n=(0,d.useRouter)(),{renderEmpty:i}=(0,u.useProConfigContext)(),o=(0,a.useLocalStorage)(e.historyKey||E({suffixCls:`search-history`,isPro:!0}),[]),s=(0,t.ref)(0),c=(0,t.ref)(X((0,t.unref)(o))),l=(0,a.useThrottleFn)(t=>{let n=t.trim();if(!n){c.value=[];return}c.value=me(e.dataSource??[],n),s.value=0},200);(0,t.watch)(()=>e.keyword,e=>{e?l(e):c.value=X((0,t.unref)(o))});function f(){document.querySelector(`[data-search-item="${s.value}"]`)?.scrollIntoView({block:`nearest`})}async function p(){if(c.value.length===0)return;let r=s.value;if(r<0)return;let i=c.value[r];if(!i)return;let a=C(i.redirect)?i.redirect:i.path||``,l=i.meta?.link||``,u=w(l);o.value.every(e=>e.name!==i.name)&&o.value.push(X(i)),e.onClose?.(!0),await(0,t.nextTick)(),u&&l&&i.meta?.linkStatus===1?window.open(l,`_blank`):n.push({path:a})}function m(){c.value.length!==0&&(e.onBlur?.(),s.value--,s.value<0&&(s.value=c.value.length-1),f())}function h(){c.value.length!==0&&(e.onBlur?.(),s.value++,s.value>c.value.length-1&&(s.value=0),f())}(0,t.onMounted)(()=>{(0,a.onKeyStroke)(`Enter`,p),(0,a.onKeyStroke)(`ArrowUp`,m),(0,a.onKeyStroke)(`ArrowDown`,h)});function g(e){s.value=e}function _(e,t){e.stopPropagation(),c.value=c.value.filter(e=>e.name!==t.name),o.value=o.value.filter(e=>e.name!==t.name),s.value=s.value-1>=0?s.value-1:0,f()}let v=t=>D(`${e.className}${t?`-${t}`:``}`,e.hashId);return()=>(0,t.createVNode)(t.Fragment,null,[c.value.length>0?(0,t.createVNode)(t.Fragment,null,[o.value.length>0&&!e.keyword&&(0,t.createVNode)(`div`,{class:v(`panel-title`)},[e.locale.searchHistory]),(0,t.createVNode)(`div`,{class:v(`panel-list`)},[ce(c.value,`name`).map((n,i)=>(0,t.createVNode)(`div`,{key:n.name,class:v(D(`panel-item`,i===s.value&&`active`)),"data-search-item":i,onClick:()=>p(),onMouseenter:()=>g(i)},[(0,t.createVNode)(`div`,{class:v(`panel-item-left`)},[n.meta?.title]),o.value.length>0&&!e.keyword&&(0,t.createVNode)(r.GIcon,{type:`CloseOutlined`,onClick:e=>_(e,n)},null)]))])]):i.value?.()||(0,t.createVNode)(he,{className:v(`result`),value:e.keyword,locale:e.locale},null)])},{props:{className:{type:String,required:!1},hashId:{type:String,required:!1},keyword:{type:String,required:!1},dataSource:{type:Array,required:!1},historyKey:{type:String,required:!1},emptyProps:{type:Object,required:!1},locale:{type:Object,required:!0},onBlur:{type:Function,required:!1},onClose:{type:Function,required:!1}},name:`GSearchPanel`,inheritAttrs:!1}),ge=(0,u.proGenStyleHooks)(`ProRightSearch`,e=>{let t=e.menuItemIconSize||e.fontSize,n=e.calc(e.borderRadiusLG).mul(2).equal(),r=e.calc(e.paddingXXS).div(2).equal();return{[e.componentCls]:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:36,gap:12,cursor:`pointer`,fontSize:e.fontSizeSM,color:e.colorTextTertiary,paddingBlock:r,paddingInline:e.paddingXS,borderRadius:n,backgroundColor:e.headerColorBgRightActionsItemHover,transition:`all ${e.motionDurationMid} ${e.motionEaseInOut}`,lineHeight:1,">.anticon":{fontSize:e.fontSize,color:e.colorTextTertiary},"&-word":{lineHeight:1},"&-word-icon":{lineHeight:1,padding:`4px 6px`,borderTopLeftRadius:e.borderRadiusSM,borderBottomLeftRadius:e.borderRadiusSM,borderTopRightRadius:n,borderBottomRightRadius:n,backgroundColor:e.colorBgContainer},"&:hover":{color:e.colorTextSecondary},"&-modal":{"&-footer":{display:`flex`,alignItems:`center`,gap:e.marginXS,fontSize:12,color:e.colorTextSecondary},"&-footer-icon":{display:`flex`,alignItems:`center`,gap:4}},"&-panel":{"&-title":{color:e.colorTextQuaternary,lineHeight:e.lineHeight,marginBlockEnd:e.marginXS},"&-list":{display:`flex`,flexDirection:`column`,gap:12},"&-item":{display:`flex`,alignItems:`center`,justifyContent:`space-between`,cursor:`pointer`,fontSize:e.fontSize,lineHeight:e.lineHeight,padding:e.paddingXS,borderRadius:e.borderRadiusLG,backgroundColor:e.colorBgContainer,transition:`all ${e.motionDurationFast} ${e.motionEaseInOut}`,"&-left":{display:`flex`,alignItems:`center`,gap:e.sizeStep,">.anticon":{fontSize:`${t}px`}},"&.active":{backgroundColor:e.colorPrimary,color:e.colorTextLightSolid}}},"&-result":{display:`flex`,alignItems:`center`,justifyContent:`center`,paddingBlockStart:60,color:e.colorTextQuaternary}}}}),_e=({className:e,hashId:n,locale:i})=>(0,t.createVNode)(`div`,{class:D(`${e}-footer`,n)},[(0,t.createVNode)(`div`,{class:D(`${e}-footer-icon`,n)},[(0,t.createVNode)(r.GIcon,{type:`EnterOutlined`},null),i.selectLabel]),(0,t.createVNode)(`div`,{class:D(`${e}-footer-icon`,n)},[(0,t.createVNode)(r.GIcon,{type:`ArrowUpOutlined`},null),(0,t.createVNode)(r.GIcon,{type:`ArrowUpOutlined`,rotate:180},null),i.navigateLabel])]),ve=(0,t.defineComponent)(e=>{let n=(0,i.useInjectLayoutContext)(),{prefixCls:u}=(0,s.useBaseConfig)(`pro-right-search`),d=(0,c.default)(u),[f,p]=ge(u,d),m=(0,t.ref)(``),h=(0,t.ref)(!1),g=(0,a.useMagicKeys)(),_=y()?g[`ctrl+k`]:g[`cmd+k`],v=(0,t.ref)(),b=(0,t.computed)(()=>e.dataSource?.length?T(e.dataSource):n?.menuState?.flatMenus?n.menuState.flatMenus.value:[]);(0,a.whenever)(_,()=>{e.disabledShortKey||(h.value=!0)}),(0,a.whenever)(()=>h.value,()=>{(0,t.nextTick)(()=>{v.value?.focus?.()})});function x(e){h.value=!1,e&&(m.value=``)}return()=>{let n={className:u.value,hashId:f.value},i=`${u.value}-modal`;return(0,t.createVNode)(t.Fragment,null,[(0,t.createVNode)(`div`,{class:D(u.value,f.value,p.value,d.value),onClick:()=>{h.value=!0}},[(0,t.createVNode)(r.GIcon,{type:`SearchOutlined`},null),(0,t.createVNode)(`span`,{class:D(`${u.value}-word`,f.value)},[e.locale.searchLabel]),(0,t.createVNode)(`span`,{class:D(`${u.value}-word-icon`,f.value)},[(0,t.createTextVNode)(`⌘`),` `,(0,t.createVNode)(`kbd`,null,[(0,t.createTextVNode)(`K`)])])]),(0,t.createVNode)(l.GProModal,{wrapClassName:D(i,f.value),width:600,scrollProps:{maxHeight:400,minHeight:200},centered:!1,destroyOnHidden:!1,title:(0,t.createVNode)(o.Input,{style:{width:`${600*.8}px`,padding:0},ref:v,bordered:!1,size:`large`,placeholder:e.locale.searchPlaceholder,value:m.value,prefix:(0,t.createVNode)(r.GIcon,{type:`SearchOutlined`},null),"onUpdate:value":e=>{m.value=e}},null),open:h.value,footer:(0,t.createVNode)(_e,{className:i,hashId:f.value,locale:e.locale},null),onCancel:()=>x()},{default:()=>[(0,t.createVNode)(Z,(0,t.mergeProps)(n,{emptyProps:e.emptyProps,keyword:m.value,dataSource:b.value,historyKey:e.searchHistoryKey,locale:e.locale,onClose:x}),null)]})])}},{props:{dataSource:{type:Array,required:!1},disabledShortKey:{type:Boolean,required:!1,default:void 0},locale:{type:Object,required:!0},searchHistoryKey:{type:String,required:!1},emptyProps:{type:Object,required:!1}},name:`GSearchInput`,inheritAttrs:!1});function ye(e,t){return`color-mix(in srgb, ${e} ${t*100}%, transparent)`}var be=(0,u.proGenStyleHooks)(`ProRightContent`,e=>({[e.componentCls]:{height:`100%`,"&-header-actions":{display:`flex`,alignItems:`center`,justifyContent:`flex-end`,height:`100%`,gap:e.paddingXS,"&-item":{display:`inline-flex`,alignItems:`center`,justifyContent:`center`,paddingBlock:0,paddingInline:2,color:e.headerColorTextRightActionsItem,fontSize:14,cursor:`pointer`,borderRadius:e.borderRadius,".anticon":{color:e.headerColorTextRightActionsItem,transition:`color ${e.motionDurationMid}, background-color ${e.motionDurationMid}`,"&:hover":{color:e.headerColorTextRightActionsItemHover}},[`&${e.componentCls}-header-actions-theme`]:{[`${e.componentCls}-header-actions-icon`]:{paddingInline:4,paddingBlock:4,fontSize:18}},"> *":{paddingInline:6,paddingBlock:6,borderRadius:e.borderRadius,transition:`color ${e.motionDurationMid}, background-color ${e.motionDurationMid}`,"&:hover":{color:e.headerColorTextRightActionsItemHover,backgroundColor:e.headerColorBgRightActionsItemHover}}},[`&>${e.antCls}-dropdown-trigger`]:{color:e.colorTextTertiary,paddingInline:8,paddingBlock:8,cursor:`pointer`,display:`flex`,alignItems:`center`,height:44,lineHeight:`44px`,borderRadius:e.borderRadius,"&:hover":{backgroundColor:ye(e.colorTextBase,.03)}},"&-avatar":{display:`inline-flex`,alignItems:`center`,justifyContent:`center`,gap:e.paddingXS,paddingInlineStart:e.padding,paddingInlineEnd:e.padding,cursor:`pointer`,color:e.headerColorTextRightActionsItem},"&-name":{color:e.headerColorTextRightActionsItem}}}})),Q={fontSize:`15px`};function $(e,n){return()=>(0,t.createVNode)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`6px`}},[typeof e==`function`?e():e,n])}var xe=[{value:`light`,label:$((0,t.h)(r.GIcon,{type:`Moon`,style:Q}),`亮色`)},{value:`dark`,label:$((0,t.h)(r.GIcon,{type:`Sun`,style:Q}),`深色`)},{value:`system`,label:$((0,t.h)(r.GIcon,{type:`DesktopOutlined`,style:Q}),`自动`)}];e.RightContent=(0,t.defineComponent)((e,{emit:l,slots:u})=>{let{isFullscreen:d,toggle:f}=(0,a.useFullscreen)(),p=(0,i.useInjectLayoutContext)(),{setTheme:m,isDark:h,theme:g}=(0,n.useThemeContext)(),{prefixCls:_}=(0,s.useBaseConfig)(`pro-right-content`),v=(0,c.default)(_),[y,b]=be(_,v),S=(0,t.computed)(()=>p?.isMobile.value??!1),C=(0,t.ref)(),{width:w}=(0,a.useElementSize)(C),T=(0,t.ref)(`auto`),E=(0,t.ref)();(0,t.watch)(w,e=>{T.value=e>0?e:`auto`});let O=(0,t.ref)(!1),k=(0,t.computed)(()=>({...ee,...e.locale})),A=(0,t.computed)(()=>e.actions===!1?{}:{theme:!0,search:!0,themeEditor:!1,fullScreen:!0,...e.actions}),j=(0,t.computed)(()=>(e.themeOptions||xe).map(e=>({key:e.value,label:e.label()})));function M(e){let t=e.key;m(t)}let N=(0,t.computed)(()=>{let n=u?.dropdownMenu?.(),i=e.dropdownProps?.menu?.items||[];return x(n)&&n.forEach((e,t)=>{let n=e.props;if(Object.hasOwn(n,`antd-menu`)){let n=e.props.icon;i.push({key:e.props.key||`menu-${t}`,label:e.children,icon:n,onClick:(...t)=>{e.props.onClick?.(...t),P(...t)}})}else Object.hasOwn(n,`antd-menu-divider`)&&i.push({type:`divider`})}),i.push({key:`logout`,icon:()=>(0,t.createVNode)(r.GIcon,{type:`LogoutOutlined`},null),label:k.value.logout,onClick:F}),i}),P=(...e)=>{l(`menuClick`,...e)};function F(e){e.key===`lock`?O.value=!0:e.key===`logout`&&l(`logout`)}function I(e){l(`actionClick`,e)}return()=>{let n=[`${_.value}-header-actions-item`,y.value];return(0,t.createVNode)(`div`,{ref:C,class:D(_.value,y.value,b.value,v.value),style:{minWidth:T.value,height:`100%`}},[(0,t.createVNode)(`div`,{style:{height:`100%`}},[(0,t.createVNode)(`div`,{class:D(`${_.value}-header-actions`)},[u.default?u.default():(0,t.createVNode)(t.Fragment,null,[A.value.search&&!S.value&&(0,t.createVNode)(ve,{dataSource:e.searchConfig?.dataSource,disabledShortKey:e.searchConfig?.disabledShortKey,searchHistoryKey:e.searchConfig?.historyKey,emptyProps:e.searchConfig?.emptyProps,locale:k.value},null),A.value.theme&&(0,t.createVNode)(`div`,{ref:E,class:D(`${_.value}-header-actions-item`,`${_.value}-header-actions-theme`,y.value)},[(0,t.createVNode)(o.Dropdown,{trigger:[`click`],placement:`bottomRight`,menu:{items:j.value,onClick:M,selectedKeys:[g.value]}},{default:()=>[(0,t.createVNode)(r.GIcon,{class:D(`${_.value}-header-actions-icon`),type:h.value?`Moon`:`Sun`},null)]})]),A.value.themeEditor&&!S.value&&(0,t.createVNode)(`div`,{class:D(n)},[(0,t.createVNode)(r.GIcon,{type:`SettingOutlined`,onClick:()=>I(`themeEditor`)},null)]),A.value.fullScreen&&!S.value&&(0,t.createVNode)(`div`,{class:D(n)},[(0,t.createVNode)(r.GIcon,{type:d.value?`CompressOutlined`:`ExpandOutlined`,onClick:()=>f()},null)]),u.actionsRender?.(n)]),(0,t.createVNode)(o.Dropdown,(0,t.mergeProps)({placement:`bottomRight`},e.dropdownProps,{menu:{items:N.value}}),{default:()=>[u.dropdownTrigger?u.dropdownTrigger():(0,t.createVNode)(`div`,{class:D(`${_.value}-header-actions-avatar`)},[(0,t.createVNode)(o.Avatar,{size:28,icon:(0,t.createVNode)(r.GIcon,{type:`UserOutlined`},null),src:e.avatar},null),e.name&&(0,t.createVNode)(`span`,{class:D(`${_.value}-header-actions-name`)},[e.name])])],popupRender:u.popupRender})])])])}},{props:{actions:{type:[Object,Boolean],required:!1,default:void 0},name:{type:String,required:!1},avatar:{type:String,required:!1},dropdownProps:{type:Object,required:!1},themeOptions:{type:Array,required:!1},searchConfig:{type:Object,required:!1},locale:{type:Object,required:!1},onLogout:{type:Function,required:!1},onMenuClick:{type:Function,required:!1},onActionClick:{type:Function,required:!1}},emits:[`logout`,`menuClick`,`actionClick`],name:`RightContent`,inheritAttrs:!1})});
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gx-design-vue/pro-layout-components",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.1.0-alpha.
|
|
4
|
+
"version": "0.1.0-alpha.8",
|
|
5
5
|
"description": "Gx Design Pro Layout Components",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "gx12358",
|
|
@@ -48,13 +48,13 @@
|
|
|
48
48
|
"es-toolkit": "^1.43.0",
|
|
49
49
|
"vue-router": "^5.1.0",
|
|
50
50
|
"@gx-design-vue/context": "^0.0.5-alpha.6",
|
|
51
|
-
"@gx-design-vue/pro-
|
|
52
|
-
"@gx-design-vue/
|
|
53
|
-
"@gx-design-vue/pro-
|
|
51
|
+
"@gx-design-vue/pro-hooks": "^0.2.0-alpha.6",
|
|
52
|
+
"@gx-design-vue/icon": "^0.0.1-alpha.9",
|
|
53
|
+
"@gx-design-vue/pro-layout": "^0.1.0-alpha.9",
|
|
54
54
|
"@gx-design-vue/pro-modal": "^0.2.0-alpha.7",
|
|
55
|
-
"@gx-design-vue/
|
|
56
|
-
"@gx-design-vue/
|
|
57
|
-
"@gx-design-vue/
|
|
55
|
+
"@gx-design-vue/pro-utils": "^0.2.0-alpha.6",
|
|
56
|
+
"@gx-design-vue/pro-provider": "^0.1.0-alpha.11",
|
|
57
|
+
"@gx-design-vue/scrollbar": "^0.2.0-alpha.5"
|
|
58
58
|
},
|
|
59
59
|
"browserslist": [
|
|
60
60
|
"> 1%",
|