star-horse-lowcode 2.7.62 → 2.7.65

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 (221) hide show
  1. package/.env.development +3 -0
  2. package/.env.production +3 -0
  3. package/.eslintrc-auto-import.json +77 -0
  4. package/.gitignore +27 -0
  5. package/.idea/.gitignore +5 -0
  6. package/.idea/MarsCodeWorkspaceAppSettings.xml +6 -0
  7. package/.idea/inspectionProfiles/Project_Default.xml +7 -0
  8. package/.idea/modules.xml +8 -0
  9. package/.idea/testcode.iml +12 -0
  10. package/.idea/vcs.xml +6 -0
  11. package/.idea/watcherTasks.xml +4 -0
  12. package/.idea/workspace.xml +207 -0
  13. package/.npmignore +21 -0
  14. package/.prettierignore +26 -0
  15. package/README.md +2 -0
  16. package/auto-imports.d.ts +137 -0
  17. package/components.d.ts +189 -0
  18. package/dist/assets/index.css +1 -1
  19. package/dist/index.es.js +941 -720
  20. package/dist/types/index.d.ts +8 -8
  21. package/eslint.config.js +37 -0
  22. package/index.html +14 -0
  23. package/package-lock.json +8276 -0
  24. package/package.json +6 -6
  25. package/prettier.config.js +20 -0
  26. package/public/logo.svg +660 -0
  27. package/src/App.vue +11 -0
  28. package/src/api/date_utils.ts +219 -0
  29. package/src/api/finger_utils.ts +71 -0
  30. package/src/api/form_utils.ts +281 -0
  31. package/src/api/jquery.min.js +2 -0
  32. package/src/api/pcas-code.json +1 -0
  33. package/src/api/settings.ts +81 -0
  34. package/src/api/star_horse_apis.ts +196 -0
  35. package/src/api/star_horse_utils.ts +797 -0
  36. package/src/api/system.ts +351 -0
  37. package/src/api/user_func.ts +147 -0
  38. package/src/api/valid_utils.ts +165 -0
  39. package/src/assets/css/index.scss +908 -0
  40. package/src/assets/icons.css +574 -0
  41. package/src/assets/star-horse-icons.woff +0 -0
  42. package/src/components/comp/ShDynamicForm.vue +160 -0
  43. package/src/components/comp/ShForm.vue +30 -0
  44. package/src/components/comp/ShTableListColumn.vue +61 -0
  45. package/src/components/comp/StarHorseDataSelector.vue +139 -0
  46. package/src/components/comp/StarHorseDataView.vue +110 -0
  47. package/src/components/comp/StarHorseDataViewItems.vue +61 -0
  48. package/src/components/comp/StarHorseDataViewTable.vue +102 -0
  49. package/src/components/comp/StarHorseDialog.vue +383 -0
  50. package/src/components/comp/StarHorseDraggable.vue +401 -0
  51. package/src/components/comp/StarHorseForm.vue +458 -0
  52. package/src/components/comp/StarHorseFormItem.vue +82 -0
  53. package/src/components/comp/StarHorseFormList.vue +516 -0
  54. package/src/components/comp/StarHorseFormTable.vue +56 -0
  55. package/src/components/comp/StarHorseIcon.vue +76 -0
  56. package/src/components/comp/StarHorseItem.vue +302 -0
  57. package/src/components/comp/StarHorseJsonEditor.vue +115 -0
  58. package/src/components/comp/StarHorsePopover.vue +66 -0
  59. package/src/components/comp/StarHorseSearchComp.vue +253 -0
  60. package/src/components/comp/StarHorseStaticTable.vue +395 -0
  61. package/src/components/comp/StarHorseTableColumn.vue +249 -0
  62. package/src/components/comp/StarHorseTableComp.vue +1193 -0
  63. package/src/components/comp/StarHorseTableViewColumn.vue +61 -0
  64. package/src/components/comp/StarHorseTree.vue +494 -0
  65. package/src/components/comp/index.ts +22 -0
  66. package/src/components/comp/items/UTableColumn.vue +65 -0
  67. package/src/components/comp/items/boxItem.vue +98 -0
  68. package/src/components/comp/items/callitem.ts +9 -0
  69. package/src/components/comp/items/cardItem.vue +152 -0
  70. package/src/components/comp/items/collapseItem.vue +134 -0
  71. package/src/components/comp/items/dytableItem.vue +135 -0
  72. package/src/components/comp/items/otherItem.vue +65 -0
  73. package/src/components/comp/items/tabItem.vue +155 -0
  74. package/src/components/comp/items/tabPanelItem.vue +110 -0
  75. package/src/components/comp/items/tableColumn.vue +129 -0
  76. package/src/components/comp/items/tableItem.vue +97 -0
  77. package/src/components/comp/items/tablebtn.vue +158 -0
  78. package/src/components/comp/items/viewBoxItem.vue +55 -0
  79. package/src/components/comp/items/viewCardItem.vue +47 -0
  80. package/src/components/comp/items/viewCollapseItem.vue +71 -0
  81. package/src/components/comp/items/viewDytableItem.vue +77 -0
  82. package/src/components/comp/items/viewOtherItem.vue +55 -0
  83. package/src/components/comp/items/viewTabItem.vue +77 -0
  84. package/src/components/comp/items/viewTabPanelItem.vue +54 -0
  85. package/src/components/comp/items/viewTableItem.vue +74 -0
  86. package/src/components/comp/selfcomp.ts +9 -0
  87. package/src/components/comp/utils/DataPicker.vue +302 -0
  88. package/src/components/comp/utils/DataTag.vue +51 -0
  89. package/src/components/cron/Crontab-Day.vue +230 -0
  90. package/src/components/cron/Crontab-Hour.vue +165 -0
  91. package/src/components/cron/Crontab-Min.vue +166 -0
  92. package/src/components/cron/Crontab-Month.vue +166 -0
  93. package/src/components/cron/Crontab-Result.vue +615 -0
  94. package/src/components/cron/Crontab-Second.vue +185 -0
  95. package/src/components/cron/Crontab-Week.vue +208 -0
  96. package/src/components/cron/Crontab-Year.vue +183 -0
  97. package/src/components/cron/Crontab.vue +474 -0
  98. package/src/components/enums/ModuleEnums.ts +10 -0
  99. package/src/components/enums/ServiceEnums.ts +18 -0
  100. package/src/components/formcomp/container/box-container.vue +162 -0
  101. package/src/components/formcomp/container/callitem.ts +9 -0
  102. package/src/components/formcomp/container/card-container.vue +170 -0
  103. package/src/components/formcomp/container/collapse-container.vue +133 -0
  104. package/src/components/formcomp/container/dytable-col.vue +448 -0
  105. package/src/components/formcomp/container/dytable-container.vue +57 -0
  106. package/src/components/formcomp/container/dytableUtils.ts +358 -0
  107. package/src/components/formcomp/container/group-box-container.vue +331 -0
  108. package/src/components/formcomp/container/index.ts +6 -0
  109. package/src/components/formcomp/container/tab-container.vue +153 -0
  110. package/src/components/formcomp/container/table-container.vue +249 -0
  111. package/src/components/formcomp/items/allitem.ts +9 -0
  112. package/src/components/formcomp/items/area-item.vue +116 -0
  113. package/src/components/formcomp/items/audio-item.vue +163 -0
  114. package/src/components/formcomp/items/autocomplete-item.vue +118 -0
  115. package/src/components/formcomp/items/barcode-item.vue +87 -0
  116. package/src/components/formcomp/items/base-json-item.vue +207 -0
  117. package/src/components/formcomp/items/button-item.vue +228 -0
  118. package/src/components/formcomp/items/cascade-item.vue +113 -0
  119. package/src/components/formcomp/items/checkbox-item.vue +97 -0
  120. package/src/components/formcomp/items/color-item.vue +70 -0
  121. package/src/components/formcomp/items/cron-item.vue +115 -0
  122. package/src/components/formcomp/items/datetime-item.vue +99 -0
  123. package/src/components/formcomp/items/depart-item.vue +51 -0
  124. package/src/components/formcomp/items/dialog-input-item.vue +207 -0
  125. package/src/components/formcomp/items/divider-item.vue +66 -0
  126. package/src/components/formcomp/items/html-item.vue +65 -0
  127. package/src/components/formcomp/items/htmleditor-item.vue +104 -0
  128. package/src/components/formcomp/items/icon-item.vue +195 -0
  129. package/src/components/formcomp/items/image-item.vue +247 -0
  130. package/src/components/formcomp/items/index.ts +44 -0
  131. package/src/components/formcomp/items/input-item.vue +150 -0
  132. package/src/components/formcomp/items/json-array-item.vue +67 -0
  133. package/src/components/formcomp/items/json-item.vue +66 -0
  134. package/src/components/formcomp/items/markdown-item.vue +77 -0
  135. package/src/components/formcomp/items/number-item.vue +94 -0
  136. package/src/components/formcomp/items/number-range-item.vue +278 -0
  137. package/src/components/formcomp/items/page-select-item.vue +407 -0
  138. package/src/components/formcomp/items/password-item.vue +71 -0
  139. package/src/components/formcomp/items/qrcode-item.vue +84 -0
  140. package/src/components/formcomp/items/radio-item.vue +112 -0
  141. package/src/components/formcomp/items/rate-item.vue +68 -0
  142. package/src/components/formcomp/items/select-item.vue +133 -0
  143. package/src/components/formcomp/items/signature-item.vue +216 -0
  144. package/src/components/formcomp/items/slider-item.vue +68 -0
  145. package/src/components/formcomp/items/starhorse-form-item.vue +334 -0
  146. package/src/components/formcomp/items/switch-item.vue +77 -0
  147. package/src/components/formcomp/items/tag-item.vue +77 -0
  148. package/src/components/formcomp/items/text-item.vue +75 -0
  149. package/src/components/formcomp/items/textarea-item.vue +85 -0
  150. package/src/components/formcomp/items/time-item.vue +77 -0
  151. package/src/components/formcomp/items/time-picker-item.vue +74 -0
  152. package/src/components/formcomp/items/transfer-item.vue +93 -0
  153. package/src/components/formcomp/items/tselect-item.vue +121 -0
  154. package/src/components/formcomp/items/unknown-item.vue +51 -0
  155. package/src/components/formcomp/items/upload-item.vue +189 -0
  156. package/src/components/formcomp/items/user-item.vue +177 -0
  157. package/src/components/formcomp/items/usercomp-item.vue +85 -0
  158. package/src/components/formcomp/items/view-markdown-item.vue +77 -0
  159. package/src/components/formcomp/utils/EditDataDialog.vue +67 -0
  160. package/src/components/formcomp/utils/FieldList.vue +125 -0
  161. package/src/components/formcomp/utils/ItemRelationEventUtils.ts +284 -0
  162. package/src/components/help.vue +31 -0
  163. package/src/components/menu/MenuItem.vue +95 -0
  164. package/src/components/menu/SubMenu.vue +68 -0
  165. package/src/components/menu/SubSystemMenu.vue +142 -0
  166. package/src/components/register.ts +24 -0
  167. package/src/components/system/ContentMenu.vue +260 -0
  168. package/src/components/system/StarHorseButtonList.vue +344 -0
  169. package/src/components/system/StarHorseMenu.vue +97 -0
  170. package/src/components/system/StarHorseSvg.vue +62 -0
  171. package/src/components/system/SystemComp.ts +9 -0
  172. package/src/components/system/index.ts +4 -0
  173. package/src/components/types/ApiUrls.ts +168 -0
  174. package/src/components/types/BtnAction.ts +51 -0
  175. package/src/components/types/BtnAuth.ts +43 -0
  176. package/src/components/types/CompInfo.ts +81 -0
  177. package/src/components/types/DialogProps.ts +55 -0
  178. package/src/components/types/DyCompField.ts +23 -0
  179. package/src/components/types/DynamicNode.ts +42 -0
  180. package/src/components/types/MenusInfo.ts +45 -0
  181. package/src/components/types/PageFieldInfo.ts +530 -0
  182. package/src/components/types/PageProps.ts +25 -0
  183. package/src/components/types/Params.ts +93 -0
  184. package/src/components/types/RuleType.ts +10 -0
  185. package/src/components/types/SearchProps.ts +42 -0
  186. package/src/components/types/ShortKey.ts +30 -0
  187. package/src/components/types/StarHorseType.ts +18 -0
  188. package/src/components/types/index.ts +15 -0
  189. package/src/config/element.ts +15 -0
  190. package/src/config/styles.ts +4 -0
  191. package/src/index.ts +98 -0
  192. package/src/install.ts +33 -0
  193. package/src/lang/en_US.ts +81 -0
  194. package/src/lang/index.ts +35 -0
  195. package/src/lang/zh_CN.ts +84 -0
  196. package/src/main.ts +57 -0
  197. package/src/plugins/AblesPlugin.ts +618 -0
  198. package/src/plugins/registerCompPlugin.ts +15 -0
  199. package/src/sample/test.vue +9 -0
  200. package/src/store/ButtonPermission.ts +101 -0
  201. package/src/store/ConsumerView.ts +52 -0
  202. package/src/store/ContinusConfig.ts +78 -0
  203. package/src/store/CopyerOperation.ts +74 -0
  204. package/src/store/DesignForm.ts +481 -0
  205. package/src/store/DesignPage.ts +59 -0
  206. package/src/store/DynamicForm.ts +241 -0
  207. package/src/store/GlobalConfig.ts +90 -0
  208. package/src/store/SelfOperation.ts +95 -0
  209. package/src/store/UserInfo.ts +88 -0
  210. package/src/store/index.ts +6 -0
  211. package/src/theme/localStorge.ts +16 -0
  212. package/src/theme/theme.ts +27 -0
  213. package/src/utils/FieldOperationUtils.ts +91 -0
  214. package/src/utils/auth.ts +83 -0
  215. package/src/utils/message.ts +69 -0
  216. package/src/utils/preview.ts +125 -0
  217. package/tsconfig.json +39 -0
  218. package/tsconfig.node.json +10 -0
  219. package/vite-env.d.ts +16 -0
  220. package/vite.config.ts +162 -0
  221. package/yarn.lock +4627 -0
package/dist/index.es.js CHANGED
@@ -238,7 +238,7 @@ var index_default = createPersistedState();
238
238
  const piniaInstance = createPinia();
239
239
  piniaInstance.use(index_default);
240
240
 
241
- const version$1 = "2.10.4";
241
+ const version$1 = "2.10.5";
242
242
 
243
243
  const INSTALLED_KEY = Symbol("INSTALLED_KEY");
244
244
 
@@ -6797,22 +6797,6 @@ function useWindowSize(options = {}) {
6797
6797
  return { width, height };
6798
6798
  }
6799
6799
 
6800
- class ElementPlusError extends Error {
6801
- constructor(m) {
6802
- super(m);
6803
- this.name = "ElementPlusError";
6804
- }
6805
- }
6806
- function throwError(scope, m) {
6807
- throw new ElementPlusError(`[${scope}] ${m}`);
6808
- }
6809
- function debugWarn(scope, message) {
6810
- if (process.env.NODE_ENV !== "production") {
6811
- const error = isString$4(scope) ? new ElementPlusError(`[${scope}] ${message}`) : scope;
6812
- console.warn(error);
6813
- }
6814
- }
6815
-
6816
6800
  const initial = {
6817
6801
  current: 0
6818
6802
  };
@@ -6833,10 +6817,7 @@ const useZIndex$1 = (zIndexOverrides) => {
6833
6817
  zIndex$1.value = increasingInjection.current;
6834
6818
  return currentZIndex.value;
6835
6819
  };
6836
- if (!isClient && !inject(ZINDEX_INJECTION_KEY)) {
6837
- debugWarn("ZIndexInjection", `Looks like you are using server rendering, you must provide a z-index provider to ensure the hydration process to be succeed
6838
- usage: app.provide(ZINDEX_INJECTION_KEY, { current: 0 })`);
6839
- }
6820
+ if (!isClient && !inject(ZINDEX_INJECTION_KEY)) ;
6840
6821
  return {
6841
6822
  initialZIndex,
6842
6823
  currentZIndex,
@@ -7100,13 +7081,17 @@ const useGlobalSize = () => {
7100
7081
  };
7101
7082
 
7102
7083
  const emptyValuesContextKey = Symbol("emptyValuesContextKey");
7103
- const SCOPE$a = "use-empty-values";
7104
7084
  const DEFAULT_EMPTY_VALUES = ["", void 0, null];
7105
7085
  const DEFAULT_VALUE_ON_CLEAR = void 0;
7106
7086
  const useEmptyValuesProps = buildProps({
7107
7087
  emptyValues: Array,
7108
7088
  valueOnClear: {
7109
- type: [String, Number, Boolean, Function],
7089
+ type: definePropType([
7090
+ String,
7091
+ Number,
7092
+ Boolean,
7093
+ Function
7094
+ ]),
7110
7095
  default: void 0,
7111
7096
  validator: (val) => isFunction$4(val) ? !val() : !val
7112
7097
  }
@@ -7129,9 +7114,7 @@ const useEmptyValues = (props, defaultValue) => {
7129
7114
  const isEmptyValue = (value) => {
7130
7115
  return emptyValues.value.includes(value);
7131
7116
  };
7132
- if (!emptyValues.value.includes(valueOnClear.value)) {
7133
- debugWarn(SCOPE$a, "value-on-clear should be a value of empty-values");
7134
- }
7117
+ if (!emptyValues.value.includes(valueOnClear.value)) ;
7135
7118
  return {
7136
7119
  emptyValues,
7137
7120
  valueOnClear,
@@ -7196,7 +7179,6 @@ const provideGlobalConfig = (config, app, global = false) => {
7196
7179
  const oldConfig = inSetup ? useGlobalConfig() : void 0;
7197
7180
  const provideFn = (_a = app == null ? void 0 : app.provide) != null ? _a : inSetup ? provide : void 0;
7198
7181
  if (!provideFn) {
7199
- debugWarn("provideGlobalConfig", "provideGlobalConfig() can only be used inside setup().");
7200
7182
  return;
7201
7183
  }
7202
7184
  const context = computed(() => {
@@ -7293,7 +7275,6 @@ function easeInOutCubic(t, b, c, d) {
7293
7275
  const rAF = (fn) => isClient ? window.requestAnimationFrame(fn) : setTimeout(fn, 16);
7294
7276
  const cAF = (handle) => isClient ? window.cancelAnimationFrame(handle) : clearTimeout(handle);
7295
7277
 
7296
- const SCOPE$9 = "utils/dom/style";
7297
7278
  const classNameToArray = (cls = "") => cls.split(" ").filter((item) => !!item.trim());
7298
7279
  const hasClass = (el, cls) => {
7299
7280
  if (!el || !cls)
@@ -7347,7 +7328,6 @@ function addUnit(value, defaultUnit = "px") {
7347
7328
  } else if (isString$4(value)) {
7348
7329
  return value;
7349
7330
  }
7350
- debugWarn(SCOPE$9, "binding value must be a string or number");
7351
7331
  }
7352
7332
 
7353
7333
  const isScroll = (el, isVertical) => {
@@ -7457,6 +7437,18 @@ const getScrollTop = (container) => {
7457
7437
  return container.scrollTop;
7458
7438
  };
7459
7439
 
7440
+ class ElementPlusError extends Error {
7441
+ constructor(m) {
7442
+ super(m);
7443
+ this.name = "ElementPlusError";
7444
+ }
7445
+ }
7446
+ function throwError(scope, m) {
7447
+ throw new ElementPlusError(`[${scope}] ${m}`);
7448
+ }
7449
+ function debugWarn(scope, message) {
7450
+ }
7451
+
7460
7452
  const COMPONENT_NAME$q = "ElAffix";
7461
7453
  const __default__$1_ = defineComponent({
7462
7454
  name: COMPONENT_NAME$q
@@ -8874,7 +8866,6 @@ const useAttrs = (params = {}) => {
8874
8866
  });
8875
8867
  const instance = getCurrentInstance();
8876
8868
  if (!instance) {
8877
- debugWarn("use-attrs", "getCurrentInstance() returned null. useAttrs() must be called at the top of a setup function");
8878
8869
  return computed(() => ({}));
8879
8870
  }
8880
8871
  return computed(() => {
@@ -8893,13 +8884,6 @@ const useIdInjection = () => {
8893
8884
  };
8894
8885
  const useId = (deterministicId) => {
8895
8886
  const idInjection = useIdInjection();
8896
- if (!isClient && idInjection === defaultIdInjection) {
8897
- debugWarn("IdInjection", `Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed
8898
- usage: app.provide(ID_INJECTION_KEY, {
8899
- prefix: number,
8900
- current: number,
8901
- })`);
8902
- }
8903
8887
  const namespace = useGetDerivedNamespace();
8904
8888
  const idRef = computedEager(() => unref(deterministicId) || `${namespace.value}-id-${idInjection.prefix}-${idInjection.current++}`);
8905
8889
  return idRef;
@@ -8927,6 +8911,20 @@ const useFormItemInputId = (props, {
8927
8911
  if (!disableIdManagement) {
8928
8912
  disableIdManagement = ref(false);
8929
8913
  }
8914
+ const instance = getCurrentInstance();
8915
+ const inLabel = () => {
8916
+ let parent = instance == null ? void 0 : instance.parent;
8917
+ while (parent) {
8918
+ if (parent.type.name === "ElFormItem") {
8919
+ return false;
8920
+ }
8921
+ if (parent.type.name === "ElLabelWrap") {
8922
+ return true;
8923
+ }
8924
+ parent = parent.parent;
8925
+ }
8926
+ return false;
8927
+ };
8930
8928
  const inputId = ref();
8931
8929
  let idUnwatch = void 0;
8932
8930
  const isLabeledByFormItem = computed(() => {
@@ -8937,7 +8935,7 @@ const useFormItemInputId = (props, {
8937
8935
  idUnwatch = watch([toRef(props, "id"), disableIdGeneration], ([id, disableIdGeneration2]) => {
8938
8936
  const newId = id != null ? id : !disableIdGeneration2 ? useId().value : void 0;
8939
8937
  if (newId !== inputId.value) {
8940
- if (formItemContext == null ? void 0 : formItemContext.removeInputId) {
8938
+ if ((formItemContext == null ? void 0 : formItemContext.removeInputId) && !inLabel()) {
8941
8939
  inputId.value && formItemContext.removeInputId(inputId.value);
8942
8940
  if (!(disableIdManagement == null ? void 0 : disableIdManagement.value) && !disableIdGeneration2 && newId) {
8943
8941
  formItemContext.addInputId(newId);
@@ -8983,8 +8981,6 @@ const useFormDisabled = (fallback) => {
8983
8981
 
8984
8982
  const FOCUSABLE_ELEMENT_SELECTORS = `a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])`;
8985
8983
  const isVisible = (element) => {
8986
- if (process.env.NODE_ENV === "test")
8987
- return true;
8988
8984
  const computed = getComputedStyle(element);
8989
8985
  return computed.position === "fixed" ? false : element.offsetParent !== null;
8990
8986
  };
@@ -9091,15 +9087,6 @@ function useFocusController(target, {
9091
9087
  useEventListener(wrapperRef, "focus", handleFocus, true);
9092
9088
  useEventListener(wrapperRef, "blur", handleBlur, true);
9093
9089
  useEventListener(wrapperRef, "click", handleClick, true);
9094
- if (process.env.NODE_ENV === "test") {
9095
- onMounted(() => {
9096
- const targetEl = isElement$1(target.value) ? target.value : document.querySelector("input,textarea");
9097
- if (targetEl) {
9098
- useEventListener(targetEl, "focus", handleFocus, true);
9099
- useEventListener(targetEl, "blur", handleBlur, true);
9100
- }
9101
- });
9102
- }
9103
9090
  return {
9104
9091
  isFocused,
9105
9092
  wrapperRef,
@@ -9239,7 +9226,7 @@ const _sfc_main$4m = /* @__PURE__ */ defineComponent({
9239
9226
  afterBlur() {
9240
9227
  var _a;
9241
9228
  if (props.validateEvent) {
9242
- (_a = elFormItem == null ? void 0 : elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "blur").catch((err) => debugWarn(err));
9229
+ (_a = elFormItem == null ? void 0 : elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "blur").catch((err) => debugWarn());
9243
9230
  }
9244
9231
  }
9245
9232
  });
@@ -9388,7 +9375,7 @@ const _sfc_main$4m = /* @__PURE__ */ defineComponent({
9388
9375
  var _a;
9389
9376
  nextTick(() => resizeTextarea());
9390
9377
  if (props.validateEvent) {
9391
- (_a = elFormItem == null ? void 0 : elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change").catch((err) => debugWarn(err));
9378
+ (_a = elFormItem == null ? void 0 : elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change").catch((err) => debugWarn());
9392
9379
  }
9393
9380
  });
9394
9381
  watch(nativeInputValue, () => setNativeInputValue());
@@ -9398,9 +9385,7 @@ const _sfc_main$4m = /* @__PURE__ */ defineComponent({
9398
9385
  resizeTextarea();
9399
9386
  });
9400
9387
  onMounted(() => {
9401
- if (!props.formatter && props.parser) {
9402
- debugWarn(COMPONENT_NAME$p, "If you set the parser, you also need to set the formatter.");
9403
- }
9388
+ if (!props.formatter && props.parser) ;
9404
9389
  setNativeInputValue();
9405
9390
  nextTick(resizeTextarea);
9406
9391
  });
@@ -9857,6 +9842,10 @@ const _sfc_main$4k = /* @__PURE__ */ defineComponent({
9857
9842
  var Bar = /* @__PURE__ */ _export_sfc$2(_sfc_main$4k, [["__file", "bar.vue"]]);
9858
9843
 
9859
9844
  const scrollbarProps = buildProps({
9845
+ distance: {
9846
+ type: Number,
9847
+ default: 0
9848
+ },
9860
9849
  height: {
9861
9850
  type: [String, Number],
9862
9851
  default: ""
@@ -9924,6 +9913,12 @@ const _sfc_main$4j = /* @__PURE__ */ defineComponent({
9924
9913
  let wrapScrollTop = 0;
9925
9914
  let wrapScrollLeft = 0;
9926
9915
  let direction = "";
9916
+ const distanceScrollState = {
9917
+ bottom: false,
9918
+ top: false,
9919
+ right: false,
9920
+ left: false
9921
+ };
9927
9922
  const scrollbarRef = ref();
9928
9923
  const wrapRef = ref();
9929
9924
  const resizeRef = ref();
@@ -9946,6 +9941,29 @@ const _sfc_main$4j = /* @__PURE__ */ defineComponent({
9946
9941
  const resizeKls = computed(() => {
9947
9942
  return [ns.e("view"), props.viewClass];
9948
9943
  });
9944
+ const shouldSkipDirection = (direction2) => {
9945
+ var _a;
9946
+ return (_a = distanceScrollState[direction2]) != null ? _a : false;
9947
+ };
9948
+ const DIRECTION_PAIRS = {
9949
+ top: "bottom",
9950
+ bottom: "top",
9951
+ left: "right",
9952
+ right: "left"
9953
+ };
9954
+ const updateTriggerStatus = (arrivedStates) => {
9955
+ const oppositeDirection = DIRECTION_PAIRS[direction];
9956
+ if (!oppositeDirection)
9957
+ return;
9958
+ const arrived = arrivedStates[direction];
9959
+ const oppositeArrived = arrivedStates[oppositeDirection];
9960
+ if (arrived && !distanceScrollState[direction]) {
9961
+ distanceScrollState[direction] = true;
9962
+ }
9963
+ if (!oppositeArrived && distanceScrollState[oppositeDirection]) {
9964
+ distanceScrollState[oppositeDirection] = false;
9965
+ }
9966
+ };
9949
9967
  const handleScroll = () => {
9950
9968
  var _a;
9951
9969
  if (wrapRef.value) {
@@ -9955,21 +9973,27 @@ const _sfc_main$4j = /* @__PURE__ */ defineComponent({
9955
9973
  wrapScrollTop = wrapRef.value.scrollTop;
9956
9974
  wrapScrollLeft = wrapRef.value.scrollLeft;
9957
9975
  const arrivedStates = {
9958
- bottom: wrapScrollTop + wrapRef.value.clientHeight >= wrapRef.value.scrollHeight,
9959
- top: wrapScrollTop <= 0 && prevTop !== 0,
9960
- right: wrapScrollLeft + wrapRef.value.clientWidth >= wrapRef.value.scrollWidth && prevLeft !== wrapScrollLeft,
9961
- left: wrapScrollLeft <= 0 && prevLeft !== 0
9976
+ bottom: wrapScrollTop + wrapRef.value.clientHeight >= wrapRef.value.scrollHeight - props.distance,
9977
+ top: wrapScrollTop <= props.distance && prevTop !== 0,
9978
+ right: wrapScrollLeft + wrapRef.value.clientWidth >= wrapRef.value.scrollWidth - props.distance && prevLeft !== wrapScrollLeft,
9979
+ left: wrapScrollLeft <= props.distance && prevLeft !== 0
9962
9980
  };
9981
+ emit("scroll", {
9982
+ scrollTop: wrapScrollTop,
9983
+ scrollLeft: wrapScrollLeft
9984
+ });
9963
9985
  if (prevTop !== wrapScrollTop) {
9964
9986
  direction = wrapScrollTop > prevTop ? "bottom" : "top";
9965
9987
  }
9966
9988
  if (prevLeft !== wrapScrollLeft) {
9967
9989
  direction = wrapScrollLeft > prevLeft ? "right" : "left";
9968
9990
  }
9969
- emit("scroll", {
9970
- scrollTop: wrapScrollTop,
9971
- scrollLeft: wrapScrollLeft
9972
- });
9991
+ if (props.distance > 0) {
9992
+ if (shouldSkipDirection(direction)) {
9993
+ return;
9994
+ }
9995
+ updateTriggerStatus(arrivedStates);
9996
+ }
9973
9997
  if (arrivedStates[direction])
9974
9998
  emit("end-reached", direction);
9975
9999
  }
@@ -9983,14 +10007,12 @@ const _sfc_main$4j = /* @__PURE__ */ defineComponent({
9983
10007
  }
9984
10008
  const setScrollTop = (value) => {
9985
10009
  if (!isNumber$2(value)) {
9986
- debugWarn(COMPONENT_NAME$n, "value must be a number");
9987
10010
  return;
9988
10011
  }
9989
10012
  wrapRef.value.scrollTop = value;
9990
10013
  };
9991
10014
  const setScrollLeft = (value) => {
9992
10015
  if (!isNumber$2(value)) {
9993
- debugWarn(COMPONENT_NAME$n, "value must be a number");
9994
10016
  return;
9995
10017
  }
9996
10018
  wrapRef.value.scrollLeft = value;
@@ -9998,6 +10020,7 @@ const _sfc_main$4j = /* @__PURE__ */ defineComponent({
9998
10020
  const update = () => {
9999
10021
  var _a;
10000
10022
  (_a = barRef.value) == null ? void 0 : _a.update();
10023
+ distanceScrollState[direction] = false;
10001
10024
  };
10002
10025
  watch(() => props.noresize, (noresize) => {
10003
10026
  if (noresize) {
@@ -10236,12 +10259,10 @@ const OnlyChild = defineComponent({
10236
10259
  if (!defaultSlot)
10237
10260
  return null;
10238
10261
  if (defaultSlot.length > 1) {
10239
- debugWarn(NAME, "requires exact only one valid child.");
10240
10262
  return null;
10241
10263
  }
10242
10264
  const firstLegitNode = findFirstLegitChild(defaultSlot);
10243
10265
  if (!firstLegitNode) {
10244
- debugWarn(NAME, "no valid child node found");
10245
10266
  return null;
10246
10267
  }
10247
10268
  return withDirectives(cloneVNode(firstLegitNode, attrs), [[forwardRefDirective]]);
@@ -10435,8 +10456,6 @@ const getVisibleElement = (elements, container) => {
10435
10456
  }
10436
10457
  };
10437
10458
  const isHidden = (element, container) => {
10438
- if (process.env.NODE_ENV === "test")
10439
- return false;
10440
10459
  if (getComputedStyle(element).visibility === "hidden")
10441
10460
  return true;
10442
10461
  while (element) {
@@ -11672,7 +11691,7 @@ const usePopperContainer = () => {
11672
11691
  onBeforeMount(() => {
11673
11692
  if (!isClient)
11674
11693
  return;
11675
- if (process.env.NODE_ENV === "test" || !document.body.querySelector(selector.value)) {
11694
+ if (!document.body.querySelector(selector.value)) {
11676
11695
  createContainer(id.value);
11677
11696
  }
11678
11697
  });
@@ -11715,11 +11734,6 @@ const _sfc_main$4b = /* @__PURE__ */ defineComponent({
11715
11734
  return props.transition || `${ns.namespace.value}-fade-in-linear`;
11716
11735
  });
11717
11736
  const persistentRef = computed(() => {
11718
- if (process.env.NODE_ENV === "test") {
11719
- if (!process.env.RUN_TEST_WITH_PERSISTENT) {
11720
- return true;
11721
- }
11722
- }
11723
11737
  return props.persistent;
11724
11738
  });
11725
11739
  onBeforeUnmount(() => {
@@ -11811,16 +11825,18 @@ const _sfc_main$4b = /* @__PURE__ */ defineComponent({
11811
11825
  to: unref(appendTo)
11812
11826
  }, {
11813
11827
  default: withCtx(() => [
11814
- createVNode(Transition, {
11828
+ unref(shouldRender) || !ariaHidden.value ? (openBlock(), createBlock(Transition, {
11829
+ key: 0,
11815
11830
  name: unref(transitionClass),
11831
+ appear: !unref(persistentRef),
11816
11832
  onAfterLeave: onTransitionLeave,
11817
11833
  onBeforeEnter,
11818
11834
  onAfterEnter: onAfterShow,
11819
- onBeforeLeave
11835
+ onBeforeLeave,
11836
+ persisted: ""
11820
11837
  }, {
11821
11838
  default: withCtx(() => [
11822
- unref(shouldRender) ? withDirectives((openBlock(), createBlock(unref(ElPopperContent), mergeProps({
11823
- key: 0,
11839
+ withDirectives(createVNode(unref(ElPopperContent), mergeProps({
11824
11840
  id: unref(id),
11825
11841
  ref_key: "contentRef",
11826
11842
  ref: contentRef
@@ -11853,12 +11869,12 @@ const _sfc_main$4b = /* @__PURE__ */ defineComponent({
11853
11869
  renderSlot(_ctx.$slots, "default")
11854
11870
  ]),
11855
11871
  _: 3
11856
- }, 16, ["id", "aria-label", "aria-hidden", "boundaries-padding", "fallback-placements", "gpu-acceleration", "offset", "placement", "popper-options", "arrow-offset", "strategy", "effect", "enterable", "pure", "popper-class", "popper-style", "reference-el", "trigger-target-el", "visible", "z-index", "onMouseenter", "onMouseleave", "onClose"])), [
11872
+ }, 16, ["id", "aria-label", "aria-hidden", "boundaries-padding", "fallback-placements", "gpu-acceleration", "offset", "placement", "popper-options", "arrow-offset", "strategy", "effect", "enterable", "pure", "popper-class", "popper-style", "reference-el", "trigger-target-el", "visible", "z-index", "onMouseenter", "onMouseleave", "onClose"]), [
11857
11873
  [vShow, unref(shouldShow)]
11858
- ]) : createCommentVNode("v-if", true)
11874
+ ])
11859
11875
  ]),
11860
11876
  _: 3
11861
- }, 8, ["name"])
11877
+ }, 8, ["name", "appear"])) : createCommentVNode("v-if", true)
11862
11878
  ]),
11863
11879
  _: 3
11864
11880
  }, 8, ["disabled", "to"]);
@@ -11910,12 +11926,8 @@ const _sfc_main$4a = /* @__PURE__ */ defineComponent({
11910
11926
  id,
11911
11927
  open: readonly(open),
11912
11928
  trigger: toRef(props, "trigger"),
11913
- onOpen: (event) => {
11914
- onOpen(event);
11915
- },
11916
- onClose: (event) => {
11917
- onClose(event);
11918
- },
11929
+ onOpen,
11930
+ onClose,
11919
11931
  onToggle: (event) => {
11920
11932
  if (unref(open)) {
11921
11933
  onClose(event);
@@ -12846,11 +12858,6 @@ const buttonGroupContextKey = Symbol("buttonGroupContextKey");
12846
12858
 
12847
12859
  const useDeprecated = ({ from, replacement, scope, version, ref, type = "API" }, condition) => {
12848
12860
  watch(() => unref(condition), (val) => {
12849
- if (val) {
12850
- debugWarn(scope, `[${type}] ${from} is about to be deprecated in version ${version}, please use ${replacement} instead.
12851
- For more detail, please visit: ${ref}
12852
- `);
12853
- }
12854
12861
  }, {
12855
12862
  immediate: true
12856
12863
  });
@@ -14680,14 +14687,12 @@ const useCalendar = (props, emit, componentName) => {
14680
14687
  const rangeArrDayjs = props.range.map((_) => dayjs(_).locale(lang.value));
14681
14688
  const [startDayjs, endDayjs] = rangeArrDayjs;
14682
14689
  if (startDayjs.isAfter(endDayjs)) {
14683
- debugWarn(componentName, "end time should be greater than start time");
14684
14690
  return [];
14685
14691
  }
14686
14692
  if (startDayjs.isSame(endDayjs, "month")) {
14687
14693
  return calculateValidatedDateRange(startDayjs, endDayjs);
14688
14694
  } else {
14689
14695
  if (startDayjs.add(1, "month").month() !== endDayjs.month()) {
14690
- debugWarn(componentName, "start time and end time interval must not exceed two months");
14691
14696
  return [];
14692
14697
  }
14693
14698
  return calculateValidatedDateRange(startDayjs, endDayjs);
@@ -14716,7 +14721,6 @@ const useCalendar = (props, emit, componentName) => {
14716
14721
  } else if (firstMonth + 2 === lastMonth || (firstMonth + 1) % 11 === lastMonth) {
14717
14722
  return threeConsecutiveMonth(firstDay, lastDay);
14718
14723
  } else {
14719
- debugWarn(componentName, "start time and end time interval must not exceed two months");
14720
14724
  return [];
14721
14725
  }
14722
14726
  };
@@ -14779,7 +14783,7 @@ const _sfc_main$40 = /* @__PURE__ */ defineComponent({
14779
14783
  realSelectedDay,
14780
14784
  selectDate,
14781
14785
  validatedRange
14782
- } = useCalendar(props, emit, COMPONENT_NAME$k);
14786
+ } = useCalendar(props, emit);
14783
14787
  const { t } = useLocale();
14784
14788
  const i18nDate = computed(() => {
14785
14789
  const pickedMonth = `el.datepicker.month${date.value.format("M")}`;
@@ -14910,7 +14914,7 @@ const cardProps = buildProps({
14910
14914
  shadow: {
14911
14915
  type: String,
14912
14916
  values: ["always", "hover", "never"],
14913
- default: "always"
14917
+ default: void 0
14914
14918
  }
14915
14919
  });
14916
14920
 
@@ -14921,10 +14925,15 @@ const _sfc_main$3$ = /* @__PURE__ */ defineComponent({
14921
14925
  ...__default__$1E,
14922
14926
  props: cardProps,
14923
14927
  setup(__props) {
14928
+ const globalConfig = useGlobalConfig("card");
14924
14929
  const ns = useNamespace("card");
14925
14930
  return (_ctx, _cache) => {
14931
+ var _a;
14926
14932
  return openBlock(), createElementBlock("div", {
14927
- class: normalizeClass([unref(ns).b(), unref(ns).is(`${_ctx.shadow}-shadow`)])
14933
+ class: normalizeClass([
14934
+ unref(ns).b(),
14935
+ unref(ns).is(`${_ctx.shadow || ((_a = unref(globalConfig)) == null ? void 0 : _a.shadow) || "always"}-shadow`)
14936
+ ])
14928
14937
  }, [
14929
14938
  _ctx.$slots.header || _ctx.header ? (openBlock(), createElementBlock("div", {
14930
14939
  key: 0,
@@ -15019,7 +15028,6 @@ const carouselEmits = {
15019
15028
  const carouselContextKey = Symbol("carouselContextKey");
15020
15029
  const CAROUSEL_ITEM_NAME = "ElCarouselItem";
15021
15030
 
15022
- const SCOPE$8 = "utils/vue/vnode";
15023
15031
  var PatchFlags = /* @__PURE__ */ ((PatchFlags2) => {
15024
15032
  PatchFlags2[PatchFlags2["TEXT"] = 1] = "TEXT";
15025
15033
  PatchFlags2[PatchFlags2["CLASS"] = 2] = "CLASS";
@@ -15047,7 +15055,6 @@ function isValidElementNode(node) {
15047
15055
  }
15048
15056
  const getNormalizedProps = (node) => {
15049
15057
  if (!isVNode(node)) {
15050
- debugWarn(SCOPE$8, "[getNormalizedProps] must be a VNode");
15051
15058
  return {};
15052
15059
  }
15053
15060
  const raw = node.props || {};
@@ -15223,7 +15230,6 @@ const useCarousel = (props, emit, componentName) => {
15223
15230
  }
15224
15231
  index = Number(index);
15225
15232
  if (Number.isNaN(index) || index !== Math.floor(index)) {
15226
- debugWarn(componentName, "index must be integer.");
15227
15233
  return;
15228
15234
  }
15229
15235
  const itemCount = items.value.length;
@@ -15440,7 +15446,7 @@ const _sfc_main$3_ = /* @__PURE__ */ defineComponent({
15440
15446
  ItemsSorter,
15441
15447
  throttledArrowClick,
15442
15448
  throttledIndicatorHover
15443
- } = useCarousel(props, emit, COMPONENT_NAME$j);
15449
+ } = useCarousel(props, emit);
15444
15450
  const ns = useNamespace("carousel");
15445
15451
  const { t } = useLocale();
15446
15452
  const carouselClasses = computed(() => {
@@ -15625,12 +15631,6 @@ const carouselItemProps = buildProps({
15625
15631
  const useCarouselItem = (props) => {
15626
15632
  const carouselContext = inject(carouselContextKey);
15627
15633
  const instance = getCurrentInstance();
15628
- if (!carouselContext) {
15629
- debugWarn(CAROUSEL_ITEM_NAME, "usage: <el-carousel></el-carousel-item></el-carousel>");
15630
- }
15631
- if (!instance) {
15632
- debugWarn(CAROUSEL_ITEM_NAME, "compositional hook can only be invoked inside setups");
15633
- }
15634
15634
  const carouselItemRef = ref();
15635
15635
  const hover = ref(false);
15636
15636
  const translate = ref(0);
@@ -15922,7 +15922,7 @@ const useCheckboxEvent = (props, {
15922
15922
  const validateEvent = computed(() => (checkboxGroup == null ? void 0 : checkboxGroup.validateEvent) || props.validateEvent);
15923
15923
  watch(() => props.modelValue, () => {
15924
15924
  if (validateEvent.value) {
15925
- formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn(err));
15925
+ formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn());
15926
15926
  }
15927
15927
  });
15928
15928
  return {
@@ -16355,9 +16355,9 @@ const _sfc_main$3W = /* @__PURE__ */ defineComponent({
16355
16355
  modelValue,
16356
16356
  changeEvent
16357
16357
  });
16358
- watch(() => props.modelValue, () => {
16359
- if (props.validateEvent) {
16360
- formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn(err));
16358
+ watch(() => props.modelValue, (newVal, oldValue) => {
16359
+ if (props.validateEvent && !isEqual$1(newVal, oldValue)) {
16360
+ formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn());
16361
16361
  }
16362
16362
  });
16363
16363
  return (_ctx, _cache) => {
@@ -16669,7 +16669,7 @@ const _sfc_main$3T = /* @__PURE__ */ defineComponent({
16669
16669
  }));
16670
16670
  watch(() => props.modelValue, () => {
16671
16671
  if (props.validateEvent) {
16672
- formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn(err));
16672
+ formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn());
16673
16673
  }
16674
16674
  });
16675
16675
  return (_ctx, _cache) => {
@@ -16696,6 +16696,8 @@ const ElRadio = withInstall$1(Radio, {
16696
16696
  const ElRadioGroup = withNoopInstall(RadioGroup);
16697
16697
  const ElRadioButton = withNoopInstall(RadioButton);
16698
16698
 
16699
+ const CASCADER_PANEL_INJECTION_KEY = Symbol();
16700
+
16699
16701
  function isVNodeEmpty(vnodes) {
16700
16702
  return !!(isArray$2(vnodes) ? vnodes.every(({
16701
16703
  type
@@ -16708,13 +16710,23 @@ var NodeContent$1 = defineComponent({
16708
16710
  type: Object,
16709
16711
  required: true
16710
16712
  },
16711
- renderLabelFn: Function
16713
+ disabled: Boolean
16712
16714
  },
16713
- setup(props) {
16715
+ setup(props, {
16716
+ emit
16717
+ }) {
16714
16718
  const ns = useNamespace("cascader-node");
16715
16719
  const {
16716
- renderLabelFn,
16717
- node
16720
+ config,
16721
+ renderLabelFn
16722
+ } = inject(CASCADER_PANEL_INJECTION_KEY);
16723
+ const {
16724
+ checkOnClickNode,
16725
+ checkOnClickLeaf
16726
+ } = config;
16727
+ const {
16728
+ node,
16729
+ disabled
16718
16730
  } = props;
16719
16731
  const {
16720
16732
  data,
@@ -16727,14 +16739,18 @@ var NodeContent$1 = defineComponent({
16727
16739
  });
16728
16740
  return isVNodeEmpty(renderLabel) ? nodeLabel : renderLabel != null ? renderLabel : nodeLabel;
16729
16741
  };
16742
+ function handleClick() {
16743
+ if ((checkOnClickNode || node.isLeaf && checkOnClickLeaf) && !disabled) {
16744
+ emit("handleSelectCheck", !node.checked);
16745
+ }
16746
+ }
16730
16747
  return () => createVNode("span", {
16731
- "class": ns.e("label")
16748
+ "class": ns.e("label"),
16749
+ "onClick": handleClick
16732
16750
  }, [label()]);
16733
16751
  }
16734
16752
  });
16735
16753
 
16736
- const CASCADER_PANEL_INJECTION_KEY = Symbol();
16737
-
16738
16754
  const __default__$1v = defineComponent({
16739
16755
  name: "ElCascaderNode"
16740
16756
  });
@@ -16755,6 +16771,7 @@ const _sfc_main$3S = /* @__PURE__ */ defineComponent({
16755
16771
  const isHoverMenu = computed(() => panel.isHoverMenu);
16756
16772
  const multiple = computed(() => panel.config.multiple);
16757
16773
  const checkStrictly = computed(() => panel.config.checkStrictly);
16774
+ const showPrefix = computed(() => panel.config.showPrefix);
16758
16775
  const checkedNodeId = computed(() => {
16759
16776
  var _a;
16760
16777
  return (_a = panel.checkedNodes[0]) == null ? void 0 : _a.uid;
@@ -16846,7 +16863,7 @@ const _sfc_main$3S = /* @__PURE__ */ defineComponent({
16846
16863
  onClick: handleClick
16847
16864
  }, [
16848
16865
  createCommentVNode(" prefix "),
16849
- unref(multiple) ? (openBlock(), createBlock(unref(ElCheckbox), {
16866
+ unref(multiple) && unref(showPrefix) ? (openBlock(), createBlock(unref(ElCheckbox), {
16850
16867
  key: 0,
16851
16868
  "model-value": __props.node.checked,
16852
16869
  indeterminate: __props.node.indeterminate,
@@ -16854,7 +16871,7 @@ const _sfc_main$3S = /* @__PURE__ */ defineComponent({
16854
16871
  onClick: withModifiers(() => {
16855
16872
  }, ["stop"]),
16856
16873
  "onUpdate:modelValue": handleSelectCheck
16857
- }, null, 8, ["model-value", "indeterminate", "disabled", "onClick"])) : unref(checkStrictly) ? (openBlock(), createBlock(unref(ElRadio), {
16874
+ }, null, 8, ["model-value", "indeterminate", "disabled", "onClick"])) : unref(checkStrictly) && unref(showPrefix) ? (openBlock(), createBlock(unref(ElRadio), {
16858
16875
  key: 1,
16859
16876
  "model-value": unref(checkedNodeId),
16860
16877
  label: __props.node.uid,
@@ -16877,10 +16894,12 @@ const _sfc_main$3S = /* @__PURE__ */ defineComponent({
16877
16894
  ]),
16878
16895
  _: 1
16879
16896
  }, 8, ["class"])) : createCommentVNode("v-if", true),
16897
+ createCommentVNode(" content "),
16880
16898
  createVNode(unref(NodeContent$1), {
16881
- "render-label-fn": unref(panel).renderLabelFn,
16882
- node: __props.node
16883
- }, null, 8, ["render-label-fn", "node"]),
16899
+ node: __props.node,
16900
+ disabled: unref(isDisabled),
16901
+ onHandleSelectCheck: handleSelectCheck
16902
+ }, null, 8, ["node", "disabled"]),
16884
16903
  createCommentVNode(" postfix "),
16885
16904
  !unref(isLeaf) ? (openBlock(), createElementBlock(Fragment, { key: 3 }, [
16886
16905
  __props.node.loading ? (openBlock(), createBlock(unref(ElIcon), {
@@ -17227,7 +17246,10 @@ const DefaultProps = {
17227
17246
  children: "children",
17228
17247
  leaf: "leaf",
17229
17248
  disabled: "disabled",
17230
- hoverThreshold: 500
17249
+ hoverThreshold: 500,
17250
+ checkOnClickNode: false,
17251
+ checkOnClickLeaf: true,
17252
+ showPrefix: true
17231
17253
  };
17232
17254
  const cascaderPanelProps = buildProps({
17233
17255
  ...CommonProps,
@@ -17425,7 +17447,7 @@ const _sfc_main$3Q = /* @__PURE__ */ defineComponent({
17425
17447
  const values = multiple ? castArray(modelValue) : [modelValue];
17426
17448
  const nodes = unique(values.map((val) => store == null ? void 0 : store.getNodeByValue(val, leafOnly)));
17427
17449
  syncMenuState(nodes, forced);
17428
- checkedValue.value = cloneDeep(modelValue);
17450
+ checkedValue.value = cloneDeep(modelValue != null ? modelValue : void 0);
17429
17451
  }
17430
17452
  };
17431
17453
  const syncMenuState = (newCheckedNodes, reserveExpandingState = true) => {
@@ -17498,14 +17520,16 @@ const _sfc_main$3Q = /* @__PURE__ */ defineComponent({
17498
17520
  expandNode,
17499
17521
  handleCheckChange
17500
17522
  }));
17501
- watch([config, () => props.options], (newVal, oldVal) => {
17523
+ watch(config, (newVal, oldVal) => {
17502
17524
  if (isEqual$1(newVal, oldVal))
17503
17525
  return;
17504
17526
  initStore();
17505
17527
  }, {
17506
- deep: true,
17507
17528
  immediate: true
17508
17529
  });
17530
+ watch(() => props.options, initStore, {
17531
+ deep: true
17532
+ });
17509
17533
  watch(() => props.modelValue, () => {
17510
17534
  manualChecked = false;
17511
17535
  syncCheckedValue();
@@ -17730,6 +17754,10 @@ const cascaderProps = buildProps({
17730
17754
  default: ""
17731
17755
  },
17732
17756
  teleported: useTooltipContentProps.teleported,
17757
+ effect: {
17758
+ type: definePropType(String),
17759
+ default: "light"
17760
+ },
17733
17761
  tagType: { ...tagProps.type, default: "info" },
17734
17762
  tagEffect: { ...tagProps.effect, default: "light" },
17735
17763
  validateEvent: {
@@ -17740,6 +17768,16 @@ const cascaderProps = buildProps({
17740
17768
  type: Boolean,
17741
17769
  default: true
17742
17770
  },
17771
+ showCheckedStrategy: {
17772
+ type: String,
17773
+ values: ["parent", "child"],
17774
+ default: "child"
17775
+ },
17776
+ checkOnClickNode: Boolean,
17777
+ showPrefix: {
17778
+ type: Boolean,
17779
+ default: true
17780
+ },
17743
17781
  ...useEmptyValuesProps
17744
17782
  });
17745
17783
  const emitChangeFn$1 = (value) => true;
@@ -17918,7 +17956,7 @@ const _sfc_main$3O = /* @__PURE__ */ defineComponent({
17918
17956
  emit(UPDATE_MODEL_EVENT, value);
17919
17957
  emit(CHANGE_EVENT, value);
17920
17958
  if (props.validateEvent) {
17921
- formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn(err));
17959
+ formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn());
17922
17960
  }
17923
17961
  }
17924
17962
  });
@@ -17988,10 +18026,24 @@ const _sfc_main$3O = /* @__PURE__ */ defineComponent({
17988
18026
  (_a = cascaderPanelRef.value) == null ? void 0 : _a.calculateCheckedValue();
17989
18027
  emit("removeTag", node.valueByOption);
17990
18028
  };
18029
+ const getStrategyCheckedNodes = () => {
18030
+ switch (props.showCheckedStrategy) {
18031
+ case "child":
18032
+ return checkedNodes.value;
18033
+ case "parent": {
18034
+ const clickedNodes = getCheckedNodes(false);
18035
+ const clickedNodesValue = clickedNodes.map((o) => o.value);
18036
+ const parentNodes = clickedNodes.filter((o) => !o.parent || !clickedNodesValue.includes(o.parent.value));
18037
+ return parentNodes;
18038
+ }
18039
+ default:
18040
+ return [];
18041
+ }
18042
+ };
17991
18043
  const calculatePresentTags = () => {
17992
18044
  if (!multiple.value)
17993
18045
  return;
17994
- const nodes = checkedNodes.value;
18046
+ const nodes = getStrategyCheckedNodes();
17995
18047
  const tags = [];
17996
18048
  const allTags = [];
17997
18049
  nodes.forEach((node) => allTags.push(genTag(node)));
@@ -18224,7 +18276,7 @@ const _sfc_main$3O = /* @__PURE__ */ defineComponent({
18224
18276
  "gpu-acceleration": false,
18225
18277
  placement: _ctx.placement,
18226
18278
  transition: `${unref(nsCascader).namespace.value}-zoom-in-top`,
18227
- effect: "light",
18279
+ effect: _ctx.effect,
18228
18280
  pure: "",
18229
18281
  persistent: _ctx.persistent,
18230
18282
  onHide: hideSuggestionPanel
@@ -18317,7 +18369,7 @@ const _sfc_main$3O = /* @__PURE__ */ defineComponent({
18317
18369
  disabled: popperVisible.value || !_ctx.collapseTagsTooltip,
18318
18370
  "fallback-placements": ["bottom", "top", "right", "left"],
18319
18371
  placement: "bottom",
18320
- effect: "light"
18372
+ effect: _ctx.effect
18321
18373
  }, {
18322
18374
  default: withCtx(() => [
18323
18375
  createElementVNode("span", null, toDisplayString(tag.text), 1)
@@ -18357,7 +18409,7 @@ const _sfc_main$3O = /* @__PURE__ */ defineComponent({
18357
18409
  }, 8, ["max-height"])
18358
18410
  ]),
18359
18411
  _: 2
18360
- }, 1032, ["disabled"]))
18412
+ }, 1032, ["disabled", "effect"]))
18361
18413
  ]),
18362
18414
  _: 2
18363
18415
  }, 1032, ["type", "size", "effect", "hit", "closable", "onClose"]);
@@ -18386,6 +18438,14 @@ const _sfc_main$3O = /* @__PURE__ */ defineComponent({
18386
18438
  ])
18387
18439
  ]),
18388
18440
  content: withCtx(() => [
18441
+ _ctx.$slots.header ? (openBlock(), createElementBlock("div", {
18442
+ key: 0,
18443
+ class: normalizeClass(unref(nsCascader).e("header")),
18444
+ onClick: withModifiers(() => {
18445
+ }, ["stop"])
18446
+ }, [
18447
+ renderSlot(_ctx.$slots, "header")
18448
+ ], 10, ["onClick"])) : createCommentVNode("v-if", true),
18389
18449
  withDirectives(createVNode(unref(ElCascaderPanel), {
18390
18450
  ref_key: "cascaderPanelRef",
18391
18451
  ref: cascaderPanelRef,
@@ -18406,7 +18466,7 @@ const _sfc_main$3O = /* @__PURE__ */ defineComponent({
18406
18466
  [vShow, !filtering.value]
18407
18467
  ]),
18408
18468
  _ctx.filterable ? withDirectives((openBlock(), createBlock(unref(ElScrollbar), {
18409
- key: 0,
18469
+ key: 1,
18410
18470
  ref_key: "suggestionPanel",
18411
18471
  ref: suggestionPanel,
18412
18472
  tag: "ul",
@@ -18444,10 +18504,18 @@ const _sfc_main$3O = /* @__PURE__ */ defineComponent({
18444
18504
  _: 3
18445
18505
  }, 8, ["class", "view-class"])), [
18446
18506
  [vShow, filtering.value]
18447
- ]) : createCommentVNode("v-if", true)
18507
+ ]) : createCommentVNode("v-if", true),
18508
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("div", {
18509
+ key: 2,
18510
+ class: normalizeClass(unref(nsCascader).e("footer")),
18511
+ onClick: withModifiers(() => {
18512
+ }, ["stop"])
18513
+ }, [
18514
+ renderSlot(_ctx.$slots, "footer")
18515
+ ], 10, ["onClick"])) : createCommentVNode("v-if", true)
18448
18516
  ]),
18449
18517
  _: 3
18450
- }, 8, ["visible", "teleported", "popper-class", "fallback-placements", "placement", "transition", "persistent"]);
18518
+ }, 8, ["visible", "teleported", "popper-class", "fallback-placements", "placement", "transition", "effect", "persistent"]);
18451
18519
  };
18452
18520
  }
18453
18521
  });
@@ -18635,7 +18703,7 @@ const collapseEmits = {
18635
18703
 
18636
18704
  const collapseContextKey = Symbol("collapseContextKey");
18637
18705
 
18638
- const SCOPE$7 = "ElCollapse";
18706
+ const SCOPE$3 = "ElCollapse";
18639
18707
  const useCollapse = (props, emit) => {
18640
18708
  const activeNames = ref(castArray$1(props.modelValue));
18641
18709
  const setActiveNames = (_activeNames) => {
@@ -18670,7 +18738,7 @@ const useCollapse = (props, emit) => {
18670
18738
  isBoolean$1(shouldChange)
18671
18739
  ].includes(true);
18672
18740
  if (!isPromiseOrBool) {
18673
- throwError(SCOPE$7, "beforeCollapse must return type `Promise<boolean>` or `boolean`");
18741
+ throwError(SCOPE$3, "beforeCollapse must return type `Promise<boolean>` or `boolean`");
18674
18742
  }
18675
18743
  if (isPromise$1(shouldChange)) {
18676
18744
  shouldChange.then((result) => {
@@ -18678,7 +18746,6 @@ const useCollapse = (props, emit) => {
18678
18746
  handleChange(name);
18679
18747
  }
18680
18748
  }).catch((e) => {
18681
- debugWarn(SCOPE$7, `some error occurred: ${e}`);
18682
18749
  });
18683
18750
  } else if (shouldChange) {
18684
18751
  handleChange(name);
@@ -19421,6 +19488,10 @@ function _sfc_render$o(_ctx, _cache, $props, $setup, $data, $options) {
19421
19488
  var HueSlider = /* @__PURE__ */ _export_sfc$2(_sfc_main$3H, [["render", _sfc_render$o], ["__file", "hue-slider.vue"]]);
19422
19489
 
19423
19490
  const colorPickerProps = buildProps({
19491
+ persistent: {
19492
+ type: Boolean,
19493
+ default: true
19494
+ },
19424
19495
  modelValue: {
19425
19496
  type: definePropType(String),
19426
19497
  default: void 0
@@ -19439,6 +19510,7 @@ const colorPickerProps = buildProps({
19439
19510
  default: 0
19440
19511
  },
19441
19512
  teleported: useTooltipContentProps.teleported,
19513
+ appendTo: useTooltipContentProps.appendTo,
19442
19514
  predefine: {
19443
19515
  type: definePropType(Array)
19444
19516
  },
@@ -19834,7 +19906,7 @@ const _sfc_main$3E = /* @__PURE__ */ defineComponent({
19834
19906
  emit(UPDATE_MODEL_EVENT, value);
19835
19907
  emit(CHANGE_EVENT, value);
19836
19908
  if (props.validateEvent) {
19837
- formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn(err));
19909
+ formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn());
19838
19910
  }
19839
19911
  debounceSetShowPicker(false);
19840
19912
  nextTick(() => {
@@ -19853,7 +19925,7 @@ const _sfc_main$3E = /* @__PURE__ */ defineComponent({
19853
19925
  emit(UPDATE_MODEL_EVENT, valueOnClear.value);
19854
19926
  emit(CHANGE_EVENT, valueOnClear.value);
19855
19927
  if (props.modelValue !== valueOnClear.value && props.validateEvent) {
19856
- formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn(err));
19928
+ formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn());
19857
19929
  }
19858
19930
  resetColor();
19859
19931
  }
@@ -19952,7 +20024,8 @@ const _sfc_main$3E = /* @__PURE__ */ defineComponent({
19952
20024
  trigger: "click",
19953
20025
  teleported: _ctx.teleported,
19954
20026
  transition: `${unref(ns).namespace.value}-zoom-in-top`,
19955
- persistent: "",
20027
+ persistent: _ctx.persistent,
20028
+ "append-to": _ctx.appendTo,
19956
20029
  onHide: ($event) => setShowPicker(false)
19957
20030
  }, {
19958
20031
  content: withCtx(() => [
@@ -20087,7 +20160,7 @@ const _sfc_main$3E = /* @__PURE__ */ defineComponent({
20087
20160
  ], 16, ["id", "aria-label", "aria-labelledby", "aria-description", "aria-disabled", "tabindex", "onFocus", "onBlur"])
20088
20161
  ]),
20089
20162
  _: 1
20090
- }, 8, ["visible", "popper-class", "teleported", "transition", "onHide"]);
20163
+ }, 8, ["visible", "popper-class", "teleported", "transition", "persistent", "append-to", "onHide"]);
20091
20164
  };
20092
20165
  }
20093
20166
  });
@@ -20107,6 +20180,9 @@ const configProviderProps = buildProps({
20107
20180
  button: {
20108
20181
  type: definePropType(Object)
20109
20182
  },
20183
+ card: {
20184
+ type: definePropType(Object)
20185
+ },
20110
20186
  link: {
20111
20187
  type: definePropType(Object)
20112
20188
  },
@@ -20567,6 +20643,10 @@ const timePickerDefaultProps = buildProps({
20567
20643
  type: Boolean,
20568
20644
  default: true
20569
20645
  },
20646
+ showFooter: {
20647
+ type: Boolean,
20648
+ default: true
20649
+ },
20570
20650
  showWeekNumber: Boolean
20571
20651
  });
20572
20652
  const timePickerRangeTriggerProps = buildProps({
@@ -20623,7 +20703,7 @@ const _sfc_main$3y = /* @__PURE__ */ defineComponent({
20623
20703
  emit("mouseleave", evt);
20624
20704
  };
20625
20705
  const handleTouchStart = (evt) => {
20626
- emit("mouseenter", evt);
20706
+ emit("touchstart", evt);
20627
20707
  };
20628
20708
  const handleStartInput = (evt) => {
20629
20709
  emit("startInput", evt);
@@ -20746,7 +20826,7 @@ const _sfc_main$3x = /* @__PURE__ */ defineComponent({
20746
20826
  handleChange();
20747
20827
  pickerVisible.value = false;
20748
20828
  hasJustTabExitedInput = false;
20749
- props.validateEvent && (formItem == null ? void 0 : formItem.validate("blur").catch((err) => debugWarn(err)));
20829
+ props.validateEvent && (formItem == null ? void 0 : formItem.validate("blur").catch((err) => debugWarn()));
20750
20830
  }
20751
20831
  });
20752
20832
  const rangeInputKls = computed(() => [
@@ -20782,7 +20862,7 @@ const _sfc_main$3x = /* @__PURE__ */ defineComponent({
20782
20862
  if (isClear || !valueEquals(val, valueOnOpen.value)) {
20783
20863
  emit(CHANGE_EVENT, val);
20784
20864
  isClear && (valueOnOpen.value = val);
20785
- props.validateEvent && (formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn(err)));
20865
+ props.validateEvent && (formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn()));
20786
20866
  }
20787
20867
  };
20788
20868
  const emitInput = (input) => {
@@ -20846,6 +20926,7 @@ const _sfc_main$3x = /* @__PURE__ */ defineComponent({
20846
20926
  pickerVisible.value = false;
20847
20927
  };
20848
20928
  const parsedValue = computed(() => {
20929
+ var _a;
20849
20930
  let dayOrDays;
20850
20931
  if (valueIsEmpty.value) {
20851
20932
  if (pickerOptions.value.getDefaultValue) {
@@ -20855,7 +20936,7 @@ const _sfc_main$3x = /* @__PURE__ */ defineComponent({
20855
20936
  if (isArray$2(props.modelValue)) {
20856
20937
  dayOrDays = props.modelValue.map((d) => parseDate(d, props.valueFormat, lang.value));
20857
20938
  } else {
20858
- dayOrDays = parseDate(props.modelValue, props.valueFormat, lang.value);
20939
+ dayOrDays = parseDate((_a = props.modelValue) != null ? _a : "", props.valueFormat, lang.value);
20859
20940
  }
20860
20941
  }
20861
20942
  if (pickerOptions.value.getRangeAvailableTime) {
@@ -21283,6 +21364,7 @@ const _sfc_main$3x = /* @__PURE__ */ defineComponent({
21283
21364
  type: _ctx.type,
21284
21365
  defaultValue: _ctx.defaultValue,
21285
21366
  showNow: _ctx.showNow,
21367
+ showFooter: _ctx.showFooter,
21286
21368
  showWeekNumber: _ctx.showWeekNumber,
21287
21369
  onPick,
21288
21370
  onSelectRange: setSelectionRange,
@@ -21526,18 +21608,26 @@ const _sfc_main$3w = /* @__PURE__ */ defineComponent({
21526
21608
  };
21527
21609
  const emitSelectRange = (type) => {
21528
21610
  let range = [0, 0];
21529
- if (!format || format === DEFAULT_FORMATS_TIME) {
21530
- switch (type) {
21531
- case "hours":
21532
- range = [0, 2];
21533
- break;
21534
- case "minutes":
21535
- range = [3, 5];
21536
- break;
21537
- case "seconds":
21538
- range = [6, 8];
21539
- break;
21540
- }
21611
+ const actualFormat = format || DEFAULT_FORMATS_TIME;
21612
+ const hourIndex = actualFormat.indexOf("HH");
21613
+ const minuteIndex = actualFormat.indexOf("mm");
21614
+ const secondIndex = actualFormat.indexOf("ss");
21615
+ switch (type) {
21616
+ case "hours":
21617
+ if (hourIndex !== -1) {
21618
+ range = [hourIndex, hourIndex + 2];
21619
+ }
21620
+ break;
21621
+ case "minutes":
21622
+ if (minuteIndex !== -1) {
21623
+ range = [minuteIndex, minuteIndex + 2];
21624
+ }
21625
+ break;
21626
+ case "seconds":
21627
+ if (secondIndex !== -1) {
21628
+ range = [secondIndex, secondIndex + 2];
21629
+ }
21630
+ break;
21541
21631
  }
21542
21632
  const [left, right] = range;
21543
21633
  emit("select-range", left, right);
@@ -21816,8 +21906,24 @@ const _sfc_main$3v = /* @__PURE__ */ defineComponent({
21816
21906
  selectionRange.value = [start, end];
21817
21907
  };
21818
21908
  const changeSelectionRange = (step) => {
21819
- const list = [0, 3].concat(showSeconds.value ? [6] : []);
21820
- const mapping = ["hours", "minutes"].concat(showSeconds.value ? ["seconds"] : []);
21909
+ const actualFormat = props.format;
21910
+ const hourIndex = actualFormat.indexOf("HH");
21911
+ const minuteIndex = actualFormat.indexOf("mm");
21912
+ const secondIndex = actualFormat.indexOf("ss");
21913
+ const list = [];
21914
+ const mapping = [];
21915
+ if (hourIndex !== -1) {
21916
+ list.push(hourIndex);
21917
+ mapping.push("hours");
21918
+ }
21919
+ if (minuteIndex !== -1) {
21920
+ list.push(minuteIndex);
21921
+ mapping.push("minutes");
21922
+ }
21923
+ if (secondIndex !== -1 && showSeconds.value) {
21924
+ list.push(secondIndex);
21925
+ mapping.push("seconds");
21926
+ }
21821
21927
  const index = list.indexOf(selectionRange.value[0]);
21822
21928
  const next = (index + step + list.length) % list.length;
21823
21929
  timePickerOptions["start_emitSelectRange"](mapping[next]);
@@ -22300,11 +22406,19 @@ const panelSharedProps = buildProps({
22300
22406
  type: Boolean,
22301
22407
  default: true
22302
22408
  },
22409
+ showFooter: {
22410
+ type: Boolean,
22411
+ default: true
22412
+ },
22303
22413
  showWeekNumber: Boolean
22304
22414
  });
22305
22415
  const panelRangeSharedProps = buildProps({
22306
22416
  unlinkPanels: Boolean,
22307
22417
  visible: Boolean,
22418
+ showFooter: {
22419
+ type: Boolean,
22420
+ default: true
22421
+ },
22308
22422
  parsedValue: {
22309
22423
  type: definePropType(Array)
22310
22424
  }
@@ -22864,7 +22978,7 @@ const _sfc_main$3t = /* @__PURE__ */ defineComponent({
22864
22978
  role: "grid",
22865
22979
  onClick: unref(handlePickDate),
22866
22980
  onMousemove: unref(handleMouseMove),
22867
- onMousedown: withModifiers(unref(handleMouseDown), ["prevent"]),
22981
+ onMousedown: unref(handleMouseDown),
22868
22982
  onMouseup: unref(handleMouseUp)
22869
22983
  }, [
22870
22984
  createElementVNode("tbody", {
@@ -23387,10 +23501,6 @@ const _sfc_main$3q = /* @__PURE__ */ defineComponent({
23387
23501
  if (!checkDateWithinRange(newDate)) ;
23388
23502
  innerDate.value = newDate;
23389
23503
  emit(newDate, showTime.value || keepOpen);
23390
- if (props.type === "datetime") {
23391
- await nextTick();
23392
- handleFocusPicker();
23393
- }
23394
23504
  } else if (selectionMode.value === "week") {
23395
23505
  emit(value.date);
23396
23506
  } else if (selectionMode.value === "dates") {
@@ -23959,7 +24069,8 @@ const _sfc_main$3q = /* @__PURE__ */ defineComponent({
23959
24069
  ], 34)
23960
24070
  ], 2)
23961
24071
  ], 2),
23962
- withDirectives(createElementVNode("div", {
24072
+ _ctx.showFooter && unref(footerVisible) ? (openBlock(), createElementBlock("div", {
24073
+ key: 0,
23963
24074
  class: normalizeClass(unref(ppNs).e("footer"))
23964
24075
  }, [
23965
24076
  withDirectives(createVNode(unref(ElButton), {
@@ -23988,9 +24099,7 @@ const _sfc_main$3q = /* @__PURE__ */ defineComponent({
23988
24099
  ]),
23989
24100
  _: 1
23990
24101
  }, 8, ["class", "disabled"])
23991
- ], 2), [
23992
- [vShow, unref(footerVisible)]
23993
- ])
24102
+ ], 2)) : createCommentVNode("v-if", true)
23994
24103
  ], 2);
23995
24104
  };
23996
24105
  }
@@ -24109,7 +24218,11 @@ const useRangePicker = (props, {
24109
24218
  restoreDefault();
24110
24219
  }
24111
24220
  }, { immediate: true });
24112
- watch(() => props.parsedValue, onReset, { immediate: true });
24221
+ watch(() => props.parsedValue, (parsedValue) => {
24222
+ if (!props.visible || !(parsedValue == null ? void 0 : parsedValue.length)) {
24223
+ onReset(parsedValue);
24224
+ }
24225
+ }, { immediate: true });
24113
24226
  return {
24114
24227
  minDate,
24115
24228
  maxDate,
@@ -24407,10 +24520,12 @@ const _sfc_main$3p = /* @__PURE__ */ defineComponent({
24407
24520
  emit("calendar-change", [min_.toDate(), max_ && max_.toDate()]);
24408
24521
  maxDate.value = maxDate_;
24409
24522
  minDate.value = minDate_;
24410
- if (!close || showTime.value)
24411
- return;
24412
- handleRangeConfirm();
24523
+ handleRangeConfirm(close);
24413
24524
  };
24525
+ watch([maxDate, minDate], ([min, max]) => {
24526
+ if (min && max)
24527
+ handleRangeConfirm(true);
24528
+ }, { flush: "post" });
24414
24529
  const minTimePickerVisible = ref(false);
24415
24530
  const maxTimePickerVisible = ref(false);
24416
24531
  const handleMinTimeClose = () => {
@@ -24489,6 +24604,9 @@ const _sfc_main$3p = /* @__PURE__ */ defineComponent({
24489
24604
  if (!maxDate.value || maxDate.value.isBefore(minDate.value)) {
24490
24605
  maxDate.value = minDate.value;
24491
24606
  rightDate.value = value;
24607
+ nextTick(() => {
24608
+ onReset(props.parsedValue);
24609
+ });
24492
24610
  }
24493
24611
  };
24494
24612
  const handleMaxTimePick = (value, visible, first) => {
@@ -24946,7 +25064,7 @@ const _sfc_main$3p = /* @__PURE__ */ defineComponent({
24946
25064
  ], 2)
24947
25065
  ], 2)
24948
25066
  ], 2),
24949
- unref(showTime) ? (openBlock(), createElementBlock("div", {
25067
+ _ctx.showFooter && unref(showTime) ? (openBlock(), createElementBlock("div", {
24950
25068
  key: 0,
24951
25069
  class: normalizeClass(unref(ppNs).e("footer"))
24952
25070
  }, [
@@ -26162,6 +26280,7 @@ var Overlay$2 = defineComponent({
26162
26280
  const ElOverlay = Overlay$2;
26163
26281
 
26164
26282
  const dialogInjectionKey = Symbol("dialogInjectionKey");
26283
+ const DEFAULT_DIALOG_TRANSITION = "dialog-fade";
26165
26284
 
26166
26285
  const dialogContentProps = buildProps({
26167
26286
  center: Boolean,
@@ -26396,6 +26515,7 @@ const dialogProps = buildProps({
26396
26515
  type: Boolean,
26397
26516
  default: true
26398
26517
  },
26518
+ modalPenetrable: Boolean,
26399
26519
  openDelay: {
26400
26520
  type: Number,
26401
26521
  default: 0
@@ -26422,6 +26542,10 @@ const dialogProps = buildProps({
26422
26542
  headerAriaLevel: {
26423
26543
  type: String,
26424
26544
  default: "2"
26545
+ },
26546
+ transition: {
26547
+ type: definePropType([String, Object]),
26548
+ default: DEFAULT_DIALOG_TRANSITION
26425
26549
  }
26426
26550
  });
26427
26551
  const dialogEmits = {
@@ -26510,6 +26634,38 @@ const useDialog = (props, targetRef) => {
26510
26634
  }
26511
26635
  return {};
26512
26636
  });
26637
+ const transitionConfig = computed(() => {
26638
+ const baseConfig = {
26639
+ name: props.transition,
26640
+ onAfterEnter: afterEnter,
26641
+ onBeforeLeave: beforeLeave,
26642
+ onAfterLeave: afterLeave
26643
+ };
26644
+ if (isObject$3(props.transition)) {
26645
+ const config = { ...props.transition };
26646
+ const _mergeHook = (userHook, defaultHook) => {
26647
+ return (el) => {
26648
+ if (isArray$2(userHook)) {
26649
+ userHook.forEach((fn) => {
26650
+ if (isFunction$4(fn))
26651
+ fn(el);
26652
+ });
26653
+ } else if (isFunction$4(userHook)) {
26654
+ userHook(el);
26655
+ }
26656
+ defaultHook();
26657
+ };
26658
+ };
26659
+ config.onAfterEnter = _mergeHook(config.onAfterEnter, afterEnter);
26660
+ config.onBeforeLeave = _mergeHook(config.onBeforeLeave, beforeLeave);
26661
+ config.onAfterLeave = _mergeHook(config.onAfterLeave, afterLeave);
26662
+ if (!config.name) {
26663
+ config.name = DEFAULT_DIALOG_TRANSITION;
26664
+ }
26665
+ return config;
26666
+ }
26667
+ return baseConfig;
26668
+ });
26513
26669
  function afterEnter() {
26514
26670
  emit("opened");
26515
26671
  }
@@ -26648,7 +26804,8 @@ const useDialog = (props, targetRef) => {
26648
26804
  overlayDialogStyle,
26649
26805
  rendered,
26650
26806
  visible,
26651
- zIndex
26807
+ zIndex,
26808
+ transitionConfig
26652
26809
  };
26653
26810
  };
26654
26811
 
@@ -26681,10 +26838,8 @@ const _sfc_main$3j = /* @__PURE__ */ defineComponent({
26681
26838
  style,
26682
26839
  overlayDialogStyle,
26683
26840
  rendered,
26841
+ transitionConfig,
26684
26842
  zIndex,
26685
- afterEnter,
26686
- afterLeave,
26687
- beforeLeave,
26688
26843
  handleClose,
26689
26844
  onModalClick,
26690
26845
  onOpenAutoFocus,
@@ -26702,6 +26857,7 @@ const _sfc_main$3j = /* @__PURE__ */ defineComponent({
26702
26857
  });
26703
26858
  const overlayEvent = useSameTarget(onModalClick);
26704
26859
  const draggable = computed(() => props.draggable && !props.fullscreen);
26860
+ const penetrable = computed(() => props.modalPenetrable && !props.modal && !props.fullscreen);
26705
26861
  const resetPosition = () => {
26706
26862
  var _a;
26707
26863
  (_a = dialogContentRef.value) == null ? void 0 : _a.resetPosition();
@@ -26718,94 +26874,95 @@ const _sfc_main$3j = /* @__PURE__ */ defineComponent({
26718
26874
  disabled: _ctx.appendTo !== "body" ? false : !_ctx.appendToBody
26719
26875
  }, {
26720
26876
  default: withCtx(() => [
26721
- createVNode(Transition, {
26722
- name: "dialog-fade",
26723
- onAfterEnter: unref(afterEnter),
26724
- onAfterLeave: unref(afterLeave),
26725
- onBeforeLeave: unref(beforeLeave),
26726
- persisted: ""
26727
- }, {
26728
- default: withCtx(() => [
26729
- withDirectives(createVNode(unref(ElOverlay), {
26730
- "custom-mask-event": "",
26731
- mask: _ctx.modal,
26732
- "overlay-class": _ctx.modalClass,
26733
- "z-index": unref(zIndex)
26734
- }, {
26735
- default: withCtx(() => [
26736
- createElementVNode("div", {
26737
- role: "dialog",
26738
- "aria-modal": "true",
26739
- "aria-label": _ctx.title || void 0,
26740
- "aria-labelledby": !_ctx.title ? unref(titleId) : void 0,
26741
- "aria-describedby": unref(bodyId),
26742
- class: normalizeClass(`${unref(ns).namespace.value}-overlay-dialog`),
26743
- style: normalizeStyle(unref(overlayDialogStyle)),
26744
- onClick: unref(overlayEvent).onClick,
26745
- onMousedown: unref(overlayEvent).onMousedown,
26746
- onMouseup: unref(overlayEvent).onMouseup
26747
- }, [
26748
- createVNode(unref(ElFocusTrap), {
26749
- loop: "",
26750
- trapped: unref(visible),
26751
- "focus-start-el": "container",
26752
- onFocusAfterTrapped: unref(onOpenAutoFocus),
26753
- onFocusAfterReleased: unref(onCloseAutoFocus),
26754
- onFocusoutPrevented: unref(onFocusoutPrevented),
26755
- onReleaseRequested: unref(onCloseRequested)
26756
- }, {
26757
- default: withCtx(() => [
26758
- unref(rendered) ? (openBlock(), createBlock(ElDialogContent, mergeProps({
26759
- key: 0,
26760
- ref_key: "dialogContentRef",
26761
- ref: dialogContentRef
26762
- }, _ctx.$attrs, {
26763
- center: _ctx.center,
26764
- "align-center": _ctx.alignCenter,
26765
- "close-icon": _ctx.closeIcon,
26766
- draggable: unref(draggable),
26767
- overflow: _ctx.overflow,
26768
- fullscreen: _ctx.fullscreen,
26769
- "header-class": _ctx.headerClass,
26770
- "body-class": _ctx.bodyClass,
26771
- "footer-class": _ctx.footerClass,
26772
- "show-close": _ctx.showClose,
26773
- title: _ctx.title,
26774
- "aria-level": _ctx.headerAriaLevel,
26775
- onClose: unref(handleClose)
26776
- }), createSlots({
26777
- header: withCtx(() => [
26778
- !_ctx.$slots.title ? renderSlot(_ctx.$slots, "header", {
26779
- key: 0,
26780
- close: unref(handleClose),
26781
- titleId: unref(titleId),
26782
- titleClass: unref(ns).e("title")
26783
- }) : renderSlot(_ctx.$slots, "title", { key: 1 })
26784
- ]),
26785
- default: withCtx(() => [
26786
- renderSlot(_ctx.$slots, "default")
26787
- ]),
26788
- _: 2
26789
- }, [
26790
- _ctx.$slots.footer ? {
26791
- name: "footer",
26792
- fn: withCtx(() => [
26793
- renderSlot(_ctx.$slots, "footer")
26794
- ])
26795
- } : void 0
26796
- ]), 1040, ["center", "align-center", "close-icon", "draggable", "overflow", "fullscreen", "header-class", "body-class", "footer-class", "show-close", "title", "aria-level", "onClose"])) : createCommentVNode("v-if", true)
26797
- ]),
26798
- _: 3
26799
- }, 8, ["trapped", "onFocusAfterTrapped", "onFocusAfterReleased", "onFocusoutPrevented", "onReleaseRequested"])
26800
- ], 46, ["aria-label", "aria-labelledby", "aria-describedby", "onClick", "onMousedown", "onMouseup"])
26801
- ]),
26802
- _: 3
26803
- }, 8, ["mask", "overlay-class", "z-index"]), [
26804
- [vShow, unref(visible)]
26805
- ])
26806
- ]),
26877
+ createVNode(Transition, mergeProps(unref(transitionConfig), { persisted: "" }), {
26878
+ default: withCtx(() => {
26879
+ var _a;
26880
+ return [
26881
+ withDirectives(createVNode(unref(ElOverlay), {
26882
+ "custom-mask-event": "",
26883
+ mask: _ctx.modal,
26884
+ "overlay-class": [
26885
+ (_a = _ctx.modalClass) != null ? _a : "",
26886
+ `${unref(ns).namespace.value}-modal-dialog`,
26887
+ unref(ns).is("penetrable", unref(penetrable))
26888
+ ],
26889
+ "z-index": unref(zIndex)
26890
+ }, {
26891
+ default: withCtx(() => [
26892
+ createElementVNode("div", {
26893
+ role: "dialog",
26894
+ "aria-modal": "true",
26895
+ "aria-label": _ctx.title || void 0,
26896
+ "aria-labelledby": !_ctx.title ? unref(titleId) : void 0,
26897
+ "aria-describedby": unref(bodyId),
26898
+ class: normalizeClass(`${unref(ns).namespace.value}-overlay-dialog`),
26899
+ style: normalizeStyle(unref(overlayDialogStyle)),
26900
+ onClick: unref(overlayEvent).onClick,
26901
+ onMousedown: unref(overlayEvent).onMousedown,
26902
+ onMouseup: unref(overlayEvent).onMouseup
26903
+ }, [
26904
+ createVNode(unref(ElFocusTrap), {
26905
+ loop: "",
26906
+ trapped: unref(visible),
26907
+ "focus-start-el": "container",
26908
+ onFocusAfterTrapped: unref(onOpenAutoFocus),
26909
+ onFocusAfterReleased: unref(onCloseAutoFocus),
26910
+ onFocusoutPrevented: unref(onFocusoutPrevented),
26911
+ onReleaseRequested: unref(onCloseRequested)
26912
+ }, {
26913
+ default: withCtx(() => [
26914
+ unref(rendered) ? (openBlock(), createBlock(ElDialogContent, mergeProps({
26915
+ key: 0,
26916
+ ref_key: "dialogContentRef",
26917
+ ref: dialogContentRef
26918
+ }, _ctx.$attrs, {
26919
+ center: _ctx.center,
26920
+ "align-center": _ctx.alignCenter,
26921
+ "close-icon": _ctx.closeIcon,
26922
+ draggable: unref(draggable),
26923
+ overflow: _ctx.overflow,
26924
+ fullscreen: _ctx.fullscreen,
26925
+ "header-class": _ctx.headerClass,
26926
+ "body-class": _ctx.bodyClass,
26927
+ "footer-class": _ctx.footerClass,
26928
+ "show-close": _ctx.showClose,
26929
+ title: _ctx.title,
26930
+ "aria-level": _ctx.headerAriaLevel,
26931
+ onClose: unref(handleClose)
26932
+ }), createSlots({
26933
+ header: withCtx(() => [
26934
+ !_ctx.$slots.title ? renderSlot(_ctx.$slots, "header", {
26935
+ key: 0,
26936
+ close: unref(handleClose),
26937
+ titleId: unref(titleId),
26938
+ titleClass: unref(ns).e("title")
26939
+ }) : renderSlot(_ctx.$slots, "title", { key: 1 })
26940
+ ]),
26941
+ default: withCtx(() => [
26942
+ renderSlot(_ctx.$slots, "default")
26943
+ ]),
26944
+ _: 2
26945
+ }, [
26946
+ _ctx.$slots.footer ? {
26947
+ name: "footer",
26948
+ fn: withCtx(() => [
26949
+ renderSlot(_ctx.$slots, "footer")
26950
+ ])
26951
+ } : void 0
26952
+ ]), 1040, ["center", "align-center", "close-icon", "draggable", "overflow", "fullscreen", "header-class", "body-class", "footer-class", "show-close", "title", "aria-level", "onClose"])) : createCommentVNode("v-if", true)
26953
+ ]),
26954
+ _: 3
26955
+ }, 8, ["trapped", "onFocusAfterTrapped", "onFocusAfterReleased", "onFocusoutPrevented", "onReleaseRequested"])
26956
+ ], 46, ["aria-label", "aria-labelledby", "aria-describedby", "onClick", "onMousedown", "onMouseup"])
26957
+ ]),
26958
+ _: 3
26959
+ }, 8, ["mask", "overlay-class", "z-index"]), [
26960
+ [vShow, unref(visible)]
26961
+ ])
26962
+ ];
26963
+ }),
26807
26964
  _: 3
26808
- }, 8, ["onAfterEnter", "onAfterLeave", "onBeforeLeave"])
26965
+ }, 16)
26809
26966
  ]),
26810
26967
  _: 3
26811
26968
  }, 8, ["to", "disabled"]);
@@ -27489,13 +27646,17 @@ const _sfc_main$3c = defineComponent({
27489
27646
  }
27490
27647
  function onAutofocusTriggerEnter() {
27491
27648
  var _a, _b;
27492
- (_b = (_a = triggeringElementRef.value) == null ? void 0 : _a.$el) == null ? void 0 : _b.focus();
27649
+ (_b = (_a = triggeringElementRef.value) == null ? void 0 : _a.$el) == null ? void 0 : _b.focus({
27650
+ preventScroll: true
27651
+ });
27493
27652
  }
27494
27653
  function onItemEnter() {
27495
27654
  }
27496
27655
  function onItemLeave() {
27497
27656
  const contentEl = unref(contentRef);
27498
- trigger.value.includes("hover") && (contentEl == null ? void 0 : contentEl.focus());
27657
+ trigger.value.includes("hover") && (contentEl == null ? void 0 : contentEl.focus({
27658
+ preventScroll: true
27659
+ }));
27499
27660
  currentTabId.value = null;
27500
27661
  }
27501
27662
  function handleCurrentTabIdChange(id) {
@@ -27926,7 +28087,9 @@ const _sfc_main$39 = defineComponent({
27926
28087
  }
27927
28088
  onItemEnter(e);
27928
28089
  if (!e.defaultPrevented) {
27929
- target == null ? void 0 : target.focus();
28090
+ target == null ? void 0 : target.focus({
28091
+ preventScroll: true
28092
+ });
27930
28093
  }
27931
28094
  }));
27932
28095
  const handlePointerLeave = composeEventHandlers((e) => {
@@ -28316,7 +28479,7 @@ const formProps = buildProps({
28316
28479
  hideRequiredAsterisk: Boolean,
28317
28480
  scrollToError: Boolean,
28318
28481
  scrollIntoViewOptions: {
28319
- type: [Object, Boolean],
28482
+ type: definePropType([Object, Boolean]),
28320
28483
  default: true
28321
28484
  }
28322
28485
  });
@@ -28324,7 +28487,6 @@ const formEmits = {
28324
28487
  validate: (prop, isValid, message) => (isArray$2(prop) || isString$4(prop)) && isBoolean$1(isValid) && isString$4(message)
28325
28488
  };
28326
28489
 
28327
- const SCOPE$6 = "ElForm";
28328
28490
  function useFormLabelWidth() {
28329
28491
  const potentialLabelWidthArr = ref([]);
28330
28492
  const autoLabelWidth = computed(() => {
@@ -28335,9 +28497,7 @@ function useFormLabelWidth() {
28335
28497
  });
28336
28498
  function getLabelWidthIndex(width) {
28337
28499
  const index = potentialLabelWidthArr.value.indexOf(width);
28338
- if (index === -1 && autoLabelWidth.value === "0") {
28339
- debugWarn(SCOPE$6, `unexpected width ${width}`);
28340
- }
28500
+ if (index === -1 && autoLabelWidth.value === "0") ;
28341
28501
  return index;
28342
28502
  }
28343
28503
  function registerLabelWidth(val, oldVal) {
@@ -28403,7 +28563,6 @@ const _sfc_main$35 = /* @__PURE__ */ defineComponent({
28403
28563
  };
28404
28564
  const resetFields = (properties = []) => {
28405
28565
  if (!props.model) {
28406
- debugWarn(COMPONENT_NAME$f, "model is required for resetFields to work.");
28407
28566
  return;
28408
28567
  }
28409
28568
  filterFields(fields, properties).forEach((field) => field.resetField());
@@ -28413,9 +28572,6 @@ const _sfc_main$35 = /* @__PURE__ */ defineComponent({
28413
28572
  };
28414
28573
  const isValidatable = computed(() => {
28415
28574
  const hasModel = !!props.model;
28416
- if (!hasModel) {
28417
- debugWarn(COMPONENT_NAME$f, "model is required for validate to work.");
28418
- }
28419
28575
  return hasModel;
28420
28576
  });
28421
28577
  const obtainValidateFields = (props2) => {
@@ -28423,7 +28579,6 @@ const _sfc_main$35 = /* @__PURE__ */ defineComponent({
28423
28579
  return [];
28424
28580
  const filteredFields = filterFields(fields, props2);
28425
28581
  if (!filteredFields.length) {
28426
- debugWarn(COMPONENT_NAME$f, "please pass correct props!");
28427
28582
  return [];
28428
28583
  }
28429
28584
  return filteredFields;
@@ -28439,7 +28594,7 @@ const _sfc_main$35 = /* @__PURE__ */ defineComponent({
28439
28594
  for (const field of fields2) {
28440
28595
  try {
28441
28596
  await field.validate("");
28442
- if (field.validateState === "error")
28597
+ if (field.validateState === "error" && !field.error)
28443
28598
  field.resetField();
28444
28599
  } catch (fields3) {
28445
28600
  validationErrors = {
@@ -28484,7 +28639,7 @@ const _sfc_main$35 = /* @__PURE__ */ defineComponent({
28484
28639
  };
28485
28640
  watch(() => props.rules, () => {
28486
28641
  if (props.validateOnRuleChange) {
28487
- validate().catch((err) => debugWarn(err));
28642
+ validate().catch((err) => debugWarn());
28488
28643
  }
28489
28644
  }, { deep: true, flush: "post" });
28490
28645
  provide(formContextKey, reactive({
@@ -31110,7 +31265,12 @@ const inputNumberProps = buildProps({
31110
31265
  inputmode: {
31111
31266
  type: definePropType(String),
31112
31267
  default: void 0
31113
- }
31268
+ },
31269
+ align: {
31270
+ type: definePropType(String),
31271
+ default: "center"
31272
+ },
31273
+ disabledScientific: Boolean
31114
31274
  });
31115
31275
  const inputNumberEmits = {
31116
31276
  [CHANGE_EVENT]: (cur, prev) => prev !== cur,
@@ -31142,9 +31302,7 @@ const _sfc_main$31 = /* @__PURE__ */ defineComponent({
31142
31302
  const numPrecision = computed(() => {
31143
31303
  const stepPrecision = getPrecision(props.step);
31144
31304
  if (!isUndefined$1(props.precision)) {
31145
- if (stepPrecision > props.precision) {
31146
- debugWarn("InputNumber", "precision should not be less than the decimal places of step");
31147
- }
31305
+ if (stepPrecision > props.precision) ;
31148
31306
  return props.precision;
31149
31307
  } else {
31150
31308
  return Math.max(getPrecision(props.modelValue), stepPrecision);
@@ -31205,14 +31363,31 @@ const _sfc_main$31 = /* @__PURE__ */ defineComponent({
31205
31363
  if (!isNumber$2(val))
31206
31364
  return data.currentValue;
31207
31365
  if (val >= Number.MAX_SAFE_INTEGER && coefficient === 1) {
31208
- debugWarn("InputNumber", "The value has reached the maximum safe integer limit.");
31209
31366
  return val;
31210
31367
  } else if (val <= Number.MIN_SAFE_INTEGER && coefficient === -1) {
31211
- debugWarn("InputNumber", "The value has reached the minimum safe integer limit.");
31212
31368
  return val;
31213
31369
  }
31214
31370
  return toPrecision(val + props.step * coefficient);
31215
31371
  };
31372
+ const handleKeydown = (event) => {
31373
+ var _a;
31374
+ const e = event;
31375
+ if (props.disabledScientific && ["e", "E"].includes(e.key)) {
31376
+ e.preventDefault();
31377
+ return;
31378
+ }
31379
+ const keyHandlers = {
31380
+ [EVENT_CODE.up]: () => {
31381
+ e.preventDefault();
31382
+ increase();
31383
+ },
31384
+ [EVENT_CODE.down]: () => {
31385
+ e.preventDefault();
31386
+ decrease();
31387
+ }
31388
+ };
31389
+ (_a = keyHandlers[e.key]) == null ? void 0 : _a.call(keyHandlers);
31390
+ };
31216
31391
  const increase = () => {
31217
31392
  if (props.readonly || inputNumberDisabled.value || maxDisabled.value)
31218
31393
  return;
@@ -31277,7 +31452,7 @@ const _sfc_main$31 = /* @__PURE__ */ defineComponent({
31277
31452
  emit(CHANGE_EVENT, newVal, oldVal);
31278
31453
  }
31279
31454
  if (props.validateEvent) {
31280
- (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => debugWarn(err));
31455
+ (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => debugWarn());
31281
31456
  }
31282
31457
  data.currentValue = newVal;
31283
31458
  };
@@ -31314,7 +31489,7 @@ const _sfc_main$31 = /* @__PURE__ */ defineComponent({
31314
31489
  }
31315
31490
  emit("blur", event);
31316
31491
  if (props.validateEvent) {
31317
- (_b = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _b.call(formItem, "blur").catch((err) => debugWarn(err));
31492
+ (_b = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _b.call(formItem, "blur").catch((err) => debugWarn());
31318
31493
  }
31319
31494
  };
31320
31495
  const setCurrentValueToModelValue = () => {
@@ -31332,6 +31507,9 @@ const _sfc_main$31 = /* @__PURE__ */ defineComponent({
31332
31507
  data.currentValue = newValue;
31333
31508
  }
31334
31509
  }, { immediate: true });
31510
+ watch(() => props.precision, () => {
31511
+ data.currentValue = verifyValue(props.modelValue);
31512
+ });
31335
31513
  onMounted(() => {
31336
31514
  var _a;
31337
31515
  const { min, max, modelValue } = props;
@@ -31374,7 +31552,8 @@ const _sfc_main$31 = /* @__PURE__ */ defineComponent({
31374
31552
  unref(ns).m(unref(inputNumberSize)),
31375
31553
  unref(ns).is("disabled", unref(inputNumberDisabled)),
31376
31554
  unref(ns).is("without-controls", !_ctx.controls),
31377
- unref(ns).is("controls-right", unref(controlsAtRight))
31555
+ unref(ns).is("controls-right", unref(controlsAtRight)),
31556
+ unref(ns).is(_ctx.align, !!_ctx.align)
31378
31557
  ]),
31379
31558
  onDragstart: withModifiers(() => {
31380
31559
  }, ["prevent"])
@@ -31432,10 +31611,7 @@ const _sfc_main$31 = /* @__PURE__ */ defineComponent({
31432
31611
  "aria-label": _ctx.ariaLabel,
31433
31612
  "validate-event": false,
31434
31613
  inputmode: _ctx.inputmode,
31435
- onKeydown: [
31436
- withKeys(withModifiers(increase, ["prevent"]), ["up"]),
31437
- withKeys(withModifiers(decrease, ["prevent"]), ["down"])
31438
- ],
31614
+ onKeydown: handleKeydown,
31439
31615
  onBlur: handleBlur,
31440
31616
  onFocus: handleFocus,
31441
31617
  onInput: handleInput,
@@ -31455,7 +31631,7 @@ const _sfc_main$31 = /* @__PURE__ */ defineComponent({
31455
31631
  renderSlot(_ctx.$slots, "suffix")
31456
31632
  ])
31457
31633
  } : void 0
31458
- ]), 1032, ["id", "step", "model-value", "placeholder", "readonly", "disabled", "size", "max", "min", "name", "aria-label", "inputmode", "onKeydown"])
31634
+ ]), 1032, ["id", "step", "model-value", "placeholder", "readonly", "disabled", "size", "max", "min", "name", "aria-label", "inputmode"])
31459
31635
  ], 42, ["onDragstart"]);
31460
31636
  };
31461
31637
  }
@@ -31651,7 +31827,7 @@ function useInputTag({ props, emit, formItem }) {
31651
31827
  inputValue.value = void 0;
31652
31828
  }
31653
31829
  if (props.validateEvent) {
31654
- (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "blur").catch((err) => debugWarn(err));
31830
+ (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "blur").catch((err) => debugWarn());
31655
31831
  }
31656
31832
  }
31657
31833
  });
@@ -31664,7 +31840,7 @@ function useInputTag({ props, emit, formItem }) {
31664
31840
  watch(() => props.modelValue, () => {
31665
31841
  var _a;
31666
31842
  if (props.validateEvent) {
31667
- (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, CHANGE_EVENT).catch((err) => debugWarn(err));
31843
+ (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, CHANGE_EVENT).catch((err) => debugWarn());
31668
31844
  }
31669
31845
  });
31670
31846
  return {
@@ -32722,8 +32898,10 @@ var Menu = defineComponent({
32722
32898
  const instance = getCurrentInstance();
32723
32899
  const router = instance.appContext.config.globalProperties.$router;
32724
32900
  const menu = ref();
32901
+ const subMenu = ref();
32725
32902
  const nsMenu = useNamespace("menu");
32726
32903
  const nsSubMenu = useNamespace("sub-menu");
32904
+ let moreItemWidth = 64;
32727
32905
  const sliceIndex = ref(-1);
32728
32906
  const openedMenus = ref(props.defaultOpeneds && !props.collapse ? props.defaultOpeneds.slice(0) : []);
32729
32907
  const activeIndex = ref(props.defaultActive);
@@ -32736,8 +32914,8 @@ var Menu = defineComponent({
32736
32914
  return;
32737
32915
  const indexPath = activeItem.indexPath;
32738
32916
  indexPath.forEach((index) => {
32739
- const subMenu = subMenus.value[index];
32740
- subMenu && openMenu(index, subMenu.indexPath);
32917
+ const subMenu2 = subMenus.value[index];
32918
+ subMenu2 && openMenu(index, subMenu2.indexPath);
32741
32919
  });
32742
32920
  };
32743
32921
  const openMenu = (index, indexPath) => {
@@ -32803,7 +32981,6 @@ var Menu = defineComponent({
32803
32981
  if (!menu.value)
32804
32982
  return -1;
32805
32983
  const items2 = Array.from((_b = (_a = menu.value) == null ? void 0 : _a.childNodes) != null ? _b : []).filter((item) => item.nodeName !== "#text" || item.nodeValue);
32806
- const moreItemWidth = 64;
32807
32984
  const computedMenuStyle = getComputedStyle(menu.value);
32808
32985
  const paddingLeft = Number.parseInt(computedMenuStyle.paddingLeft, 10);
32809
32986
  const paddingRight = Number.parseInt(computedMenuStyle.paddingRight, 10);
@@ -32822,16 +32999,19 @@ var Menu = defineComponent({
32822
32999
  };
32823
33000
  const getIndexPath = (index) => subMenus.value[index].indexPath;
32824
33001
  const debounce = (fn, wait = 33.34) => {
32825
- let timmer;
33002
+ let timer;
32826
33003
  return () => {
32827
- timmer && clearTimeout(timmer);
32828
- timmer = setTimeout(() => {
33004
+ timer && clearTimeout(timer);
33005
+ timer = setTimeout(() => {
32829
33006
  fn();
32830
33007
  }, wait);
32831
33008
  };
32832
33009
  };
32833
33010
  let isFirstTimeRender = true;
32834
33011
  const handleResize = () => {
33012
+ const el = unrefElement(subMenu);
33013
+ if (el)
33014
+ moreItemWidth = calcMenuItemWidth(el) || 64;
32835
33015
  if (sliceIndex.value === calcSliceIndex())
32836
33016
  return;
32837
33017
  const callback = () => {
@@ -32927,6 +33107,7 @@ var Menu = defineComponent({
32927
33107
  if ((slotMore == null ? void 0 : slotMore.length) && props.ellipsis) {
32928
33108
  slot = slotDefault;
32929
33109
  vShowMore.push(h$3(SubMenu, {
33110
+ ref: subMenu,
32930
33111
  index: "sub-menu-more",
32931
33112
  class: nsSubMenu.e("hide-arrow"),
32932
33113
  popperOffset: props.popperOffset
@@ -32996,7 +33177,7 @@ const _sfc_main$2Z = /* @__PURE__ */ defineComponent({
32996
33177
  emits: menuItemEmits,
32997
33178
  setup(__props, { expose, emit }) {
32998
33179
  const props = __props;
32999
- isPropAbsent(props.index) && debugWarn(COMPONENT_NAME$c, 'Missing required prop: "index"');
33180
+ isPropAbsent(props.index) && debugWarn();
33000
33181
  const instance = getCurrentInstance();
33001
33182
  const rootMenu = inject(MENU_INJECTION_KEY);
33002
33183
  const nsMenu = useNamespace("menu");
@@ -33460,11 +33641,11 @@ const _sfc_main$2U = defineComponent({
33460
33641
  select.onOptionCreate(vm);
33461
33642
  onBeforeUnmount(() => {
33462
33643
  const key = vm.value;
33463
- const { selected: selectedOptions } = select.states;
33464
- const doesSelected = selectedOptions.some((item) => {
33465
- return item.value === vm.value;
33466
- });
33467
33644
  nextTick(() => {
33645
+ const { selected: selectedOptions } = select.states;
33646
+ const doesSelected = selectedOptions.some((item) => {
33647
+ return item.value === vm.value;
33648
+ });
33468
33649
  if (select.states.cachedOptions.get(key) === vm && !doesSelected) {
33469
33650
  select.states.cachedOptions.delete(key);
33470
33651
  }
@@ -33625,7 +33806,7 @@ const useSelect$2 = (props, emit) => {
33625
33806
  expanded.value = false;
33626
33807
  states.menuVisibleOnFocus = false;
33627
33808
  if (props.validateEvent) {
33628
- (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "blur").catch((err) => debugWarn(err));
33809
+ (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "blur").catch((err) => debugWarn());
33629
33810
  }
33630
33811
  }
33631
33812
  });
@@ -33721,7 +33902,7 @@ const useSelect$2 = (props, emit) => {
33721
33902
  }
33722
33903
  setSelected();
33723
33904
  if (!isEqual$1(val, oldVal) && props.validateEvent) {
33724
- formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn(err));
33905
+ formItem == null ? void 0 : formItem.validate("change").catch((err) => debugWarn());
33725
33906
  }
33726
33907
  }, {
33727
33908
  flush: "post",
@@ -34109,10 +34290,18 @@ const useSelect$2 = (props, emit) => {
34109
34290
  emit("popup-scroll", data);
34110
34291
  };
34111
34292
  useResizeObserver(selectionRef, resetSelectionWidth);
34112
- useResizeObserver(menuRef, updateTooltip);
34113
34293
  useResizeObserver(wrapperRef, updateTooltip);
34114
34294
  useResizeObserver(tagMenuRef, updateTagTooltip);
34115
34295
  useResizeObserver(collapseItemRef, resetCollapseItemWidth);
34296
+ let stop;
34297
+ watch(() => dropdownMenuVisible.value, (newVal) => {
34298
+ if (newVal) {
34299
+ stop = useResizeObserver(menuRef, updateTooltip).stop;
34300
+ } else {
34301
+ stop == null ? void 0 : stop();
34302
+ stop = void 0;
34303
+ }
34304
+ });
34116
34305
  onMounted(() => {
34117
34306
  setSelected();
34118
34307
  });
@@ -34268,8 +34457,12 @@ const selectProps = buildProps({
34268
34457
  loadingText: String,
34269
34458
  noMatchText: String,
34270
34459
  noDataText: String,
34271
- remoteMethod: Function,
34272
- filterMethod: Function,
34460
+ remoteMethod: {
34461
+ type: definePropType(Function)
34462
+ },
34463
+ filterMethod: {
34464
+ type: definePropType(Function)
34465
+ },
34273
34466
  multiple: Boolean,
34274
34467
  multipleLimit: {
34275
34468
  type: Number,
@@ -34336,6 +34529,12 @@ const selectProps = buildProps({
34336
34529
  default: 0
34337
34530
  },
34338
34531
  appendTo: useTooltipContentProps.appendTo,
34532
+ options: {
34533
+ type: definePropType(Array)
34534
+ },
34535
+ props: {
34536
+ type: definePropType(Object)
34537
+ },
34339
34538
  ...useEmptyValuesProps,
34340
34539
  ...useAriaProps(["ariaLabel"])
34341
34540
  });
@@ -34773,7 +34972,17 @@ function _sfc_render$a(_ctx, _cache) {
34773
34972
  }, null, 8, ["value"])) : createCommentVNode("v-if", true),
34774
34973
  createVNode(_component_el_options, null, {
34775
34974
  default: withCtx(() => [
34776
- renderSlot(_ctx.$slots, "default")
34975
+ renderSlot(_ctx.$slots, "default", {}, () => [
34976
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.options, (item, index) => {
34977
+ var _a, _b, _c, _d, _e, _f;
34978
+ return openBlock(), createBlock(_component_el_option, {
34979
+ key: index,
34980
+ label: item[(_b = (_a = _ctx.props) == null ? void 0 : _a.label) != null ? _b : "label"],
34981
+ value: item[(_d = (_c = _ctx.props) == null ? void 0 : _c.value) != null ? _d : "value"],
34982
+ disabled: item[(_f = (_e = _ctx.props) == null ? void 0 : _e.disabled) != null ? _f : "disabled"]
34983
+ }, null, 8, ["label", "value", "disabled"]);
34984
+ }), 128))
34985
+ ])
34777
34986
  ]),
34778
34987
  _: 3
34779
34988
  })
@@ -35157,19 +35366,19 @@ const _sfc_main$2N = /* @__PURE__ */ defineComponent({
35157
35366
  nsPager.is("disabled", props.disabled)
35158
35367
  ]);
35159
35368
  const tabindex = computed(() => props.disabled ? -1 : 0);
35160
- watchEffect(() => {
35161
- const halfPagerCount = (props.pagerCount - 1) / 2;
35162
- showPrevMore.value = false;
35163
- showNextMore.value = false;
35164
- if (props.pageCount > props.pagerCount) {
35165
- if (props.currentPage > props.pagerCount - halfPagerCount) {
35166
- showPrevMore.value = true;
35167
- }
35168
- if (props.currentPage < props.pageCount - halfPagerCount) {
35169
- showNextMore.value = true;
35170
- }
35369
+ watch(() => [props.pageCount, props.pagerCount, props.currentPage], ([pageCount, pagerCount, currentPage]) => {
35370
+ const halfPagerCount = (pagerCount - 1) / 2;
35371
+ let showPrev = false;
35372
+ let showNext = false;
35373
+ if (pageCount > pagerCount) {
35374
+ showPrev = currentPage > pagerCount - halfPagerCount;
35375
+ showNext = currentPage < pageCount - halfPagerCount;
35171
35376
  }
35172
- });
35377
+ quickPrevHover.value && (quickPrevHover.value = showPrev);
35378
+ quickNextHover.value && (quickNextHover.value = showNext);
35379
+ showPrevMore.value = showPrev;
35380
+ showNextMore.value = showNext;
35381
+ }, { immediate: true });
35173
35382
  function onMouseEnter(forward = false) {
35174
35383
  if (props.disabled)
35175
35384
  return;
@@ -36750,7 +36959,9 @@ const selectV2Props = buildProps({
36750
36959
  default: void 0
36751
36960
  },
36752
36961
  filterable: Boolean,
36753
- filterMethod: Function,
36962
+ filterMethod: {
36963
+ type: definePropType(Function)
36964
+ },
36754
36965
  height: {
36755
36966
  type: Number,
36756
36967
  default: 274
@@ -36763,7 +36974,8 @@ const selectV2Props = buildProps({
36763
36974
  loading: Boolean,
36764
36975
  loadingText: String,
36765
36976
  modelValue: {
36766
- type: definePropType([Array, String, Number, Boolean, Object])
36977
+ type: definePropType([Array, String, Number, Boolean, Object]),
36978
+ default: void 0
36767
36979
  },
36768
36980
  multiple: Boolean,
36769
36981
  multipleLimit: {
@@ -36773,7 +36985,9 @@ const selectV2Props = buildProps({
36773
36985
  name: String,
36774
36986
  noDataText: String,
36775
36987
  noMatchText: String,
36776
- remoteMethod: Function,
36988
+ remoteMethod: {
36989
+ type: definePropType(Function)
36990
+ },
36777
36991
  reserveKeyword: {
36778
36992
  type: Boolean,
36779
36993
  default: true
@@ -37710,14 +37924,6 @@ const FixedSizeList = createList({
37710
37924
  getEstimatedTotalSize: ({ total, itemSize }) => itemSize * total,
37711
37925
  getOffset: ({ height, total, itemSize, layout, width }, index, alignment, scrollOffset) => {
37712
37926
  const size = isHorizontal(layout) ? width : height;
37713
- if (process.env.NODE_ENV !== "production" && isString$4(size)) {
37714
- throwError("[ElVirtualList]", `
37715
- You should set
37716
- width/height
37717
- to number when your layout is
37718
- horizontal/vertical
37719
- `);
37720
- }
37721
37927
  const lastItemOffset = Math.max(0, total * itemSize - size);
37722
37928
  const maxOffset = Math.min(lastItemOffset, index * itemSize);
37723
37929
  const minOffset = Math.max(0, (index + 1) * itemSize - size);
@@ -37772,7 +37978,6 @@ const FixedSizeList = createList({
37772
37978
  }
37773
37979
  });
37774
37980
 
37775
- const SCOPE$5 = "ElDynamicSizeList";
37776
37981
  const getItemFromCache$1 = (props, index, listCache) => {
37777
37982
  const { itemSize } = props;
37778
37983
  const { items, lastVisitedIndex } = listCache;
@@ -37911,13 +38116,6 @@ const DynamicSizeList = createList({
37911
38116
  },
37912
38117
  clearCache: false,
37913
38118
  validateProps: ({ itemSize }) => {
37914
- if (process.env.NODE_ENV !== "production") {
37915
- if (typeof itemSize !== "function") {
37916
- throwError(SCOPE$5, `
37917
- itemSize is required as function, but the given value was ${typeof itemSize}
37918
- `);
37919
- }
37920
- }
37921
38119
  }
37922
38120
  });
37923
38121
 
@@ -38153,6 +38351,10 @@ function useAllowCreate(props, states) {
38153
38351
  const enableAllowCreateMode = computed(() => {
38154
38352
  return props.allowCreate && props.filterable;
38155
38353
  });
38354
+ watch(() => props.options, (options) => {
38355
+ const optionLabelsSet = new Set(options.map((option) => getLabel(option)));
38356
+ states.createdOptions = states.createdOptions.filter((createdOption) => !optionLabelsSet.has(getLabel(createdOption)));
38357
+ });
38156
38358
  function hasExistingOption(query) {
38157
38359
  const hasOption = (option) => getLabel(option) === query;
38158
38360
  return props.options && props.options.some(hasOption) || states.createdOptions.some(hasOption);
@@ -38171,6 +38373,7 @@ function useAllowCreate(props, states) {
38171
38373
  if (enableAllowCreateMode.value) {
38172
38374
  if (query && query.length > 0) {
38173
38375
  if (hasExistingOption(query)) {
38376
+ states.createdOptions = states.createdOptions.filter((createdOption) => getLabel(createdOption) !== states.previousQuery);
38174
38377
  return;
38175
38378
  }
38176
38379
  const newOption = {
@@ -38282,7 +38485,7 @@ const useSelect$1 = (props, emit) => {
38282
38485
  expanded.value = false;
38283
38486
  states.menuVisibleOnFocus = false;
38284
38487
  if (props.validateEvent) {
38285
- (_a = elFormItem == null ? void 0 : elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "blur").catch((err) => debugWarn(err));
38488
+ (_a = elFormItem == null ? void 0 : elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "blur").catch((err) => debugWarn());
38286
38489
  }
38287
38490
  }
38288
38491
  });
@@ -38332,13 +38535,12 @@ const useSelect$1 = (props, emit) => {
38332
38535
  }
38333
38536
  return null;
38334
38537
  });
38538
+ const isFilterMethodValid = computed(() => props.filterable && isFunction$4(props.filterMethod));
38539
+ const isRemoteMethodValid = computed(() => props.filterable && props.remote && isFunction$4(props.remoteMethod));
38335
38540
  const filterOptions = (query) => {
38336
38541
  const regexp = new RegExp(escapeStringRegexp(query), "i");
38337
- const { filterMethod, remoteMethod } = toRaw(props);
38338
- const isFilterMethodValid = props.filterable && isFunction$4(filterMethod);
38339
- const isRemoteMethodValid = props.filterable && props.remote && isFunction$4(remoteMethod);
38340
38542
  const isValidOption = (o) => {
38341
- if (isFilterMethodValid || isRemoteMethodValid)
38543
+ if (isFilterMethodValid.value || isRemoteMethodValid.value)
38342
38544
  return true;
38343
38545
  return query ? regexp.test(getLabel(o) || "") : true;
38344
38546
  };
@@ -38840,7 +39042,7 @@ const useSelect$1 = (props, emit) => {
38840
39042
  initStates(true);
38841
39043
  }
38842
39044
  if (!isEqual$1(val, oldVal) && props.validateEvent) {
38843
- (_a = elFormItem == null ? void 0 : elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change").catch((err) => debugWarn(err));
39045
+ (_a = elFormItem == null ? void 0 : elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change").catch((err) => debugWarn());
38844
39046
  }
38845
39047
  }, {
38846
39048
  deep: true
@@ -38873,7 +39075,6 @@ const useSelect$1 = (props, emit) => {
38873
39075
  v = get(optionValue, valueKey);
38874
39076
  }
38875
39077
  if (duplicateValue.get(v)) {
38876
- debugWarn("ElSelectV2", `The option values you provided seem to be duplicated, which may cause some problems, please check.`);
38877
39078
  break;
38878
39079
  } else {
38879
39080
  duplicateValue.set(v, true);
@@ -40103,7 +40304,6 @@ const useStops = (props, initData, minValue, maxValue) => {
40103
40304
  if (!props.showStops || props.min > props.max)
40104
40305
  return [];
40105
40306
  if (props.step === 0) {
40106
- debugWarn("ElSlider", "step should not be 0.");
40107
40307
  return [];
40108
40308
  }
40109
40309
  const stopCount = (props.max - props.min) / props.step;
@@ -40172,7 +40372,7 @@ const useWatch = (props, initData, minValue, maxValue, emit, elFormItem) => {
40172
40372
  initData.secondValue = val[1];
40173
40373
  if (valueChanged()) {
40174
40374
  if (props.validateEvent) {
40175
- (_a = elFormItem == null ? void 0 : elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change").catch((err) => debugWarn(err));
40375
+ (_a = elFormItem == null ? void 0 : elFormItem.validate) == null ? void 0 : _a.call(elFormItem, "change").catch((err) => debugWarn());
40176
40376
  }
40177
40377
  initData.oldValue = val.slice();
40178
40378
  }
@@ -40186,7 +40386,7 @@ const useWatch = (props, initData, minValue, maxValue, emit, elFormItem) => {
40186
40386
  initData.firstValue = val;
40187
40387
  if (valueChanged()) {
40188
40388
  if (props.validateEvent) {
40189
- (_b = elFormItem == null ? void 0 : elFormItem.validate) == null ? void 0 : _b.call(elFormItem, "change").catch((err) => debugWarn(err));
40389
+ (_b = elFormItem == null ? void 0 : elFormItem.validate) == null ? void 0 : _b.call(elFormItem, "change").catch((err) => debugWarn());
40190
40390
  }
40191
40391
  initData.oldValue = val;
40192
40392
  }
@@ -41285,7 +41485,7 @@ const _sfc_main$2v = /* @__PURE__ */ defineComponent({
41285
41485
  var _a;
41286
41486
  input.value.checked = val;
41287
41487
  if (props.validateEvent) {
41288
- (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => debugWarn(err));
41488
+ (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => debugWarn());
41289
41489
  }
41290
41490
  });
41291
41491
  const handleChange = () => {
@@ -41319,7 +41519,6 @@ const _sfc_main$2v = /* @__PURE__ */ defineComponent({
41319
41519
  handleChange();
41320
41520
  }
41321
41521
  }).catch((e) => {
41322
- debugWarn(COMPONENT_NAME$9, `some error occurred: ${e}`);
41323
41522
  });
41324
41523
  } else if (shouldChange) {
41325
41524
  handleChange();
@@ -41538,19 +41737,19 @@ const getColumnByCell = function(table, cell, namespace) {
41538
41737
  }
41539
41738
  return null;
41540
41739
  };
41541
- const getRowIdentity = (row, rowKey, isReturnRawValue = false) => {
41740
+ const getRowIdentity = (row, rowKey) => {
41542
41741
  if (!row)
41543
41742
  throw new Error("Row is required when get row identity");
41544
41743
  if (isString$4(rowKey)) {
41545
41744
  if (!rowKey.includes(".")) {
41546
- return isReturnRawValue ? row[rowKey] : `${row[rowKey]}`;
41745
+ return `${row[rowKey]}`;
41547
41746
  }
41548
41747
  const key = rowKey.split(".");
41549
41748
  let current = row;
41550
41749
  for (const element of key) {
41551
41750
  current = current[element];
41552
41751
  }
41553
- return isReturnRawValue ? current : `${current}`;
41752
+ return `${current}`;
41554
41753
  } else if (isFunction$4(rowKey)) {
41555
41754
  return rowKey.call(null, row);
41556
41755
  }
@@ -42038,20 +42237,20 @@ function useTree$2(watcherData) {
42038
42237
  });
42039
42238
  const normalize = (data) => {
42040
42239
  const rowKey = watcherData.rowKey.value;
42041
- const res = /* @__PURE__ */ new Map();
42240
+ const res = {};
42042
42241
  walkTreeNode(data, (parent, children, level) => {
42043
- const parentId = getRowIdentity(parent, rowKey, true);
42242
+ const parentId = getRowIdentity(parent, rowKey);
42044
42243
  if (isArray$2(children)) {
42045
- res.set(parentId, {
42046
- children: children.map((row) => row[rowKey]),
42244
+ res[parentId] = {
42245
+ children: children.map((row) => getRowIdentity(row, rowKey)),
42047
42246
  level
42048
- });
42247
+ };
42049
42248
  } else if (lazy.value) {
42050
- res.set(parentId, {
42249
+ res[parentId] = {
42051
42250
  children: [],
42052
42251
  lazy: true,
42053
42252
  level
42054
- });
42253
+ };
42055
42254
  }
42056
42255
  }, childrenColumnName.value, lazyColumnIdentifier.value, lazy.value);
42057
42256
  return res;
@@ -42061,8 +42260,9 @@ function useTree$2(watcherData) {
42061
42260
  ifExpandAll || (ifExpandAll = (_a = instance.store) == null ? void 0 : _a.states.defaultExpandAll.value);
42062
42261
  const nested = normalizedData.value;
42063
42262
  const normalizedLazyNode_ = normalizedLazyNode.value;
42263
+ const keys = Object.keys(nested);
42064
42264
  const newTreeData = {};
42065
- if (nested instanceof Map && nested.size) {
42265
+ if (keys.length) {
42066
42266
  const oldTreeData = unref(treeData);
42067
42267
  const rootLazyRowKeys = [];
42068
42268
  const getExpanded = (oldValue, key) => {
@@ -42077,9 +42277,9 @@ function useTree$2(watcherData) {
42077
42277
  return !!((oldValue == null ? void 0 : oldValue.expanded) || included);
42078
42278
  }
42079
42279
  };
42080
- nested.forEach((_, key) => {
42280
+ keys.forEach((key) => {
42081
42281
  const oldValue = oldTreeData[key];
42082
- const newValue = { ...nested.get(key) };
42282
+ const newValue = { ...nested[key] };
42083
42283
  newValue.expanded = getExpanded(oldValue, key);
42084
42284
  if (newValue.lazy) {
42085
42285
  const { loaded = false, loading = false } = oldValue || {};
@@ -43793,14 +43993,15 @@ var TableHeader = defineComponent({
43793
43993
  const isTableLayoutAuto = (parent == null ? void 0 : parent.props.tableLayout) === "auto";
43794
43994
  const saveIndexSelection = reactive(/* @__PURE__ */ new Map());
43795
43995
  const theadRef = ref();
43996
+ let delayId;
43796
43997
  const updateFixedColumnStyle = () => {
43797
- setTimeout(() => {
43998
+ delayId = setTimeout(() => {
43798
43999
  if (saveIndexSelection.size > 0) {
43799
44000
  saveIndexSelection.forEach((column, key) => {
43800
44001
  const el = theadRef.value.querySelector(`.${key.replace(/\s/g, ".")}`);
43801
44002
  if (el) {
43802
44003
  const width = el.getBoundingClientRect().width;
43803
- column.width = width;
44004
+ column.width = width || column.width;
43804
44005
  }
43805
44006
  });
43806
44007
  saveIndexSelection.clear();
@@ -43808,6 +44009,12 @@ var TableHeader = defineComponent({
43808
44009
  });
43809
44010
  };
43810
44011
  watch(saveIndexSelection, updateFixedColumnStyle);
44012
+ onBeforeUnmount(() => {
44013
+ if (delayId) {
44014
+ clearTimeout(delayId);
44015
+ delayId = void 0;
44016
+ }
44017
+ });
43811
44018
  onMounted(async () => {
43812
44019
  await nextTick();
43813
44020
  await nextTick();
@@ -45120,7 +45327,8 @@ var defaultProps$2 = {
45120
45327
  type: Boolean,
45121
45328
  default: true
45122
45329
  },
45123
- preserveExpandedContent: Boolean
45330
+ preserveExpandedContent: Boolean,
45331
+ nativeScrollbar: Boolean
45124
45332
  };
45125
45333
 
45126
45334
  function hColgroup(props) {
@@ -45436,6 +45644,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
45436
45644
  "wrap-style": _ctx.scrollbarStyle,
45437
45645
  always: _ctx.scrollbarAlwaysOn,
45438
45646
  tabindex: _ctx.scrollbarTabindex,
45647
+ native: _ctx.nativeScrollbar,
45439
45648
  onScroll: ($event) => _ctx.$emit("scroll", $event)
45440
45649
  }, {
45441
45650
  default: withCtx(() => [
@@ -45507,7 +45716,7 @@ function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) {
45507
45716
  ], 2)) : createCommentVNode("v-if", true)
45508
45717
  ]),
45509
45718
  _: 3
45510
- }, 8, ["view-style", "wrap-style", "always", "tabindex", "onScroll"])
45719
+ }, 8, ["view-style", "wrap-style", "always", "tabindex", "native", "onScroll"])
45511
45720
  ], 2),
45512
45721
  _ctx.showSummary && _ctx.tableLayout === "fixed" ? withDirectives((openBlock(), createElementBlock("div", {
45513
45722
  key: 1,
@@ -45908,9 +46117,7 @@ function useRender(props, slots, owner) {
45908
46117
  }
45909
46118
  };
45910
46119
  const setColumnRenders = (column) => {
45911
- if (props.renderHeader) {
45912
- debugWarn("TableColumn", "Comparing to render-header, scoped-slot header is easier to use. We recommend users to use scoped-slot header.");
45913
- } else if (column.type !== "selection") {
46120
+ if (props.renderHeader) ; else if (column.type !== "selection") {
45914
46121
  column.renderHeader = (scope) => {
45915
46122
  instance.columnConfig.value["label"];
45916
46123
  return renderSlot(slots, "header", scope, () => [column.label]);
@@ -46456,6 +46663,11 @@ const useRow = (props, {
46456
46663
  rowKey
46457
46664
  });
46458
46665
  (_b = props.onExpandedRowsChange) == null ? void 0 : _b.call(props, _expandedRowKeys);
46666
+ const tableRoot = tableInstance.vnode.el;
46667
+ const hoverRow = tableRoot.querySelector(`.${ns.is("hovered")}[rowkey="${String(rowKey)}"]`);
46668
+ if (hoverRow) {
46669
+ nextTick(() => onRowHovered({ hovered: true, rowKey }));
46670
+ }
46459
46671
  }
46460
46672
  const flushingRowHeights = debounce(() => {
46461
46673
  var _a, _b, _c, _d;
@@ -47589,7 +47801,6 @@ const createGrid = ({
47589
47801
  };
47590
47802
 
47591
47803
  const { max: max$1, min: min$1, floor: floor$2 } = Math;
47592
- const SCOPE$4 = "ElDynamicSizeGrid";
47593
47804
  const ACCESS_SIZER_KEY_MAP = {
47594
47805
  column: "columnWidth",
47595
47806
  row: "rowHeight"
@@ -47811,24 +48022,9 @@ const DynamicSizeGrid = createGrid({
47811
48022
  },
47812
48023
  clearCache: false,
47813
48024
  validateProps: ({ columnWidth, rowHeight }) => {
47814
- if (process.env.NODE_ENV !== "production") {
47815
- if (!isFunction$4(columnWidth)) {
47816
- throwError(SCOPE$4, `
47817
- "columnWidth" must be passed as function,
47818
- instead ${typeof columnWidth} was given.
47819
- `);
47820
- }
47821
- if (!isFunction$4(rowHeight)) {
47822
- throwError(SCOPE$4, `
47823
- "rowHeight" must be passed as function,
47824
- instead ${typeof rowHeight} was given.
47825
- `);
47826
- }
47827
- }
47828
48025
  }
47829
48026
  });
47830
48027
 
47831
- const SCOPE$3 = "ElFixedSizeGrid";
47832
48028
  const FixedSizeGrid = createGrid({
47833
48029
  name: "ElFixedSizeGrid",
47834
48030
  getColumnPosition: ({ columnWidth }, index) => [
@@ -47936,20 +48132,6 @@ const FixedSizeGrid = createGrid({
47936
48132
  initCache: () => void 0,
47937
48133
  clearCache: true,
47938
48134
  validateProps: ({ columnWidth, rowHeight }) => {
47939
- if (process.env.NODE_ENV !== "production") {
47940
- if (!isNumber$2(columnWidth)) {
47941
- throwError(SCOPE$3, `
47942
- "columnWidth" must be passed as number,
47943
- instead ${typeof columnWidth} was given.
47944
- `);
47945
- }
47946
- if (!isNumber$2(rowHeight)) {
47947
- throwError(SCOPE$3, `
47948
- "columnWidth" must be passed as number,
47949
- instead ${typeof rowHeight} was given.
47950
- `);
47951
- }
47952
- }
47953
48135
  }
47954
48136
  });
47955
48137
 
@@ -48504,7 +48686,7 @@ const RowRenderer = (props, {
48504
48686
  rowEventHandlers,
48505
48687
  style
48506
48688
  };
48507
- const handlerMosueEnter = (e) => {
48689
+ const handlerMouseEnter = (e) => {
48508
48690
  onRowHover == null ? void 0 : onRowHover({
48509
48691
  hovered: true,
48510
48692
  rowKey: _rowKey,
@@ -48524,7 +48706,7 @@ const RowRenderer = (props, {
48524
48706
  };
48525
48707
  return createVNode(Row$1, mergeProps(_rowProps, {
48526
48708
  "onRowExpand": onRowExpanded,
48527
- "onMouseenter": handlerMosueEnter,
48709
+ "onMouseenter": handlerMouseEnter,
48528
48710
  "onMouseleave": handlerMouseLeave,
48529
48711
  "rowkey": _rowKey
48530
48712
  }), _isSlot$2(slots) ? slots : {
@@ -49264,12 +49446,12 @@ const _sfc_main$2r = /* @__PURE__ */ defineComponent({
49264
49446
  };
49265
49447
  };
49266
49448
  const update = () => barStyle.value = getBarStyle();
49267
- const saveObserver = [];
49449
+ const tabObservers = [];
49268
49450
  const observerTabs = () => {
49269
- saveObserver.forEach((observer) => observer.stop());
49270
- saveObserver.length = 0;
49451
+ tabObservers.forEach((observer) => observer.stop());
49452
+ tabObservers.length = 0;
49271
49453
  Object.values(props.tabRefs).forEach((tab) => {
49272
- saveObserver.push(useResizeObserver(tab, update));
49454
+ tabObservers.push(useResizeObserver(tab, update));
49273
49455
  });
49274
49456
  };
49275
49457
  watch(() => props.tabs, async () => {
@@ -49277,11 +49459,11 @@ const _sfc_main$2r = /* @__PURE__ */ defineComponent({
49277
49459
  update();
49278
49460
  observerTabs();
49279
49461
  }, { immediate: true });
49280
- const barObserever = useResizeObserver(barRef, () => update());
49462
+ const barObserver = useResizeObserver(barRef, () => update());
49281
49463
  onBeforeUnmount(() => {
49282
- saveObserver.forEach((observer) => observer.stop());
49283
- saveObserver.length = 0;
49284
- barObserever.stop();
49464
+ tabObservers.forEach((observer) => observer.stop());
49465
+ tabObservers.length = 0;
49466
+ barObserver.stop();
49285
49467
  });
49286
49468
  expose({
49287
49469
  ref: barRef,
@@ -49921,7 +50103,9 @@ const timeSelectProps = buildProps({
49921
50103
  type: String,
49922
50104
  default: "HH:mm"
49923
50105
  },
49924
- modelValue: String,
50106
+ modelValue: {
50107
+ type: definePropType(String)
50108
+ },
49925
50109
  disabled: Boolean,
49926
50110
  editable: {
49927
50111
  type: Boolean,
@@ -49949,8 +50133,12 @@ const timeSelectProps = buildProps({
49949
50133
  type: String,
49950
50134
  default: "00:30"
49951
50135
  },
49952
- minTime: String,
49953
- maxTime: String,
50136
+ minTime: {
50137
+ type: definePropType(String)
50138
+ },
50139
+ maxTime: {
50140
+ type: definePropType(String)
50141
+ },
49954
50142
  includeEndTime: Boolean,
49955
50143
  name: String,
49956
50144
  prefixIcon: {
@@ -52925,7 +53113,7 @@ const _sfc_main$2f = /* @__PURE__ */ defineComponent({
52925
53113
  watch(() => props.modelValue, () => {
52926
53114
  var _a;
52927
53115
  if (props.validateEvent) {
52928
- (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => debugWarn(err));
53116
+ (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => debugWarn());
52929
53117
  }
52930
53118
  });
52931
53119
  const optionRender = computed(() => (option) => {
@@ -53110,6 +53298,12 @@ const getPropertyFromData = function(node, prop) {
53110
53298
  return isUndefined$1(dataProp) ? "" : dataProp;
53111
53299
  }
53112
53300
  };
53301
+ const setCanFocus = function(childNodes, focus) {
53302
+ childNodes.forEach((item) => {
53303
+ item.canFocus = focus;
53304
+ setCanFocus(item.childNodes, focus);
53305
+ });
53306
+ };
53113
53307
  let nodeIdSeed = 0;
53114
53308
  let Node$1 = class Node {
53115
53309
  constructor(options) {
@@ -53324,9 +53518,7 @@ let Node$1 = class Node {
53324
53518
  this.expanded = true;
53325
53519
  if (callback)
53326
53520
  callback();
53327
- this.childNodes.forEach((item) => {
53328
- item.canFocus = true;
53329
- });
53521
+ setCanFocus(this.childNodes, true);
53330
53522
  };
53331
53523
  if (this.shouldLoadData()) {
53332
53524
  this.loadData((data) => {
@@ -53350,9 +53542,7 @@ let Node$1 = class Node {
53350
53542
  }
53351
53543
  collapse() {
53352
53544
  this.expanded = false;
53353
- this.childNodes.forEach((item) => {
53354
- item.canFocus = false;
53355
- });
53545
+ setCanFocus(this.childNodes, false);
53356
53546
  }
53357
53547
  shouldLoadData() {
53358
53548
  return Boolean(this.store.lazy === true && this.store.load && !this.loaded);
@@ -54075,9 +54265,6 @@ const _sfc_main$2d = defineComponent({
54075
54265
  const dragEvents = inject(dragEventsKey);
54076
54266
  const instance = getCurrentInstance();
54077
54267
  provide(NODE_INSTANCE_INJECTION_KEY, instance);
54078
- if (!tree) {
54079
- debugWarn("Tree", "Can not find node's tree.");
54080
- }
54081
54268
  if (props.node.expanded) {
54082
54269
  expanded.value = true;
54083
54270
  childNodeRendered.value = true;
@@ -54353,6 +54540,11 @@ function useKeydown({ el$ }, store) {
54353
54540
  checkbox.setAttribute("tabindex", "-1");
54354
54541
  });
54355
54542
  });
54543
+ function canNodeFocus(treeItems, nextIndex) {
54544
+ var _a, _b;
54545
+ const currentNode = store.value.getNode(treeItems[nextIndex].dataset.key);
54546
+ return currentNode.canFocus && currentNode.visible && (((_a = currentNode.parent) == null ? void 0 : _a.expanded) || ((_b = currentNode.parent) == null ? void 0 : _b.level) === 0);
54547
+ }
54356
54548
  const handleKeydown = (ev) => {
54357
54549
  const currentItem = ev.target;
54358
54550
  if (!currentItem.className.includes(ns.b("node")))
@@ -54367,8 +54559,9 @@ function useKeydown({ el$ }, store) {
54367
54559
  nextIndex = currentIndex === -1 ? 0 : currentIndex !== 0 ? currentIndex - 1 : treeItems.length - 1;
54368
54560
  const startIndex = nextIndex;
54369
54561
  while (true) {
54370
- if (store.value.getNode(treeItems[nextIndex].dataset.key).canFocus)
54562
+ if (canNodeFocus(treeItems, nextIndex)) {
54371
54563
  break;
54564
+ }
54372
54565
  nextIndex--;
54373
54566
  if (nextIndex === startIndex) {
54374
54567
  nextIndex = -1;
@@ -54382,8 +54575,9 @@ function useKeydown({ el$ }, store) {
54382
54575
  nextIndex = currentIndex === -1 ? 0 : currentIndex < treeItems.length - 1 ? currentIndex + 1 : 0;
54383
54576
  const startIndex = nextIndex;
54384
54577
  while (true) {
54385
- if (store.value.getNode(treeItems[nextIndex].dataset.key).canFocus)
54578
+ if (canNodeFocus(treeItems, nextIndex)) {
54386
54579
  break;
54580
+ }
54387
54581
  nextIndex++;
54388
54582
  if (nextIndex === startIndex) {
54389
54583
  nextIndex = -1;
@@ -54548,7 +54742,9 @@ const _sfc_main$2c = defineComponent({
54548
54742
  watch(() => props.currentNodeKey, (newVal) => {
54549
54743
  store.value.setCurrentNodeKey(newVal != null ? newVal : null);
54550
54744
  });
54551
- watch(() => props.defaultCheckedKeys, (newVal) => {
54745
+ watch(() => props.defaultCheckedKeys, (newVal, oldVal) => {
54746
+ if (isEqual$1(newVal, oldVal))
54747
+ return;
54552
54748
  store.value.setDefaultCheckedKey(newVal != null ? newVal : []);
54553
54749
  });
54554
54750
  watch(() => props.defaultExpandedKeys, (newVal) => {
@@ -58593,13 +58789,12 @@ const _sfc_main$1Z = /* @__PURE__ */ defineComponent({
58593
58789
  state.focusVisible = false;
58594
58790
  return;
58595
58791
  }
58596
- const rect = selectedItem.getBoundingClientRect();
58597
58792
  state.isInit = true;
58598
58793
  if (props.direction === "vertical") {
58599
- state.height = rect.height;
58794
+ state.height = selectedItem.offsetHeight;
58600
58795
  state.translateY = selectedItem.offsetTop;
58601
58796
  } else {
58602
- state.width = rect.width;
58797
+ state.width = selectedItem.offsetWidth;
58603
58798
  state.translateX = selectedItem.offsetLeft;
58604
58799
  }
58605
58800
  try {
@@ -58632,7 +58827,7 @@ const _sfc_main$1Z = /* @__PURE__ */ defineComponent({
58632
58827
  var _a;
58633
58828
  updateSelect();
58634
58829
  if (props.validateEvent) {
58635
- (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => debugWarn(err));
58830
+ (_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => debugWarn());
58636
58831
  }
58637
58832
  }, {
58638
58833
  flush: "post"
@@ -59479,6 +59674,9 @@ function useResize(panels, containerSize, pxSizes) {
59479
59674
  };
59480
59675
  const cacheCollapsedSize = [];
59481
59676
  const onCollapse = (index, type) => {
59677
+ if (!cacheCollapsedSize.length) {
59678
+ cacheCollapsedSize.push(...pxSizes.value);
59679
+ }
59482
59680
  const currentSizes = pxSizes.value;
59483
59681
  const currentIndex = type === "start" ? index : index + 1;
59484
59682
  const targetIndex = type === "start" ? index + 1 : index;
@@ -59641,10 +59839,11 @@ const _sfc_main$1V = /* @__PURE__ */ defineComponent({
59641
59839
  });
59642
59840
  const draggerPseudoClass = computed(() => {
59643
59841
  const prefix = ns.e("dragger");
59644
- let className = isHorizontal.value ? `${prefix}-horizontal` : `${prefix}-vertical`;
59645
- if (startPos.value)
59646
- className += ` ${prefix}-active`;
59647
- return className;
59842
+ return {
59843
+ [`${prefix}-horizontal`]: isHorizontal.value,
59844
+ [`${prefix}-vertical`]: !isHorizontal.value,
59845
+ [`${prefix}-active`]: !!startPos.value
59846
+ };
59648
59847
  });
59649
59848
  const startPos = ref(null);
59650
59849
  const onMousedown = (e) => {
@@ -60705,7 +60904,6 @@ const normalizeOptions = (params) => {
60705
60904
  } else if (isString$4(normalized.appendTo)) {
60706
60905
  let appendTo = document.querySelector(normalized.appendTo);
60707
60906
  if (!isElement$1(appendTo)) {
60708
- debugWarn("ElMessage", "the appendTo option is not an HTMLElement. Falling back to document.body.");
60709
60907
  appendTo = document.body;
60710
60908
  }
60711
60909
  normalized.appendTo = appendTo;
@@ -60815,7 +61013,6 @@ const ElMessage = withInstallFunction(message$2, "$message");
60815
61013
  const FOCUSABLE_CHILDREN = "_trap-focus-children";
60816
61014
  const FOCUS_STACK = [];
60817
61015
  const FOCUS_HANDLER = (e) => {
60818
- var _a;
60819
61016
  if (FOCUS_STACK.length === 0)
60820
61017
  return;
60821
61018
  const focusableElement = FOCUS_STACK[FOCUS_STACK.length - 1][FOCUSABLE_CHILDREN];
@@ -60838,12 +61035,6 @@ const FOCUS_HANDLER = (e) => {
60838
61035
  e.preventDefault();
60839
61036
  focusableElement[0].focus();
60840
61037
  }
60841
- if (process.env.NODE_ENV === "test") {
60842
- const index = focusableElement.indexOf(e.target);
60843
- if (index !== -1) {
60844
- (_a = focusableElement[goingBackward ? index - 1 : index + 1]) == null ? void 0 : _a.focus();
60845
- }
60846
- }
60847
61038
  }
60848
61039
  };
60849
61040
  const TrapFocus = {
@@ -61354,7 +61545,6 @@ const getAppendToElement = (props) => {
61354
61545
  appendTo = props.appendTo;
61355
61546
  }
61356
61547
  if (!isElement$1(appendTo)) {
61357
- debugWarn("ElMessageBox", "the appendTo option is not an HTMLElement. Falling back to document.body.");
61358
61548
  appendTo = document.body;
61359
61549
  }
61360
61550
  }
@@ -61728,7 +61918,6 @@ const notify = function(options = {}, context) {
61728
61918
  appendTo = document.querySelector(options.appendTo);
61729
61919
  }
61730
61920
  if (!isElement$1(appendTo)) {
61731
- debugWarn("ElNotification", "the appendTo option is not an HTMLElement. Falling back to document.body.");
61732
61921
  appendTo = document.body;
61733
61922
  }
61734
61923
  const container = document.createElement("div");
@@ -61787,7 +61976,16 @@ function closeAll() {
61787
61976
  });
61788
61977
  }
61789
61978
  }
61979
+ function updateOffsets(position = "top-right") {
61980
+ var _a, _b, _c;
61981
+ let verticalOffset = ((_b = (_a = notifications[position][0]) == null ? void 0 : _a.vm.props) == null ? void 0 : _b.offset) || 0;
61982
+ for (const { vm } of notifications[position]) {
61983
+ vm.component.props.offset = verticalOffset;
61984
+ verticalOffset += (((_c = vm.el) == null ? void 0 : _c.offsetHeight) || 0) + GAP_SIZE;
61985
+ }
61986
+ }
61790
61987
  notify.closeAll = closeAll;
61988
+ notify.updateOffsets = updateOffsets;
61791
61989
  notify._context = null;
61792
61990
 
61793
61991
  const ElNotification = withInstallFunction(notify, "$notify");
@@ -61803,7 +62001,7 @@ var Plugins = [
61803
62001
 
61804
62002
  var installer = makeInstaller([...Components, ...Plugins]);
61805
62003
 
61806
- /*! Element Plus v2.10.4 */
62004
+ /*! Element Plus v2.10.5 */
61807
62005
 
61808
62006
  var zhCn = {
61809
62007
  name: "zh-cn",
@@ -62390,7 +62588,7 @@ const _hoisted_2$H = {
62390
62588
  key: 0,
62391
62589
  class: "m-message-icons"
62392
62590
  };
62393
- const _hoisted_3$s = ["src"];
62591
+ const _hoisted_3$t = ["src"];
62394
62592
  const _hoisted_4$k = { class: "m-message-content" };
62395
62593
  const _hoisted_5$g = {
62396
62594
  key: 0,
@@ -62454,7 +62652,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
62454
62652
  key: 0,
62455
62653
  src: _ctx.iconURL,
62456
62654
  class: "m-message--icon"
62457
- }, null, 8, _hoisted_3$s)) : _ctx.type ? (openBlock(), createBlock(_component_icon, {
62655
+ }, null, 8, _hoisted_3$t)) : _ctx.type ? (openBlock(), createBlock(_component_icon, {
62458
62656
  key: 1,
62459
62657
  name: _ctx.type,
62460
62658
  class: "m-message--icon"
@@ -70234,7 +70432,7 @@ function i18n(key, ...args) {
70234
70432
 
70235
70433
  const _hoisted_1$U = { class: "di animated animate__fadeIn" };
70236
70434
  const _hoisted_2$G = { class: "my-header" };
70237
- const _hoisted_3$r = { class: "shdialog" };
70435
+ const _hoisted_3$s = { class: "shdialog" };
70238
70436
  const _hoisted_4$j = { class: "dialog-body" };
70239
70437
  const _hoisted_5$f = {
70240
70438
  key: 0,
@@ -70532,7 +70730,7 @@ const _sfc_main$1J = /* @__PURE__ */ defineComponent({
70532
70730
  ]),
70533
70731
  default: withCtx(() => [
70534
70732
  renderSlot(_ctx.$slots, "header", {}, void 0, true),
70535
- createElementVNode("div", _hoisted_3$r, [
70733
+ createElementVNode("div", _hoisted_3$s, [
70536
70734
  createElementVNode("div", _hoisted_4$j, [
70537
70735
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
70538
70736
  ])
@@ -70556,7 +70754,8 @@ const StarHorseDialog = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.definePro
70556
70754
  }, Symbol.toStringTag, { value: 'Module' }));
70557
70755
 
70558
70756
  const _hoisted_1$T = { class: "data-line" };
70559
- const _hoisted_2$F = { class: "flex-center" };
70757
+ const _hoisted_2$F = { class: "menu-title" };
70758
+ const _hoisted_3$r = { class: "flex flex-row items-center" };
70560
70759
  const _sfc_main$1I = /* @__PURE__ */ defineComponent({
70561
70760
  __name: "DataPicker",
70562
70761
  props: {
@@ -70707,9 +70906,9 @@ const _sfc_main$1I = /* @__PURE__ */ defineComponent({
70707
70906
  });
70708
70907
  return (_ctx, _cache) => {
70709
70908
  const _component_el_input = ElInput;
70710
- const _component_School = resolveComponent("School");
70711
- const _component_el_icon = ElIcon;
70909
+ const _component_star_horse_icon = __unplugin_components_0$a;
70712
70910
  const _component_Check = resolveComponent("Check");
70911
+ const _component_el_icon = ElIcon;
70713
70912
  const _component_el_tree = ElTree;
70714
70913
  const _component_el_scrollbar = ElScrollbar;
70715
70914
  const _component_el_pagination = ElPagination;
@@ -70761,13 +70960,12 @@ const _sfc_main$1I = /* @__PURE__ */ defineComponent({
70761
70960
  default: withCtx(({ data }) => [
70762
70961
  createElementVNode("div", _hoisted_1$T, [
70763
70962
  createElementVNode("div", _hoisted_2$F, [
70764
- createVNode(_component_el_icon, { size: 16 }, {
70765
- default: withCtx(() => [
70766
- createVNode(_component_School)
70767
- ]),
70768
- _: 1
70769
- }),
70770
- createTextVNode("  " + toDisplayString(data[_ctx.displayName]), 1)
70963
+ createElementVNode("div", _hoisted_3$r, [
70964
+ createVNode(_component_star_horse_icon, {
70965
+ "icon-class": data.children?.length > 0 ? "folder" : "document"
70966
+ }, null, 8, ["icon-class"]),
70967
+ createTextVNode("  " + toDisplayString(data[_ctx.displayName]), 1)
70968
+ ])
70771
70969
  ]),
70772
70970
  createVNode(_component_el_icon, { class: "is-selected" }, {
70773
70971
  default: withCtx(() => [
@@ -70808,7 +71006,7 @@ const _sfc_main$1I = /* @__PURE__ */ defineComponent({
70808
71006
 
70809
71007
  /* unplugin-vue-components disabled */
70810
71008
 
70811
- const DataPicker = /* @__PURE__ */ _export_sfc(_sfc_main$1I, [["__scopeId", "data-v-1dc29e8b"]]);
71009
+ const DataPicker = /* @__PURE__ */ _export_sfc(_sfc_main$1I, [["__scopeId", "data-v-e4748deb"]]);
70812
71010
 
70813
71011
  const _hoisted_1$S = { class: "data-wrapper" };
70814
71012
  const _sfc_main$1H = /* @__PURE__ */ defineComponent({
@@ -76455,8 +76653,8 @@ const _sfc_main$1u = /* @__PURE__ */ defineComponent({
76455
76653
  let batchName = [];
76456
76654
  let batchFields = props.fieldList?.batchFieldList || [];
76457
76655
  const analysis = (batchFields2) => {
76458
- batchFields2.forEach((item) => {
76459
- if ("N" == item.subFormFlag) {
76656
+ batchFields2?.forEach((item) => {
76657
+ if (false === item.subFormFlag || "N" == item.subFormFlag) {
76460
76658
  batchName.push(item.batchName);
76461
76659
  }
76462
76660
  });
@@ -76483,7 +76681,7 @@ const _sfc_main$1u = /* @__PURE__ */ defineComponent({
76483
76681
  let mergeUrl = props.compUrl?.mergeUrl;
76484
76682
  let flag = true;
76485
76683
  let sameBatchNames = analysisSameToParentField();
76486
- if (sameBatchNames && sameBatchNames.length > 0) {
76684
+ if (sameBatchNames?.length > 0) {
76487
76685
  flag = false;
76488
76686
  mergeUrl = props.compUrl?.batchMergeUrl;
76489
76687
  tempForm = [];
@@ -76533,7 +76731,7 @@ const _sfc_main$1u = /* @__PURE__ */ defineComponent({
76533
76731
  const resetForm = () => {
76534
76732
  dataForm.value = formFieldMapping(props.fieldList)?.defaultDatas;
76535
76733
  let data = unref(props.outerFormData);
76536
- if (data && Object.keys(data).length > 0) {
76734
+ if (Object.keys(data || {}).length > 0) {
76537
76735
  dataForm.value = { ...dataForm.value, ...data };
76538
76736
  }
76539
76737
  };
@@ -123007,14 +123205,14 @@ const StarHorseStaticTable$1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.de
123007
123205
  default: StarHorseStaticTable
123008
123206
  }, Symbol.toStringTag, { value: 'Module' }));
123009
123207
 
123010
- const _hoisted_1$I = {
123011
- key: 0,
123208
+ const _hoisted_1$I = { class: "flex items-center w-[100%]" };
123209
+ const _hoisted_2$y = ["onClick"];
123210
+ const _hoisted_3$n = {
123211
+ key: 1,
123012
123212
  class: "inner_button"
123013
123213
  };
123014
- const _hoisted_2$y = { key: 0 };
123015
- const _hoisted_3$n = ["onClick", "title"];
123016
- const _hoisted_4$f = { class: "flex items-center w-[100%]" };
123017
- const _hoisted_5$c = ["onClick"];
123214
+ const _hoisted_4$f = { key: 0 };
123215
+ const _hoisted_5$c = ["onClick", "title"];
123018
123216
  const _sfc_main$1o = /* @__PURE__ */ defineComponent({
123019
123217
  __name: "StarHorseButtonList",
123020
123218
  props: {
@@ -123096,7 +123294,9 @@ const _sfc_main$1o = /* @__PURE__ */ defineComponent({
123096
123294
  const uploadSuccess = (_response, _file, _fileList) => {
123097
123295
  tableCompFunc("refresh");
123098
123296
  };
123099
- let buttonList = ref([]);
123297
+ const buttonList = computed(() => {
123298
+ return extendBtnFunction();
123299
+ });
123100
123300
  const extendBtnFunction = () => {
123101
123301
  let arr = [];
123102
123302
  if (props.viewFlag) {
@@ -123174,57 +123374,78 @@ const _sfc_main$1o = /* @__PURE__ */ defineComponent({
123174
123374
  const setFormData = (val) => {
123175
123375
  dataForm.value = { ...val };
123176
123376
  };
123377
+ const authBtnLength = () => {
123378
+ const result = buttonList.value.filter((item) => permissions.value[item.authority]) || [];
123379
+ return result.length;
123380
+ };
123177
123381
  const init = async () => {
123178
123382
  };
123179
123383
  onMounted(() => {
123180
123384
  init();
123181
123385
  });
123182
- onUpdated(() => {
123183
- buttonList.value = extendBtnFunction();
123184
- });
123185
123386
  __expose({
123186
123387
  setFormData
123187
123388
  });
123188
123389
  return (_ctx, _cache) => {
123189
123390
  const _component_star_horse_icon = __unplugin_components_0$a;
123190
- const _component_el_dropdown_item = ElDropdownItem;
123191
- const _component_el_dropdown_menu = ElDropdownMenu;
123192
- const _component_el_dropdown = ElDropdown;
123193
- const _component_el_upload = ElUpload;
123194
123391
  const _component_el_tooltip = ElTooltip;
123195
123392
  const _component_el_menu_item = ElMenuItem;
123196
123393
  const _component_el_sub_menu = ElSubMenu;
123394
+ const _component_el_upload = ElUpload;
123197
123395
  const _component_el_menu = ElMenu;
123198
- return openBlock(), createElementBlock(Fragment, null, [
123199
- unref(showType) == "line" && Object.keys(unref(permissions) || {}).length > 0 ? (openBlock(), createElementBlock("ul", _hoisted_1$I, [
123200
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(buttonList), (item, key) => {
123201
- return openBlock(), createElementBlock(Fragment, {
123202
- key: unref(compKey)(item, key)
123203
- }, [
123204
- item.children?.length > 0 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
123205
- unref(permissions)[item.authority] ? (openBlock(), createBlock(_component_el_dropdown, {
123206
- key: 0,
123207
- size: unref(compSize),
123208
- "split-button": "",
123209
- style: { "background": "var(--star-horse-style)", "color": "var(--star-horse-white)" },
123210
- placement: "top-start"
123211
- }, {
123212
- dropdown: withCtx(() => [
123213
- createVNode(_component_el_dropdown_menu, null, {
123396
+ const _component_el_dropdown_item = ElDropdownItem;
123397
+ const _component_el_dropdown_menu = ElDropdownMenu;
123398
+ const _component_el_dropdown = ElDropdown;
123399
+ return unref(showType) == "dropdown" && Object.keys(unref(permissions) || {}).length > 0 && authBtnLength() > 3 ? (openBlock(), createBlock(_component_el_menu, {
123400
+ key: 0,
123401
+ mode: "horizontal",
123402
+ ellipsis: false
123403
+ }, {
123404
+ default: withCtx(() => [
123405
+ createVNode(_component_el_sub_menu, { index: "1" }, {
123406
+ title: withCtx(() => [
123407
+ createVNode(_component_el_tooltip, {
123408
+ content: "操作",
123409
+ placement: "top"
123410
+ }, {
123411
+ default: withCtx(() => [
123412
+ createVNode(_component_star_horse_icon, {
123413
+ "icon-class": "operation",
123414
+ size: "16px",
123415
+ cursor: "pointer"
123416
+ })
123417
+ ]),
123418
+ _: 1
123419
+ })
123420
+ ]),
123421
+ default: withCtx(() => [
123422
+ (openBlock(true), createElementBlock(Fragment, null, renderList(buttonList.value, (item, index) => {
123423
+ return openBlock(), createElementBlock(Fragment, {
123424
+ key: unref(compKey)(item, index)
123425
+ }, [
123426
+ item.children?.length > 0 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
123427
+ unref(permissions)[item.authority] ? (openBlock(), createBlock(_component_el_sub_menu, {
123428
+ key: 0,
123429
+ index: "2-" + index
123430
+ }, {
123431
+ title: withCtx(() => [
123432
+ createTextVNode(toDisplayString(item.btnName), 1)
123433
+ ]),
123214
123434
  default: withCtx(() => [
123215
- (openBlock(true), createElementBlock(Fragment, null, renderList(item.children, (sitem, skey) => {
123435
+ (openBlock(true), createElementBlock(Fragment, null, renderList(item.children, (sitem, sindex) => {
123216
123436
  return openBlock(), createElementBlock(Fragment, {
123217
- key: unref(compKey)(sitem, skey)
123437
+ key: unref(compKey)(sitem, sindex)
123218
123438
  }, [
123219
- unref(permissions)[sitem.authority] ? (openBlock(), createBlock(_component_el_dropdown_item, {
123439
+ unref(permissions)[sitem.authority] ? (openBlock(), createBlock(_component_el_menu_item, {
123220
123440
  key: 0,
123221
- onClick: ($event) => sitem.funcName(sitem.btnName)
123441
+ index: "3-" + index + "-" + sindex,
123442
+ onClick: ($event) => sitem.funcName(sitem.authority)
123222
123443
  }, {
123223
123444
  default: withCtx(() => [
123224
123445
  createVNode(_component_star_horse_icon, {
123225
123446
  "icon-class": item.icon || "edit",
123226
- size: "18px",
123227
- color: item.authority == "delete" || item.authority == "batchDelete" ? "#f56c6c" : "var(--star-horse-style)"
123447
+ color: item.authority == "delete" || item.authority == "batchDelete" ? "var(--el-style-danger)" : "var(--star-horse-style)",
123448
+ size: "14px"
123228
123449
  }, null, 8, ["icon-class", "color"]),
123229
123450
  createTextVNode(" " + toDisplayString(sitem.btnName) + " ", 1),
123230
123451
  sitem.helpMsg ? (openBlock(), createBlock(_sfc_main$1N, {
@@ -123233,201 +123454,178 @@ const _sfc_main$1o = /* @__PURE__ */ defineComponent({
123233
123454
  }, null, 8, ["message"])) : createCommentVNode("", true)
123234
123455
  ]),
123235
123456
  _: 2
123236
- }, 1032, ["onClick"])) : createCommentVNode("", true)
123457
+ }, 1032, ["index", "onClick"])) : createCommentVNode("", true)
123237
123458
  ], 64);
123238
123459
  }), 128))
123239
123460
  ]),
123240
123461
  _: 2
123241
- }, 1024)
123242
- ]),
123243
- default: withCtx(() => [
123244
- createVNode(_component_star_horse_icon, {
123245
- "icon-class": item.icon,
123246
- size: "18px"
123247
- }, null, 8, ["icon-class"]),
123248
- createTextVNode(" " + toDisplayString(item.btnName) + " ", 1)
123249
- ]),
123250
- _: 2
123251
- }, 1032, ["size"])) : createCommentVNode("", true)
123252
- ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
123253
- unref(permissions)[item.authority] && item.authority == "upload" ? (openBlock(), createElementBlock("li", _hoisted_2$y, [
123254
- createVNode(_component_el_upload, {
123255
- "auto-upload": true,
123256
- "on-change": upload,
123257
- "on-error": uploadError,
123258
- "on-progress": uploadProcess,
123259
- "on-success": uploadSuccess,
123260
- "show-file-list": false,
123261
- accept: ".xls,.xlsx",
123262
- "before-upload": beforeUpload,
123263
- action: __props.compUrl?.importUrl,
123264
- headers: { token: unref(getToken)() },
123265
- class: "upload",
123266
- name: "file",
123267
- title: "导入"
123268
- }, {
123462
+ }, 1032, ["index"])) : createCommentVNode("", true)
123463
+ ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
123464
+ unref(permissions)[item.authority] ? (openBlock(), createBlock(_component_el_menu_item, {
123465
+ key: 0,
123466
+ index: "1-" + index
123467
+ }, {
123468
+ default: withCtx(() => [
123469
+ item.authority == "upload" ? (openBlock(), createBlock(_component_el_upload, {
123470
+ key: 0,
123471
+ "auto-upload": true,
123472
+ "on-change": upload,
123473
+ "on-error": uploadError,
123474
+ "on-progress": uploadProcess,
123475
+ "on-success": uploadSuccess,
123476
+ "show-file-list": false,
123477
+ accept: ".xls,.xlsx",
123478
+ "before-upload": beforeUpload,
123479
+ action: __props.compUrl?.importUrl,
123480
+ headers: { token: unref(getToken)() },
123481
+ class: "upload flex items-center w-[100%]",
123482
+ name: "file"
123483
+ }, {
123484
+ default: withCtx(() => [
123485
+ createElementVNode("div", _hoisted_1$I, [
123486
+ createVNode(_component_star_horse_icon, {
123487
+ "icon-class": "excel-upload",
123488
+ size: "14px"
123489
+ }),
123490
+ createTextVNode(" " + toDisplayString(item.btnName), 1)
123491
+ ])
123492
+ ]),
123493
+ _: 2
123494
+ }, 1032, ["action", "headers"])) : (openBlock(), createElementBlock("div", {
123495
+ key: 1,
123496
+ class: "flex items-center w-[100%]",
123497
+ onClick: ($event) => item.funcName(item.authority)
123498
+ }, [
123499
+ createVNode(_component_star_horse_icon, {
123500
+ "icon-class": item.icon || "edit",
123501
+ color: item.authority == "delete" || item.authority == "batchDelete" ? "var(--el-color-danger)" : "var(--star-horse-style)",
123502
+ size: "14px"
123503
+ }, null, 8, ["icon-class", "color"]),
123504
+ createTextVNode(" " + toDisplayString(item.btnName) + " ", 1),
123505
+ item.helpMsg ? (openBlock(), createBlock(_sfc_main$1N, {
123506
+ key: 0,
123507
+ message: item.helpMsg
123508
+ }, null, 8, ["message"])) : createCommentVNode("", true)
123509
+ ], 8, _hoisted_2$y))
123510
+ ]),
123511
+ _: 2
123512
+ }, 1032, ["index"])) : createCommentVNode("", true)
123513
+ ], 64))
123514
+ ], 64);
123515
+ }), 128))
123516
+ ]),
123517
+ _: 1
123518
+ })
123519
+ ]),
123520
+ _: 1
123521
+ })) : Object.keys(unref(permissions) || {}).length > 0 ? (openBlock(), createElementBlock("ul", _hoisted_3$n, [
123522
+ (openBlock(true), createElementBlock(Fragment, null, renderList(buttonList.value, (item, key) => {
123523
+ return openBlock(), createElementBlock(Fragment, {
123524
+ key: unref(compKey)(item, key)
123525
+ }, [
123526
+ item.children?.length > 0 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
123527
+ unref(permissions)[item.authority] ? (openBlock(), createBlock(_component_el_dropdown, {
123528
+ key: 0,
123529
+ size: unref(compSize),
123530
+ "split-button": "",
123531
+ style: { "background": "var(--star-horse-style)", "color": "var(--star-horse-white)" },
123532
+ placement: "top-start"
123533
+ }, {
123534
+ dropdown: withCtx(() => [
123535
+ createVNode(_component_el_dropdown_menu, null, {
123269
123536
  default: withCtx(() => [
123270
- createVNode(_component_star_horse_icon, {
123271
- title: "导入",
123272
- width: "27px",
123273
- size: "18px",
123274
- "icon-class": "excel-upload"
123275
- })
123537
+ (openBlock(true), createElementBlock(Fragment, null, renderList(item.children, (sitem, skey) => {
123538
+ return openBlock(), createElementBlock(Fragment, {
123539
+ key: unref(compKey)(sitem, skey)
123540
+ }, [
123541
+ unref(permissions)[sitem.authority] ? (openBlock(), createBlock(_component_el_dropdown_item, {
123542
+ key: 0,
123543
+ onClick: ($event) => sitem.funcName(sitem.btnName)
123544
+ }, {
123545
+ default: withCtx(() => [
123546
+ createVNode(_component_star_horse_icon, {
123547
+ "icon-class": item.icon || "edit",
123548
+ size: "18px",
123549
+ color: item.authority == "delete" || item.authority == "batchDelete" ? "#f56c6c" : "var(--star-horse-style)"
123550
+ }, null, 8, ["icon-class", "color"]),
123551
+ createTextVNode(" " + toDisplayString(sitem.btnName) + " ", 1),
123552
+ sitem.helpMsg ? (openBlock(), createBlock(_sfc_main$1N, {
123553
+ key: 0,
123554
+ message: sitem.helpMsg
123555
+ }, null, 8, ["message"])) : createCommentVNode("", true)
123556
+ ]),
123557
+ _: 2
123558
+ }, 1032, ["onClick"])) : createCommentVNode("", true)
123559
+ ], 64);
123560
+ }), 128))
123276
123561
  ]),
123277
- _: 1
123278
- }, 8, ["action", "headers"])
123279
- ])) : (openBlock(), createElementBlock("li", {
123280
- key: 1,
123281
- onClick: ($event) => item.funcName(item.authority),
123282
- title: item.btnName
123283
- }, [
123562
+ _: 2
123563
+ }, 1024)
123564
+ ]),
123565
+ default: withCtx(() => [
123284
123566
  createVNode(_component_star_horse_icon, {
123285
- "icon-class": item.icon || "edit",
123286
- title: item.btnName,
123287
- size: "18px",
123288
- width: "27px",
123289
- color: item.authority == "delete" || item.authority == "batchDelete" ? "#f56c6c" : "var(--star-horse-style)"
123290
- }, null, 8, ["icon-class", "title", "color"]),
123291
- item.helpMsg ? (openBlock(), createBlock(_sfc_main$1N, {
123292
- key: 0,
123293
- message: item.helpMsg
123294
- }, null, 8, ["message"])) : createCommentVNode("", true)
123295
- ], 8, _hoisted_3$n))
123296
- ], 64))
123297
- ], 64);
123298
- }), 128))
123299
- ])) : createCommentVNode("", true),
123300
- unref(showType) == "dropdown" && Object.keys(unref(permissions) || {}).length > 0 ? (openBlock(), createBlock(_component_el_menu, {
123301
- key: 1,
123302
- mode: "horizontal",
123303
- ellipsis: false
123304
- }, {
123305
- default: withCtx(() => [
123306
- createVNode(_component_el_sub_menu, { index: "1" }, {
123307
- title: withCtx(() => [
123308
- createVNode(_component_el_tooltip, {
123309
- content: "操作",
123310
- placement: "top"
123567
+ "icon-class": item.icon,
123568
+ size: "18px"
123569
+ }, null, 8, ["icon-class"]),
123570
+ createTextVNode(" " + toDisplayString(item.btnName) + " ", 1)
123571
+ ]),
123572
+ _: 2
123573
+ }, 1032, ["size"])) : createCommentVNode("", true)
123574
+ ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
123575
+ unref(permissions)[item.authority] && item.authority == "upload" ? (openBlock(), createElementBlock("li", _hoisted_4$f, [
123576
+ createVNode(_component_el_upload, {
123577
+ "auto-upload": true,
123578
+ "on-change": upload,
123579
+ "on-error": uploadError,
123580
+ "on-progress": uploadProcess,
123581
+ "on-success": uploadSuccess,
123582
+ "show-file-list": false,
123583
+ accept: ".xls,.xlsx",
123584
+ "before-upload": beforeUpload,
123585
+ action: __props.compUrl?.importUrl,
123586
+ headers: { token: unref(getToken)() },
123587
+ class: "upload",
123588
+ name: "file",
123589
+ title: "导入"
123311
123590
  }, {
123312
123591
  default: withCtx(() => [
123313
123592
  createVNode(_component_star_horse_icon, {
123314
- "icon-class": "operation",
123315
- size: "16px",
123316
- cursor: "pointer"
123593
+ title: "导入",
123594
+ width: "27px",
123595
+ size: "18px",
123596
+ "icon-class": "excel-upload"
123317
123597
  })
123318
123598
  ]),
123319
123599
  _: 1
123320
- })
123321
- ]),
123322
- default: withCtx(() => [
123323
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(buttonList), (item, index) => {
123324
- return openBlock(), createElementBlock(Fragment, {
123325
- key: unref(compKey)(item, index)
123326
- }, [
123327
- item.children?.length > 0 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
123328
- unref(permissions)[item.authority] ? (openBlock(), createBlock(_component_el_sub_menu, {
123329
- key: 0,
123330
- index: "2-" + index
123331
- }, {
123332
- title: withCtx(() => [
123333
- createTextVNode(toDisplayString(item.btnName), 1)
123334
- ]),
123335
- default: withCtx(() => [
123336
- (openBlock(true), createElementBlock(Fragment, null, renderList(item.children, (sitem, sindex) => {
123337
- return openBlock(), createElementBlock(Fragment, {
123338
- key: unref(compKey)(sitem, sindex)
123339
- }, [
123340
- unref(permissions)[sitem.authority] ? (openBlock(), createBlock(_component_el_menu_item, {
123341
- key: 0,
123342
- index: "3-" + index + "-" + sindex,
123343
- onClick: ($event) => sitem.funcName(sitem.authority)
123344
- }, {
123345
- default: withCtx(() => [
123346
- createVNode(_component_star_horse_icon, {
123347
- "icon-class": item.icon || "edit",
123348
- color: item.authority == "delete" || item.authority == "batchDelete" ? "var(--el-style-danger)" : "var(--star-horse-style)",
123349
- size: "14px"
123350
- }, null, 8, ["icon-class", "color"]),
123351
- createTextVNode(" " + toDisplayString(sitem.btnName) + " ", 1),
123352
- sitem.helpMsg ? (openBlock(), createBlock(_sfc_main$1N, {
123353
- key: 0,
123354
- message: sitem.helpMsg
123355
- }, null, 8, ["message"])) : createCommentVNode("", true)
123356
- ]),
123357
- _: 2
123358
- }, 1032, ["index", "onClick"])) : createCommentVNode("", true)
123359
- ], 64);
123360
- }), 128))
123361
- ]),
123362
- _: 2
123363
- }, 1032, ["index"])) : createCommentVNode("", true)
123364
- ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
123365
- unref(permissions)[item.authority] ? (openBlock(), createBlock(_component_el_menu_item, {
123366
- key: 0,
123367
- index: "1-" + index
123368
- }, {
123369
- default: withCtx(() => [
123370
- item.authority == "upload" ? (openBlock(), createBlock(_component_el_upload, {
123371
- key: 0,
123372
- "auto-upload": true,
123373
- "on-change": upload,
123374
- "on-error": uploadError,
123375
- "on-progress": uploadProcess,
123376
- "on-success": uploadSuccess,
123377
- "show-file-list": false,
123378
- accept: ".xls,.xlsx",
123379
- "before-upload": beforeUpload,
123380
- action: __props.compUrl?.importUrl,
123381
- headers: { token: unref(getToken)() },
123382
- class: "upload flex items-center w-[100%]",
123383
- name: "file"
123384
- }, {
123385
- default: withCtx(() => [
123386
- createElementVNode("div", _hoisted_4$f, [
123387
- createVNode(_component_star_horse_icon, {
123388
- "icon-class": "excel-upload",
123389
- size: "14px"
123390
- }),
123391
- createTextVNode(" " + toDisplayString(item.btnName), 1)
123392
- ])
123393
- ]),
123394
- _: 2
123395
- }, 1032, ["action", "headers"])) : (openBlock(), createElementBlock("div", {
123396
- key: 1,
123397
- class: "flex items-center w-[100%]",
123398
- onClick: ($event) => item.funcName(item.authority)
123399
- }, [
123400
- createVNode(_component_star_horse_icon, {
123401
- "icon-class": item.icon || "edit",
123402
- color: item.authority == "delete" || item.authority == "batchDelete" ? "var(--el-color-danger)" : "var(--star-horse-style)",
123403
- size: "14px"
123404
- }, null, 8, ["icon-class", "color"]),
123405
- createTextVNode(" " + toDisplayString(item.btnName) + " ", 1),
123406
- item.helpMsg ? (openBlock(), createBlock(_sfc_main$1N, {
123407
- key: 0,
123408
- message: item.helpMsg
123409
- }, null, 8, ["message"])) : createCommentVNode("", true)
123410
- ], 8, _hoisted_5$c))
123411
- ]),
123412
- _: 2
123413
- }, 1032, ["index"])) : createCommentVNode("", true)
123414
- ], 64))
123415
- ], 64);
123416
- }), 128))
123417
- ]),
123418
- _: 1
123419
- })
123420
- ]),
123421
- _: 1
123422
- })) : createCommentVNode("", true)
123423
- ], 64);
123600
+ }, 8, ["action", "headers"])
123601
+ ])) : unref(permissions)[item.authority] ? (openBlock(), createElementBlock("li", {
123602
+ key: 1,
123603
+ onClick: ($event) => item.funcName(item.authority),
123604
+ title: item.btnName
123605
+ }, [
123606
+ createVNode(_component_star_horse_icon, {
123607
+ "icon-class": item.icon || "edit",
123608
+ title: item.btnName,
123609
+ size: "18px",
123610
+ width: "27px",
123611
+ color: item.authority == "delete" || item.authority == "batchDelete" ? "#f56c6c" : "var(--star-horse-style)"
123612
+ }, null, 8, ["icon-class", "title", "color"]),
123613
+ item.helpMsg ? (openBlock(), createBlock(_sfc_main$1N, {
123614
+ key: 0,
123615
+ message: item.helpMsg
123616
+ }, null, 8, ["message"])) : createCommentVNode("", true)
123617
+ ], 8, _hoisted_5$c)) : createCommentVNode("", true)
123618
+ ], 64))
123619
+ ], 64);
123620
+ }), 128))
123621
+ ])) : createCommentVNode("", true);
123424
123622
  };
123425
123623
  }
123426
123624
  });
123427
123625
 
123428
123626
  /* unplugin-vue-components disabled */
123429
123627
 
123430
- const __unplugin_components_2 = /* @__PURE__ */ _export_sfc(_sfc_main$1o, [["__scopeId", "data-v-05974278"]]);
123628
+ const __unplugin_components_2 = /* @__PURE__ */ _export_sfc(_sfc_main$1o, [["__scopeId", "data-v-8624681c"]]);
123431
123629
 
123432
123630
  const StarHorseButtonList = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
123433
123631
  __proto__: null,
@@ -124050,13 +124248,14 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
124050
124248
  );
124051
124249
  const multipleSelection = ref([]);
124052
124250
  const starHorseTableCompRef = ref();
124053
- let pageInfo = reactive({
124251
+ const baseInfo = {
124054
124252
  pageSize: 20,
124055
124253
  currentPage: 1,
124056
124254
  totalData: 0,
124057
124255
  totalPage: 0,
124058
124256
  dataList: []
124059
- });
124257
+ };
124258
+ let pageInfo = ref({});
124060
124259
  let searchFields = reactive([]);
124061
124260
  let orderBys = reactive([]);
124062
124261
  let fieldVisible = ref(false);
@@ -124142,6 +124341,7 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
124142
124341
  return permissions.value;
124143
124342
  };
124144
124343
  const init = async () => {
124344
+ pageInfo.value = { ...baseInfo };
124145
124345
  if (props.btnPermissions && Object.keys(props.btnPermissions).length > 0) {
124146
124346
  permissions.value = props.btnPermissions;
124147
124347
  } else {
@@ -124150,7 +124350,7 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
124150
124350
  if (!props.fieldList?.stopAutoLoad) {
124151
124351
  loadByPage();
124152
124352
  } else {
124153
- pageInfo.dataList = props.tableDataList || [];
124353
+ pageInfo.value.dataList = props.tableDataList || [];
124154
124354
  starHorseTableCompRef.value.clearSelection();
124155
124355
  props.reverseDataList?.forEach((item) => {
124156
124356
  starHorseTableCompRef.value.toggleRowSelection(item, true);
@@ -124163,7 +124363,7 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
124163
124363
  () => props.tableDataList,
124164
124364
  (val) => {
124165
124365
  if (props.fieldList?.stopAutoLoad) {
124166
- pageInfo.dataList = val;
124366
+ pageInfo.value.dataList = val;
124167
124367
  }
124168
124368
  },
124169
124369
  { deep: true, immediate: false }
@@ -124373,11 +124573,11 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
124373
124573
  }
124374
124574
  };
124375
124575
  const pageSizeClick = (pageSize) => {
124376
- pageInfo.pageSize = pageSize;
124576
+ pageInfo.value.pageSize = pageSize;
124377
124577
  loadByPage();
124378
124578
  };
124379
124579
  const pageChangeClick = (currentPage) => {
124380
- pageInfo.currentPage = currentPage;
124580
+ pageInfo.value.currentPage = currentPage;
124381
124581
  loadByPage();
124382
124582
  };
124383
124583
  const inputFieldName = ref("");
@@ -124408,14 +124608,17 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
124408
124608
  return;
124409
124609
  }
124410
124610
  let params = {
124411
- currentPage: pageInfo.currentPage,
124412
- pageSize: pageInfo.pageSize,
124611
+ currentPage: pageInfo.value.currentPage,
124612
+ pageSize: pageInfo.value.pageSize,
124413
124613
  fieldList: searchTemp,
124414
124614
  orderBy: orderByTemp
124415
124615
  };
124416
124616
  return params;
124417
124617
  };
124418
- const loadByPage = () => {
124618
+ const loadByPage = (initPageInfo) => {
124619
+ if (initPageInfo) {
124620
+ pageInfo.value = { ...baseInfo };
124621
+ }
124419
124622
  let url = props.compUrl?.pageListUrl;
124420
124623
  let params = createParams();
124421
124624
  if (props.compUrl?.redirect) {
@@ -124440,12 +124643,12 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
124440
124643
  return;
124441
124644
  }
124442
124645
  let redata = res?.data?.data;
124443
- pageInfo.dataList = redata?.dataList || redata;
124646
+ pageInfo.value.dataList = redata?.dataList || redata;
124444
124647
  if (props.dialogInput) {
124445
124648
  filterData();
124446
124649
  }
124447
- pageInfo.totalPage = redata?.totalPages;
124448
- pageInfo.totalData = redata?.totalDatas;
124650
+ pageInfo.value.totalPage = redata?.totalPages;
124651
+ pageInfo.value.totalData = redata?.totalDatas;
124449
124652
  }).catch((err) => {
124450
124653
  console.log(err);
124451
124654
  }).finally(() => {
@@ -124454,8 +124657,8 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
124454
124657
  };
124455
124658
  const filterData = () => {
124456
124659
  let name = unref(inputFieldName);
124457
- if (pageInfo.dataList && name && inputFieldVal.value) {
124458
- let row = pageInfo.dataList.find(
124660
+ if (pageInfo.value.dataList && name && inputFieldVal.value) {
124661
+ let row = pageInfo.value.dataList.find(
124459
124662
  (item) => item[name] == inputFieldVal.value
124460
124663
  );
124461
124664
  if (row) {
@@ -124503,8 +124706,6 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
124503
124706
  dynamicForm.setSelectData(row);
124504
124707
  emits("selectItem", row);
124505
124708
  };
124506
- let buttonList = ref([]);
124507
- let toolbarButtonList = ref([]);
124508
124709
  const extendBtnFunction = () => {
124509
124710
  let arr = [];
124510
124711
  const extendBtnsCopy = props.extendBtns ?? [];
@@ -124561,6 +124762,7 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
124561
124762
  );
124562
124763
  return arr;
124563
124764
  };
124765
+ const buttonList = computed(() => extendBtnFunction());
124564
124766
  const expandCommonFun = (name, row, parentRow) => {
124565
124767
  let id = analysisPrimaryKeys(props.expandTable?.primaryKey, row);
124566
124768
  for (let key in id) {
@@ -124630,12 +124832,6 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
124630
124832
  onMounted(() => {
124631
124833
  init();
124632
124834
  });
124633
- onUpdated(() => {
124634
- if (JSON.stringify(buttonList.value) !== JSON.stringify(extendBtnFunction())) {
124635
- buttonList.value = extendBtnFunction();
124636
- toolbarButtonList.value = buttonList.value.filter((item) => item.position == "toolbar") || [];
124637
- }
124638
- });
124639
124835
  __expose({
124640
124836
  init,
124641
124837
  //查询
@@ -124665,6 +124861,7 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
124665
124861
  const _component_el_card = ElCard;
124666
124862
  const _component_el_space = ElSpace;
124667
124863
  const _component_el_scrollbar = ElScrollbar;
124864
+ const _component_el_button = ElButton;
124668
124865
  const _component_el_pagination = ElPagination;
124669
124866
  return openBlock(), createElementBlock(Fragment, null, [
124670
124867
  createVNode(_component_star_horse_dialog, {
@@ -124923,17 +125120,17 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
124923
125120
  isDynamic: __props.isDynamic,
124924
125121
  showBatchField: __props.showBatchField
124925
125122
  }, null, 8, ["fieldList", "compSize", "compUrl", "dataFormat", "globalConfig", "isDynamic", "showBatchField"]),
124926
- unref(buttonList).length > 0 && Object.keys(unref(permissions) || {}).length > 0 ? (openBlock(), createBlock(_component_el_table_column, {
125123
+ buttonList.value.length > 0 && Object.keys(unref(permissions) || {}).length > 0 ? (openBlock(), createBlock(_component_el_table_column, {
124927
125124
  key: 2,
124928
125125
  fixed: "right",
124929
125126
  label: "操作",
124930
- width: unref(buttonList).length > 3 ? 160 : 110
125127
+ width: buttonList.value.length > 3 ? 160 : 110
124931
125128
  }, {
124932
125129
  default: withCtx((scope) => [
124933
125130
  createVNode(_sfc_main$1n, {
124934
125131
  row: scope.row,
124935
125132
  permissions: unref(permissions),
124936
- buttonList: unref(buttonList),
125133
+ buttonList: buttonList.value,
124937
125134
  hideBtnCondition: __props.hideBtnCondition,
124938
125135
  compSize: unref(compSize)
124939
125136
  }, null, 8, ["row", "permissions", "buttonList", "hideBtnCondition", "compSize"])
@@ -124972,7 +125169,7 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
124972
125169
  createVNode(_sfc_main$1n, {
124973
125170
  row: data,
124974
125171
  permissions: unref(permissions),
124975
- buttonList: unref(buttonList),
125172
+ buttonList: buttonList.value,
124976
125173
  showLimit: 6,
124977
125174
  hideBtnCondition: __props.hideBtnCondition,
124978
125175
  compSize: unref(compSize)
@@ -125020,14 +125217,25 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
125020
125217
  onSizeChange: pageSizeClick,
125021
125218
  size: unref(compSize),
125022
125219
  "page-sizes": [20, 50, 100, 200, 300, 400],
125023
- layout: "total, sizes, prev, pager, next, jumper",
125220
+ layout: "total, sizes, prev, pager, next, jumper,slot",
125024
125221
  currentPage: unref(pageInfo).currentPage,
125025
125222
  "onUpdate:currentPage": _cache[4] || (_cache[4] = ($event) => unref(pageInfo).currentPage = $event),
125026
125223
  "page-size": unref(pageInfo).pageSize,
125027
125224
  "onUpdate:pageSize": _cache[5] || (_cache[5] = ($event) => unref(pageInfo).pageSize = $event),
125028
125225
  pageCount: unref(pageInfo).totalPage,
125029
125226
  "onUpdate:pageCount": _cache[6] || (_cache[6] = ($event) => unref(pageInfo).totalPage = $event)
125030
- }, null, 8, ["total", "size", "currentPage", "page-size", "pageCount"])) : createCommentVNode("", true)
125227
+ }, {
125228
+ default: withCtx(() => [
125229
+ createVNode(_component_el_button, {
125230
+ text: "",
125231
+ icon: "refresh",
125232
+ size: unref(compSize),
125233
+ onClick: loadByPage,
125234
+ title: "刷新"
125235
+ }, null, 8, ["size"])
125236
+ ]),
125237
+ _: 1
125238
+ }, 8, ["total", "size", "currentPage", "page-size", "pageCount"])) : createCommentVNode("", true)
125031
125239
  ])
125032
125240
  ], 64);
125033
125241
  };
@@ -125036,7 +125244,7 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
125036
125244
 
125037
125245
  /* unplugin-vue-components disabled */
125038
125246
 
125039
- const __unplugin_components_1$1 = /* @__PURE__ */ _export_sfc(_sfc_main$1l, [["__scopeId", "data-v-cc5402b1"]]);
125247
+ const __unplugin_components_1$1 = /* @__PURE__ */ _export_sfc(_sfc_main$1l, [["__scopeId", "data-v-6f98dd0f"]]);
125040
125248
 
125041
125249
  const StarHorseTableComp = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
125042
125250
  __proto__: null,
@@ -125320,7 +125528,7 @@ const _sfc_main$1j = /* @__PURE__ */ defineComponent({
125320
125528
  let collapse = ref(false);
125321
125529
  const _compKey = compKey;
125322
125530
  let pageInfo = reactive({
125323
- pageSize: 100,
125531
+ pageSize: 20,
125324
125532
  currentPage: 1,
125325
125533
  totalData: 0,
125326
125534
  totalPage: 0,
@@ -125499,6 +125707,7 @@ const _sfc_main$1j = /* @__PURE__ */ defineComponent({
125499
125707
  const _component_el_tree = ElTree;
125500
125708
  const _component_el_menu = ElMenu;
125501
125709
  const _component_el_scrollbar = ElScrollbar;
125710
+ const _component_el_button = ElButton;
125502
125711
  const _component_el_pagination = ElPagination;
125503
125712
  const _component_el_card = ElCard;
125504
125713
  return openBlock(), createBlock(_component_el_card, {
@@ -125571,7 +125780,7 @@ const _sfc_main$1j = /* @__PURE__ */ defineComponent({
125571
125780
  command: "add"
125572
125781
  }, {
125573
125782
  default: withCtx(() => _cache[4] || (_cache[4] = [
125574
- createTextVNode("添加数据", -1)
125783
+ createTextVNode("添加数据 ", -1)
125575
125784
  ])),
125576
125785
  _: 1,
125577
125786
  __: [4]
@@ -125628,7 +125837,7 @@ const _sfc_main$1j = /* @__PURE__ */ defineComponent({
125628
125837
  createVNode(_component_star_horse_icon, {
125629
125838
  "icon-class": data.children?.length > 0 ? "folder" : "document"
125630
125839
  }, null, 8, ["icon-class"]),
125631
- createTextVNode(toDisplayString(node.label) + " ", 1),
125840
+ createTextVNode(" " + toDisplayString(node.label) + " ", 1),
125632
125841
  __props.showCode ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
125633
125842
  createTextVNode(" (" + toDisplayString(data["code"] || data[__props.preps.code || __props.preps.value || "value"] || "") + ") ", 1)
125634
125843
  ], 64)) : createCommentVNode("", true)
@@ -125689,14 +125898,26 @@ const _sfc_main$1j = /* @__PURE__ */ defineComponent({
125689
125898
  onCurrentChange: pageChangeClick,
125690
125899
  onSizeChange: pageSizeClick,
125691
125900
  size: unref(compSize),
125692
- layout: "prev, pager, next",
125901
+ "page-sizes": [10, 20, 30, 50],
125902
+ layout: " prev, pager, next,slot,sizes",
125693
125903
  currentPage: unref(pageInfo).currentPage,
125694
125904
  "onUpdate:currentPage": _cache[1] || (_cache[1] = ($event) => unref(pageInfo).currentPage = $event),
125695
125905
  "page-size": unref(pageInfo).pageSize,
125696
125906
  "onUpdate:pageSize": _cache[2] || (_cache[2] = ($event) => unref(pageInfo).pageSize = $event),
125697
125907
  pageCount: unref(pageInfo).totalPage,
125698
125908
  "onUpdate:pageCount": _cache[3] || (_cache[3] = ($event) => unref(pageInfo).totalPage = $event)
125699
- }, null, 8, ["total", "size", "currentPage", "page-size", "pageCount"])
125909
+ }, {
125910
+ default: withCtx(() => [
125911
+ createVNode(_component_el_button, {
125912
+ text: "",
125913
+ icon: "refresh",
125914
+ size: unref(compSize),
125915
+ onClick: loadByPage,
125916
+ title: "刷新"
125917
+ }, null, 8, ["size"])
125918
+ ]),
125919
+ _: 1
125920
+ }, 8, ["total", "size", "currentPage", "page-size", "pageCount"])
125700
125921
  ])) : createCommentVNode("", true)
125701
125922
  ]),
125702
125923
  _: 1
@@ -125707,7 +125928,7 @@ const _sfc_main$1j = /* @__PURE__ */ defineComponent({
125707
125928
 
125708
125929
  /* unplugin-vue-components disabled */
125709
125930
 
125710
- const StarHorseTree = /* @__PURE__ */ _export_sfc(_sfc_main$1j, [["__scopeId", "data-v-f544e839"]]);
125931
+ const StarHorseTree = /* @__PURE__ */ _export_sfc(_sfc_main$1j, [["__scopeId", "data-v-430dca43"]]);
125711
125932
 
125712
125933
  const StarHorseTree$1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
125713
125934
  __proto__: null,
@@ -151687,7 +151908,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
151687
151908
 
151688
151909
  /* unplugin-vue-components disabled */
151689
151910
 
151690
- const pageSelectItem = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-28c3884d"]]);
151911
+ const pageSelectItem = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-cd4141d9"]]);
151691
151912
 
151692
151913
  const pageSelectItem$1 = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
151693
151914
  __proto__: null,