@das-fed/ui 1.1.4 → 6.3.0-beta.0

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 (152) hide show
  1. package/global/icons/index.local.js +1 -1
  2. package/global/style/index.css +1 -1
  3. package/global/style/scrollbar.css +22 -22
  4. package/global/theme/index.js +12 -12
  5. package/global/theme/module/color.js +31 -31
  6. package/global/theme/module/fontSize.js +5 -5
  7. package/global/theme/module/scrollbar.js +6 -6
  8. package/package.json +13 -7
  9. package/packages/business-components/app-container/index.js +154 -147
  10. package/packages/business-components/change-enterprises/index.css +1 -0
  11. package/packages/business-components/change-enterprises/index.js +241 -0
  12. package/packages/business-components/change-pwd/index.css +1 -0
  13. package/packages/business-components/change-pwd/index.js +330 -0
  14. package/packages/business-components/currency-page/index.css +1 -0
  15. package/packages/business-components/currency-page/index.js +99 -0
  16. package/packages/business-components/device-panel/index.css +1 -0
  17. package/packages/business-components/device-panel/index.js +115939 -0
  18. package/packages/business-components/echarts/index.js +93 -122
  19. package/packages/business-components/export-button/index.js +73 -66
  20. package/packages/business-components/import-button/index.js +213 -170
  21. package/packages/business-components/index.js +8 -1
  22. package/packages/business-components/layout-breadcrumb/index.js +82 -66
  23. package/packages/business-components/model-table-dialog/index.js +299 -289
  24. package/packages/business-components/process-configuration/index.css +1 -0
  25. package/packages/business-components/process-configuration/index.js +612 -0
  26. package/packages/business-components/process-form/index.css +1 -0
  27. package/packages/business-components/process-form/index.js +524 -0
  28. package/packages/business-components/process-search-form/index.js +73 -315
  29. package/packages/business-components/process-table/index.css +1 -1
  30. package/packages/business-components/process-table/index.js +186 -152
  31. package/packages/business-components/urgent-panel/index.css +1 -0
  32. package/packages/business-components/urgent-panel/index.js +3914 -0
  33. package/packages/business-components/user-org-dialog/index.js +466 -375
  34. package/packages/business-components/video-dialog/index.css +1 -0
  35. package/packages/business-components/video-dialog/index.js +1041 -0
  36. package/packages/business.js +1 -2
  37. package/packages/components/alert/index.js +449 -633
  38. package/packages/components/audio-video/index.css +1 -1
  39. package/packages/components/audio-video/index.js +312 -126
  40. package/packages/components/autocomplete/index.css +1 -1
  41. package/packages/components/autocomplete/index.js +312 -2923
  42. package/packages/components/breadcrumb/index.js +97 -82
  43. package/packages/components/button/index.css +1 -1
  44. package/packages/components/button/index.js +646 -787
  45. package/packages/components/calendar/index.css +1 -1
  46. package/packages/components/calendar/index.js +655 -3879
  47. package/packages/components/cascader/index.js +209 -203
  48. package/packages/components/checkbox/index.css +1 -1
  49. package/packages/components/checkbox/index.js +710 -872
  50. package/packages/components/collapse-panel/index.css +1 -1
  51. package/packages/components/collapse-panel/index.js +419 -601
  52. package/packages/components/collapse-transition/index.js +23 -21
  53. package/packages/components/collaspe/index.css +1 -1
  54. package/packages/components/collaspe/index.js +413 -595
  55. package/packages/components/color-picker/index.css +1 -1
  56. package/packages/components/color-picker/index.js +176 -133
  57. package/packages/components/custom-search-item/index.js +43 -37
  58. package/packages/components/date-picker/index.js +1338 -1459
  59. package/packages/components/dialog/index.js +441 -241
  60. package/packages/components/dimple-layout/index.css +1 -1
  61. package/packages/components/dimple-layout/index.js +1298 -1794
  62. package/packages/components/drawer/index.js +116 -101
  63. package/packages/components/dropdown/index.js +129 -109
  64. package/packages/components/edit-table/index.css +1 -1
  65. package/packages/components/edit-table/index.js +868 -752
  66. package/packages/components/empty/index.js +83 -78
  67. package/packages/components/form/index.js +22 -15
  68. package/packages/components/form-item/index.css +1 -1
  69. package/packages/components/form-item/index.js +601 -440
  70. package/packages/components/icon/index.css +1 -1
  71. package/packages/components/icon/index.js +38 -22
  72. package/packages/components/image-preview/index.css +1 -0
  73. package/packages/components/image-preview/index.js +2714 -0
  74. package/packages/components/image-upload/index.js +601 -765
  75. package/packages/components/image-viewer/index.css +1 -1
  76. package/packages/components/image-viewer/index.js +909 -990
  77. package/packages/components/index.js +2 -2
  78. package/packages/components/input/index.css +1 -1
  79. package/packages/components/input/index.js +284 -256
  80. package/packages/components/input-dialog-select/index.css +1 -1
  81. package/packages/components/input-dialog-select/index.js +179 -156
  82. package/packages/components/input-number/index.css +1 -1
  83. package/packages/components/input-number/index.js +157 -170
  84. package/packages/components/live-player/index.css +1 -0
  85. package/packages/components/live-player/index.js +170 -0
  86. package/packages/components/loading/index.js +17 -26
  87. package/packages/components/map/index.css +1 -1
  88. package/packages/components/map/index.js +18913 -461
  89. package/packages/components/menu-aside/index.css +1 -1
  90. package/packages/components/menu-aside/index.js +648 -713
  91. package/packages/components/menu-header/index.js +446 -629
  92. package/packages/components/message/index.js +25 -16
  93. package/packages/components/notification/index.js +386 -575
  94. package/packages/components/overlay/index.js +112 -103
  95. package/packages/components/pagination/index.js +260 -330
  96. package/packages/components/popover/index.js +104 -93
  97. package/packages/components/popup-mask/index.css +1 -1
  98. package/packages/components/popup-mask/index.js +77 -72
  99. package/packages/components/preview/index.js +33 -28
  100. package/packages/components/progress/index.js +214 -221
  101. package/packages/components/radio/index.css +1 -1
  102. package/packages/components/radio/index.js +699 -862
  103. package/packages/components/radio-tabs/index.js +144 -107
  104. package/packages/components/rich-editor/index.css +1 -1
  105. package/packages/components/rich-editor/index.js +105 -106
  106. package/packages/components/scrollbar/index.css +3 -2
  107. package/packages/components/scrollbar/index.js +2262 -1201
  108. package/packages/components/search/index.js +500 -664
  109. package/packages/components/search-form/index.css +1 -1
  110. package/packages/components/search-form/index.js +724 -626
  111. package/packages/components/select/index.css +1 -1
  112. package/packages/components/select/index.js +1052 -950
  113. package/packages/components/select-input/index.js +63 -53
  114. package/packages/components/select-list/index.css +1 -1
  115. package/packages/components/select-list/index.js +258 -235
  116. package/packages/components/special-range-picker-month/index.css +1 -1
  117. package/packages/components/special-range-picker-month/index.js +3068 -72555
  118. package/packages/components/special-range-picker-year/index.css +1 -1
  119. package/packages/components/special-range-picker-year/index.js +345 -339
  120. package/packages/components/spin/index.js +415 -594
  121. package/packages/components/split-panel/index.css +1 -1
  122. package/packages/components/split-panel/index.js +146 -127
  123. package/packages/components/step/index.js +414 -597
  124. package/packages/components/steps/index.js +407 -590
  125. package/packages/components/switch/index.js +23 -23
  126. package/packages/components/table/index.css +1 -1
  127. package/packages/components/table/index.js +80813 -27734
  128. package/packages/components/tabs/index.css +1 -1
  129. package/packages/components/tabs/index.js +620 -813
  130. package/packages/components/tag/index.js +63 -63
  131. package/packages/components/text-tooltip/index.css +9 -0
  132. package/packages/components/text-tooltip/index.js +2739 -33
  133. package/packages/components/time-line/index.js +464 -643
  134. package/packages/components/tooltip/index.css +1 -1
  135. package/packages/components/tooltip/index.js +108 -79
  136. package/packages/components/tree/index.css +1 -1
  137. package/packages/components/tree/index.js +840 -809
  138. package/packages/components/tree-select/index.js +271 -303
  139. package/packages/components/tree-table/index.js +461 -352
  140. package/packages/components/upload/index.js +682 -858
  141. package/packages/components/virtual-tree/index.css +1 -1
  142. package/packages/components/virtual-tree/index.js +144 -126
  143. package/packages/index.d.ts +1 -0
  144. package/packages/index.js +2 -2
  145. package/style/business.css +11 -4
  146. package/style/index.css +55 -45
  147. package/packages/business-components/low-code/index.css +0 -1
  148. package/packages/business-components/low-code/index.js +0 -60
  149. package/packages/components/audio-video-player/index.css +0 -1
  150. package/packages/components/audio-video-player/index.js +0 -83
  151. package/packages/components/table-column/index.css +0 -1
  152. package/packages/components/table-column/index.js +0 -82021
@@ -1,6 +1,6 @@
1
1
  import { withInstall as withInstall$1 } from '@das-fed/utils';
2
- import { defineComponent, openBlock, createElementBlock, createElementVNode, warn as warn$1, watch, unref as unref$1, onMounted, watchEffect, onBeforeUnmount, inject, ref as ref$1, computed as computed$1, isRef, getCurrentInstance, onScopeDispose as onScopeDispose$1, mergeProps, renderSlot, provide, nextTick, createVNode, h, normalizeClass, normalizeStyle, toDisplayString, withCtx, createBlock, resolveDynamicComponent, createCommentVNode, useSlots, Teleport, Transition, withDirectives, createSlots, vShow, createTextVNode } from 'vue';
3
- import { DasSpin, vOverlay, DasButton } from '@das-fed/ui';
2
+ import { defineComponent, openBlock, createElementBlock, createElementVNode, warn as warn$1, watch, unref as unref$1, onMounted, watchEffect, onBeforeUnmount, inject, ref as ref$1, computed as computed$1, isRef, getCurrentInstance, onScopeDispose as onScopeDispose$1, mergeProps, renderSlot, provide, nextTick, createVNode, h, normalizeClass, normalizeStyle, toDisplayString, withCtx, createBlock, resolveDynamicComponent, createCommentVNode, useSlots, Teleport, Transition, withDirectives, createSlots, vShow, mergeModels, useModel, onBeforeMount, onActivated, onDeactivated, createTextVNode } from 'vue';
3
+ import { vOverlay, DasSpin, DasButton } from '@das-fed/ui';
4
4
  import { i18n as i18n$1, getVarValue, t, getVar, setThemeRule, setI18nRule } from '@das-fed/web';
5
5
  import { ref, readonly, getCurrentScope, onScopeDispose, unref } from 'vue-demi';
6
6
 
@@ -59,19 +59,23 @@ function useTimeoutFn(cb, interval, options = {}) {
59
59
  }
60
60
 
61
61
  /**
62
- * @vue/shared v3.4.21
62
+ * @vue/shared v3.4.30
63
63
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
64
64
  * @license MIT
65
65
  **/
66
66
 
67
+
68
+
67
69
  !!(process.env.NODE_ENV !== "production") ? Object.freeze({}) : {};
68
70
  !!(process.env.NODE_ENV !== "production") ? Object.freeze([]) : [];
69
- const NOOP$1 = () => {
71
+ const NOOP = () => {
70
72
  };
73
+ const extend = Object.assign;
71
74
  const hasOwnProperty$4 = Object.prototype.hasOwnProperty;
72
75
  const hasOwn = (val, key) => hasOwnProperty$4.call(val, key);
73
- const isFunction$2 = (val) => typeof val === "function";
76
+ const isFunction$1 = (val) => typeof val === "function";
74
77
  const isString = (val) => typeof val === "string";
78
+ const isSymbol$1 = (val) => typeof val === "symbol";
75
79
  const isObject$1 = (val) => val !== null && typeof val === "object";
76
80
  const cacheStringFunction = (fn) => {
77
81
  const cache = /* @__PURE__ */ Object.create(null);
@@ -84,6 +88,7 @@ const camelizeRE = /-(\w)/g;
84
88
  const camelize = cacheStringFunction((str) => {
85
89
  return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : "");
86
90
  });
91
+ const hasChanged = (value, oldValue) => !Object.is(value, oldValue);
87
92
 
88
93
  /** Detect free variable `global` from Node.js. */
89
94
  var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
@@ -232,7 +237,7 @@ var symbolTag = '[object Symbol]';
232
237
  * _.isSymbol('abc');
233
238
  * // => false
234
239
  */
235
- function isSymbol$1(value) {
240
+ function isSymbol(value) {
236
241
  return typeof value == 'symbol' ||
237
242
  (isObjectLike(value) && baseGetTag(value) == symbolTag);
238
243
  }
@@ -306,7 +311,7 @@ function baseToString(value) {
306
311
  // Recursively convert values (susceptible to call stack limits).
307
312
  return arrayMap(value, baseToString) + '';
308
313
  }
309
- if (isSymbol$1(value)) {
314
+ if (isSymbol(value)) {
310
315
  return symbolToString ? symbolToString.call(value) : '';
311
316
  }
312
317
  var result = (value + '');
@@ -366,7 +371,7 @@ var asyncTag = '[object AsyncFunction]',
366
371
  * _.isFunction(/abc/);
367
372
  * // => false
368
373
  */
369
- function isFunction$1(value) {
374
+ function isFunction(value) {
370
375
  if (!isObject(value)) {
371
376
  return false;
372
377
  }
@@ -458,7 +463,7 @@ function baseIsNative(value) {
458
463
  if (!isObject(value) || isMasked(value)) {
459
464
  return false;
460
465
  }
461
- var pattern = isFunction$1(value) ? reIsNative : reIsHostCtor;
466
+ var pattern = isFunction(value) ? reIsNative : reIsHostCtor;
462
467
  return pattern.test(toSource(value));
463
468
  }
464
469
 
@@ -541,7 +546,7 @@ function isKey(value, object) {
541
546
  }
542
547
  var type = typeof value;
543
548
  if (type == 'number' || type == 'symbol' || type == 'boolean' ||
544
- value == null || isSymbol$1(value)) {
549
+ value == null || isSymbol(value)) {
545
550
  return true;
546
551
  }
547
552
  return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||
@@ -1111,7 +1116,7 @@ var INFINITY = 1 / 0;
1111
1116
  * @returns {string|symbol} Returns the key.
1112
1117
  */
1113
1118
  function toKey(value) {
1114
- if (typeof value == 'string' || isSymbol$1(value)) {
1119
+ if (typeof value == 'string' || isSymbol(value)) {
1115
1120
  return value;
1116
1121
  }
1117
1122
  var result = (value + '');
@@ -1410,22 +1415,17 @@ const CloseComponents = {
1410
1415
 
1411
1416
  const withInstall = (main, extra) => {
1412
1417
  main.install = (app) => {
1413
- for (const comp of [main, ...Object.values(extra != null ? extra : {})]) {
1418
+ for (const comp of [main, ...Object.values({})]) {
1414
1419
  app.component(comp.name, comp);
1415
1420
  }
1416
1421
  };
1417
- if (extra) {
1418
- for (const [key, comp] of Object.entries(extra)) {
1419
- main[key] = comp;
1420
- }
1421
- }
1422
1422
  return main;
1423
1423
  };
1424
1424
 
1425
1425
  const composeRefs = (...refs) => {
1426
1426
  return (el) => {
1427
1427
  refs.forEach((ref) => {
1428
- if (isFunction$2(ref)) {
1428
+ if (isFunction$1(ref)) {
1429
1429
  ref(el);
1430
1430
  } else {
1431
1431
  ref.value = el;
@@ -1724,27 +1724,12 @@ const buildLocaleContext = (locale) => {
1724
1724
  };
1725
1725
  const localeContextKey = Symbol("localeContextKey");
1726
1726
  const useLocale = (localeOverrides) => {
1727
- const locale = localeOverrides || inject(localeContextKey, ref$1());
1727
+ const locale = inject(localeContextKey, ref$1());
1728
1728
  return buildLocaleContext(computed$1(() => locale.value || English));
1729
1729
  };
1730
1730
 
1731
1731
  /**
1732
- * @vue/shared v3.4.19
1733
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
1734
- * @license MIT
1735
- **/
1736
-
1737
- !!(process.env.NODE_ENV !== "production") ? Object.freeze({}) : {};
1738
- !!(process.env.NODE_ENV !== "production") ? Object.freeze([]) : [];
1739
- const NOOP = () => {
1740
- };
1741
- const extend = Object.assign;
1742
- const isFunction = (val) => typeof val === "function";
1743
- const isSymbol = (val) => typeof val === "symbol";
1744
- const hasChanged = (value, oldValue) => !Object.is(value, oldValue);
1745
-
1746
- /**
1747
- * @vue/reactivity v3.4.19
1732
+ * @vue/reactivity v3.4.30
1748
1733
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
1749
1734
  * @license MIT
1750
1735
  **/
@@ -1771,7 +1756,7 @@ class ReactiveEffect {
1771
1756
  /**
1772
1757
  * @internal
1773
1758
  */
1774
- this._dirtyLevel = 4;
1759
+ this._dirtyLevel = 5;
1775
1760
  /**
1776
1761
  * @internal
1777
1762
  */
@@ -1791,14 +1776,20 @@ class ReactiveEffect {
1791
1776
  recordEffectScope(this, scope);
1792
1777
  }
1793
1778
  get dirty() {
1794
- if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {
1779
+ if (this._dirtyLevel === 2)
1780
+ return false;
1781
+ if (this._dirtyLevel === 3 || this._dirtyLevel === 4) {
1795
1782
  this._dirtyLevel = 1;
1796
1783
  pauseTracking();
1797
1784
  for (let i = 0; i < this._depsLength; i++) {
1798
1785
  const dep = this.deps[i];
1799
1786
  if (dep.computed) {
1787
+ if (dep.computed.effect._dirtyLevel === 2) {
1788
+ resetTracking();
1789
+ return true;
1790
+ }
1800
1791
  triggerComputed(dep.computed);
1801
- if (this._dirtyLevel >= 4) {
1792
+ if (this._dirtyLevel >= 5) {
1802
1793
  break;
1803
1794
  }
1804
1795
  }
@@ -1808,10 +1799,10 @@ class ReactiveEffect {
1808
1799
  }
1809
1800
  resetTracking();
1810
1801
  }
1811
- return this._dirtyLevel >= 4;
1802
+ return this._dirtyLevel >= 5;
1812
1803
  }
1813
1804
  set dirty(v) {
1814
- this._dirtyLevel = v ? 4 : 0;
1805
+ this._dirtyLevel = v ? 5 : 0;
1815
1806
  }
1816
1807
  run() {
1817
1808
  this._dirtyLevel = 0;
@@ -1834,11 +1825,10 @@ class ReactiveEffect {
1834
1825
  }
1835
1826
  }
1836
1827
  stop() {
1837
- var _a;
1838
1828
  if (this.active) {
1839
1829
  preCleanupEffect(this);
1840
1830
  postCleanupEffect(this);
1841
- (_a = this.onStop) == null ? void 0 : _a.call(this);
1831
+ this.onStop && this.onStop();
1842
1832
  this.active = false;
1843
1833
  }
1844
1834
  }
@@ -1911,8 +1901,17 @@ function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {
1911
1901
  pauseScheduling();
1912
1902
  for (const effect2 of dep.keys()) {
1913
1903
  let tracking;
1904
+ if (!dep.computed && effect2.computed) {
1905
+ if (effect2._runnings > 0 && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
1906
+ effect2._dirtyLevel = 2;
1907
+ continue;
1908
+ }
1909
+ }
1914
1910
  if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
1915
1911
  effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);
1912
+ if (effect2.computed && effect2._dirtyLevel === 2) {
1913
+ effect2._shouldSchedule = true;
1914
+ }
1916
1915
  effect2._dirtyLevel = dirtyLevel;
1917
1916
  }
1918
1917
  if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {
@@ -1920,7 +1919,7 @@ function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {
1920
1919
  (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));
1921
1920
  }
1922
1921
  effect2.trigger();
1923
- if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {
1922
+ if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 3) {
1924
1923
  effect2._shouldSchedule = false;
1925
1924
  if (effect2.scheduler) {
1926
1925
  queueEffectSchedulers.push(effect2.scheduler);
@@ -1940,7 +1939,7 @@ const createDep = (cleanup, computed) => {
1940
1939
  Symbol(!!(process.env.NODE_ENV !== "production") ? "iterate" : "");
1941
1940
  Symbol(!!(process.env.NODE_ENV !== "production") ? "Map key iterate" : "");
1942
1941
  new Set(
1943
- /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol)
1942
+ /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol$1)
1944
1943
  );
1945
1944
  function toRaw(observed) {
1946
1945
  const raw = observed && observed["__v_raw"];
@@ -1950,6 +1949,7 @@ function toRaw(observed) {
1950
1949
  const COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`;
1951
1950
  class ComputedRefImpl {
1952
1951
  constructor(getter, _setter, isReadonly, isSSR) {
1952
+ this.getter = getter;
1953
1953
  this._setter = _setter;
1954
1954
  this.dep = void 0;
1955
1955
  this.__v_isRef = true;
@@ -1958,7 +1958,7 @@ class ComputedRefImpl {
1958
1958
  () => getter(this._value),
1959
1959
  () => triggerRefValue(
1960
1960
  this,
1961
- this.effect._dirtyLevel === 2 ? 2 : 3
1961
+ this.effect._dirtyLevel === 3 ? 3 : 4
1962
1962
  )
1963
1963
  );
1964
1964
  this.effect.computed = this;
@@ -1967,13 +1967,20 @@ class ComputedRefImpl {
1967
1967
  }
1968
1968
  get value() {
1969
1969
  const self = toRaw(this);
1970
+ const lastDirtyLevel = self.effect._dirtyLevel;
1970
1971
  if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {
1971
- triggerRefValue(self, 4);
1972
+ if (lastDirtyLevel !== 3) {
1973
+ triggerRefValue(self, 5);
1974
+ }
1972
1975
  }
1973
1976
  trackRefValue(self);
1974
1977
  if (self.effect._dirtyLevel >= 2) {
1975
- !!(process.env.NODE_ENV !== "production") && warn(COMPUTED_SIDE_EFFECT_WARN);
1976
- triggerRefValue(self, 2);
1978
+ if (!!(process.env.NODE_ENV !== "production") && this._warnRecursive) {
1979
+ warn(COMPUTED_SIDE_EFFECT_WARN, `
1980
+
1981
+ getter: `, this.getter);
1982
+ }
1983
+ triggerRefValue(self, 3);
1977
1984
  }
1978
1985
  return self._value;
1979
1986
  }
@@ -1992,7 +1999,7 @@ class ComputedRefImpl {
1992
1999
  function computed(getterOrOptions, debugOptions, isSSR = false) {
1993
2000
  let getter;
1994
2001
  let setter;
1995
- const onlyGetter = isFunction(getterOrOptions);
2002
+ const onlyGetter = isFunction$1(getterOrOptions);
1996
2003
  if (onlyGetter) {
1997
2004
  getter = getterOrOptions;
1998
2005
  setter = !!(process.env.NODE_ENV !== "production") ? () => {
@@ -2028,7 +2035,7 @@ function trackRefValue(ref2) {
2028
2035
  );
2029
2036
  }
2030
2037
  }
2031
- function triggerRefValue(ref2, dirtyLevel = 4, newVal) {
2038
+ function triggerRefValue(ref2, dirtyLevel = 5, newVal, oldVal) {
2032
2039
  ref2 = toRaw(ref2);
2033
2040
  const dep = ref2.dep;
2034
2041
  if (dep) {
@@ -2039,7 +2046,8 @@ function triggerRefValue(ref2, dirtyLevel = 4, newVal) {
2039
2046
  target: ref2,
2040
2047
  type: "set",
2041
2048
  key: "value",
2042
- newValue: newVal
2049
+ newValue: newVal,
2050
+ oldValue: oldVal
2043
2051
  } : void 0
2044
2052
  );
2045
2053
  }
@@ -2062,14 +2070,14 @@ const _bem = (namespace, block, blockSuffix, element, modifier) => {
2062
2070
  };
2063
2071
  const namespaceContextKey = Symbol("namespaceContextKey");
2064
2072
  const useGetDerivedNamespace = (namespaceOverrides) => {
2065
- const derivedNamespace = namespaceOverrides || (getCurrentInstance() ? inject(namespaceContextKey, ref$1(defaultNamespace)) : ref$1(defaultNamespace));
2073
+ const derivedNamespace = (getCurrentInstance() ? inject(namespaceContextKey, ref$1(defaultNamespace)) : ref$1(defaultNamespace));
2066
2074
  const namespace = computed$1(() => {
2067
2075
  return unref$1(derivedNamespace) || defaultNamespace;
2068
2076
  });
2069
2077
  return namespace;
2070
2078
  };
2071
2079
  const useNamespace = (block, namespaceOverrides) => {
2072
- const namespace = useGetDerivedNamespace(namespaceOverrides);
2080
+ const namespace = useGetDerivedNamespace();
2073
2081
  const b = (blockSuffix = "") => _bem(namespace.value, block, blockSuffix, "", "");
2074
2082
  const e = (element) => element ? _bem(namespace.value, block, "", element, "") : "";
2075
2083
  const m = (modifier) => modifier ? _bem(namespace.value, block, "", "", modifier) : "";
@@ -2160,7 +2168,7 @@ const useLockscreen = (trigger, options = {}) => {
2160
2168
 
2161
2169
  const useSameTarget = (handleClick) => {
2162
2170
  if (!handleClick) {
2163
- return { onClick: NOOP$1, onMousedown: NOOP$1, onMouseup: NOOP$1 };
2171
+ return { onClick: NOOP, onMousedown: NOOP, onMouseup: NOOP };
2164
2172
  }
2165
2173
  let mousedownTarget = false;
2166
2174
  let mouseupTarget = false;
@@ -2229,7 +2237,7 @@ const zIndex = ref$1(0);
2229
2237
  const defaultInitialZIndex = 2e3;
2230
2238
  const zIndexContextKey = Symbol("zIndexContextKey");
2231
2239
  const useZIndex = (zIndexOverrides) => {
2232
- const zIndexInjection = zIndexOverrides || (getCurrentInstance() ? inject(zIndexContextKey, void 0) : void 0);
2240
+ const zIndexInjection = (getCurrentInstance() ? inject(zIndexContextKey, void 0) : void 0);
2233
2241
  const initialZIndex = computed$1(() => {
2234
2242
  const zIndexFromInjection = unref$1(zIndexInjection);
2235
2243
  return isNumber(zIndexFromInjection) ? zIndexFromInjection : defaultInitialZIndex;
@@ -2251,13 +2259,11 @@ const configProviderContextKey = Symbol();
2251
2259
  const globalConfig = ref$1();
2252
2260
  function useGlobalConfig(key, defaultValue = void 0) {
2253
2261
  const config = getCurrentInstance() ? inject(configProviderContextKey, globalConfig) : globalConfig;
2254
- if (key) {
2262
+ {
2255
2263
  return computed$1(() => {
2256
2264
  var _a, _b;
2257
2265
  return (_b = (_a = config.value) == null ? void 0 : _a[key]) != null ? _b : defaultValue;
2258
2266
  });
2259
- } else {
2260
- return config;
2261
2267
  }
2262
2268
  }
2263
2269
 
@@ -2697,10 +2703,10 @@ const _sfc_main$3 = defineComponent({
2697
2703
  };
2698
2704
  }
2699
2705
  });
2700
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
2706
+ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
2701
2707
  return renderSlot(_ctx.$slots, "default", { handleKeydown: _ctx.onKeydown });
2702
2708
  }
2703
- var ElFocusTrap = /* @__PURE__ */ _export_sfc$1(_sfc_main$3, [["render", _sfc_render], ["__file", "/home/runner/work/element-plus/element-plus/packages/components/focus-trap/src/focus-trap.vue"]]);
2709
+ var ElFocusTrap = /* @__PURE__ */ _export_sfc$1(_sfc_main$3, [["render", _sfc_render$1], ["__file", "/home/runner/work/element-plus/element-plus/packages/components/focus-trap/src/focus-trap.vue"]]);
2704
2710
 
2705
2711
  const overlayProps = buildProps({
2706
2712
  mask: {
@@ -3271,29 +3277,123 @@ var img$1 = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAV4AAADICAYAAACgY4nwA
3271
3277
 
3272
3278
  var img = "data:image/png;base64,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";
3273
3279
 
3274
- const _hoisted_1 = {
3275
- key: 0,
3276
- class: "das-dialog__notice-bg"
3280
+ const sendMessageToMainApp = (type, data) => {
3281
+ const { __IN_DAS_MICRO_APP, __DAS_MAIN_APP_HREF } = window;
3282
+ if (!__IN_DAS_MICRO_APP || !__DAS_MAIN_APP_HREF) return;
3283
+ const { origin } = new URL(__DAS_MAIN_APP_HREF);
3284
+ window.top?.postMessage({ type, data }, origin);
3277
3285
  };
3278
- const _hoisted_2 = ["src"];
3279
- const _hoisted_3 = {
3280
- key: 0,
3281
- class: "das-dialog-box"
3286
+ const addEventFromMainApp = (type) => {
3287
+ let handler;
3288
+ const listen = (cb) => {
3289
+ handler = (e) => {
3290
+ const { type: messageType, data } = e.data || {};
3291
+ if (messageType !== type) return;
3292
+ cb(data);
3293
+ };
3294
+ window.addEventListener("message", handler, false);
3295
+ };
3296
+ const remove = () => {
3297
+ if (!handler) return;
3298
+ window.removeEventListener("message", handler, false);
3299
+ };
3300
+ return { listen, remove };
3282
3301
  };
3283
- const _hoisted_4 = {
3284
- key: 0,
3285
- class: "das-dialog__feed-img"
3302
+ const microFrontend = {
3303
+ sendMessageToMainApp,
3304
+ setMainAppOverlay: (visible, style) => {
3305
+ sendMessageToMainApp("bodyOverlay", { visible, style });
3306
+ },
3307
+ addEventFromMainApp,
3308
+ getMicroAppContainerRect: () => {
3309
+ return window.__DAS_MICRO_APP_CONTAINER_RECT || { top: 0, left: 0 };
3310
+ }
3286
3311
  };
3287
- const _hoisted_5 = ["src"];
3312
+
3313
+ const instances = {};
3314
+ const useMicroAppDialog = (options) => {
3315
+ const instanceId = (/* @__PURE__ */ new Date()).getTime() + Math.random().toString(36).slice(-8);
3316
+ const { dialogWidth, dialogHeight } = options || {};
3317
+ const microAppTranslateX = ref$1(0);
3318
+ const microAppTranslateY = ref$1(0);
3319
+ const microAppMaxWidth = ref$1(null);
3320
+ const microAppMaxHeight = ref$1(null);
3321
+ const microAppStyle = computed$1(() => {
3322
+ const style = {
3323
+ right: `${microAppTranslateX.value}px`,
3324
+ top: `${microAppTranslateY.value}px`
3325
+ };
3326
+ if (microAppMaxWidth.value) style["maxWidth"] = `${microAppMaxWidth.value}px`;
3327
+ if (microAppMaxHeight.value) style["maxHeight"] = `${microAppMaxHeight.value}px`;
3328
+ return style;
3329
+ });
3330
+ const setStyle = async (e) => {
3331
+ let translateX = e.x / 2;
3332
+ let translateY = e.y / 2;
3333
+ microAppMaxWidth.value = null;
3334
+ microAppMaxHeight.value = null;
3335
+ let currentDialogWidth = dialogWidth.value;
3336
+ let currentDialogHeight = dialogHeight.value;
3337
+ if ((document.documentElement.scrollWidth - currentDialogWidth) / 2 < e.x / 2) {
3338
+ currentDialogWidth = document.documentElement.scrollWidth - e.x - 20;
3339
+ microAppMaxWidth.value = currentDialogWidth;
3340
+ }
3341
+ if ((document.documentElement.scrollHeight - currentDialogHeight) / 2 < e.y / 2) {
3342
+ currentDialogHeight = document.documentElement.scrollHeight - e.y - 20;
3343
+ microAppMaxHeight.value = currentDialogHeight;
3344
+ }
3345
+ const innerLeft = (e.width - currentDialogWidth) / 2;
3346
+ if (translateX >= innerLeft) {
3347
+ translateX = innerLeft - 10;
3348
+ if (innerLeft < 0) translateX = -10;
3349
+ }
3350
+ const innerTop = (e.height - currentDialogHeight) / 2;
3351
+ if (translateY >= innerTop) {
3352
+ translateY = innerTop - 10;
3353
+ if (innerTop < 0) translateY = -10;
3354
+ }
3355
+ microAppTranslateX.value = translateX;
3356
+ microAppTranslateY.value = -translateY;
3357
+ };
3358
+ const resetStyle = () => {
3359
+ microAppTranslateX.value = 0;
3360
+ microAppTranslateY.value = 0;
3361
+ microAppMaxWidth.value = null;
3362
+ microAppMaxHeight.value = null;
3363
+ };
3364
+ const resizeEvent = microFrontend.addEventFromMainApp("resize");
3365
+ const onOpen = async () => {
3366
+ const microAppContainerRect = microFrontend.getMicroAppContainerRect();
3367
+ setStyle(microAppContainerRect);
3368
+ resizeEvent.listen((e) => {
3369
+ window.__DAS_MICRO_APP_CONTAINER_RECT = e;
3370
+ setStyle(e);
3371
+ });
3372
+ instances[instanceId] = true;
3373
+ microFrontend.setMainAppOverlay(true);
3374
+ };
3375
+ const onClose = (destroy) => {
3376
+ if (instances[instanceId]) delete instances[instanceId];
3377
+ if (Object.keys(instances).length === 0) {
3378
+ microFrontend.setMainAppOverlay(destroy ?? false);
3379
+ }
3380
+ resizeEvent.remove();
3381
+ setTimeout(() => {
3382
+ resetStyle();
3383
+ }, 300);
3384
+ };
3385
+ return { instanceId, microAppStyle, microAppMaxWidth, microAppMaxHeight, onOpen, onClose };
3386
+ };
3387
+
3288
3388
  const __default__ = {
3289
3389
  name: "DasDialog"
3290
3390
  };
3291
3391
  var _sfc_main = /* @__PURE__ */ defineComponent({
3292
3392
  ...__default__,
3293
- props: {
3393
+ props: /* @__PURE__ */ mergeModels({
3394
+ modelValue: { type: Boolean, required: true },
3294
3395
  type: { type: String, required: false, default: "basic" },
3295
3396
  feedType: { type: String, required: false, default: "primary" },
3296
- customClass: { type: String, required: false, default: "" },
3297
3397
  title: { type: String, required: false },
3298
3398
  headerStyle: { type: null, required: false },
3299
3399
  bodyStyle: { type: null, required: false },
@@ -3308,11 +3408,18 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
3308
3408
  closeOnClickModal: { type: Boolean, required: false, default: false },
3309
3409
  closeOnPressEscape: { type: Boolean, required: false, default: true },
3310
3410
  loading: { type: Boolean, required: false, default: false }
3311
- },
3312
- emits: ["cancel", "confirm"],
3313
- setup(__props, { emit: __emit }) {
3411
+ }, {
3412
+ "modelValue": {},
3413
+ "modelModifiers": {}
3414
+ }),
3415
+ emits: /* @__PURE__ */ mergeModels(["cancel", "confirm", "open", "close"], ["update:modelValue"]),
3416
+ setup(__props, { expose: __expose, emit: __emit }) {
3417
+ __expose();
3418
+ const modelValue = useModel(__props, "modelValue");
3314
3419
  let props = __props;
3315
3420
  const $emit = __emit;
3421
+ const customClass = computed$1(() => props.customClass);
3422
+ const type = computed$1(() => props.type);
3316
3423
  const sizeMap = {
3317
3424
  mini: {
3318
3425
  width: 460,
@@ -3329,6 +3436,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
3329
3436
  large: {
3330
3437
  width: 980,
3331
3438
  height: 750
3439
+ },
3440
+ max: {
3441
+ width: 1170,
3442
+ height: 689
3332
3443
  }
3333
3444
  };
3334
3445
  const feedbackDefHeight = ref$1(340);
@@ -3336,30 +3447,37 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
3336
3447
  const noticeDefWidth = ref$1(368);
3337
3448
  const noticeDefHeight = ref$1(368);
3338
3449
  const dialogWidth = computed$1(() => {
3339
- if (props.width) {
3340
- return props.width;
3341
- } else if (props.type == "feedback") {
3342
- return feedbackDefWidth.value;
3343
- } else if (props.type == "notice") {
3344
- return noticeDefWidth.value;
3345
- } else {
3346
- return sizeMap[props.size].width;
3450
+ let width = sizeMap[props.size].width;
3451
+ if (props.type == "feedback") width = feedbackDefWidth.value;
3452
+ if (props.type == "notice") width = noticeDefWidth.value;
3453
+ if (props.width) width = props.width;
3454
+ if (typeof width === "string") {
3455
+ if (width?.endsWith?.("px")) width = Number(width.replace("px", ""));
3456
+ if (width?.endsWith?.("vh")) width = Number(width.replace("vh", "")) * document.documentElement.clientHeight;
3457
+ if (width?.endsWith?.("vw")) width = Number(width.replace("vw", "")) * document.documentElement.clientWidth;
3458
+ if (width?.endsWith?.("%")) width = Number(width.replace("%", "")) * document.documentElement.clientWidth;
3459
+ width = Number(width);
3347
3460
  }
3461
+ return width;
3348
3462
  });
3349
3463
  const dialogHeight = computed$1(() => {
3350
- if (props.height) {
3351
- return props.height;
3352
- } else if (props.type == "feedback") {
3353
- return feedbackDefHeight.value;
3354
- } else if (props.type == "notice") {
3355
- return noticeDefHeight.value;
3356
- } else {
3357
- return sizeMap[props.size].height;
3464
+ let height = sizeMap[props.size].height;
3465
+ if (props.type == "feedback") height = feedbackDefHeight.value;
3466
+ if (props.type == "notice") height = noticeDefHeight.value;
3467
+ if (props.height) height = props.height;
3468
+ if (typeof height === "string") {
3469
+ if (height?.endsWith?.("px")) height = Number(height.replace("px", ""));
3470
+ if (height?.endsWith?.("vh")) height = Number(height.replace("vh", "")) * document.documentElement.clientHeight;
3471
+ if (height?.endsWith?.("vw")) height = Number(height.replace("vw", "")) * document.documentElement.clientWidth;
3472
+ if (height?.endsWith?.("%")) height = Number(height.replace("%", "")) * document.documentElement.clientHeight;
3473
+ height = Number(height);
3358
3474
  }
3475
+ return height;
3359
3476
  });
3360
3477
  const dialogStyle = computed$1(() => {
3361
3478
  return {
3362
- height: typeof dialogHeight.value == "number" ? dialogHeight.value + "px" : dialogHeight.value
3479
+ height: typeof dialogHeight.value == "number" ? dialogHeight.value + "px" : dialogHeight.value,
3480
+ flexShrink: 0
3363
3481
  };
3364
3482
  });
3365
3483
  const feedDefMap = ref$1({
@@ -3397,8 +3515,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
3397
3515
  const currNoticeBg = computed$1(() => {
3398
3516
  return props.noticeBg ? props.noticeBg : img;
3399
3517
  });
3400
- computed$1(() => {
3401
- return getVarValue(`--das-ui-color-${props.feedType == "delete" ? "primary" : props.feedType}`);
3518
+ const dotColor = computed$1(() => {
3519
+ return getVarValue(`--das-ui-color-${props.feedType == "delete" ? "primary" : props.feedType}`).value;
3402
3520
  });
3403
3521
  const cancel = () => {
3404
3522
  $emit("cancel");
@@ -3406,151 +3524,68 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
3406
3524
  const confirm = () => {
3407
3525
  $emit("confirm");
3408
3526
  };
3409
- return (_ctx, _cache) => {
3410
- return openBlock(), createElementBlock(
3411
- "div",
3412
- {
3413
- class: normalizeClass(["das-ui-dialog", _ctx.type])
3414
- },
3415
- [
3416
- createVNode(unref$1(ElDialog), mergeProps(_ctx.$attrs, {
3417
- width: dialogWidth.value,
3418
- "align-center": _ctx.alignCenter,
3419
- "close-on-click-modal": unref$1(props).closeOnClickModal,
3420
- "close-on-press-escape": unref$1(props).closeOnPressEscape,
3421
- style: dialogStyle.value,
3422
- class: ["das-ui-dialog", [_ctx.customClass, _ctx.type]]
3423
- }), {
3424
- header: withCtx(() => [
3425
- createElementVNode(
3426
- "div",
3427
- {
3428
- class: normalizeClass(["das-dialog__header", _ctx.feedType]),
3429
- style: normalizeStyle(_ctx.headerStyle)
3430
- },
3431
- [
3432
- _ctx.type === "notice" ? (openBlock(), createElementBlock("div", _hoisted_1, [
3433
- renderSlot(_ctx.$slots, "noticeBg", {}, () => [
3434
- createElementVNode("img", {
3435
- src: currNoticeBg.value,
3436
- alt: ""
3437
- }, null, 8, _hoisted_2)
3438
- ], true)
3439
- ])) : createCommentVNode("v-if", true),
3440
- renderSlot(_ctx.$slots, "header", {}, () => [
3441
- createElementVNode(
3442
- "span",
3443
- null,
3444
- toDisplayString(currTitle.value),
3445
- 1
3446
- /* TEXT */
3447
- )
3448
- ], true)
3449
- ],
3450
- 6
3451
- /* CLASS, STYLE */
3452
- )
3453
- ]),
3454
- default: withCtx(() => [
3455
- createVNode(unref$1(DasSpin), {
3456
- spinning: unref$1(props).loading
3457
- }, {
3458
- default: withCtx(() => [
3459
- _ctx.$attrs.modelValue || _ctx.$attrs["model-value"] ? (openBlock(), createElementBlock("div", _hoisted_3, [
3460
- withDirectives((openBlock(), createElementBlock(
3461
- "div",
3462
- {
3463
- class: "das-dialog__body",
3464
- style: normalizeStyle(_ctx.bodyStyle)
3465
- },
3466
- [
3467
- _ctx.type == "feedback" && _ctx.isFeedbackImg ? (openBlock(), createElementBlock("div", _hoisted_4, [
3468
- renderSlot(_ctx.$slots, "feedbackImg", {}, () => [
3469
- createElementVNode("img", {
3470
- src: currFeedbackIcon.value,
3471
- alt: ""
3472
- }, null, 8, _hoisted_5)
3473
- ], true)
3474
- ])) : createCommentVNode("v-if", true),
3475
- renderSlot(_ctx.$slots, "default", {}, void 0, true)
3476
- ],
3477
- 4
3478
- /* STYLE */
3479
- )), [
3480
- [unref$1(vOverlay)]
3481
- ]),
3482
- _ctx.$slots.footer ? (openBlock(), createElementBlock(
3483
- "div",
3484
- {
3485
- key: 0,
3486
- class: "das-dialog__footer",
3487
- style: normalizeStyle(_ctx.footerStyle)
3488
- },
3489
- [
3490
- renderSlot(_ctx.$slots, "footer", {}, void 0, true)
3491
- ],
3492
- 4
3493
- /* STYLE */
3494
- )) : _ctx.defaultFooter ? (openBlock(), createElementBlock(
3495
- "div",
3496
- {
3497
- key: 1,
3498
- class: "das-dialog__footer",
3499
- style: normalizeStyle(_ctx.footerStyle)
3500
- },
3501
- [
3502
- renderSlot(_ctx.$slots, "footer", {}, () => [
3503
- createElementVNode("div", null, [
3504
- createVNode(unref$1(DasButton), {
3505
- size: "middle",
3506
- onClick: cancel
3507
- }, {
3508
- default: withCtx(() => [
3509
- createTextVNode(
3510
- toDisplayString(unref$1(i18n$1)("dialog-close-text").value),
3511
- 1
3512
- /* TEXT */
3513
- )
3514
- ]),
3515
- _: 1
3516
- /* STABLE */
3517
- }),
3518
- createVNode(unref$1(DasButton), {
3519
- btnType: "primary",
3520
- size: "middle",
3521
- style: { "margin-left": "10px" },
3522
- onClick: confirm
3523
- }, {
3524
- default: withCtx(() => [
3525
- createTextVNode(
3526
- toDisplayString(unref$1(t)("dialog-confirm-text")),
3527
- 1
3528
- /* TEXT */
3529
- )
3530
- ]),
3531
- _: 1
3532
- /* STABLE */
3533
- })
3534
- ])
3535
- ], true)
3536
- ],
3537
- 4
3538
- /* STYLE */
3539
- )) : createCommentVNode("v-if", true)
3540
- ])) : createCommentVNode("v-if", true)
3541
- ]),
3542
- _: 3
3543
- /* FORWARDED */
3544
- }, 8, ["spinning"])
3545
- ]),
3546
- _: 3
3547
- /* FORWARDED */
3548
- }, 16, ["width", "align-center", "close-on-click-modal", "close-on-press-escape", "style", "class"])
3549
- ],
3550
- 2
3551
- /* CLASS */
3552
- );
3527
+ const { microAppStyle, onOpen, onClose } = useMicroAppDialog({
3528
+ dialogWidth,
3529
+ dialogHeight
3530
+ });
3531
+ watch(
3532
+ () => modelValue.value,
3533
+ (isOpen) => {
3534
+ if (isOpen) onOpen();
3535
+ if (!isOpen) onClose();
3536
+ }
3537
+ );
3538
+ const closeFromDeactivated = ref$1(false);
3539
+ const handleOpen = () => {
3540
+ closeFromDeactivated.value = false;
3541
+ onOpen();
3542
+ setTimeout(() => {
3543
+ $emit("open");
3544
+ }, 0);
3553
3545
  };
3546
+ const handleClose = () => {
3547
+ onClose();
3548
+ setTimeout(() => {
3549
+ if (closeFromDeactivated.value) return;
3550
+ $emit("close");
3551
+ }, 0);
3552
+ };
3553
+ onBeforeMount(() => {
3554
+ closeFromDeactivated.value = false;
3555
+ if (modelValue.value) onOpen();
3556
+ });
3557
+ onBeforeUnmount(() => {
3558
+ onClose("destroy");
3559
+ setTimeout(() => {
3560
+ onClose("destroy");
3561
+ }, 0);
3562
+ });
3563
+ onActivated(() => {
3564
+ closeFromDeactivated.value = false;
3565
+ });
3566
+ onDeactivated(() => {
3567
+ closeFromDeactivated.value = true;
3568
+ modelValue.value = false;
3569
+ });
3570
+ const __returned__ = { modelValue, get props() {
3571
+ return props;
3572
+ }, set props(v) {
3573
+ props = v;
3574
+ }, $emit, customClass, type, sizeMap, feedbackDefHeight, feedbackDefWidth, noticeDefWidth, noticeDefHeight, dialogWidth, dialogHeight, dialogStyle, feedDefMap, defaultTitle, currTitle, currFeedbackIcon, currNoticeBg, dotColor, cancel, confirm, microAppStyle, onOpen, onClose, closeFromDeactivated, handleOpen, handleClose, get ElDialog() {
3575
+ return ElDialog;
3576
+ }, get vOverlay() {
3577
+ return vOverlay;
3578
+ }, get DasSpin() {
3579
+ return DasSpin;
3580
+ }, get DasButton() {
3581
+ return DasButton;
3582
+ }, get i18n() {
3583
+ return i18n$1;
3584
+ }, get t() {
3585
+ return t;
3586
+ } };
3587
+ Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
3588
+ return __returned__;
3554
3589
  }
3555
3590
  });
3556
3591
 
@@ -3562,7 +3597,172 @@ var _export_sfc = (sfc, props) => {
3562
3597
  return target;
3563
3598
  };
3564
3599
 
3565
- var dialog = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-aaca839f"], ["__file", "E:\\company-code\\v6r3\\framework-3\\packages\\das-ui\\packages\\components\\dialog\\src\\Index.vue"]]);
3600
+ const _hoisted_1 = {
3601
+ key: 0,
3602
+ class: "das-dialog__notice-bg"
3603
+ };
3604
+ const _hoisted_2 = ["src"];
3605
+ const _hoisted_3 = {
3606
+ key: 0,
3607
+ class: "das-dialog-box"
3608
+ };
3609
+ const _hoisted_4 = {
3610
+ key: 0,
3611
+ class: "das-dialog__feed-img"
3612
+ };
3613
+ const _hoisted_5 = ["src"];
3614
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
3615
+ return openBlock(), createElementBlock(
3616
+ "div",
3617
+ {
3618
+ class: normalizeClass(["das-ui-dialog", $setup.type])
3619
+ },
3620
+ [
3621
+ createVNode($setup["ElDialog"], mergeProps(_ctx.$attrs, {
3622
+ modelValue: $setup.modelValue,
3623
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $setup.modelValue = $event),
3624
+ width: $setup.dialogWidth,
3625
+ "align-center": $props.alignCenter,
3626
+ "close-on-click-modal": $setup.props.closeOnClickModal,
3627
+ "close-on-press-escape": $setup.props.closeOnPressEscape,
3628
+ style: [$setup.dialogStyle, $setup.microAppStyle],
3629
+ class: ["das-ui-dialog", [$setup.customClass, $setup.type]],
3630
+ onOpen: $setup.handleOpen,
3631
+ onClose: $setup.handleClose
3632
+ }), {
3633
+ header: withCtx(() => [
3634
+ createElementVNode(
3635
+ "div",
3636
+ {
3637
+ class: normalizeClass(["das-dialog__header", $props.feedType]),
3638
+ style: normalizeStyle($props.headerStyle)
3639
+ },
3640
+ [
3641
+ $setup.type === "notice" ? (openBlock(), createElementBlock("div", _hoisted_1, [
3642
+ renderSlot(_ctx.$slots, "noticeBg", {}, () => [
3643
+ createElementVNode("img", {
3644
+ src: $setup.currNoticeBg,
3645
+ alt: ""
3646
+ }, null, 8, _hoisted_2)
3647
+ ], true)
3648
+ ])) : createCommentVNode("v-if", true),
3649
+ renderSlot(_ctx.$slots, "header", {}, () => [
3650
+ createElementVNode(
3651
+ "span",
3652
+ null,
3653
+ toDisplayString($setup.currTitle),
3654
+ 1
3655
+ /* TEXT */
3656
+ )
3657
+ ], true)
3658
+ ],
3659
+ 6
3660
+ /* CLASS, STYLE */
3661
+ )
3662
+ ]),
3663
+ default: withCtx(() => [
3664
+ createVNode($setup["DasSpin"], {
3665
+ spinning: $setup.props.loading
3666
+ }, {
3667
+ default: withCtx(() => [
3668
+ $setup.modelValue ? (openBlock(), createElementBlock("div", _hoisted_3, [
3669
+ createCommentVNode(" <DasScrollbar> "),
3670
+ withDirectives((openBlock(), createElementBlock(
3671
+ "div",
3672
+ {
3673
+ class: "das-dialog__body",
3674
+ style: normalizeStyle($props.bodyStyle)
3675
+ },
3676
+ [
3677
+ $setup.type == "feedback" && $props.isFeedbackImg ? (openBlock(), createElementBlock("div", _hoisted_4, [
3678
+ renderSlot(_ctx.$slots, "feedbackImg", {}, () => [
3679
+ createElementVNode("img", {
3680
+ src: $setup.currFeedbackIcon,
3681
+ alt: ""
3682
+ }, null, 8, _hoisted_5)
3683
+ ], true)
3684
+ ])) : createCommentVNode("v-if", true),
3685
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
3686
+ ],
3687
+ 4
3688
+ /* STYLE */
3689
+ )), [
3690
+ [$setup["vOverlay"], { usePrevOverlay: true }]
3691
+ ]),
3692
+ createCommentVNode(" </DasScrollbar> "),
3693
+ _ctx.$slots.footer ? (openBlock(), createElementBlock(
3694
+ "div",
3695
+ {
3696
+ key: 0,
3697
+ class: "das-dialog__footer",
3698
+ style: normalizeStyle($props.footerStyle)
3699
+ },
3700
+ [
3701
+ renderSlot(_ctx.$slots, "footer", {}, void 0, true)
3702
+ ],
3703
+ 4
3704
+ /* STYLE */
3705
+ )) : $props.defaultFooter ? (openBlock(), createElementBlock(
3706
+ "div",
3707
+ {
3708
+ key: 1,
3709
+ class: "das-dialog__footer",
3710
+ style: normalizeStyle($props.footerStyle)
3711
+ },
3712
+ [
3713
+ renderSlot(_ctx.$slots, "footer", {}, () => [
3714
+ createElementVNode("div", null, [
3715
+ createVNode($setup["DasButton"], {
3716
+ size: "middle",
3717
+ onClick: $setup.cancel
3718
+ }, {
3719
+ default: withCtx(() => [
3720
+ createTextVNode(
3721
+ toDisplayString($setup.i18n("dialog-close-text").value),
3722
+ 1
3723
+ /* TEXT */
3724
+ )
3725
+ ]),
3726
+ _: 1
3727
+ /* STABLE */
3728
+ }),
3729
+ createVNode($setup["DasButton"], {
3730
+ btnType: "primary",
3731
+ size: "middle",
3732
+ style: { "margin-left": "10px" },
3733
+ onClick: $setup.confirm
3734
+ }, {
3735
+ default: withCtx(() => [
3736
+ createTextVNode(
3737
+ toDisplayString($setup.t("dialog-confirm-text")),
3738
+ 1
3739
+ /* TEXT */
3740
+ )
3741
+ ]),
3742
+ _: 1
3743
+ /* STABLE */
3744
+ })
3745
+ ])
3746
+ ], true)
3747
+ ],
3748
+ 4
3749
+ /* STYLE */
3750
+ )) : createCommentVNode("v-if", true)
3751
+ ])) : createCommentVNode("v-if", true)
3752
+ ]),
3753
+ _: 3
3754
+ /* FORWARDED */
3755
+ }, 8, ["spinning"])
3756
+ ]),
3757
+ _: 3
3758
+ /* FORWARDED */
3759
+ }, 16, ["modelValue", "width", "align-center", "close-on-click-modal", "close-on-press-escape", "style", "class"])
3760
+ ],
3761
+ 2
3762
+ /* CLASS */
3763
+ );
3764
+ }
3765
+ var DasDialogComponent = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-aaca839f"], ["__file", "/Users/xiecp/das/das-fe/framework/packages/das-ui/packages/components/dialog/src/Index.vue"]]);
3566
3766
 
3567
3767
  var theme = {
3568
3768
  "--das-ui-dialog-title": getVar("--das-ui-color-normal"),
@@ -3606,7 +3806,7 @@ var i18n = {
3606
3806
 
3607
3807
  setThemeRule(theme);
3608
3808
  setI18nRule(i18n);
3609
- const DasDialog = withInstall$1(dialog);
3809
+ const DasDialog = withInstall$1(DasDialogComponent);
3610
3810
  var index = { name: "dialog \u5F39\u7A97" };
3611
3811
 
3612
3812
  export { DasDialog, index as default };