exploria-ui 2026.2.31 → 2026.3.2

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 (161) hide show
  1. package/README.md +240 -16
  2. package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
  3. package/dist/components/basic/ECard/ECard.vue.d.ts +27 -0
  4. package/dist/components/index.d.ts +2 -1
  5. package/dist/components/index.js +60 -19368
  6. package/dist/directives/EDrag.d.ts +3 -1
  7. package/dist/directives/index.js +4 -23
  8. package/dist/index.css +1 -1
  9. package/dist/node_modules/.pnpm/sortablejs@1.15.7/node_modules/sortablejs/modular/sortable.esm.js +1111 -0
  10. package/dist/node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/controls/OrbitControls.js +424 -0
  11. package/dist/node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/curves/NURBSCurve.js +31 -0
  12. package/dist/node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/curves/NURBSUtils.js +115 -0
  13. package/dist/node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/libs/fflate.module.js +250 -0
  14. package/dist/node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/loaders/FBXLoader.js +1385 -0
  15. package/dist/node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/loaders/FontLoader.js +69 -0
  16. package/dist/node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/loaders/GLTFLoader.js +1346 -0
  17. package/dist/node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js +23 -0
  18. package/dist/packages/exploria-ui/src/components/advanced/EParallaxScrolling/EParallaxScrolling.vue.js +7 -0
  19. package/dist/packages/exploria-ui/src/components/advanced/EParallaxScrolling/EParallaxScrolling.vue_vue_type_script_setup_true_lang.js +38 -0
  20. package/dist/packages/exploria-ui/src/components/advanced/ERollingFollow/ERollingFollow.vue.js +7 -0
  21. package/dist/packages/exploria-ui/src/components/advanced/ERollingFollow/ERollingFollow.vue_vue_type_script_setup_true_lang.js +42 -0
  22. package/dist/packages/exploria-ui/src/components/advanced/EVirtualList/EVirtualList.vue.js +7 -0
  23. package/dist/packages/exploria-ui/src/components/advanced/EVirtualList/EVirtualList.vue_vue_type_script_setup_true_lang.js +43 -0
  24. package/dist/packages/exploria-ui/src/components/advanced/EWatermark/EWatermark.vue.js +7 -0
  25. package/dist/packages/exploria-ui/src/components/advanced/EWatermark/EWatermark.vue_vue_type_script_setup_true_lang.js +46 -0
  26. package/dist/packages/exploria-ui/src/components/basic/EButton/EButton.vue.js +7 -0
  27. package/dist/packages/exploria-ui/src/components/basic/EButton/EButton.vue_vue_type_script_setup_true_lang.js +42 -0
  28. package/dist/packages/exploria-ui/src/components/basic/EButton/loading.gif.js +4 -0
  29. package/dist/packages/exploria-ui/src/components/basic/ECard/ECard.vue.js +7 -0
  30. package/dist/packages/exploria-ui/src/components/basic/ECard/ECard.vue_vue_type_script_setup_true_lang.js +41 -0
  31. package/dist/packages/exploria-ui/src/components/basic/ESvgIcon/ESvgIcon.vue.js +5 -0
  32. package/dist/packages/exploria-ui/src/components/basic/ESvgIcon/ESvgIcon.vue_vue_type_script_setup_true_lang.js +11 -0
  33. package/dist/packages/exploria-ui/src/components/basic/EUnderLine/EUnderLine.vue.js +11 -0
  34. package/dist/packages/exploria-ui/src/components/data/EAvatar/EAvatar.vue.js +7 -0
  35. package/dist/packages/exploria-ui/src/components/data/EAvatar/EAvatar.vue_vue_type_script_setup_true_lang.js +14 -0
  36. package/dist/packages/exploria-ui/src/components/data/ECalendar.vue.js +7 -0
  37. package/dist/packages/exploria-ui/src/components/data/ECalendar.vue_vue_type_script_setup_true_lang.js +77 -0
  38. package/dist/packages/exploria-ui/src/components/data/ECarousel/ECarousel.vue.js +7 -0
  39. package/dist/packages/exploria-ui/src/components/data/ECarousel/ECarousel.vue_vue_type_script_setup_true_lang.js +83 -0
  40. package/dist/packages/exploria-ui/src/components/data/ECarousel/ECarouselItem.vue.js +7 -0
  41. package/dist/packages/exploria-ui/src/components/data/ECarousel/ECarouselItem.vue_vue_type_script_setup_true_lang.js +19 -0
  42. package/dist/packages/exploria-ui/src/components/data/ECodeCollapse/ECodeCollapse.vue.js +7 -0
  43. package/dist/packages/exploria-ui/src/components/data/ECodeCollapse/ECodeCollapse.vue_vue_type_script_setup_true_lang.js +46 -0
  44. package/dist/packages/exploria-ui/src/components/data/ECollapse/ECollapse.vue.js +7 -0
  45. package/dist/packages/exploria-ui/src/components/data/ECollapse/ECollapse.vue_vue_type_script_setup_true_lang.js +30 -0
  46. package/dist/packages/exploria-ui/src/components/data/EImage.vue.js +7 -0
  47. package/dist/packages/exploria-ui/src/components/data/EImage.vue_vue_type_script_setup_true_lang.js +31 -0
  48. package/dist/packages/exploria-ui/src/components/data/EList.vue.js +7 -0
  49. package/dist/packages/exploria-ui/src/components/data/EList.vue_vue_type_script_setup_true_lang.js +52 -0
  50. package/dist/packages/exploria-ui/src/components/data/EMediaViewer/EMediaViewer.js +36 -0
  51. package/dist/packages/exploria-ui/src/components/data/EMediaViewer/EMediaViewer.vue.js +7 -0
  52. package/dist/packages/exploria-ui/src/components/data/EMediaViewer/EMediaViewer.vue_vue_type_script_setup_true_lang.js +69 -0
  53. package/dist/packages/exploria-ui/src/components/data/EProgress.vue.js +7 -0
  54. package/dist/packages/exploria-ui/src/components/data/EProgress.vue_vue_type_script_setup_true_lang.js +22 -0
  55. package/dist/packages/exploria-ui/src/components/data/ERollingPagination.vue.js +7 -0
  56. package/dist/packages/exploria-ui/src/components/data/ERollingPagination.vue_vue_type_script_setup_true_lang.js +45 -0
  57. package/dist/packages/exploria-ui/src/components/data/ESkeleton/ESkeleton.vue.js +14 -0
  58. package/dist/packages/exploria-ui/src/components/data/ETable/ETable.vue.js +7 -0
  59. package/dist/packages/exploria-ui/src/components/data/ETable/ETable.vue_vue_type_script_setup_true_lang.js +60 -0
  60. package/dist/packages/exploria-ui/src/components/data/ETable/ETableColumn.vue.js +5 -0
  61. package/dist/packages/exploria-ui/src/components/data/ETable/ETableColumn.vue_vue_type_script_setup_true_lang.js +23 -0
  62. package/dist/packages/exploria-ui/src/components/data/ETable/no_data.svg.js +4 -0
  63. package/dist/packages/exploria-ui/src/components/data/ETimeline/ETimeline.vue.js +7 -0
  64. package/dist/packages/exploria-ui/src/components/data/ETimeline/ETimeline.vue_vue_type_script_setup_true_lang.js +40 -0
  65. package/dist/packages/exploria-ui/src/components/data/ETimeline/ETimelineItem.vue.js +7 -0
  66. package/dist/packages/exploria-ui/src/components/data/ETimeline/ETimelineItem.vue_vue_type_script_setup_true_lang.js +44 -0
  67. package/dist/packages/exploria-ui/src/components/feedback/EDialog/EDialog.vue.js +7 -0
  68. package/dist/packages/exploria-ui/src/components/feedback/EDialog/EDialog.vue_vue_type_script_setup_true_lang.js +95 -0
  69. package/dist/packages/exploria-ui/src/components/feedback/EDrawer/EDrawer.vue.js +7 -0
  70. package/dist/packages/exploria-ui/src/components/feedback/EDrawer/EDrawer.vue_vue_type_script_setup_true_lang.js +106 -0
  71. package/dist/packages/exploria-ui/src/components/feedback/EMessage/EMessage.js +56 -0
  72. package/dist/packages/exploria-ui/src/components/feedback/EMessage/EMessage.vue.js +7 -0
  73. package/dist/packages/exploria-ui/src/components/feedback/EMessage/EMessage.vue_vue_type_script_setup_true_lang.js +39 -0
  74. package/dist/packages/exploria-ui/src/components/feedback/EMessage/loading.gif.js +4 -0
  75. package/dist/packages/exploria-ui/src/components/feedback/EMessageBox/EMessageBox.js +31 -0
  76. package/dist/packages/exploria-ui/src/components/feedback/EMessageBox/EMessageBox.vue.js +7 -0
  77. package/dist/packages/exploria-ui/src/components/feedback/EMessageBox/EMessageBox.vue_vue_type_script_setup_true_lang.js +46 -0
  78. package/dist/packages/exploria-ui/src/components/feedback/ENotification/ENotification.js +141 -0
  79. package/dist/packages/exploria-ui/src/components/feedback/ENotification/ENotification.vue.js +7 -0
  80. package/dist/packages/exploria-ui/src/components/feedback/ENotification/ENotification.vue_vue_type_script_setup_true_lang.js +46 -0
  81. package/dist/packages/exploria-ui/src/components/feedback/EPopover.vue.js +7 -0
  82. package/dist/packages/exploria-ui/src/components/feedback/EPopover.vue_vue_type_script_setup_true_lang.js +100 -0
  83. package/dist/packages/exploria-ui/src/components/feedback/ETooltip.vue.js +7 -0
  84. package/dist/packages/exploria-ui/src/components/feedback/ETooltip.vue_vue_type_script_setup_true_lang.js +65 -0
  85. package/dist/packages/exploria-ui/src/components/form/ECheckbox.vue.js +7 -0
  86. package/dist/packages/exploria-ui/src/components/form/ECheckbox.vue_vue_type_script_setup_true_lang.js +36 -0
  87. package/dist/packages/exploria-ui/src/components/form/EColorPicker.vue.js +7 -0
  88. package/dist/packages/exploria-ui/src/components/form/EColorPicker.vue_vue_type_script_setup_true_lang.js +149 -0
  89. package/dist/packages/exploria-ui/src/components/form/EConditionGroup/EConditionGroup.vue.js +7 -0
  90. package/dist/packages/exploria-ui/src/components/form/EConditionGroup/EConditionGroup.vue_vue_type_script_setup_true_lang.js +101 -0
  91. package/dist/packages/exploria-ui/src/components/form/EFileSelector.vue.js +7 -0
  92. package/dist/packages/exploria-ui/src/components/form/EFileSelector.vue_vue_type_script_setup_true_lang.js +33 -0
  93. package/dist/packages/exploria-ui/src/components/form/EForm.vue.js +7 -0
  94. package/dist/packages/exploria-ui/src/components/form/EForm.vue_vue_type_script_setup_true_lang.js +19 -0
  95. package/dist/packages/exploria-ui/src/components/form/EFormItem.vue.js +7 -0
  96. package/dist/packages/exploria-ui/src/components/form/EFormItem.vue_vue_type_script_setup_true_lang.js +44 -0
  97. package/dist/packages/exploria-ui/src/components/form/EInput/EInput.vue.js +7 -0
  98. package/dist/packages/exploria-ui/src/components/form/EInput/EInput.vue_vue_type_script_setup_true_lang.js +165 -0
  99. package/dist/packages/exploria-ui/src/components/form/ERadio.vue.js +7 -0
  100. package/dist/packages/exploria-ui/src/components/form/ERadio.vue_vue_type_script_setup_true_lang.js +36 -0
  101. package/dist/packages/exploria-ui/src/components/form/ESelect/ESelect.vue.js +7 -0
  102. package/dist/packages/exploria-ui/src/components/form/ESelect/ESelect.vue_vue_type_script_setup_true_lang.js +82 -0
  103. package/dist/packages/exploria-ui/src/components/form/ESlider.vue.js +7 -0
  104. package/dist/packages/exploria-ui/src/components/form/ESlider.vue_vue_type_script_setup_true_lang.js +76 -0
  105. package/dist/packages/exploria-ui/src/components/form/ETimePicker.vue.js +7 -0
  106. package/dist/packages/exploria-ui/src/components/form/ETimePicker.vue_vue_type_script_setup_true_lang.js +89 -0
  107. package/dist/packages/exploria-ui/src/components/geometry/ECube.vue.js +11 -0
  108. package/dist/packages/exploria-ui/src/components/hooks/usePosition.js +42 -0
  109. package/dist/packages/exploria-ui/src/components/layout/EContainerWithScrollbar.vue.js +7 -0
  110. package/dist/packages/exploria-ui/src/components/layout/EContainerWithScrollbar.vue_vue_type_script_setup_true_lang.js +27 -0
  111. package/dist/packages/exploria-ui/src/components/layout/EDivider.vue.js +7 -0
  112. package/dist/packages/exploria-ui/src/components/layout/EDivider.vue_vue_type_script_setup_true_lang.js +15 -0
  113. package/dist/packages/exploria-ui/src/components/layout/EScrollX.vue.js +7 -0
  114. package/dist/packages/exploria-ui/src/components/layout/EScrollX.vue_vue_type_script_setup_true_lang.js +34 -0
  115. package/dist/packages/exploria-ui/src/components/layout/EScrollbar.vue.js +7 -0
  116. package/dist/packages/exploria-ui/src/components/layout/EScrollbar.vue_vue_type_script_setup_true_lang.js +55 -0
  117. package/dist/packages/exploria-ui/src/components/navigation/EDropdown.vue.js +7 -0
  118. package/dist/packages/exploria-ui/src/components/navigation/EDropdown.vue_vue_type_script_setup_true_lang.js +107 -0
  119. package/dist/packages/exploria-ui/src/components/navigation/ETabs/ETabPane.vue.js +7 -0
  120. package/dist/packages/exploria-ui/src/components/navigation/ETabs/ETabPane.vue_vue_type_script_setup_true_lang.js +20 -0
  121. package/dist/packages/exploria-ui/src/components/navigation/ETabs/ETabs.vue.js +7 -0
  122. package/dist/packages/exploria-ui/src/components/navigation/ETabs/ETabs.vue_vue_type_script_setup_true_lang.js +90 -0
  123. package/dist/packages/exploria-ui/src/directives/EDrag.js +27 -0
  124. package/dist/packages/exploria-ui/src/directives/ESizeOb.js +23 -0
  125. package/dist/packages/exploria-ui/src/directives/ESlideIn.js +24 -0
  126. package/dist/packages/exploria-ui/src/utils/EAnimateCSSUtil.js +13 -0
  127. package/dist/packages/exploria-ui/src/utils/EClipboardUtil.js +19 -0
  128. package/dist/packages/exploria-ui/src/utils/EDomUtil.js +9 -0
  129. package/dist/packages/exploria-ui/src/utils/EEchartsUtil.js +23 -0
  130. package/dist/packages/exploria-ui/src/utils/EImageUtil.js +26 -0
  131. package/dist/packages/exploria-ui/src/utils/ELocalStorageUtil.js +15 -0
  132. package/dist/packages/exploria-ui/src/utils/EMediaQueryUtil.js +28 -0
  133. package/dist/packages/exploria-ui/src/utils/EStringUtil.js +11 -0
  134. package/dist/packages/exploria-ui/src/utils/EThreeUtil.js +40 -0
  135. package/dist/packages/exploria-ui/src/utils/EUUIDUtil.js +11 -0
  136. package/dist/utils/EAnimateCSSUtil.d.ts +6 -0
  137. package/dist/utils/EClipboardUtil.d.ts +3 -0
  138. package/dist/utils/EDomUtil.d.ts +5 -0
  139. package/dist/utils/EEchartsUtil.d.ts +12 -0
  140. package/dist/utils/EEventBus.d.ts +8 -0
  141. package/dist/utils/EImageUtil.d.ts +3 -0
  142. package/dist/utils/EJSONUtil.d.ts +3 -0
  143. package/dist/utils/ELocalStorageUtil.d.ts +5 -0
  144. package/dist/utils/EMediaQueryUtil.d.ts +6 -0
  145. package/dist/utils/EStringUtil.d.ts +22 -0
  146. package/dist/utils/EThreeUtil.d.ts +21 -0
  147. package/dist/utils/ETimeUtil.d.ts +5 -0
  148. package/dist/utils/EUUIDUtil.d.ts +3 -0
  149. package/dist/utils/index.d.ts +8 -0
  150. package/dist/utils/index.js +8 -2
  151. package/package.json +25 -13
  152. package/src/plugins/EPreloadImageBuilder.ts +1 -1
  153. package/src/plugins/ESvgSpriteBuilder.ts +4 -5
  154. package/src/plugins/index.ts +3 -3
  155. package/dist/EDomUtil-Bm3Zqw96.js +0 -65
  156. package/dist/ESizeOb-VeHF4XTz.js +0 -44
  157. package/dist/plugins/EPreloadImageBuilder.d.ts +0 -5
  158. package/dist/plugins/ESvgPolyfill.d.ts +0 -3
  159. package/dist/plugins/ESvgSpriteBuilder.d.ts +0 -6
  160. package/dist/plugins/index.d.ts +0 -4
  161. package/dist/plugins/index.js +0 -3127
@@ -0,0 +1,55 @@
1
+ import { createElementBlock as e, createElementVNode as t, defineComponent as n, normalizeStyle as r, onMounted as i, onUnmounted as a, openBlock as o, ref as s, useCssVars as c, useTemplateRef as l } from "vue";
2
+ //#region src/components/layout/EScrollbar.vue?vue&type=script&setup=true&lang.ts
3
+ var u = /* @__PURE__ */ n({
4
+ __name: "EScrollbar",
5
+ props: {
6
+ scrollbarThumbColor: { default: "#9e9e9e" },
7
+ scrollbarThumbMarginRight: { default: "2px" },
8
+ scrollbarWidth: { default: "4px" }
9
+ },
10
+ emits: ["scroll"],
11
+ setup(n, { emit: u }) {
12
+ c((e) => ({
13
+ c1885d3e: e.scrollbarWidth,
14
+ v1798af1c: e.scrollbarThumbColor
15
+ }));
16
+ let d = s(!1), f = s(0), p = l("scrollbar"), m = u, h, g = (e) => {
17
+ d.value = !0, h && clearTimeout(h), h = setTimeout(() => {
18
+ d.value = !1, clearTimeout(h);
19
+ }, 700);
20
+ let t = e.currentTarget;
21
+ t.parentNode.querySelector(".content").scrollTo({ top: t.scrollTop }), m("scroll", t.scrollTop);
22
+ };
23
+ return i(() => {
24
+ let e = () => {
25
+ f.value = p.value.parentNode.querySelector(".content").scrollHeight;
26
+ };
27
+ e();
28
+ let t = p.value, n = t.parentNode.querySelector(".content");
29
+ n.onscroll = (e) => {
30
+ t.scrollTo({ top: e.currentTarget.scrollTop });
31
+ };
32
+ let r = new MutationObserver(e);
33
+ r.observe(n, {
34
+ childList: !0,
35
+ subtree: !0
36
+ }), a(() => {
37
+ r.disconnect();
38
+ });
39
+ }), (i, a) => (o(), e("div", {
40
+ class: "scrollbar",
41
+ ref: "scrollbar",
42
+ style: r({
43
+ opacity: d.value ? 1 : 0,
44
+ width: n.scrollbarWidth,
45
+ right: n.scrollbarThumbMarginRight
46
+ }),
47
+ onScroll: g
48
+ }, [t("div", { style: r({
49
+ height: `${f.value}px`,
50
+ width: "1px"
51
+ }) }, null, 4)], 36));
52
+ }
53
+ });
54
+ //#endregion
55
+ export { u as default };
@@ -0,0 +1,7 @@
1
+ import e from "../../../../../_virtual/_plugin-vue_export-helper.js";
2
+ import t from "./EDropdown.vue_vue_type_script_setup_true_lang.js";
3
+ /* empty css */
4
+ //#region src/components/navigation/EDropdown.vue
5
+ var n = /* @__PURE__ */ e(t, [["__scopeId", "data-v-0868e5e8"]]);
6
+ //#endregion
7
+ export { n as default };
@@ -0,0 +1,107 @@
1
+ import e from "../../utils/EUUIDUtil.js";
2
+ import { usePosition as t } from "../hooks/usePosition.js";
3
+ import { Teleport as n, Transition as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createVNode as c, defineComponent as l, getCurrentInstance as u, nextTick as d, normalizeClass as f, normalizeStyle as p, onMounted as m, openBlock as h, ref as g, renderSlot as _, unref as v, useTemplateRef as y, watch as b, withCtx as x } from "vue";
4
+ //#region src/components/navigation/EDropdown.vue?vue&type=script&setup=true&lang.ts
5
+ var S = ["data-id"], C = /* @__PURE__ */ l({
6
+ __name: "EDropdown",
7
+ props: {
8
+ trigger: {},
9
+ placement: {},
10
+ open: {
11
+ type: Boolean,
12
+ default: !1
13
+ },
14
+ showArrow: {
15
+ type: Boolean,
16
+ default: !0
17
+ },
18
+ size: { default: "medium" }
19
+ },
20
+ emits: ["update:open"],
21
+ setup(l, { emit: C }) {
22
+ let w = y("eDropdownRef"), T = g(!1), E = C, { position: D, arrowPosition: O, arrowSize: k, DELAY_TIME: A, resetPosition: j, computePositionByRect: M, _computePosition: N } = t(l.placement, l.size, l.showArrow), P = u()?.uid || e.generate(), F = (e) => {
23
+ T.value = e, E("update:open", e);
24
+ };
25
+ return m(() => {
26
+ let e = w.value.children[0];
27
+ if (!l.trigger) {
28
+ let t;
29
+ b(() => l.open, (n) => {
30
+ n ? (j(), M(e.getBoundingClientRect()), t = N(e)) : t();
31
+ });
32
+ } else if (l.trigger === "hover") {
33
+ let t;
34
+ e.onmouseenter = () => {
35
+ j(), M(e.getBoundingClientRect()), F(!0), e.onmouseleave = () => {
36
+ clearTimeout(t), t = setTimeout(() => {
37
+ F(!1);
38
+ }, A);
39
+ }, d(() => {
40
+ let n = document.querySelector(`.e-dropdown-container[data-id="${P}"]`);
41
+ n.onmouseenter = () => {
42
+ clearTimeout(t), F(!0);
43
+ };
44
+ let r = N(e);
45
+ n.onmouseleave = () => {
46
+ t = setTimeout(() => {
47
+ F(!1), r();
48
+ }, A);
49
+ };
50
+ });
51
+ };
52
+ } else l.trigger === "contextmenu" ? e.oncontextmenu = (e) => {
53
+ e.preventDefault(), D.left = e.pageX, D.top = e.pageY, F(!0), d(() => {
54
+ window.onmousedown = () => {
55
+ F(!1), window.onmousedown = null;
56
+ };
57
+ let e = () => {
58
+ F(!1), window.removeEventListener("scroll", e, !0);
59
+ };
60
+ window.addEventListener("scroll", e, !0);
61
+ });
62
+ } : l.trigger === "click" && (e.onclick = () => {
63
+ if (T.value) {
64
+ F(!1);
65
+ return;
66
+ }
67
+ j(), M(e.getBoundingClientRect()), F(!0), d(() => {
68
+ let t = document.querySelector(`.e-dropdown-container[data-id="${P}"]`);
69
+ t.onclick = (e) => e.stopPropagation(), t.onmousedown = (e) => e.stopPropagation();
70
+ let n = () => M(e.getBoundingClientRect()), r = new ResizeObserver(n);
71
+ r.observe(e), window.onresize = n, window.addEventListener("scroll", n, !0), window.onmousedown = () => {
72
+ F(!1), r.disconnect(), window.onresize = null, window.removeEventListener("scroll", n, !0);
73
+ };
74
+ });
75
+ });
76
+ }), (e, t) => (h(), o("div", {
77
+ class: f(["e-dropdown"]),
78
+ ref_key: "eDropdownRef",
79
+ ref: w
80
+ }, [_(e.$slots, "default", {}, void 0, !0), (h(), i(n, { to: "body" }, [c(r, { onEnter: t[0] ||= (e) => {
81
+ e.animate([{ clipPath: "inset(0 0 100% 0)" }, { clipPath: "inset(0 0 0 0)" }], { duration: 0 }).play();
82
+ } }, {
83
+ default: x(() => [(l.trigger ? T.value : l.open) ? (h(), o("div", {
84
+ key: 0,
85
+ class: f(["e-dropdown-container", l.size]),
86
+ "data-id": v(P),
87
+ style: p({
88
+ top: v(D).top + "px",
89
+ left: v(D).left + "px",
90
+ transform: `translateX(${v(D).translateX}) translateY(${v(D).translateY})`
91
+ })
92
+ }, [_(e.$slots, "dropdown", {}, void 0, !0), s("div", {
93
+ class: "e-dropdown-arrow",
94
+ style: p({
95
+ height: `${v(k)}px`,
96
+ width: `${v(k)}px`,
97
+ left: v(O).left,
98
+ top: v(O).top,
99
+ clipPath: v(O).clipPath
100
+ })
101
+ }, null, 4)], 14, S)) : a("", !0)]),
102
+ _: 3
103
+ })]))], 512));
104
+ }
105
+ });
106
+ //#endregion
107
+ export { C as default };
@@ -0,0 +1,7 @@
1
+ import e from "../../../../../../_virtual/_plugin-vue_export-helper.js";
2
+ import t from "./ETabPane.vue_vue_type_script_setup_true_lang.js";
3
+ /* empty css */
4
+ //#region src/components/navigation/ETabs/ETabPane.vue
5
+ var n = /* @__PURE__ */ e(t, [["__scopeId", "data-v-e36de3b0"]]);
6
+ //#endregion
7
+ export { n as default };
@@ -0,0 +1,20 @@
1
+ import { createElementBlock as e, defineComponent as t, inject as n, normalizeClass as r, onUnmounted as i, openBlock as a, renderSlot as o } from "vue";
2
+ //#region src/components/navigation/ETabs/ETabPane.vue?vue&type=script&setup=true&lang.ts
3
+ var s = /* @__PURE__ */ t({
4
+ __name: "ETabPane",
5
+ props: {
6
+ name: {},
7
+ label: {}
8
+ },
9
+ setup(t) {
10
+ let s = n("registerTabPane"), c = n("unregisterTabPane");
11
+ return s({
12
+ label: t.label,
13
+ name: t.name
14
+ }), i(() => {
15
+ c(t.name);
16
+ }), (n, i) => (a(), e("div", { class: r(["e-tab-pane", "e-tab-pane" + t.name]) }, [o(n.$slots, "default", {}, void 0, !0)], 2));
17
+ }
18
+ });
19
+ //#endregion
20
+ export { s as default };
@@ -0,0 +1,7 @@
1
+ import e from "../../../../../../_virtual/_plugin-vue_export-helper.js";
2
+ import t from "./ETabs.vue_vue_type_script_setup_true_lang.js";
3
+ /* empty css */
4
+ //#region src/components/navigation/ETabs/ETabs.vue
5
+ var n = /* @__PURE__ */ e(t, [["__scopeId", "data-v-7576e0b4"]]);
6
+ //#endregion
7
+ export { n as default };
@@ -0,0 +1,90 @@
1
+ import e from "../../../utils/EDomUtil.js";
2
+ import { Fragment as t, computed as n, createElementBlock as r, createElementVNode as i, defineComponent as a, nextTick as o, normalizeClass as s, normalizeStyle as c, onMounted as l, onUnmounted as u, openBlock as d, provide as f, ref as p, renderList as m, renderSlot as h, toDisplayString as g, useTemplateRef as _, watch as v } from "vue";
3
+ //#region src/components/navigation/ETabs/ETabs.vue?vue&type=script&setup=true&lang.ts
4
+ var y = ["onClick"], b = /* @__PURE__ */ a({
5
+ __name: "ETabs",
6
+ props: {
7
+ modelValue: {},
8
+ placement: {},
9
+ size: { default: "medium" }
10
+ },
11
+ emits: ["update:modelValue", "tabClick"],
12
+ setup(a, { emit: b }) {
13
+ let x = b, S = p([]);
14
+ f("registerTabPane", (e) => {
15
+ S.value.push(e);
16
+ }), f("unregisterTabPane", (e) => {
17
+ S.value = S.value.filter((t) => t.name !== e);
18
+ }), l(() => {
19
+ w(a.modelValue, !1);
20
+ let e = () => {
21
+ w(a.modelValue, !1);
22
+ };
23
+ E.value?.addEventListener("resize", e), u(() => {
24
+ E.value?.removeEventListener("resize", e);
25
+ });
26
+ });
27
+ let C = (e) => {
28
+ let t = E.value.querySelector(`.e-tabs-header>.e-tabs-label${a.modelValue}`), n = E.value.querySelector(".e-tabs-header>.line");
29
+ n.style.transition = e ? "all 0.3s ease-in-out" : "none", a.placement.includes("left") || a.placement.includes("right") ? (n.style.top = t.offsetTop + "px", n.style.height = t.offsetHeight + "px", n.style.width = "2px", a.placement.includes("left") ? (n.style.right = "0px", n.style.left = "unset") : (n.style.left = "0px", n.style.right = "unset")) : (n.style.left = t.offsetLeft + "px", n.style.width = t.offsetWidth + "px", n.style.height = "2px", a.placement.includes("top") ? (n.style.bottom = "0px", n.style.top = "unset") : (n.style.top = "0px", n.style.bottom = "unset"));
30
+ }, w = (t, n = !0) => {
31
+ let r = E.value.querySelector(".e-tabs-content");
32
+ r.style.scrollBehavior = n ? "smooth" : "auto";
33
+ let i = r.querySelector(".e-tab-pane" + t);
34
+ e.scrollIntoView({
35
+ element: i,
36
+ block: a.placement.includes("left") || a.placement.includes("right") ? "center" : void 0,
37
+ inline: a.placement.includes("top") || a.placement.includes("bottom") ? "center" : void 0
38
+ }), x("update:modelValue", t), x("tabClick", t), o(() => {
39
+ C(n);
40
+ });
41
+ };
42
+ v(() => a.placement, () => {
43
+ o(() => {
44
+ w(a.modelValue, !1);
45
+ });
46
+ });
47
+ let T = n(() => ({
48
+ display: "flex",
49
+ flexDirection: (() => {
50
+ if (a.placement.includes("top")) return "column";
51
+ if (a.placement.includes("bottom")) return "column-reverse";
52
+ if (a.placement.includes("left")) return "row";
53
+ if (a.placement.includes("right")) return "row-reverse";
54
+ })()
55
+ })), E = _("tabs"), D = n(() => {
56
+ let e = {
57
+ flexDirection: a.placement.includes("top") || a.placement.includes("bottom") ? "row" : "column",
58
+ justifyContent: [
59
+ "left",
60
+ "right",
61
+ "top",
62
+ "bottom"
63
+ ].includes(a.placement) ? "center" : "flex-" + a.placement.split("-")[1],
64
+ alignItems: a.placement.includes("left") || a.placement.includes("top") ? "flex-end" : "flex-start"
65
+ };
66
+ return e.height = `var(--e-tabs-${a.size}-header-height)`, a.placement.includes("top") ? e.borderBottom = "1px solid var(--e-border-color)" : a.placement.includes("bottom") ? e.borderTop = "1px solid var(--e-border-color)" : a.placement.includes("left") ? e.borderRight = "1px solid var(--e-border-color)" : a.placement.includes("right") && (e.borderLeft = "1px solid var(--e-border-color)"), e;
67
+ });
68
+ return (e, n) => (d(), r("div", {
69
+ class: s(["e-tabs", a.size]),
70
+ ref: "tabs",
71
+ style: c(T.value)
72
+ }, [i("div", {
73
+ class: "e-tabs-header",
74
+ style: c(D.value)
75
+ }, [(d(!0), r(t, null, m(S.value, (e) => (d(), r("div", {
76
+ key: e.name,
77
+ class: s([
78
+ "e-tabs-label",
79
+ "e-tabs-label" + e.name,
80
+ { active: a.modelValue === e.name }
81
+ ]),
82
+ onClick: (t) => w(e.name)
83
+ }, g(e.label), 11, y))), 128)), n[0] ||= i("div", { class: "line" }, null, -1)], 4), i("div", {
84
+ class: "e-tabs-content",
85
+ style: c({ flexDirection: a.placement.includes("top") || a.placement.includes("bottom") ? "row" : "column" })
86
+ }, [h(e.$slots, "default", {}, void 0, !0)], 4)], 6));
87
+ }
88
+ });
89
+ //#endregion
90
+ export { b as default };
@@ -0,0 +1,27 @@
1
+ //#region src/directives/EDrag.ts
2
+ var e = (e) => {
3
+ let t = 0, n = e.parentNode, r = Array.from(n.children);
4
+ for (let e of r) {
5
+ let n = window.getComputedStyle(e).zIndex;
6
+ n !== "auto" && (t = Math.max(t, parseInt(n)));
7
+ }
8
+ e.style.zIndex = (t + 1).toString();
9
+ }, t = {
10
+ mounted(t, n) {
11
+ console.log(n?.value), t.onmousedown = (n) => {
12
+ e(t);
13
+ let r = n.pageX - t.offsetLeft, i = n.pageY - t.offsetTop;
14
+ window.onmousemove = (e) => {
15
+ let n = e.pageX - r, a = e.pageY - i;
16
+ t.style.left = `${n}px`, t.style.top = `${a}px`;
17
+ }, window.onmouseup = () => {
18
+ window.onmousemove = null, window.onmouseup = null;
19
+ };
20
+ };
21
+ },
22
+ unmounted(e) {
23
+ e.onmousedown = null;
24
+ }
25
+ };
26
+ //#endregion
27
+ export { t as default };
@@ -0,0 +1,23 @@
1
+ //#region src/directives/ESizeOb.ts
2
+ var e = /* @__PURE__ */ new WeakMap(), t = {
3
+ mounted: (t, n) => {
4
+ if (typeof window < "u" && window.ResizeObserver) {
5
+ let r = new ResizeObserver((e) => {
6
+ for (let t of e) {
7
+ let e = t.target;
8
+ if (n.value) {
9
+ let r = t.contentRect;
10
+ n.value(r.width, r.height, e);
11
+ }
12
+ }
13
+ });
14
+ r.observe(t), e.set(t, r);
15
+ }
16
+ },
17
+ unmounted: (t) => {
18
+ let n = e.get(t);
19
+ n && (n.unobserve(t), e.delete(t));
20
+ }
21
+ };
22
+ //#endregion
23
+ export { t as default };
@@ -0,0 +1,24 @@
1
+ //#region src/directives/ESlideIn.ts
2
+ var e = /* @__PURE__ */ new WeakMap(), t = new IntersectionObserver((n) => {
3
+ for (let r of n) r.isIntersecting && (e.get(r.target).play(), t.unobserve(r.target));
4
+ }), n = (e) => e.getBoundingClientRect().top > window.innerHeight, r = {
5
+ mounted(r) {
6
+ if (!n(r)) return;
7
+ let i = r.animate([{
8
+ opacity: .5,
9
+ transform: "translateY(100px)"
10
+ }, {
11
+ opacity: 1,
12
+ transform: "translateY(0)"
13
+ }], {
14
+ duration: 300,
15
+ easing: "ease-out"
16
+ });
17
+ i.pause(), t.observe(r), e.set(r, i);
18
+ },
19
+ unmounted(e) {
20
+ t.unobserve(e);
21
+ }
22
+ };
23
+ //#endregion
24
+ export { r as default };
@@ -0,0 +1,13 @@
1
+ /* empty css */
2
+ //#region src/utils/EAnimateCSSUtil.ts
3
+ var e = class {
4
+ static once(e, t) {
5
+ return new Promise((n) => {
6
+ e.classList.add("animate__animated", t), e.addEventListener("animationend", (r) => {
7
+ r.stopPropagation(), e.classList.remove("animate__animated", t), n("Animation ended");
8
+ }, { once: !0 });
9
+ });
10
+ }
11
+ };
12
+ //#endregion
13
+ export { e as default };
@@ -0,0 +1,19 @@
1
+ //#region src/utils/EClipboardUtil.ts
2
+ var e = (e) => new Promise((t, n) => {
3
+ navigator.clipboard.writeText(e).then(() => t(!0)).catch((e) => n(e));
4
+ }), t = (e) => new Promise((t, n) => {
5
+ try {
6
+ let r = document.createElement("textarea");
7
+ r.value = e, r.style.position = "fixed", r.style.opacity = "0", document.body.appendChild(r), r.focus(), r.select();
8
+ let i = document.execCommand("copy");
9
+ return i ? (console.log("Text copied to clipboard using execCommand."), t(!0)) : n(/* @__PURE__ */ Error("Copy command failed.")), document.body.removeChild(r), i;
10
+ } catch (e) {
11
+ n(e);
12
+ }
13
+ }), n = (r) => navigator.clipboard && navigator.clipboard.writeText ? (n = e, e(r)) : (n = t, t(r)), r = class {
14
+ static copy(e) {
15
+ return n(e);
16
+ }
17
+ };
18
+ //#endregion
19
+ export { r as default };
@@ -0,0 +1,9 @@
1
+ //#region src/utils/EDomUtil.ts
2
+ var e = class {
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)));
6
+ }
7
+ };
8
+ //#endregion
9
+ export { e as default };
@@ -0,0 +1,23 @@
1
+ //#region src/utils/EEchartsUtil.ts
2
+ var e = class {
3
+ static getPieHighPrecisionPercent(e, t, n, r = 3) {
4
+ let i = e / n.reduce((e, t) => e + t.value, 0) * 100, a = t.toString();
5
+ if (e && a === "0") for (let e = 1; e <= r; e++) {
6
+ let t = i.toFixed(e);
7
+ if (Number(t) !== 0) {
8
+ a = t;
9
+ break;
10
+ }
11
+ }
12
+ if (Number(a) === 0 && (a = "0." + "0".repeat(r - 1) + "1"), n.length > 1 && a === "100") for (let e = 1; e <= r; e++) {
13
+ let t = i.toFixed(e);
14
+ if (Number(t) !== 100) {
15
+ a = t;
16
+ break;
17
+ }
18
+ }
19
+ return Number(a) === 100 && (a = "99." + "9".repeat(r)), a;
20
+ }
21
+ };
22
+ //#endregion
23
+ export { e as default };
@@ -0,0 +1,26 @@
1
+ //#region src/utils/EImageUtil.ts
2
+ var e = (e) => new Promise((t, n) => {
3
+ let r = document.createElement("canvas"), i = r.getContext("2d");
4
+ if (!i) {
5
+ n(/* @__PURE__ */ Error("无法获取 canvas 上下文"));
6
+ return;
7
+ }
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 失败"));
10
+ }, "image/png");
11
+ }), t = class {
12
+ static mirror(t) {
13
+ return new Promise((n, r) => {
14
+ if (typeof t == "string") {
15
+ let i = new Image();
16
+ i.crossOrigin = "Anonymous", i.src = t, i.onload = () => {
17
+ e(i).then(n).catch(r);
18
+ }, i.onerror = (e) => {
19
+ r(e);
20
+ };
21
+ } else e(t).then(n).catch(r);
22
+ });
23
+ }
24
+ };
25
+ //#endregion
26
+ export { t as default };
@@ -0,0 +1,15 @@
1
+ //#region src/utils/ELocalStorageUtil.ts
2
+ var e = class {
3
+ static get(e, t, n) {
4
+ let r = localStorage.getItem(e);
5
+ return r ? n ? n(r) ? r : t : r : t;
6
+ }
7
+ static set(e, t) {
8
+ localStorage.setItem(e, t);
9
+ }
10
+ static remove(e) {
11
+ localStorage.removeItem(e);
12
+ }
13
+ };
14
+ //#endregion
15
+ export { e as default };
@@ -0,0 +1,28 @@
1
+ //#region src/utils/EMediaQueryUtil.ts
2
+ var e = {
3
+ watch: ["0px", "319px"],
4
+ phone: ["320px", "480px"],
5
+ pad: ["481px", "768px"],
6
+ notebook: ["769px", "1024px"],
7
+ desktop: ["1025px", "1200px"],
8
+ tv: "1201px"
9
+ }, t = () => {
10
+ if (typeof window > "u") return "tv";
11
+ for (let t in e) if (Array.isArray(e[t])) {
12
+ let [n, r] = e[t], i = parseInt(n.replace("px", ""), 10), a = parseInt(r.replace("px", ""), 10);
13
+ if (window.innerWidth >= i && window.innerWidth <= a) return t;
14
+ } else {
15
+ let n = parseInt(e[t].replace("px", ""), 10);
16
+ if (window.innerWidth >= n) return t;
17
+ }
18
+ return "tv";
19
+ }, n = class {
20
+ static match(e) {
21
+ return e[t()];
22
+ }
23
+ static is(e) {
24
+ return e === t();
25
+ }
26
+ };
27
+ //#endregion
28
+ export { n as default };
@@ -0,0 +1,11 @@
1
+ //#region src/utils/EStringUtil.ts
2
+ var e = class {
3
+ static sliceAfterFirst(e, t = "a") {
4
+ return e.includes(t) ? e.slice(e.indexOf(t) + 1) : e;
5
+ }
6
+ static sliceAfterLast(e, t = "a") {
7
+ return e.includes(t) ? e.slice(e.lastIndexOf(t) + 1) : e;
8
+ }
9
+ };
10
+ //#endregion
11
+ export { e as default };
@@ -0,0 +1,40 @@
1
+ import { OrbitControls as e } from "../../../../node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/controls/OrbitControls.js";
2
+ import { FBXLoader as t } from "../../../../node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/loaders/FBXLoader.js";
3
+ import { FontLoader as n } from "../../../../node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/loaders/FontLoader.js";
4
+ import { GLTFLoader as r } from "../../../../node_modules/.pnpm/three@0.180.0/node_modules/three/examples/jsm/loaders/GLTFLoader.js";
5
+ import { PerspectiveCamera as i, WebGLRenderer as a } from "three";
6
+ //#region src/utils/EThreeUtil.ts
7
+ var o = class {
8
+ static loadFont(e, t) {
9
+ return new Promise((r, i) => {
10
+ new n().load(e, (e) => r(e), t, (e) => i(e));
11
+ });
12
+ }
13
+ static {
14
+ this.createCamera = (e) => new i(70, e.offsetWidth / e.offsetHeight, 1, 1e4);
15
+ }
16
+ static loadGlb(e, t) {
17
+ return new Promise((n, i) => {
18
+ new r().load(e, (e) => n(e), t, (e) => i(e));
19
+ });
20
+ }
21
+ static {
22
+ this.loadFBX = (e, n) => new Promise((r, i) => {
23
+ new t().load(e, (e) => {
24
+ r(e);
25
+ }, n, (e) => i(e));
26
+ });
27
+ }
28
+ static createControls(t, n) {
29
+ let r = new e(t, n);
30
+ return r.enableDamping = !0, r.dampingFactor = .95, r.screenSpacePanning = !1, r.minDistance = 300, r.maxDistance = 800, r.maxPolarAngle = Math.PI * .45, r.enablePan = !1, r;
31
+ }
32
+ static createWebGLRenderer(e) {
33
+ return new a({
34
+ canvas: e,
35
+ alpha: !0
36
+ });
37
+ }
38
+ };
39
+ //#endregion
40
+ export { o as default };
@@ -0,0 +1,11 @@
1
+ //#region src/utils/EUUIDUtil.ts
2
+ var e = class {
3
+ static generate() {
4
+ return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
5
+ let t = Math.random() * 16 | 0;
6
+ return (e === "x" ? t : t & 3 | 8).toString(16);
7
+ });
8
+ }
9
+ };
10
+ //#endregion
11
+ export { e as default };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * [animate.css](https://animate.style/)
3
+ */
4
+ export default class EAnimateCSSUtil {
5
+ static once(el: HTMLElement, animationName: `animate__${string}`): Promise<unknown>;
6
+ }
@@ -0,0 +1,3 @@
1
+ export default class EClipboardUtil {
2
+ static copy(text: string): Promise<boolean>;
3
+ }
@@ -0,0 +1,5 @@
1
+ export default class EDomUtil {
2
+ static scrollIntoView(options: {
3
+ element: HTMLElement;
4
+ } & ScrollIntoViewOptions): void;
5
+ }
@@ -0,0 +1,12 @@
1
+ export default class EEchartsUtil {
2
+ /**
3
+ * 饼图高精度百分比计算
4
+ * @param value 数据值
5
+ * @param percent 原始百分比
6
+ * @param dataList 数据列表
7
+ * @returns 高精度百分比
8
+ */
9
+ static getPieHighPrecisionPercent(value: number, percent: number, dataList: {
10
+ value: number;
11
+ }[], precision?: number): string;
12
+ }
@@ -0,0 +1,8 @@
1
+ declare class EEventBus {
2
+ private listeners;
3
+ on(event: string, listener: Function): void;
4
+ off(event: string, listener: Function): void;
5
+ emit(event: string, ...args: unknown[]): void;
6
+ }
7
+ export declare const eEventBus: EEventBus;
8
+ export {};
@@ -0,0 +1,3 @@
1
+ export default class EImageUtil {
2
+ static mirror(img: string | HTMLImageElement): Promise<File>;
3
+ }
@@ -0,0 +1,3 @@
1
+ export declare class EJSONUtil {
2
+ static parse<T>(json: string): T | null;
3
+ }
@@ -0,0 +1,5 @@
1
+ export default class ELocalStorageUtil {
2
+ static get<T>(key: string, defaultValue: T, isValid?: (str: string) => boolean): T;
3
+ static set(key: string, value: string): void;
4
+ static remove(key: string): void;
5
+ }
@@ -0,0 +1,6 @@
1
+ export default class EMediaQueryUtil {
2
+ static match<ReturnType>(data: {
3
+ [device: string]: ReturnType;
4
+ }): ReturnType;
5
+ static is(device: 'watch' | 'phone' | 'pad' | 'notebook' | 'desktop' | 'tv'): boolean;
6
+ }