@opendesign-plus-test/components 0.0.1-rc.136 → 0.0.1-rc.138

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/chunk-OElCookieNotice.cjs.js +1 -1
  2. package/dist/chunk-OElCookieNotice.es.js +2 -4
  3. package/dist/components/logo-swiper/OLogoSwiperItems.vue.d.ts +2 -2
  4. package/dist/components/logo-swiper/index.d.ts +6 -6
  5. package/dist/components/sig/OSigDetail.vue.d.ts +2 -0
  6. package/dist/components/sig/components/OSigItem.vue.d.ts +0 -1
  7. package/dist/components/sig/components/OSigRepo.vue.d.ts +2 -0
  8. package/dist/components/sig/components/utils.d.ts +38 -3
  9. package/dist/components/sig/types.d.ts +7 -2
  10. package/dist/components.cjs.js +38 -38
  11. package/dist/components.css +1 -1
  12. package/dist/components.es.js +8766 -8741
  13. package/dist/treeshaking/components/meeting/OMeetingSigCalendar.css +2 -1
  14. package/dist/treeshaking/components/sig/OSigDetail.css +39 -0
  15. package/dist/treeshaking/components/sig/OSigDetail.vue.d.ts +2 -0
  16. package/dist/treeshaking/components/sig/OSigDetail.vue.mjs +31 -17
  17. package/dist/treeshaking/components/sig/OSigList.css +54 -5
  18. package/dist/treeshaking/components/sig/OSigList.vue.mjs +61 -57
  19. package/dist/treeshaking/components/sig/components/OSigDetailInfoCard.css +11 -1
  20. package/dist/treeshaking/components/sig/components/OSigItem.css +391 -80
  21. package/dist/treeshaking/components/sig/components/OSigItem.vue.d.ts +0 -1
  22. package/dist/treeshaking/components/sig/components/OSigItem.vue.mjs +24 -41
  23. package/dist/treeshaking/components/sig/components/OSigMember.css +0 -60
  24. package/dist/treeshaking/components/sig/components/OSigMember.vue.mjs +12 -17
  25. package/dist/treeshaking/components/sig/components/OSigRepo.css +12 -0
  26. package/dist/treeshaking/components/sig/components/OSigRepo.vue.d.ts +2 -0
  27. package/dist/treeshaking/components/sig/components/OSigRepo.vue.mjs +15 -15
  28. package/dist/treeshaking/components/sig/components/OSigUserContribute.css +24 -0
  29. package/dist/treeshaking/components/sig/components/OSigUserContribute.vue.mjs +12 -10
  30. package/dist/treeshaking/components/sig/components/utils.d.ts +38 -3
  31. package/dist/treeshaking/components/sig/components/utils.mjs +36 -3
  32. package/dist/treeshaking/components/sig/types.d.ts +7 -2
  33. package/dist/treeshaking/i18n/en.mjs +1 -2
  34. package/dist/treeshaking/i18n/zh.mjs +1 -2
  35. package/package.json +3 -3
  36. package/dist/components/sig/components/config-sig.d.ts +0 -1
  37. package/dist/components/video/OVideoDetail.vue.d.ts +0 -7
  38. package/dist/components/video/index.d.ts +0 -27
  39. package/dist/components/video/types.d.ts +0 -24
  40. package/dist/treeshaking/components/sig/components/config-sig.d.ts +0 -1
  41. package/dist/treeshaking/components/sig/components/config-sig.mjs +0 -4
@@ -6,36 +6,31 @@ import IconUser from "../../../_virtual/icon-user.mjs";
6
6
  import IconSigSpace from "../../../_virtual/sig-space.mjs";
7
7
  import _sfc_main$1 from "../../common/TooltipText.vue.mjs";
8
8
  import '../../common/TooltipText.css';
9
+ import { getGitUrl, getGitId } from "./utils.mjs";
9
10
  const _hoisted_1 = { class: "o-sig-item" };
10
11
  const _hoisted_2 = { class: "o-sig-item-header" };
11
12
  const _hoisted_3 = { class: "o-sig-link" };
12
13
  const _hoisted_4 = ["title"];
13
- const _hoisted_5 = { key: 0 };
14
- const _hoisted_6 = {
15
- key: 1,
16
- class: "o-sig-repo"
17
- };
18
- const _hoisted_7 = { class: "o-sig-repo-label" };
19
- const _hoisted_8 = { class: "o-sig-bottom" };
14
+ const _hoisted_5 = { class: "o-sig-bottom" };
15
+ const _hoisted_6 = { class: "o-sig-meta" };
16
+ const _hoisted_7 = { class: "o-sig-meta-text" };
17
+ const _hoisted_8 = { class: "o-sig-popup-content" };
20
18
  const _hoisted_9 = { class: "o-sig-meta" };
21
19
  const _hoisted_10 = { class: "o-sig-meta-text" };
22
20
  const _hoisted_11 = { class: "o-sig-popup-content" };
23
- const _hoisted_12 = { class: "o-sig-meta" };
24
- const _hoisted_13 = { class: "o-sig-meta-text" };
25
- const _hoisted_14 = { class: "o-sig-popup-content" };
26
21
  const _sfc_main = /* @__PURE__ */ defineComponent({
27
22
  __name: "OSigItem",
28
23
  props: {
29
24
  sig: {},
30
25
  locale: {},
31
- mobile: { type: Boolean },
32
- activeRepo: {}
26
+ mobile: { type: Boolean }
33
27
  },
34
28
  emits: ["to-sig-detail"],
35
29
  setup(__props, { emit: __emit }) {
30
+ const { t, locale } = useI18n();
31
+ console.log(locale);
36
32
  const emit = __emit;
37
- const { t } = useI18n();
38
- const lastSeparator = (i, len) => i === (len ?? 0) - 1 ? "" : "、";
33
+ const lastSeparator = (i, len) => i === (len ?? 0) - 1 ? "" : locale.value === "zh" ? "、" : ", ";
39
34
  return (_ctx, _cache) => {
40
35
  return openBlock(), createElementBlock("div", _hoisted_1, [
41
36
  createElementVNode("div", _hoisted_2, [
@@ -48,14 +43,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
48
43
  class: "o-sig-type-tag"
49
44
  }, {
50
45
  default: withCtx(() => [
51
- createTextVNode(toDisplayString((__props.locale === "zh" ? __props.sig.feature_zh : __props.sig.feature_en) || unref(t)("sig.other")), 1)
46
+ createTextVNode(toDisplayString((unref(locale) === "zh" ? __props.sig.feature_zh : __props.sig.feature_en) || unref(t)("sig.other")), 1)
52
47
  ]),
53
48
  _: 1
54
49
  })
55
50
  ]),
56
51
  createElementVNode("div", _hoisted_3, [
57
52
  createVNode(unref(OLink), {
58
- href: `https://atomgit.com/${__props.sig.atomgitUrl}`,
53
+ href: __props.sig.atomgitUrl,
59
54
  target: "_blank",
60
55
  "hover-underline": false
61
56
  }, {
@@ -101,25 +96,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
101
96
  }, 8, ["href"])) : createCommentVNode("", true)
102
97
  ]),
103
98
  createElementVNode("div", {
104
- title: __props.activeRepo ? "" : __props.sig.description,
99
+ title: __props.sig.description,
105
100
  class: "o-sig-description"
106
101
  }, [
107
- !__props.activeRepo ? (openBlock(), createElementBlock("div", _hoisted_5, toDisplayString(__props.sig.description), 1)) : (openBlock(), createElementBlock("div", _hoisted_6, [
108
- createElementVNode("div", _hoisted_7, toDisplayString(unref(t)("sig.repo")) + ":", 1),
109
- createVNode(unref(OLink), {
110
- color: "primary",
111
- href: `https://atomgit.com/${__props.activeRepo}`,
112
- target: "_blank"
113
- }, {
114
- default: withCtx(() => [
115
- createTextVNode(toDisplayString(__props.activeRepo), 1)
116
- ]),
117
- _: 1
118
- }, 8, ["href"])
119
- ]))
102
+ createElementVNode("div", null, toDisplayString(__props.sig.description || "--"), 1)
120
103
  ], 8, _hoisted_4),
121
- createElementVNode("div", _hoisted_8, [
122
- createElementVNode("div", _hoisted_9, [
104
+ createElementVNode("div", _hoisted_5, [
105
+ createElementVNode("div", _hoisted_6, [
123
106
  createVNode(unref(OIcon), null, {
124
107
  default: withCtx(() => [
125
108
  createVNode(unref(IconSigSpace))
@@ -134,11 +117,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
134
117
  target: withCtx(() => {
135
118
  var _a;
136
119
  return [
137
- createElementVNode("p", _hoisted_10, toDisplayString(unref(t)("sig.repo")) + " " + toDisplayString((_a = __props.sig.repositories) == null ? void 0 : _a.length), 1)
120
+ createElementVNode("p", _hoisted_7, toDisplayString(unref(t)("sig.repo")) + " " + toDisplayString((_a = __props.sig.repositories) == null ? void 0 : _a.length), 1)
138
121
  ];
139
122
  }),
140
123
  default: withCtx(() => [
141
- createElementVNode("div", _hoisted_11, [
124
+ createElementVNode("div", _hoisted_8, [
142
125
  createVNode(unref(OScroller), {
143
126
  showType: "always",
144
127
  size: "small"
@@ -149,7 +132,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
149
132
  key: item,
150
133
  class: "o-sig-popup-item",
151
134
  color: "primary",
152
- href: `https://atomgit.com/${item}`,
135
+ href: unref(getGitUrl)(item),
153
136
  target: "_blank"
154
137
  }, {
155
138
  default: withCtx(() => {
@@ -170,7 +153,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
170
153
  })
171
154
  ]),
172
155
  createVNode(unref(ODivider), { direction: "v" }),
173
- createElementVNode("div", _hoisted_12, [
156
+ createElementVNode("div", _hoisted_9, [
174
157
  createVNode(unref(OIcon), null, {
175
158
  default: withCtx(() => [
176
159
  createVNode(unref(IconUser))
@@ -185,11 +168,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
185
168
  target: withCtx(() => {
186
169
  var _a;
187
170
  return [
188
- createElementVNode("p", _hoisted_13, "Maintainer " + toDisplayString((_a = __props.sig.maintainer_info) == null ? void 0 : _a.length), 1)
171
+ createElementVNode("p", _hoisted_10, "Maintainer " + toDisplayString((_a = __props.sig.maintainer_info) == null ? void 0 : _a.length), 1)
189
172
  ];
190
173
  }),
191
174
  default: withCtx(() => [
192
- createElementVNode("div", _hoisted_14, [
175
+ createElementVNode("div", _hoisted_11, [
193
176
  createVNode(unref(OScroller), {
194
177
  showType: "always",
195
178
  size: "small"
@@ -197,16 +180,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
197
180
  default: withCtx(() => [
198
181
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.sig.maintainer_info, (item, i) => {
199
182
  return openBlock(), createBlock(unref(OLink), {
200
- key: item.gitee_id,
183
+ key: i,
201
184
  class: "o-sig-popup-item",
202
185
  color: "primary",
203
- href: item.email ? `mailto:${item.email}` : void 0,
186
+ href: unref(getGitUrl)(item),
204
187
  target: "_blank"
205
188
  }, {
206
189
  default: withCtx(() => {
207
190
  var _a;
208
191
  return [
209
- createTextVNode(toDisplayString(item.gitee_id + lastSeparator(i, (_a = __props.sig.maintainer_info) == null ? void 0 : _a.length)), 1)
192
+ createTextVNode(toDisplayString(unref(getGitId)(item) + lastSeparator(i, (_a = __props.sig.maintainer_info) == null ? void 0 : _a.length)), 1)
210
193
  ];
211
194
  }),
212
195
  _: 2
@@ -193,36 +193,6 @@
193
193
  -webkit-box-orient: vertical;
194
194
  -webkit-line-clamp: 1;
195
195
  }
196
- @media (max-width: 840px) {
197
- .o-sig-detail-member .o-sig-detail-member-box .o-sig-detail-member-list .o-sig-detail-member-info .o-sig-detail-member-info-left .o-sig-detail-info .o-sig-detail-member-id {
198
- font-size: 16px;
199
- line-height: 24px;
200
- }
201
- }
202
- @media (max-width: 840px) and (min-width: 1201px) and (max-width: 1680px) {
203
- .o-sig-detail-member .o-sig-detail-member-box .o-sig-detail-member-list .o-sig-detail-member-info .o-sig-detail-member-info-left .o-sig-detail-info .o-sig-detail-member-id {
204
- font-size: 14px;
205
- line-height: 22px;
206
- }
207
- }
208
- @media (max-width: 840px) and (min-width: 841px) and (max-width: 1200px) {
209
- .o-sig-detail-member .o-sig-detail-member-box .o-sig-detail-member-list .o-sig-detail-member-info .o-sig-detail-member-info-left .o-sig-detail-info .o-sig-detail-member-id {
210
- font-size: 14px;
211
- line-height: 22px;
212
- }
213
- }
214
- @media (max-width: 840px) and (min-width: 601px) and (max-width: 840px) {
215
- .o-sig-detail-member .o-sig-detail-member-box .o-sig-detail-member-list .o-sig-detail-member-info .o-sig-detail-member-info-left .o-sig-detail-info .o-sig-detail-member-id {
216
- font-size: 14px;
217
- line-height: 22px;
218
- }
219
- }
220
- @media (max-width: 840px) and (max-width: 600px) {
221
- .o-sig-detail-member .o-sig-detail-member-box .o-sig-detail-member-list .o-sig-detail-member-info .o-sig-detail-member-info-left .o-sig-detail-info .o-sig-detail-member-id {
222
- font-size: 12px;
223
- line-height: 18px;
224
- }
225
- }
226
196
  .o-sig-detail-member .o-sig-detail-member-box .o-sig-detail-member-list .o-sig-detail-member-info .o-sig-detail-member-info-left .o-sig-detail-info .o-sig-detail-member-name {
227
197
  color: var(--o-color-info4);
228
198
  font-size: 12px;
@@ -252,36 +222,6 @@
252
222
  line-height: 18px;
253
223
  }
254
224
  }
255
- @media (max-width: 840px) {
256
- .o-sig-detail-member .o-sig-detail-member-box .o-sig-detail-member-list .o-sig-detail-member-info .o-sig-detail-member-info-left .o-sig-detail-info .o-sig-detail-member-name {
257
- font-size: 16px;
258
- line-height: 24px;
259
- }
260
- }
261
- @media (max-width: 840px) and (min-width: 1201px) and (max-width: 1680px) {
262
- .o-sig-detail-member .o-sig-detail-member-box .o-sig-detail-member-list .o-sig-detail-member-info .o-sig-detail-member-info-left .o-sig-detail-info .o-sig-detail-member-name {
263
- font-size: 14px;
264
- line-height: 22px;
265
- }
266
- }
267
- @media (max-width: 840px) and (min-width: 841px) and (max-width: 1200px) {
268
- .o-sig-detail-member .o-sig-detail-member-box .o-sig-detail-member-list .o-sig-detail-member-info .o-sig-detail-member-info-left .o-sig-detail-info .o-sig-detail-member-name {
269
- font-size: 14px;
270
- line-height: 22px;
271
- }
272
- }
273
- @media (max-width: 840px) and (min-width: 601px) and (max-width: 840px) {
274
- .o-sig-detail-member .o-sig-detail-member-box .o-sig-detail-member-list .o-sig-detail-member-info .o-sig-detail-member-info-left .o-sig-detail-info .o-sig-detail-member-name {
275
- font-size: 14px;
276
- line-height: 22px;
277
- }
278
- }
279
- @media (max-width: 840px) and (max-width: 600px) {
280
- .o-sig-detail-member .o-sig-detail-member-box .o-sig-detail-member-list .o-sig-detail-member-info .o-sig-detail-member-info-left .o-sig-detail-info .o-sig-detail-member-name {
281
- font-size: 12px;
282
- line-height: 18px;
283
- }
284
- }
285
225
  .o-sig-detail-member .o-sig-detail-member-box .o-sig-detail-member-list .o-sig-detail-member-info .o-sig-detail-member-info-id {
286
226
  align-items: center;
287
227
  }
@@ -9,7 +9,7 @@ import IconChevronDown from "../../../_virtual/icon-chevron-down.mjs";
9
9
  import { useI18n } from "../../../i18n/index.mjs";
10
10
  import { useScreen } from "@opendesign-plus/composables";
11
11
  import { useTheme } from "../../../shared/theme.mjs";
12
- import { detectGitPlatform } from "./utils.mjs";
12
+ import { getGitId, getGitUrl, detectGitPlatform } from "./utils.mjs";
13
13
  const _hoisted_1 = { class: "o-sig-detail-member" };
14
14
  const _hoisted_2 = { class: "o-sig-detail-core o-sig-floor-title" };
15
15
  const _hoisted_3 = { class: "o-sig-detail-member-box" };
@@ -52,6 +52,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
52
52
  const { t } = useI18n();
53
53
  const { isPhone, isPadH, isPadV, leLaptop } = useScreen();
54
54
  const { isDark } = useTheme();
55
+ console.log("isDark", isDark.value);
55
56
  const defaultCount = computed(() => {
56
57
  if (isPadH.value) return 18;
57
58
  if (isPadV.value) return 12;
@@ -100,12 +101,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
100
101
  const rem = committerData.value.length % cols;
101
102
  return rem === 0 ? 0 : cols - rem;
102
103
  });
103
- const getPlatformIcon = (url) => {
104
- const platform = detectGitPlatform(url);
105
- if (platform === "gitee") return "gitee";
106
- if (platform === "atomgit") return "atomgit";
107
- return "";
108
- };
109
104
  return (_ctx, _cache) => {
110
105
  return openBlock(), createElementBlock("div", _hoisted_1, [
111
106
  createElementVNode("p", _hoisted_2, toDisplayString(unref(t)("sig.sigCore", {
@@ -120,33 +115,33 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
120
115
  }]),
121
116
  style: normalizeStyle({ "--o-sig-detail-member-columns": columnsPerRow.value })
122
117
  }, [
123
- (openBlock(true), createElementBlock(Fragment, null, renderList(maintainerData.value, (member, idx) => {
118
+ (openBlock(true), createElementBlock(Fragment, null, renderList(maintainerData.value, (member) => {
124
119
  return openBlock(), createElementBlock("div", {
125
- key: member.gitee_id,
120
+ key: unref(getGitId)(member),
126
121
  class: "o-sig-detail-member-info"
127
122
  }, [
128
123
  createElementVNode("div", {
129
124
  class: normalizeClass(["o-sig-detail-member-info-left", { "o-sig-detail-member-info-id": !member.name }])
130
125
  }, [
131
126
  createVNode(_sfc_main$1, {
132
- name: member.user_login,
127
+ name: unref(getGitId)(member),
133
128
  size: "medium",
134
129
  "custom-size": unref(leLaptop) ? 32 : 0
135
130
  }, null, 8, ["name", "custom-size"]),
136
131
  createElementVNode("div", _hoisted_5, [
137
- createElementVNode("div", _hoisted_6, toDisplayString(member.user_login), 1),
132
+ createElementVNode("div", _hoisted_6, toDisplayString(unref(getGitId)(member)), 1),
138
133
  createElementVNode("div", _hoisted_7, toDisplayString(member.name), 1)
139
134
  ])
140
135
  ], 2),
141
136
  createElementVNode("div", _hoisted_8, [
142
137
  createElementVNode("a", {
143
- href: member.user_homepage_url,
138
+ href: unref(getGitUrl)(member),
144
139
  target: "_blank",
145
140
  rel: "noopener noreferrer"
146
141
  }, [
147
142
  createVNode(unref(OIcon), null, {
148
143
  default: withCtx(() => [
149
- getPlatformIcon(member.user_homepage_url) === "gitee" ? (openBlock(), createBlock(unref(IconGitee), { key: 0 })) : getPlatformIcon(member.user_homepage_url) === "atomgit" ? (openBlock(), createBlock(unref(IconAtomGit), { key: 1 })) : createCommentVNode("", true)
144
+ unref(detectGitPlatform)(unref(getGitUrl)(member)) === "gitee" ? (openBlock(), createBlock(unref(IconGitee), { key: 0 })) : unref(detectGitPlatform)(unref(getGitUrl)(member)) === "atomgit" ? (openBlock(), createBlock(unref(IconAtomGit), { key: 1 })) : createCommentVNode("", true)
150
145
  ]),
151
146
  _: 2
152
147
  }, 1024)
@@ -198,19 +193,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
198
193
  }, [
199
194
  (openBlock(true), createElementBlock(Fragment, null, renderList(committerData.value, (member) => {
200
195
  return openBlock(), createElementBlock("div", {
201
- key: member.gitee_id,
196
+ key: unref(getGitId)(member),
202
197
  class: "o-sig-detail-member-info"
203
198
  }, [
204
199
  createElementVNode("div", {
205
200
  class: normalizeClass(["o-sig-detail-member-info-left", { "o-sig-detail-member-info-id": !member.name }])
206
201
  }, [
207
202
  createVNode(_sfc_main$1, {
208
- name: member.user_login,
203
+ name: unref(getGitId)(member),
209
204
  size: "medium",
210
205
  "custom-size": unref(leLaptop) ? 32 : 0
211
206
  }, null, 8, ["name", "custom-size"]),
212
207
  createElementVNode("div", _hoisted_13, [
213
- createElementVNode("div", _hoisted_14, toDisplayString(member.user_login), 1),
208
+ createElementVNode("div", _hoisted_14, toDisplayString(unref(getGitId)(member)), 1),
214
209
  createElementVNode("div", _hoisted_15, toDisplayString(member.name), 1)
215
210
  ])
216
211
  ], 2),
@@ -222,7 +217,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
222
217
  }, [
223
218
  createVNode(unref(OIcon), null, {
224
219
  default: withCtx(() => [
225
- getPlatformIcon(member.user_homepage_url) === "gitee" ? (openBlock(), createBlock(unref(IconGitee), { key: 0 })) : getPlatformIcon(member.user_homepage_url) === "atomgit" ? (openBlock(), createBlock(unref(IconAtomGit), { key: 1 })) : createCommentVNode("", true)
220
+ unref(detectGitPlatform)(unref(getGitUrl)(member)) === "gitee" ? (openBlock(), createBlock(unref(IconGitee), { key: 0 })) : unref(detectGitPlatform)(unref(getGitUrl)(member)) === "atomgit" ? (openBlock(), createBlock(unref(IconAtomGit), { key: 1 })) : createCommentVNode("", true)
226
221
  ]),
227
222
  _: 2
228
223
  }, 1024)
@@ -17,6 +17,15 @@
17
17
  table-layout: fixed;
18
18
  width: 100%;
19
19
  }
20
+ .o-sig-detail-repo .o-sig-detail-repo-table .o-table-inner-table colgroup col:nth-child(1) {
21
+ width: 20%;
22
+ }
23
+ .o-sig-detail-repo .o-sig-detail-repo-table .o-table-inner-table colgroup col:nth-child(2) {
24
+ width: 40%;
25
+ }
26
+ .o-sig-detail-repo .o-sig-detail-repo-table .o-table-inner-table colgroup col:nth-child(3) {
27
+ width: 40%;
28
+ }
20
29
  @media (max-width: 840px) {
21
30
  .o-sig-detail-repo .o-sig-detail-repo-table {
22
31
  margin-top: 12px;
@@ -60,6 +69,9 @@
60
69
  display: block;
61
70
  word-break: break-all;
62
71
  }
72
+ .o-sig-detail-repo .o-sig-detail-repo-table .o-table-body-cell .o-link {
73
+ display: inline-block;
74
+ }
63
75
  .o-sig-detail-repo .o-sig-detail-pagination {
64
76
  margin-top: var(--grid-column-gutter);
65
77
  display: flex;
@@ -1,8 +1,10 @@
1
1
  import { SigRepoEntryT } from '../types';
2
2
  interface SigRepoPropsT {
3
3
  repositories?: SigRepoEntryT[];
4
+ gitBase?: string;
4
5
  }
5
6
  declare const _default: import('vue').DefineComponent<SigRepoPropsT, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<SigRepoPropsT> & Readonly<{}>, {
6
7
  repositories: SigRepoEntryT[];
8
+ gitBase: string;
7
9
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
8
10
  export default _default;
@@ -2,6 +2,7 @@ import { defineComponent, ref, computed, watch, openBlock, createElementBlock, c
2
2
  import { ODataTable, OLink, OPagination } from "@opensig/opendesign";
3
3
  import { useI18n } from "../../../i18n/index.mjs";
4
4
  import { useScreen } from "@opendesign-plus/composables";
5
+ import { getGitId, getGitUrl } from "./utils.mjs";
5
6
  const _hoisted_1 = {
6
7
  id: "repositories",
7
8
  class: "o-sig-detail-repo"
@@ -15,7 +16,8 @@ const _hoisted_4 = {
15
16
  const _sfc_main = /* @__PURE__ */ defineComponent({
16
17
  __name: "OSigRepo",
17
18
  props: {
18
- repositories: { default: () => [] }
19
+ repositories: { default: () => [] },
20
+ gitBase: { default: "https://atomgit.com/" }
19
21
  },
20
22
  setup(__props) {
21
23
  const props = __props;
@@ -28,8 +30,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
28
30
  return props.repositories.filter((item) => {
29
31
  var _a, _b, _c, _d, _e;
30
32
  if (((_a = conditions.value.repo) == null ? void 0 : _a.length) && !conditions.value.repo.includes(item.repo)) return false;
31
- if (((_b = conditions.value.maintainers) == null ? void 0 : _b.length) && !((_c = item.maintainers) == null ? void 0 : _c.some((m) => conditions.value.maintainers.includes(m.user_login)))) return false;
32
- if (((_d = conditions.value.committers) == null ? void 0 : _d.length) && !((_e = item.committers) == null ? void 0 : _e.some((c) => conditions.value.committers.includes(c.user_login)))) return false;
33
+ if (((_b = conditions.value.maintainers) == null ? void 0 : _b.length) && !((_c = item.maintainers) == null ? void 0 : _c.some((m) => conditions.value.maintainers.includes(getGitId(m))))) return false;
34
+ if (((_d = conditions.value.committers) == null ? void 0 : _d.length) && !((_e = item.committers) == null ? void 0 : _e.some((c) => conditions.value.committers.includes(getGitId(c))))) return false;
33
35
  return true;
34
36
  });
35
37
  });
@@ -54,14 +56,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
54
56
  );
55
57
  const onConditionUpdate = (payload) => {
56
58
  if (payload) {
57
- conditions.value = { ...conditions.value, [payload.key]: payload.newVal };
58
59
  currentPage.value = 1;
60
+ conditions.value = { ...conditions.value, [payload.key]: payload.newVal };
59
61
  }
60
62
  };
61
63
  const uniqueLogins = (rows, field) => {
62
64
  const set = /* @__PURE__ */ new Set();
63
65
  rows.forEach(
64
- (item) => (item[field] || []).forEach((p) => p.user_login && set.add(p.user_login))
66
+ (item) => (item[field] || []).forEach((p) => getGitId(p) && set.add(getGitId(p)))
65
67
  );
66
68
  return [...set].map((v) => ({ label: v, value: v }));
67
69
  };
@@ -69,7 +71,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
69
71
  {
70
72
  key: "repo",
71
73
  label: t("sig.repositoryName"),
72
- width: "20%",
73
74
  filter: {
74
75
  optionsFn: () => props.repositories.map((item) => ({ label: item.repo, value: item.repo })),
75
76
  multiple: false
@@ -78,7 +79,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
78
79
  {
79
80
  key: "maintainers",
80
81
  label: t("sig.maintainerEn"),
81
- width: "40%",
82
82
  filter: {
83
83
  optionsFn: () => uniqueLogins(props.repositories, "maintainers"),
84
84
  multiple: false
@@ -87,7 +87,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
87
87
  {
88
88
  key: "committers",
89
89
  label: t("sig.committer"),
90
- width: "40%",
91
90
  filter: {
92
91
  optionsFn: () => uniqueLogins(props.repositories, "committers"),
93
92
  multiple: false
@@ -104,13 +103,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
104
103
  border: "row-frame",
105
104
  data: repositoryList.value,
106
105
  "row-key": "repo",
106
+ "min-table-width": 840,
107
107
  onConditionUpdate
108
108
  }, {
109
109
  td_repo: withCtx(({ row }) => [
110
110
  createVNode(unref(OLink), {
111
111
  target: "_blank",
112
112
  rel: "noopener noreferrer",
113
- href: `https://atomgit.com/${row.repo}`
113
+ href: unref(getGitUrl)(row.repo)
114
114
  }, {
115
115
  default: withCtx(() => [
116
116
  createTextVNode(toDisplayString(row.repo), 1)
@@ -121,13 +121,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
121
121
  td_maintainers: withCtx(({ row }) => [
122
122
  (openBlock(true), createElementBlock(Fragment, null, renderList(row.maintainers, (item, index) => {
123
123
  return openBlock(), createBlock(unref(OLink), {
124
- key: item.user_login,
125
124
  target: "_blank",
125
+ key: index,
126
126
  rel: "noopener noreferrer",
127
- href: item.user_homepage_url
127
+ href: unref(getGitUrl)(item)
128
128
  }, {
129
129
  default: withCtx(() => [
130
- createTextVNode(toDisplayString(item.user_login) + " ", 1),
130
+ createTextVNode(toDisplayString(unref(getGitId)(item)) + " ", 1),
131
131
  withDirectives(createElementVNode("span", null, toDisplayString(unref(locale) === "zh" ? "、" : ", "), 513), [
132
132
  [vShow, index !== row.maintainers.length - 1]
133
133
  ])
@@ -141,13 +141,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
141
141
  return [
142
142
  ((_a = row.committers) == null ? void 0 : _a.length) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(row.committers, (item, index) => {
143
143
  return openBlock(), createBlock(unref(OLink), {
144
- key: item.user_login,
144
+ key: index,
145
145
  target: "_blank",
146
146
  rel: "noopener noreferrer",
147
- href: item.user_homepage_url
147
+ href: unref(getGitUrl)(item)
148
148
  }, {
149
149
  default: withCtx(() => [
150
- createTextVNode(toDisplayString(item.user_login) + " ", 1),
150
+ createTextVNode(toDisplayString(unref(getGitId)(item)) + " ", 1),
151
151
  withDirectives(createElementVNode("span", null, toDisplayString(unref(locale) === "zh" ? "、" : ", "), 513), [
152
152
  [vShow, index !== row.committers.length - 1]
153
153
  ])
@@ -6,6 +6,11 @@
6
6
  transform: rotate(-180deg);
7
7
  }
8
8
  }
9
+ .o-sig-detail-contribute .o-input {
10
+ --_box-bg-color: var(--o-color-fill2);
11
+ --_box-bg-color-hover: var(--o-color-fill2);
12
+ --_box-bg-color-focus: var(--o-color-fill2);
13
+ }
9
14
  .o-sig-detail-contribute .o-sig-detail-contribute-title {
10
15
  font-weight: 600;
11
16
  font-size: 20px;
@@ -194,13 +199,31 @@
194
199
  .o-sig-detail-contribute .o-table {
195
200
  margin-top: var(--o-gap-3);
196
201
  }
202
+ .o-sig-detail-contribute .o-table .o-scroller-container {
203
+ min-width: 0;
204
+ }
197
205
  .o-sig-detail-contribute .o-table table {
198
206
  display: table;
199
207
  width: 100%;
208
+ table-layout: fixed;
209
+ }
210
+ .o-sig-detail-contribute .o-table table colgroup col:nth-child(1) {
211
+ width: 80px;
212
+ }
213
+ .o-sig-detail-contribute .o-table table colgroup col:nth-child(2) {
214
+ width: 180px;
215
+ }
216
+ @media (max-width: 840px) {
217
+ .o-sig-detail-contribute .o-table table colgroup col:nth-child(2) {
218
+ width: 120px;
219
+ }
200
220
  }
201
221
  .o-sig-detail-contribute .o-table thead::after {
202
222
  display: none;
203
223
  }
224
+ .o-sig-detail-contribute .o-table .o-table-cell__inner-content {
225
+ word-break: keep-all;
226
+ }
204
227
  .o-sig-detail-contribute .user-id-link {
205
228
  display: flex;
206
229
  flex-wrap: nowrap;
@@ -222,6 +245,7 @@
222
245
  min-width: 0;
223
246
  }
224
247
  .o-sig-detail-contribute .o-sig-detail-contribute-cell {
248
+ width: 100%;
225
249
  display: flex;
226
250
  align-items: center;
227
251
  flex-wrap: nowrap;
@@ -1,10 +1,11 @@
1
1
  import { defineComponent, computed, ref, onMounted, openBlock, createElementBlock, createElementVNode, toDisplayString, unref, createVNode, withCtx, normalizeClass, Fragment, renderList, createTextVNode, createBlock, createCommentVNode, normalizeStyle } from "vue";
2
- import { OCard, OForm, OFormItem, ORadioGroup, ORadio, OToggle, ODateRangePicker, OInput, OIcon, OIconSearch, OCheckboxGroup, OCheckbox, OTable, OProgress, OLink, OPagination } from "@opensig/opendesign";
2
+ import { OCard, OForm, OFormItem, ORadioGroup, ORadio, OToggle, ODateRangePicker, OInput, OIcon, OIconSearch, OCheckboxGroup, OCheckbox, ODataTable, OProgress, OLink, OPagination } from "@opensig/opendesign";
3
3
  import { refDebounced } from "@vueuse/core";
4
4
  import { useI18n } from "../../../i18n/index.mjs";
5
5
  import { useScreen } from "@opendesign-plus/composables";
6
6
  import _sfc_main$1 from "../../common/TooltipText.vue.mjs";
7
7
  import '../../common/TooltipText.css';
8
+ import { getGitUrl, getGitId } from "./utils.mjs";
8
9
  const _hoisted_1 = { class: "o-sig-detail-contribute" };
9
10
  const _hoisted_2 = { class: "o-sig-floor-title" };
10
11
  const _hoisted_3 = { class: "o-sig-detail-contribute-title" };
@@ -79,8 +80,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
79
80
  });
80
81
  const columns = computed(() => {
81
82
  return [
82
- { key: "number", label: t("sig.NUMBER"), style: { width: "60px" } },
83
- { key: "user_login", label: "GitCode ID", style: { width: isPhone.value ? "100px" : "180px" } },
83
+ { key: "idx", label: t("sig.NUMBER") },
84
+ { key: "user_login", label: "GitCode ID" },
84
85
  { key: "contribute", label: typeLabel.value }
85
86
  ];
86
87
  });
@@ -256,14 +257,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
256
257
  _: 1
257
258
  }, 8, ["modelValue"])
258
259
  ]),
259
- createVNode(unref(OTable), {
260
+ createVNode(unref(ODataTable), {
260
261
  data: displayContributionData.value,
261
262
  columns: columns.value,
262
263
  border: "row-frame",
263
- small: ""
264
+ small: "",
265
+ "min-table-width": 840
264
266
  }, {
265
- td_number: withCtx(({ rowIndex }) => [
266
- createElementVNode("span", null, toDisplayString(rowIndex + 1), 1)
267
+ td_idx: withCtx(({ index }) => [
268
+ createElementVNode("span", null, toDisplayString(index + 1), 1)
267
269
  ]),
268
270
  td_user_login: withCtx(({ row }) => [
269
271
  createVNode(unref(OLink), {
@@ -271,7 +273,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
271
273
  color: "primary",
272
274
  target: "_blank",
273
275
  rel: "noopener noreferrer",
274
- href: row.userLink
276
+ href: unref(getGitUrl)(row)
275
277
  }, {
276
278
  icon: withCtx(() => [
277
279
  createElementVNode("div", {
@@ -282,7 +284,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
282
284
  default: withCtx(() => [
283
285
  createVNode(_sfc_main$1, null, {
284
286
  default: withCtx(() => [
285
- createTextVNode(toDisplayString(row.user_login), 1)
287
+ createTextVNode(toDisplayString(unref(getGitId)(row)), 1)
286
288
  ]),
287
289
  _: 2
288
290
  }, 1024)
@@ -306,7 +308,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
306
308
  ]),
307
309
  _: 1
308
310
  }),
309
- filterData.value.length ? (openBlock(), createBlock(unref(OPagination), {
311
+ pageSize.value < filterData.value.length ? (openBlock(), createBlock(unref(OPagination), {
310
312
  key: 0,
311
313
  total: filterData.value.length,
312
314
  "page-sizes": pageSizes,
@@ -1,6 +1,41 @@
1
- export type Lang = 'zh' | 'en';
2
1
  /**
3
2
  * 判断链接来自 GITEE / ATOMGIT
4
3
  */
5
- export declare const detectGitPlatform: (url: string) => string;
6
- export declare function foldI18n<T>(data: T, lang: Lang): T;
4
+ export declare const detectGitPlatform: (url: string | undefined) => string;
5
+ /**
6
+ * 根据用户标识生成对应的代码托管平台主页地址。
7
+ *
8
+ * - `params` 为字符串时,视为 atomgit 用户名,返回 `https://atomgit.com/{params}`。
9
+ * - `params` 为对象时,按以下顺序取首个存在的字段返回地址(空值视为不存在):
10
+ * 1. `user_homepage_url` -> 原值直接返回;
11
+ * 2. `gitcode_id` -> `https://atomgit.com/{gitcode_id}`;
12
+ * 3. `atomgit_id` -> `https://atomgit.com/{atomgit_id}`;
13
+ * 4. `gitee_id` -> `https://gitee.com/{gitee_id}`;
14
+ * 5. `user_login` -> `https://atomgit.com/{user_login}`。
15
+ * - 其余类型或均无匹配字段时返回 `undefined`。
16
+ *
17
+ * @param params 用户名或用户信息对象
18
+ * @returns 代码托管平台主页地址,无匹配时为 `undefined`
19
+ */
20
+ export declare const getGitUrl: (params: undefined | string | {
21
+ gitee_id?: string;
22
+ gitcode_id?: string;
23
+ atomgit_id?: string;
24
+ user_homepage_url?: string;
25
+ user_login?: string;
26
+ }) => string | undefined;
27
+ /**
28
+ * 按顺序获取用户对象中的首个有效 git 标识。
29
+ *
30
+ * 依次尝试 `gitcode_id` -> `atomgit_id` -> `gitee_id` -> `user_login`,
31
+ * 返回首个存在的字段值(空值视为不存在)。
32
+ *
33
+ * @param params 用户信息对象
34
+ * @returns 首个匹配的 git 标识,无匹配时为空字符串
35
+ */
36
+ export declare const getGitId: (params: undefined | {
37
+ gitee_id?: string;
38
+ gitcode_id?: string;
39
+ atomgit_id?: string;
40
+ user_login?: string;
41
+ }) => string;