n20-common-lib 3.1.13 → 3.1.15

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 (34) hide show
  1. package/package.json +1 -2
  2. package/src/assets/css/_coreLib.scss +3 -0
  3. package/src/assets/css/element-variables.scss +4 -1
  4. package/src/assets/css/v3/footer.scss +22 -0
  5. package/src/assets/css/v3/header.scss +46 -0
  6. package/src/assets/css/v3/radioCard.scss +48 -0
  7. package/src/assets/css/v3/table.scss +8 -13
  8. package/src/components/v3/Footer/index.vue +37 -0
  9. package/src/components/v3/Header/index.vue +54 -0
  10. package/src/components/v3/RadioCard/components/Card.vue +48 -0
  11. package/src/components/v3/RadioCard/index.vue +42 -0
  12. package/src/components/v3/TablePro/index.vue +24 -2
  13. package/src/components/v3/UploadList/assets/37.svg +29 -0
  14. package/src/components/v3/UploadList/assets/46.svg +29 -0
  15. package/src/components/v3/UploadList/assets/60.svg +29 -0
  16. package/src/components/v3/UploadList/assets/Png.svg +34 -0
  17. package/src/components/v3/UploadList/assets/Txt.svg +29 -0
  18. package/src/components/v3/UploadList/assets/Zip.svg +21 -0
  19. package/src/components/v3/UploadList/assets/jytg.svg +6 -0
  20. package/src/components/v3/UploadList/assets/not.svg +29 -0
  21. package/src/components/v3/UploadList/assets/wsc.svg +3 -0
  22. package/src/components/v3/UploadList/assets/ysc.svg +3 -0
  23. package/src/components/v3/UploadList/components/aiCheckDialog.vue +141 -0
  24. package/src/components/{FileUploadTable/FileUploadTableV3.vue → v3/UploadList/index.vue} +53 -37
  25. package/src/index.js +11 -2
  26. package/style/index.css +1 -1
  27. package/theme/blue.css +1 -1
  28. package/theme/cctcRed.css +1 -1
  29. package/theme/green.css +1 -1
  30. package/theme/lightBlue.css +1 -1
  31. package/theme/orange.css +1 -1
  32. package/theme/purple.css +1 -1
  33. package/theme/red.css +1 -1
  34. package/theme/yellow.css +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n20-common-lib",
3
- "version": "3.1.13",
3
+ "version": "3.1.15",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -15,7 +15,6 @@
15
15
  "build:gzip": "vue-cli-service build --gzip",
16
16
  "build:js": "vue-cli-service build --formats umd-min --target lib src/index.js --name index --dest lib --analy",
17
17
  "build:report": "vue-cli-service build --analy",
18
- "dev": "vue-cli-service serve --doc",
19
18
  "getI18n": "node ./node_modules/nstc-get-i18n --path ./server-config.jsonc --name lang",
20
19
  "info": "node versionInfo.js",
21
20
  "serve:theme": "vue-cli-service serve --testTheme",
@@ -53,6 +53,9 @@
53
53
  @import './dynamic-table.scss';
54
54
  @import './v3/table.scss';
55
55
  @import './v3/secondary-tab.scss';
56
+ @import './v3/header.scss';
57
+ @import './v3/footer.scss';
58
+ @import './v3/radioCard.scss';
56
59
 
57
60
  //临时引入
58
61
  @import '../../components/ChildRange/style.scss';
@@ -8,7 +8,9 @@
8
8
  $--all-transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) !default;
9
9
  $--fade-transition: opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default;
10
10
  $--fade-linear-transition: opacity 200ms linear !default;
11
- $--md-fade-transition: transform 300ms cubic-bezier(0.23, 1, 0.32, 1), opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default;
11
+ $--md-fade-transition:
12
+ transform 300ms cubic-bezier(0.23, 1, 0.32, 1),
13
+ opacity 300ms cubic-bezier(0.23, 1, 0.32, 1) !default;
12
14
  $--border-transition-base: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !default;
13
15
  $--color-transition-base: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !default;
14
16
 
@@ -84,6 +86,7 @@ $--border-color-extra-light: #f2f6fc !default;
84
86
  // Background
85
87
  /// color|1|Background Color|4
86
88
  $--background-color-base: #f2f3f5 !default;
89
+ $--background-selected-color-base: #e8f7ff !default;
87
90
 
88
91
  /* Link
89
92
  -------------------------- */
@@ -0,0 +1,22 @@
1
+ .n20-page-footer-v3 {
2
+ display: flex;
3
+ align-items: center;
4
+ gap: 12px;
5
+ padding: 12px 16px;
6
+ background: $--color-white;
7
+ justify-content: space-between;
8
+
9
+ .n20-page-footer-left {
10
+ flex: 1;
11
+ }
12
+
13
+ .n20-page-footer-center {
14
+ }
15
+
16
+ .n20-page-footer-right {
17
+ flex: 1;
18
+ width: 0;
19
+ display: flex;
20
+ justify-content: flex-end;
21
+ }
22
+ }
@@ -0,0 +1,46 @@
1
+ .n20-page-header-v3 {
2
+ display: flex;
3
+ align-items: center;
4
+ padding: 12px 16px;
5
+ background: $--color-white;
6
+ justify-content: space-between;
7
+
8
+ .n20-page-header-left {
9
+ display: flex;
10
+ align-items: center;
11
+ gap: 12px;
12
+ .n20-page-header-v3__back {
13
+ display: flex;
14
+ align-items: center;
15
+ gap: 4px;
16
+ cursor: pointer;
17
+ color: $--color-text-regular;
18
+ font-size: 14px;
19
+ line-height: 22px;
20
+ flex-shrink: 0;
21
+ .n20-page-header-v3__back-text {
22
+ font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
23
+ font-weight: 400;
24
+ }
25
+
26
+ &:hover {
27
+ color: #165aaf;
28
+ }
29
+ }
30
+
31
+ .n20-page-header-v3__divider {
32
+ width: 1px;
33
+ height: 12px;
34
+ background: $--border-color-base;
35
+ flex-shrink: 0;
36
+ }
37
+ .n20-page-header-v3__title {
38
+ font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
39
+ font-size: 16px;
40
+ font-weight: 500;
41
+ line-height: 24px;
42
+ color: #1d2129;
43
+ flex-shrink: 0;
44
+ }
45
+ }
46
+ }
@@ -0,0 +1,48 @@
1
+ .n20-page-radio-card {
2
+ display: grid;
3
+ gap: 16px;
4
+ display: flex;
5
+ align-items: center;
6
+ align-content: center;
7
+ gap: 16px;
8
+ align-self: stretch;
9
+ flex-wrap: wrap;
10
+
11
+ .n20-page-radio-card-item {
12
+ display: flex;
13
+ align-items: center;
14
+ box-sizing: border-box;
15
+ padding: 8px 15px;
16
+ height: 38px;
17
+ border-radius: 4px;
18
+ border: 1px solid $--border-color-base;
19
+ cursor: pointer;
20
+ min-width: 170px;
21
+
22
+ &:hover {
23
+ background-color: $--descriptions-item-bordered-label-background;
24
+ }
25
+
26
+ &.n20-page-radio-card-item-checked {
27
+ border: 1px solid $--color-primary;
28
+ background-color: $--background-selected-color-base;
29
+ }
30
+
31
+ &.n20-page-radio-card-item-disabled {
32
+ cursor: not-allowed;
33
+ }
34
+
35
+ .n20-page-radio-card-item-radio {
36
+ pointer-events: none;
37
+ display: flex;
38
+ align-items: center;
39
+ gap: 2px;
40
+
41
+ .el-radio__input,
42
+ .el-radio__inner {
43
+ height: 14px;
44
+ width: 14px;
45
+ }
46
+ }
47
+ }
48
+ }
@@ -66,11 +66,10 @@
66
66
  /* 骨架屏样式 - 仅覆盖内容区域,表头正常显示 */
67
67
  .table-pro-skeleton {
68
68
  position: absolute;
69
- top: 40px;
69
+ // top 和 height 由 JS 动态计算后通过内联样式设置
70
70
  left: 0;
71
71
  right: 0;
72
72
  bottom: 0;
73
- height: calc(100% - 40px);
74
73
  background: #fff;
75
74
  z-index: 100;
76
75
  overflow: hidden;
@@ -112,17 +111,6 @@
112
111
  }
113
112
  }
114
113
 
115
- /* 不同尺寸的表头高度适配 */
116
- &:has(.vxe-table--render-default.size--mini) .table-pro-skeleton {
117
- top: 36px;
118
- height: calc(100% - 36px);
119
- }
120
-
121
- &:has(.vxe-table--render-default.size--medium) .table-pro-skeleton {
122
- top: 44px;
123
- height: calc(100% - 44px);
124
- }
125
-
126
114
  /* Element UI 表格排序图标 */
127
115
  .el-table {
128
116
  .caret-wrapper {
@@ -445,6 +433,13 @@
445
433
  max-height: 100%;
446
434
  }
447
435
 
436
+ /* 表格列 resizable 线样式 */
437
+ .vxe-table--render-default.border--default .vxe-cell--col-resizable:before {
438
+ width: 1px;
439
+ height: 100%;
440
+ background-color: var(--vxe-ui-table-resizable-line-color);
441
+ }
442
+
448
443
  /* 表格设置尺寸按钮 */
449
444
  .el-table div.hidden-columns {
450
445
  visibility: initial;
@@ -0,0 +1,37 @@
1
+ <template>
2
+ <div class="n20-page-footer-v3" :style="showTopDivider ? 'border-top: 1px solid #E5E6EB;' : undefined">
3
+ <div :class="`n20-page-footer-left ${leftExtraClass}`">
4
+ <slot name="leftExtra"></slot>
5
+ </div>
6
+ <div :class="`n20-page-footer-center ${centerClass}`">
7
+ <slot></slot>
8
+ </div>
9
+ <div :class="`n20-page-footer-right ${rightExtraClass}`">
10
+ <slot name="rightExtra"></slot>
11
+ </div>
12
+ </div>
13
+ </template>
14
+
15
+ <script>
16
+ export default {
17
+ name: 'Footer',
18
+ props: {
19
+ leftExtraClass: {
20
+ type: String,
21
+ default: ''
22
+ },
23
+ centerClass: {
24
+ type: String,
25
+ default: ''
26
+ },
27
+ rightExtraClass: {
28
+ type: String,
29
+ default: ''
30
+ },
31
+ showTopDivider: {
32
+ type: Boolean,
33
+ default: true
34
+ }
35
+ }
36
+ }
37
+ </script>
@@ -0,0 +1,54 @@
1
+ <template>
2
+ <div class="n20-page-header-v3" :style="showBottomDivider ? 'border-bottom: 1px solid #E5E6EB;' : undefined">
3
+ <div class="n20-page-header-left">
4
+ <div v-if="showBack" class="n20-page-header-v3__back" @click="handleBack">
5
+ <i :class="icon"></i>
6
+ <span class="n20-page-header-v3__back-text">{{ backText }}</span>
7
+ </div>
8
+ <div v-if="showBack" class="n20-page-header-v3__divider"></div>
9
+ <div class="n20-page-header-v3__title">
10
+ <slot name="title">{{ title }}</slot>
11
+ </div>
12
+ </div>
13
+ <div :class="`n20-page-header-right ${extraClass}`">
14
+ <slot name="extra"></slot>
15
+ </div>
16
+ </div>
17
+ </template>
18
+
19
+ <script>
20
+ export default {
21
+ name: 'Header',
22
+ props: {
23
+ extraClass: {
24
+ type: String,
25
+ default: ''
26
+ },
27
+ showBack: {
28
+ type: Boolean,
29
+ default: true
30
+ },
31
+ backText: {
32
+ type: String,
33
+ default: '返回'
34
+ },
35
+ title: {
36
+ type: String,
37
+ default: ''
38
+ },
39
+ icon: {
40
+ type: String,
41
+ default: 'n20-icon-yuefenqiehuan-zuoce'
42
+ },
43
+ showBottomDivider: {
44
+ type: Boolean,
45
+ default: true
46
+ }
47
+ },
48
+ methods: {
49
+ handleBack() {
50
+ this.$emit('onBack')
51
+ }
52
+ }
53
+ }
54
+ </script>
@@ -0,0 +1,48 @@
1
+ <template>
2
+ <div
3
+ :class="`n20-page-radio-card-item${checked ? ' n20-page-radio-card-item-checked' : ''}${disabled ? ' n20-page-radio-card-item-disabled' : ''}`"
4
+ @click="handleClick"
5
+ >
6
+ <el-radio
7
+ :key="value"
8
+ :value="checkValue"
9
+ :disabled="disabled"
10
+ class="n20-page-radio-card-item-radio"
11
+ :label="value"
12
+ >{{ label }}</el-radio
13
+ >
14
+ </div>
15
+ </template>
16
+
17
+ <script>
18
+ export default {
19
+ name: 'RadioCardItem',
20
+ props: {
21
+ checked: {
22
+ type: Boolean,
23
+ default: false
24
+ },
25
+ checkValue: {
26
+ type: [String, Number, Boolean, null, undefined],
27
+ default: null
28
+ },
29
+ value: {
30
+ type: [String, Number, Boolean],
31
+ required: true
32
+ },
33
+ label: {
34
+ type: String,
35
+ default: ''
36
+ },
37
+ disabled: {
38
+ type: Boolean,
39
+ default: false
40
+ }
41
+ },
42
+ methods: {
43
+ handleClick() {
44
+ this.$emit('check', this.value)
45
+ }
46
+ }
47
+ }
48
+ </script>
@@ -0,0 +1,42 @@
1
+ <template>
2
+ <div class="n20-page-radio-card">
3
+ <Card
4
+ v-for="option in options"
5
+ :key="option.value"
6
+ :checked="value === option.value"
7
+ :check-value="value"
8
+ :value="option.value"
9
+ :label="option.label"
10
+ :disabled="option.disabled"
11
+ @check="handleCheck"
12
+ />
13
+ </div>
14
+ </template>
15
+
16
+ <script>
17
+ import Card from './components/Card.vue'
18
+
19
+ export default {
20
+ name: 'RadioCard',
21
+ components: { Card },
22
+ model: {
23
+ prop: 'value',
24
+ event: 'onChange'
25
+ },
26
+ props: {
27
+ value: {
28
+ type: [String, Number, Boolean, null, undefined],
29
+ default: null
30
+ },
31
+ options: {
32
+ type: Array,
33
+ default: () => []
34
+ }
35
+ },
36
+ methods: {
37
+ handleCheck(value) {
38
+ this.$emit('onChange', value)
39
+ }
40
+ }
41
+ }
42
+ </script>
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div class="v3-table-pro-wrapper" style="height: 100%; position: relative; overflow: hidden">
3
3
  <!-- 骨架屏 - 仅覆盖内容区域,不覆盖表头 -->
4
- <div v-if="loading" class="table-pro-skeleton">
4
+ <div v-if="loading" class="table-pro-skeleton" :style="skeletonStyle">
5
5
  <div v-for="n in skeletonRows" :key="'skeleton-' + n" class="skeleton-row">
6
6
  <div class="skeleton-cell skeleton-checkbox"></div>
7
7
  <div v-for="col in skeletonCols" :key="'col-' + col" class="skeleton-cell"></div>
@@ -642,7 +642,8 @@ export default {
642
642
  isExpand: false,
643
643
  isExport: false, // 是否导出
644
644
  dialogVisible: false, // 显示列设置对话框
645
- checkColumns: this.filterDefaultHidden(this.columns) // 显示列设置对话框中已选择的列(默认过滤 defaultHidden 列)
645
+ checkColumns: this.filterDefaultHidden(this.columns), // 显示列设置对话框中已选择的列(默认过滤 defaultHidden 列)
646
+ headerHeight: 40 // 表头实际高度,骨架屏定位用
646
647
  }
647
648
  },
648
649
  computed: {
@@ -698,6 +699,13 @@ export default {
698
699
  const hasExpand = this.$attrs.treeConfig || this.$attrs['tree-config']
699
700
  const activeCount = [this.showColumn, this.showSetsize, hasExpand].filter(Boolean).length
700
701
  return activeCount === 3 ? 112 : 76
702
+ },
703
+ // 骨架屏定位样式,根据表头实际高度动态计算
704
+ skeletonStyle() {
705
+ return {
706
+ top: `${this.headerHeight}px`,
707
+ height: `calc(100% - ${this.headerHeight}px)`
708
+ }
701
709
  }
702
710
  },
703
711
  watch: {
@@ -717,6 +725,11 @@ export default {
717
725
  this.$refs.vxeTable.clearCheckboxRow()
718
726
  this.$emit('selection-change-method', [])
719
727
  }
728
+ },
729
+ loading(val) {
730
+ if (val) {
731
+ this.$nextTick(() => this.updateHeaderHeight())
732
+ }
720
733
  }
721
734
  },
722
735
  activated() {
@@ -739,6 +752,15 @@ export default {
739
752
  this.isExport = false
740
753
  this.dialogVisible = !this.dialogVisible
741
754
  },
755
+ // 更新表头高度,用于骨架屏定位
756
+ updateHeaderHeight() {
757
+ const tableEl = this.$refs.vxeTable?.$el
758
+ if (!tableEl) return
759
+ const headerEl = tableEl.querySelector('.vxe-table--header-wrapper')
760
+ if (headerEl) {
761
+ this.headerHeight = headerEl.offsetHeight
762
+ }
763
+ },
742
764
  openExportColumn() {
743
765
  this.dialogVisible = true
744
766
  this.isExport = true
@@ -0,0 +1,29 @@
1
+ <svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_4402_1952)">
3
+ <path d="M6.29995 1.80078H25.6811L33.3 9.48401V30.6008C33.3 32.589 31.6882 34.2008 29.7 34.2008H6.29995C4.31173 34.2008 2.69995 32.589 2.69995 30.6008V5.40078C2.69995 3.41256 4.31173 1.80078 6.29995 1.80078Z" fill="#FF662C"/>
4
+ <mask id="mask0_4402_1952" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="2" y="1" width="32" height="34">
5
+ <path d="M6.29995 1.80078H25.6811L33.3 9.48401V30.6008C33.3 32.589 31.6882 34.2008 29.7 34.2008H6.29995C4.31173 34.2008 2.69995 32.589 2.69995 30.6008V5.40078C2.69995 3.41256 4.31173 1.80078 6.29995 1.80078Z" fill="white"/>
6
+ </mask>
7
+ <g mask="url(#mask0_4402_1952)">
8
+ <g filter="url(#filter0_d_4402_1952)">
9
+ <path d="M25.6537 5.88124L25.6537 1.80012L33.3 9.48124L29.2537 9.48124C27.2654 9.48124 25.6537 7.86946 25.6537 5.88124Z" fill="black"/>
10
+ </g>
11
+ <path d="M25.6537 5.88124L25.6537 1.80012L33.3 9.48124L29.2537 9.48124C27.2654 9.48124 25.6537 7.86946 25.6537 5.88124Z" fill="#FF7F4E"/>
12
+ </g>
13
+ <path d="M16.8046 11.418V13.7374L16.801 17.2748L16.8046 17.2748V19.5943L16.801 23.6581H13.8562V11.4181L16.8046 11.418ZM18.1501 11.4181C20.8481 11.4181 23.0691 12.3723 23.0691 15.3994C23.0691 18.3113 20.8152 19.5945 18.2323 19.5945L17.6787 19.5943V17.2748L18.0843 17.2748C19.4815 17.2748 20.1732 16.6321 20.2053 15.4842L20.2065 15.3994C20.2065 14.1655 19.4168 13.7377 18.002 13.7377L17.6787 13.7374V11.418L18.1501 11.4181Z" fill="white"/>
14
+ </g>
15
+ <defs>
16
+ <filter id="filter0_d_4402_1952" x="19.1736" y="-5.75922" width="20.6065" height="20.6397" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
17
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
18
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
19
+ <feOffset dy="-1.08"/>
20
+ <feGaussianBlur stdDeviation="3.24"/>
21
+ <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.4 0"/>
22
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_4402_1952"/>
23
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_4402_1952" result="shape"/>
24
+ </filter>
25
+ <clipPath id="clip0_4402_1952">
26
+ <rect width="36" height="36" fill="white"/>
27
+ </clipPath>
28
+ </defs>
29
+ </svg>
@@ -0,0 +1,29 @@
1
+ <svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_4402_52012)">
3
+ <path d="M6.30001 1.80078H25.6811L33.3 9.48401V30.6008C33.3 32.589 31.6882 34.2008 29.7 34.2008H6.30001C4.31179 34.2008 2.70001 32.589 2.70001 30.6008V5.40078C2.70001 3.41256 4.31179 1.80078 6.30001 1.80078Z" fill="var(--primary-6, #007AFF)"/>
4
+ <mask id="mask0_4402_52012" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="2" y="1" width="32" height="34">
5
+ <path d="M6.30001 1.80078H25.6811L33.3 9.48401V30.6008C33.3 32.589 31.6882 34.2008 29.7 34.2008H6.30001C4.31179 34.2008 2.70001 32.589 2.70001 30.6008V5.40078C2.70001 3.41256 4.31179 1.80078 6.30001 1.80078Z" fill="white"/>
6
+ </mask>
7
+ <g mask="url(#mask0_4402_52012)">
8
+ <g filter="url(#filter0_d_4402_52012)">
9
+ <path d="M25.6537 5.88124L25.6537 1.80012L33.3 9.48124L29.2537 9.48124C27.2654 9.48124 25.6537 7.86946 25.6537 5.88124Z" fill="black"/>
10
+ </g>
11
+ <path d="M25.6537 5.88124L25.6537 1.80012L33.3 9.48124L29.2537 9.48124C27.2654 9.48124 25.6537 7.86946 25.6537 5.88124Z" fill="var(--primary-5, #2E9AFF)"/>
12
+ </g>
13
+ <path d="M13.5914 22.2728H16.6649L17.5689 17.7668C17.7219 16.9741 17.847 16.1397 17.9722 15.3609H18.0417C18.1391 16.1397 18.2782 16.9741 18.445 17.7668L19.3768 22.2728H22.506L24.3 11.9258H21.9358L21.2682 16.6404C21.1431 17.7112 21.004 18.8099 20.8788 19.9225H20.8093C20.6007 18.8099 20.4199 17.6973 20.2113 16.6404L19.1265 11.9258H17.0404L15.9835 16.6404C15.7748 17.7112 15.5662 18.8238 15.3715 19.9225H15.3159L14.8987 16.6404L14.245 11.9258H11.7L13.5914 22.2728Z" fill="white"/>
14
+ </g>
15
+ <defs>
16
+ <filter id="filter0_d_4402_52012" x="19.1736" y="-5.75922" width="20.6064" height="20.6397" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
17
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
18
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
19
+ <feOffset dy="-1.08"/>
20
+ <feGaussianBlur stdDeviation="3.24"/>
21
+ <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.4 0"/>
22
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_4402_52012"/>
23
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_4402_52012" result="shape"/>
24
+ </filter>
25
+ <clipPath id="clip0_4402_52012">
26
+ <rect width="36" height="36" fill="white"/>
27
+ </clipPath>
28
+ </defs>
29
+ </svg>
@@ -0,0 +1,29 @@
1
+ <svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_4402_28916)">
3
+ <path d="M6.29995 1.80078H25.6811L33.3 9.48401V30.6008C33.3 32.589 31.6882 34.2008 29.7 34.2008H6.29995C4.31173 34.2008 2.69995 32.589 2.69995 30.6008V5.40078C2.69995 3.41256 4.31173 1.80078 6.29995 1.80078Z" fill="#00A98B"/>
4
+ <mask id="mask0_4402_28916" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="2" y="1" width="32" height="34">
5
+ <path d="M6.29995 1.80078H25.6811L33.3 9.48401V30.6008C33.3 32.589 31.6882 34.2008 29.7 34.2008H6.29995C4.31173 34.2008 2.69995 32.589 2.69995 30.6008V5.40078C2.69995 3.41256 4.31173 1.80078 6.29995 1.80078Z" fill="white"/>
6
+ </mask>
7
+ <g mask="url(#mask0_4402_28916)">
8
+ <g filter="url(#filter0_d_4402_28916)">
9
+ <path d="M26.3288 6.10864L26.3288 1.8016L34.2001 9.70864L29.9288 9.70863C27.9406 9.70863 26.3288 8.09686 26.3288 6.10864Z" fill="black"/>
10
+ </g>
11
+ <path d="M26.3288 6.10864L26.3288 1.8016L34.2001 9.70864L29.9288 9.70863C27.9406 9.70863 26.3288 8.09686 26.3288 6.10864Z" fill="#10CEAC"/>
12
+ </g>
13
+ <path d="M24.3 22.6759L22.6767 24.2992L11.7 13.3235L13.3232 11.6992L24.3 22.6759ZM15.8622 18.5084L17.4897 20.1359L13.3275 24.2992L11.7 22.6717L15.8622 18.5084ZM24.3 13.3267L20.1262 17.5004L18.4987 15.8729L22.6725 11.6992L24.3 13.3267Z" fill="white"/>
14
+ </g>
15
+ <defs>
16
+ <filter id="filter0_d_4402_28916" x="19.8489" y="-5.75922" width="20.8311" height="20.8663" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
17
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
18
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
19
+ <feOffset dy="-1.08"/>
20
+ <feGaussianBlur stdDeviation="3.24"/>
21
+ <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.4 0"/>
22
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_4402_28916"/>
23
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_4402_28916" result="shape"/>
24
+ </filter>
25
+ <clipPath id="clip0_4402_28916">
26
+ <rect width="36" height="36" fill="white"/>
27
+ </clipPath>
28
+ </defs>
29
+ </svg>
@@ -0,0 +1,34 @@
1
+ <svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_4435_92034)">
3
+ <path d="M17.5 5H71.3365L92.5 26.3423V85C92.5 90.5229 88.0229 95 82.5 95H17.5C11.9772 95 7.5 90.5229 7.5 85V15C7.5 9.47715 11.9772 5 17.5 5Z" fill="#F1C44B"/>
4
+ <mask id="mask0_4435_92034" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="7" y="5" width="86" height="90">
5
+ <path d="M17.5 5H71.3365L92.5 26.3423V85C92.5 90.5229 88.0229 95 82.5 95H17.5C11.9772 95 7.5 90.5229 7.5 85V15C7.5 9.47715 11.9772 5 17.5 5Z" fill="white"/>
6
+ </mask>
7
+ <g mask="url(#mask0_4435_92034)">
8
+ <g filter="url(#filter0_d_4435_92034)">
9
+ <path d="M71.2602 16.3363L71.2602 4.9999L92.5001 26.3363L81.2602 26.3363C75.7374 26.3363 71.2602 21.8592 71.2602 16.3363Z" fill="black"/>
10
+ </g>
11
+ <path d="M71.2602 16.3363L71.2602 4.9999L92.5001 26.3363L81.2602 26.3363C75.7374 26.3363 71.2602 21.8592 71.2602 16.3363Z" fill="#FFD973"/>
12
+ </g>
13
+ <mask id="mask1_4435_92034" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="7" y="5" width="86" height="90">
14
+ <path d="M17.5 5H71.3365L92.5 26.3423V85C92.5 90.5229 88.0229 95 82.5 95H17.5C11.9772 95 7.5 90.5229 7.5 85V15C7.5 9.47715 11.9772 5 17.5 5Z" fill="white"/>
15
+ </mask>
16
+ <g mask="url(#mask1_4435_92034)">
17
+ <path opacity="0.804618" d="M62.8922 62.9138H32.0524C31.905 62.9138 31.7856 62.7848 31.7856 62.6255V56.204C31.7856 56.1521 31.799 56.1002 31.8237 56.0555L41.0062 39.5153C41.1009 39.3445 41.3236 39.3265 41.441 39.4807L53.9431 55.9193C54.0313 56.0351 54.1869 56.0586 54.3012 55.9734L62.7515 49.6484C62.9282 49.5158 63.1703 49.6528 63.1703 49.8855L63.1603 62.6255C63.1589 62.7855 63.0396 62.9138 62.8922 62.9138ZM65.7856 39.3752C65.7856 43.4777 61.0626 46.4771 56.7574 43.2332C56.7345 43.2154 56.713 43.1947 56.6959 43.1717C53.4537 38.8663 56.453 34.1445 60.5545 34.1445C61.9426 34.1445 63.273 34.6957 64.2545 35.6772C65.2355 36.659 65.7863 37.9903 65.7856 39.3782V39.3752Z" fill="white"/>
18
+ </g>
19
+ </g>
20
+ <defs>
21
+ <filter id="filter0_d_4435_92034" x="53.2603" y="-16" width="57.2397" height="57.3359" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
22
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
23
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
24
+ <feOffset dy="-3"/>
25
+ <feGaussianBlur stdDeviation="9"/>
26
+ <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.4 0"/>
27
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_4435_92034"/>
28
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_4435_92034" result="shape"/>
29
+ </filter>
30
+ <clipPath id="clip0_4435_92034">
31
+ <rect width="100" height="100" fill="white"/>
32
+ </clipPath>
33
+ </defs>
34
+ </svg>
@@ -0,0 +1,29 @@
1
+ <svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_4435_92086)">
3
+ <path d="M17.5 5H71.3365L92.5 26.3423V85C92.5 90.5229 88.0229 95 82.5 95H17.5C11.9772 95 7.5 90.5229 7.5 85V15C7.5 9.47715 11.9772 5 17.5 5Z" fill="#BAE4FF"/>
4
+ <mask id="mask0_4435_92086" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="7" y="5" width="86" height="90">
5
+ <path d="M17.5 5H71.3365L92.5 26.3423V85C92.5 90.5229 88.0229 95 82.5 95H17.5C11.9772 95 7.5 90.5229 7.5 85V15C7.5 9.47715 11.9772 5 17.5 5Z" fill="white"/>
6
+ </mask>
7
+ <g mask="url(#mask0_4435_92086)">
8
+ <g filter="url(#filter0_d_4435_92086)">
9
+ <path d="M71.2602 16.3363L71.2602 4.9999L92.5001 26.3363L81.2602 26.3363C75.7374 26.3363 71.2602 21.8592 71.2602 16.3363Z" fill="black"/>
10
+ </g>
11
+ <path d="M71.2602 16.3363L71.2602 4.9999L92.5001 26.3363L81.2602 26.3363C75.7374 26.3363 71.2602 21.8592 71.2602 16.3363Z" fill="#8BCFFF"/>
12
+ </g>
13
+ <path opacity="0.9" d="M63.6857 32.9023L63.9155 41.239H62.0142C61.7077 39.6371 61.3038 38.4253 60.8023 37.6034C60.3148 36.7677 59.5974 36.1896 58.6503 35.8693C57.7031 35.5489 56.3937 35.3469 54.7222 35.2633L53.6984 35.2216V58.1003C53.6984 58.7828 53.782 59.3191 53.9492 59.7091C54.1163 60.0852 54.4576 60.3777 54.973 60.5866C55.4883 60.7816 56.2753 60.9418 57.334 61.0672V63.073H42.6665V61.0672C43.7251 60.9418 44.5121 60.7816 45.0275 60.5866C45.5429 60.3777 45.8772 60.0852 46.0304 59.7091C46.1976 59.3191 46.2811 58.7828 46.2811 58.1003V35.2216L45.2782 35.2633C43.6067 35.3469 42.2974 35.5489 41.3502 35.8693C40.403 36.1896 39.6787 36.7607 39.1772 37.5826C38.6897 38.4044 38.2927 39.6232 37.9863 41.239H36.085L36.3148 32.9023H63.6857Z" fill="#1D2129"/>
14
+ </g>
15
+ <defs>
16
+ <filter id="filter0_d_4435_92086" x="53.2603" y="-16" width="57.2397" height="57.3359" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
17
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
18
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
19
+ <feOffset dy="-3"/>
20
+ <feGaussianBlur stdDeviation="9"/>
21
+ <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.4 0"/>
22
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_4435_92086"/>
23
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_4435_92086" result="shape"/>
24
+ </filter>
25
+ <clipPath id="clip0_4435_92086">
26
+ <rect width="100" height="100" fill="white"/>
27
+ </clipPath>
28
+ </defs>
29
+ </svg>
@@ -0,0 +1,21 @@
1
+ <svg width="111" height="116" viewBox="0 0 111 116" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M17.5 20.9961H71.3002L92.4517 42.3384V100.996C92.4517 106.519 87.9746 110.996 82.4517 110.996H17.5C11.9772 110.996 7.5 106.519 7.5 100.996V30.9961C7.5 25.4732 11.9772 20.9961 17.5 20.9961Z" fill="#1252C2"/>
3
+ <g filter="url(#filter0_d_4435_92021)">
4
+ <path d="M71.2238 32.3346L71.2238 20.9981L92.4516 42.3346H81.2238C75.7009 42.3346 71.2238 37.8574 71.2238 32.3346Z" fill="black"/>
5
+ </g>
6
+ <path d="M71.2238 32.3346L71.2238 20.9981L92.4516 42.3346H81.2238C75.7009 42.3346 71.2238 37.8574 71.2238 32.3346Z" fill="#629BFE"/>
7
+ <g opacity="0.798549">
8
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M26.9175 20.9961H36.6263V30.7104H26.9175V20.9961ZM36.6263 30.7104H46.335V40.4247H36.6263V30.7104ZM26.9175 40.4247H36.6263V50.139H26.9175V40.4247ZM36.6263 50.139H46.335V69.5675H36.6263V50.139ZM26.9175 59.8532H36.6263V69.5675H26.9175V59.8532ZM26.9175 69.5675H36.6263V79.2818H26.9175V69.5675ZM36.6263 69.5675H46.335V79.2818H36.6263V69.5675Z" fill="white" fill-opacity="0.801956"/>
9
+ </g>
10
+ <defs>
11
+ <filter id="filter0_d_4435_92021" x="53.2236" y="0" width="57.228" height="57.3359" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
12
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
13
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
14
+ <feOffset dy="-3"/>
15
+ <feGaussianBlur stdDeviation="9"/>
16
+ <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0"/>
17
+ <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_4435_92021"/>
18
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_4435_92021" result="shape"/>
19
+ </filter>
20
+ </defs>
21
+ </svg>
@@ -0,0 +1,6 @@
1
+ <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="design-iconfont">
2
+ <path d="M8.24182 3.58716L11.2487 8.99438V6.31665H13.3151V12.9797L11.3785 13.4827L7.3219 6.18677L4.3512 11.3323H8.37366V13.3997H2.56018L1.66565 11.8499L6.44397 3.57349L8.24182 3.58716Z" fill="#007AFF"/>
3
+ <path d="M12.2593 1.66284L12.7877 3.21041L14.3353 3.73888L12.7877 4.26736L12.2593 5.81492L11.7308 4.26736L10.1832 3.73888L11.7308 3.21041L12.2593 1.66284Z" fill="#007AFF"/>
4
+ <path d="M2.32765 3.57349L2.68419 4.61759L3.72829 4.97413L2.68419 5.33068L2.32765 6.37478L1.9711 5.33068L0.927002 4.97413L1.9711 4.61759L2.32765 3.57349Z" fill="#007AFF"/>
5
+ <path d="M9.83558 13.011L10.0044 13.5053L10.4987 13.6741L10.0044 13.8429L9.83558 14.3372L9.66679 13.8429L9.17249 13.6741L9.66679 13.5053L9.83558 13.011Z" fill="#007AFF"/>
6
+ </svg>