vue-layout-gitcode 1.12.18 → 1.12.20

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.
@@ -9121,8 +9121,8 @@ const currentHelpDocsAiCommunityUrl = () => {
9121
9121
  const _hoisted_1$B = { class: "home-nav-right" };
9122
9122
  const _hoisted_2$q = { class: "home-nav-item" };
9123
9123
  const _hoisted_3$p = { class: "tooltip-sign" };
9124
- const _hoisted_4$k = { class: "home-nav-tooltip-wrapper" };
9125
- const _hoisted_5$g = { class: "home-nav-text" };
9124
+ const _hoisted_4$j = { class: "home-nav-tooltip-wrapper" };
9125
+ const _hoisted_5$f = { class: "home-nav-text" };
9126
9126
  const _hoisted_6$d = { class: "home-nav-tooltip-wrapper" };
9127
9127
  const _hoisted_7$a = { class: "home-nav-text" };
9128
9128
  const _hoisted_8$9 = {
@@ -9421,8 +9421,8 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
9421
9421
  "overlay-class": "tools-tag-tooltip"
9422
9422
  }, {
9423
9423
  content: withCtx(() => [
9424
- createElementVNode("div", _hoisted_4$k, [
9425
- createElementVNode("div", _hoisted_5$g, toDisplayString$1(unref(t2)("gitCodeLayout.growthCenter.invite")), 1)
9424
+ createElementVNode("div", _hoisted_4$j, [
9425
+ createElementVNode("div", _hoisted_5$f, toDisplayString$1(unref(t2)("gitCodeLayout.growthCenter.invite")), 1)
9426
9426
  ])
9427
9427
  ]),
9428
9428
  default: withCtx(() => [
@@ -11374,8 +11374,8 @@ const _hoisted_1$y = {
11374
11374
  };
11375
11375
  const _hoisted_2$p = { class: "org-layout-toolbar-title flex-1 ellipsis-two-line" };
11376
11376
  const _hoisted_3$o = { class: "text-xs" };
11377
- const _hoisted_4$j = { class: "flex items-center w-full g-repo-breadcrumb-custom" };
11378
- const _hoisted_5$f = {
11377
+ const _hoisted_4$i = { class: "flex items-center w-full g-repo-breadcrumb-custom" };
11378
+ const _hoisted_5$e = {
11379
11379
  key: 1,
11380
11380
  class: "flex items-center min-w-[30px]"
11381
11381
  };
@@ -11600,7 +11600,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
11600
11600
  default: withCtx(() => {
11601
11601
  var _a2, _b2, _c2, _d, _e, _f, _g;
11602
11602
  return [
11603
- createElementVNode("h2", _hoisted_4$j, [
11603
+ createElementVNode("h2", _hoisted_4$i, [
11604
11604
  createVNode(GLink, {
11605
11605
  href: (_a2 = unref(breadcrumb)[0]) == null ? void 0 : _a2.path,
11606
11606
  class: "pr-[12px]"
@@ -11616,7 +11616,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
11616
11616
  width: 28,
11617
11617
  height: 28,
11618
11618
  is_round: !isOrg.value
11619
- }, null, 8, ["class", "src", "name", "is_round"])) : (openBlock(), createElementBlock("div", _hoisted_5$f, [
11619
+ }, null, 8, ["class", "src", "name", "is_round"])) : (openBlock(), createElementBlock("div", _hoisted_5$e, [
11620
11620
  unref(isPhone)() ? (openBlock(), createElementBlock("img", _hoisted_6$c)) : (openBlock(), createElementBlock("img", _hoisted_7$9))
11621
11621
  ]))
11622
11622
  ];
@@ -14585,8 +14585,8 @@ const GText = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-vu
14585
14585
  const _hoisted_1$t = { class: "message-item flex" };
14586
14586
  const _hoisted_2$o = { class: "message-item-footer" };
14587
14587
  const _hoisted_3$n = ["title"];
14588
- const _hoisted_4$i = ["href"];
14589
- const _hoisted_5$e = { class: "message-item-info-content flex-auto flex items-center justify-between" };
14588
+ const _hoisted_4$h = ["href"];
14589
+ const _hoisted_5$d = { class: "message-item-info-content flex-auto flex items-center justify-between" };
14590
14590
  const _hoisted_6$b = { class: "flex message-item-body flex-1" };
14591
14591
  const _hoisted_7$8 = ["title", "innerHTML"];
14592
14592
  const _hoisted_8$7 = ["title"];
@@ -14621,10 +14621,10 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
14621
14621
  width: 32,
14622
14622
  height: 32
14623
14623
  }, null, 8, ["name", "src"])
14624
- ], 8, _hoisted_4$i)
14624
+ ], 8, _hoisted_4$h)
14625
14625
  ], 8, _hoisted_3$n)
14626
14626
  ]),
14627
- createElementVNode("div", _hoisted_5$e, [
14627
+ createElementVNode("div", _hoisted_5$d, [
14628
14628
  createElementVNode("div", _hoisted_6$b, [
14629
14629
  createVNode(GLink, {
14630
14630
  href: unref(transformUrl)(__props.data.url),
@@ -14682,11 +14682,11 @@ const _hoisted_3$m = {
14682
14682
  key: 1,
14683
14683
  class: "g-number"
14684
14684
  };
14685
- const _hoisted_4$h = {
14685
+ const _hoisted_4$g = {
14686
14686
  key: 0,
14687
14687
  class: "g-number ml-[8px]"
14688
14688
  };
14689
- const _hoisted_5$d = { class: "message-content-cover" };
14689
+ const _hoisted_5$c = { class: "message-content-cover" };
14690
14690
  const _hoisted_6$a = {
14691
14691
  key: 0,
14692
14692
  class: "message-content-header"
@@ -15026,7 +15026,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
15026
15026
  onClick: _cache[1] || (_cache[1] = ($event) => toPage("unread"))
15027
15027
  }, [
15028
15028
  createTextVNode(toDisplayString$1(unref(t2)("gitCodeLayout.notice.msg.allUnread")), 1),
15029
- msgCount.value > 0 ? (openBlock(), createElementBlock("span", _hoisted_4$h, toDisplayString$1(msgCount.value), 1)) : createCommentVNode("", true)
15029
+ msgCount.value > 0 ? (openBlock(), createElementBlock("span", _hoisted_4$g, toDisplayString$1(msgCount.value), 1)) : createCommentVNode("", true)
15030
15030
  ])
15031
15031
  ]),
15032
15032
  createElementVNode("div", {
@@ -15034,7 +15034,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
15034
15034
  ref: scrollContainer,
15035
15035
  class: "message-content"
15036
15036
  }, [
15037
- withDirectives((openBlock(), createElementBlock("div", _hoisted_5$d, [
15037
+ withDirectives((openBlock(), createElementBlock("div", _hoisted_5$c, [
15038
15038
  currentType.value === "mention" ? (openBlock(), createElementBlock("div", _hoisted_6$a, [
15039
15039
  createElementVNode("div", {
15040
15040
  class: normalizeClass(["message-content-header-item mr-[8px]", { active: mentionSubTab.value === "project" }]),
@@ -15264,8 +15264,8 @@ const _hoisted_1$q = {
15264
15264
  };
15265
15265
  const _hoisted_2$l = { class: "flex items-center font-medium gap-[4px]" };
15266
15266
  const _hoisted_3$k = ["src"];
15267
- const _hoisted_4$g = { class: "level-name" };
15268
- const _hoisted_5$c = { class: "level-icon" };
15267
+ const _hoisted_4$f = { class: "level-name" };
15268
+ const _hoisted_5$b = { class: "level-icon" };
15269
15269
  const _hoisted_6$9 = ["src"];
15270
15270
  const _hoisted_7$6 = { class: "custom-btn" };
15271
15271
  const _hoisted_8$5 = { class: "flex items-center justify-center" };
@@ -15328,9 +15328,9 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
15328
15328
  src: levelInfo.value.avatar,
15329
15329
  alt: ""
15330
15330
  }, null, 8, _hoisted_3$k),
15331
- createElementVNode("div", _hoisted_4$g, [
15331
+ createElementVNode("div", _hoisted_4$f, [
15332
15332
  createElementVNode("div", null, toDisplayString$1(levelInfo.value.name), 1),
15333
- createElementVNode("div", _hoisted_5$c, [
15333
+ createElementVNode("div", _hoisted_5$b, [
15334
15334
  createElementVNode("img", {
15335
15335
  src: levelInfo.value.level,
15336
15336
  alt: ""
@@ -15349,8 +15349,8 @@ const UserLevel = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-
15349
15349
  const _hoisted_1$p = { class: "g-user-drawer-info-list pl-[16px]" };
15350
15350
  const _hoisted_2$k = { class: "max-w-[200px]" };
15351
15351
  const _hoisted_3$j = ["title"];
15352
- const _hoisted_4$f = ["title"];
15353
- const _hoisted_5$b = {
15352
+ const _hoisted_4$e = ["title"];
15353
+ const _hoisted_5$a = {
15354
15354
  key: 0,
15355
15355
  class: "g-user-drawer-lang-row"
15356
15356
  };
@@ -15586,7 +15586,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
15586
15586
  createElementVNode("p", {
15587
15587
  class: "g-user-drawer-info-list-id ellipsis",
15588
15588
  title: __props.accountInfo.username
15589
- }, "@" + toDisplayString$1(__props.accountInfo.username), 9, _hoisted_4$f)
15589
+ }, "@" + toDisplayString$1(__props.accountInfo.username), 9, _hoisted_4$e)
15590
15590
  ]),
15591
15591
  createVNode(GIcon, {
15592
15592
  name: "gt-line-right",
@@ -15606,7 +15606,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
15606
15606
  key: index2
15607
15607
  }, [
15608
15608
  block.component ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
15609
- block.avatarLangRow ? (openBlock(), createElementBlock("div", _hoisted_5$b, [
15609
+ block.avatarLangRow ? (openBlock(), createElementBlock("div", _hoisted_5$a, [
15610
15610
  (openBlock(), createBlock(resolveDynamicComponent(block.component), {
15611
15611
  key: block.id
15612
15612
  }))
@@ -15644,11 +15644,11 @@ const _hoisted_2$j = {
15644
15644
  class: "g-user-avatar__badge"
15645
15645
  };
15646
15646
  const _hoisted_3$i = { class: "g-user-avatar flex-center ml-1" };
15647
- const _hoisted_4$e = {
15647
+ const _hoisted_4$d = {
15648
15648
  key: 0,
15649
15649
  class: "g-user-avatar__badge"
15650
15650
  };
15651
- const _hoisted_5$a = { class: "g-user-drawer" };
15651
+ const _hoisted_5$9 = { class: "g-user-drawer" };
15652
15652
  const _hoisted_6$8 = { class: "p-[16px] pt-[8px] pb-0 flex justify-end items-center h-[48px]" };
15653
15653
  const _sfc_main$r = /* @__PURE__ */ defineComponent({
15654
15654
  ...{
@@ -15807,7 +15807,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
15807
15807
  onToggle: handleToggle
15808
15808
  }, {
15809
15809
  menu: withCtx(() => [
15810
- createElementVNode("div", _hoisted_5$a, [
15810
+ createElementVNode("div", _hoisted_5$9, [
15811
15811
  createVNode(UserAvatarMenu, {
15812
15812
  independence: __props.independence,
15813
15813
  loginOutFinish: __props.loginOutFinish,
@@ -15826,7 +15826,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
15826
15826
  name: accountInfo.value.nickname,
15827
15827
  src: unref(transformUrl)(accountInfo.value.avatar)
15828
15828
  }, null, 8, ["name", "src"]),
15829
- accountInfo.value.need_tips && !haveVisited.value ? (openBlock(), createElementBlock("div", _hoisted_4$e, [..._cache[5] || (_cache[5] = [
15829
+ accountInfo.value.need_tips && !haveVisited.value ? (openBlock(), createElementBlock("div", _hoisted_4$d, [..._cache[5] || (_cache[5] = [
15830
15830
  createElementVNode("div", null, null, -1)
15831
15831
  ])])) : createCommentVNode("", true)
15832
15832
  ])
@@ -15935,16 +15935,19 @@ const setlocalVistHistory = (data, localType) => {
15935
15935
  try {
15936
15936
  cur = JSON.parse(localData);
15937
15937
  if (localType) {
15938
- const target = cur.find(
15939
- (ele) => (ele === data.q || ele.q === data.q) && ele.repo === data.repo && ele.namespace === data.namespace
15940
- );
15941
- if (!target) {
15942
- cur.unshift({ ...data, count: 1 });
15943
- } else {
15944
- target.count = (target.count || 1) + 1;
15945
- data.type && (target.type = data.type);
15946
- cur.splice(cur.indexOf(target), 1);
15947
- cur.unshift(target);
15938
+ cur = cur.filter((ele) => typeof ele === "string" ? !!ele : !!(ele == null ? void 0 : ele.q));
15939
+ if (data.q) {
15940
+ const target = cur.find(
15941
+ (ele) => (ele === data.q || ele.q === data.q) && ele.repo === data.repo && ele.org === data.org && ele.user === data.user && ele.namespace === data.namespace
15942
+ );
15943
+ if (!target) {
15944
+ cur.unshift({ ...data, count: 1 });
15945
+ } else {
15946
+ target.count = (target.count || 1) + 1;
15947
+ data.type && (target.type = data.type);
15948
+ cur.splice(cur.indexOf(target), 1);
15949
+ cur.unshift(target);
15950
+ }
15948
15951
  }
15949
15952
  }
15950
15953
  } catch (e) {
@@ -15961,14 +15964,35 @@ const setlocalVistHistory = (data, localType) => {
15961
15964
  const KEY_ALIAS = {
15962
15965
  repo: "repo",
15963
15966
  user: "user",
15964
- namespace: "group",
15967
+ org: "group",
15965
15968
  language: "language",
15966
15969
  lang: "language",
15967
15970
  symbol: "symbol",
15968
15971
  path: "path"
15969
15972
  };
15970
- const SUPPORTED_KEYS = ["repo", "language", "lang", "symbol", "path", "user", "namespace"];
15973
+ const SUPPORTED_KEYS = ["repo", "language", "lang", "symbol", "path", "user", "org"];
15971
15974
  const QUALIFIER_RE = new RegExp(`^(${SUPPORTED_KEYS.join("|")}):(\\S*)$`, "i");
15975
+ const slotOfKey = (key) => {
15976
+ if (key === "repo" || key === "user" || key === "group") {
15977
+ return "scope";
15978
+ }
15979
+ return key ?? "";
15980
+ };
15981
+ const markOverriddenQualifiers = (tokens) => {
15982
+ const seenSlots = /* @__PURE__ */ new Set();
15983
+ for (let i = tokens.length - 1; i >= 0; i--) {
15984
+ const token = tokens[i];
15985
+ if (token.type !== "qualifier" || !token.value) {
15986
+ continue;
15987
+ }
15988
+ const slot = slotOfKey(token.key);
15989
+ if (seenSlots.has(slot)) {
15990
+ token.overridden = true;
15991
+ } else {
15992
+ seenSlots.add(slot);
15993
+ }
15994
+ }
15995
+ };
15972
15996
  const tokenizeSearchInput = (input) => {
15973
15997
  const tokens = [];
15974
15998
  if (!input) {
@@ -15997,6 +16021,7 @@ const tokenizeSearchInput = (input) => {
15997
16021
  }
15998
16022
  tokens.push({ type: "text", raw: seg });
15999
16023
  }
16024
+ markOverriddenQualifiers(tokens);
16000
16025
  return tokens;
16001
16026
  };
16002
16027
  const parseSearchInput = (input) => {
@@ -16010,6 +16035,9 @@ const parseSearchInput = (input) => {
16010
16035
  }
16011
16036
  continue;
16012
16037
  }
16038
+ if (token.overridden) {
16039
+ continue;
16040
+ }
16013
16041
  switch (token.key) {
16014
16042
  case "repo":
16015
16043
  params.scope = "repo";
@@ -16046,7 +16074,7 @@ const buildQualifierPrefix = (info) => {
16046
16074
  const keyMap = {
16047
16075
  repo: "repo",
16048
16076
  user: "user",
16049
- group: "namespace"
16077
+ group: "org"
16050
16078
  };
16051
16079
  const key = keyMap[info.searchScope];
16052
16080
  if (!key) {
@@ -16058,10 +16086,8 @@ const _hoisted_1$n = {
16058
16086
  key: 0,
16059
16087
  class: "devui-input-slot__prefix"
16060
16088
  };
16061
- const _hoisted_2$i = { class: "hl-token-key" };
16062
- const _hoisted_3$h = { class: "hl-token-value" };
16063
- const _hoisted_4$d = ["value"];
16064
- const _hoisted_5$9 = {
16089
+ const _hoisted_2$i = ["value"];
16090
+ const _hoisted_3$h = {
16065
16091
  key: 1,
16066
16092
  class: "devui-input-slot__suffix"
16067
16093
  };
@@ -16085,7 +16111,22 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
16085
16111
  const { class: _cls, style: _style, ...rest } = attrs;
16086
16112
  return rest;
16087
16113
  });
16088
- const tokens = computed(() => tokenizeSearchInput(props.modelValue));
16114
+ const segments = computed(() => {
16115
+ const list = [];
16116
+ for (const token of tokenizeSearchInput(props.modelValue)) {
16117
+ if (token.type === "qualifier") {
16118
+ if (token.overridden) {
16119
+ list.push({ text: token.raw, cls: "hl-token-text" });
16120
+ continue;
16121
+ }
16122
+ list.push({ text: `${token.rawKey}:`, cls: "hl-token-key" });
16123
+ list.push({ text: token.value ?? "", cls: "hl-token-value" });
16124
+ continue;
16125
+ }
16126
+ list.push({ text: token.raw, cls: token.type === "text" ? "hl-token-text" : "hl-token-space" });
16127
+ }
16128
+ return list;
16129
+ });
16089
16130
  const nativeRef = ref(null);
16090
16131
  const backdropRef = ref(null);
16091
16132
  const controlRef = ref(null);
@@ -16232,16 +16273,11 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
16232
16273
  ref: backdropRef,
16233
16274
  "aria-hidden": "true"
16234
16275
  }, [
16235
- (openBlock(true), createElementBlock(Fragment, null, renderList(tokens.value, (token, index2) => {
16236
- return openBlock(), createElementBlock(Fragment, { key: index2 }, [
16237
- token.type === "qualifier" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
16238
- createElementVNode("span", _hoisted_2$i, toDisplayString$1(token.rawKey) + ":", 1),
16239
- createElementVNode("span", _hoisted_3$h, toDisplayString$1(token.value), 1)
16240
- ], 64)) : (openBlock(), createElementBlock("span", {
16241
- key: 1,
16242
- class: normalizeClass(token.type === "text" ? "hl-token-text" : "hl-token-space")
16243
- }, toDisplayString$1(token.raw), 3))
16244
- ], 64);
16276
+ (openBlock(true), createElementBlock(Fragment, null, renderList(segments.value, (seg, index2) => {
16277
+ return openBlock(), createElementBlock("span", {
16278
+ key: index2,
16279
+ class: normalizeClass(seg.cls)
16280
+ }, toDisplayString$1(seg.text), 3);
16245
16281
  }), 128))
16246
16282
  ], 512),
16247
16283
  createElementVNode("input", mergeProps({
@@ -16249,9 +16285,9 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
16249
16285
  ref: nativeRef,
16250
16286
  class: "devui-input__inner hl-search-input__native",
16251
16287
  value: __props.modelValue
16252
- }, inputAttrs.value, { onInput }), null, 16, _hoisted_4$d)
16288
+ }, inputAttrs.value, { onInput }), null, 16, _hoisted_2$i)
16253
16289
  ], 512),
16254
- _ctx.$slots.suffix ? (openBlock(), createElementBlock("div", _hoisted_5$9, [
16290
+ _ctx.$slots.suffix ? (openBlock(), createElementBlock("div", _hoisted_3$h, [
16255
16291
  renderSlot(_ctx.$slots, "suffix", {}, void 0, true)
16256
16292
  ])) : createCommentVNode("", true)
16257
16293
  ], 6);
@@ -16268,6 +16304,7 @@ const _hoisted_6$7 = {
16268
16304
  key: 1,
16269
16305
  class: "aireposearch flex-1"
16270
16306
  };
16307
+ const HISTORY_DISPLAY_COUNT = 3;
16271
16308
  const _sfc_main$p = /* @__PURE__ */ defineComponent({
16272
16309
  __name: "index",
16273
16310
  props: {
@@ -16278,12 +16315,12 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
16278
16315
  setup(__props) {
16279
16316
  const layoutConfig2 = useLayoutConfig();
16280
16317
  const { t: $t } = i18n.global;
16281
- const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-BgKi904x.js"));
16282
- const UserSearch = defineAsyncComponent(() => import("./UserSearch-BqmpvYTW.js"));
16283
- const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-CJbO3Dlr.js"));
16284
- const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-XOISenza.js"));
16285
- const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-Doe_n1kj.js"));
16286
- const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-CM8sDSQF.js"));
16318
+ const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-hqiTdNKG.js"));
16319
+ const UserSearch = defineAsyncComponent(() => import("./UserSearch-njCwyfuW.js"));
16320
+ const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-BRMavUpy.js"));
16321
+ const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-CaUda-vO.js"));
16322
+ const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-eicWsli0.js"));
16323
+ const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-CRqcEXll.js"));
16287
16324
  const props = __props;
16288
16325
  const repoInfo = inject("repoInfo");
16289
16326
  const orgInfo = inject("orgInfo");
@@ -16337,13 +16374,17 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
16337
16374
  const parts = [];
16338
16375
  if (params.scope === "repo" && params.repo) {
16339
16376
  parts.push(`repo:${decodeURIComponent(params.repo)}`);
16340
- } else if (params.scope === "user" && params.namespace) {
16341
- parts.push(`user:${decodeURIComponent(params.namespace)}`);
16342
- } else if (params.scope === "group" && params.namespace) {
16343
- parts.push(`namespace:${decodeURIComponent(params.namespace)}`);
16377
+ } else {
16378
+ const userVal = params.user || (params.scope === "user" ? params.namespace : "");
16379
+ const orgVal = params.org || (params.scope === "user" ? "" : params.namespace);
16380
+ if (userVal) {
16381
+ parts.push(`user:${decodeURIComponent(userVal)}`);
16382
+ } else if (orgVal) {
16383
+ parts.push(`org:${decodeURIComponent(orgVal)}`);
16384
+ }
16344
16385
  }
16345
16386
  if (params.l) {
16346
- parts.push(`language:${params.l}`);
16387
+ parts.push(`lang:${params.l}`);
16347
16388
  }
16348
16389
  if (params.path) {
16349
16390
  parts.push(`path:${decodeURIComponent(params.path)}`);
@@ -16356,7 +16397,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
16356
16397
  }
16357
16398
  return parts.join(" ");
16358
16399
  };
16359
- const SEARCH_QUERY_KEYS = ["q", "repo", "namespace", "scope", "l", "path", "symbol"];
16400
+ const SEARCH_QUERY_KEYS = ["q", "repo", "org", "user", "namespace", "scope", "l", "path", "symbol"];
16360
16401
  const initSearchStrFromQuery = () => {
16361
16402
  const query = route == null ? void 0 : route.query;
16362
16403
  if (!query) {
@@ -16368,6 +16409,20 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
16368
16409
  const searchStr = ref(initSearchStrFromQuery());
16369
16410
  const parsedResult = computed(() => parseSearchInput(searchStr.value));
16370
16411
  const keyword = computed(() => parsedResult.value.params.q);
16412
+ const SCOPE_KEYS = ["repo", "user", "group"];
16413
+ const keywordRest = computed(() => {
16414
+ const parts = [];
16415
+ for (const token of parsedResult.value.tokens) {
16416
+ if (token.type === "space") {
16417
+ continue;
16418
+ }
16419
+ if (token.type === "qualifier" && SCOPE_KEYS.includes(token.key)) {
16420
+ continue;
16421
+ }
16422
+ parts.push(token.raw);
16423
+ }
16424
+ return parts.join(" ");
16425
+ });
16371
16426
  const derivedSearchInfo = computed(() => {
16372
16427
  const p = parsedResult.value.params;
16373
16428
  if (!p.scope) {
@@ -16452,7 +16507,9 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
16452
16507
  let localSearchText = localStorage$2.getItem("localSearchText");
16453
16508
  if (localSearchText) {
16454
16509
  try {
16455
- localSearchText = JSON.parse(localSearchText).splice(0, 3);
16510
+ localSearchText = JSON.parse(localSearchText).filter(
16511
+ (ele) => typeof ele === "string" ? !!ele : !!(ele == null ? void 0 : ele.q)
16512
+ );
16456
16513
  } catch (e) {
16457
16514
  console.error(e);
16458
16515
  }
@@ -16467,6 +16524,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
16467
16524
  }
16468
16525
  const searchHistoryList = ref(localSearchText || []);
16469
16526
  const visitHistoryList = ref(localVistList || []);
16527
+ const displayHistoryList = computed(() => searchHistoryList.value.slice(0, HISTORY_DISPLAY_COUNT));
16470
16528
  const activeIndex = ref(-1);
16471
16529
  const onCaptureClose = () => {
16472
16530
  isFocus.value = false;
@@ -16474,10 +16532,10 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
16474
16532
  };
16475
16533
  const onScopeSearch = (data = {}) => {
16476
16534
  if ((data == null ? void 0 : data.enLabel) && (data == null ? void 0 : data.value)) {
16477
- const keyMap = { repo: "repo", user: "user", group: "namespace" };
16535
+ const keyMap = { repo: "repo", user: "user", group: "org" };
16478
16536
  const prefixKey = keyMap[data.enLabel];
16479
16537
  if (prefixKey) {
16480
- searchStr.value = `${prefixKey}:${data.value} ${keyword.value}`.trim();
16538
+ searchStr.value = `${prefixKey}:${data.value} ${keywordRest.value}`.trim();
16481
16539
  }
16482
16540
  }
16483
16541
  onSearch();
@@ -16486,7 +16544,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
16486
16544
  e.stopPropagation();
16487
16545
  if (e.keyCode === 13) {
16488
16546
  if (activeIndex.value !== -1 && !keyword.value) {
16489
- searchHistory(searchHistoryList.value[activeIndex.value]);
16547
+ searchHistory(displayHistoryList.value[activeIndex.value]);
16490
16548
  } else {
16491
16549
  onSearch();
16492
16550
  }
@@ -16535,11 +16593,6 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
16535
16593
  (_a = inputRef.value) == null ? void 0 : _a.blur();
16536
16594
  searchDropDownVisible.value = false;
16537
16595
  const { params } = parseSearchInput(searchStr.value);
16538
- if (!params.q && params.scope && typeof document !== "undefined" && document.querySelector) {
16539
- (_b = document.querySelector("#golbalSearch")) == null ? void 0 : _b.blur();
16540
- pendingType.value = "";
16541
- return;
16542
- }
16543
16596
  const targetHotWord = searchHotWords.value[activeSearchKey.value];
16544
16597
  if (!searchStr.value && (targetHotWord == null ? void 0 : targetHotWord.url) && !isSearchHistory.value) {
16545
16598
  let hotUrl = targetHotWord.url;
@@ -16554,14 +16607,22 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
16554
16607
  return;
16555
16608
  }
16556
16609
  isSearchHistory.value = false;
16557
- const queryKey = params.q || (targetHotWord == null ? void 0 : targetHotWord.content) || "";
16610
+ const queryKey = params.q || (searchStr.value ? "" : targetHotWord == null ? void 0 : targetHotWord.content) || "";
16611
+ const hasQualifier = Boolean(params.scope || params.l || params.path || params.symbol);
16612
+ if (!queryKey && !hasQualifier && typeof document !== "undefined" && document.querySelector) {
16613
+ (_b = document.querySelector("#golbalSearch")) == null ? void 0 : _b.blur();
16614
+ pendingType.value = "";
16615
+ return;
16616
+ }
16558
16617
  const type = resolveSearchType(params);
16559
16618
  pendingType.value = "";
16560
16619
  const query = {
16561
16620
  q: queryKey,
16562
16621
  scope: params.scope,
16563
16622
  repo: params.repo,
16564
- namespace: params.namespace,
16623
+ // 范围值按 scope 写入对应参数:组织 -> org,用户 -> user(不再输出 namespace
16624
+ org: params.scope === "group" ? params.namespace : void 0,
16625
+ user: params.scope === "user" ? params.namespace : void 0,
16565
16626
  l: params.l,
16566
16627
  path: params.path,
16567
16628
  symbol: params.symbol,
@@ -16587,11 +16648,11 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
16587
16648
  } else {
16588
16649
  activeIndex.value = activeIndex.value - 1;
16589
16650
  }
16590
- if (activeIndex.value === searchHistoryList.value.length) {
16651
+ if (activeIndex.value === displayHistoryList.value.length) {
16591
16652
  activeIndex.value = 0;
16592
16653
  }
16593
16654
  if (activeIndex.value < 0) {
16594
- activeIndex.value = searchHistoryList.value.length - 1;
16655
+ activeIndex.value = displayHistoryList.value.length - 1;
16595
16656
  }
16596
16657
  };
16597
16658
  watch(
@@ -16760,9 +16821,8 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
16760
16821
  withDirectives(createElementVNode("div", _hoisted_5$8, [
16761
16822
  createVNode(unref(SearchScopeList), {
16762
16823
  searchScopeList: searchScopeList.value,
16763
- searchStr: keyword.value,
16764
16824
  onScopeSearch
16765
- }, null, 8, ["searchScopeList", "searchStr"]),
16825
+ }, null, 8, ["searchScopeList"]),
16766
16826
  derivedSearchInfo.value.searchScope === "repo" ? (openBlock(), createBlock(unref(ProjectSearch), {
16767
16827
  key: 0,
16768
16828
  searchStr: keyword.value,
@@ -16785,7 +16845,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
16785
16845
  [vShow, searchStr.value]
16786
16846
  ]),
16787
16847
  withDirectives(createVNode(unref(SearchHistoryList), {
16788
- searchHistoryList: searchHistoryList.value,
16848
+ searchHistoryList: displayHistoryList.value,
16789
16849
  visitHistoryList: visitHistoryList.value,
16790
16850
  activeIndex: activeIndex.value,
16791
16851
  onClearHistoryData: clearHistoryData,
@@ -17033,7 +17093,7 @@ const autoAvokeLogin = ({ isLogin, loginFunc, openHarmonyGuide, loginSuccess, lo
17033
17093
  loginFunc({ type: "login", triggerType: "", loginTriggerSource: "router_login_auth", ...loginFuncOpts }, loginSuccess, openHarmonyGuide);
17034
17094
  }
17035
17095
  };
17036
- const NoticeModal = defineAsyncComponent(() => import("./notice-CQA5vMhT.js"));
17096
+ const NoticeModal = defineAsyncComponent(() => import("./notice-Dg4J_55G.js"));
17037
17097
  function clearNotice() {
17038
17098
  if (localStorage$2.getItem("validator_email")) {
17039
17099
  localStorage$2.removeItem("validator_email");
@@ -18221,9 +18281,9 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18221
18281
  const layoutConfig2 = useLayoutConfig();
18222
18282
  const { t: t2 } = i18n.global;
18223
18283
  const route = useRoute();
18224
- const MenuItem = defineAsyncComponent(() => import("./MenuItem-DpsVRNI1.js"));
18225
- const ProjectMenuListV2 = defineAsyncComponent(() => import("./ProjectMenuListV2--kwTN0w7.js"));
18226
- const ProjectMenuList = defineAsyncComponent(() => import("./ProjectMenuList-ydGg0k8T.js"));
18284
+ const MenuItem = defineAsyncComponent(() => import("./MenuItem-DxuQwUd_.js"));
18285
+ const ProjectMenuListV2 = defineAsyncComponent(() => import("./ProjectMenuListV2-ChEQJACG.js"));
18286
+ const ProjectMenuList = defineAsyncComponent(() => import("./ProjectMenuList-CPmq9qlu.js"));
18227
18287
  const props = __props;
18228
18288
  const useReport2 = inject("useReport");
18229
18289
  const userInfo = inject("userInfo");
@@ -24677,7 +24737,7 @@ const _SlidCaptchaManager = class _SlidCaptchaManager {
24677
24737
  __publicField(_SlidCaptchaManager, "instance");
24678
24738
  let SlidCaptchaManager = _SlidCaptchaManager;
24679
24739
  const slidCaptchaManager = SlidCaptchaManager.getInstance();
24680
- const SlidCaptcha = defineAsyncComponent(() => import("./index-D9y-KLIZ.js"));
24740
+ const SlidCaptcha = defineAsyncComponent(() => import("./index-C9y5x38f.js"));
24681
24741
  const useSlidCaptcha = () => {
24682
24742
  const { mount, unMount, isMounted } = usePopup("slid-captcha-popup");
24683
24743
  const open = (config) => {
@@ -24707,7 +24767,7 @@ const useSlidCaptcha = () => {
24707
24767
  close
24708
24768
  };
24709
24769
  };
24710
- const YunpianCaptcha = defineAsyncComponent(() => import("./index-BeIBXUJq.js"));
24770
+ const YunpianCaptcha = defineAsyncComponent(() => import("./index-CuPuXqlC.js"));
24711
24771
  const useYunpianCaptcha = () => {
24712
24772
  const { mount, unMount } = usePopup("yunpian-captcha-popup");
24713
24773
  const open = (config) => {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, onMounted, nextTick, onUnmounted, openBlock, createBlock, unref, withCtx, createElementVNode } from "vue";
2
- import { x as slidCaptchaManager, y as useLayoutConfig, z as isZh, _ as _export_sfc } from "./index-ClSFH0IZ.js";
2
+ import { x as slidCaptchaManager, y as useLayoutConfig, z as isZh, _ as _export_sfc } from "./index-Bj4u8zQ4.js";
3
3
  import { FixedOverlay } from "vue-devui-lal/overlay";
4
4
  import "vue-devui-lal/overlay/style.css";
5
5
  const TARGET_TEXT = "Click in order:";
@@ -8,7 +8,7 @@ import { Message } from "vue-devui-lal/message";
8
8
  import "vue-devui-lal/message/style.css";
9
9
  import { FixedOverlay } from "vue-devui-lal/overlay";
10
10
  import "vue-devui-lal/overlay/style.css";
11
- import { a as i18n, k as usePageResize, z as isZh, _ as _export_sfc } from "./index-ClSFH0IZ.js";
11
+ import { a as i18n, k as usePageResize, z as isZh, _ as _export_sfc } from "./index-Bj4u8zQ4.js";
12
12
  const _YunpianCaptchaManager = class _YunpianCaptchaManager {
13
13
  // eslint-disable-next-line no-useless-constructor
14
14
  constructor() {
@@ -1,7 +1,7 @@
1
1
  import { ref, watchEffect, defineComponent, toDisplayString, unref, useModel, watch, openBlock, createElementBlock, createVNode, normalizeClass, withDirectives, createElementVNode, vShow, mergeModels, inject, withModifiers, createBlock, Fragment, computed, normalizeStyle, createCommentVNode, createTextVNode, onMounted, onUnmounted, renderList, withCtx, reactive } from "vue";
2
2
  import debounce from "lodash/debounce";
3
- import { d as transferNumber, G as GIcon, _ as _export_sfc, s as setLoginTriggerSource, r as reqCatch, f as useRequestReport, h as headRequest, a as i18n, T as TOPIC_TYPE, g as useTimeFormat, j as useCookie, k as usePageResize, L as LANG_ZH, m as isGstarRepo, n as _sfc_main$b, o as isIncubationRepo, p as highlightWords, t as transformUrl, q as _frEventTrack, E as EVENT_NAME, c as REPO_TYPE, e as extractRepoInfoWithURL, w as LANG_KEY } from "./index-ClSFH0IZ.js";
4
- import { t as transWebUrl } from "./transWebUrl-phEOd1Ye.js";
3
+ import { d as transferNumber, G as GIcon, _ as _export_sfc, s as setLoginTriggerSource, r as reqCatch, f as useRequestReport, h as headRequest, a as i18n, T as TOPIC_TYPE, g as useTimeFormat, j as useCookie, k as usePageResize, L as LANG_ZH, m as isGstarRepo, n as _sfc_main$b, o as isIncubationRepo, p as highlightWords, t as transformUrl, q as _frEventTrack, E as EVENT_NAME, c as REPO_TYPE, e as extractRepoInfoWithURL, w as LANG_KEY } from "./index-Bj4u8zQ4.js";
4
+ import { t as transWebUrl } from "./transWebUrl-DNhy-gwP.js";
5
5
  import { useRouter } from "vue-router";
6
6
  import { Row, Col } from "vue-devui-lal/grid";
7
7
  import { Skeleton, SkeletonItem } from "vue-devui-lal/skeleton";
@@ -1,4 +1,4 @@
1
- import { M, N, O, P, Q, S, U, V, B, W, X, Y, Z } from "./index-ClSFH0IZ.js";
1
+ import { M, N, O, P, Q, S, U, V, B, W, X, Y, Z } from "./index-Bj4u8zQ4.js";
2
2
  export {
3
3
  M as EnterpriseHeader,
4
4
  N as GitCodeAside,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, computed, openBlock, createBlock, unref, isRef, withCtx, createElementVNode, normalizeClass, createVNode, createTextVNode } from "vue";
2
- import { i as isPhone, u as useModel } from "./index-ClSFH0IZ.js";
2
+ import { i as isPhone, u as useModel } from "./index-Bj4u8zQ4.js";
3
3
  import { Notification } from "vue-devui-lal/notification";
4
4
  import { Button } from "vue-devui-lal/button";
5
5
  import "vue-devui-lal/notification/style.css";