@opendesign-plus/components 0.0.1-rc.87 → 0.0.1-rc.88

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 (64) hide show
  1. package/dist/components/article/OArticle.vue.d.ts +12 -12
  2. package/dist/components/article/OArticleList.vue.d.ts +54 -0
  3. package/dist/components/article/index.d.ts +95 -18
  4. package/dist/components/article/types.d.ts +26 -0
  5. package/dist/components/{markdown/OMarkdownPagination.vue.d.ts → article-pagination/OArticlePagination.vue.d.ts} +9 -7
  6. package/dist/components/article-pagination/index.d.ts +76 -0
  7. package/dist/components/article-pagination/types.d.ts +4 -0
  8. package/dist/components/header/components/HeaderNav.vue.d.ts +3 -0
  9. package/dist/components/header-user/OHeaderUser.vue.d.ts +88 -1
  10. package/dist/components/header-user/index.d.ts +88 -1
  11. package/dist/components/markdown/index.d.ts +1 -68
  12. package/dist/components/markdown/types.d.ts +0 -4
  13. package/dist/components.cjs.js +40 -40
  14. package/dist/components.css +1 -1
  15. package/dist/components.es.js +11884 -11657
  16. package/dist/index.d.ts +1 -0
  17. package/dist/treeshaking/components/article/OArticle.css +45 -98
  18. package/dist/treeshaking/components/article/OArticle.vue.d.ts +12 -12
  19. package/dist/treeshaking/components/article/OArticle.vue.mjs +1 -1
  20. package/dist/treeshaking/components/article/OArticle.vue2.mjs +3 -3
  21. package/dist/treeshaking/components/article/OArticleList.css +232 -0
  22. package/dist/treeshaking/components/article/OArticleList.vue.d.ts +54 -0
  23. package/dist/treeshaking/components/article/OArticleList.vue.mjs +205 -0
  24. package/dist/treeshaking/components/article/OArticleList.vue3.mjs +5 -0
  25. package/dist/treeshaking/components/article/index.d.ts +95 -18
  26. package/dist/treeshaking/components/article/index.mjs +9 -1
  27. package/dist/treeshaking/components/article/types.d.ts +26 -0
  28. package/dist/treeshaking/components/{markdown/OMarkdownPagination.css → article-pagination/OArticlePagination.css} +45 -45
  29. package/dist/treeshaking/components/{markdown/OMarkdownPagination.vue.d.ts → article-pagination/OArticlePagination.vue.d.ts} +9 -7
  30. package/dist/treeshaking/components/article-pagination/OArticlePagination.vue.mjs +7 -0
  31. package/dist/treeshaking/components/{markdown/OMarkdownPagination.vue2.mjs → article-pagination/OArticlePagination.vue2.mjs} +25 -21
  32. package/dist/treeshaking/components/article-pagination/index.d.ts +76 -0
  33. package/dist/treeshaking/components/article-pagination/index.mjs +9 -0
  34. package/dist/treeshaking/components/article-pagination/types.d.ts +4 -0
  35. package/dist/treeshaking/components/header/OHeader.css +17 -17
  36. package/dist/treeshaking/components/header/OHeader.vue.mjs +1 -1
  37. package/dist/treeshaking/components/header/OHeader.vue2.mjs +25 -1
  38. package/dist/treeshaking/components/header/components/HeaderNav.css +66 -73
  39. package/dist/treeshaking/components/header/components/HeaderNav.vue.d.ts +3 -0
  40. package/dist/treeshaking/components/header/components/HeaderNav.vue.mjs +1 -1
  41. package/dist/treeshaking/components/header/components/HeaderNav.vue2.mjs +72 -44
  42. package/dist/treeshaking/components/header-search/OHeaderSearch.css +42 -48
  43. package/dist/treeshaking/components/header-search/OHeaderSearch.vue.mjs +1 -1
  44. package/dist/treeshaking/components/header-search/OHeaderSearch.vue2.mjs +6 -4
  45. package/dist/treeshaking/components/header-user/OHeaderUser.css +40 -40
  46. package/dist/treeshaking/components/header-user/OHeaderUser.vue.d.ts +88 -1
  47. package/dist/treeshaking/components/header-user/OHeaderUser.vue.mjs +1 -1
  48. package/dist/treeshaking/components/header-user/OHeaderUser.vue2.mjs +49 -24
  49. package/dist/treeshaking/components/header-user/index.d.ts +88 -1
  50. package/dist/treeshaking/components/markdown/components/MarkdownPageTitle.css +87 -114
  51. package/dist/treeshaking/components/markdown/components/MarkdownPageTitle.vue.mjs +1 -1
  52. package/dist/treeshaking/components/markdown/components/MarkdownPageTitle.vue2.mjs +1 -1
  53. package/dist/treeshaking/components/markdown/components/MarkdownTableData.css +30 -77
  54. package/dist/treeshaking/components/markdown/components/MarkdownTableData.vue.mjs +1 -1
  55. package/dist/treeshaking/components/markdown/components/MarkdownTitle.css +32 -82
  56. package/dist/treeshaking/components/markdown/components/MarkdownTitle.vue.mjs +1 -1
  57. package/dist/treeshaking/components/markdown/index.d.ts +1 -68
  58. package/dist/treeshaking/components/markdown/index.mjs +1 -8
  59. package/dist/treeshaking/components/markdown/replacer/code.mjs +1 -1
  60. package/dist/treeshaking/components/markdown/types.d.ts +0 -4
  61. package/dist/treeshaking/index.d.ts +1 -0
  62. package/dist/treeshaking/index.mjs +5 -3
  63. package/package.json +1 -1
  64. package/dist/treeshaking/components/markdown/OMarkdownPagination.vue.mjs +0 -7
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from './components/activity';
2
2
  export * from './components/anchor-bar';
3
3
  export * from './components/article';
4
+ export * from './components/article-pagination';
4
5
  export * from './components/banner';
5
6
  export * from './components/brand';
6
7
  export * from './components/config-provider';
@@ -1,104 +1,41 @@
1
- .hover-icon-rotate .o-icon[data-v-e830d8e0] {
1
+ .hover-icon-rotate .o-icon[data-v-effe6b29] {
2
2
  transition: all var(--o-duration-m1) var(--o-easing-standard-in);
3
3
  }
4
4
  @media (hover: hover) {
5
- .hover-icon-rotate:hover .o-icon[data-v-e830d8e0] {
5
+ .hover-icon-rotate:hover .o-icon[data-v-effe6b29] {
6
6
  transform: rotate(-180deg);
7
7
  }
8
8
  }
9
- .o-article[data-v-e830d8e0] {
10
- --o-gap-1: 4px;
11
- --o-gap-2: 8px;
12
- --o-gap-3: 12px;
13
- --o-gap-4: 16px;
14
- --o-gap-5: 24px;
15
- --o-gap-6: 32px;
16
- --o-gap-7: 40px;
17
- --o-gap-8: 48px;
18
- --o-gap-9: 64px;
19
- --o-gap-10: 72px;
20
- }
21
- @media (max-width: 1680px) {
22
- .o-article[data-v-e830d8e0] {
23
- --o-gap-1: 4px;
24
- --o-gap-2: 8px;
25
- --o-gap-3: 8px;
26
- --o-gap-4: 12px;
27
- --o-gap-5: 16px;
28
- --o-gap-6: 24px;
29
- --o-gap-7: 24px;
30
- --o-gap-8: 40px;
31
- --o-gap-9: 48px;
32
- --o-gap-10: 56px;
33
- }
34
- }
35
- @media (max-width: 1200px) {
36
- .o-article[data-v-e830d8e0] {
37
- --o-gap-1: 4px;
38
- --o-gap-2: 8px;
39
- --o-gap-3: 8px;
40
- --o-gap-4: 8px;
41
- --o-gap-5: 12px;
42
- --o-gap-6: 16px;
43
- --o-gap-7: 16px;
44
- --o-gap-8: 24px;
45
- --o-gap-9: 32px;
46
- --o-gap-10: 40px;
47
- }
48
- }
49
- @media (max-width: 840px) {
50
- .o-article[data-v-e830d8e0] {
51
- --o-gap-1: 4px;
52
- --o-gap-2: 8px;
53
- --o-gap-3: 12px;
54
- --o-gap-4: 16px;
55
- --o-gap-5: 24px;
56
- --o-gap-6: 28px;
57
- --o-gap-7: 12px;
58
- --o-gap-8: 24px;
59
- --o-gap-9: 32px;
60
- --o-gap-10: 32px;
61
- }
62
- }
63
- @media (max-width: 600px) {
64
- .o-article[data-v-e830d8e0] {
65
- --o-gap-1: 4px;
66
- --o-gap-2: 8px;
67
- --o-gap-3: 12px;
68
- --o-gap-4: 16px;
69
- --o-gap-5: 24px;
70
- --o-gap-6: 28px;
71
- --o-gap-7: 12px;
72
- --o-gap-8: 24px;
73
- --o-gap-9: 32px;
74
- --o-gap-10: 32px;
75
- }
76
- }
77
- .o-article[data-v-e830d8e0] {
9
+ .o-article[data-v-effe6b29] {
78
10
  display: flex;
79
11
  flex-direction: column;
80
12
  min-width: 0;
81
13
  border-radius: var(--o-article-radius);
82
14
  }
83
- .o-article__header[data-v-e830d8e0] {
84
- padding: var(--o-gap-6);
15
+ .o-article__header[data-v-effe6b29] {
16
+ padding: 32px;
85
17
  border-radius: var(--o-article-radius) var(--o-article-radius) 0 0;
86
- background-image: var(--v073a757a);
18
+ background-image: var(--v421a9b14);
87
19
  background-position: 100% 100%;
88
20
  background-repeat: no-repeat;
89
21
  background-size: cover;
90
22
  }
91
- @media (max-width: 840px) {
92
- .o-article__header[data-v-e830d8e0] {
23
+ @media (max-width: 1680px) {
24
+ .o-article__header[data-v-effe6b29] {
25
+ padding: 24px;
26
+ }
27
+ }
28
+ @media (max-width: 1200px) {
29
+ .o-article__header[data-v-effe6b29] {
93
30
  padding: 16px;
94
31
  }
95
32
  }
96
33
  @media (max-width: 600px) {
97
- .o-article__header[data-v-e830d8e0] {
34
+ .o-article__header[data-v-effe6b29] {
98
35
  padding: 12px;
99
36
  }
100
37
  }
101
- .o-article__title[data-v-e830d8e0] {
38
+ .o-article__title[data-v-effe6b29] {
102
39
  margin: 0;
103
40
  color: var(--o-color-info1);
104
41
  font-weight: 600;
@@ -106,30 +43,30 @@
106
43
  line-height: 44px;
107
44
  }
108
45
  @media (min-width: 1201px) and (max-width: 1680px) {
109
- .o-article__title[data-v-e830d8e0] {
46
+ .o-article__title[data-v-effe6b29] {
110
47
  font-size: 20px;
111
48
  line-height: 28px;
112
49
  }
113
50
  }
114
51
  @media (min-width: 841px) and (max-width: 1200px) {
115
- .o-article__title[data-v-e830d8e0] {
52
+ .o-article__title[data-v-effe6b29] {
116
53
  font-size: 20px;
117
54
  line-height: 28px;
118
55
  }
119
56
  }
120
57
  @media (min-width: 601px) and (max-width: 840px) {
121
- .o-article__title[data-v-e830d8e0] {
58
+ .o-article__title[data-v-effe6b29] {
122
59
  font-size: 18px;
123
60
  line-height: 26px;
124
61
  }
125
62
  }
126
63
  @media (max-width: 600px) {
127
- .o-article__title[data-v-e830d8e0] {
64
+ .o-article__title[data-v-effe6b29] {
128
65
  font-size: 16px;
129
66
  line-height: 24px;
130
67
  }
131
68
  }
132
- .o-article__meta[data-v-e830d8e0] {
69
+ .o-article__meta[data-v-effe6b29] {
133
70
  display: flex;
134
71
  flex-wrap: wrap;
135
72
  align-items: center;
@@ -138,7 +75,7 @@
138
75
  row-gap: 8px;
139
76
  margin-top: 8px;
140
77
  }
141
- .o-article__tags[data-v-e830d8e0] {
78
+ .o-article__tags[data-v-effe6b29] {
142
79
  display: flex;
143
80
  flex-wrap: wrap;
144
81
  align-items: center;
@@ -147,65 +84,75 @@
147
84
  padding: 0;
148
85
  list-style: none;
149
86
  }
150
- .o-article__tags-divider[data-v-e830d8e0] {
87
+ .o-article__tags-divider[data-v-effe6b29] {
151
88
  --o-divider-label-gap: 0;
152
89
  height: 20px;
153
90
  }
154
- .o-article__update-time[data-v-e830d8e0] {
91
+ .o-article__update-time[data-v-effe6b29] {
155
92
  flex-shrink: 0;
156
93
  color: var(--o-color-info3);
157
94
  font-size: 14px;
158
95
  line-height: 22px;
159
96
  }
160
97
  @media (min-width: 1201px) and (max-width: 1680px) {
161
- .o-article__update-time[data-v-e830d8e0] {
98
+ .o-article__update-time[data-v-effe6b29] {
162
99
  font-size: 14px;
163
100
  line-height: 18px;
164
101
  }
165
102
  }
166
103
  @media (min-width: 841px) and (max-width: 1200px) {
167
- .o-article__update-time[data-v-e830d8e0] {
104
+ .o-article__update-time[data-v-effe6b29] {
168
105
  font-size: 12px;
169
106
  line-height: 18px;
170
107
  }
171
108
  }
172
109
  @media (min-width: 601px) and (max-width: 840px) {
173
- .o-article__update-time[data-v-e830d8e0] {
110
+ .o-article__update-time[data-v-effe6b29] {
174
111
  font-size: 12px;
175
112
  line-height: 18px;
176
113
  }
177
114
  }
178
115
  @media (max-width: 600px) {
179
- .o-article__update-time[data-v-e830d8e0] {
116
+ .o-article__update-time[data-v-effe6b29] {
180
117
  font-size: 12px;
181
118
  line-height: 18px;
182
119
  }
183
120
  }
184
121
  @media (max-width: 600px) {
185
- .o-article__update-time[data-v-e830d8e0] {
122
+ .o-article__update-time[data-v-effe6b29] {
186
123
  flex-basis: 100%;
187
124
  }
188
125
  }
189
- .o-article__tag[data-v-e830d8e0] {
126
+ .o-article__tag[data-v-effe6b29] {
190
127
  --tag-height: 24px;
191
128
  --tag-padding: 0 11px;
192
129
  }
193
- .o-article__content[data-v-e830d8e0] {
194
- padding: var(--o-gap-6);
130
+ .o-article__content[data-v-effe6b29] {
131
+ padding: 32px;
195
132
  background-color: var(--o-color-fill2);
196
133
  border-radius: 0 0 var(--o-article-radius) var(--o-article-radius);
197
134
  }
135
+ @media (max-width: 1680px) {
136
+ .o-article__content[data-v-effe6b29] {
137
+ padding: 24px;
138
+ }
139
+ }
140
+ @media (max-width: 1200px) {
141
+ .o-article__content[data-v-effe6b29] {
142
+ padding: 16px;
143
+ }
144
+ }
198
145
  @media (max-width: 840px) {
199
- .o-article__content[data-v-e830d8e0] {
146
+ .o-article__content[data-v-effe6b29] {
200
147
  padding: 12px;
201
148
  }
202
149
  }
203
- .o-article__content--no-first-margin[data-v-e830d8e0] .o-markdown > .o-markdown-body > div:first-child > *:first-child {
150
+ .o-article__content--no-first-margin[data-v-effe6b29] .o-markdown > .o-markdown-body > div:first-child > *:first-child {
204
151
  margin-top: 0;
205
152
  }
206
- .o-article__content--hide-first-h1[data-v-e830d8e0] .o-markdown > .o-markdown-body > div:first-child > h1:first-of-type {
153
+ .o-article__content--hide-first-h1[data-v-effe6b29] .o-markdown > .o-markdown-body > div:first-child > h1:first-of-type {
207
154
  display: none;
208
155
  }
209
- .o-article__content--hide-first-h1[data-v-e830d8e0] .o-markdown > .o-markdown-body > div:first-child > h1:first-of-type + * {
156
+ .o-article__content--hide-first-h1[data-v-effe6b29] .o-markdown > .o-markdown-body > div:first-child > h1:first-of-type + * {
210
157
  margin-top: 0;
211
158
  }
@@ -1,4 +1,4 @@
1
- import { OMarkdownPaginationItemT } from '../markdown/types';
1
+ import { OArticlePaginationItemT } from '../article-pagination/types';
2
2
  type __VLS_Props = {
3
3
  /** 文章标题(必填) */
4
4
  title: string;
@@ -8,10 +8,10 @@ type __VLS_Props = {
8
8
  tags?: string[];
9
9
  /** 所属社区(可选),渲染为标签并置于标签列表首位,用垂直分隔线与其余标签隔开 */
10
10
  community?: string;
11
- /** 上一篇(可选),透传给 OMarkdownPagination */
12
- prev?: OMarkdownPaginationItemT | null;
13
- /** 下一篇(可选),透传给 OMarkdownPagination */
14
- next?: OMarkdownPaginationItemT | null;
11
+ /** 上一篇(可选),透传给 OArticlePagination */
12
+ prev?: OArticlePaginationItemT | null;
13
+ /** 下一篇(可选),透传给 OArticlePagination */
14
+ next?: OArticlePaginationItemT | null;
15
15
  /** 透传给 OMarkdown:禁用 H2 增强 */
16
16
  disableH2?: boolean;
17
17
  /** 透传给 OMarkdown:禁用表格增强 */
@@ -28,11 +28,11 @@ type __VLS_Props = {
28
28
  removeFirstTopMargin?: boolean;
29
29
  /** 是否自动隐藏正文中的第一个 h1(该 h1 通常与标题重复,作为页面标题展示),默认 true */
30
30
  autoHideFirstH1?: boolean;
31
- /** 透传给 OMarkdownPagination:上一篇文案,留空取 i18n 默认值 */
31
+ /** 透传给 OArticlePagination:上一篇文案,留空取 i18n 默认值 */
32
32
  prevLabel?: string;
33
- /** 透传给 OMarkdownPagination:下一篇文案,留空取 i18n 默认值 */
33
+ /** 透传给 OArticlePagination:下一篇文案,留空取 i18n 默认值 */
34
34
  nextLabel?: string;
35
- /** 透传给 OMarkdownPagination:是否显示顶部分割线 */
35
+ /** 透传给 OArticlePagination:是否显示顶部分割线 */
36
36
  divider?: boolean;
37
37
  /** 圆角 */
38
38
  radius?: string;
@@ -47,17 +47,17 @@ declare function __VLS_template(): {
47
47
  };
48
48
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
49
49
  declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
50
- navigate: (type: "prev" | "next", item: OMarkdownPaginationItemT) => any;
50
+ navigate: (type: "prev" | "next", item: OArticlePaginationItemT) => any;
51
51
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
52
- onNavigate?: ((type: "prev" | "next", item: OMarkdownPaginationItemT) => any) | undefined;
52
+ onNavigate?: ((type: "prev" | "next", item: OArticlePaginationItemT) => any) | undefined;
53
53
  }>, {
54
54
  disableH2: boolean;
55
55
  disableTable: boolean;
56
56
  disableImg: boolean;
57
57
  disableCode: boolean;
58
58
  markdownBodyClass: string;
59
- prev: OMarkdownPaginationItemT | null;
60
- next: OMarkdownPaginationItemT | null;
59
+ prev: OArticlePaginationItemT | null;
60
+ next: OArticlePaginationItemT | null;
61
61
  divider: boolean;
62
62
  radius: string;
63
63
  tags: string[];
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./OArticle.vue2.mjs";
2
2
  import './OArticle.css';
3
3
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
4
- const _OArticle = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e830d8e0"]]);
4
+ const _OArticle = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-effe6b29"]]);
5
5
  export {
6
6
  _OArticle as default
7
7
  };
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, useCssVars, computed, openBlock, createElementBlock, normalizeStyle, createElementVNode, toDisplayString, createBlock, unref, withCtx, createTextVNode, createCommentVNode, Fragment, renderList, normalizeClass, createVNode, normalizeProps, guardReactiveProps, renderSlot } from "vue";
2
2
  import { OTag, ODivider } from "@opensig/opendesign";
3
3
  import _OMarkdown from "../markdown/OMarkdown.vue.mjs";
4
- import _OMarkdownPagination from "../markdown/OMarkdownPagination.vue.mjs";
4
+ import _OArticlePagination from "../article-pagination/OArticlePagination.vue.mjs";
5
5
  import { useI18n } from "../../i18n/index.mjs";
6
6
  const _hoisted_1 = { class: "o-article__header" };
7
7
  const _hoisted_2 = { class: "o-article__title" };
@@ -42,7 +42,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
42
42
  emits: ["navigate"],
43
43
  setup(__props, { emit: __emit }) {
44
44
  useCssVars((_ctx) => ({
45
- "v073a757a": headerBgStyle.value
45
+ "v421a9b14": headerBgStyle.value
46
46
  }));
47
47
  const props = __props;
48
48
  const emit = __emit;
@@ -117,7 +117,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
117
117
  ]),
118
118
  _: 3
119
119
  }, 16),
120
- createVNode(_OMarkdownPagination, {
120
+ createVNode(_OArticlePagination, {
121
121
  prev: __props.prev,
122
122
  next: __props.next,
123
123
  "prev-label": __props.prevLabel,
@@ -0,0 +1,232 @@
1
+ .hover-icon-rotate .o-icon {
2
+ transition: all var(--o-duration-m1) var(--o-easing-standard-in);
3
+ }
4
+ @media (hover: hover) {
5
+ .hover-icon-rotate:hover .o-icon {
6
+ transform: rotate(-180deg);
7
+ }
8
+ }
9
+ .o-article-list .article-filter {
10
+ background-color: var(--o-color-fill2);
11
+ border-radius: var(--o-radius-xs);
12
+ padding: var(--o-gap-5) var(--o-gap-6);
13
+ font-size: 16px;
14
+ line-height: 24px;
15
+ }
16
+ @media (min-width: 1201px) and (max-width: 1680px) {
17
+ .o-article-list .article-filter {
18
+ font-size: 14px;
19
+ line-height: 22px;
20
+ }
21
+ }
22
+ @media (min-width: 841px) and (max-width: 1200px) {
23
+ .o-article-list .article-filter {
24
+ font-size: 14px;
25
+ line-height: 22px;
26
+ }
27
+ }
28
+ @media (min-width: 601px) and (max-width: 840px) {
29
+ .o-article-list .article-filter {
30
+ font-size: 14px;
31
+ line-height: 22px;
32
+ }
33
+ }
34
+ @media (max-width: 600px) {
35
+ .o-article-list .article-filter {
36
+ font-size: 12px;
37
+ line-height: 18px;
38
+ }
39
+ }
40
+ @media (max-width: 1680px) {
41
+ .o-article-list .article-filter {
42
+ padding: var(--o-gap-4) var(--o-gap-5);
43
+ }
44
+ }
45
+ @media (min-width: ) {
46
+ .o-article-list .article-filter {
47
+ padding: var(--o-gap-3) var(--o-gap-4);
48
+ }
49
+ }
50
+ @media (max-width: 840px) {
51
+ .o-article-list .article-filter {
52
+ padding: var(--o-gap-3) var(--o-gap-3);
53
+ }
54
+ }
55
+ .o-article-list .article-filter + .article-content {
56
+ margin-top: var(--grid-column-gutter);
57
+ }
58
+ .o-article-list .article-content .o-card {
59
+ --card-main-padding: 24px;
60
+ height: 100%;
61
+ }
62
+ @media (max-width: 840px) {
63
+ .o-article-list .article-content .o-card {
64
+ --card-main-padding: 8px;
65
+ --card-h-cover-width: 36%;
66
+ }
67
+ }
68
+ .o-article-list .article-content .o-card:hover .o-card-title {
69
+ color: var(--o-color-primary1);
70
+ }
71
+ .o-article-list .article-content .o-card .o-card-cover-img {
72
+ height: 266px;
73
+ }
74
+ @media (min-width: 1921px) {
75
+ .o-article-list .article-content .o-card .o-card-cover-img {
76
+ height: 266px;
77
+ }
78
+ }
79
+ @media (max-width: 1680px) {
80
+ .o-article-list .article-content .o-card .o-card-cover-img {
81
+ height: 245px;
82
+ }
83
+ }
84
+ @media (min-width: 841px) and (max-width: 1200px) {
85
+ .o-article-list .article-content .o-card .o-card-cover-img {
86
+ height: 184px;
87
+ }
88
+ }
89
+ @media (min-width: 601px) and (max-width: 840px) {
90
+ .o-article-list .article-content .o-card .o-card-cover-img {
91
+ height: 184px;
92
+ }
93
+ }
94
+ @media (max-width: 600px) {
95
+ .o-article-list .article-content .o-card .o-card-cover-img {
96
+ height: 100%;
97
+ }
98
+ }
99
+ @media (max-width: 600px) {
100
+ .o-article-list .article-content .o-card.o-card-layout-v .o-card-cover-img {
101
+ height: 184px;
102
+ }
103
+ }
104
+ .o-article-list .article-content .o-card .o-card-detail {
105
+ display: flex;
106
+ align-items: flex-start;
107
+ flex-wrap: wrap;
108
+ gap: var(--o-gap-1);
109
+ }
110
+ .o-article-list .article-content .o-card .o-card-detail .item-type {
111
+ display: inline-flex;
112
+ align-items: center;
113
+ padding: var(--o-gap-1);
114
+ }
115
+ .o-article-list .article-content .o-card .o-card-detail .item-type.empty-tag {
116
+ border-color: transparent;
117
+ }
118
+ .o-article-list .article-content .o-card .o-card-detail .item-type .o-tag-icon {
119
+ display: flex;
120
+ align-items: center;
121
+ }
122
+ .o-article-list .article-content .o-card .o-card-detail .item-desc {
123
+ width: 100%;
124
+ color: var(--o-color-info2);
125
+ position: relative;
126
+ height: 2lh;
127
+ overflow: hidden;
128
+ }
129
+ .o-article-list .article-content .o-card .o-card-detail .item-desc::after {
130
+ content: "";
131
+ position: absolute;
132
+ right: 0;
133
+ bottom: 0;
134
+ width: 4em;
135
+ height: 1lh;
136
+ pointer-events: none;
137
+ background-image: linear-gradient(90deg, rgba(var(--o-grey-1), 0) 0%, rgba(var(--o-grey-1), 1) 80%);
138
+ }
139
+ [data-o-theme*=dark] .o-article-list .article-content .o-card .o-card-detail .item-desc::after {
140
+ background-image: linear-gradient(90deg, rgba(var(--o-grey-4), 0) 0%, rgba(var(--o-grey-4), 1) 80%);
141
+ }
142
+ .o-article-list .article-content .o-card .item-info {
143
+ color: var(--o-color-info3);
144
+ display: flex;
145
+ align-items: center;
146
+ flex-wrap: wrap;
147
+ font-size: 12px;
148
+ line-height: 18px;
149
+ }
150
+ @media (min-width: 1201px) and (max-width: 1680px) {
151
+ .o-article-list .article-content .o-card .item-info {
152
+ font-size: 12px;
153
+ line-height: 18px;
154
+ }
155
+ }
156
+ @media (min-width: 841px) and (max-width: 1200px) {
157
+ .o-article-list .article-content .o-card .item-info {
158
+ font-size: 12px;
159
+ line-height: 18px;
160
+ }
161
+ }
162
+ @media (min-width: 601px) and (max-width: 840px) {
163
+ .o-article-list .article-content .o-card .item-info {
164
+ font-size: 12px;
165
+ line-height: 18px;
166
+ }
167
+ }
168
+ @media (max-width: 600px) {
169
+ .o-article-list .article-content .o-card .item-info {
170
+ font-size: 12px;
171
+ line-height: 18px;
172
+ }
173
+ }
174
+ .o-article-list .article-content .o-card .item-info span {
175
+ display: flex;
176
+ align-items: center;
177
+ }
178
+ .o-article-list .article-content .o-card .item-info span + span {
179
+ margin-left: var(--o-gap-4);
180
+ }
181
+ @media (max-width: 1680px) {
182
+ .o-article-list .article-content .o-card .item-info span + span {
183
+ margin-left: var(--o-gap-3);
184
+ }
185
+ }
186
+ @media (min-width: ) {
187
+ .o-article-list .article-content .o-card .item-info span + span {
188
+ margin-left: var(--o-gap-2);
189
+ }
190
+ }
191
+ .o-article-list .article-content .o-card .item-info span .o-icon {
192
+ display: inline-flex;
193
+ margin-right: var(--o-gap-2);
194
+ font-size: 16px;
195
+ }
196
+ .o-article-list .article-content .o-card .item-info span .o-icon svg {
197
+ width: 16px;
198
+ height: 16px;
199
+ fill: currentColor;
200
+ }
201
+ .o-article-list .article-empty {
202
+ padding: var(--o-gap-8) 0;
203
+ }
204
+ @media (max-width: 1680px) {
205
+ .o-article-list .article-empty {
206
+ padding: var(--o-gap-7) 0;
207
+ }
208
+ }
209
+ @media (min-width: ) {
210
+ .o-article-list .article-empty {
211
+ padding: var(--o-gap-5) 0;
212
+ }
213
+ }
214
+ @media (max-width: 840px) {
215
+ .o-article-list .article-empty {
216
+ padding: var(--o-gap-4) 0;
217
+ }
218
+ }
219
+ .o-article-list .article-pagination {
220
+ margin-top: var(--grid-column-gutter);
221
+ display: flex;
222
+ justify-content: flex-end;
223
+ }
224
+ @media (max-width: 840px) {
225
+ .o-article-list .article-pagination {
226
+ justify-content: center;
227
+ }
228
+ }
229
+ .o-article-list .article-pagination .o-pagination {
230
+ --pagination-item-bg-color-current: var(--o-color-primary1);
231
+ --pagination-item-color-current: rgb(var(--o-white));
232
+ }
@@ -0,0 +1,54 @@
1
+ import { ArticleItemT, ArticleListPropsT } from './types';
2
+ declare function __VLS_template(): {
3
+ attrs: Partial<{}>;
4
+ slots: Readonly<{
5
+ /** 筛选条件区,不传时不渲染筛选区块 */
6
+ filter?: () => any;
7
+ /** 列表项卡片自定义渲染(栅格布局、分页逻辑仍由组件内部处理),插槽参数为当前项数据、索引与解析后的封面;不传时渲染内置 OCard */
8
+ card?: (props: {
9
+ item: ArticleItemT;
10
+ index: number;
11
+ cover?: string;
12
+ }) => any;
13
+ /** 空状态,列表为空时展示 */
14
+ empty?: () => any;
15
+ }> & {
16
+ /** 筛选条件区,不传时不渲染筛选区块 */
17
+ filter?: () => any;
18
+ /** 列表项卡片自定义渲染(栅格布局、分页逻辑仍由组件内部处理),插槽参数为当前项数据、索引与解析后的封面;不传时渲染内置 OCard */
19
+ card?: (props: {
20
+ item: ArticleItemT;
21
+ index: number;
22
+ cover?: string;
23
+ }) => any;
24
+ /** 空状态,列表为空时展示 */
25
+ empty?: () => any;
26
+ };
27
+ refs: {};
28
+ rootEl: HTMLDivElement;
29
+ };
30
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
31
+ declare const __VLS_component: import('vue').DefineComponent<ArticleListPropsT, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
32
+ "page-change": (value: {
33
+ page: number;
34
+ pageSize: number;
35
+ }) => any;
36
+ }, string, import('vue').PublicProps, Readonly<ArticleListPropsT> & Readonly<{
37
+ "onPage-change"?: ((value: {
38
+ page: number;
39
+ pageSize: number;
40
+ }) => any) | undefined;
41
+ }>, {
42
+ data: ArticleItemT[];
43
+ pageSizes: number[];
44
+ pageSize: number;
45
+ defaultCovers: string[];
46
+ mobileLayout: "h" | "v";
47
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
48
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
49
+ export default _default;
50
+ type __VLS_WithTemplateSlots<T, S> = T & {
51
+ new (): {
52
+ $slots: S;
53
+ };
54
+ };