@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 key = item.props.key;
60
- const icon = item.props.icon;
61
- if (key === "menu-item") items.push({
62
- key: `menu-${index}`,
63
- label: item.children,
64
- icon
65
- });
66
- else if (key === "menu-divider") items.push({ type: "divider" });
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: ["logout", "actionClick"],
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 区域 */
@@ -3,7 +3,6 @@ const defaultLocale = {
3
3
  searchPlaceholder: "搜索导航菜单",
4
4
  searchLabel: "搜索",
5
5
  searchShortcutLabel: "⌘ K",
6
- lockScreen: "锁定屏幕",
7
6
  logout: "退出登录",
8
7
  noResult: (keyword) => `未找到搜索结果 "${keyword}"`,
9
8
  noHistory: "没有搜索历史",
@@ -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 te(e) {
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 ne(e) {
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 re = "[object RegExp]", ie = "[object String]", ae = "[object Number]", oe = "[object Boolean]", U = "[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]";
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), ...te(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 (ne(e)) {
192
- case U:
190
+ switch (te(e)) {
191
+ case oe:
193
192
  case se:
194
193
  case ce:
195
194
  case ue:
196
- case oe:
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 ae:
203
+ case ie:
205
204
  case le:
206
- case re:
205
+ case ne:
207
206
  case q:
208
- case ie:
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.key, i = e.props.icon;
676
- r === "menu-item" ? t.push({
677
- key: `menu-${n}`,
678
- label: e.children,
679
- icon: i
680
- }) : r === "menu-divider" && t.push({ type: "divider" });
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: V
690
+ onClick: H
686
691
  }), t;
687
- });
688
- function V(e) {
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 H(e) {
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: () => H("themeEditor")
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: ["logout", "actionClick"],
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.6",
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-layout": "^0.1.0-alpha.8",
52
- "@gx-design-vue/pro-provider": "^0.1.0-alpha.10",
53
- "@gx-design-vue/pro-utils": "^0.2.0-alpha.6",
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/scrollbar": "^0.2.0-alpha.5",
56
- "@gx-design-vue/icon": "^0.0.1-alpha.8",
57
- "@gx-design-vue/pro-hooks": "^0.2.0-alpha.6"
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%",