exploria-ui 2026.3.2 → 2026.3.5

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 (125) hide show
  1. package/README.md +102 -137
  2. package/dist/components/advanced/EWatermark/EWatermark.vue.d.ts +47 -7
  3. package/dist/components/basic/EBadge/EBadge.vue.d.ts +26 -0
  4. package/dist/components/data/EProgress.vue.d.ts +46 -3
  5. package/dist/components/form/ETimePicker.vue.d.ts +2 -1
  6. package/dist/components/hooks/usePosition.d.ts +1 -1
  7. package/dist/components/index.d.ts +2 -1
  8. package/dist/components/index.js +47 -46
  9. package/dist/components/navigation/ETabs/ETabPane.vue.d.ts +3 -3
  10. package/dist/components/navigation/ETabs/ETabs.vue.d.ts +2 -2
  11. package/dist/directives/ESlideIn.d.ts +1 -1
  12. package/dist/index.css +1 -1
  13. package/dist/node_modules/.pnpm/sortablejs@1.15.7/node_modules/sortablejs/modular/sortable.esm.js +2 -2
  14. package/dist/node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/libs/fflate.module.js +7 -4
  15. package/dist/node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/loaders/FBXLoader.js +7 -7
  16. package/dist/node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/loaders/GLTFLoader.js +4 -4
  17. package/dist/packages/exploria-ui/src/components/advanced/EParallaxScrolling/EParallaxScrolling.vue.js +1 -1
  18. package/dist/packages/exploria-ui/src/components/advanced/EParallaxScrolling/EParallaxScrolling.vue_vue_type_script_setup_true_lang.js +1 -1
  19. package/dist/packages/exploria-ui/src/components/advanced/ERollingFollow/ERollingFollow.vue.js +1 -1
  20. package/dist/packages/exploria-ui/src/components/advanced/ERollingFollow/ERollingFollow.vue_vue_type_script_setup_true_lang.js +1 -1
  21. package/dist/packages/exploria-ui/src/components/advanced/EVirtualList/EVirtualList.vue.js +1 -1
  22. package/dist/packages/exploria-ui/src/components/advanced/EVirtualList/EVirtualList.vue_vue_type_script_setup_true_lang.js +2 -4
  23. package/dist/packages/exploria-ui/src/components/advanced/EWatermark/EWatermark.vue.js +1 -1
  24. package/dist/packages/exploria-ui/src/components/advanced/EWatermark/EWatermark.vue_vue_type_script_setup_true_lang.js +79 -25
  25. package/dist/packages/exploria-ui/src/components/basic/EBadge/EBadge.vue.js +7 -0
  26. package/dist/packages/exploria-ui/src/components/basic/EBadge/EBadge.vue_vue_type_script_setup_true_lang.js +40 -0
  27. package/dist/packages/exploria-ui/src/components/basic/EButton/EButton.vue.js +1 -1
  28. package/dist/packages/exploria-ui/src/components/basic/EButton/EButton.vue_vue_type_script_setup_true_lang.js +1 -1
  29. package/dist/packages/exploria-ui/src/components/basic/ECard/ECard.vue.js +1 -1
  30. package/dist/packages/exploria-ui/src/components/basic/ECard/ECard.vue_vue_type_script_setup_true_lang.js +2 -2
  31. package/dist/packages/exploria-ui/src/components/basic/ESvgIcon/ESvgIcon.vue_vue_type_script_setup_true_lang.js +1 -1
  32. package/dist/packages/exploria-ui/src/components/basic/EUnderLine/EUnderLine.vue.js +1 -1
  33. package/dist/packages/exploria-ui/src/components/data/EAvatar/EAvatar.vue.js +1 -1
  34. package/dist/packages/exploria-ui/src/components/data/EAvatar/EAvatar.vue_vue_type_script_setup_true_lang.js +1 -1
  35. package/dist/packages/exploria-ui/src/components/data/ECalendar.vue.js +1 -1
  36. package/dist/packages/exploria-ui/src/components/data/ECalendar.vue_vue_type_script_setup_true_lang.js +3 -3
  37. package/dist/packages/exploria-ui/src/components/data/ECarousel/ECarousel.vue.js +1 -1
  38. package/dist/packages/exploria-ui/src/components/data/ECarousel/ECarousel.vue_vue_type_script_setup_true_lang.js +51 -43
  39. package/dist/packages/exploria-ui/src/components/data/ECarousel/ECarouselItem.vue.js +1 -1
  40. package/dist/packages/exploria-ui/src/components/data/ECarousel/ECarouselItem.vue_vue_type_script_setup_true_lang.js +1 -1
  41. package/dist/packages/exploria-ui/src/components/data/ECodeCollapse/ECodeCollapse.vue.js +1 -1
  42. package/dist/packages/exploria-ui/src/components/data/ECodeCollapse/ECodeCollapse.vue_vue_type_script_setup_true_lang.js +1 -1
  43. package/dist/packages/exploria-ui/src/components/data/ECollapse/ECollapse.vue.js +1 -1
  44. package/dist/packages/exploria-ui/src/components/data/ECollapse/ECollapse.vue_vue_type_script_setup_true_lang.js +1 -1
  45. package/dist/packages/exploria-ui/src/components/data/EImage.vue.js +1 -1
  46. package/dist/packages/exploria-ui/src/components/data/EImage.vue_vue_type_script_setup_true_lang.js +1 -1
  47. package/dist/packages/exploria-ui/src/components/data/EList.vue.js +1 -1
  48. package/dist/packages/exploria-ui/src/components/data/EList.vue_vue_type_script_setup_true_lang.js +1 -1
  49. package/dist/packages/exploria-ui/src/components/data/EMediaViewer/EMediaViewer.vue.js +1 -1
  50. package/dist/packages/exploria-ui/src/components/data/EMediaViewer/EMediaViewer.vue_vue_type_script_setup_true_lang.js +1 -1
  51. package/dist/packages/exploria-ui/src/components/data/EProgress.vue.js +1 -1
  52. package/dist/packages/exploria-ui/src/components/data/EProgress.vue_vue_type_script_setup_true_lang.js +93 -15
  53. package/dist/packages/exploria-ui/src/components/data/ERollingPagination.vue.js +1 -1
  54. package/dist/packages/exploria-ui/src/components/data/ERollingPagination.vue_vue_type_script_setup_true_lang.js +1 -1
  55. package/dist/packages/exploria-ui/src/components/data/ESkeleton/ESkeleton.vue.js +1 -1
  56. package/dist/packages/exploria-ui/src/components/data/ETable/ETable.vue.js +1 -1
  57. package/dist/packages/exploria-ui/src/components/data/ETable/ETable.vue_vue_type_script_setup_true_lang.js +1 -1
  58. package/dist/packages/exploria-ui/src/components/data/ETable/ETableColumn.vue_vue_type_script_setup_true_lang.js +1 -1
  59. package/dist/packages/exploria-ui/src/components/data/ETimeline/ETimeline.vue.js +1 -1
  60. package/dist/packages/exploria-ui/src/components/data/ETimeline/ETimeline.vue_vue_type_script_setup_true_lang.js +1 -1
  61. package/dist/packages/exploria-ui/src/components/data/ETimeline/ETimelineItem.vue.js +1 -1
  62. package/dist/packages/exploria-ui/src/components/data/ETimeline/ETimelineItem.vue_vue_type_script_setup_true_lang.js +1 -1
  63. package/dist/packages/exploria-ui/src/components/feedback/EDialog/EDialog.vue.js +1 -1
  64. package/dist/packages/exploria-ui/src/components/feedback/EDialog/EDialog.vue_vue_type_script_setup_true_lang.js +1 -1
  65. package/dist/packages/exploria-ui/src/components/feedback/EDrawer/EDrawer.vue.js +1 -1
  66. package/dist/packages/exploria-ui/src/components/feedback/EDrawer/EDrawer.vue_vue_type_script_setup_true_lang.js +1 -1
  67. package/dist/packages/exploria-ui/src/components/feedback/EMessage/EMessage.vue.js +1 -1
  68. package/dist/packages/exploria-ui/src/components/feedback/EMessage/EMessage.vue_vue_type_script_setup_true_lang.js +1 -1
  69. package/dist/packages/exploria-ui/src/components/feedback/EMessageBox/EMessageBox.vue.js +1 -1
  70. package/dist/packages/exploria-ui/src/components/feedback/EMessageBox/EMessageBox.vue_vue_type_script_setup_true_lang.js +1 -1
  71. package/dist/packages/exploria-ui/src/components/feedback/ENotification/ENotification.js +1 -1
  72. package/dist/packages/exploria-ui/src/components/feedback/ENotification/ENotification.vue.js +1 -1
  73. package/dist/packages/exploria-ui/src/components/feedback/ENotification/ENotification.vue_vue_type_script_setup_true_lang.js +1 -1
  74. package/dist/packages/exploria-ui/src/components/feedback/EPopover.vue.js +1 -1
  75. package/dist/packages/exploria-ui/src/components/feedback/EPopover.vue_vue_type_script_setup_true_lang.js +16 -16
  76. package/dist/packages/exploria-ui/src/components/feedback/ETooltip.vue.js +1 -1
  77. package/dist/packages/exploria-ui/src/components/feedback/ETooltip.vue_vue_type_script_setup_true_lang.js +2 -2
  78. package/dist/packages/exploria-ui/src/components/form/ECheckbox.vue.js +1 -1
  79. package/dist/packages/exploria-ui/src/components/form/ECheckbox.vue_vue_type_script_setup_true_lang.js +1 -1
  80. package/dist/packages/exploria-ui/src/components/form/EColorPicker.vue.js +1 -1
  81. package/dist/packages/exploria-ui/src/components/form/EColorPicker.vue_vue_type_script_setup_true_lang.js +156 -102
  82. package/dist/packages/exploria-ui/src/components/form/EConditionGroup/EConditionGroup.vue.js +1 -1
  83. package/dist/packages/exploria-ui/src/components/form/EConditionGroup/EConditionGroup.vue_vue_type_script_setup_true_lang.js +1 -1
  84. package/dist/packages/exploria-ui/src/components/form/EFileSelector.vue.js +1 -1
  85. package/dist/packages/exploria-ui/src/components/form/EFileSelector.vue_vue_type_script_setup_true_lang.js +2 -4
  86. package/dist/packages/exploria-ui/src/components/form/EForm.vue.js +1 -1
  87. package/dist/packages/exploria-ui/src/components/form/EForm.vue_vue_type_script_setup_true_lang.js +1 -1
  88. package/dist/packages/exploria-ui/src/components/form/EFormItem.vue.js +1 -1
  89. package/dist/packages/exploria-ui/src/components/form/EFormItem.vue_vue_type_script_setup_true_lang.js +1 -1
  90. package/dist/packages/exploria-ui/src/components/form/EInput/EInput.vue.js +1 -1
  91. package/dist/packages/exploria-ui/src/components/form/EInput/EInput.vue_vue_type_script_setup_true_lang.js +1 -1
  92. package/dist/packages/exploria-ui/src/components/form/ERadio.vue.js +1 -1
  93. package/dist/packages/exploria-ui/src/components/form/ERadio.vue_vue_type_script_setup_true_lang.js +1 -1
  94. package/dist/packages/exploria-ui/src/components/form/ESelect/ESelect.vue.js +1 -1
  95. package/dist/packages/exploria-ui/src/components/form/ESelect/ESelect.vue_vue_type_script_setup_true_lang.js +2 -2
  96. package/dist/packages/exploria-ui/src/components/form/ESlider.vue.js +1 -1
  97. package/dist/packages/exploria-ui/src/components/form/ESlider.vue_vue_type_script_setup_true_lang.js +1 -1
  98. package/dist/packages/exploria-ui/src/components/form/ETimePicker.vue.js +1 -1
  99. package/dist/packages/exploria-ui/src/components/form/ETimePicker.vue_vue_type_script_setup_true_lang.js +82 -74
  100. package/dist/packages/exploria-ui/src/components/geometry/ECube.vue.js +1 -1
  101. package/dist/packages/exploria-ui/src/components/hooks/usePosition.js +1 -1
  102. package/dist/packages/exploria-ui/src/components/layout/EContainerWithScrollbar.vue.js +1 -1
  103. package/dist/packages/exploria-ui/src/components/layout/EContainerWithScrollbar.vue_vue_type_script_setup_true_lang.js +1 -1
  104. package/dist/packages/exploria-ui/src/components/layout/EDivider.vue.js +1 -1
  105. package/dist/packages/exploria-ui/src/components/layout/EDivider.vue_vue_type_script_setup_true_lang.js +1 -1
  106. package/dist/packages/exploria-ui/src/components/layout/EScrollX.vue.js +1 -1
  107. package/dist/packages/exploria-ui/src/components/layout/EScrollX.vue_vue_type_script_setup_true_lang.js +1 -1
  108. package/dist/packages/exploria-ui/src/components/layout/EScrollbar.vue.js +1 -1
  109. package/dist/packages/exploria-ui/src/components/layout/EScrollbar.vue_vue_type_script_setup_true_lang.js +1 -1
  110. package/dist/packages/exploria-ui/src/components/navigation/EDropdown.vue.js +1 -1
  111. package/dist/packages/exploria-ui/src/components/navigation/EDropdown.vue_vue_type_script_setup_true_lang.js +2 -2
  112. package/dist/packages/exploria-ui/src/components/navigation/ETabs/ETabPane.vue.js +1 -1
  113. package/dist/packages/exploria-ui/src/components/navigation/ETabs/ETabPane.vue_vue_type_script_setup_true_lang.js +11 -11
  114. package/dist/packages/exploria-ui/src/components/navigation/ETabs/ETabs.vue.js +1 -1
  115. package/dist/packages/exploria-ui/src/components/navigation/ETabs/ETabs.vue_vue_type_script_setup_true_lang.js +29 -24
  116. package/dist/packages/exploria-ui/src/directives/ESizeOb.js +1 -1
  117. package/dist/packages/exploria-ui/src/directives/ESlideIn.js +120 -16
  118. package/dist/packages/exploria-ui/src/utils/EClipboardUtil.js +1 -1
  119. package/dist/packages/exploria-ui/src/utils/EDomUtil.js +23 -2
  120. package/dist/packages/exploria-ui/src/utils/EImageUtil.js +2 -2
  121. package/package.json +2 -3
  122. package/src/plugins/EPreloadImageBuilder.ts +0 -66
  123. package/src/plugins/ESvgPolyfill.ts +0 -29
  124. package/src/plugins/ESvgSpriteBuilder.ts +0 -48
  125. package/src/plugins/index.ts +0 -5
@@ -1,8 +1,29 @@
1
1
  //#region src/utils/EDomUtil.ts
2
2
  var e = class {
3
3
  static scrollIntoView(e) {
4
- let { element: t, block: n, inline: r } = e, i = t.parentNode;
5
- n && (n === "center" && (i.scrollTop = t.offsetTop + (i.clientHeight - t.offsetHeight) / 2), n === "start" && (i.scrollTop = t.offsetTop), n === "end" && (i.scrollTop = t.offsetTop + (i.offsetHeight - t.clientHeight))), r && (r === "center" && (i.scrollLeft = t.offsetLeft + (i.clientWidth - t.clientWidth) / 2), r === "start" && (i.scrollLeft = t.offsetLeft), r === "end" && (i.scrollLeft = t.offsetLeft + (i.offsetWidth - t.clientWidth)));
4
+ let { element: t, block: n = "start", inline: r = "start" } = e;
5
+ if (!t) return;
6
+ let i = t.parentElement;
7
+ if (!(i instanceof HTMLElement)) return;
8
+ let a = t.getBoundingClientRect(), { offsetTop: o, offsetLeft: s } = t, { clientHeight: c, clientWidth: l } = i, u = a.height, d = a.width;
9
+ if (n) switch (n) {
10
+ case "center":
11
+ i.scrollTop = o - (c - u) / 2;
12
+ break;
13
+ case "end":
14
+ i.scrollTop = o + u - c;
15
+ break;
16
+ default: i.scrollTop = o;
17
+ }
18
+ if (r) switch (r) {
19
+ case "center":
20
+ i.scrollLeft = s - (l - d) / 2;
21
+ break;
22
+ case "end":
23
+ i.scrollLeft = s + d - l;
24
+ break;
25
+ default: i.scrollLeft = s;
26
+ }
6
27
  }
7
28
  };
8
29
  //#endregion
@@ -2,11 +2,11 @@
2
2
  var e = (e) => new Promise((t, n) => {
3
3
  let r = document.createElement("canvas"), i = r.getContext("2d");
4
4
  if (!i) {
5
- n(/* @__PURE__ */ Error("无法获取 canvas 上下文"));
5
+ n(Error("无法获取 canvas 上下文"));
6
6
  return;
7
7
  }
8
8
  r.width = e.naturalWidth || e.width, r.height = e.naturalHeight || e.height, i.translate(r.width, 0), i.scale(-1, 1), i.drawImage(e, 0, 0), r.toBlob((e) => {
9
- e ? t(new File([e], "mirrored-image.png", { type: "image/png" })) : n(/* @__PURE__ */ Error("生成 Blob 失败"));
9
+ e ? t(new File([e], "mirrored-image.png", { type: "image/png" })) : n(Error("生成 Blob 失败"));
10
10
  }, "image/png");
11
11
  }), t = class {
12
12
  static mirror(t) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "exploria-ui",
3
3
  "description": "《探索UI》组件库",
4
- "version": "2026.3.2",
4
+ "version": "2026.3.5",
5
5
  "private": false,
6
6
  "type": "module",
7
7
  "main": "./dist/components/index.js",
@@ -15,7 +15,6 @@
15
15
  ],
16
16
  "files": [
17
17
  "dist",
18
- "src/plugins",
19
18
  "package.json",
20
19
  "README.md"
21
20
  ],
@@ -70,7 +69,7 @@
70
69
  },
71
70
  "scripts": {
72
71
  "build:watch": "vite build --watch",
73
- "build:plugins:watch": "node ./scripts/build-plugins.ts --watch",
72
+ "build:plugins:watch": "node ./scripts/build-plugins.ts",
74
73
  "pub": "pnpm publish --no-git-checks",
75
74
  "type-check": "vue-tsc --noEmit"
76
75
  }
@@ -1,66 +0,0 @@
1
- import * as fastGlob from 'fast-glob';
2
- import type { Plugin } from 'vite';
3
-
4
- const EPreloadImageBuilder = (options: {
5
- pattern: string | string[];
6
- }): Plugin => {
7
- const { pattern } = options;
8
- const _images: string[] = [];
9
- return {
10
- name: 'vite-plugin-preload-images',
11
- apply: (_, { command }) => ['serve', 'build'].includes(command),
12
-
13
- generateBundle(_, bundle) {
14
- const assetsImages: string[] = [];
15
- const publicImages: string[] = [];
16
- fastGlob.sync(pattern).forEach((file) => {
17
- if (file.includes('src/')) {
18
- assetsImages.push(file.replace('./', ''));
19
- } else if (file.includes('public/')) {
20
- publicImages.push(file.replace('./', ''));
21
- }
22
- });
23
- const values = Object.values(bundle);
24
- values.forEach((item) => {
25
- if (
26
- item.type === 'asset' &&
27
- assetsImages.includes(item.originalFileNames[0])
28
- ) {
29
- _images.push(item.fileName);
30
- }
31
- });
32
-
33
- for (const item of publicImages) {
34
- _images.push(item.replace('public/', ''));
35
- }
36
- },
37
-
38
- transformIndexHtml(_, ctx) {
39
- let images: string[];
40
- if (ctx.server) {
41
- // 开发环境
42
- const files = fastGlob.sync(pattern);
43
- images = files.map(
44
- (file) => (ctx.server!.config.base || '') + file
45
- );
46
- } else {
47
- // 生产环境
48
- images = _images;
49
- }
50
-
51
- return images.map((file) => {
52
- return {
53
- tag: 'link',
54
- attrs: {
55
- rel: 'preload',
56
- href: file,
57
- as: 'image',
58
- fetchpriority: 'low',
59
- },
60
- injectTo: 'head',
61
- };
62
- });
63
- },
64
- };
65
- };
66
- export default EPreloadImageBuilder;
@@ -1,29 +0,0 @@
1
- import type { Plugin } from 'vite';
2
-
3
- // 修复 老旧浏览器 中 <use> 引用 <symbol> 时,因封闭影子 DOM 导致的 fill=“url(#*)” 失效问题
4
- const ESvgPolyfill = (): Plugin => {
5
- return {
6
- name: 'vite-plugin-svg-polyfill',
7
- // 仅在 serve 和 build 命令时生效
8
- apply: (_, { command }) => ['serve', 'build'].includes(command),
9
- transformIndexHtml(html) {
10
- const code = `<script>
11
- document.addEventListener('DOMContentLoaded', () => {
12
- const defs = document.querySelectorAll('svg defs');
13
- let globalDefsContent = '';
14
- defs.forEach(def => {
15
- globalDefsContent += def.innerHTML;
16
- });
17
- const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
18
- svg.class = 'global-svg-defs';
19
- svg.style.cssText = 'position: fixed; width: 0; height: 0; visibility: hidden;';
20
- svg.innerHTML = '<defs>'+globalDefsContent+'</defs>';
21
- document.body.insertBefore(svg, document.body.firstChild);
22
- });
23
- </script>`;
24
- return html.replace('</body>', `${code}</body>`);
25
- },
26
- };
27
- };
28
-
29
- export default ESvgPolyfill;
@@ -1,48 +0,0 @@
1
- // ESvgSpriteBuilder.ts
2
- import { readFileSync } from 'node:fs';
3
- import { basename } from 'node:path';
4
-
5
- import fastGlob from 'fast-glob';
6
- import type { Plugin } from 'vite';
7
-
8
- // 获取svgInnerContent
9
- const getSvgInnerContent = (str: string): string | null => {
10
- const regex = /<svg[^>]*>(.*?)<\/svg>/s; // 匹配带有任意属性的<svg>标签
11
- const match = str.match(regex); // 执行匹配
12
- return match ? match[1] : null; // 如果匹配成功,返回匹配的内容,否则返回 null
13
- };
14
-
15
- const getSvgSymbols = (
16
- pattern: string,
17
- symbolId: (filename: string) => string
18
- ): string[] => {
19
- const files = fastGlob.sync(pattern, {
20
- cwd: process.cwd(),
21
- });
22
- return files.map((filePath) => {
23
- const filename = basename(filePath, '.svg');
24
- const svgContent = readFileSync(filePath, 'utf-8');
25
- const innerContent = getSvgInnerContent(svgContent);
26
- const viewBoxMatch = svgContent.match(/viewBox="([^"]*)"/);
27
- const viewBox = viewBoxMatch ? viewBoxMatch[1] : '0 0 16 16';
28
- return `<symbol id="${symbolId(filename)}" viewBox="${viewBox}">${innerContent}</symbol>`;
29
- });
30
- };
31
- const ESvgSpriteBuilder = (options: {
32
- pattern: string;
33
- symbolId: (filename: string) => string;
34
- }): Plugin => {
35
- const { pattern, symbolId } = options;
36
- return {
37
- name: 'vite-plugin-e-svg-sprite-builder',
38
- apply: (_, { command }) => ['serve', 'build'].includes(command),
39
-
40
- transformIndexHtml(html) {
41
- // 只在首次调用时生成 SVG 内容
42
- const symbols = getSvgSymbols(pattern, symbolId);
43
- const svgHtml = `<svg xmlns="http://www.w3.org/2000/svg" style="position: fixed;">${symbols.join('')}</svg>`;
44
- return html.replace('</body>', `${svgHtml}</body>`);
45
- },
46
- };
47
- };
48
- export default ESvgSpriteBuilder;
@@ -1,5 +0,0 @@
1
- import EPreloadImageBuilder from './EPreloadImageBuilder';
2
- import ESvgPolyfill from './ESvgPolyfill';
3
- import ESvgSpriteBuilder from './ESvgSpriteBuilder';
4
-
5
- export { ESvgSpriteBuilder, EPreloadImageBuilder, ESvgPolyfill };