@opendesign-plus/components 0.0.1-rc.6 → 0.0.1-rc.8

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 (138) hide show
  1. package/dist/chunk-OElCookieNotice.cjs.js +1 -0
  2. package/dist/chunk-OElCookieNotice.es.js +281 -0
  3. package/dist/components/OFooter.vue.d.ts +25 -0
  4. package/dist/components/OHeader.vue.d.ts +23 -0
  5. package/dist/components/OHeaderMoblie.vue.d.ts +33 -0
  6. package/dist/components/OHeaderUser.vue.d.ts +40 -0
  7. package/dist/components/OSourceCode.vue.d.ts +20 -0
  8. package/dist/components/events/OEventsApply.vue.d.ts +16 -0
  9. package/dist/components/events/OEventsCalendar.vue.d.ts +5 -0
  10. package/dist/components/events/OEventsList.vue.d.ts +26 -0
  11. package/dist/components/events/config.d.ts +27 -0
  12. package/dist/components/events/index.d.ts +78 -0
  13. package/dist/components/events/types.d.ts +66 -0
  14. package/dist/components/events/utils.d.ts +7 -0
  15. package/dist/components.cjs.js +3 -1
  16. package/dist/components.css +1 -1
  17. package/dist/components.element.cjs.js +1 -1
  18. package/dist/components.element.es.js +2 -214
  19. package/dist/components.es.js +3001 -444
  20. package/dist/index.d.ts +8 -1
  21. package/docs/design.md +27 -27
  22. package/docs/design_banner.md +41 -41
  23. package/docs/design_section.md +27 -27
  24. package/package.json +2 -1
  25. package/scripts/generate-components-index.js +99 -80
  26. package/src/assets/events/city/beijing.jpg +0 -0
  27. package/src/assets/events/city/chengdu.jpg +0 -0
  28. package/src/assets/events/city/default-cover.jpg +0 -0
  29. package/src/assets/events/city/guangzhou.jpg +0 -0
  30. package/src/assets/events/city/hangzhou.jpg +0 -0
  31. package/src/assets/events/city/nanjing.jpg +0 -0
  32. package/src/assets/events/city/shanghai.jpg +0 -0
  33. package/src/assets/events/city/shenzhen1.jpg +0 -0
  34. package/src/assets/events/city/shenzhen2.jpg +0 -0
  35. package/src/assets/events/city/suzhou.jpg +0 -0
  36. package/src/assets/events/city/tianjin.jpg +0 -0
  37. package/src/assets/events/city/wuhan.jpg +0 -0
  38. package/src/assets/events/city/wuxi.jpg +0 -0
  39. package/src/assets/events/city/xian.jpg +0 -0
  40. package/src/assets/events/city/zhengzhou.jpg +0 -0
  41. package/src/assets/events/svg-icons/icon-checked.svg +3 -0
  42. package/src/assets/events/svg-icons/icon-competition.svg +7 -0
  43. package/src/assets/events/svg-icons/icon-events.svg +4 -0
  44. package/src/assets/events/svg-icons/icon-release.svg +4 -0
  45. package/src/assets/events/svg-icons/icon-summit.svg +4 -0
  46. package/src/assets/svg-icons/icon-arrow-left.svg +3 -0
  47. package/src/assets/svg-icons/icon-avatar-line.svg +3 -0
  48. package/src/assets/svg-icons/icon-caret-left.svg +3 -0
  49. package/src/assets/svg-icons/icon-caret-right.svg +3 -0
  50. package/src/assets/svg-icons/icon-chevron-down.svg +3 -0
  51. package/src/assets/svg-icons/icon-chevron-right.svg +3 -3
  52. package/src/assets/svg-icons/icon-close.svg +3 -3
  53. package/src/assets/svg-icons/icon-delete.svg +3 -3
  54. package/src/assets/svg-icons/icon-header-back.svg +3 -3
  55. package/src/assets/svg-icons/icon-header-delete.svg +3 -3
  56. package/src/assets/svg-icons/icon-header-menu.svg +3 -0
  57. package/src/assets/svg-icons/icon-header-person.svg +3 -0
  58. package/src/assets/svg-icons/icon-header-search.svg +4 -4
  59. package/src/assets/svg-icons/icon-locale.svg +3 -0
  60. package/src/assets/svg-icons/icon-log-off.svg +3 -0
  61. package/src/assets/svg-icons/icon-message.svg +3 -0
  62. package/src/assets/svg-icons/icon-moon.svg +3 -3
  63. package/src/assets/svg-icons/icon-outlink.svg +3 -0
  64. package/src/assets/svg-icons/icon-overview.svg +3 -0
  65. package/src/assets/svg-icons/icon-setting.svg +3 -0
  66. package/src/assets/svg-icons/icon-sun.svg +3 -3
  67. package/src/components/OBanner.vue +390 -390
  68. package/src/components/OCookieNotice.vue +423 -423
  69. package/src/components/OFooter.vue +566 -0
  70. package/src/components/OHeader.vue +97 -0
  71. package/src/components/OHeaderMoblie.vue +149 -0
  72. package/src/components/OHeaderSearch.vue +601 -601
  73. package/src/components/OHeaderUser.vue +304 -0
  74. package/src/components/OPlusConfigProvider.vue +32 -32
  75. package/src/components/OSection.vue +178 -178
  76. package/src/components/OSourceCode.vue +153 -0
  77. package/src/components/OThemeSwitcher.vue +108 -108
  78. package/src/components/common/AppAvatar.vue +83 -0
  79. package/src/components/common/ClientOnlyWrapper.ts +21 -21
  80. package/src/components/common/ContentWrapper.vue +85 -85
  81. package/src/components/common/HeaderEulerNav.vue +1118 -0
  82. package/src/components/common/HeaderNavMoblie.vue +344 -0
  83. package/src/components/common/HeaderUbmcNav.vue +597 -0
  84. package/src/components/element-plus/OElCookieNotice.vue +412 -412
  85. package/src/components/element-plus/index.ts +3 -3
  86. package/src/components/events/OEventsApply.vue +487 -0
  87. package/src/components/events/OEventsCalendar.vue +613 -0
  88. package/src/components/events/OEventsList.vue +402 -0
  89. package/src/components/events/config.ts +49 -0
  90. package/src/components/events/index.ts +23 -0
  91. package/src/components/events/types.ts +80 -0
  92. package/src/components/events/utils.ts +9 -0
  93. package/src/components/meeting/npmcachae/_cacache/content-v2/sha512/3e/17/1865217b9acb9f4921c53a09b5c76587cd2ab748beb2699ff6cfb1341d73b1aa56ed91ffc5ab2c9c9b3fbe626103b35d9a79ff29ff6b8cbb8d89755fe1a2 +1 -0
  94. package/src/components/meeting/npmcachae/_cacache/content-v2/sha512/a6/15/47bb7552ec9248079e839a5feecc1742d4de19524fdf041cf581701cf4760a5025106036145e279ba193b07c8fa5b07ae3d75f1b6032f0cb2219115b6167 +1 -0
  95. package/src/components/meeting/npmcachae/_cacache/content-v2/sha512/d1/4c/133b32e09c97101a27a07cc4432f94e470cff02d120d21babcea77c3f5cd436793516dc1a8e282ee1a568f923c148b1a48f4a43233462a530d35e8b41c67 +1 -0
  96. package/src/components/meeting/npmcachae/_cacache/index-v5/54/0d/a4909047714a0a7198bb9bd37020992464e47c79a791889919b84d90aab0 +3 -0
  97. package/src/components/meeting/npmcachae/_cacache/index-v5/8e/2b/21a79778e2ac08cf5663baf83cb35f951995a496007eb2e2f7fba54021a4 +3 -0
  98. package/src/components/meeting/npmcachae/_cacache/index-v5/eb/a0/b70c8132e5b57a0f1e129b8cc941796420a9c147c0baa680710083740898 +2 -0
  99. package/src/components/meeting/npmcachae/_logs/2026-03-20T07_03_54_955Z-debug-0.log +277 -0
  100. package/src/components/meeting/npmcachae/_logs/2026-03-20T07_03_57_842Z-debug-0.log +277 -0
  101. package/src/components/meeting/npmcachae/_logs/2026-03-20T07_04_00_016Z-debug-0.log +277 -0
  102. package/src/components/meeting/npmcachae/_logs/2026-03-20T07_04_02_191Z-debug-0.log +277 -0
  103. package/src/components/meeting/npmcachae/_logs/2026-03-20T07_04_04_425Z-debug-0.log +277 -0
  104. package/src/components/meeting/npmcachae/_logs/2026-03-20T07_04_06_642Z-debug-0.log +277 -0
  105. package/src/components/meeting/npmcachae/_logs/2026-03-20T07_04_08_826Z-debug-0.log +277 -0
  106. package/src/components/meeting/npmcachae/_logs/2026-03-20T07_25_36_140Z-debug-0.log +433 -0
  107. package/src/components/meeting/npmcachae/_logs/2026-03-20T07_25_39_573Z-debug-0.log +433 -0
  108. package/src/components/meeting/npmcachae/_logs/2026-03-20T07_25_42_134Z-debug-0.log +212 -0
  109. package/src/components/meeting/npmcachae/_update-notifier-last-checked +0 -0
  110. package/src/draft/Banner.vue +265 -265
  111. package/src/draft/ButtonCards.vue +105 -105
  112. package/src/draft/Feature.vue +133 -133
  113. package/src/draft/Footer.vue +512 -512
  114. package/src/draft/HorizontalAnchor.vue +165 -165
  115. package/src/draft/ItemSwiper.vue +133 -133
  116. package/src/draft/Logo.vue +141 -141
  117. package/src/draft/LogoCard.vue +74 -74
  118. package/src/draft/LogoV2.vue +19 -19
  119. package/src/draft/MainCard.vue +38 -38
  120. package/src/draft/MultiCard.vue +94 -94
  121. package/src/draft/MultiIconCard.vue +73 -73
  122. package/src/draft/OInfoCard.vue +176 -176
  123. package/src/draft/Process.vue +81 -81
  124. package/src/draft/Section.vue +167 -167
  125. package/src/draft/SingleTabCard.vue +84 -84
  126. package/src/draft/SliderCard.vue +110 -110
  127. package/src/env.d.ts +1 -1
  128. package/src/i18n/en.ts +20 -20
  129. package/src/i18n/index.ts +42 -42
  130. package/src/i18n/zh.ts +14 -9
  131. package/src/index.ts +15 -1
  132. package/src/shared/provide.ts +6 -6
  133. package/src/shims-vue-dompurify-html.d.ts +17 -0
  134. package/src/vue.d.ts +9 -9
  135. package/tsconfig.json +33 -33
  136. package/vite.config.ts +102 -101
  137. package/dist/chunk-index.cjs.js +0 -1
  138. package/dist/chunk-index.es.js +0 -64
package/vite.config.ts CHANGED
@@ -1,101 +1,102 @@
1
- import { defineConfig } from 'vite';
2
- import vue from '@vitejs/plugin-vue';
3
- import Icons from 'unplugin-icons/vite';
4
- import path from 'path';
5
- import { FileSystemIconLoader } from 'unplugin-icons/loaders';
6
- import ElementPlus from 'unplugin-element-plus/vite';
7
- import dts from 'vite-plugin-dts';
8
-
9
- export default defineConfig(({ mode }) => {
10
- const isLibraryMode = mode === 'library';
11
-
12
- return {
13
- build: {
14
- outDir: path.resolve(__dirname, './dist'),
15
- ...(isLibraryMode
16
- ? {
17
- lib: {
18
- entry: {
19
- lib: path.resolve(__dirname, 'src/index.ts'),
20
- element: path.resolve(__dirname, 'src/components/element-plus/index.ts'),
21
- },
22
- name: 'OpenDesignPlusComponents',
23
- fileName: (format, entry) => {
24
- if (entry === 'lib') return `components.${format}.js`;
25
- return `components.${entry}.${format}.js`;
26
- },
27
- formats: ['es', 'cjs'],
28
- cssInjectedByJs: true,
29
- },
30
- rollupOptions: {
31
- external: [
32
- /^element-plus/,
33
- 'vue',
34
- '@opensig/opendesign',
35
- '@vueuse/core',
36
- 'shiki',
37
- '@opendesign-plus/composables',
38
- ],
39
- output: {
40
- globals: {
41
- 'element-plus': 'ElementPlus',
42
- vue: 'Vue',
43
- '@opensig/opendesign': 'OpenDesign',
44
- '@vueuse/core': 'VueUse',
45
- '@opendesign-plus/composables': 'OpenDesignPlusComposables',
46
- },
47
- // entryFileNames: 'components.[format].js',
48
- chunkFileNames: 'chunk-[name].[format].js',
49
- },
50
- },
51
- cssCodeSplit: false, // 禁用CSS分割,所有样式打包到一起
52
- }
53
- : {}),
54
- },
55
- resolve: {
56
- alias: {
57
- vue: 'vue/dist/vue.esm-bundler.js',
58
- '@': path.resolve(__dirname, 'src'),
59
- },
60
- },
61
- css: {
62
- preprocessorOptions: {
63
- scss: {
64
- charset: false,
65
- additionalData: `
66
- @use "@opendesign-plus/styles/mixin/screen.scss" as *;
67
- @use "@opendesign-plus/styles/mixin/font.scss" as *;
68
- @use "@opendesign-plus/styles/mixin/common.scss" as *;
69
- `,
70
- },
71
- },
72
- },
73
- plugins: [
74
- // 关键:配置Vue插件正确处理样式
75
- vue({
76
- include: [/\.vue$/],
77
- template: {
78
- compilerOptions: {
79
- // 确保模板编译正确
80
- },
81
- },
82
- }) as any,
83
- dts({
84
- include: ['./src/components/**/*', './src/index.ts'],
85
- exclude: ['./src/components/common/**/*']
86
- }),
87
- Icons({
88
- compiler: 'vue3',
89
- customCollections: {
90
- components: FileSystemIconLoader(path.resolve(__dirname, './src/assets/svg-icons')),
91
- },
92
- }),
93
- ElementPlus({ useSource: true })
94
- ],
95
- assetsInclude: ['**/*.md'],
96
- server: {
97
- proxy: {},
98
- },
99
- base: '/',
100
- };
101
- });
1
+ import { defineConfig } from 'vite';
2
+ import vue from '@vitejs/plugin-vue';
3
+ import Icons from 'unplugin-icons/vite';
4
+ import path from 'path';
5
+ import { FileSystemIconLoader } from 'unplugin-icons/loaders';
6
+ import ElementPlus from 'unplugin-element-plus/vite';
7
+ import dts from 'vite-plugin-dts';
8
+
9
+ export default defineConfig(({ mode }) => {
10
+ const isLibraryMode = mode === 'library';
11
+
12
+ return {
13
+ build: {
14
+ outDir: path.resolve(__dirname, './dist'),
15
+ ...(isLibraryMode
16
+ ? {
17
+ lib: {
18
+ entry: {
19
+ lib: path.resolve(__dirname, 'src/index.ts'),
20
+ element: path.resolve(__dirname, 'src/components/element-plus/index.ts'),
21
+ },
22
+ name: 'OpenDesignPlusComponents',
23
+ fileName: (format, entry) => {
24
+ if (entry === 'lib') return `components.${format}.js`;
25
+ return `components.${entry}.${format}.js`;
26
+ },
27
+ formats: ['es', 'cjs'],
28
+ cssInjectedByJs: true,
29
+ },
30
+ rollupOptions: {
31
+ external: [
32
+ /^element-plus/,
33
+ 'vue',
34
+ '@opensig/opendesign',
35
+ '@vueuse/core',
36
+ 'shiki',
37
+ '@opendesign-plus/composables',
38
+ ],
39
+ output: {
40
+ globals: {
41
+ 'element-plus': 'ElementPlus',
42
+ vue: 'Vue',
43
+ '@opensig/opendesign': 'OpenDesign',
44
+ '@vueuse/core': 'VueUse',
45
+ '@opendesign-plus/composables': 'OpenDesignPlusComposables',
46
+ },
47
+ // entryFileNames: 'components.[format].js',
48
+ chunkFileNames: 'chunk-[name].[format].js',
49
+ },
50
+ },
51
+ cssCodeSplit: false, // 禁用CSS分割,所有样式打包到一起
52
+ }
53
+ : {}),
54
+ },
55
+ resolve: {
56
+ alias: {
57
+ vue: 'vue/dist/vue.esm-bundler.js',
58
+ '@': path.resolve(__dirname, 'src'),
59
+ },
60
+ },
61
+ css: {
62
+ preprocessorOptions: {
63
+ scss: {
64
+ charset: false,
65
+ additionalData: `
66
+ @use "@opendesign-plus/styles/mixin/screen.scss" as *;
67
+ @use "@opendesign-plus/styles/mixin/font.scss" as *;
68
+ @use "@opendesign-plus/styles/mixin/common.scss" as *;
69
+ `,
70
+ },
71
+ },
72
+ },
73
+ plugins: [
74
+ // 关键:配置Vue插件正确处理样式
75
+ vue({
76
+ include: [/\.vue$/],
77
+ template: {
78
+ compilerOptions: {
79
+ // 确保模板编译正确
80
+ },
81
+ },
82
+ }) as any,
83
+ dts({
84
+ include: ['./src/components/**/*', './src/index.ts'],
85
+ exclude: ['./src/components/common/**/*']
86
+ }),
87
+ Icons({
88
+ compiler: 'vue3',
89
+ customCollections: {
90
+ components: FileSystemIconLoader(path.resolve(__dirname, './src/assets/svg-icons')),
91
+ events: FileSystemIconLoader(path.resolve(__dirname, './src/assets/events/svg-icons')),
92
+ },
93
+ }),
94
+ ElementPlus({ useSource: true })
95
+ ],
96
+ assetsInclude: ['**/*.md'],
97
+ server: {
98
+ proxy: {},
99
+ },
100
+ base: '/',
101
+ };
102
+ });
@@ -1 +0,0 @@
1
- "use strict";const t=require("vue"),a=require("@opensig/opendesign"),k=(n,e)=>{const o=n.__vccOpts||n;for(const[i,s]of e)o[i]=s;return o},y=n=>{const e=t.ref(!1);return t.onMounted(()=>{e.value=!0}),()=>e.value&&n.default?n.default():null},f=t.defineComponent({setup(n,{slots:e}){const o=t.resolveComponent("ClientOnly");return o&&typeof o!="string"?()=>t.h(o,null,{default:()=>e.default?e.default():null}):y(e)}}),p={search:"搜索","search.hot":"热门搜索","search.placeholder":"搜索","search.expandedPlaceholder":"请输入搜索内容","search.history":"历史搜索","cookie.desc":"我们使用cookie来确保您的高速浏览体验。继续浏览本站,即表示您同意我们使用cookie。","cookie.about":"查看详情"},d={search:"Search","search.hot":"Top search","search.placeholder":"Please enter the content","search.expandedPlaceholder":"Please enter the content","search.history":"History","cookie.title":"{0} Community Respects Your Privacy","cookie.desc":'This site uses cookies from us and our partners to improve your browsing experience and make the site work properly. By clicking "Accept All", you consent to the use of cookies. By clicking "Reject All", you disable the use of unnecessary cookies. You can manage your cookie settings by clicking "Manage Cookies". For more information or to change your cookie settings, please refer to our ',"cookie.about":"About Cookies","cookie.acceptAll":"Accept All","cookie.rejectAll":"Reject All","cookie.manage":"Manage Cookies","cookie.necessaryCookie":"Strictly Necessary Cookies","cookie.alwaysOn":"Always active","cookie.necessaryCookieDetail":"These cookies are necessary for the site to work properly and cannot be switched off. They are usually only set in response to actions made by you which amount to a request for services, such as logging in or filling in forms. You can set the browser to block these cookies, but that can make parts of the site not work. These cookies do not store any personally identifiable information.","cookie.analyticalCookie":"Analytics Cookies","cookie.analyticalCookieDetail":"We will use these cookies only with your consent. These cookies help us make improvements by collecting statistics such as the number of visits and traffic sources.","cookie.saveSetting":"Save Settings","cookie.setting":"Cookie settings"},l=Symbol("provide-config-provider"),g=t.ref({zh:p,en:d});function m(){const e=t.getCurrentInstance()?t.inject(l):null,o=t.computed(()=>(e==null?void 0:e.locale)||"zh");return{locale:o,t:(s,...r)=>{const c=g.value[o.value][s];return r.length>0&&a.isString(c)?c.replace(/{(\d+)}/g,(u,h)=>r[h]??u):(a.isUndefined(c)&&console.warn(`Cannot translate the value of keypath '${s}'`),c)}}}exports.ClientOnly=f;exports._export_sfc=k;exports.configProviderInjectKey=l;exports.useI18n=m;
@@ -1,64 +0,0 @@
1
- import { defineComponent as u, resolveComponent as h, h as k, ref as i, onMounted as y, getCurrentInstance as f, inject as p, computed as d } from "vue";
2
- import { isString as g, isUndefined as m } from "@opensig/opendesign";
3
- const j = (t, e) => {
4
- const o = t.__vccOpts || t;
5
- for (const [c, n] of e)
6
- o[c] = n;
7
- return o;
8
- }, v = (t) => {
9
- const e = i(!1);
10
- return y(() => {
11
- e.value = !0;
12
- }), () => e.value && t.default ? t.default() : null;
13
- }, x = u({
14
- setup(t, { slots: e }) {
15
- const o = h("ClientOnly");
16
- return o && typeof o != "string" ? () => k(o, null, { default: () => e.default ? e.default() : null }) : v(e);
17
- }
18
- }), C = {
19
- search: "搜索",
20
- "search.hot": "热门搜索",
21
- "search.placeholder": "搜索",
22
- "search.expandedPlaceholder": "请输入搜索内容",
23
- "search.history": "历史搜索",
24
- "cookie.desc": "我们使用cookie来确保您的高速浏览体验。继续浏览本站,即表示您同意我们使用cookie。",
25
- "cookie.about": "查看详情"
26
- }, b = {
27
- search: "Search",
28
- "search.hot": "Top search",
29
- "search.placeholder": "Please enter the content",
30
- "search.expandedPlaceholder": "Please enter the content",
31
- "search.history": "History",
32
- "cookie.title": "{0} Community Respects Your Privacy",
33
- "cookie.desc": 'This site uses cookies from us and our partners to improve your browsing experience and make the site work properly. By clicking "Accept All", you consent to the use of cookies. By clicking "Reject All", you disable the use of unnecessary cookies. You can manage your cookie settings by clicking "Manage Cookies". For more information or to change your cookie settings, please refer to our ',
34
- "cookie.about": "About Cookies",
35
- "cookie.acceptAll": "Accept All",
36
- "cookie.rejectAll": "Reject All",
37
- "cookie.manage": "Manage Cookies",
38
- "cookie.necessaryCookie": "Strictly Necessary Cookies",
39
- "cookie.alwaysOn": "Always active",
40
- "cookie.necessaryCookieDetail": "These cookies are necessary for the site to work properly and cannot be switched off. They are usually only set in response to actions made by you which amount to a request for services, such as logging in or filling in forms. You can set the browser to block these cookies, but that can make parts of the site not work. These cookies do not store any personally identifiable information.",
41
- "cookie.analyticalCookie": "Analytics Cookies",
42
- "cookie.analyticalCookieDetail": "We will use these cookies only with your consent. These cookies help us make improvements by collecting statistics such as the number of visits and traffic sources.",
43
- "cookie.saveSetting": "Save Settings",
44
- "cookie.setting": "Cookie settings"
45
- }, w = Symbol("provide-config-provider"), A = i({
46
- zh: C,
47
- en: b
48
- });
49
- function P() {
50
- const e = f() ? p(w) : null, o = d(() => (e == null ? void 0 : e.locale) || "zh");
51
- return {
52
- locale: o,
53
- t: (n, ...a) => {
54
- const s = A.value[o.value][n];
55
- return a.length > 0 && g(s) ? s.replace(/{(\d+)}/g, (r, l) => a[l] ?? r) : (m(s) && console.warn(`Cannot translate the value of keypath '${n}'`), s);
56
- }
57
- };
58
- }
59
- export {
60
- x as C,
61
- j as _,
62
- w as c,
63
- P as u
64
- };