@opendesign-plus-test/components 0.0.1-rc.135 → 0.0.1-rc.137
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.
- package/dist/chunk-OElCookieNotice.cjs.js +1 -1
- package/dist/chunk-OElCookieNotice.es.js +14 -14
- package/dist/components/feedback-doc/OFeedbackDoc.vue.d.ts +6 -1
- package/dist/components/feedback-doc/OFeedbackDocContent.vue.d.ts +2 -0
- package/dist/components/feedback-doc/OFeedbackDocDialog.vue.d.ts +6 -1
- package/dist/components/feedback-doc/OFeedbackDocPopup.vue.d.ts +4 -0
- package/dist/components/feedback-doc/index.d.ts +54 -6
- package/dist/components/footer/OFooter.vue.d.ts +4 -25
- package/dist/components/footer/components/FooterList.vue.d.ts +21 -0
- package/dist/components/footer/components/FooterSimple.vue.d.ts +23 -0
- package/dist/components/footer/index.d.ts +8 -64
- package/dist/components/footer/types.d.ts +48 -0
- package/dist/components/logo-swiper/OLogoSwiper.vue.d.ts +17 -0
- package/dist/components/logo-swiper/OLogoSwiperItems.vue.d.ts +17 -0
- package/dist/components/logo-swiper/index.d.ts +73 -0
- package/dist/components/logo-swiper/types.d.ts +18 -0
- package/dist/components/sig/OSigList.vue.d.ts +2 -2
- package/dist/components/sig/components/OSigItem.vue.d.ts +1 -5
- package/dist/components/sig/components/utils.d.ts +37 -2
- package/dist/components/sig/types.d.ts +7 -3
- package/dist/components.cjs.js +40 -40
- package/dist/components.css +1 -1
- package/dist/components.es.js +12961 -12870
- package/dist/index.d.ts +1 -0
- package/dist/treeshaking/_virtual/icon-filter.mjs +6 -5
- package/dist/treeshaking/components/activity/OActivityApproval.css +3 -6
- package/dist/treeshaking/components/activity/OActivityApproval2.css +3 -6
- package/dist/treeshaking/components/activity/OActivityForm.css +3 -6
- package/dist/treeshaking/components/activity/OActivityForm2.css +3 -6
- package/dist/treeshaking/components/activity/OActivityMyCalendar.css +3 -6
- package/dist/treeshaking/components/activity/OActivityMyCalendar2.css +3 -6
- package/dist/treeshaking/components/common/ThFilter.vue.mjs +1 -1
- package/dist/treeshaking/components/common/TooltipText.vue.mjs +3 -2
- package/dist/treeshaking/components/element-plus/OElCookieNotice.css +3 -6
- package/dist/treeshaking/components/element-plus/OElCookieNotice2.css +3 -6
- package/dist/treeshaking/components/feedback-doc/OFeedbackDoc.css +5 -5
- package/dist/treeshaking/components/feedback-doc/OFeedbackDoc.vue.d.ts +6 -1
- package/dist/treeshaking/components/feedback-doc/OFeedbackDoc.vue.mjs +1 -1
- package/dist/treeshaking/components/feedback-doc/OFeedbackDoc.vue2.mjs +10 -4
- package/dist/treeshaking/components/feedback-doc/OFeedbackDocContent.css +27 -27
- package/dist/treeshaking/components/feedback-doc/OFeedbackDocContent.vue.d.ts +2 -0
- package/dist/treeshaking/components/feedback-doc/OFeedbackDocContent.vue.mjs +1 -1
- package/dist/treeshaking/components/feedback-doc/OFeedbackDocContent.vue2.mjs +8 -3
- package/dist/treeshaking/components/feedback-doc/OFeedbackDocDialog.vue.d.ts +6 -1
- package/dist/treeshaking/components/feedback-doc/OFeedbackDocDialog.vue.mjs +12 -5
- package/dist/treeshaking/components/feedback-doc/OFeedbackDocPopup.css +3 -3
- package/dist/treeshaking/components/feedback-doc/OFeedbackDocPopup.vue.d.ts +4 -0
- package/dist/treeshaking/components/feedback-doc/OFeedbackDocPopup.vue.mjs +1 -1
- package/dist/treeshaking/components/feedback-doc/OFeedbackDocPopup.vue2.mjs +7 -3
- package/dist/treeshaking/components/feedback-doc/index.d.ts +54 -6
- package/dist/treeshaking/components/footer/OFooter.css +33 -590
- package/dist/treeshaking/components/footer/OFooter.vue.d.ts +4 -25
- package/dist/treeshaking/components/footer/OFooter.vue.mjs +1 -1
- package/dist/treeshaking/components/footer/OFooter.vue2.mjs +76 -332
- package/dist/treeshaking/components/footer/components/FooterList.css +462 -0
- package/dist/treeshaking/components/footer/components/FooterList.vue.d.ts +21 -0
- package/dist/treeshaking/components/footer/components/FooterList.vue.mjs +7 -0
- package/dist/treeshaking/components/footer/components/FooterList.vue2.mjs +215 -0
- package/dist/treeshaking/components/footer/components/FooterSimple.css +123 -0
- package/dist/treeshaking/components/footer/components/FooterSimple.vue.d.ts +23 -0
- package/dist/treeshaking/components/footer/components/FooterSimple.vue.mjs +7 -0
- package/dist/treeshaking/components/footer/components/FooterSimple.vue2.mjs +109 -0
- package/dist/treeshaking/components/footer/index.d.ts +8 -64
- package/dist/treeshaking/components/footer/types.d.ts +48 -0
- package/dist/treeshaking/components/header/components/HeaderContent.css +184 -184
- package/dist/treeshaking/components/header/components/HeaderContent.vue.mjs +1 -1
- package/dist/treeshaking/components/header/components/HeaderContent.vue2.mjs +1 -1
- package/dist/treeshaking/components/header/components/HeaderFlatten.css +57 -57
- package/dist/treeshaking/components/header/components/HeaderFlatten.vue.mjs +1 -1
- package/dist/treeshaking/components/header/components/HeaderFlatten.vue2.mjs +5 -5
- package/dist/treeshaking/components/header/components/HeaderNavMobile.css +80 -80
- package/dist/treeshaking/components/header/components/HeaderNavMobile.vue.mjs +1 -1
- package/dist/treeshaking/components/header/components/HeaderNavMobile.vue2.mjs +7 -1
- package/dist/treeshaking/components/logo-swiper/OLogoSwiper.css +31 -0
- package/dist/treeshaking/components/logo-swiper/OLogoSwiper.vue.d.ts +17 -0
- package/dist/treeshaking/components/logo-swiper/OLogoSwiper.vue.mjs +14 -0
- package/dist/treeshaking/components/logo-swiper/OLogoSwiperItems.css +88 -0
- package/dist/treeshaking/components/logo-swiper/OLogoSwiperItems.vue.d.ts +17 -0
- package/dist/treeshaking/components/logo-swiper/OLogoSwiperItems.vue.mjs +7 -0
- package/dist/treeshaking/components/logo-swiper/OLogoSwiperItems.vue2.mjs +158 -0
- package/dist/treeshaking/components/logo-swiper/index.d.ts +73 -0
- package/dist/treeshaking/components/logo-swiper/index.mjs +16 -0
- package/dist/treeshaking/components/logo-swiper/types.d.ts +18 -0
- package/dist/treeshaking/components/meeting/OMeetingCalendar.css +3 -6
- package/dist/treeshaking/components/meeting/OMeetingForm.css +3 -6
- package/dist/treeshaking/components/meeting/OMeetingForm2.css +3 -6
- package/dist/treeshaking/components/meeting/OMeetingMyCalendar.css +3 -6
- package/dist/treeshaking/components/meeting/OMeetingMyCalendar2.css +3 -6
- package/dist/treeshaking/components/meeting/OMeetingSigCalendar.css +2 -1
- package/dist/treeshaking/components/meeting/components/OMeetingCalendarSelector.css +3 -6
- package/dist/treeshaking/components/meeting/components/OMeetingCalendarSelector2.css +3 -6
- package/dist/treeshaking/components/meeting/components/OMeetingPlaybackSubtitles.css +3 -6
- package/dist/treeshaking/components/meeting/components/OMeetingPlaybackSubtitles2.css +3 -6
- package/dist/treeshaking/components/sig/OSigDetail.css +39 -0
- package/dist/treeshaking/components/sig/OSigDetail.vue.mjs +20 -9
- package/dist/treeshaking/components/sig/OSigList.css +353 -76
- package/dist/treeshaking/components/sig/OSigList.vue.d.ts +2 -2
- package/dist/treeshaking/components/sig/OSigList.vue.mjs +172 -262
- package/dist/treeshaking/components/sig/components/OSigItem.css +338 -22
- package/dist/treeshaking/components/sig/components/OSigItem.vue.d.ts +1 -5
- package/dist/treeshaking/components/sig/components/OSigItem.vue.mjs +26 -43
- package/dist/treeshaking/components/sig/components/OSigMember.css +0 -60
- package/dist/treeshaking/components/sig/components/OSigMember.vue.mjs +12 -17
- package/dist/treeshaking/components/sig/components/OSigRepo.css +12 -0
- package/dist/treeshaking/components/sig/components/OSigRepo.vue.mjs +10 -11
- package/dist/treeshaking/components/sig/components/OSigUserContribute.css +24 -0
- package/dist/treeshaking/components/sig/components/OSigUserContribute.vue.mjs +12 -10
- package/dist/treeshaking/components/sig/components/utils.d.ts +37 -2
- package/dist/treeshaking/components/sig/components/utils.mjs +36 -3
- package/dist/treeshaking/components/sig/types.d.ts +7 -3
- package/dist/treeshaking/i18n/en.mjs +2 -2
- package/dist/treeshaking/i18n/zh.mjs +2 -2
- package/dist/treeshaking/index.d.ts +1 -0
- package/dist/treeshaking/index.mjs +3 -0
- package/package.json +3 -3
- package/dist/treeshaking/_virtual/icon-filter2.mjs +0 -21
|
@@ -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
|
|
118
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(maintainerData.value, (member) => {
|
|
124
119
|
return openBlock(), createElementBlock("div", {
|
|
125
|
-
key: member
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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;
|
|
@@ -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 { getGitUrl, getGitId } from "./utils.mjs";
|
|
5
6
|
const _hoisted_1 = {
|
|
6
7
|
id: "repositories",
|
|
7
8
|
class: "o-sig-detail-repo"
|
|
@@ -55,8 +56,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
55
56
|
);
|
|
56
57
|
const onConditionUpdate = (payload) => {
|
|
57
58
|
if (payload) {
|
|
58
|
-
conditions.value = { ...conditions.value, [payload.key]: payload.newVal };
|
|
59
59
|
currentPage.value = 1;
|
|
60
|
+
conditions.value = { ...conditions.value, [payload.key]: payload.newVal };
|
|
60
61
|
}
|
|
61
62
|
};
|
|
62
63
|
const uniqueLogins = (rows, field) => {
|
|
@@ -70,7 +71,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
70
71
|
{
|
|
71
72
|
key: "repo",
|
|
72
73
|
label: t("sig.repositoryName"),
|
|
73
|
-
width: "20%",
|
|
74
74
|
filter: {
|
|
75
75
|
optionsFn: () => props.repositories.map((item) => ({ label: item.repo, value: item.repo })),
|
|
76
76
|
multiple: false
|
|
@@ -79,7 +79,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
79
79
|
{
|
|
80
80
|
key: "maintainers",
|
|
81
81
|
label: t("sig.maintainerEn"),
|
|
82
|
-
width: "40%",
|
|
83
82
|
filter: {
|
|
84
83
|
optionsFn: () => uniqueLogins(props.repositories, "maintainers"),
|
|
85
84
|
multiple: false
|
|
@@ -88,7 +87,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
88
87
|
{
|
|
89
88
|
key: "committers",
|
|
90
89
|
label: t("sig.committer"),
|
|
91
|
-
width: "40%",
|
|
92
90
|
filter: {
|
|
93
91
|
optionsFn: () => uniqueLogins(props.repositories, "committers"),
|
|
94
92
|
multiple: false
|
|
@@ -105,13 +103,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
105
103
|
border: "row-frame",
|
|
106
104
|
data: repositoryList.value,
|
|
107
105
|
"row-key": "repo",
|
|
106
|
+
"min-table-width": 840,
|
|
108
107
|
onConditionUpdate
|
|
109
108
|
}, {
|
|
110
109
|
td_repo: withCtx(({ row }) => [
|
|
111
110
|
createVNode(unref(OLink), {
|
|
112
111
|
target: "_blank",
|
|
113
112
|
rel: "noopener noreferrer",
|
|
114
|
-
href:
|
|
113
|
+
href: unref(getGitUrl)(row.repo)
|
|
115
114
|
}, {
|
|
116
115
|
default: withCtx(() => [
|
|
117
116
|
createTextVNode(toDisplayString(row.repo), 1)
|
|
@@ -122,13 +121,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
122
121
|
td_maintainers: withCtx(({ row }) => [
|
|
123
122
|
(openBlock(true), createElementBlock(Fragment, null, renderList(row.maintainers, (item, index) => {
|
|
124
123
|
return openBlock(), createBlock(unref(OLink), {
|
|
125
|
-
key: item.user_login,
|
|
126
124
|
target: "_blank",
|
|
125
|
+
key: item.user_login,
|
|
127
126
|
rel: "noopener noreferrer",
|
|
128
|
-
href: item
|
|
127
|
+
href: unref(getGitUrl)(item)
|
|
129
128
|
}, {
|
|
130
129
|
default: withCtx(() => [
|
|
131
|
-
createTextVNode(toDisplayString(item
|
|
130
|
+
createTextVNode(toDisplayString(unref(getGitId)(item)) + " ", 1),
|
|
132
131
|
withDirectives(createElementVNode("span", null, toDisplayString(unref(locale) === "zh" ? "、" : ", "), 513), [
|
|
133
132
|
[vShow, index !== row.maintainers.length - 1]
|
|
134
133
|
])
|
|
@@ -142,13 +141,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
142
141
|
return [
|
|
143
142
|
((_a = row.committers) == null ? void 0 : _a.length) ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(row.committers, (item, index) => {
|
|
144
143
|
return openBlock(), createBlock(unref(OLink), {
|
|
145
|
-
key:
|
|
144
|
+
key: index,
|
|
146
145
|
target: "_blank",
|
|
147
146
|
rel: "noopener noreferrer",
|
|
148
|
-
href: item
|
|
147
|
+
href: unref(getGitUrl)(item)
|
|
149
148
|
}, {
|
|
150
149
|
default: withCtx(() => [
|
|
151
|
-
createTextVNode(toDisplayString(item
|
|
150
|
+
createTextVNode(toDisplayString(unref(getGitId)(item)) + " ", 1),
|
|
152
151
|
withDirectives(createElementVNode("span", null, toDisplayString(unref(locale) === "zh" ? "、" : ", "), 513), [
|
|
153
152
|
[vShow, index !== row.committers.length - 1]
|
|
154
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,
|
|
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: "
|
|
83
|
-
{ key: "user_login", label: "GitCode ID"
|
|
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(
|
|
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
|
-
|
|
266
|
-
createElementVNode("span", null, toDisplayString(
|
|
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
|
|
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
|
|
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
4
|
export declare const detectGitPlatform: (url: string) => string;
|
|
6
|
-
|
|
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: 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: {
|
|
37
|
+
gitee_id?: string;
|
|
38
|
+
gitcode_id?: string;
|
|
39
|
+
atomgit_id?: string;
|
|
40
|
+
user_login?: string;
|
|
41
|
+
}) => string;
|
|
@@ -1,10 +1,43 @@
|
|
|
1
|
+
const ATOMGIT_DOMAIN = "atomgit.com";
|
|
2
|
+
const GITEE_DOMAIN = "gitee.com";
|
|
3
|
+
const GITCODE_DOMAIN = "gitcode.com";
|
|
4
|
+
const escapeRegExp = (str) => str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
5
|
+
const GITEE_PLATFORM_RE = new RegExp(`^(https?://)?(www\\.)?${escapeRegExp(GITEE_DOMAIN)}/`);
|
|
6
|
+
const ATOMGIT_PLATFORM_RE = new RegExp(`^(https?://)?(www\\.)?${escapeRegExp(ATOMGIT_DOMAIN)}/`);
|
|
7
|
+
const GITCODE_PLATFORM_RE = new RegExp(`^(https?://)?(www\\.)?${escapeRegExp(GITCODE_DOMAIN)}/`);
|
|
1
8
|
const detectGitPlatform = (url) => {
|
|
2
9
|
if (!url || typeof url !== "string") return "unknown";
|
|
3
10
|
const normalized = url.trim().toLowerCase();
|
|
4
|
-
if (
|
|
5
|
-
if (
|
|
11
|
+
if (GITEE_PLATFORM_RE.test(normalized)) return "gitee";
|
|
12
|
+
if (ATOMGIT_PLATFORM_RE.test(normalized)) return "atomgit";
|
|
13
|
+
if (GITCODE_PLATFORM_RE.test(normalized)) return "atomgit";
|
|
6
14
|
return "unknown";
|
|
7
15
|
};
|
|
16
|
+
function isPlainObject(v) {
|
|
17
|
+
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
18
|
+
}
|
|
19
|
+
const getGitUrl = (params) => {
|
|
20
|
+
if (typeof params === "string") return `https://${ATOMGIT_DOMAIN}/${params}`;
|
|
21
|
+
if (isPlainObject(params)) {
|
|
22
|
+
if (params.user_homepage_url) return params.user_homepage_url;
|
|
23
|
+
if (params.gitcode_id) return `https://${ATOMGIT_DOMAIN}/${params.gitcode_id}`;
|
|
24
|
+
if (params.atomgit_id) return `https://${ATOMGIT_DOMAIN}/${params.atomgit_id}`;
|
|
25
|
+
if (params.gitee_id) return `https://${GITEE_DOMAIN}/${params.gitee_id}`;
|
|
26
|
+
if (params.user_login) return `https://${ATOMGIT_DOMAIN}/${params.user_login}`;
|
|
27
|
+
}
|
|
28
|
+
return;
|
|
29
|
+
};
|
|
30
|
+
const getGitId = (params) => {
|
|
31
|
+
if (isPlainObject(params)) {
|
|
32
|
+
if (params.gitcode_id) return params.gitcode_id;
|
|
33
|
+
if (params.atomgit_id) return params.atomgit_id;
|
|
34
|
+
if (params.gitee_id) return params.gitee_id;
|
|
35
|
+
if (params.user_login) return params.user_login;
|
|
36
|
+
}
|
|
37
|
+
return "";
|
|
38
|
+
};
|
|
8
39
|
export {
|
|
9
|
-
detectGitPlatform
|
|
40
|
+
detectGitPlatform,
|
|
41
|
+
getGitId,
|
|
42
|
+
getGitUrl
|
|
10
43
|
};
|
|
@@ -26,11 +26,14 @@ export interface SigCompleteItemT {
|
|
|
26
26
|
is_sig_original: number;
|
|
27
27
|
maintainer_info: SigMaintainerT[];
|
|
28
28
|
committer_info: SigMaintainerT[];
|
|
29
|
+
meeting_agenda?: string[];
|
|
30
|
+
meeting_agenda_en?: string[];
|
|
29
31
|
[key: string]: unknown;
|
|
30
32
|
}
|
|
31
33
|
export interface SigMaintainerT {
|
|
32
34
|
gitee_id?: string;
|
|
33
35
|
atomgit_id?: string;
|
|
36
|
+
gitcode_id?: string;
|
|
34
37
|
name: string;
|
|
35
38
|
email: string;
|
|
36
39
|
organization?: string;
|
|
@@ -43,13 +46,14 @@ export interface SigMaintainerT {
|
|
|
43
46
|
export interface SigRepoMemberT {
|
|
44
47
|
gitee_id: string;
|
|
45
48
|
atomgit_id?: string;
|
|
49
|
+
gitcode_id?: string;
|
|
46
50
|
name: string;
|
|
47
51
|
email: string;
|
|
48
52
|
organization?: string;
|
|
49
53
|
role?: string;
|
|
50
|
-
user_login
|
|
54
|
+
user_login?: string;
|
|
51
55
|
id_platform?: string;
|
|
52
|
-
user_homepage_url
|
|
56
|
+
user_homepage_url?: string;
|
|
53
57
|
[key: string]: unknown;
|
|
54
58
|
}
|
|
55
59
|
export interface SigRepoEntryT {
|
|
@@ -111,7 +115,7 @@ export interface SigListPropsT {
|
|
|
111
115
|
sigLandscape?: GroupInfoT[];
|
|
112
116
|
sigList?: SigListItemT[];
|
|
113
117
|
searchFn?: (params: SigSearchParamsT) => Promise<SigSearchResultT>;
|
|
114
|
-
|
|
118
|
+
footerSelector?: string;
|
|
115
119
|
}
|
|
116
120
|
export interface DayDataT {
|
|
117
121
|
creator?: string;
|
|
@@ -290,6 +290,7 @@ const en = {
|
|
|
290
290
|
"feedback.submit": "Submit",
|
|
291
291
|
"feedback.cancel": "Cancel",
|
|
292
292
|
"header.quickLink": "Quick Link",
|
|
293
|
+
"sig.selectOrSearchCate": "Search",
|
|
293
294
|
"sig.sigCenter": "SIG",
|
|
294
295
|
"sig.subtitle": "The openEuler community is organized into Special Interest Groups (SIGs) to better coordinate and manage work processes. SIGs are open to everyone.",
|
|
295
296
|
"sig.welcomeJoin": "Welcome to SIGs",
|
|
@@ -323,9 +324,8 @@ const en = {
|
|
|
323
324
|
"sig.noResult": "No result",
|
|
324
325
|
"sig.loading": "Loading...",
|
|
325
326
|
"sig.repositoryName": "Repos name",
|
|
326
|
-
"sig.
|
|
327
|
+
"sig.sigMeetingActive": "Meetings and Events",
|
|
327
328
|
"sig.workMeeting": "Work Meeting",
|
|
328
|
-
"sig.sigMeetingIntro": "SIG version planning work meetings follow open and transparent principles; topic collection, technical discussions, and meeting minutes are all open to the public.",
|
|
329
329
|
"sig.sigMeetingTip": "The meeting system currently only retains meeting records from the last six months.",
|
|
330
330
|
"sig.noMeeting": "No meetings",
|
|
331
331
|
"sig.meetingSummary": "Etherpad Link",
|
|
@@ -280,6 +280,7 @@ const zh = {
|
|
|
280
280
|
"feedback.submit": "提交",
|
|
281
281
|
"feedback.cancel": "取消",
|
|
282
282
|
"header.quickLink": "快捷链接",
|
|
283
|
+
"sig.selectOrSearchCate": "选择或搜索分类",
|
|
283
284
|
"sig.sigCenter": "SIG中心",
|
|
284
285
|
"sig.subtitle": "SIG 全称是 Special Interest Group,即“特别兴趣小组”。openEuler社区按照不同的 SIG 来组织,以便更好地管理和改善工作流程。SIG 组均是开放的,欢迎任何人来参与",
|
|
285
286
|
"sig.welcomeJoin": "欢迎参与SIG",
|
|
@@ -306,9 +307,8 @@ const zh = {
|
|
|
306
307
|
"sig.sigCommitter": "Committer({num})",
|
|
307
308
|
"sig.viewAll": "查看所有",
|
|
308
309
|
"sig.sigMeeting": "交流会议",
|
|
309
|
-
"sig.
|
|
310
|
+
"sig.sigMeetingActive": "会议与活动",
|
|
310
311
|
"sig.workMeeting": "工作会议",
|
|
311
|
-
"sig.sigMeetingIntro": "SIG版本规划工作会议遵循开源、开放原则, 议题收集、技术讨论、会议纪要等各讨论过程均对外开放",
|
|
312
312
|
"sig.sigMeetingTip": "会议系统当前仅保留最近半年会议记录",
|
|
313
313
|
"sig.noMeeting": "暂无会议",
|
|
314
314
|
"sig.latestMeeting": "最近会议:{date}",
|
|
@@ -14,6 +14,7 @@ export * from './components/header-source-code';
|
|
|
14
14
|
export * from './components/header-theme';
|
|
15
15
|
export * from './components/header-user';
|
|
16
16
|
export * from './components/icon';
|
|
17
|
+
export * from './components/logo-swiper';
|
|
17
18
|
export * from './components/meeting';
|
|
18
19
|
export * from './components/search';
|
|
19
20
|
export * from './components/section';
|
|
@@ -13,6 +13,7 @@ import { OHeaderSourceCode } from "./components/header-source-code/index.mjs";
|
|
|
13
13
|
import { OHeaderTheme } from "./components/header-theme/index.mjs";
|
|
14
14
|
import { OHeaderUser } from "./components/header-user/index.mjs";
|
|
15
15
|
import { createSvgIcon } from "./components/icon/index.mjs";
|
|
16
|
+
import { OLogoSwiper, OLogoSwiperItems } from "./components/logo-swiper/index.mjs";
|
|
16
17
|
import { OMeetingCalendar, OMeetingForm, OMeetingMyCalendar, OMeetingPlayback, OMeetingSigCalendar } from "./components/meeting/index.mjs";
|
|
17
18
|
import { OSearchInput } from "./components/search/index.mjs";
|
|
18
19
|
import { OSection } from "./components/section/index.mjs";
|
|
@@ -49,6 +50,8 @@ export {
|
|
|
49
50
|
OHeaderSourceCode,
|
|
50
51
|
OHeaderTheme,
|
|
51
52
|
OHeaderUser,
|
|
53
|
+
OLogoSwiper,
|
|
54
|
+
OLogoSwiperItems,
|
|
52
55
|
OMeetingCalendar,
|
|
53
56
|
OMeetingForm,
|
|
54
57
|
OMeetingMyCalendar,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opendesign-plus-test/components",
|
|
3
|
-
"version": "0.0.1-rc.
|
|
3
|
+
"version": "0.0.1-rc.137",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"vue-dompurify-html": "^3.1.2",
|
|
46
46
|
"vue": "^3.5.13",
|
|
47
47
|
"element-plus": "2.13.1",
|
|
48
|
-
"@opendesign-plus/
|
|
49
|
-
"@opendesign-plus/
|
|
48
|
+
"@opendesign-plus/styles": "0.0.1-rc.2",
|
|
49
|
+
"@opendesign-plus/composables": "0.0.1-rc.10"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"@vitejs/plugin-vue": "^5.2.1",
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { openBlock, createElementBlock, createElementVNode } from "vue";
|
|
2
|
-
const _hoisted_1 = {
|
|
3
|
-
version: "1.1",
|
|
4
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
-
width: "24",
|
|
6
|
-
height: "24",
|
|
7
|
-
viewBox: "0 0 24 24"
|
|
8
|
-
};
|
|
9
|
-
function render(_ctx, _cache) {
|
|
10
|
-
return openBlock(), createElementBlock("svg", _hoisted_1, [..._cache[0] || (_cache[0] = [
|
|
11
|
-
createElementVNode("path", {
|
|
12
|
-
opacity: "0.8",
|
|
13
|
-
fill: "#000",
|
|
14
|
-
d: "M17.286 5c0.676 0 1.213 0.546 1.213 1.21 0 0.227-0.064 0.449-0.184 0.641l-0.065 0.093-1.24 1.62c-0.149 0.194-0.433 0.236-0.634 0.092-0.181-0.129-0.234-0.364-0.134-0.551l0.039-0.060 1.24-1.62c0.046-0.060 0.071-0.136 0.071-0.214 0-0.169-0.113-0.302-0.253-0.329l-0.054-0.005h-10.573c-0.064 0-0.126 0.022-0.179 0.064-0.126 0.099-0.162 0.281-0.092 0.426l0.036 0.059 4.207 5.495c0.138 0.18 0.221 0.394 0.243 0.617l0.006 0.112 0.015 3.985c0 0.088 0.033 0.171 0.087 0.232l0.045 0.042 1.525 1.158c0.052 0.040 0.114 0.060 0.176 0.060 0.146-0.001 0.274-0.116 0.301-0.275l0.005-0.062-0.020-5.134c-0.001-0.228 0.063-0.452 0.184-0.645l0.065-0.094 1.804-2.357c0.149-0.194 0.433-0.236 0.634-0.092 0.181 0.129 0.234 0.364 0.134 0.551l-0.039 0.060-1.805 2.357c-0.035 0.045-0.058 0.099-0.067 0.157l-0.005 0.059 0.020 5.134c0.003 0.663-0.533 1.212-1.209 1.214-0.23 0.001-0.454-0.063-0.647-0.183l-0.094-0.064-1.525-1.158c-0.267-0.203-0.436-0.506-0.471-0.834l-0.007-0.124-0.015-3.985c-0-0.059-0.015-0.115-0.041-0.165l-0.030-0.047-4.207-5.495c-0.401-0.523-0.308-1.272 0.211-1.682 0.183-0.145 0.405-0.234 0.637-0.256l0.117-0.006h10.573z"
|
|
15
|
-
}, null, -1)
|
|
16
|
-
])]);
|
|
17
|
-
}
|
|
18
|
-
const IconFilter = { name: "components-icon-filter", render };
|
|
19
|
-
export {
|
|
20
|
-
IconFilter as default
|
|
21
|
-
};
|