element-less 0.0.54 → 0.0.56

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 (168) hide show
  1. package/README.md +22 -22
  2. package/custom/aceEditor/index.d.ts +50 -72
  3. package/custom/aceEditor/src/aceEditor.vue.d.ts +2 -2
  4. package/custom/button-search/index.d.ts +1 -3
  5. package/custom/caption/index.d.ts +7 -12
  6. package/custom/container/index.d.ts +18 -23
  7. package/custom/container/src/container.vue.d.ts +26 -26
  8. package/custom/data-modal/index.d.ts +71 -105
  9. package/custom/data-modal/src/dataModal.vue.d.ts +2 -2
  10. package/custom/dynamic/create/index.d.ts +31 -37
  11. package/custom/dynamic/create/src/create.vue.d.ts +23 -23
  12. package/custom/dynamic/designer/index.d.ts +65 -89
  13. package/custom/dynamic/designer/src/designer.d.ts +1 -1
  14. package/custom/dynamic/designer/src/designer.vue.d.ts +2 -2
  15. package/custom/dynamic/designer/src/innerItem.vue.d.ts +2 -2
  16. package/custom/dynamic/designerView/index.d.ts +64 -91
  17. package/custom/dynamic/designerView/src/designerView.d.ts +1 -1
  18. package/custom/dynamic/designerView/src/designerView.vue.d.ts +2 -2
  19. package/custom/dynamic/render/index.d.ts +118 -156
  20. package/custom/dynamic/render/src/form.vue.d.ts +8 -8
  21. package/custom/dynamic/render/src/innerObjectArray.vue.d.ts +6 -6
  22. package/custom/dynamic/render/src/render.d.ts +1 -1
  23. package/custom/dynamic/render/src/render.vue.d.ts +2 -2
  24. package/custom/dynamic/render/src/renderAsync.vue.d.ts +2 -2
  25. package/custom/form-node/index.d.ts +49 -65
  26. package/custom/form-node/src/formNode.vue.d.ts +12 -12
  27. package/custom/inputTag/index.d.ts +55 -81
  28. package/custom/inputTag/src/inputTag.vue.d.ts +2 -2
  29. package/custom/jsonEditor/index.d.ts +46 -63
  30. package/custom/jsonEditor/src/jsonEditor.vue.d.ts +2 -2
  31. package/custom/jsonViewer/index.d.ts +3 -3
  32. package/custom/list/index.d.ts +23 -50
  33. package/custom/list/src/list.vue.d.ts +1 -1
  34. package/custom/mdEditor/index.d.ts +51 -72
  35. package/custom/mdEditor/src/mdEditor.vue.d.ts +2 -2
  36. package/custom/mdPreview/index.d.ts +3 -4
  37. package/custom/menu-context/index.d.ts +8 -14
  38. package/custom/menu-dropdown/index.d.ts +7 -12
  39. package/custom/menu-tool/index.d.ts +13 -17
  40. package/custom/qrCode/index.d.ts +1 -1
  41. package/custom/stampBadge/src/stampBadge.d.ts +2 -2
  42. package/custom/tipTabEditor/index.d.ts +23 -16
  43. package/custom/tipTabEditor/src/tipTapEditor.d.ts +1 -0
  44. package/custom/tipTabEditor/src/tipTapEditor.vue.d.ts +2 -0
  45. package/custom/uEditor/index.d.ts +56 -76
  46. package/custom/uEditor/src/uEditor.vue.d.ts +2 -2
  47. package/custom/wangEditor/index.d.ts +52 -71
  48. package/custom/wangEditor/src/wangEditor.vue.d.ts +2 -2
  49. package/custom/waterFall/index.d.ts +21 -33
  50. package/custom/waterFall/src/lib/components/LazyImg.vue.d.ts +3 -3
  51. package/custom/waterFall/src/lib/components/Waterfall.vue.d.ts +1 -1
  52. package/custom/waterFall/src/waterFall.vue.d.ts +18 -18
  53. package/custom/workFlow/index.d.ts +31 -37
  54. package/custom/workFlow/src/nodeItem.vue.d.ts +23 -23
  55. package/custom/workFlow/src/workFlow.vue.d.ts +23 -23
  56. package/element-less.cjs +1 -1
  57. package/element-less.iife.js +1 -1
  58. package/element-less.js +1 -1
  59. package/element-less.umd.cjs +1 -1
  60. package/elementui/autocomplete/index.d.ts +190 -272
  61. package/elementui/autocomplete/src/autocomplete.vue.d.ts +33 -24
  62. package/elementui/cascader/index.d.ts +336 -568
  63. package/elementui/cascader/src/cascader.vue.d.ts +44 -38
  64. package/elementui/checkbox/src/checkboxButton.vue.d.ts +20 -20
  65. package/elementui/col/index.d.ts +12 -23
  66. package/elementui/collapse-transition/index.d.ts +3 -5
  67. package/elementui/date-picker/index.d.ts +147 -273
  68. package/elementui/date-picker/src/datePicker.vue.d.ts +11 -17
  69. package/elementui/date-picker-range/index.d.ts +148 -263
  70. package/elementui/date-picker-range/src/datePickerRange.vue.d.ts +11 -17
  71. package/elementui/dialog/index.d.ts +55 -78
  72. package/elementui/dialog/src/dialog.d.ts +1 -1
  73. package/elementui/dialog/src/dialog.vue.d.ts +4 -4
  74. package/elementui/drawer/src/drawer.d.ts +1 -1
  75. package/elementui/dropdown/src/dropdown.d.ts +5 -10
  76. package/elementui/dropdown/src/dropdown.vue.d.ts +15 -24
  77. package/elementui/form/index.d.ts +33 -51
  78. package/elementui/form/src/form.d.ts +2 -2
  79. package/elementui/form/src/form.vue.d.ts +6 -6
  80. package/elementui/form-item/index.d.ts +44 -60
  81. package/elementui/form-item/src/formItem.d.ts +1 -1
  82. package/elementui/form-item/src/formItem.vue.d.ts +2 -2
  83. package/elementui/form-query/index.d.ts +41 -62
  84. package/elementui/form-query/src/formQuery.d.ts +2 -2
  85. package/elementui/form-query/src/formQuery.vue.d.ts +12 -12
  86. package/elementui/image/index.d.ts +32 -63
  87. package/elementui/image/src/image.d.ts +1 -1
  88. package/elementui/image/src/image.vue.d.ts +2 -2
  89. package/elementui/image-viewer/index.d.ts +18 -44
  90. package/elementui/input/index.d.ts +130 -144
  91. package/elementui/input/src/input.vue.d.ts +20 -8
  92. package/elementui/input-number/index.d.ts +120 -106
  93. package/elementui/input-number/src/inputNumber.vue.d.ts +35 -8
  94. package/elementui/input-range/index.d.ts +134 -139
  95. package/elementui/input-range/src/inputRange.vue.d.ts +19 -7
  96. package/elementui/menu/index.d.ts +43 -74
  97. package/elementui/menu/src/menu.vue.d.ts +8 -8
  98. package/elementui/menu-item/index.d.ts +25 -17
  99. package/elementui/menu-item/src/menuItem.d.ts +6 -1
  100. package/elementui/menu-item/src/menuItem.vue.d.ts +12 -3
  101. package/elementui/menu-sub/index.d.ts +35 -18
  102. package/elementui/option/index.d.ts +4 -7
  103. package/elementui/option-group/index.d.ts +3 -3
  104. package/elementui/radio/index.d.ts +146 -210
  105. package/elementui/radio/src/radio.vue.d.ts +6 -6
  106. package/elementui/radio/src/radioButton.vue.d.ts +6 -6
  107. package/elementui/row/index.d.ts +10 -15
  108. package/elementui/row/src/row.d.ts +1 -1
  109. package/elementui/row/src/row.vue.d.ts +2 -2
  110. package/elementui/segmented/index.d.ts +65 -103
  111. package/elementui/segmented/src/segmented.vue.d.ts +2 -2
  112. package/elementui/select/index.d.ts +147 -214
  113. package/elementui/select/src/select.vue.d.ts +14 -14
  114. package/elementui/slider/index.d.ts +73 -109
  115. package/elementui/slider/src/slider.vue.d.ts +4 -4
  116. package/elementui/switch/index.d.ts +83 -90
  117. package/elementui/switch/src/switch.vue.d.ts +2 -2
  118. package/elementui/table/index.d.ts +560 -157
  119. package/elementui/table/src/table.d.ts +100 -2
  120. package/elementui/table/src/table.vue.d.ts +222 -9
  121. package/elementui/table-column/index.d.ts +2826 -1071
  122. package/elementui/table-column/src/tableColumn.d.ts +57 -1
  123. package/elementui/table-column/src/tableColumn.vue.d.ts +123 -2
  124. package/elementui/table-column/src/tableColumnBool.vue.d.ts +123 -2
  125. package/elementui/table-column/src/tableColumnCheckbox.vue.d.ts +123 -2
  126. package/elementui/table-column/src/tableColumnEnum.vue.d.ts +123 -2
  127. package/elementui/table-column/src/tableColumnExpand.vue.d.ts +123 -2
  128. package/elementui/table-column/src/tableColumnHeader.vue.d.ts +123 -2
  129. package/elementui/table-column/src/tableColumnImage.vue.d.ts +123 -2
  130. package/elementui/table-column/src/tableColumnOperate.vue.d.ts +123 -2
  131. package/elementui/table-column/src/tableColumnSelect.vue.d.ts +123 -2
  132. package/elementui/tabs/index.d.ts +26 -51
  133. package/elementui/tabs/src/tabs.d.ts +1 -1
  134. package/elementui/tabs/src/tabs.vue.d.ts +2 -2
  135. package/elementui/textarea/index.d.ts +127 -129
  136. package/elementui/textarea/src/textarea.vue.d.ts +19 -7
  137. package/elementui/time-picker/index.d.ts +146 -300
  138. package/elementui/time-picker/src/timePicker.vue.d.ts +11 -17
  139. package/elementui/time-picker-range/index.d.ts +146 -300
  140. package/elementui/time-picker-range/src/timePickerRange.vue.d.ts +11 -17
  141. package/elementui/tree/index.d.ts +78 -122
  142. package/elementui/tree/src/tree.vue.d.ts +2 -2
  143. package/elementui/tree-select/index.d.ts +78 -122
  144. package/elementui/tree-select/src/treeSelect.vue.d.ts +2 -2
  145. package/elementui/upload/index.d.ts +96 -173
  146. package/elementui/upload/src/upload.vue.d.ts +3 -3
  147. package/{index-CD9eXbbF.js → index-2Bv7b5DP.js} +1163 -175
  148. package/index-RWIh1MgW.cjs +1 -0
  149. package/{inner-CWtlykuG.cjs → inner-Co-EBslN.cjs} +1 -1
  150. package/{inner-LhLoYJ0I.js → inner-YAACwdSB.js} +5 -5
  151. package/{innerItem-CH1M0mN8.js → innerItem-CnFsIpmO.js} +2 -2
  152. package/{innerItem-DfgLjnS2.cjs → innerItem-DUKhrCqv.cjs} +1 -1
  153. package/{mode-csharp-bZdFTxy0.cjs → mode-csharp-B4dXOitJ.cjs} +1 -1
  154. package/{mode-csharp-z3kb5Yjx.js → mode-csharp-C1pDB4Xs.js} +14 -14
  155. package/{mode-css-BLyhPcoN.cjs → mode-css-BIt_d2L7.cjs} +1 -1
  156. package/{mode-css-i2xnJ-FQ.js → mode-css-DHYwb__9.js} +22 -22
  157. package/{mode-javascript-SSfvDbP6.js → mode-javascript-BVS0PFpM.js} +34 -36
  158. package/mode-javascript-D8Gt8Zho.cjs +1 -0
  159. package/{mode-json-DRIAvH6E.js → mode-json-BoxRotGl.js} +10 -10
  160. package/{mode-json-BT4jeFr0.cjs → mode-json-DmFbbAPv.cjs} +1 -1
  161. package/{mode-mysql-BMl_HB18.cjs → mode-mysql-C0U6L5uL.cjs} +1 -1
  162. package/{mode-mysql-DV6AcTms.js → mode-mysql-KyUsrQNc.js} +8 -8
  163. package/package.json +1 -1
  164. package/props/formItemProps.d.ts +2 -10
  165. package/props/formProps.d.ts +2 -2
  166. package/style.css +1 -1
  167. package/index-C-pCKR9Q.cjs +0 -1
  168. package/mode-javascript-CLWBNfwn.cjs +0 -1
@@ -541,6 +541,7 @@ var stdin_default$b = {
541
541
  tel: "电话",
542
542
  save: "保存",
543
543
  clear: "清空",
544
+ undo: "撤销",
544
545
  cancel: "取消",
545
546
  confirm: "确认",
546
547
  delete: "删除",
@@ -4480,7 +4481,7 @@ function fromPairs(pairs) {
4480
4481
  var index = -1, length = pairs == null ? 0 : pairs.length, result = {};
4481
4482
  while (++index < length) {
4482
4483
  var pair = pairs[index];
4483
- result[pair[0]] = pair[1];
4484
+ baseAssignValue(result, pair[0], pair[1]);
4484
4485
  }
4485
4486
  return result;
4486
4487
  }
@@ -4527,7 +4528,7 @@ var pick = flatRest(function(object, paths) {
4527
4528
  });
4528
4529
  const epPropKey = "__epPropKey";
4529
4530
  const definePropType = (val) => val;
4530
- const isEpProp = (val) => isObject$3(val) && !!val[epPropKey];
4531
+ const isEpProp = (val) => isObject$3(val) && !!val["__epPropKey"];
4531
4532
  const buildProp = (prop, key) => {
4532
4533
  if (!isObject$3(prop) || isEpProp(prop)) return prop;
4533
4534
  const { values, required, default: defaultValue, type, validator } = prop;
@@ -4639,6 +4640,21 @@ var _sfc_main80 = /* @__PURE__ */ defineComponent({
4639
4640
  ]));
4640
4641
  }
4641
4642
  }), delete_default = _sfc_main80;
4643
+ var _sfc_main130 = /* @__PURE__ */ defineComponent({
4644
+ name: "Headset",
4645
+ __name: "headset",
4646
+ setup(__props) {
4647
+ return (_ctx, _cache) => (openBlock(), createElementBlock("svg", {
4648
+ xmlns: "http://www.w3.org/2000/svg",
4649
+ viewBox: "0 0 1024 1024"
4650
+ }, [
4651
+ createElementVNode("path", {
4652
+ fill: "currentColor",
4653
+ d: "M896 529.152V512a384 384 0 1 0-768 0v17.152A128 128 0 0 1 320 640v128a128 128 0 1 1-256 0V512a448 448 0 1 1 896 0v256a128 128 0 1 1-256 0V640a128 128 0 0 1 192-110.848M896 640a64 64 0 0 0-128 0v128a64 64 0 0 0 128 0zm-768 0v128a64 64 0 0 0 128 0V640a64 64 0 1 0-128 0"
4654
+ })
4655
+ ]));
4656
+ }
4657
+ }), headset_default = _sfc_main130;
4642
4658
  var _sfc_main201 = /* @__PURE__ */ defineComponent({
4643
4659
  name: "Plus",
4644
4660
  __name: "plus",
@@ -6655,7 +6671,7 @@ const _export_sfc$1 = (sfc, props2) => {
6655
6671
  }
6656
6672
  return target;
6657
6673
  };
6658
- const FormItem = /* @__PURE__ */ _export_sfc$1(_sfc_main$2n, [["__scopeId", "data-v-964f2c70"]]);
6674
+ const FormItem = /* @__PURE__ */ _export_sfc$1(_sfc_main$2n, [["__scopeId", "data-v-d39a1aa3"]]);
6659
6675
  const ElsFormItem = withInstall(FormItem);
6660
6676
  const _sfc_main$2m = /* @__PURE__ */ defineComponent({
6661
6677
  ...{ name: "ElsFormNode" },
@@ -6723,7 +6739,7 @@ const _sfc_main$2m = /* @__PURE__ */ defineComponent({
6723
6739
  };
6724
6740
  }
6725
6741
  });
6726
- const FormNode = /* @__PURE__ */ _export_sfc$1(_sfc_main$2m, [["__scopeId", "data-v-ec8c3ebd"]]);
6742
+ const FormNode = /* @__PURE__ */ _export_sfc$1(_sfc_main$2m, [["__scopeId", "data-v-c800fb00"]]);
6727
6743
  const ElsFormNode = withInstall(FormNode);
6728
6744
  function _isSlot$5(s) {
6729
6745
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
@@ -7122,7 +7138,13 @@ const useSizeProp = buildProp({
7122
7138
  required: false
7123
7139
  });
7124
7140
  const useEmptyValuesProps = buildProps({
7141
+ /**
7142
+ * @description empty values supported by the component
7143
+ */
7125
7144
  emptyValues: Array,
7145
+ /**
7146
+ * @description return value when cleared, if you want to set `undefined`, use `() => undefined`
7147
+ */
7126
7148
  valueOnClear: {
7127
7149
  type: definePropType([
7128
7150
  String,
@@ -7139,7 +7161,13 @@ const useEmptyValuesProps = buildProps({
7139
7161
  }
7140
7162
  });
7141
7163
  const ariaProps = buildProps({
7164
+ /**
7165
+ * @description native `aria-label` attribute
7166
+ */
7142
7167
  ariaLabel: String,
7168
+ /**
7169
+ * @description native `aria-orientation` attribute
7170
+ */
7143
7171
  ariaOrientation: {
7144
7172
  type: String,
7145
7173
  values: [
@@ -7148,27 +7176,32 @@ const ariaProps = buildProps({
7148
7176
  "undefined"
7149
7177
  ]
7150
7178
  },
7179
+ /**
7180
+ * @description native `aria-controls` attribute
7181
+ */
7151
7182
  ariaControls: String
7152
7183
  });
7153
7184
  const useAriaProps = (arias) => {
7154
7185
  return pick(ariaProps, arias);
7155
7186
  };
7156
- const teleportProps = buildProps({
7157
- to: {
7158
- type: definePropType([String, Object]),
7159
- required: true
7160
- },
7161
- disabled: Boolean
7162
- });
7163
7187
  const useDelayedToggleProps = buildProps({
7188
+ /**
7189
+ * @description delay of appearance, in millisecond, not valid in controlled mode
7190
+ */
7164
7191
  showAfter: {
7165
7192
  type: Number,
7166
7193
  default: 0
7167
7194
  },
7195
+ /**
7196
+ * @description delay of disappear, in millisecond, not valid in controlled mode
7197
+ */
7168
7198
  hideAfter: {
7169
7199
  type: Number,
7170
7200
  default: 200
7171
7201
  },
7202
+ /**
7203
+ * @description disappear automatically, in millisecond, not valid in controlled mode
7204
+ */
7172
7205
  autoClose: {
7173
7206
  type: Number,
7174
7207
  default: 0
@@ -7727,7 +7760,6 @@ var yn = [Te, Ve, We, ke];
7727
7760
  we({ defaultModifiers: yn });
7728
7761
  var bn = [Te, Ve, We, ke, Ot, gt, $t, lt, xt];
7729
7762
  we({ defaultModifiers: bn });
7730
- const POSITIONING_STRATEGIES = ["fixed", "absolute"];
7731
7763
  const popperCoreConfigProps = buildProps({
7732
7764
  boundariesPadding: {
7733
7765
  type: Number,
@@ -7741,22 +7773,31 @@ const popperCoreConfigProps = buildProps({
7741
7773
  type: Boolean,
7742
7774
  default: true
7743
7775
  },
7776
+ /**
7777
+ * @description offset of the Tooltip
7778
+ */
7744
7779
  offset: {
7745
7780
  type: Number,
7746
7781
  default: 12
7747
7782
  },
7783
+ /**
7784
+ * @description position of Tooltip
7785
+ */
7748
7786
  placement: {
7749
7787
  type: String,
7750
7788
  values: Ee,
7751
7789
  default: "bottom"
7752
7790
  },
7791
+ /**
7792
+ * @description [popper.js](https://popper.js.org/docs/v2/) parameters
7793
+ */
7753
7794
  popperOptions: {
7754
7795
  type: definePropType(Object),
7755
7796
  default: () => ({})
7756
7797
  },
7757
7798
  strategy: {
7758
7799
  type: String,
7759
- values: POSITIONING_STRATEGIES,
7800
+ values: ["fixed", "absolute"],
7760
7801
  default: "absolute"
7761
7802
  }
7762
7803
  });
@@ -7764,11 +7805,15 @@ const popperContentProps = buildProps({
7764
7805
  ...popperCoreConfigProps,
7765
7806
  ...popperArrowProps,
7766
7807
  id: String,
7767
- style: { type: definePropType([
7768
- String,
7769
- Array,
7770
- Object
7771
- ]) },
7808
+ style: {
7809
+ type: definePropType([
7810
+ String,
7811
+ Array,
7812
+ Object,
7813
+ Boolean
7814
+ ]),
7815
+ default: void 0
7816
+ },
7772
7817
  className: { type: definePropType([
7773
7818
  String,
7774
7819
  Array,
@@ -7791,11 +7836,15 @@ const popperContentProps = buildProps({
7791
7836
  Array,
7792
7837
  Object
7793
7838
  ]) },
7794
- popperStyle: { type: definePropType([
7795
- String,
7796
- Array,
7797
- Object
7798
- ]) },
7839
+ popperStyle: {
7840
+ type: definePropType([
7841
+ String,
7842
+ Array,
7843
+ Object,
7844
+ Boolean
7845
+ ]),
7846
+ default: void 0
7847
+ },
7799
7848
  referenceEl: { type: definePropType(Object) },
7800
7849
  triggerTargetEl: { type: definePropType(Object) },
7801
7850
  stopPopperMouseEvent: {
@@ -7810,26 +7859,53 @@ const popperContentProps = buildProps({
7810
7859
  const useTooltipContentProps = buildProps({
7811
7860
  ...useDelayedToggleProps,
7812
7861
  ...popperContentProps,
7813
- appendTo: { type: teleportProps.to.type },
7862
+ /**
7863
+ * @description which element the tooltip CONTENT appends to
7864
+ */
7865
+ appendTo: { type: definePropType([String, Object]) },
7866
+ /**
7867
+ * @description display content, can be overridden by `slot#content`
7868
+ */
7814
7869
  content: {
7815
7870
  type: String,
7816
7871
  default: ""
7817
7872
  },
7873
+ /**
7874
+ * @description whether `content` is treated as HTML string
7875
+ */
7818
7876
  rawContent: Boolean,
7877
+ /**
7878
+ * @description when tooltip inactive and `persistent` is `false` , popconfirm will be destroyed
7879
+ */
7819
7880
  persistent: Boolean,
7881
+ /**
7882
+ * @description visibility of Tooltip
7883
+ */
7820
7884
  visible: {
7821
7885
  type: definePropType(Boolean),
7822
7886
  default: null
7823
7887
  },
7888
+ /**
7889
+ * @description animation name
7890
+ */
7824
7891
  transition: String,
7892
+ /**
7893
+ * @description whether tooltip content is teleported, if `true` it will be teleported to where `append-to` sets
7894
+ */
7825
7895
  teleported: {
7826
7896
  type: Boolean,
7827
7897
  default: true
7828
7898
  },
7899
+ /**
7900
+ * @description whether Tooltip is disabled
7901
+ */
7829
7902
  disabled: Boolean,
7830
7903
  ...useAriaProps(["ariaLabel"])
7831
7904
  });
7832
7905
  const tagProps = buildProps({
7906
+ /**
7907
+ * @description type of Tag
7908
+ */
7833
7909
  type: {
7834
7910
  type: String,
7835
7911
  values: [
@@ -7841,14 +7917,32 @@ const tagProps = buildProps({
7841
7917
  ],
7842
7918
  default: "primary"
7843
7919
  },
7920
+ /**
7921
+ * @description whether Tag can be removed
7922
+ */
7844
7923
  closable: Boolean,
7924
+ /**
7925
+ * @description whether to disable animations
7926
+ */
7845
7927
  disableTransitions: Boolean,
7928
+ /**
7929
+ * @description whether Tag has a highlighted border
7930
+ */
7846
7931
  hit: Boolean,
7932
+ /**
7933
+ * @description background color of the Tag
7934
+ */
7847
7935
  color: String,
7936
+ /**
7937
+ * @description size of Tag
7938
+ */
7848
7939
  size: {
7849
7940
  type: String,
7850
7941
  values: componentSizes
7851
7942
  },
7943
+ /**
7944
+ * @description theme of Tag
7945
+ */
7852
7946
  effect: {
7853
7947
  type: String,
7854
7948
  values: [
@@ -7858,6 +7952,9 @@ const tagProps = buildProps({
7858
7952
  ],
7859
7953
  default: "light"
7860
7954
  },
7955
+ /**
7956
+ * @description whether Tag is rounded
7957
+ */
7861
7958
  round: Boolean
7862
7959
  });
7863
7960
  const defaultProps$1 = {
@@ -7867,8 +7964,17 @@ const defaultProps$1 = {
7867
7964
  options: "options"
7868
7965
  };
7869
7966
  const selectProps$1 = buildProps({
7967
+ /**
7968
+ * @description the name attribute of select input
7969
+ */
7870
7970
  name: String,
7971
+ /**
7972
+ * @description native input id
7973
+ */
7871
7974
  id: String,
7975
+ /**
7976
+ * @description binding value
7977
+ */
7872
7978
  modelValue: {
7873
7979
  type: definePropType([
7874
7980
  Array,
@@ -7879,108 +7985,234 @@ const selectProps$1 = buildProps({
7879
7985
  ]),
7880
7986
  default: void 0
7881
7987
  },
7988
+ /**
7989
+ * @description the autocomplete attribute of select input
7990
+ */
7882
7991
  autocomplete: {
7883
7992
  type: String,
7884
7993
  default: "off"
7885
7994
  },
7995
+ /**
7996
+ * @description for non-filterable Select, this prop decides if the option menu pops up when the input is focused
7997
+ */
7886
7998
  automaticDropdown: Boolean,
7999
+ /**
8000
+ * @description size of Input
8001
+ */
7887
8002
  size: useSizeProp,
8003
+ /**
8004
+ * @description tooltip theme, built-in theme: `dark` / `light`
8005
+ */
7888
8006
  effect: {
7889
8007
  type: definePropType(String),
7890
8008
  default: "light"
7891
8009
  },
8010
+ /**
8011
+ * @description whether Select is disabled
8012
+ */
7892
8013
  disabled: {
7893
8014
  type: Boolean,
7894
8015
  default: void 0
7895
8016
  },
8017
+ /**
8018
+ * @description whether select can be cleared
8019
+ */
7896
8020
  clearable: Boolean,
8021
+ /**
8022
+ * @description whether Select is filterable
8023
+ */
7897
8024
  filterable: Boolean,
8025
+ /**
8026
+ * @description whether creating new items is allowed. To use this, `filterable` must be true
8027
+ */
7898
8028
  allowCreate: Boolean,
8029
+ /**
8030
+ * @description whether Select is loading data from server
8031
+ */
7899
8032
  loading: Boolean,
8033
+ /**
8034
+ * @description custom class name for Select's dropdown
8035
+ */
7900
8036
  popperClass: {
7901
8037
  type: String,
7902
8038
  default: ""
7903
8039
  },
8040
+ /**
8041
+ * @description custom style for Select's dropdown
8042
+ */
7904
8043
  popperStyle: { type: definePropType([String, Object]) },
8044
+ /**
8045
+ * @description [popper.js](https://popper.js.org/docs/v2/) parameters
8046
+ */
7905
8047
  popperOptions: {
7906
8048
  type: definePropType(Object),
7907
8049
  default: () => ({})
7908
8050
  },
8051
+ /**
8052
+ * @description whether options are loaded from server
8053
+ */
7909
8054
  remote: Boolean,
8055
+ /**
8056
+ * @description debounce delay during remote search, in milliseconds
8057
+ */
7910
8058
  debounce: {
7911
8059
  type: Number,
7912
8060
  default: 300
7913
8061
  },
8062
+ /**
8063
+ * @description displayed text while loading data from server, default is 'Loading'
8064
+ */
7914
8065
  loadingText: String,
8066
+ /**
8067
+ * @description displayed text when no data matches the filtering query, you can also use slot `empty`, default is 'No matching data'
8068
+ */
7915
8069
  noMatchText: String,
8070
+ /**
8071
+ * @description displayed text when there is no options, you can also use slot `empty`, default is 'No data'
8072
+ */
7916
8073
  noDataText: String,
8074
+ /**
8075
+ * @description function that gets called when the input value changes. Its parameter is the current input value. To use this, `filterable` must be true
8076
+ */
7917
8077
  remoteMethod: { type: definePropType(Function) },
8078
+ /**
8079
+ * @description custom filter method, the first parameter is the current input value. To use this, `filterable` must be true
8080
+ */
7918
8081
  filterMethod: { type: definePropType(Function) },
8082
+ /**
8083
+ * @description whether multiple-select is activated
8084
+ */
7919
8085
  multiple: Boolean,
8086
+ /**
8087
+ * @description maximum number of options user can select when `multiple` is `true`. No limit when set to 0
8088
+ */
7920
8089
  multipleLimit: {
7921
8090
  type: Number,
7922
8091
  default: 0
7923
8092
  },
8093
+ /**
8094
+ * @description placeholder, default is 'Select'
8095
+ */
7924
8096
  placeholder: { type: String },
8097
+ /**
8098
+ * @description select first matching option on enter key. Use with `filterable` or `remote`
8099
+ */
7925
8100
  defaultFirstOption: Boolean,
8101
+ /**
8102
+ * @description when `multiple` and `filter` is true, whether to reserve current keyword after selecting an option
8103
+ */
7926
8104
  reserveKeyword: {
7927
8105
  type: Boolean,
7928
8106
  default: true
7929
8107
  },
8108
+ /**
8109
+ * @description unique identity key name for value, required when value is an object
8110
+ */
7930
8111
  valueKey: {
7931
8112
  type: String,
7932
8113
  default: "value"
7933
8114
  },
8115
+ /**
8116
+ * @description whether to collapse tags to a text when multiple selecting
8117
+ */
7934
8118
  collapseTags: Boolean,
8119
+ /**
8120
+ * @description whether show all selected tags when mouse hover text of collapse-tags. To use this, `collapse-tags` must be true
8121
+ */
7935
8122
  collapseTagsTooltip: Boolean,
8123
+ /**
8124
+ * @description configuration object for the collapse-tags tooltip. To use this, `collapse-tags` and `collapse-tags-tooltip` must be true
8125
+ */
7936
8126
  tagTooltip: {
7937
8127
  type: definePropType(Object),
7938
8128
  default: () => ({})
7939
8129
  },
8130
+ /**
8131
+ * @description the max tags number to be shown. To use this, `collapse-tags` must be true
8132
+ */
7940
8133
  maxCollapseTags: {
7941
8134
  type: Number,
7942
8135
  default: 1
7943
8136
  },
8137
+ /**
8138
+ * @description whether select dropdown is teleported, if `true` it will be teleported to where `append-to` sets
8139
+ */
7944
8140
  teleported: useTooltipContentProps.teleported,
8141
+ /**
8142
+ * @description when select dropdown is inactive and `persistent` is `false`, select dropdown will be destroyed
8143
+ */
7945
8144
  persistent: {
7946
8145
  type: Boolean,
7947
8146
  default: true
7948
8147
  },
8148
+ /**
8149
+ * @description custom clear icon component
8150
+ */
7949
8151
  clearIcon: {
7950
8152
  type: iconPropType,
7951
8153
  default: circle_close_default
7952
8154
  },
8155
+ /**
8156
+ * @description whether the width of the dropdown is the same as the input
8157
+ */
7953
8158
  fitInputWidth: Boolean,
8159
+ /**
8160
+ * @description custom suffix icon component
8161
+ */
7954
8162
  suffixIcon: {
7955
8163
  type: iconPropType,
7956
8164
  default: arrow_down_default
7957
8165
  },
8166
+ /**
8167
+ * @description tag type
8168
+ */
7958
8169
  tagType: {
7959
8170
  ...tagProps.type,
7960
8171
  default: "info"
7961
8172
  },
8173
+ /**
8174
+ * @description tag effect
8175
+ */
7962
8176
  tagEffect: {
7963
8177
  ...tagProps.effect,
7964
8178
  default: "light"
7965
8179
  },
8180
+ /**
8181
+ * @description whether to trigger form validation
8182
+ */
7966
8183
  validateEvent: {
7967
8184
  type: Boolean,
7968
8185
  default: true
7969
8186
  },
8187
+ /**
8188
+ * @description in remote search method show suffix icon
8189
+ */
7970
8190
  remoteShowSuffix: Boolean,
8191
+ /**
8192
+ * @description determines whether the arrow is displayed
8193
+ */
7971
8194
  showArrow: {
7972
8195
  type: Boolean,
7973
8196
  default: true
7974
8197
  },
8198
+ /**
8199
+ * @description offset of the dropdown
8200
+ */
7975
8201
  offset: {
7976
8202
  type: Number,
7977
8203
  default: 12
7978
8204
  },
8205
+ /**
8206
+ * @description position of dropdown
8207
+ */
7979
8208
  placement: {
7980
8209
  type: definePropType(String),
7981
8210
  values: Ee,
7982
8211
  default: "bottom-start"
7983
8212
  },
8213
+ /**
8214
+ * @description list of possible positions for dropdown
8215
+ */
7984
8216
  fallbackPlacements: {
7985
8217
  type: definePropType(Array),
7986
8218
  default: [
@@ -7990,10 +8222,16 @@ const selectProps$1 = buildProps({
7990
8222
  "left"
7991
8223
  ]
7992
8224
  },
8225
+ /**
8226
+ * @description tabindex for input
8227
+ */
7993
8228
  tabindex: {
7994
8229
  type: [String, Number],
7995
8230
  default: 0
7996
8231
  },
8232
+ /**
8233
+ * @description which element the selection dropdown appends to
8234
+ */
7997
8235
  appendTo: useTooltipContentProps.appendTo,
7998
8236
  options: { type: definePropType(Array) },
7999
8237
  props: {
@@ -8501,7 +8739,7 @@ const _sfc_main$2h = defineComponent({
8501
8739
  },
8502
8740
  emits: emits$4
8503
8741
  });
8504
- const Radio2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$2h, [["__scopeId", "data-v-97e11bcb"]]);
8742
+ const Radio2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$2h, [["__scopeId", "data-v-5f54928e"]]);
8505
8743
  const emits$3 = ["select", "readdataed", "click-option", "update:modelValue", "update:select", "update:select-label", "change"];
8506
8744
  const _sfc_main$2g = defineComponent({
8507
8745
  name: "ElsRadioButton",
@@ -8513,7 +8751,7 @@ const _sfc_main$2g = defineComponent({
8513
8751
  },
8514
8752
  emits: emits$3
8515
8753
  });
8516
- const RadioButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$2g, [["__scopeId", "data-v-fd347ceb"]]);
8754
+ const RadioButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$2g, [["__scopeId", "data-v-3e37cff4"]]);
8517
8755
  const ElsRadio = withInstall(Radio2);
8518
8756
  const ElsRadioButton = withInstall(RadioButton);
8519
8757
  function _isSlot$2(s) {
@@ -9098,7 +9336,7 @@ const _sfc_main$2f = defineComponent({
9098
9336
  },
9099
9337
  emits: emits$2
9100
9338
  });
9101
- const Checkbox2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$2f, [["__scopeId", "data-v-d3988cd4"]]);
9339
+ const Checkbox2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$2f, [["__scopeId", "data-v-78ccb311"]]);
9102
9340
  const emits$1 = ["update:modelValue", "update:select", "update:select-label", "change", "click-option", "select", "blur", "clear", "readdataed"];
9103
9341
  const _sfc_main$2e = defineComponent({
9104
9342
  name: "ElsCheckboxButton",
@@ -9110,7 +9348,7 @@ const _sfc_main$2e = defineComponent({
9110
9348
  },
9111
9349
  emits: emits$1
9112
9350
  });
9113
- const CheckboxButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$2e, [["__scopeId", "data-v-821825e5"]]);
9351
+ const CheckboxButton = /* @__PURE__ */ _export_sfc$1(_sfc_main$2e, [["__scopeId", "data-v-9d3338dd"]]);
9114
9352
  const ElsCheckbox = withInstall(Checkbox2);
9115
9353
  const ElsCheckboxButton = withInstall(CheckboxButton);
9116
9354
  function _isSlot$1(s) {
@@ -9315,7 +9553,7 @@ const _sfc_main$2c = /* @__PURE__ */ defineComponent({
9315
9553
  };
9316
9554
  }
9317
9555
  });
9318
- const OptionGroup = /* @__PURE__ */ _export_sfc$1(_sfc_main$2c, [["__scopeId", "data-v-e69e7edd"]]);
9556
+ const OptionGroup = /* @__PURE__ */ _export_sfc$1(_sfc_main$2c, [["__scopeId", "data-v-48929c79"]]);
9319
9557
  const ElsOptionGroup = withInstall(OptionGroup);
9320
9558
  const rowProps = buildProps({
9321
9559
  ...rowProps$1,
@@ -9788,7 +10026,7 @@ const _sfc_main$29 = /* @__PURE__ */ defineComponent({
9788
10026
  };
9789
10027
  }
9790
10028
  });
9791
- const Form = /* @__PURE__ */ _export_sfc$1(_sfc_main$29, [["__scopeId", "data-v-3a05e6e6"]]);
10029
+ const Form = /* @__PURE__ */ _export_sfc$1(_sfc_main$29, [["__scopeId", "data-v-989e937a"]]);
9792
10030
  const formProps = formProps$1;
9793
10031
  const ElsForm = withInstall(Form);
9794
10032
  const formQueryProps = buildProps({
@@ -10116,63 +10354,153 @@ const _sfc_main$28 = /* @__PURE__ */ defineComponent({
10116
10354
  };
10117
10355
  }
10118
10356
  });
10119
- const FormQuery = /* @__PURE__ */ _export_sfc$1(_sfc_main$28, [["__scopeId", "data-v-f0e7111f"]]);
10357
+ const FormQuery = /* @__PURE__ */ _export_sfc$1(_sfc_main$28, [["__scopeId", "data-v-c99c0c10"]]);
10120
10358
  const ElsFormQuery = withInstall(FormQuery);
10121
10359
  var defaults_default$1 = {
10360
+ /**
10361
+ * @description type of the column. If set to `selection`, the column will display checkbox. If set to `index`, the column will display index of the row (staring from 1). If set to `expand`, the column will display expand icon
10362
+ */
10122
10363
  type: {
10123
10364
  type: String,
10124
10365
  default: "default"
10125
10366
  },
10367
+ /**
10368
+ * @description column label
10369
+ */
10126
10370
  label: String,
10371
+ /**
10372
+ * @description class name of cells in the column
10373
+ */
10127
10374
  className: String,
10375
+ /**
10376
+ * @description class name of the label of this column
10377
+ */
10128
10378
  labelClassName: String,
10379
+ /**
10380
+ * @description
10381
+ */
10129
10382
  property: String,
10383
+ /**
10384
+ * @description field name. You can also use its alias: `property`
10385
+ */
10130
10386
  prop: String,
10387
+ /**
10388
+ * @description column width
10389
+ */
10131
10390
  width: {
10132
10391
  type: [String, Number],
10133
10392
  default: ""
10134
10393
  },
10394
+ /**
10395
+ * @description column minimum width. Columns with `width` has a fixed width, while columns with `min-width` has a width that is distributed in proportion
10396
+ */
10135
10397
  minWidth: {
10136
10398
  type: [String, Number],
10137
10399
  default: ""
10138
10400
  },
10401
+ /**
10402
+ * @description render function for table header of this column
10403
+ */
10139
10404
  renderHeader: Function,
10405
+ /**
10406
+ * @description whether column can be sorted. Remote sorting can be done by setting this attribute to 'custom' and listening to the `sort-change` event of Table
10407
+ */
10140
10408
  sortable: {
10141
10409
  type: [Boolean, String],
10142
10410
  default: false
10143
10411
  },
10412
+ /**
10413
+ * @description sorting method, works when `sortable` is `true`. Should return a number, just like Array.sort
10414
+ */
10144
10415
  sortMethod: Function,
10416
+ /**
10417
+ * @description specify which property to sort by, works when `sortable` is `true` and `sort-method` is `undefined`. If set to an Array, the column will sequentially sort by the next property if the previous one is equal
10418
+ */
10145
10419
  sortBy: [
10146
10420
  String,
10147
10421
  Function,
10148
10422
  Array
10149
10423
  ],
10424
+ /**
10425
+ * @description whether column width can be resized, works when `border` of `el-table` is `true`
10426
+ */
10150
10427
  resizable: {
10151
10428
  type: Boolean,
10152
10429
  default: true
10153
10430
  },
10431
+ /**
10432
+ * @description column's key. If you need to use the filter-change event, you need this attribute to identify which column is being filtered
10433
+ */
10154
10434
  columnKey: String,
10435
+ /**
10436
+ * @description alignment, the value should be 'left' \/ 'center' \/ 'right'
10437
+ */
10155
10438
  align: String,
10439
+ /**
10440
+ * @description alignment of the table header. If omitted, the value of the above `align` attribute will be applied, the value should be 'left' \/ 'center' \/ 'right'
10441
+ */
10156
10442
  headerAlign: String,
10443
+ /**
10444
+ * @description whether to hide extra content and show them in a tooltip when hovering on the cell
10445
+ */
10157
10446
  showOverflowTooltip: {
10158
10447
  type: [Boolean, Object],
10159
10448
  default: void 0
10160
10449
  },
10450
+ /**
10451
+ * @description function that formats cell tooltip content, works when `show-overflow-tooltip` is `true`
10452
+ */
10161
10453
  tooltipFormatter: Function,
10454
+ /**
10455
+ * @description whether column is fixed at left / right. Will be fixed at left if `true`
10456
+ */
10162
10457
  fixed: [Boolean, String],
10458
+ /**
10459
+ * @description function that formats cell content
10460
+ */
10163
10461
  formatter: Function,
10462
+ /**
10463
+ * @description function that determines if a certain row can be selected, works when `type` is 'selection'
10464
+ */
10164
10465
  selectable: Function,
10466
+ /**
10467
+ * @description whether to reserve selection after data refreshing, works when `type` is 'selection'. Note that `row-key` is required for this to work
10468
+ */
10165
10469
  reserveSelection: Boolean,
10470
+ /**
10471
+ * @description data filtering method. If `filter-multiple` is on, this method will be called multiple times for each row, and a row will display if one of the calls returns `true`
10472
+ */
10166
10473
  filterMethod: Function,
10474
+ /**
10475
+ * @description filter value for selected data, might be useful when table header is rendered with `render-header`
10476
+ */
10167
10477
  filteredValue: Array,
10478
+ /**
10479
+ * @description an array of data filtering options. For each element in this array, `text` and `value` are required
10480
+ */
10168
10481
  filters: Array,
10482
+ /**
10483
+ * @description placement for the filter dropdown
10484
+ */
10169
10485
  filterPlacement: String,
10486
+ /**
10487
+ * @description whether data filtering supports multiple options
10488
+ */
10170
10489
  filterMultiple: {
10171
10490
  type: Boolean,
10172
10491
  default: true
10173
10492
  },
10493
+ /**
10494
+ * @description className for the filter dropdown
10495
+ */
10174
10496
  filterClassName: String,
10497
+ /**
10498
+ * @description customize indices for each row, works on columns with `type=index`
10499
+ */
10175
10500
  index: [Number, Function],
10501
+ /**
10502
+ * @description the order of the sorting strategies used when sorting the data, works when `sortable` is `true`. Accepts an array, as the user clicks on the header, the column is sorted in order of the elements in the array
10503
+ */
10176
10504
  sortOrders: {
10177
10505
  type: Array,
10178
10506
  default: () => {
@@ -11018,54 +11346,153 @@ const ElsColumnImage = withInstall(_sfc_main$21);
11018
11346
  const ElsColumnOperate = withInstall(_sfc_main$20);
11019
11347
  const ElsColumnSelect = withInstall(_sfc_main$1$);
11020
11348
  var defaults_default = {
11349
+ /**
11350
+ * @description table data
11351
+ */
11021
11352
  data: {
11022
11353
  type: Array,
11023
11354
  default: () => []
11024
11355
  },
11356
+ /**
11357
+ * @description size of Table
11358
+ */
11025
11359
  size: useSizeProp,
11026
11360
  width: [String, Number],
11361
+ /**
11362
+ * @description table's height. By default it has an `auto` height. If its value is a number, the height is measured in pixels; if its value is a string, the value will be assigned to element's style.height, the height is affected by external styles
11363
+ */
11027
11364
  height: [String, Number],
11365
+ /**
11366
+ * @description table's max-height. The legal value is a number or the height in px
11367
+ */
11028
11368
  maxHeight: [String, Number],
11369
+ /**
11370
+ * @description whether width of column automatically fits its container
11371
+ */
11029
11372
  fit: {
11030
11373
  type: Boolean,
11031
11374
  default: true
11032
11375
  },
11376
+ /**
11377
+ * @description whether Table is striped
11378
+ */
11033
11379
  stripe: Boolean,
11380
+ /**
11381
+ * @description whether Table has vertical border
11382
+ */
11034
11383
  border: Boolean,
11384
+ /**
11385
+ * @description key of row data, used for optimizing rendering. Required if `reserve-selection` is on or display tree data. When its type is String, multi-level access is supported, e.g. `user.info.id`, but `user.info[0].id` is not supported, in which case `Function` should be used
11386
+ */
11035
11387
  rowKey: [String, Function],
11388
+ /**
11389
+ * @description whether Table header is visible
11390
+ */
11036
11391
  showHeader: {
11037
11392
  type: Boolean,
11038
11393
  default: true
11039
11394
  },
11395
+ /**
11396
+ * @description whether to display a summary row
11397
+ */
11040
11398
  showSummary: Boolean,
11399
+ /**
11400
+ * @description displayed text for the first column of summary row
11401
+ */
11041
11402
  sumText: String,
11403
+ /**
11404
+ * @description custom summary method
11405
+ */
11042
11406
  summaryMethod: Function,
11407
+ /**
11408
+ * @description function that returns custom class names for a row, or a string assigning class names for every row
11409
+ */
11043
11410
  rowClassName: [String, Function],
11411
+ /**
11412
+ * @description function that returns custom style for a row, or an object assigning custom style for every row
11413
+ */
11044
11414
  rowStyle: [Object, Function],
11415
+ /**
11416
+ * @description function that returns custom class names for a cell, or a string assigning class names for every cell
11417
+ */
11045
11418
  cellClassName: [String, Function],
11419
+ /**
11420
+ * @description function that returns custom style for a cell, or an object assigning custom style for every cell
11421
+ */
11046
11422
  cellStyle: [Object, Function],
11423
+ /**
11424
+ * @description function that returns custom class names for a row in table header, or a string assigning class names for every row in table header
11425
+ */
11047
11426
  headerRowClassName: [String, Function],
11427
+ /**
11428
+ * @description function that returns custom style for a row in table header, or an object assigning custom style for every row in table header
11429
+ */
11048
11430
  headerRowStyle: [Object, Function],
11431
+ /**
11432
+ * @description function that returns custom class names for a cell in table header, or a string assigning class names for every cell in table header
11433
+ */
11049
11434
  headerCellClassName: [String, Function],
11435
+ /**
11436
+ * @description function that returns custom style for a cell in table header, or an object assigning custom style for every cell in table header
11437
+ */
11050
11438
  headerCellStyle: [Object, Function],
11439
+ /**
11440
+ * @description whether current row is highlighted
11441
+ */
11051
11442
  highlightCurrentRow: Boolean,
11443
+ /**
11444
+ * @description key of current row, a set only prop
11445
+ */
11052
11446
  currentRowKey: [String, Number],
11447
+ /**
11448
+ * @description displayed text when data is empty. You can customize this area with `#empty`
11449
+ */
11053
11450
  emptyText: String,
11451
+ /**
11452
+ * @description set expanded rows by this prop, prop's value is the keys of expand rows, you should set row-key before using this prop
11453
+ */
11054
11454
  expandRowKeys: Array,
11455
+ /**
11456
+ * @description whether expand all rows by default, works when the table has a column type="expand" or contains tree structure data
11457
+ */
11055
11458
  defaultExpandAll: Boolean,
11459
+ /**
11460
+ * @description enable expandable rows, works when the table has a column type="expand"
11461
+ */
11056
11462
  rowExpandable: { type: Function },
11463
+ /**
11464
+ * @description set the default sort column and order. property `prop` is used to set default sort column, property `order` is used to set default sort order
11465
+ */
11057
11466
  defaultSort: Object,
11467
+ /**
11468
+ * @description the `effect` of the overflow tooltip
11469
+ */
11058
11470
  tooltipEffect: String,
11471
+ /**
11472
+ * @description the options for the overflow tooltip, [see the following tooltip component](tooltip.html#attributes)
11473
+ */
11059
11474
  tooltipOptions: Object,
11475
+ /**
11476
+ * @description method that returns rowspan and colspan
11477
+ */
11060
11478
  spanMethod: Function,
11479
+ /**
11480
+ * @description controls the behavior of master checkbox in multi-select tables when only some rows are selected (but not all). If true, all rows will be selected, else deselected
11481
+ */
11061
11482
  selectOnIndeterminate: {
11062
11483
  type: Boolean,
11063
11484
  default: true
11064
11485
  },
11486
+ /**
11487
+ * @description horizontal indentation of tree data
11488
+ */
11065
11489
  indent: {
11066
11490
  type: Number,
11067
11491
  default: 16
11068
11492
  },
11493
+ /**
11494
+ * @description configuration for rendering nested data
11495
+ */
11069
11496
  treeProps: {
11070
11497
  type: Object,
11071
11498
  default: () => {
@@ -11076,13 +11503,20 @@ var defaults_default = {
11076
11503
  };
11077
11504
  }
11078
11505
  },
11506
+ /**
11507
+ * @description whether to lazy loading data
11508
+ */
11079
11509
  lazy: Boolean,
11510
+ /**
11511
+ * @description method for loading child row data, only works when `lazy` is true
11512
+ */
11080
11513
  load: Function,
11081
11514
  style: {
11082
11515
  type: [
11083
11516
  String,
11084
11517
  Object,
11085
- Array
11518
+ Array,
11519
+ Boolean
11086
11520
  ],
11087
11521
  default: () => ({})
11088
11522
  },
@@ -11090,27 +11524,51 @@ var defaults_default = {
11090
11524
  type: String,
11091
11525
  default: ""
11092
11526
  },
11527
+ /**
11528
+ * @description sets the algorithm used to lay out table cells, rows, and columns
11529
+ */
11093
11530
  tableLayout: {
11094
11531
  type: String,
11095
11532
  default: "fixed"
11096
11533
  },
11534
+ /**
11535
+ * @description always show scrollbar
11536
+ */
11097
11537
  scrollbarAlwaysOn: Boolean,
11538
+ /**
11539
+ * @description ensure main axis minimum-size doesn't follow the content
11540
+ */
11098
11541
  flexible: Boolean,
11542
+ /**
11543
+ * @description whether to hide extra content and show them in a tooltip when hovering on the cell.It will affect all the table columns
11544
+ */
11099
11545
  showOverflowTooltip: {
11100
11546
  type: [Boolean, Object],
11101
11547
  default: void 0
11102
11548
  },
11549
+ /**
11550
+ * @description function that formats cell tooltip content, works when `show-overflow-tooltip` is `true`
11551
+ */
11103
11552
  tooltipFormatter: Function,
11104
11553
  appendFilterPanelTo: String,
11105
11554
  scrollbarTabindex: {
11106
11555
  type: [Number, String],
11107
11556
  default: void 0
11108
11557
  },
11558
+ /**
11559
+ * @description whether to allow drag the last column
11560
+ */
11109
11561
  allowDragLastColumn: {
11110
11562
  type: Boolean,
11111
11563
  default: true
11112
11564
  },
11565
+ /**
11566
+ * @description whether to preserve expanded row content in DOM when collapsed
11567
+ */
11113
11568
  preserveExpandedContent: Boolean,
11569
+ /**
11570
+ * @description whether to use native scrollbars
11571
+ */
11114
11572
  nativeScrollbar: Boolean
11115
11573
  };
11116
11574
  const tableProps = Object.assign({}, defaults_default, buildProps({
@@ -11459,6 +11917,7 @@ const _sfc_main$1_ = /* @__PURE__ */ defineComponent({
11459
11917
  isEdit: props2.isEdit
11460
11918
  });
11461
11919
  let readDataCancel = ref();
11920
+ let isExporting = ref(false);
11462
11921
  const contentMenu = ref();
11463
11922
  let tableContainer = h$1("div", { class: "table-container" });
11464
11923
  let tableFormContainer = h$1(ElsForm, { modelValue: tableData, class: "table-form-container", labelWidth: "0", showMessage: false });
@@ -12430,19 +12889,217 @@ const _sfc_main$1_ = /* @__PURE__ */ defineComponent({
12430
12889
  exportReadDataHtml();
12431
12890
  }
12432
12891
  }
12433
- function exportClientDataHtml() {
12434
- let pageSize = currPageSize.value;
12435
- let pageIndex = currPageIndex.value;
12892
+ async function exportClientDataHtml() {
12893
+ if (isExporting.value) return;
12894
+ const BATCH_SIZE = 50;
12895
+ const originalPageSize = currPageSize.value;
12896
+ const originalPageIndex = currPageIndex.value;
12897
+ isExporting.value = true;
12898
+ const loading = ElLoading.service({
12899
+ lock: true,
12900
+ text: "正在加载数据...",
12901
+ background: "rgba(0, 0, 0, 0.7)"
12902
+ });
12436
12903
  currPageSize.value = 1e5;
12437
- currPageIndex.value = 0;
12904
+ currPageIndex.value = 1;
12438
12905
  changePageReadData();
12439
- nextTick(() => {
12440
- exportDataHtml();
12441
- currPageSize.value = pageSize;
12442
- currPageIndex.value = pageIndex;
12906
+ try {
12907
+ await waitDataLoaded();
12908
+ const totalData = [...sourceTableData];
12909
+ if (!totalData.length) {
12910
+ ElMessage.warning("没有可导出的数据");
12911
+ loading.close();
12912
+ return;
12913
+ }
12914
+ if (totalData.length < 500) {
12915
+ await new Promise((resolve2) => setTimeout(resolve2, 500));
12916
+ exportDataHtml();
12917
+ loading.close();
12918
+ return;
12919
+ }
12920
+ const hasSpan = checkHasSpan();
12921
+ loading.close();
12922
+ if (hasSpan) {
12923
+ await exportWithSpan(totalData);
12924
+ } else {
12925
+ await exportByBatch(totalData, BATCH_SIZE);
12926
+ }
12927
+ } catch (error) {
12928
+ loading.close();
12929
+ ElMessage.error("导出失败: " + (error.message ?? "未知错误"));
12930
+ } finally {
12931
+ isExporting.value = false;
12932
+ currPageSize.value = originalPageSize;
12933
+ currPageIndex.value = originalPageIndex;
12443
12934
  changePageReadData();
12935
+ }
12936
+ }
12937
+ function waitDataLoaded() {
12938
+ return new Promise((resolve2, reject) => {
12939
+ const start2 = Date.now();
12940
+ const check = () => {
12941
+ if (!dataLoading.value) {
12942
+ resolve2();
12943
+ return;
12944
+ }
12945
+ if (Date.now() - start2 > 3e4) {
12946
+ reject(new Error("数据加载超时"));
12947
+ return;
12948
+ }
12949
+ setTimeout(check, 100);
12950
+ };
12951
+ check();
12444
12952
  });
12445
12953
  }
12954
+ function checkHasSpan() {
12955
+ var _a;
12956
+ const tableEl = (_a = dataTable.value) == null ? void 0 : _a.$el;
12957
+ if (!tableEl) return false;
12958
+ const bodyWrapper = tableEl.querySelector(".el-table__body-wrapper");
12959
+ if (!bodyWrapper) return false;
12960
+ for (const td of bodyWrapper.querySelectorAll("td")) {
12961
+ const rs = td.getAttribute("rowspan");
12962
+ const cs = td.getAttribute("colspan");
12963
+ if (rs && parseInt(rs) > 1 || cs && parseInt(cs) > 1) return true;
12964
+ }
12965
+ return false;
12966
+ }
12967
+ async function exportWithSpan(allData) {
12968
+ const MAX = 5e3;
12969
+ const loading = ElLoading.service({
12970
+ lock: true,
12971
+ text: "正在渲染数据(含合并单元格)...",
12972
+ background: "rgba(0, 0, 0, 0.7)"
12973
+ });
12974
+ try {
12975
+ const exportData = allData.length > MAX ? allData.slice(0, MAX) : allData;
12976
+ if (allData.length > MAX) {
12977
+ ElMessage.warning(`数据量过大(${allData.length}条),只导出前${MAX}条`);
12978
+ }
12979
+ tableData.splice(0, tableData.length, ...exportData);
12980
+ await new Promise((resolve2) => setTimeout(resolve2, 500));
12981
+ exportDataHtml();
12982
+ ElMessage.success(`导出成功,共 ${exportData.length} 条数据`);
12983
+ } catch (error) {
12984
+ ElMessage.error("导出失败: " + (error.message ?? "未知错误"));
12985
+ } finally {
12986
+ loading.close();
12987
+ }
12988
+ }
12989
+ async function exportByBatch(allData, batchSize) {
12990
+ var _a;
12991
+ const loading = ElLoading.service({
12992
+ lock: true,
12993
+ text: "正在准备导出...",
12994
+ background: "rgba(0, 0, 0, 0.7)"
12995
+ });
12996
+ try {
12997
+ const total = allData.length;
12998
+ const batchCount = Math.ceil(total / batchSize);
12999
+ let allExportRows = [];
13000
+ for (let i = 0; i < batchCount; i++) {
13001
+ const batch = allData.slice(i * batchSize, Math.min((i + 1) * batchSize, total));
13002
+ const rows = await renderBatchAndRead(batch);
13003
+ allExportRows = allExportRows.concat(rows);
13004
+ if (i < batchCount - 1) {
13005
+ await new Promise((resolve2) => setTimeout(resolve2, 0));
13006
+ }
13007
+ }
13008
+ const headerRowCount = getHeaderRowCount();
13009
+ const headerHtml = getHeaderHtml((_a = dataTable.value) == null ? void 0 : _a.$el, headerRowCount);
13010
+ const bodyRows = buildBodyRowsFromArray(allExportRows);
13011
+ exportWithHiddenTable(headerHtml, bodyRows, headerRowCount);
13012
+ ElMessage.success(`导出成功,共 ${total} 条数据`);
13013
+ } catch (error) {
13014
+ ElMessage.error("导出失败: " + (error.message ?? "未知错误"));
13015
+ } finally {
13016
+ loading.close();
13017
+ }
13018
+ }
13019
+ function renderBatchAndRead(batchData) {
13020
+ return new Promise((resolve2) => {
13021
+ tableData.splice(0, tableData.length, ...batchData);
13022
+ nextTick(() => {
13023
+ setTimeout(() => {
13024
+ var _a;
13025
+ const rows = [];
13026
+ const tableEl = (_a = dataTable.value) == null ? void 0 : _a.$el;
13027
+ const { filterVal } = getExportColumns();
13028
+ const expectedColCount = filterVal.length;
13029
+ if (tableEl) {
13030
+ const bodyWrapper = tableEl.querySelector(".el-table__body-wrapper");
13031
+ bodyWrapper == null ? void 0 : bodyWrapper.querySelectorAll("tr").forEach((tr2) => {
13032
+ var _a2;
13033
+ const tds = tr2.querySelectorAll(".els-isexport");
13034
+ if (!tds.length) return;
13035
+ const rowData2 = [];
13036
+ const count = tds.length >= expectedColCount ? expectedColCount : tds.length;
13037
+ for (let i = 0; i < count; i++) {
13038
+ rowData2.push(((_a2 = tds[i].textContent) == null ? void 0 : _a2.trim()) ?? "");
13039
+ }
13040
+ while (rowData2.length < expectedColCount) rowData2.push("");
13041
+ rows.push(rowData2);
13042
+ });
13043
+ }
13044
+ resolve2(rows);
13045
+ }, 50);
13046
+ });
13047
+ });
13048
+ }
13049
+ function buildBodyRowsFromArray(dataArray) {
13050
+ return dataArray.map((rowData2) => {
13051
+ const cells = rowData2.map((cell) => {
13052
+ const safe = String(cell ?? "").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
13053
+ return `<td class="els-isexport">${safe}</td>`;
13054
+ }).join("");
13055
+ return `<tr>${cells}</tr>`;
13056
+ });
13057
+ }
13058
+ function getHeaderHtml(tableEl, headerRowCount) {
13059
+ const thead = tableEl == null ? void 0 : tableEl.querySelector(".el-table__header-wrapper thead");
13060
+ if (!thead) return "";
13061
+ const rows = thead.querySelectorAll("tr");
13062
+ let html = "<thead>";
13063
+ for (let i = 0; i < Math.min(headerRowCount, rows.length); i++) {
13064
+ html += rows[i].outerHTML;
13065
+ }
13066
+ return html + "</thead>";
13067
+ }
13068
+ function getHeaderRowCount() {
13069
+ var _a, _b, _c, _d;
13070
+ return ((_d = (_c = (_b = (_a = dataTable.value) == null ? void 0 : _a.$refs) == null ? void 0 : _b.tableHeaderRef) == null ? void 0 : _c.columnRows) == null ? void 0 : _d.length) ?? 1;
13071
+ }
13072
+ function getExportColumns() {
13073
+ var _a, _b, _c, _d;
13074
+ const tHeader = [];
13075
+ const filterVal = [];
13076
+ (_d = (_c = (_b = (_a = dataTable.value) == null ? void 0 : _a.$refs) == null ? void 0 : _b.tableHeaderRef) == null ? void 0 : _c.columnRows) == null ? void 0 : _d.forEach((row) => {
13077
+ row.forEach((col) => {
13078
+ var _a2;
13079
+ if (col.label && col.property && ((_a2 = col.className) == null ? void 0 : _a2.includes("els-isexport"))) {
13080
+ tHeader.push(col.label);
13081
+ filterVal.push(col.property);
13082
+ }
13083
+ });
13084
+ });
13085
+ return { tHeader, filterVal };
13086
+ }
13087
+ function exportWithHiddenTable(headerHtml, bodyRows, headerRowCount) {
13088
+ var _a;
13089
+ const container2 = document.createElement("div");
13090
+ container2.style.cssText = "position:fixed;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;";
13091
+ document.body.appendChild(container2);
13092
+ container2.innerHTML = `<table border="1" style="border-collapse:collapse;">${headerHtml}<tbody>${bodyRows.join("")}</tbody></table>`;
13093
+ try {
13094
+ utils.exportTable(container2.querySelector("table"), [], headerRowCount, {
13095
+ font: { bold: true },
13096
+ alignment: { horizontal: "center", vertical: "center", wrap_text: true },
13097
+ fill: { bgcolor: { rgb: "F5F7FA" }, fgColor: { rgb: "F5F7FA" } }
13098
+ }, getExportFileName());
13099
+ } finally {
13100
+ (_a = container2.parentNode) == null ? void 0 : _a.removeChild(container2);
13101
+ }
13102
+ }
12446
13103
  function exportDataHtml() {
12447
13104
  let filename = getExportFileName();
12448
13105
  let headerCount = dataTable.value.$el.querySelector(".el-table__header").querySelectorAll("tr").length;
@@ -12851,7 +13508,7 @@ const _sfc_main$1_ = /* @__PURE__ */ defineComponent({
12851
13508
  !unref(isMobile) && _ctx.isExport ? (openBlock(), createBlock(_component_el_tag, {
12852
13509
  key: 1,
12853
13510
  type: "info",
12854
- onClick: exportDataHtml,
13511
+ onClick: exportClientDataHtml,
12855
13512
  style: { "margin-right": "10px", "cursor": "pointer", "margin-left": "10px" }
12856
13513
  }, {
12857
13514
  default: withCtx(() => [..._cache[3] || (_cache[3] = [
@@ -12878,7 +13535,7 @@ const _sfc_main$1_ = /* @__PURE__ */ defineComponent({
12878
13535
  };
12879
13536
  }
12880
13537
  });
12881
- const Table$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$1_, [["__scopeId", "data-v-795f86e6"]]);
13538
+ const Table$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$1_, [["__scopeId", "data-v-6dfb5adf"]]);
12882
13539
  const ElsTable = withInstall(Table$1);
12883
13540
  const treeProps = buildProps({
12884
13541
  ...formItemProps$1,
@@ -13190,7 +13847,7 @@ const _sfc_main$1Z = defineComponent({
13190
13847
  },
13191
13848
  emits: ["update:modelValue", "update:select", "update:select-label", "select"]
13192
13849
  });
13193
- const Tree2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$1Z, [["__scopeId", "data-v-f9dd8694"]]);
13850
+ const Tree2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$1Z, [["__scopeId", "data-v-6da7f1c6"]]);
13194
13851
  const ElsTree = withInstall(Tree2);
13195
13852
  let TreeSelect$1 = class TreeSelect extends TBaseTree {
13196
13853
  constructor(props2, ctx) {
@@ -13272,7 +13929,7 @@ const _sfc_main$1Y = defineComponent({
13272
13929
  },
13273
13930
  emits: ["update:modelValue", "update:select", "update:select-label", "select"]
13274
13931
  });
13275
- const TreeSelect2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$1Y, [["__scopeId", "data-v-6a13443f"]]);
13932
+ const TreeSelect2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$1Y, [["__scopeId", "data-v-21a61a1e"]]);
13276
13933
  const ElsTreeSelect = withInstall(TreeSelect2);
13277
13934
  const menuProps = buildProps({
13278
13935
  ...menuProps$1,
@@ -13996,7 +14653,7 @@ const _sfc_main$1T = /* @__PURE__ */ defineComponent({
13996
14653
  };
13997
14654
  }
13998
14655
  });
13999
- const Image$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$1T, [["__scopeId", "data-v-109cf5b1"]]);
14656
+ const Image$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$1T, [["__scopeId", "data-v-63b8e1e1"]]);
14000
14657
  const ElsImage = withInstall(Image$1);
14001
14658
  const imageViewerProps = buildProps({
14002
14659
  ...imageViewerProps$1,
@@ -15114,7 +15771,7 @@ const _sfc_main$1M = /* @__PURE__ */ defineComponent({
15114
15771
  };
15115
15772
  }
15116
15773
  });
15117
- const DropdownGroup = /* @__PURE__ */ _export_sfc$1(_sfc_main$1M, [["__scopeId", "data-v-427e7d46"]]);
15774
+ const DropdownGroup = /* @__PURE__ */ _export_sfc$1(_sfc_main$1M, [["__scopeId", "data-v-0b99f55d"]]);
15118
15775
  const ElsDropdown = withInstall(_sfc_main$1N);
15119
15776
  const ElsDropdownGroup = withInstall(DropdownGroup);
15120
15777
  const sliderProps = buildProps({
@@ -15386,6 +16043,9 @@ let Upload$2 = class Upload extends TBaseFormItem {
15386
16043
  __publicField(this, "showInput", ref(false));
15387
16044
  __publicField(this, "fileList", ref([]));
15388
16045
  __publicField(this, "showVisible", ref(false));
16046
+ __publicField(this, "showVideoVisible", ref(false));
16047
+ __publicField(this, "showAudioVisible", ref(false));
16048
+ __publicField(this, "previewMediaUrl", ref(""));
15389
16049
  __publicField(this, "previewIndex", ref(0));
15390
16050
  __publicField(this, "uploadLoading", ref(false));
15391
16051
  __publicField(this, "uploadUrl", ref(""));
@@ -15526,6 +16186,17 @@ let Upload$2 = class Upload extends TBaseFormItem {
15526
16186
  return;
15527
16187
  }
15528
16188
  if (this._props.type == "Pic" || this._props.type == "MutiPic") {
16189
+ const mediaType = this.getMediaType(file.url);
16190
+ if (mediaType === "video") {
16191
+ this.previewMediaUrl.value = file.url;
16192
+ this.showVideoVisible.value = true;
16193
+ return;
16194
+ }
16195
+ if (mediaType === "audio") {
16196
+ this.previewMediaUrl.value = file.url;
16197
+ this.showAudioVisible.value = true;
16198
+ return;
16199
+ }
15529
16200
  this.previewIndex.value = this.fileList.value.findIndex((ele) => ele.url == file.url);
15530
16201
  this.showVisible.value = true;
15531
16202
  return;
@@ -15699,6 +16370,15 @@ let Upload$2 = class Upload extends TBaseFormItem {
15699
16370
  }
15700
16371
  this._comValue.value = this.fileList.value.filter((ele) => ele.status == "success").map((ele) => ele.url);
15701
16372
  }
16373
+ getMediaType(url) {
16374
+ var _a;
16375
+ if (!url) return "other";
16376
+ const ext = ((_a = url.split("?")[0].split(".").pop()) == null ? void 0 : _a.toLowerCase()) ?? "";
16377
+ if (["jpg", "jpeg", "png", "gif", "bmp", "webp", "svg", "svga", "tif", "pag", "bundle"].includes(ext)) return "image";
16378
+ if (["mp4", "webm", "mov", "avi", "mkv", "flv"].includes(ext)) return "video";
16379
+ if (["mp3", "wav", "aac", "flac", "m4a"].includes(ext)) return "audio";
16380
+ return "other";
16381
+ }
15702
16382
  mobileRender(...args) {
15703
16383
  const {
15704
16384
  default: _default,
@@ -15903,22 +16583,44 @@ let Upload$2 = class Upload extends TBaseFormItem {
15903
16583
  }, {
15904
16584
  height: props2.height.appendPx()
15905
16585
  }]
15906
- }, null) : createVNode(Fragment$1, null, [createVNode("img", {
15907
- "class": "els-upload-list__item-thumbnail",
15908
- "width": props2.width,
15909
- "height": props2.height,
15910
- "src": file.url
15911
- }, null), createVNode("span", {
15912
- "class": "els_upload-menus"
15913
- }, [createVNode(resolveComponent("el-icon"), {
15914
- "onClick": () => this.handlePreview(file)
15915
- }, {
15916
- default: () => [createVNode(resolveComponent("zoom-in"), null, null)]
15917
- }), createVNode(resolveComponent("el-icon"), {
15918
- "onClick": () => this.handleRemove(file)
15919
- }, {
15920
- default: () => [createVNode(delete_default, null, null)]
15921
- })])])]);
16586
+ }, null) : (() => {
16587
+ const mediaType = this.getMediaType(file.url);
16588
+ return createVNode(Fragment$1, null, [mediaType === "video" ? createVNode("video", {
16589
+ "class": "els-upload-list__item-thumbnail",
16590
+ "width": props2.width,
16591
+ "height": props2.height,
16592
+ "src": file.url,
16593
+ "preload": "metadata"
16594
+ }, null) : mediaType === "audio" ? createVNode("div", {
16595
+ "class": "els-upload-audio-thumb",
16596
+ "style": [{
16597
+ width: props2.width.appendPx()
16598
+ }, {
16599
+ height: props2.height.appendPx()
16600
+ }]
16601
+ }, [createVNode(resolveComponent("el-icon"), {
16602
+ "style": "font-size:28px"
16603
+ }, {
16604
+ default: () => [createVNode(headset_default, null, null)]
16605
+ }), createVNode("span", {
16606
+ "class": "els-upload-audio-name"
16607
+ }, [file.name])]) : createVNode("img", {
16608
+ "class": "els-upload-list__item-thumbnail",
16609
+ "width": props2.width,
16610
+ "height": props2.height,
16611
+ "src": file.url
16612
+ }, null), createVNode("span", {
16613
+ "class": "els_upload-menus"
16614
+ }, [createVNode(resolveComponent("el-icon"), {
16615
+ "onClick": () => this.handlePreview(file)
16616
+ }, {
16617
+ default: () => [createVNode(resolveComponent("zoom-in"), null, null)]
16618
+ }), createVNode(resolveComponent("el-icon"), {
16619
+ "onClick": () => this.handleRemove(file)
16620
+ }, {
16621
+ default: () => [createVNode(delete_default, null, null)]
16622
+ })])]);
16623
+ })()]);
15922
16624
  },
15923
16625
  ...inheritSlot
15924
16626
  }), this.showVisible.value && this.fileList.value.length && createVNode(resolveComponent("els-image-viewer"), {
@@ -15928,7 +16630,39 @@ let Upload$2 = class Upload extends TBaseFormItem {
15928
16630
  "onClose": () => {
15929
16631
  this.showVisible.value = false;
15930
16632
  }
15931
- }, null)])]);
16633
+ }, null), createVNode(resolveComponent("el-dialog"), {
16634
+ "modelValue": this.showVideoVisible.value,
16635
+ "onUpdate:modelValue": ($event) => this.showVideoVisible.value = $event,
16636
+ "width": "800px",
16637
+ "append-to-body": true,
16638
+ "onClose": () => {
16639
+ this.showVideoVisible.value = false;
16640
+ this.previewMediaUrl.value = "";
16641
+ }
16642
+ }, {
16643
+ default: () => [createVNode("video", {
16644
+ "controls": true,
16645
+ "autoplay": true,
16646
+ "style": "width:100%;max-height:70vh;display:block",
16647
+ "src": this.previewMediaUrl.value
16648
+ }, null)]
16649
+ }), createVNode(resolveComponent("el-dialog"), {
16650
+ "modelValue": this.showAudioVisible.value,
16651
+ "onUpdate:modelValue": ($event) => this.showAudioVisible.value = $event,
16652
+ "width": "500px",
16653
+ "append-to-body": true,
16654
+ "onClose": () => {
16655
+ this.showAudioVisible.value = false;
16656
+ this.previewMediaUrl.value = "";
16657
+ }
16658
+ }, {
16659
+ default: () => [createVNode("audio", {
16660
+ "controls": true,
16661
+ "autoplay": true,
16662
+ "style": "width:100%;margin:16px 0;display:block",
16663
+ "src": this.previewMediaUrl.value
16664
+ }, null)]
16665
+ })])]);
15932
16666
  }
15933
16667
  };
15934
16668
  const emits = ["update:modelValue", "uploaded", "completed"];
@@ -15942,7 +16676,7 @@ const _sfc_main$1J = defineComponent({
15942
16676
  },
15943
16677
  emits
15944
16678
  });
15945
- const Upload$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$1J, [["__scopeId", "data-v-f8ee608a"]]);
16679
+ const Upload$1 = /* @__PURE__ */ _export_sfc$1(_sfc_main$1J, [["__scopeId", "data-v-58550318"]]);
15946
16680
  const ElsUpload = withInstall(Upload$1);
15947
16681
  const timePickerProps = buildProps({
15948
16682
  ...formItemProps$1,
@@ -17156,7 +17890,7 @@ const _sfc_main$1D = /* @__PURE__ */ defineComponent({
17156
17890
  };
17157
17891
  }
17158
17892
  });
17159
- const Tabs = /* @__PURE__ */ _export_sfc$1(_sfc_main$1D, [["__scopeId", "data-v-9652a6eb"]]);
17893
+ const Tabs = /* @__PURE__ */ _export_sfc$1(_sfc_main$1D, [["__scopeId", "data-v-4e84b518"]]);
17160
17894
  const ElsTabs = withInstall(Tabs);
17161
17895
  const colorPickerProps = buildProps({
17162
17896
  ...formItemProps$1,
@@ -17201,7 +17935,7 @@ const _sfc_main$1C = defineComponent({
17201
17935
  return () => sw.render();
17202
17936
  }
17203
17937
  });
17204
- const ColorPicker2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$1C, [["__scopeId", "data-v-45724497"]]);
17938
+ const ColorPicker2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$1C, [["__scopeId", "data-v-cae027cc"]]);
17205
17939
  const ElsColorPicker = withInstall(ColorPicker2);
17206
17940
  const segmentedProps = buildProps({
17207
17941
  ...formItemProps$1,
@@ -17448,7 +18182,7 @@ const _sfc_main$1A = /* @__PURE__ */ defineComponent({
17448
18182
  };
17449
18183
  }
17450
18184
  });
17451
- const MenuContext = /* @__PURE__ */ _export_sfc$1(_sfc_main$1A, [["__scopeId", "data-v-7a054349"]]);
18185
+ const MenuContext = /* @__PURE__ */ _export_sfc$1(_sfc_main$1A, [["__scopeId", "data-v-211a7ac1"]]);
17452
18186
  const ElsMenuContext = withInstall(MenuContext);
17453
18187
  const menuDropdownProps = buildProps({
17454
18188
  /**
@@ -17634,7 +18368,7 @@ const _sfc_main$1z = /* @__PURE__ */ defineComponent({
17634
18368
  };
17635
18369
  }
17636
18370
  });
17637
- const MenuDropdown = /* @__PURE__ */ _export_sfc$1(_sfc_main$1z, [["__scopeId", "data-v-cb4561d3"]]);
18371
+ const MenuDropdown = /* @__PURE__ */ _export_sfc$1(_sfc_main$1z, [["__scopeId", "data-v-667b37bb"]]);
17638
18372
  const ElsMenuDropdown = withInstall(MenuDropdown);
17639
18373
  const menuToolProps = buildProps({
17640
18374
  /**
@@ -18271,7 +19005,7 @@ const _sfc_main$1w = /* @__PURE__ */ defineComponent({
18271
19005
  };
18272
19006
  }
18273
19007
  });
18274
- const Caption = /* @__PURE__ */ _export_sfc$1(_sfc_main$1w, [["__scopeId", "data-v-1952f6f8"]]);
19008
+ const Caption = /* @__PURE__ */ _export_sfc$1(_sfc_main$1w, [["__scopeId", "data-v-72cb8719"]]);
18275
19009
  const ElsCaption = withInstall(Caption);
18276
19010
  const dataModalProps = buildProps({
18277
19011
  ...formItemProps$1,
@@ -18597,7 +19331,7 @@ const _sfc_main$1v = defineComponent({
18597
19331
  },
18598
19332
  emits: ["update:select", "update:modelValue", "update:select-label"]
18599
19333
  });
18600
- const DataModal2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$1v, [["__scopeId", "data-v-1f85f8c7"]]);
19334
+ const DataModal2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$1v, [["__scopeId", "data-v-68c1b3ab"]]);
18601
19335
  const ElsDataModal = withInstall(DataModal2);
18602
19336
  const _sfc_main$1u = /* @__PURE__ */ defineComponent({
18603
19337
  ...{ name: "ElsButtonSelect" },
@@ -19258,7 +19992,7 @@ const _sfc_main$1r = /* @__PURE__ */ defineComponent({
19258
19992
  };
19259
19993
  }
19260
19994
  });
19261
- const List = /* @__PURE__ */ _export_sfc$1(_sfc_main$1r, [["__scopeId", "data-v-3fef17d8"]]);
19995
+ const List = /* @__PURE__ */ _export_sfc$1(_sfc_main$1r, [["__scopeId", "data-v-daf08a14"]]);
19262
19996
  const ElsList = withInstall(List);
19263
19997
  const _hoisted_1$16 = { class: "custom-block-title" };
19264
19998
  const _sfc_main$1q = /* @__PURE__ */ defineComponent({
@@ -19286,7 +20020,7 @@ const _sfc_main$1q = /* @__PURE__ */ defineComponent({
19286
20020
  };
19287
20021
  }
19288
20022
  });
19289
- const Tip = /* @__PURE__ */ _export_sfc$1(_sfc_main$1q, [["__scopeId", "data-v-25c72208"]]);
20023
+ const Tip = /* @__PURE__ */ _export_sfc$1(_sfc_main$1q, [["__scopeId", "data-v-c950eb09"]]);
19290
20024
  const tipProps = buildProps({
19291
20025
  /**
19292
20026
  * @description 标题
@@ -23198,7 +23932,8 @@ class ReplaceStep extends Step {
23198
23932
  return new ReplaceStep(this.from, this.from + this.slice.size, doc2.slice(this.from, this.to));
23199
23933
  }
23200
23934
  map(mapping) {
23201
- let from2 = mapping.mapResult(this.from, 1), to = mapping.mapResult(this.to, -1);
23935
+ let to = mapping.mapResult(this.to, -1);
23936
+ let from2 = this.from == this.to && ReplaceStep.MAP_BIAS < 0 ? to : mapping.mapResult(this.from, 1);
23202
23937
  if (from2.deletedAcross && to.deletedAcross)
23203
23938
  return null;
23204
23939
  return new ReplaceStep(from2.pos, Math.max(from2.pos, to.pos), this.slice, this.structure);
@@ -23233,6 +23968,7 @@ class ReplaceStep extends Step {
23233
23968
  return new ReplaceStep(json.from, json.to, Slice.fromJSON(schema2, json.slice), !!json.structure);
23234
23969
  }
23235
23970
  }
23971
+ ReplaceStep.MAP_BIAS = 1;
23236
23972
  Step.jsonID("replace", ReplaceStep);
23237
23973
  class ReplaceAroundStep extends Step {
23238
23974
  /**
@@ -24062,6 +24798,23 @@ function replaceRangeWith(tr2, from2, to, node) {
24062
24798
  }
24063
24799
  function deleteRange$1(tr2, from2, to) {
24064
24800
  let $from = tr2.doc.resolve(from2), $to = tr2.doc.resolve(to);
24801
+ if ($from.parent.isTextblock && $to.parent.isTextblock && $from.start() != $to.start() && $from.parentOffset == 0 && $to.parentOffset == 0) {
24802
+ let shared = $from.sharedDepth(to), isolated = false;
24803
+ for (let d = $from.depth; d > shared; d--)
24804
+ if ($from.node(d).type.spec.isolating)
24805
+ isolated = true;
24806
+ for (let d = $to.depth; d > shared; d--)
24807
+ if ($to.node(d).type.spec.isolating)
24808
+ isolated = true;
24809
+ if (!isolated) {
24810
+ for (let d = $from.depth; d > 0 && from2 == $from.start(d); d--)
24811
+ from2 = $from.before(d);
24812
+ for (let d = $to.depth; d > 0 && to == $to.start(d); d--)
24813
+ to = $to.before(d);
24814
+ $from = tr2.doc.resolve(from2);
24815
+ $to = tr2.doc.resolve(to);
24816
+ }
24817
+ }
24065
24818
  let covered = coveredDepths($from, $to);
24066
24819
  for (let i = 0; i < covered.length; i++) {
24067
24820
  let depth = covered[i], last = i == covered.length - 1;
@@ -28991,7 +29744,7 @@ class MouseDown {
28991
29744
  const targetDesc = target ? view.docView.nearestDesc(target, true) : null;
28992
29745
  this.target = targetDesc && targetDesc.nodeDOM.nodeType == 1 ? targetDesc.nodeDOM : null;
28993
29746
  let { selection } = view.state;
28994
- if (event.button == 0 && targetNode.type.spec.draggable && targetNode.type.spec.selectable !== false || selection instanceof NodeSelection && selection.from <= targetPos && selection.to > targetPos)
29747
+ if (event.button == 0 && (targetNode.type.spec.draggable && targetNode.type.spec.selectable !== false || selection instanceof NodeSelection && selection.from <= targetPos && selection.to > targetPos))
28995
29748
  this.mightDrag = {
28996
29749
  node: targetNode,
28997
29750
  pos: targetPos,
@@ -29291,8 +30044,11 @@ class Dragging {
29291
30044
  }
29292
30045
  const dragCopyModifier = mac$2 ? "altKey" : "ctrlKey";
29293
30046
  function dragMoves(view, event) {
29294
- let moves = view.someProp("dragCopies", (test) => !test(event));
29295
- return moves != null ? moves : !event[dragCopyModifier];
30047
+ let copy2;
30048
+ view.someProp("dragCopies", (test) => {
30049
+ copy2 = copy2 || test(event);
30050
+ });
30051
+ return copy2 != null ? !copy2 : !event[dragCopyModifier];
29296
30052
  }
29297
30053
  handlers.dragstart = (view, _event) => {
29298
30054
  let event = _event;
@@ -31740,7 +32496,6 @@ function isMarkInSet(marks, type, attributes = {}) {
31740
32496
  return !!findMarkInSet(marks, type, attributes);
31741
32497
  }
31742
32498
  function getMarkRange($pos, type, attributes) {
31743
- var _a;
31744
32499
  if (!$pos || !type) {
31745
32500
  return;
31746
32501
  }
@@ -31751,7 +32506,12 @@ function getMarkRange($pos, type, attributes) {
31751
32506
  if (!start2.node || !start2.node.marks.some((mark2) => mark2.type === type)) {
31752
32507
  return;
31753
32508
  }
31754
- attributes = attributes || ((_a = start2.node.marks[0]) == null ? void 0 : _a.attrs);
32509
+ if (!attributes) {
32510
+ const firstMark = start2.node.marks.find((mark2) => mark2.type === type);
32511
+ if (firstMark) {
32512
+ attributes = firstMark.attrs;
32513
+ }
32514
+ }
31755
32515
  const mark = findMarkInSet([...start2.node.marks], type, attributes);
31756
32516
  if (!mark) {
31757
32517
  return;
@@ -31782,7 +32542,7 @@ function getMarkType(nameOrType, schema2) {
31782
32542
  }
31783
32543
  return nameOrType;
31784
32544
  }
31785
- var extendMarkRange = (typeOrName, attributes = {}) => ({ tr: tr2, state, dispatch }) => {
32545
+ var extendMarkRange = (typeOrName, attributes) => ({ tr: tr2, state, dispatch }) => {
31786
32546
  const type = getMarkType(typeOrName, state.schema);
31787
32547
  const { doc: doc2, selection } = tr2;
31788
32548
  const { $from, from: from2, to } = selection;
@@ -32093,7 +32853,7 @@ var insertContentAt = (position, value, options2) => ({ tr: tr2, dispatch, edito
32093
32853
  const fromSelectionAtStart = $from.parentOffset === 0;
32094
32854
  const isTextSelection2 = $fromNode.isText || $fromNode.isTextblock;
32095
32855
  const hasContent = $fromNode.content.size > 0;
32096
- if (fromSelectionAtStart && isTextSelection2 && hasContent) {
32856
+ if (fromSelectionAtStart && isTextSelection2 && hasContent && isOnlyBlockContent) {
32097
32857
  from2 = Math.max(0, from2 - 1);
32098
32858
  }
32099
32859
  tr2.replaceWith(from2, to, newContent);
@@ -33604,6 +34364,16 @@ var joinListForwards = (tr2, listType) => {
33604
34364
  tr2.join(after);
33605
34365
  return true;
33606
34366
  };
34367
+ function createInnerSelectionForWholeDocList(tr2) {
34368
+ const doc2 = tr2.doc;
34369
+ const list = doc2.firstChild;
34370
+ if (!list) {
34371
+ return null;
34372
+ }
34373
+ const $start = doc2.resolve(1);
34374
+ const $end = doc2.resolve(list.nodeSize - 1);
34375
+ return TextSelection.between($start, $end);
34376
+ }
33607
34377
  var toggleList = (listTypeOrName, itemTypeOrName, keepMarks, attributes = {}) => ({ editor, tr: tr2, state, dispatch, chain, commands, can }) => {
33608
34378
  const { extensions, splittableMarks } = editor.extensionManager;
33609
34379
  const listType = getNodeType(listTypeOrName, state.schema);
@@ -33616,13 +34386,36 @@ var toggleList = (listTypeOrName, itemTypeOrName, keepMarks, attributes = {}) =>
33616
34386
  return false;
33617
34387
  }
33618
34388
  const parentList = findParentNode((node) => isList(node.type.name, extensions))(selection);
33619
- if (range.depth >= 1 && parentList && range.depth - parentList.depth <= 1) {
33620
- if (parentList.node.type === listType) {
34389
+ const isAllSelection = selection.from === 0 && selection.to === state.doc.content.size;
34390
+ const topLevelNodes = state.doc.content.content;
34391
+ const soleTopLevelNode = topLevelNodes.length === 1 ? topLevelNodes[0] : null;
34392
+ const allSelectionList = isAllSelection && soleTopLevelNode && isList(soleTopLevelNode.type.name, extensions) ? {
34393
+ node: soleTopLevelNode,
34394
+ pos: 0
34395
+ } : null;
34396
+ const currentList = parentList != null ? parentList : allSelectionList;
34397
+ const isInsideExistingList = !!parentList && range.depth >= 1 && range.depth - parentList.depth <= 1;
34398
+ const hasWholeDocSelectedList = !!allSelectionList;
34399
+ if ((isInsideExistingList || hasWholeDocSelectedList) && currentList) {
34400
+ if (currentList.node.type === listType) {
34401
+ if (isAllSelection && hasWholeDocSelectedList) {
34402
+ return chain().command(({ tr: trx, dispatch: disp }) => {
34403
+ const nextSelection = createInnerSelectionForWholeDocList(trx);
34404
+ if (!nextSelection) {
34405
+ return false;
34406
+ }
34407
+ trx.setSelection(nextSelection);
34408
+ if (disp) {
34409
+ disp(trx);
34410
+ }
34411
+ return true;
34412
+ }).liftListItem(itemType).run();
34413
+ }
33621
34414
  return commands.liftListItem(itemType);
33622
34415
  }
33623
- if (isList(parentList.node.type.name, extensions) && listType.validContent(parentList.node.content) && dispatch) {
34416
+ if (isList(currentList.node.type.name, extensions) && listType.validContent(currentList.node.content)) {
33624
34417
  return chain().command(() => {
33625
- tr2.setNodeMarkup(parentList.pos, listType);
34418
+ tr2.setNodeMarkup(currentList.pos, listType);
33626
34419
  return true;
33627
34420
  }).command(() => joinListBackwards(tr2, listType)).command(() => joinListForwards(tr2, listType)).run();
33628
34421
  }
@@ -34159,6 +34952,7 @@ var Extendable = class {
34159
34952
  });
34160
34953
  extension.name = this.name;
34161
34954
  extension.parent = this.parent;
34955
+ this.child = null;
34162
34956
  return extension;
34163
34957
  }
34164
34958
  extend(extendedConfig = {}) {
@@ -34686,6 +35480,36 @@ var ExtensionManager = class {
34686
35480
  })
34687
35481
  );
34688
35482
  }
35483
+ /**
35484
+ * Destroy the extension manager and clean up all extension references
35485
+ * to prevent memory leaks through parent/child extension chains.
35486
+ *
35487
+ * Walks each extension's full parent chain and nulls every forward
35488
+ * `parent.child → current` link where the parent still points to the
35489
+ * current node. This breaks the retention path from module-scope
35490
+ * singleton roots through deep extend() chains.
35491
+ *
35492
+ * Only ancestor `.child` links matching the current chain are cleared.
35493
+ * The `.parent` pointer on ancestors is never touched — extensions
35494
+ * may be shared across live editors, so their own backward references
35495
+ * and non-matching forward links must remain intact.
35496
+ */
35497
+ destroy() {
35498
+ this.extensions.forEach((extension) => {
35499
+ let current = extension;
35500
+ while (current.parent) {
35501
+ const parent = current.parent;
35502
+ if (parent.child === current) {
35503
+ parent.child = null;
35504
+ }
35505
+ current = parent;
35506
+ }
35507
+ });
35508
+ this.extensions = [];
35509
+ this.baseExtensions = [];
35510
+ this.schema = null;
35511
+ this.editor = null;
35512
+ }
34689
35513
  /**
34690
35514
  * Go through all extensions, create extension storages & setup marks
34691
35515
  * & bind editor event listener.
@@ -34867,7 +35691,7 @@ var Delete = Extension.create({
34867
35691
  const newEnd = mapping.slice(index).map(step.to);
34868
35692
  const oldStart = mapping.invert().map(newStart, -1);
34869
35693
  const oldEnd = mapping.invert().map(newEnd);
34870
- const foundBeforeMark = (_a3 = nextTransaction.doc.nodeAt(newStart - 1)) == null ? void 0 : _a3.marks.some((mark) => mark.eq(step.mark));
35694
+ const foundBeforeMark = newStart > 0 ? (_a3 = nextTransaction.doc.nodeAt(newStart - 1)) == null ? void 0 : _a3.marks.some((mark) => mark.eq(step.mark)) : false;
34871
35695
  const foundAfterMark = (_b3 = nextTransaction.doc.nodeAt(newEnd)) == null ? void 0 : _b3.marks.some((mark) => mark.eq(step.mark));
34872
35696
  this.editor.emit("delete", {
34873
35697
  type: "mark",
@@ -35091,12 +35915,23 @@ var Paste = Extension.create({
35091
35915
  });
35092
35916
  var Tabindex = Extension.create({
35093
35917
  name: "tabindex",
35918
+ addOptions() {
35919
+ return {
35920
+ value: void 0
35921
+ };
35922
+ },
35094
35923
  addProseMirrorPlugins() {
35095
35924
  return [
35096
35925
  new Plugin({
35097
35926
  key: new PluginKey("tabindex"),
35098
35927
  props: {
35099
- attributes: () => this.editor.isEditable ? { tabindex: "0" } : {}
35928
+ attributes: () => {
35929
+ var _a;
35930
+ if (!this.editor.isEditable && this.options.value === void 0) {
35931
+ return {};
35932
+ }
35933
+ return { tabindex: (_a = this.options.value) != null ? _a : "0" };
35934
+ }
35100
35935
  }
35101
35936
  })
35102
35937
  ];
@@ -35427,6 +36262,7 @@ var Editor$2 = class Editor extends EventEmitter {
35427
36262
  this.className = "tiptap";
35428
36263
  this.editorView = null;
35429
36264
  this.isFocused = false;
36265
+ this.destroyed = false;
35430
36266
  this.isInitialized = false;
35431
36267
  this.extensionStorage = {};
35432
36268
  this.instanceId = Math.random().toString(36).slice(2, 9);
@@ -35709,7 +36545,7 @@ var Editor$2 = class Editor extends EventEmitter {
35709
36545
  * Creates an extension manager.
35710
36546
  */
35711
36547
  createExtensionManager() {
35712
- var _a, _b;
36548
+ var _a, _b, _c, _d;
35713
36549
  const coreExtensions = this.options.enableCoreExtensions ? [
35714
36550
  Editable,
35715
36551
  ClipboardTextSerializer.configure({
@@ -35718,7 +36554,9 @@ var Editor$2 = class Editor extends EventEmitter {
35718
36554
  Commands,
35719
36555
  FocusEvents,
35720
36556
  Keymap,
35721
- Tabindex,
36557
+ Tabindex.configure({
36558
+ value: (_d = (_c = this.options.coreExtensionOptions) == null ? void 0 : _c.tabindex) == null ? void 0 : _d.value
36559
+ }),
35722
36560
  Drop,
35723
36561
  Paste,
35724
36562
  Delete,
@@ -35955,9 +36793,18 @@ var Editor$2 = class Editor extends EventEmitter {
35955
36793
  * Destroy the editor.
35956
36794
  */
35957
36795
  destroy() {
36796
+ if (this.destroyed) {
36797
+ return;
36798
+ }
36799
+ this.destroyed = true;
35958
36800
  this.emit("destroy");
35959
36801
  this.unmount();
35960
36802
  this.removeAllListeners();
36803
+ this.extensionManager.destroy();
36804
+ this.extensionManager = null;
36805
+ this.schema = null;
36806
+ this.commandManager = null;
36807
+ this.extensionStorage = {};
35961
36808
  }
35962
36809
  /**
35963
36810
  * Check if the editor is already destroyed.
@@ -36685,7 +37532,10 @@ function markPasteRule(config) {
36685
37532
  }
36686
37533
  markEnd = range.from + startSpaces + captureGroup.length;
36687
37534
  tr2.addMark(range.from + startSpaces, markEnd, config.type.create(attributes || {}));
36688
- tr2.removeStoredMark(config.type);
37535
+ const isMatchAtEndOfText = match.index !== void 0 && match.input !== void 0 && match.index + match[0].length >= match.input.length;
37536
+ if (!isMatchAtEndOfText) {
37537
+ tr2.removeStoredMark(config.type);
37538
+ }
36689
37539
  }
36690
37540
  }
36691
37541
  });
@@ -37727,7 +38577,7 @@ var Italic = Mark2.create({
37727
38577
  ];
37728
38578
  }
37729
38579
  });
37730
- const encodedTlds = "aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0axi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2";
38580
+ const encodedTlds = "aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2odyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rck0msd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0axi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2oodside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2";
37731
38581
  const encodedUtlds = "ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2";
37732
38582
  const numeric = "numeric";
37733
38583
  const ascii = "ascii";
@@ -38657,8 +39507,6 @@ function init$1({
38657
39507
  ta(Email$1, groups.domain, EmailDomain);
38658
39508
  tt(Email$1, DOT, EmailDomainDot);
38659
39509
  tt(Email$1, HYPHEN, EmailDomainHyphen);
38660
- const EmailColon = tt(Email$1, COLON);
38661
- ta(EmailColon, groups.numeric, Email);
38662
39510
  const DomainHyphen = tt(Domain, HYPHEN);
38663
39511
  const DomainDot = tt(Domain, DOT);
38664
39512
  tt(DomainHyphen, HYPHEN, DomainHyphen);
@@ -38722,11 +39570,11 @@ function init$1({
38722
39570
  const [OPEN, CLOSE] = bracketPairs[i];
38723
39571
  const UrlOpen = tt(Url$1, OPEN);
38724
39572
  tt(UrlNonaccept, OPEN, UrlOpen);
38725
- tt(UrlOpen, CLOSE, Url$1);
38726
39573
  const UrlOpenQ = makeState(Url);
38727
39574
  ta(UrlOpen, qsAccepting, UrlOpenQ);
38728
39575
  const UrlOpenSyms = makeState();
38729
- ta(UrlOpen, qsNonAccepting);
39576
+ ta(UrlOpen, qsNonAccepting, UrlOpenSyms);
39577
+ tt(UrlOpen, CLOSE, Url$1);
38730
39578
  ta(UrlOpenQ, qsAccepting, UrlOpenQ);
38731
39579
  ta(UrlOpenQ, qsNonAccepting, UrlOpenSyms);
38732
39580
  ta(UrlOpenSyms, qsAccepting, UrlOpenQ);
@@ -39368,6 +40216,25 @@ var BulletList = Node3.create({
39368
40216
  return [inputRule];
39369
40217
  }
39370
40218
  });
40219
+ function isSameLineOrderedListToken(token) {
40220
+ var _a, _b;
40221
+ const nestedToken = (_a = token.tokens) == null ? void 0 : _a[0];
40222
+ return Boolean(
40223
+ token.text && ((_b = token.tokens) == null ? void 0 : _b.length) === 1 && (nestedToken == null ? void 0 : nestedToken.type) === "list" && nestedToken.ordered && nestedToken.raw === token.text
40224
+ );
40225
+ }
40226
+ function parseSameLineOrderedListText(text, helpers) {
40227
+ if (helpers.tokenizeInline) {
40228
+ return helpers.parseInline(helpers.tokenizeInline(text));
40229
+ }
40230
+ return helpers.parseInline([
40231
+ {
40232
+ type: "text",
40233
+ raw: text,
40234
+ text
40235
+ }
40236
+ ]);
40237
+ }
39371
40238
  var ListItem = Node3.create({
39372
40239
  name: "listItem",
39373
40240
  addOptions() {
@@ -39398,6 +40265,17 @@ var ListItem = Node3.create({
39398
40265
  const parseBlockChildren = (_a = helpers.parseBlockChildren) != null ? _a : helpers.parseChildren;
39399
40266
  let content = [];
39400
40267
  if (token.tokens && token.tokens.length > 0) {
40268
+ if (isSameLineOrderedListToken(token)) {
40269
+ return {
40270
+ type: "listItem",
40271
+ content: [
40272
+ {
40273
+ type: "paragraph",
40274
+ content: parseSameLineOrderedListText(token.text || "", helpers)
40275
+ }
40276
+ ]
40277
+ };
40278
+ }
39401
40279
  const hasParagraphTokens = token.tokens.some((t2) => t2.type === "paragraph");
39402
40280
  if (hasParagraphTokens) {
39403
40281
  content = parseBlockChildren(token.tokens);
@@ -39702,6 +40580,36 @@ var ListKeymap = Extension.create({
39702
40580
  });
39703
40581
  var ORDERED_LIST_ITEM_REGEX = /^(\s*)(\d+)\.\s+(.*)$/;
39704
40582
  var INDENTED_LINE_REGEX = /^\s/;
40583
+ function isBlockContentLine(line) {
40584
+ const trimmedLine = line.trimStart();
40585
+ return /^[-+*]\s+/.test(trimmedLine) || /^\d+\.\s+/.test(trimmedLine) || /^>\s?/.test(trimmedLine) || /^```/.test(trimmedLine) || /^~~~/.test(trimmedLine);
40586
+ }
40587
+ function splitItemContent(contentLines) {
40588
+ const paragraphLines = [];
40589
+ const blockLines = [];
40590
+ let reachedBlockBoundary = false;
40591
+ contentLines.forEach((line) => {
40592
+ if (reachedBlockBoundary) {
40593
+ blockLines.push(line);
40594
+ return;
40595
+ }
40596
+ if (line.trim() === "") {
40597
+ reachedBlockBoundary = true;
40598
+ blockLines.push(line);
40599
+ return;
40600
+ }
40601
+ if (paragraphLines.length > 0 && isBlockContentLine(line)) {
40602
+ reachedBlockBoundary = true;
40603
+ blockLines.push(line);
40604
+ return;
40605
+ }
40606
+ paragraphLines.push(line);
40607
+ });
40608
+ return {
40609
+ paragraphLines,
40610
+ blockLines
40611
+ };
40612
+ }
39705
40613
  function collectOrderedListItems(lines) {
39706
40614
  const listItems = [];
39707
40615
  let currentLineIndex = 0;
@@ -39714,9 +40622,10 @@ function collectOrderedListItems(lines) {
39714
40622
  }
39715
40623
  const [, indent, number, content] = match;
39716
40624
  const indentLevel = indent.length;
39717
- let itemContent = content;
40625
+ const itemContentLines = [content];
39718
40626
  let nextLineIndex = currentLineIndex + 1;
39719
40627
  const itemLines = [line];
40628
+ let sawBlankLine = false;
39720
40629
  while (nextLineIndex < lines.length) {
39721
40630
  const nextLine = lines[nextLineIndex];
39722
40631
  const nextMatch = nextLine.match(ORDERED_LIST_ITEM_REGEX);
@@ -39725,21 +40634,27 @@ function collectOrderedListItems(lines) {
39725
40634
  }
39726
40635
  if (nextLine.trim() === "") {
39727
40636
  itemLines.push(nextLine);
39728
- itemContent += "\n";
40637
+ itemContentLines.push("");
40638
+ sawBlankLine = true;
39729
40639
  nextLineIndex += 1;
39730
40640
  } else if (nextLine.match(INDENTED_LINE_REGEX)) {
39731
40641
  itemLines.push(nextLine);
39732
- itemContent += `
39733
- ${nextLine.slice(indentLevel + 2)}`;
40642
+ itemContentLines.push(nextLine.slice(indentLevel + 2));
39734
40643
  nextLineIndex += 1;
39735
40644
  } else {
39736
- break;
40645
+ if (sawBlankLine) {
40646
+ break;
40647
+ }
40648
+ itemLines.push(nextLine);
40649
+ itemContentLines.push(nextLine);
40650
+ nextLineIndex += 1;
39737
40651
  }
39738
40652
  }
39739
40653
  listItems.push({
39740
40654
  indent: indentLevel,
39741
40655
  number: parseInt(number, 10),
39742
- content: itemContent.trim(),
40656
+ content: itemContentLines.join("\n").trim(),
40657
+ contentLines: itemContentLines,
39743
40658
  raw: itemLines.join("\n")
39744
40659
  });
39745
40660
  consumed = nextLineIndex;
@@ -39748,14 +40663,13 @@ ${nextLine.slice(indentLevel + 2)}`;
39748
40663
  return [listItems, consumed];
39749
40664
  }
39750
40665
  function buildNestedStructure(items, baseIndent, lexer) {
39751
- var _a;
39752
40666
  const result = [];
39753
40667
  let currentIndex = 0;
39754
40668
  while (currentIndex < items.length) {
39755
40669
  const item = items[currentIndex];
39756
40670
  if (item.indent === baseIndent) {
39757
- const contentLines = item.content.split("\n");
39758
- const mainText = ((_a = contentLines[0]) == null ? void 0 : _a.trim()) || "";
40671
+ const { paragraphLines, blockLines } = splitItemContent(item.contentLines);
40672
+ const mainText = paragraphLines.join("\n").trim();
39759
40673
  const tokens = [];
39760
40674
  if (mainText) {
39761
40675
  tokens.push({
@@ -39764,7 +40678,7 @@ function buildNestedStructure(items, baseIndent, lexer) {
39764
40678
  tokens: lexer.inlineTokens(mainText)
39765
40679
  });
39766
40680
  }
39767
- const additionalContent = contentLines.slice(1).join("\n").trim();
40681
+ const additionalContent = blockLines.join("\n").trim();
39768
40682
  if (additionalContent) {
39769
40683
  const blockTokens = lexer.blockTokens(additionalContent);
39770
40684
  tokens.push(...blockTokens);
@@ -40335,7 +41249,8 @@ var Paragraph = Node3.create({
40335
41249
  return helpers.parseChildren([tokens[0]]);
40336
41250
  }
40337
41251
  const content = helpers.parseInline(tokens);
40338
- if (content.length === 1 && content[0].type === "text" && (content[0].text === EMPTY_PARAGRAPH_MARKDOWN || content[0].text === NBSP_CHAR)) {
41252
+ const hasExplicitEmptyParagraphMarker = tokens.length === 1 && tokens[0].type === "text" && (tokens[0].raw === EMPTY_PARAGRAPH_MARKDOWN || tokens[0].text === EMPTY_PARAGRAPH_MARKDOWN || tokens[0].raw === NBSP_CHAR || tokens[0].text === NBSP_CHAR);
41253
+ if (hasExplicitEmptyParagraphMarker && content.length === 1 && content[0].type === "text" && (content[0].text === EMPTY_PARAGRAPH_MARKDOWN || content[0].text === NBSP_CHAR)) {
40339
41254
  return helpers.createNode("paragraph", void 0, []);
40340
41255
  }
40341
41256
  return helpers.createNode("paragraph", void 0, content);
@@ -41394,6 +42309,7 @@ Extension.create({
41394
42309
  addOptions() {
41395
42310
  return {
41396
42311
  limit: null,
42312
+ autoTrim: true,
41397
42313
  mode: "textSize",
41398
42314
  textCounter: (text) => text.length,
41399
42315
  wordCounter: (text) => text.split(" ").filter((word) => word !== "").length
@@ -41431,7 +42347,8 @@ Extension.create({
41431
42347
  return;
41432
42348
  }
41433
42349
  const limit = this.options.limit;
41434
- if (limit === null || limit === void 0 || limit === 0) {
42350
+ const autoTrim = this.options.autoTrim;
42351
+ if (limit === null || limit === void 0 || limit === 0 || autoTrim === false) {
41435
42352
  initialEvaluationDone = true;
41436
42353
  return;
41437
42354
  }
@@ -41866,6 +42783,19 @@ function findSuggestionMatch(config) {
41866
42783
  }
41867
42784
  return null;
41868
42785
  }
42786
+ function hasInsertedWhitespace(transaction) {
42787
+ if (!transaction.docChanged) {
42788
+ return false;
42789
+ }
42790
+ return transaction.steps.some((step) => {
42791
+ const slice2 = step.slice;
42792
+ if (!(slice2 == null ? void 0 : slice2.content)) {
42793
+ return false;
42794
+ }
42795
+ const inserted = slice2.content.textBetween(0, slice2.content.size, "\n");
42796
+ return /\s/.test(inserted);
42797
+ });
42798
+ }
41869
42799
  var SuggestionPluginKey = new PluginKey("suggestion");
41870
42800
  function Suggestion({
41871
42801
  pluginKey = SuggestionPluginKey,
@@ -41884,10 +42814,12 @@ function Suggestion({
41884
42814
  render: render2 = () => ({}),
41885
42815
  allow = () => true,
41886
42816
  findSuggestionMatch: findSuggestionMatch2 = findSuggestionMatch,
41887
- shouldShow
42817
+ shouldShow,
42818
+ shouldResetDismissed
41888
42819
  }) {
41889
42820
  let props2;
41890
42821
  const renderer = render2 == null ? void 0 : render2();
42822
+ const effectiveAllowSpaces = allowSpaces && !allowToIncludeChar;
41891
42823
  const getAnchorClientRect = () => {
41892
42824
  const pos = editor.state.selection.$anchor.pos;
41893
42825
  const coords = editor.view.coordsAtPos(pos);
@@ -41909,6 +42841,27 @@ function Suggestion({
41909
42841
  return (currentDecorationNode == null ? void 0 : currentDecorationNode.getBoundingClientRect()) || null;
41910
42842
  };
41911
42843
  };
42844
+ const shouldKeepDismissed = ({
42845
+ match,
42846
+ dismissedRange,
42847
+ state,
42848
+ transaction
42849
+ }) => {
42850
+ if (shouldResetDismissed == null ? void 0 : shouldResetDismissed({
42851
+ editor,
42852
+ state,
42853
+ range: dismissedRange,
42854
+ match,
42855
+ transaction,
42856
+ allowSpaces: effectiveAllowSpaces
42857
+ })) {
42858
+ return false;
42859
+ }
42860
+ if (effectiveAllowSpaces) {
42861
+ return match.range.from === dismissedRange.from;
42862
+ }
42863
+ return match.range.from === dismissedRange.from && !hasInsertedWhitespace(transaction);
42864
+ };
41912
42865
  function dispatchExit(view, pluginKeyRef) {
41913
42866
  var _a;
41914
42867
  try {
@@ -42011,7 +42964,8 @@ function Suggestion({
42011
42964
  },
42012
42965
  query: null,
42013
42966
  text: null,
42014
- composing: false
42967
+ composing: false,
42968
+ dismissedRange: null
42015
42969
  };
42016
42970
  return state;
42017
42971
  },
@@ -42029,9 +42983,16 @@ function Suggestion({
42029
42983
  next.range = { from: 0, to: 0 };
42030
42984
  next.query = null;
42031
42985
  next.text = null;
42986
+ next.dismissedRange = prev.active ? { ...prev.range } : prev.dismissedRange;
42032
42987
  return next;
42033
42988
  }
42034
42989
  next.composing = composing;
42990
+ if (transaction.docChanged && next.dismissedRange !== null) {
42991
+ next.dismissedRange = {
42992
+ from: transaction.mapping.map(next.dismissedRange.from),
42993
+ to: transaction.mapping.map(next.dismissedRange.to)
42994
+ };
42995
+ }
42035
42996
  if (isEditable && (empty2 || editor.view.composing)) {
42036
42997
  if ((from2 < prev.range.from || from2 > prev.range.to) && !composing && !prev.composing) {
42037
42998
  next.active = false;
@@ -42057,12 +43018,27 @@ function Suggestion({
42057
43018
  text: match.text,
42058
43019
  transaction
42059
43020
  }))) {
42060
- next.active = true;
42061
- next.decorationId = prev.decorationId ? prev.decorationId : decorationId;
42062
- next.range = match.range;
42063
- next.query = match.query;
42064
- next.text = match.text;
43021
+ if (next.dismissedRange !== null && !shouldKeepDismissed({
43022
+ match,
43023
+ dismissedRange: next.dismissedRange,
43024
+ state,
43025
+ transaction
43026
+ })) {
43027
+ next.dismissedRange = null;
43028
+ }
43029
+ if (next.dismissedRange === null) {
43030
+ next.active = true;
43031
+ next.decorationId = prev.decorationId ? prev.decorationId : decorationId;
43032
+ next.range = match.range;
43033
+ next.query = match.query;
43034
+ next.text = match.text;
43035
+ } else {
43036
+ next.active = false;
43037
+ }
42065
43038
  } else {
43039
+ if (!match) {
43040
+ next.dismissedRange = null;
43041
+ }
42066
43042
  next.active = false;
42067
43043
  }
42068
43044
  } else {
@@ -42080,41 +43056,18 @@ function Suggestion({
42080
43056
  props: {
42081
43057
  // Call the keydown hook if suggestion is active.
42082
43058
  handleKeyDown(view, event) {
42083
- var _a, _b, _c, _d;
43059
+ var _a, _b;
42084
43060
  const { active, range } = plugin.getState(view.state);
42085
43061
  if (!active) {
42086
43062
  return false;
42087
43063
  }
42088
43064
  if (event.key === "Escape" || event.key === "Esc") {
42089
43065
  const state = plugin.getState(view.state);
42090
- const cachedNode = (_a = props2 == null ? void 0 : props2.decorationNode) != null ? _a : null;
42091
- const decorationNode = cachedNode != null ? cachedNode : (state == null ? void 0 : state.decorationId) ? view.dom.querySelector(`[data-decoration-id="${state.decorationId}"]`) : null;
42092
- const handledByKeyDown = ((_b = renderer == null ? void 0 : renderer.onKeyDown) == null ? void 0 : _b.call(renderer, { view, event, range: state.range })) || false;
42093
- if (handledByKeyDown) {
42094
- return true;
42095
- }
42096
- const exitProps = {
42097
- editor,
42098
- range: state.range,
42099
- query: state.query,
42100
- text: state.text,
42101
- items: [],
42102
- command: (commandProps) => {
42103
- return command2({ editor, range: state.range, props: commandProps });
42104
- },
42105
- decorationNode,
42106
- // If we have a cached decoration node, use it for the clientRect
42107
- // to avoid another DOM lookup. If not, leave clientRect null and
42108
- // let consumer decide if they want to query.
42109
- clientRect: decorationNode ? () => {
42110
- return decorationNode.getBoundingClientRect() || null;
42111
- } : null
42112
- };
42113
- (_c = renderer == null ? void 0 : renderer.onExit) == null ? void 0 : _c.call(renderer, exitProps);
43066
+ (_a = renderer == null ? void 0 : renderer.onKeyDown) == null ? void 0 : _a.call(renderer, { view, event, range: state.range });
42114
43067
  dispatchExit(view, pluginKey);
42115
43068
  return true;
42116
43069
  }
42117
- const handled = ((_d = renderer == null ? void 0 : renderer.onKeyDown) == null ? void 0 : _d.call(renderer, { view, event, range })) || false;
43070
+ const handled = ((_b = renderer == null ? void 0 : renderer.onKeyDown) == null ? void 0 : _b.call(renderer, { view, event, range })) || false;
42118
43071
  return handled;
42119
43072
  },
42120
43073
  // Setup decorator on the currently active suggestion.
@@ -45068,6 +46021,10 @@ const tipTapEditorProps = buildProps({
45068
46021
  border: {
45069
46022
  type: Boolean,
45070
46023
  default: true
46024
+ },
46025
+ resizable: {
46026
+ type: Boolean,
46027
+ default: false
45071
46028
  }
45072
46029
  });
45073
46030
  const _sfc_main$1p = /* @__PURE__ */ Object.assign({ name: "ElsTiptapEditor" }, {
@@ -45090,7 +46047,12 @@ const _sfc_main$1p = /* @__PURE__ */ Object.assign({ name: "ElsTiptapEditor" },
45090
46047
  const mentionOptions = computed(() => props2.options || []);
45091
46048
  let mentionFormatCache = null;
45092
46049
  const wrapperStyle = computed(() => ({ width: props2.width }));
45093
- const editorStyle = computed(() => ({ height: props2.height, minHeight: props2.height }));
46050
+ const editorStyle = computed(() => {
46051
+ if (props2.resizable) {
46052
+ return { minHeight: props2.height };
46053
+ }
46054
+ return { height: props2.height, minHeight: props2.height };
46055
+ });
45094
46056
  __expose({
45095
46057
  editor,
45096
46058
  getHTML: () => {
@@ -45453,7 +46415,11 @@ const _sfc_main$1p = /* @__PURE__ */ Object.assign({ name: "ElsTiptapEditor" },
45453
46415
  style: normalizeStyle(wrapperStyle.value)
45454
46416
  }, [
45455
46417
  createElementVNode("div", {
45456
- class: normalizeClass(["editor-box", [`theme-${props2.theme}`, { "no-border": !props2.border }]]),
46418
+ class: normalizeClass(["editor-box", [
46419
+ `theme-${props2.theme}`,
46420
+ { "no-border": !props2.border },
46421
+ { "resizable": props2.resizable }
46422
+ ]]),
45457
46423
  style: normalizeStyle(editorStyle.value),
45458
46424
  onClick: focusEditor
45459
46425
  }, [
@@ -45463,7 +46429,7 @@ const _sfc_main$1p = /* @__PURE__ */ Object.assign({ name: "ElsTiptapEditor" },
45463
46429
  };
45464
46430
  }
45465
46431
  });
45466
- const TipTapEditor = /* @__PURE__ */ _export_sfc$1(_sfc_main$1p, [["__scopeId", "data-v-1dbb273f"]]);
46432
+ const TipTapEditor = /* @__PURE__ */ _export_sfc$1(_sfc_main$1p, [["__scopeId", "data-v-60ae21de"]]);
45467
46433
  const ElsTiptapEditor = withInstall(TipTapEditor);
45468
46434
  function _isSlot(s) {
45469
46435
  return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
@@ -45570,7 +46536,7 @@ const _sfc_main$1o = defineComponent({
45570
46536
  return () => sw.render();
45571
46537
  }
45572
46538
  });
45573
- const InputTag2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$1o, [["__scopeId", "data-v-362f5c3b"]]);
46539
+ const InputTag2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$1o, [["__scopeId", "data-v-c1f0387c"]]);
45574
46540
  const ElsInputTag = withInstall(InputTag2);
45575
46541
  const property_input = [
45576
46542
  {
@@ -69888,7 +70854,7 @@ const _sfc_main$1n = /* @__PURE__ */ defineComponent({
69888
70854
  };
69889
70855
  }
69890
70856
  });
69891
- const Container = /* @__PURE__ */ _export_sfc$1(_sfc_main$1n, [["__scopeId", "data-v-b10f4c25"]]);
70857
+ const Container = /* @__PURE__ */ _export_sfc$1(_sfc_main$1n, [["__scopeId", "data-v-b15ec31d"]]);
69892
70858
  const ElsContainer = withInstall(Container);
69893
70859
  const createProps = buildProps({
69894
70860
  /**
@@ -70346,7 +71312,7 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
70346
71312
  emits: /* @__PURE__ */ mergeModels(["removeItem"], ["update:children"]),
70347
71313
  setup(__props, { emit: __emit }) {
70348
71314
  const DynamicDesignerInnerItem = defineAsyncComponent(() => {
70349
- return import("./innerItem-CH1M0mN8.js");
71315
+ return import("./innerItem-CnFsIpmO.js");
70350
71316
  });
70351
71317
  const { getValue: getValue2 } = useProps();
70352
71318
  const tagID = getValue2("tagID");
@@ -70677,7 +71643,7 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
70677
71643
  };
70678
71644
  }
70679
71645
  });
70680
- const DynamicDesignerInner = /* @__PURE__ */ _export_sfc$1(_sfc_main$1l, [["__scopeId", "data-v-1ebee058"]]);
71646
+ const DynamicDesignerInner = /* @__PURE__ */ _export_sfc$1(_sfc_main$1l, [["__scopeId", "data-v-9f8f7295"]]);
70681
71647
  const designerProps = buildProps({
70682
71648
  ...formItemProps$1,
70683
71649
  /**
@@ -71097,7 +72063,7 @@ const _sfc_main$1k = /* @__PURE__ */ defineComponent({
71097
72063
  };
71098
72064
  }
71099
72065
  });
71100
- const Designer = /* @__PURE__ */ _export_sfc$1(_sfc_main$1k, [["__scopeId", "data-v-3365fc76"]]);
72066
+ const Designer = /* @__PURE__ */ _export_sfc$1(_sfc_main$1k, [["__scopeId", "data-v-30ef124d"]]);
71101
72067
  const ElsDynamicDesigner = withInstall(Designer);
71102
72068
  const renderProps = buildProps({
71103
72069
  ...formItemProps$1,
@@ -71196,10 +72162,10 @@ const _sfc_main$1j = /* @__PURE__ */ defineComponent({
71196
72162
  emits: ["update:modelValue"],
71197
72163
  setup(__props, { expose: __expose, emit: __emit }) {
71198
72164
  const DynamicRenderInner = defineAsyncComponent(() => {
71199
- return import("./inner-LhLoYJ0I.js").then((n) => n.i);
72165
+ return import("./inner-YAACwdSB.js").then((n) => n.i);
71200
72166
  });
71201
72167
  const DynamicRenderForm = defineAsyncComponent(() => {
71202
- return import("./inner-LhLoYJ0I.js").then((n) => n.f);
72168
+ return import("./inner-YAACwdSB.js").then((n) => n.f);
71203
72169
  });
71204
72170
  const props2 = __props;
71205
72171
  const { getValue: getValue2, setValue, formNodeProps } = useProps(props2);
@@ -71417,7 +72383,7 @@ const _sfc_main$1j = /* @__PURE__ */ defineComponent({
71417
72383
  };
71418
72384
  }
71419
72385
  });
71420
- const DynamicRender = /* @__PURE__ */ _export_sfc$1(_sfc_main$1j, [["__scopeId", "data-v-10051192"]]);
72386
+ const DynamicRender = /* @__PURE__ */ _export_sfc$1(_sfc_main$1j, [["__scopeId", "data-v-ee28c8a3"]]);
71421
72387
  const _hoisted_1$10 = { class: "els-node els-dynamic-render" };
71422
72388
  const _hoisted_2$f = { class: "els-dynamic-render-inner" };
71423
72389
  const _sfc_main$1i = /* @__PURE__ */ defineComponent({
@@ -71429,10 +72395,10 @@ const _sfc_main$1i = /* @__PURE__ */ defineComponent({
71429
72395
  emits: ["update:modelValue"],
71430
72396
  setup(__props, { expose: __expose, emit: __emit }) {
71431
72397
  const DynamicRenderInnerAsync = defineAsyncComponent(() => {
71432
- return import("./inner-LhLoYJ0I.js").then((n) => n.i);
72398
+ return import("./inner-YAACwdSB.js").then((n) => n.i);
71433
72399
  });
71434
72400
  const DynamicRenderFormAsync = defineAsyncComponent(() => {
71435
- return import("./inner-LhLoYJ0I.js").then((n) => n.f);
72401
+ return import("./inner-YAACwdSB.js").then((n) => n.f);
71436
72402
  });
71437
72403
  const props2 = __props;
71438
72404
  const { getValue: getValue2, setValue, formNodeProps } = useProps(props2);
@@ -71640,7 +72606,7 @@ const _sfc_main$1i = /* @__PURE__ */ defineComponent({
71640
72606
  };
71641
72607
  }
71642
72608
  });
71643
- const DynamicRenderAsync = /* @__PURE__ */ _export_sfc$1(_sfc_main$1i, [["__scopeId", "data-v-59d71611"]]);
72609
+ const DynamicRenderAsync = /* @__PURE__ */ _export_sfc$1(_sfc_main$1i, [["__scopeId", "data-v-a96b65cd"]]);
71644
72610
  const ElsRender = withInstall(DynamicRender);
71645
72611
  const ElsRenderAsync = withInstall(DynamicRenderAsync);
71646
72612
  const _sfc_main$1h = {};
@@ -72966,7 +73932,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
72966
73932
  };
72967
73933
  }
72968
73934
  });
72969
- const DynamicDesignerViewBaseSetting = /* @__PURE__ */ _export_sfc$1(_sfc_main$C, [["__scopeId", "data-v-f170beee"]]);
73935
+ const DynamicDesignerViewBaseSetting = /* @__PURE__ */ _export_sfc$1(_sfc_main$C, [["__scopeId", "data-v-a083f6db"]]);
72970
73936
  function useDesigner(props2, nodeItem) {
72971
73937
  return useRender(props2, nodeItem, void 0, void 0, true);
72972
73938
  }
@@ -73406,7 +74372,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
73406
74372
  };
73407
74373
  }
73408
74374
  });
73409
- const DynamicDesignerViewOperate = /* @__PURE__ */ _export_sfc$1(_sfc_main$A, [["__scopeId", "data-v-3ba76c76"]]);
74375
+ const DynamicDesignerViewOperate = /* @__PURE__ */ _export_sfc$1(_sfc_main$A, [["__scopeId", "data-v-a332f767"]]);
73410
74376
  const _hoisted_1$k = { key: 1 };
73411
74377
  const _sfc_main$z = /* @__PURE__ */ defineComponent({
73412
74378
  __name: "wrap",
@@ -73576,7 +74542,7 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
73576
74542
  };
73577
74543
  }
73578
74544
  });
73579
- const DynamicDesignerViewWrap = /* @__PURE__ */ _export_sfc$1(_sfc_main$z, [["__scopeId", "data-v-590cf558"]]);
74545
+ const DynamicDesignerViewWrap = /* @__PURE__ */ _export_sfc$1(_sfc_main$z, [["__scopeId", "data-v-9bd8282e"]]);
73580
74546
  const _hoisted_1$j = ["innerHTML"];
73581
74547
  const _sfc_main$y = /* @__PURE__ */ defineComponent({
73582
74548
  ...{
@@ -73775,7 +74741,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
73775
74741
  };
73776
74742
  }
73777
74743
  });
73778
- const DynamicDesignerViewInner = /* @__PURE__ */ _export_sfc$1(_sfc_main$x, [["__scopeId", "data-v-3bd8187d"]]);
74744
+ const DynamicDesignerViewInner = /* @__PURE__ */ _export_sfc$1(_sfc_main$x, [["__scopeId", "data-v-f4511d4b"]]);
73779
74745
  const _sfc_main$w = /* @__PURE__ */ defineComponent({
73780
74746
  __name: "form",
73781
74747
  props: /* @__PURE__ */ mergeModels({
@@ -73916,7 +74882,7 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
73916
74882
  };
73917
74883
  }
73918
74884
  });
73919
- const DynamicDesignerViewForm = /* @__PURE__ */ _export_sfc$1(_sfc_main$w, [["__scopeId", "data-v-841e5a20"]]);
74885
+ const DynamicDesignerViewForm = /* @__PURE__ */ _export_sfc$1(_sfc_main$w, [["__scopeId", "data-v-06406908"]]);
73920
74886
  const _sfc_main$v = /* @__PURE__ */ defineComponent({
73921
74887
  __name: "body",
73922
74888
  props: /* @__PURE__ */ mergeModels({
@@ -75684,7 +76650,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
75684
76650
  };
75685
76651
  }
75686
76652
  });
75687
- const DesignerView = /* @__PURE__ */ _export_sfc$1(_sfc_main$u, [["__scopeId", "data-v-42accd28"]]);
76653
+ const DesignerView = /* @__PURE__ */ _export_sfc$1(_sfc_main$u, [["__scopeId", "data-v-94fa0db4"]]);
75688
76654
  const ElsDesignerView = withInstall(DesignerView);
75689
76655
  (function(Prism2) {
75690
76656
  var string = /(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;
@@ -76423,31 +77389,31 @@ let AceEditor$1 = class AceEditor extends TBaseFormItem {
76423
77389
  __publicField(this, "editor", ref());
76424
77390
  onMounted(() => {
76425
77391
  if (props2.language === "json") {
76426
- const currModule = import("./mode-json-DRIAvH6E.js").then((n) => n.m);
77392
+ const currModule = import("./mode-json-BoxRotGl.js").then((n) => n.m);
76427
77393
  currModule.then((res) => {
76428
77394
  ace.config.setModuleUrl("ace/mode/json", res);
76429
77395
  this.init();
76430
77396
  });
76431
77397
  } else if (props2.language === "javascript") {
76432
- const currModule = import("./mode-javascript-SSfvDbP6.js").then((n) => n.m);
77398
+ const currModule = import("./mode-javascript-BVS0PFpM.js").then((n) => n.m);
76433
77399
  currModule.then((res) => {
76434
77400
  ace.config.setModuleUrl("ace/mode/javascript", res);
76435
77401
  this.init();
76436
77402
  });
76437
77403
  } else if (props2.language === "csharp") {
76438
- const currModule = import("./mode-csharp-z3kb5Yjx.js").then((n) => n.m);
77404
+ const currModule = import("./mode-csharp-C1pDB4Xs.js").then((n) => n.m);
76439
77405
  currModule.then((res) => {
76440
77406
  ace.config.setModuleUrl("ace/mode/csharp", res);
76441
77407
  this.init();
76442
77408
  });
76443
77409
  } else if (props2.language === "mysql") {
76444
- const currModule = import("./mode-mysql-DV6AcTms.js").then((n) => n.m);
77410
+ const currModule = import("./mode-mysql-KyUsrQNc.js").then((n) => n.m);
76445
77411
  currModule.then((res) => {
76446
77412
  ace.config.setModuleUrl("ace/mode/mysql", res);
76447
77413
  this.init();
76448
77414
  });
76449
77415
  } else if (props2.language === "css") {
76450
- const currModule = import("./mode-css-i2xnJ-FQ.js").then((n) => n.m);
77416
+ const currModule = import("./mode-css-DHYwb__9.js").then((n) => n.m);
76451
77417
  currModule.then((res) => {
76452
77418
  ace.config.setModuleUrl("ace/mode/css", res);
76453
77419
  this.init();
@@ -76526,7 +77492,7 @@ const _sfc_main$r = defineComponent({
76526
77492
  },
76527
77493
  emits: ["update:modelValue", "formatter"]
76528
77494
  });
76529
- const AceEditor2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$r, [["__scopeId", "data-v-6d272cbb"]]);
77495
+ const AceEditor2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$r, [["__scopeId", "data-v-bbf3dec5"]]);
76530
77496
  const ElsAceEditor = withInstall(AceEditor2);
76531
77497
  const mdEditorProps = buildProps({
76532
77498
  ...formItemProps$1,
@@ -76572,6 +77538,27 @@ class MdEditor extends TBaseFormItem {
76572
77538
  this.htmlContent.value = res;
76573
77539
  this._defaultEmits("update:html", this.htmlContent.value);
76574
77540
  });
77541
+ __publicField(this, "uploadImg", async (files, callback) => {
77542
+ const apiConfig = utils.getApiConfig();
77543
+ const {
77544
+ $dataField,
77545
+ $pathField
77546
+ } = utils.getUploadConfig();
77547
+ const urls = await Promise.all(files.map((file) => {
77548
+ const formData = new FormData();
77549
+ formData.append("file", file);
77550
+ return this.uploadUrl.value.upload(formData).then((res) => {
77551
+ if (res[apiConfig.$codeField] !== apiConfig.$success) {
77552
+ ProxyElsMessage.warning(`图片上传失败:${res[apiConfig.$messageField]}`);
77553
+ return "";
77554
+ }
77555
+ let currRes = res[apiConfig.$dataField];
77556
+ if ($dataField) currRes = currRes[$dataField];
77557
+ return currRes[$pathField] ?? "";
77558
+ });
77559
+ }));
77560
+ callback(urls.filter(Boolean));
77561
+ });
76575
77562
  if (props2.url) {
76576
77563
  this.uploadUrl.value = props2.url;
76577
77564
  }
@@ -76588,7 +77575,8 @@ class MdEditor extends TBaseFormItem {
76588
77575
  }, [createVNode(MdEditor$1, {
76589
77576
  "modelValue": this._comValue.value,
76590
77577
  "onUpdate:modelValue": ($event) => this._comValue.value = $event,
76591
- "onHtmlChanged": this.returnHtml
77578
+ "onHtmlChanged": this.returnHtml,
77579
+ "onUploadImg": this.uploadImg
76592
77580
  }, null)])]);
76593
77581
  }
76594
77582
  }
@@ -76953,7 +77941,7 @@ const _sfc_main$o = defineComponent({
76953
77941
  },
76954
77942
  emits: ["update:modelValue"]
76955
77943
  });
76956
- const WangEditor2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$o, [["__scopeId", "data-v-86ae3b56"]]);
77944
+ const WangEditor2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$o, [["__scopeId", "data-v-21475bac"]]);
76957
77945
  const ElsWangEditor = withInstall(WangEditor2);
76958
77946
  const jsonViewerProps = buildProps({
76959
77947
  /**
@@ -77088,7 +78076,7 @@ const _sfc_main$m = defineComponent({
77088
78076
  },
77089
78077
  emits: ["update:modelValue"]
77090
78078
  });
77091
- const JsonEditor2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$m, [["__scopeId", "data-v-832d1d4d"]]);
78079
+ const JsonEditor2 = /* @__PURE__ */ _export_sfc$1(_sfc_main$m, [["__scopeId", "data-v-ebf6dbd5"]]);
77092
78080
  const ElsJsonEditor = withInstall(JsonEditor2);
77093
78081
  const _hoisted_1$e = { class: "els-workpain" };
77094
78082
  const _hoisted_2$b = { style: { "display": "flex" } };
@@ -78829,7 +79817,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
78829
79817
  };
78830
79818
  }
78831
79819
  });
78832
- const NodeAdd = /* @__PURE__ */ _export_sfc$1(_sfc_main$j, [["__scopeId", "data-v-c5f2e9a7"]]);
79820
+ const NodeAdd = /* @__PURE__ */ _export_sfc$1(_sfc_main$j, [["__scopeId", "data-v-3cf341ed"]]);
78833
79821
  const _hoisted_1$b = { class: "condition-node-box" };
78834
79822
  const _hoisted_2$8 = { class: "auto-judge" };
78835
79823
  const _hoisted_3$7 = { class: "title-wrapper" };
@@ -79941,7 +80929,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
79941
80929
  };
79942
80930
  }
79943
80931
  });
79944
- const StampBadge = /* @__PURE__ */ _export_sfc$1(_sfc_main$e, [["__scopeId", "data-v-bfb93532"]]);
80932
+ const StampBadge = /* @__PURE__ */ _export_sfc$1(_sfc_main$e, [["__scopeId", "data-v-18d51d32"]]);
79945
80933
  const BadgeTypes = [
79946
80934
  "default",
79947
80935
  "primary",
@@ -84085,7 +85073,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
84085
85073
  });
84086
85074
  const ElsQrCode = withInstall(_sfc_main$d);
84087
85075
  var dist = { exports: {} };
84088
- (function(module, exports$1) {
85076
+ (function(module, exports) {
84089
85077
  (function(m, p) {
84090
85078
  module.exports = p();
84091
85079
  })(commonjsGlobal, function() {
@@ -84427,7 +85415,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
84427
85415
  };
84428
85416
  }
84429
85417
  });
84430
- const AMap = /* @__PURE__ */ _export_sfc$1(_sfc_main$c, [["__scopeId", "data-v-0147c473"]]);
85418
+ const AMap = /* @__PURE__ */ _export_sfc$1(_sfc_main$c, [["__scopeId", "data-v-cec0fc98"]]);
84431
85419
  const ElsAMap = withInstall(AMap);
84432
85420
  const getItemWidth = ({
84433
85421
  wrapperWidth,
@@ -84895,7 +85883,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
84895
85883
  },
84896
85884
  setup(__props, { expose: __expose }) {
84897
85885
  useCssVars((_ctx) => ({
84898
- "v86adf41e": __props.backgroundColor
85886
+ "e6a72274": __props.backgroundColor
84899
85887
  }));
84900
85888
  const props2 = __props;
84901
85889
  const lazy = new Lazy(props2.lazyload, props2.loadProps, props2.crossOrigin);
@@ -84973,7 +85961,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
84973
85961
  };
84974
85962
  }
84975
85963
  });
84976
- const Waterfall = /* @__PURE__ */ _export_sfc$1(_sfc_main$b, [["__scopeId", "data-v-e2ac4652"]]);
85964
+ const Waterfall = /* @__PURE__ */ _export_sfc$1(_sfc_main$b, [["__scopeId", "data-v-2a291f8f"]]);
84977
85965
  const _hoisted_1$4 = { class: "lazy__box" };
84978
85966
  const _hoisted_2$3 = { class: "lazy__resource" };
84979
85967
  const _hoisted_3$3 = { class: "image-container" };
@@ -85013,7 +86001,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
85013
86001
  };
85014
86002
  }
85015
86003
  });
85016
- const LazyImg = /* @__PURE__ */ _export_sfc$1(_sfc_main$a, [["__scopeId", "data-v-cc1a9416"]]);
86004
+ const LazyImg = /* @__PURE__ */ _export_sfc$1(_sfc_main$a, [["__scopeId", "data-v-aabf2ef2"]]);
85017
86005
  const waterFallProps = buildProps({
85018
86006
  url: {
85019
86007
  type: String,