@sdata/web-vue 4.4.1 → 4.4.3

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 (227) hide show
  1. package/dist/sd.css +20 -5
  2. package/dist/sd.min.css +2 -2
  3. package/es/_utils/global-config.js +9 -5
  4. package/es/anchor/anchor.vue_vue_type_script_setup_true_lang.js +5 -8
  5. package/es/anchor/utils.d.ts +1 -1
  6. package/es/anchor/utils.js +6 -1
  7. package/es/auto-complete/auto-complete.vue.d.ts +6 -6
  8. package/es/auto-complete/auto-complete.vue_vue_type_script_setup_true_lang.js +22 -6
  9. package/es/avatar/avatar-group.vue_vue_type_script_setup_true_lang.js +2 -1
  10. package/es/avatar/avatar.vue_vue_type_script_setup_true_lang.js +3 -3
  11. package/es/avatar/style/index.css +1 -1
  12. package/es/avatar/style/index.scss +2 -1
  13. package/es/badge/badge.vue_vue_type_script_setup_true_lang.js +59 -42
  14. package/es/basic-crud-table/basic-crud-modal.vue.d.ts +22 -22
  15. package/es/basic-crud-table/basic-crud-table.vue.d.ts +66 -66
  16. package/es/basic-crud-table/index.d.ts +198 -198
  17. package/es/bloom-menu/bloom-menu.vue.d.ts +1 -1
  18. package/es/bloom-menu/bloom-menu.vue_vue_type_script_setup_true_lang.js +16 -3
  19. package/es/border-beam/border-beam.vue_vue_type_script_setup_true_lang.js +32 -18
  20. package/es/breadcrumb/breadcrumb-item.vue_vue_type_script_setup_true_lang.js +3 -3
  21. package/es/calendar/components/cell.vue_vue_type_script_setup_true_lang.js +1 -1
  22. package/es/calendar/components/event.vue_vue_type_script_setup_true_lang.js +1 -1
  23. package/es/calendar/core/config.js +4 -1
  24. package/es/calendar/core/events.js +22 -2
  25. package/es/calendar/default-theme.scss +1 -1
  26. package/es/calendar/style/index.css +2 -2
  27. package/es/carousel/carousel.vue.d.ts +5 -1
  28. package/es/carousel/carousel.vue_vue_type_script_setup_true_lang.js +55 -12
  29. package/es/carousel/index.d.ts +15 -3
  30. package/es/cascader/cascader-panel.vue_vue_type_script_setup_true_lang.js +6 -3
  31. package/es/checkbox/checkbox.vue.d.ts +2 -0
  32. package/es/checkbox/checkbox.vue_vue_type_script_setup_true_lang.js +12 -6
  33. package/es/checkbox/index.d.ts +6 -0
  34. package/es/color-picker/color-picker.vue_vue_type_script_setup_true_lang.js +13 -5
  35. package/es/color-picker/control-bar.vue_vue_type_script_setup_true_lang.js +1 -1
  36. package/es/color-picker/hooks/use-control-block.d.ts +1 -1
  37. package/es/color-picker/hooks/use-control-block.js +6 -6
  38. package/es/color-picker/palette.vue_vue_type_script_setup_true_lang.js +1 -1
  39. package/es/comment/comment.vue_vue_type_script_setup_true_lang.js +7 -2
  40. package/es/config-provider/config-provider.vue_vue_type_script_setup_true_lang.js +7 -6
  41. package/es/config-provider/theme-provider.vue_vue_type_script_setup_true_lang.js +3 -0
  42. package/es/copy/copy.vue_vue_type_script_setup_true_lang.js +23 -8
  43. package/es/cropper/cropper.vue_vue_type_script_setup_true_lang.js +16 -7
  44. package/es/drawer/drawer.vue.d.ts +2 -2
  45. package/es/drawer/drawer.vue_vue_type_script_setup_true_lang.js +5 -12
  46. package/es/drawer/index.d.ts +3 -3
  47. package/es/dropdown/dropdown-panel.vue.d.ts +0 -9
  48. package/es/dropdown/dropdown-panel.vue_vue_type_script_setup_true_lang.js +0 -4
  49. package/es/dropdown/dropdown.vue.d.ts +16 -3
  50. package/es/dropdown/dropdown.vue_vue_type_script_setup_true_lang.js +24 -3
  51. package/es/dropdown/index.d.ts +25 -0
  52. package/es/dropdown/interface.d.ts +2 -0
  53. package/es/ellipsis/ellipsis.vue.d.ts +2 -0
  54. package/es/ellipsis/ellipsis.vue_vue_type_script_setup_true_lang.js +37 -8
  55. package/es/ellipsis/index.d.ts +3 -0
  56. package/es/ellipsis/performant-ellipsis.vue_vue_type_script_setup_true_lang.js +3 -0
  57. package/es/empty/empty.vue.d.ts +9 -8
  58. package/es/empty/empty.vue_vue_type_script_setup_true_lang.js +9 -6
  59. package/es/file-previewer/file-previewer.vue.d.ts +0 -3
  60. package/es/file-previewer/file-previewer.vue_vue_type_script_setup_true_lang.js +3 -6
  61. package/es/file-previewer/index.d.ts +0 -9
  62. package/es/form/context.d.ts +1 -2
  63. package/es/form/form-item.vue_vue_type_script_setup_true_lang.js +6 -6
  64. package/es/form/form.vue.d.ts +3 -3
  65. package/es/form/form.vue_vue_type_script_setup_true_lang.js +5 -7
  66. package/es/form/index.d.ts +6 -6
  67. package/es/grid/grid-col.vue_vue_type_script_setup_true_lang.js +5 -4
  68. package/es/grid/hook/use-responsive-state.js +15 -4
  69. package/es/grid/hook/use-responsive-value.js +3 -2
  70. package/es/icon/icon-arrow-up/icon-arrow-up.vue_vue_type_script_setup_true_lang.js +4 -1
  71. package/es/icon/icon-calendar/icon-calendar.vue_vue_type_script_setup_true_lang.js +4 -1
  72. package/es/icon/icon-caret-down/icon-caret-down.vue_vue_type_script_setup_true_lang.js +4 -1
  73. package/es/icon/icon-caret-left/icon-caret-left.vue_vue_type_script_setup_true_lang.js +4 -1
  74. package/es/icon/icon-caret-right/icon-caret-right.vue_vue_type_script_setup_true_lang.js +4 -1
  75. package/es/icon/icon-caret-up/icon-caret-up.vue_vue_type_script_setup_true_lang.js +4 -1
  76. package/es/icon/icon-check/icon-check.vue_vue_type_script_setup_true_lang.js +4 -1
  77. package/es/icon/icon-check-circle-fill/icon-check-circle-fill.vue_vue_type_script_setup_true_lang.js +4 -1
  78. package/es/icon/icon-clock-circle/icon-clock-circle.vue_vue_type_script_setup_true_lang.js +4 -1
  79. package/es/icon/icon-close/icon-close.vue_vue_type_script_setup_true_lang.js +4 -1
  80. package/es/icon/icon-close-circle-fill/icon-close-circle-fill.vue_vue_type_script_setup_true_lang.js +4 -1
  81. package/es/icon/icon-components.d.ts +1 -1
  82. package/es/icon/icon-copy/icon-copy.vue_vue_type_script_setup_true_lang.js +4 -1
  83. package/es/icon/icon-delete/icon-delete.vue_vue_type_script_setup_true_lang.js +4 -1
  84. package/es/icon/icon-double-left/icon-double-left.vue_vue_type_script_setup_true_lang.js +4 -1
  85. package/es/icon/icon-double-right/icon-double-right.vue_vue_type_script_setup_true_lang.js +4 -1
  86. package/es/icon/icon-down/icon-down.vue_vue_type_script_setup_true_lang.js +4 -1
  87. package/es/icon/icon-drag-dot/icon-drag-dot.vue_vue_type_script_setup_true_lang.js +4 -1
  88. package/es/icon/icon-drag-dot-vertical/icon-drag-dot-vertical.vue_vue_type_script_setup_true_lang.js +4 -1
  89. package/es/icon/icon-edit/icon-edit.vue_vue_type_script_setup_true_lang.js +4 -1
  90. package/es/icon/icon-empty/icon-empty.vue_vue_type_script_setup_true_lang.js +4 -1
  91. package/es/icon/icon-exclamation/icon-exclamation.vue_vue_type_script_setup_true_lang.js +4 -1
  92. package/es/icon/icon-exclamation-circle-fill/icon-exclamation-circle-fill.vue_vue_type_script_setup_true_lang.js +4 -1
  93. package/es/icon/icon-eye/icon-eye.vue_vue_type_script_setup_true_lang.js +4 -1
  94. package/es/icon/icon-eye-invisible/icon-eye-invisible.vue_vue_type_script_setup_true_lang.js +4 -1
  95. package/es/icon/icon-face-frown-fill/icon-face-frown-fill.vue_vue_type_script_setup_true_lang.js +4 -1
  96. package/es/icon/icon-face-meh-fill/icon-face-meh-fill.vue_vue_type_script_setup_true_lang.js +4 -1
  97. package/es/icon/icon-face-smile-fill/icon-face-smile-fill.vue_vue_type_script_setup_true_lang.js +4 -1
  98. package/es/icon/{icon-faceBook-circle-fill → icon-facebook-circle-fill}/index.d.ts +5 -5
  99. package/es/icon/icon-file/icon-file.vue_vue_type_script_setup_true_lang.js +4 -1
  100. package/es/icon/icon-file-audio/icon-file-audio.vue_vue_type_script_setup_true_lang.js +4 -1
  101. package/es/icon/icon-file-image/icon-file-image.vue_vue_type_script_setup_true_lang.js +4 -1
  102. package/es/icon/icon-file-pdf/icon-file-pdf.vue_vue_type_script_setup_true_lang.js +4 -1
  103. package/es/icon/icon-file-video/icon-file-video.vue_vue_type_script_setup_true_lang.js +4 -1
  104. package/es/icon/icon-filter/icon-filter.vue_vue_type_script_setup_true_lang.js +4 -1
  105. package/es/icon/icon-fullscreen/icon-fullscreen.vue_vue_type_script_setup_true_lang.js +4 -1
  106. package/es/icon/icon-image-close/icon-image-close.vue_vue_type_script_setup_true_lang.js +4 -1
  107. package/es/icon/icon-info/icon-info.vue_vue_type_script_setup_true_lang.js +4 -1
  108. package/es/icon/icon-info-circle-fill/icon-info-circle-fill.vue_vue_type_script_setup_true_lang.js +4 -1
  109. package/es/icon/icon-left/icon-left.vue_vue_type_script_setup_true_lang.js +4 -1
  110. package/es/icon/icon-link/icon-link.vue_vue_type_script_setup_true_lang.js +4 -1
  111. package/es/icon/icon-list/icon-list.vue_vue_type_script_setup_true_lang.js +4 -1
  112. package/es/icon/icon-loading/icon-loading.vue_vue_type_script_setup_true_lang.js +4 -1
  113. package/es/icon/icon-menu/icon-menu.vue_vue_type_script_setup_true_lang.js +4 -1
  114. package/es/icon/icon-menu-fold/icon-menu-fold.vue_vue_type_script_setup_true_lang.js +4 -1
  115. package/es/icon/icon-menu-unfold/icon-menu-unfold.vue_vue_type_script_setup_true_lang.js +4 -1
  116. package/es/icon/icon-minus/icon-minus.vue_vue_type_script_setup_true_lang.js +4 -1
  117. package/es/icon/icon-more/icon-more.vue_vue_type_script_setup_true_lang.js +4 -1
  118. package/es/icon/icon-mute/icon-mute.vue_vue_type_script_setup_true_lang.js +4 -1
  119. package/es/icon/icon-oblique-line/icon-oblique-line.vue_vue_type_script_setup_true_lang.js +4 -1
  120. package/es/icon/icon-original-size/icon-original-size.vue_vue_type_script_setup_true_lang.js +4 -1
  121. package/es/icon/icon-pause/icon-pause.vue_vue_type_script_setup_true_lang.js +4 -1
  122. package/es/icon/icon-play-arrow-fill/icon-play-arrow-fill.vue_vue_type_script_setup_true_lang.js +4 -1
  123. package/es/icon/icon-plus/icon-plus.vue_vue_type_script_setup_true_lang.js +4 -1
  124. package/es/icon/icon-question-circle/icon-question-circle.vue_vue_type_script_setup_true_lang.js +4 -1
  125. package/es/icon/icon-right/icon-right.vue_vue_type_script_setup_true_lang.js +4 -1
  126. package/es/icon/icon-rotate-left/icon-rotate-left.vue_vue_type_script_setup_true_lang.js +4 -1
  127. package/es/icon/icon-rotate-right/icon-rotate-right.vue_vue_type_script_setup_true_lang.js +4 -1
  128. package/es/icon/icon-search/icon-search.vue_vue_type_script_setup_true_lang.js +4 -1
  129. package/es/icon/icon-star-fill/icon-star-fill.vue_vue_type_script_setup_true_lang.js +4 -1
  130. package/es/icon/icon-to-top/icon-to-top.vue_vue_type_script_setup_true_lang.js +4 -1
  131. package/es/icon/icon-up/icon-up.vue_vue_type_script_setup_true_lang.js +4 -1
  132. package/es/icon/icon-upload/icon-upload.vue_vue_type_script_setup_true_lang.js +4 -1
  133. package/es/icon/icon-voice/icon-voice.vue_vue_type_script_setup_true_lang.js +4 -1
  134. package/es/icon/icon-zoom-in/icon-zoom-in.vue_vue_type_script_setup_true_lang.js +4 -1
  135. package/es/icon/icon-zoom-out/icon-zoom-out.vue_vue_type_script_setup_true_lang.js +4 -1
  136. package/es/icon/index.d.ts +1 -1
  137. package/es/icon.js +1162 -300
  138. package/es/image/image.vue_vue_type_script_setup_true_lang.js +5 -3
  139. package/es/image/preview.vue_vue_type_script_setup_true_lang.js +1 -1
  140. package/es/index.css +20 -5
  141. package/es/input/input-password.vue_vue_type_script_setup_true_lang.js +4 -4
  142. package/es/input-mask/input-mask.vue_vue_type_script_setup_true_lang.js +25 -11
  143. package/es/input-mask/mask-engine.d.ts +4 -0
  144. package/es/input-mask/mask-engine.js +12 -1
  145. package/es/input-number/index.d.ts +15 -0
  146. package/es/input-number/input-number.vue.d.ts +9 -0
  147. package/es/input-number/input-number.vue_vue_type_script_setup_true_lang.js +47 -14
  148. package/es/json-form/index.d.ts +11 -11
  149. package/es/json-form/json-form-item.vue.d.ts +3 -6
  150. package/es/json-form/json-form-item.vue_vue_type_script_setup_true_lang.js +14 -15
  151. package/es/json-form/json-form.vue.d.ts +7 -10
  152. package/es/json-form/json-form.vue_vue_type_script_setup_true_lang.js +17 -16
  153. package/es/json-form/style/index.css +15 -0
  154. package/es/json-form/style/index.scss +21 -0
  155. package/es/json-form/types.d.ts +1 -0
  156. package/es/json-form/utils.d.ts +1 -1
  157. package/es/json-form/utils.js +20 -13
  158. package/es/kv-list/kv-list.vue_vue_type_script_setup_true_lang.js +1 -0
  159. package/es/layout/hooks/use-has-sider.js +23 -2
  160. package/es/layout/interface.d.ts +1 -1
  161. package/es/layout/sider.vue_vue_type_script_setup_true_lang.js +1 -1
  162. package/es/list/list-item-meta.vue_vue_type_script_setup_true_lang.js +3 -3
  163. package/es/locale/interface.d.ts +7 -0
  164. package/es/locale/lang/en-us.js +5 -0
  165. package/es/locale/lang/zh-cn.js +5 -0
  166. package/es/mention/index.d.ts +15 -0
  167. package/es/mention/mention.vue.d.ts +10 -1
  168. package/es/mention/mention.vue_vue_type_script_setup_true_lang.js +16 -9
  169. package/es/message/index.js +1 -1
  170. package/es/modal/index.js +9 -1
  171. package/es/modal/modal.vue_vue_type_script_setup_true_lang.js +15 -16
  172. package/es/model-selector/model-selector-input.vue_vue_type_script_setup_true_lang.js +4 -1
  173. package/es/model-selector/model-selector-item.vue_vue_type_script_setup_true_lang.js +27 -3
  174. package/es/model-selector/model-selector.vue_vue_type_script_setup_true_lang.js +15 -3
  175. package/es/notification/index.js +5 -2
  176. package/es/notification/notification-list.vue_vue_type_script_setup_true_lang.js +5 -5
  177. package/es/number-flow/number-flow.vue_vue_type_script_setup_true_lang.js +27 -8
  178. package/es/page-header/page-header.vue_vue_type_script_setup_true_lang.js +2 -1
  179. package/es/pagination/page-item-ellipsis.vue.d.ts +9 -0
  180. package/es/pagination/page-item-ellipsis.vue_vue_type_script_setup_true_lang.js +19 -3
  181. package/es/pagination/page-jumper.vue_vue_type_script_setup_true_lang.js +3 -2
  182. package/es/pagination/pagination.vue_vue_type_script_setup_true_lang.js +10 -0
  183. package/es/popconfirm/popconfirm.vue_vue_type_script_setup_true_lang.js +4 -11
  184. package/es/popover/index.d.ts +2 -0
  185. package/es/popover/popover.vue.d.ts +4 -2
  186. package/es/popover/popover.vue_vue_type_script_setup_true_lang.js +10 -3
  187. package/es/qr-code/qr-code.vue_vue_type_script_setup_true_lang.js +1 -0
  188. package/es/rate/rate.vue_vue_type_script_setup_true_lang.js +1 -2
  189. package/es/resize-box/resize-box.vue_vue_type_script_setup_true_lang.js +10 -10
  190. package/es/result/result.vue_vue_type_script_setup_true_lang.js +6 -4
  191. package/es/skeleton/line.vue_vue_type_script_setup_true_lang.js +16 -13
  192. package/es/slider/slider-button.vue_vue_type_script_setup_true_lang.js +2 -0
  193. package/es/slider/slider.vue_vue_type_script_setup_true_lang.js +20 -9
  194. package/es/slider/utils.js +1 -1
  195. package/es/spin/spin.vue_vue_type_script_setup_true_lang.js +1 -1
  196. package/es/split/split.vue_vue_type_script_setup_true_lang.js +3 -1
  197. package/es/statistic/countdown.vue_vue_type_script_setup_true_lang.js +7 -0
  198. package/es/statistic/index.d.ts +0 -3
  199. package/es/statistic/statistic.vue.d.ts +0 -2
  200. package/es/statistic/statistic.vue_vue_type_script_setup_true_lang.js +0 -5
  201. package/es/style/icon.scss +2 -2
  202. package/es/switch/switch.vue_vue_type_script_setup_true_lang.js +1 -1
  203. package/es/tag/index.d.ts +8 -8
  204. package/es/tag/tag.vue.d.ts +4 -4
  205. package/es/tag/tag.vue_vue_type_script_setup_true_lang.js +1 -2
  206. package/es/timeline/timeline.vue_vue_type_script_setup_true_lang.js +2 -2
  207. package/es/tour/tour.vue_vue_type_script_setup_true_lang.js +14 -8
  208. package/es/transfer/transfer-view.vue_vue_type_script_setup_true_lang.js +1 -1
  209. package/es/tree-select/tree-select.vue_vue_type_script_setup_true_lang.js +10 -3
  210. package/es/trigger/index.d.ts +0 -6
  211. package/es/trigger/interface.d.ts +1 -2
  212. package/es/trigger/trigger.vue.d.ts +0 -2
  213. package/es/trigger/trigger.vue_vue_type_script_setup_true_lang.js +0 -4
  214. package/es/typography/base.vue_vue_type_script_setup_true_lang.js +1 -0
  215. package/es/typography/interface.d.ts +0 -4
  216. package/es/typography/utils/getInnerText.js +11 -10
  217. package/es/upload/upload.vue_vue_type_script_setup_true_lang.js +7 -5
  218. package/es/upload/utils.d.ts +1 -2
  219. package/es/verification-code/index.d.ts +12 -3
  220. package/es/verification-code/verification-code.vue.d.ts +6 -1
  221. package/es/verification-code/verification-code.vue_vue_type_script_setup_true_lang.js +29 -5
  222. package/es/watermark/watermark.vue_vue_type_script_setup_true_lang.js +4 -2
  223. package/json/vetur-attributes.json +22 -10
  224. package/json/vetur-tags.json +10 -4
  225. package/json/web-types.json +43 -17
  226. package/package.json +1 -1
  227. /package/es/icon/{icon-faceBook-circle-fill/icon-faceBook-circle-fill.vue.d.ts → icon-facebook-circle-fill/icon-facebook-circle-fill.vue.d.ts} +0 -0
@@ -44,6 +44,10 @@ var mention_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
44
44
  type: String,
45
45
  default: " "
46
46
  },
47
+ filterOption: {
48
+ type: [Boolean, Function],
49
+ default: true
50
+ },
47
51
  type: {
48
52
  type: String,
49
53
  default: "input"
@@ -116,7 +120,7 @@ var mention_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
116
120
  };
117
121
  const inputRef = ref();
118
122
  const measureText = computed(() => measureInfo.value.text);
119
- const filterOption = ref(true);
123
+ const filterOption = toRef(props, "filterOption");
120
124
  const innerPopupVisible = ref(false);
121
125
  const computedPopupVisible = computed(() => innerPopupVisible.value && measureInfo.value.measuring && validOptionInfos.value.length > 0);
122
126
  const handleInput = (value, event) => {
@@ -159,7 +163,7 @@ var mention_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
159
163
  const measureStart = measureInfo.value.location;
160
164
  const measureEnd = measureStart + measureInfo.value.text.length;
161
165
  let head = innerValue.value.slice(0, measureStart);
162
- let tail = innerValue.value.slice(measureEnd + 1);
166
+ let tail = innerValue.value.slice(measureEnd + measureInfo.value.prefix.length);
163
167
  head += !head || head.endsWith(props.split) || head.endsWith("\n") ? "" : props.split;
164
168
  tail = (!tail || tail.startsWith(props.split) || tail.startsWith("\n") ? "" : props.split) + tail;
165
169
  const nextValue = `${head}${measureInfo.value.prefix}${value}${tail}`;
@@ -197,16 +201,19 @@ var mention_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
197
201
  };
198
202
  let styleDeclaration;
199
203
  const mirrorStyle = ref();
200
- const handleResize = () => {
204
+ const syncMirrorStyles = () => {
205
+ if (!styleDeclaration && props.type === "textarea") {
206
+ var _inputRef$value;
207
+ const textareaElement = (_inputRef$value = inputRef.value) === null || _inputRef$value === void 0 ? void 0 : _inputRef$value.textareaRef;
208
+ if (textareaElement) styleDeclaration = window.getComputedStyle(textareaElement);
209
+ }
201
210
  if (styleDeclaration) mirrorStyle.value = getSizeStyles(styleDeclaration);
202
211
  };
212
+ const handleResize = () => {
213
+ syncMirrorStyles();
214
+ };
203
215
  onMounted(() => {
204
- var _inputRef$value;
205
- const textareaElement = (_inputRef$value = inputRef.value) === null || _inputRef$value === void 0 ? void 0 : _inputRef$value.textareaRef;
206
- if (props.type === "textarea" && textareaElement) {
207
- styleDeclaration = window.getComputedStyle(textareaElement);
208
- mirrorStyle.value = getSizeStyles(styleDeclaration);
209
- }
216
+ syncMirrorStyles();
210
217
  });
211
218
  const mirrorRef = ref();
212
219
  watch(computedPopupVisible, (visible) => {
@@ -46,7 +46,7 @@ var MessageManger = class {
46
46
  this.destroy = () => {
47
47
  if (this.messages.value.length === 0 && this.container) {
48
48
  render(null, this.container);
49
- document.body.removeChild(this.container);
49
+ if (this.container.parentNode) this.container.parentNode.removeChild(this.container);
50
50
  this.container = null;
51
51
  messageInstance[this.position] = void 0;
52
52
  }
package/es/modal/index.js CHANGED
@@ -22,6 +22,13 @@ var removeModalDestroyFn = (destroyFn) => {
22
22
  var open = (config, appContext) => {
23
23
  let container = getOverlay("modal");
24
24
  let closed = false;
25
+ let onCloseFired = false;
26
+ const fireOnClose = () => {
27
+ if (!onCloseFired) {
28
+ onCloseFired = true;
29
+ if (isFunction(config.onClose)) config.onClose();
30
+ }
31
+ };
25
32
  const destroyModal = () => {
26
33
  if (closed) return;
27
34
  closed = true;
@@ -31,10 +38,10 @@ var open = (config, appContext) => {
31
38
  }
32
39
  container = null;
33
40
  removeModalDestroyFn(destroyModal);
34
- if (isFunction(config.onClose)) config.onClose();
35
41
  };
36
42
  const closeModal = () => {
37
43
  if (vm.component) vm.component.props.visible = false;
44
+ fireOnClose();
38
45
  };
39
46
  const handleOk = () => {
40
47
  closeModal();
@@ -48,6 +55,7 @@ var open = (config, appContext) => {
48
55
  var _ref = _asyncToGenerator(function* () {
49
56
  yield nextTick();
50
57
  destroyModal();
58
+ fireOnClose();
51
59
  });
52
60
  return function handleClose() {
53
61
  return _ref.apply(this, arguments);
@@ -325,6 +325,7 @@ var modal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
325
325
  const slots = useSlots();
326
326
  const wrapperRef = ref();
327
327
  const modalRef = ref();
328
+ const maskRef = ref();
328
329
  const titleId = `sd-modal-title-${getCurrentInstance().uid}`;
329
330
  const bodyId = `sd-modal-body-${getCurrentInstance().uid}`;
330
331
  const hasTitle = computed(() => !props.hideTitle && (Boolean(props.title) || Boolean(slots.title)));
@@ -504,9 +505,8 @@ var modal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
504
505
  if (isPromise(result)) try {
505
506
  var _await$result;
506
507
  result = (_await$result = yield result) !== null && _await$result !== void 0 ? _await$result : true;
507
- } catch (error) {
508
+ } catch (_unused) {
508
509
  result = false;
509
- throw error;
510
510
  }
511
511
  if (isBoolean(result)) resolve(result);
512
512
  } else resolve(true);
@@ -527,22 +527,18 @@ var modal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
527
527
  };
528
528
  }();
529
529
  const handleCancel = (e) => {
530
- let result = true;
531
- if (isFunction(props.onBeforeCancel)) {
532
- var _props$onBeforeCancel;
533
- result = (_props$onBeforeCancel = props.onBeforeCancel()) !== null && _props$onBeforeCancel !== void 0 ? _props$onBeforeCancel : false;
534
- }
535
- if (result) {
536
- emit("cancel", e);
537
- close();
538
- }
530
+ if (isFunction(props.onBeforeCancel) && props.onBeforeCancel() === false) return;
531
+ emit("cancel", e);
532
+ close();
539
533
  };
540
534
  const currentIsMask = ref(false);
541
535
  const handleMaskMouseDown = (ev) => {
542
- if (ev.target === wrapperRef.value) currentIsMask.value = true;
536
+ if (ev.target === maskRef.value || ev.target === wrapperRef.value) currentIsMask.value = true;
543
537
  };
544
538
  const handleMaskClick = (e) => {
545
- if (mergedMask.value && mergedMaskClosable.value && currentIsMask.value) handleCancel(e);
539
+ if (e.target !== maskRef.value && !currentIsMask.value) return;
540
+ if (mergedMask.value && mergedMaskClosable.value) handleCancel(e);
541
+ currentIsMask.value = false;
546
542
  };
547
543
  const handleOpen = () => {
548
544
  if (computedVisible.value) emit("open");
@@ -622,10 +618,13 @@ var modal_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
622
618
  }, {
623
619
  default: withCtx(() => [unref(mergedMask) ? withDirectives((openBlock(), createElementBlock("div", {
624
620
  key: 0,
625
- ref: "maskRef",
621
+ ref_key: "maskRef",
622
+ ref: maskRef,
626
623
  class: normalizeClass(`${unref(prefixCls)}-mask`),
627
- style: normalizeStyle(unref(mergedMaskStyle))
628
- }, null, 6)), [[vShow, computedVisible.value]]) : createCommentVNode("", true)]),
624
+ style: normalizeStyle(unref(mergedMaskStyle)),
625
+ onMousedown: handleMaskMouseDown,
626
+ onClick: handleMaskClick
627
+ }, null, 38)), [[vShow, computedVisible.value]]) : createCommentVNode("", true)]),
629
628
  _: 1
630
629
  }, 8, ["name"]), createElementVNode("div", {
631
630
  ref_key: "wrapperRef",
@@ -3,7 +3,7 @@ import { getPrefixCls } from "../_utils/global-config.js";
3
3
  import IconSearch from "../icon/icon-search/index.js";
4
4
  import Input from "../input/index.js";
5
5
  import { useModelSelectorContext } from "./use-model-selector-context.js";
6
- import { computed, createElementBlock, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, unref, withCtx } from "vue";
6
+ import { computed, createElementBlock, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, unref, watch, withCtx } from "vue";
7
7
  //#region components/model-selector/model-selector-input.vue?vue&type=script&setup=true&lang.ts
8
8
  var model_selector_input_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, {
9
9
  name: "ModelSelectorInput",
@@ -36,6 +36,9 @@ var model_selector_input_vue_vue_type_script_setup_true_lang_default = /*@__PURE
36
36
  context.query.value = value;
37
37
  emit("update:modelValue", value);
38
38
  }
39
+ watch(() => props.modelValue, (value) => {
40
+ context.query.value = value !== null && value !== void 0 ? value : "";
41
+ }, { immediate: true });
39
42
  function handleKeydown(event) {
40
43
  if (event.key === "ArrowDown") {
41
44
  event.preventDefault();
@@ -2,7 +2,7 @@ import _objectSpread2 from "../_virtual/_@oxc-project_runtime@0.146.0/helpers/es
2
2
  import { getPrefixCls } from "../_utils/global-config.js";
3
3
  import { modelSelectorGroupInjectionKey } from "./context.js";
4
4
  import { useModelSelectorContext } from "./use-model-selector-context.js";
5
- import { computed, createElementBlock, defineComponent, getCurrentInstance, inject, normalizeClass, onBeforeUnmount, onMounted, openBlock, renderSlot, unref, useTemplateRef, vShow, watch, withDirectives } from "vue";
5
+ import { computed, createElementBlock, defineComponent, getCurrentInstance, inject, normalizeClass, onBeforeUnmount, onMounted, openBlock, renderSlot, shallowRef, unref, useTemplateRef, vShow, watch, withDirectives } from "vue";
6
6
  //#region components/model-selector/model-selector-item.vue?vue&type=script&setup=true&lang.ts
7
7
  var _hoisted_1 = [
8
8
  "aria-disabled",
@@ -36,21 +36,42 @@ var model_selector_item_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
36
36
  const id = Symbol(`model-selector-item-${uid}`);
37
37
  const domId = `${context.listId}-item-${uid}`;
38
38
  const itemRef = useTemplateRef("item");
39
+ const domTextVersion = shallowRef(0);
40
+ let labelObserver;
39
41
  const renderedLabel = computed(() => {
40
42
  var _itemRef$value;
43
+ domTextVersion.value;
41
44
  return props.label || ((_itemRef$value = itemRef.value) === null || _itemRef$value === void 0 || (_itemRef$value = _itemRef$value.textContent) === null || _itemRef$value === void 0 ? void 0 : _itemRef$value.trim()) || props.value;
42
45
  });
46
+ function updateRenderedLabel() {
47
+ var _itemRef$value2;
48
+ if ((props.label || ((_itemRef$value2 = itemRef.value) === null || _itemRef$value2 === void 0 || (_itemRef$value2 = _itemRef$value2.textContent) === null || _itemRef$value2 === void 0 ? void 0 : _itemRef$value2.trim()) || props.value) !== renderedLabel.value) domTextVersion.value += 1;
49
+ }
50
+ onMounted(() => {
51
+ if (itemRef.value && typeof MutationObserver === "function") {
52
+ labelObserver = new MutationObserver(updateRenderedLabel);
53
+ labelObserver.observe(itemRef.value, {
54
+ childList: true,
55
+ characterData: true,
56
+ subtree: true
57
+ });
58
+ }
59
+ });
60
+ onBeforeUnmount(() => {
61
+ labelObserver === null || labelObserver === void 0 || labelObserver.disconnect();
62
+ labelObserver = void 0;
63
+ });
43
64
  const isActive = computed(() => context.activeId.value === id);
44
65
  const isVisible = computed(() => {
45
66
  context.itemsVersion.value;
46
67
  return context.getVisibleItems(groupContext === null || groupContext === void 0 ? void 0 : groupContext.id).some((item) => item.id === id);
47
68
  });
48
69
  function getItemData() {
49
- var _itemRef$value2;
70
+ var _itemRef$value3;
50
71
  return {
51
72
  disabled: props.disabled,
52
73
  domId,
53
- element: (_itemRef$value2 = itemRef.value) !== null && _itemRef$value2 !== void 0 ? _itemRef$value2 : void 0,
74
+ element: (_itemRef$value3 = itemRef.value) !== null && _itemRef$value3 !== void 0 ? _itemRef$value3 : void 0,
54
75
  groupId: groupContext === null || groupContext === void 0 ? void 0 : groupContext.id,
55
76
  id,
56
77
  keywords: props.keywords,
@@ -74,6 +95,9 @@ var model_selector_item_vue_vue_type_script_setup_true_lang_default = /*@__PURE_
74
95
  props.disabled,
75
96
  props.shortcut
76
97
  ], () => context.updateItem(getItemData()), { deep: true });
98
+ watch(renderedLabel, () => {
99
+ context.updateItem(getItemData());
100
+ });
77
101
  return (_ctx, _cache) => {
78
102
  return withDirectives((openBlock(), createElementBlock("div", {
79
103
  id: domId,
@@ -30,10 +30,22 @@ var model_selector_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
30
30
  "meta",
31
31
  "shift"
32
32
  ]);
33
+ const NAMED_KEY_ALIASES = {
34
+ cmd: "meta",
35
+ command: "meta",
36
+ ctrl: "control",
37
+ option: "alt",
38
+ esc: "escape",
39
+ del: "delete",
40
+ ins: "insert",
41
+ return: "enter",
42
+ spacebar: "space"
43
+ };
33
44
  function getShortcutKeys(shortcut) {
34
- return shortcut.toLocaleLowerCase().split(/[+_-]/g).filter(Boolean).map((key) => {
35
- var _DefaultMagicKeysAlia;
36
- const normalizedKey = /^\d$/.test(key) ? `digit${key}` : key;
45
+ return shortcut.toLocaleLowerCase().split("+").map((part) => part.trim()).filter(Boolean).map((key) => {
46
+ var _NAMED_KEY_ALIASES$ke, _DefaultMagicKeysAlia;
47
+ const namedKey = (_NAMED_KEY_ALIASES$ke = NAMED_KEY_ALIASES[key]) !== null && _NAMED_KEY_ALIASES$ke !== void 0 ? _NAMED_KEY_ALIASES$ke : key;
48
+ const normalizedKey = /^\d$/.test(key) ? `digit${key}` : namedKey;
37
49
  return (_DefaultMagicKeysAlia = DefaultMagicKeysAliasMap[normalizedKey]) !== null && _DefaultMagicKeysAlia !== void 0 ? _DefaultMagicKeysAlia : normalizedKey;
38
50
  });
39
51
  }
@@ -20,8 +20,10 @@ var NotificationManger = class {
20
20
  };
21
21
  this.update = (id, config) => {
22
22
  for (let i = 0; i < this.notifications.value.length; i++) if (this.notifications.value[i].id === id) {
23
- const resetOnUpdate = !isUndefined(config.duration);
24
- Object.assign(this.notifications.value[i], _objectSpread2(_objectSpread2({}, config), {}, {
23
+ var _ref, _config$resetOnUpdate;
24
+ const item = this.notifications.value[i];
25
+ const resetOnUpdate = (_ref = (_config$resetOnUpdate = config.resetOnUpdate) !== null && _config$resetOnUpdate !== void 0 ? _config$resetOnUpdate : item.resetOnUpdate) !== null && _ref !== void 0 ? _ref : !isUndefined(config.duration);
26
+ Object.assign(item, _objectSpread2(_objectSpread2({}, config), {}, {
25
27
  id,
26
28
  resetOnUpdate
27
29
  }));
@@ -42,6 +44,7 @@ var NotificationManger = class {
42
44
  };
43
45
  this.clear = () => {
44
46
  this.notifications.value.splice(0);
47
+ this.notificationIds.clear();
45
48
  };
46
49
  this.destroy = () => {
47
50
  if (this.notifications.value.length === 0 && this.container) {
@@ -5,7 +5,7 @@ import { getSlotFunction } from "../_utils/vue-utils.js";
5
5
  import usePopupManager from "../_hooks/use-popup-manager.js";
6
6
  import { NOTIFICATION_POSITION } from "./interface.js";
7
7
  import notification_default from "./notification.js";
8
- import { Fragment, TransitionGroup, createBlock, createElementBlock, createSlots, defineComponent, normalizeClass, normalizeStyle, openBlock, renderList, resolveDynamicComponent, unref, withCtx } from "vue";
8
+ import { Fragment, TransitionGroup, computed, createBlock, createElementBlock, createSlots, defineComponent, normalizeClass, normalizeStyle, openBlock, renderList, resolveDynamicComponent, unref, withCtx } from "vue";
9
9
  //#region components/notification/notification-list.vue?vue&type=script&setup=true&lang.ts
10
10
  var notification_list_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "NotificationList" }), {}, {
11
11
  __name: "notification-list",
@@ -25,14 +25,14 @@ var notification_list_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*
25
25
  const props = __props;
26
26
  const emit = __emit;
27
27
  const prefixCls = getPrefixCls("notification-list");
28
- const kebabPosition = toKebabCase(props.position);
29
- const isRight = props.position.includes("Right");
28
+ const kebabPosition = computed(() => toKebabCase(props.position));
29
+ const isRight = computed(() => props.position.includes("Right"));
30
30
  const { zIndex } = usePopupManager("message", { runOnMounted: true });
31
31
  return (_ctx, _cache) => {
32
32
  return openBlock(), createBlock(TransitionGroup, {
33
- class: normalizeClass([unref(prefixCls), `${unref(prefixCls)}-${unref(kebabPosition)}`]),
33
+ class: normalizeClass([unref(prefixCls), `${unref(prefixCls)}-${kebabPosition.value}`]),
34
34
  style: normalizeStyle({ zIndex: unref(zIndex) }),
35
- name: `slide-${unref(isRight) ? "right" : "left"}-notification`,
35
+ name: `slide-${isRight.value ? "right" : "left"}-notification`,
36
36
  tag: "ul",
37
37
  onAfterLeave: _cache[0] || (_cache[0] = ($event) => emit("afterClose"))
38
38
  }, {
@@ -59,22 +59,22 @@ var number_flow_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
59
59
  function formatData(val) {
60
60
  return formatNumberFlow(val, numberFormatter.value, slots.prefix ? void 0 : __props.prefix, slots.suffix ? void 0 : __props.suffix);
61
61
  }
62
- const previousData = shallowRef(formatData(__props.value));
63
- const currentValue = computed(() => __props.value);
64
- const currentData = computed(() => formatData(__props.value));
62
+ const previousData = shallowRef(formatData(sanitizeValue(__props.value)));
63
+ const currentValue = computed(() => sanitizeValue(__props.value));
64
+ const currentData = computed(() => formatData(currentValue.value));
65
65
  const animationPhase = shallowRef("idle");
66
66
  const isAnimating = computed(() => animationPhase.value === "animating");
67
67
  let animationVersion = 0;
68
68
  let finishTimer;
69
69
  const resolvedTransformTiming = computed(() => typeof __props.transformTiming === "function" ? __props.transformTiming() : __props.transformTiming);
70
70
  const resolvedOpacityTiming = computed(() => typeof __props.opacityTiming === "function" ? __props.opacityTiming() : __props.opacityTiming);
71
- const transformDuration = computed(() => typeof resolvedTransformTiming.value.duration === "number" ? resolvedTransformTiming.value.duration : 900);
71
+ const transformDuration = computed(() => parseDuration(resolvedTransformTiming.value.duration, 900));
72
72
  const transformEasing = computed(() => {
73
73
  var _resolvedTransformTim, _resolvedTransformTim2;
74
74
  return (_resolvedTransformTim = (_resolvedTransformTim2 = resolvedTransformTiming.value.easing) === null || _resolvedTransformTim2 === void 0 ? void 0 : _resolvedTransformTim2.toString()) !== null && _resolvedTransformTim !== void 0 ? _resolvedTransformTim : "cubic-bezier(0.16, 1, 0.3, 1)";
75
75
  });
76
76
  const spinDuration = computed(() => {
77
- if (__props.spinTiming && typeof __props.spinTiming.duration === "number") return __props.spinTiming.duration;
77
+ if (__props.spinTiming) return parseDuration(__props.spinTiming.duration, transformDuration.value);
78
78
  return transformDuration.value;
79
79
  });
80
80
  const spinEasing = computed(() => {
@@ -82,7 +82,7 @@ var number_flow_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
82
82
  if ((_props$spinTiming = __props.spinTiming) === null || _props$spinTiming === void 0 ? void 0 : _props$spinTiming.easing) return __props.spinTiming.easing.toString();
83
83
  return transformEasing.value;
84
84
  });
85
- const opacityDuration = computed(() => typeof resolvedOpacityTiming.value.duration === "number" ? resolvedOpacityTiming.value.duration : 450);
85
+ const opacityDuration = computed(() => parseDuration(resolvedOpacityTiming.value.duration, 450));
86
86
  const motionCanAnimate = useCanAnimate({ respectMotionPreference: () => __props.respectMotionPreference });
87
87
  const canAnimate = computed(() => __props.animated && motionCanAnimate.value);
88
88
  const computedTrend = computed(() => typeof __props.trend === "function" ? __props.trend(previousData.value.value, currentData.value.value) : __props.trend);
@@ -95,6 +95,24 @@ var number_flow_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
95
95
  function sanitizeDuration(duration) {
96
96
  return Number.isFinite(duration) && duration >= 0 ? duration : 0;
97
97
  }
98
+ /** 解析 duration,支持 '2s' / '500ms' 等字符串形式;非法值回退到 fallback */
99
+ function parseDuration(duration, fallback) {
100
+ if (typeof duration === "number") return Number.isFinite(duration) ? duration : fallback;
101
+ if (typeof duration === "string") {
102
+ const match = /^(\d+(?:\.\d+)?)(ms|s)?$/i.exec(duration.trim());
103
+ if (match) {
104
+ var _match$;
105
+ const amount = Number.parseFloat(match[1]);
106
+ return ((_match$ = match[2]) !== null && _match$ !== void 0 ? _match$ : "").toLowerCase() === "s" ? amount * 1e3 : amount;
107
+ }
108
+ }
109
+ return fallback;
110
+ }
111
+ /** NaN 等非法数值统一回退为 0,避免渲染出 'NaN' */
112
+ function sanitizeValue(val) {
113
+ const numeric = typeof val === "string" ? Number.parseFloat(val) : val;
114
+ return Number.isNaN(numeric) ? 0 : numeric;
115
+ }
98
116
  function sanitizeEasing(easing) {
99
117
  return /^[a-zA-Z0-9(),.\s+-]+$/.test(easing) ? easing : "linear";
100
118
  }
@@ -202,12 +220,13 @@ var number_flow_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
202
220
  if (version !== animationVersion || animationPhase.value !== "prepared") return;
203
221
  animationPhase.value = "animating";
204
222
  emit("animationsstart");
205
- finishTimer = setTimeout(() => finishAnimation(version), spinDuration.value + 50);
223
+ const finishDelay = Math.max(spinDuration.value, transformDuration.value, opacityDuration.value) + 50;
224
+ finishTimer = setTimeout(() => finishAnimation(version), finishDelay);
206
225
  }
207
226
  if (group) {
208
227
  const unregister = group.register({
209
228
  value: currentValue,
210
- prepare: () => prepareAnimation(previousData.value, currentData.value, true),
229
+ prepare: () => prepareAnimation(previousData.value, currentData.value),
211
230
  commit: commitAnimationStart,
212
231
  start: startAnimation
213
232
  });
@@ -103,7 +103,8 @@ var page_header_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
103
103
  createElementVNode("span", { class: normalizeClass(`${unref(prefixCls)}-title`) }, [renderSlot(_ctx.$slots, "title", {}, () => [createTextVNode(toDisplayString(__props.title), 1)])], 2),
104
104
  _ctx.$slots.subtitle || __props.subtitle ? (openBlock(), createElementBlock("span", {
105
105
  key: 1,
106
- class: normalizeClass(`${unref(prefixCls)}-divider`)
106
+ class: normalizeClass(`${unref(prefixCls)}-divider`),
107
+ "aria-hidden": "true"
107
108
  }, null, 2)) : createCommentVNode("", true),
108
109
  _ctx.$slots.subtitle || __props.subtitle ? (openBlock(), createElementBlock("span", {
109
110
  key: 2,
@@ -15,6 +15,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
15
15
  type: NumberConstructor;
16
16
  required: true;
17
17
  };
18
+ disabled: {
19
+ type: BooleanConstructor;
20
+ default: boolean;
21
+ };
18
22
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
19
23
  click: (_nextPage: number) => any;
20
24
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
@@ -30,9 +34,14 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
30
34
  type: NumberConstructor;
31
35
  required: true;
32
36
  };
37
+ disabled: {
38
+ type: BooleanConstructor;
39
+ default: boolean;
40
+ };
33
41
  }>> & Readonly<{
34
42
  onClick?: ((_nextPage: number) => any) | undefined;
35
43
  }>, {
44
+ disabled: boolean;
36
45
  step: number;
37
46
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
38
47
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -6,7 +6,11 @@ import IconMore from "../icon/icon-more/index.js";
6
6
  import { getLegalPage } from "./utils.js";
7
7
  import { computed, createElementBlock, createVNode, defineComponent, normalizeClass, openBlock, renderSlot, unref } from "vue";
8
8
  //#region components/pagination/page-item-ellipsis.vue?vue&type=script&setup=true&lang.ts
9
- var _hoisted_1 = ["aria-label"];
9
+ var _hoisted_1 = [
10
+ "tabindex",
11
+ "aria-disabled",
12
+ "aria-label"
13
+ ];
10
14
  var page_item_ellipsis_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "EllipsisPager" }), {}, {
11
15
  __name: "page-item-ellipsis",
12
16
  props: {
@@ -21,6 +25,10 @@ var page_item_ellipsis_vue_vue_type_script_setup_true_lang_default = /*@__PURE__
21
25
  pages: {
22
26
  type: Number,
23
27
  required: true
28
+ },
29
+ disabled: {
30
+ type: Boolean,
31
+ default: false
24
32
  }
25
33
  },
26
34
  emits: ["click"],
@@ -33,20 +41,28 @@ var page_item_ellipsis_vue_vue_type_script_setup_true_lang_default = /*@__PURE__
33
41
  min: 1,
34
42
  max: props.pages
35
43
  }));
44
+ const mergedDisabled = computed(() => props.disabled || !props.pages);
36
45
  const handleClick = (e) => {
46
+ if (mergedDisabled.value) return;
37
47
  emit("click", nextPage.value);
38
48
  };
39
49
  const handleKeydown = (e) => {
50
+ if (mergedDisabled.value) return;
40
51
  if (isActivationKey(e)) {
41
52
  e.preventDefault();
42
53
  emit("click", nextPage.value);
43
54
  }
44
55
  };
45
- const cls = computed(() => [prefixCls, `${prefixCls}-ellipsis`]);
56
+ const cls = computed(() => [
57
+ prefixCls,
58
+ `${prefixCls}-ellipsis`,
59
+ { [`${prefixCls}-disabled`]: mergedDisabled.value }
60
+ ]);
46
61
  return (_ctx, _cache) => {
47
62
  return openBlock(), createElementBlock("li", {
48
63
  class: normalizeClass(cls.value),
49
- tabindex: "0",
64
+ tabindex: mergedDisabled.value ? -1 : 0,
65
+ "aria-disabled": mergedDisabled.value || void 0,
50
66
  "aria-label": unref(t)("a11y.morePages"),
51
67
  onClick: handleClick,
52
68
  onKeydown: handleKeydown
@@ -33,6 +33,7 @@ var page_jumper_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
33
33
  const prefixCls = getPrefixCls("pagination-jumper");
34
34
  const { t } = useI18n();
35
35
  const inputValue = ref(props.simple ? props.current : void 0);
36
+ const jumperMax = computed(() => Math.max(props.pages, 1));
36
37
  const handleFormatter = (value) => {
37
38
  const parseIntVal = parseInt(value.toString(), 10);
38
39
  return Number.isNaN(parseIntVal) ? void 0 : String(parseIntVal);
@@ -41,7 +42,7 @@ var page_jumper_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
41
42
  if (typeof value !== "number") return;
42
43
  emit("change", value);
43
44
  nextTick(() => {
44
- if (!props.simple) inputValue.value = void 0;
45
+ if (!props.simple) inputValue.value = "";
45
46
  });
46
47
  };
47
48
  watch(() => props.current, (value) => {
@@ -59,7 +60,7 @@ var page_jumper_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
59
60
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputValue.value = $event),
60
61
  class: normalizeClass(`${unref(prefixCls)}-input`),
61
62
  min: 1,
62
- max: __props.pages,
63
+ max: jumperMax.value,
63
64
  size: __props.size,
64
65
  disabled: __props.disabled,
65
66
  "hide-button": "",
@@ -200,9 +200,19 @@ var pagination_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
200
200
  }
201
201
  };
202
202
  const handlePageSizeChange = (pageSize) => {
203
+ const oldPageSize = computedPageSize.value;
203
204
  innerPageSize.value = pageSize;
204
205
  emit("update:pageSize", pageSize);
205
206
  emit("pageSizeChange", pageSize);
207
+ if (props.autoAdjust && isNumber(computedCurrent.value) && oldPageSize !== pageSize && oldPageSize > 0) {
208
+ const firstItem = (computedCurrent.value - 1) * oldPageSize + 1;
209
+ const newCurrent = Math.floor((firstItem - 1) / pageSize) + 1;
210
+ if (newCurrent !== computedCurrent.value && newCurrent >= 1 && newCurrent <= pages.value) {
211
+ innerCurrent.value = newCurrent;
212
+ emit("update:current", newCurrent);
213
+ emit("change", newCurrent);
214
+ }
215
+ }
206
216
  };
207
217
  const pageList = computed(() => {
208
218
  const items = [];
@@ -182,9 +182,8 @@ var popconfirm_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
182
182
  if (isPromise(result)) try {
183
183
  var _await$result;
184
184
  result = (_await$result = yield result) !== null && _await$result !== void 0 ? _await$result : true;
185
- } catch (error) {
185
+ } catch (_unused) {
186
186
  result = false;
187
- throw error;
188
187
  }
189
188
  if (isBoolean(result)) resolve(result);
190
189
  } else resolve(true);
@@ -205,15 +204,9 @@ var popconfirm_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
205
204
  };
206
205
  }();
207
206
  const handleCancel = () => {
208
- let result = true;
209
- if (isFunction(props.onBeforeCancel)) {
210
- var _props$onBeforeCancel;
211
- result = (_props$onBeforeCancel = props.onBeforeCancel()) !== null && _props$onBeforeCancel !== void 0 ? _props$onBeforeCancel : false;
212
- }
213
- if (result) {
214
- emit("cancel");
215
- close();
216
- }
207
+ if (isFunction(props.onBeforeCancel) && props.onBeforeCancel() === false) return;
208
+ emit("cancel");
209
+ close();
217
210
  };
218
211
  const contentCls = computed(() => [`${prefixCls}-popup-content`, props.contentClass]);
219
212
  const arrowCls = computed(() => [`${prefixCls}-popup-arrow`, props.arrowClass]);
@@ -176,6 +176,8 @@ declare const Popover: {
176
176
  title?: (props: {}) => any;
177
177
  } & {
178
178
  content?: (props: {}) => any;
179
+ } & {
180
+ content?: (props: {}) => any;
179
181
  };
180
182
  }) & {
181
183
  install: (app: App, options?: SDOptions) => void;
@@ -4,13 +4,15 @@ import type { TriggerEvent, TriggerPosition } from '../_utils/constant';
4
4
  import type { FloatingOptions } from '../_utils/floating';
5
5
  import { ClassName } from '../_utils/types';
6
6
  import { ScrollbarProps } from '../scrollbar';
7
- declare var __VLS_10: {}, __VLS_13: {}, __VLS_21: {};
7
+ declare var __VLS_10: {}, __VLS_13: {}, __VLS_15: {}, __VLS_23: {};
8
8
  type __VLS_Slots = {} & {
9
9
  default?: (props: typeof __VLS_10) => any;
10
10
  } & {
11
11
  title?: (props: typeof __VLS_13) => any;
12
12
  } & {
13
- content?: (props: typeof __VLS_21) => any;
13
+ content?: (props: typeof __VLS_15) => any;
14
+ } & {
15
+ content?: (props: typeof __VLS_23) => any;
14
16
  };
15
17
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
16
18
  popupVisible: {
@@ -3,7 +3,7 @@ import { getPrefixCls } from "../_utils/global-config.js";
3
3
  import Trigger from "../trigger/index.js";
4
4
  import { useScrollbar } from "../_hooks/use-scrollbar.js";
5
5
  import Scrollbar from "../scrollbar/index.js";
6
- import { computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, ref, renderSlot, toDisplayString, toRefs, unref, withCtx } from "vue";
6
+ import { computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, defineComponent, mergeProps, normalizeClass, openBlock, ref, renderSlot, toDisplayString, toRefs, unref, withCtx } from "vue";
7
7
  //#region components/popover/popover.vue?vue&type=script&setup=true&lang.ts
8
8
  var popover_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "Popover" }), {}, {
9
9
  __name: "popover",
@@ -114,6 +114,7 @@ var popover_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
114
114
  });
115
115
  const { scrollbar } = toRefs(props);
116
116
  const { scrollbarProps } = useScrollbar(scrollbar);
117
+ const isScrollbarEnabled = computed(() => scrollbar.value !== false);
117
118
  const handlePopupVisibleChange = (visible) => {
118
119
  _popupVisible.value = visible;
119
120
  emit("update:popupVisible", visible);
@@ -144,10 +145,16 @@ var popover_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
144
145
  content: withCtx(() => [__props.title || _ctx.$slots.title ? (openBlock(), createElementBlock("div", {
145
146
  key: 0,
146
147
  class: normalizeClass(`${unref(prefixCls)}-title`)
147
- }, [renderSlot(_ctx.$slots, "title", {}, () => [createTextVNode(toDisplayString(__props.title), 1)])], 2)) : createCommentVNode("", true), createVNode(unref(Scrollbar), mergeProps({ class: `${unref(prefixCls)}-content` }, unref(scrollbarProps)), {
148
+ }, [renderSlot(_ctx.$slots, "title", {}, () => [createTextVNode(toDisplayString(__props.title), 1)])], 2)) : createCommentVNode("", true), !isScrollbarEnabled.value ? (openBlock(), createElementBlock("div", {
149
+ key: 1,
150
+ class: normalizeClass(`${unref(prefixCls)}-content`)
151
+ }, [renderSlot(_ctx.$slots, "content", {}, () => [createTextVNode(toDisplayString(__props.content), 1)])], 2)) : (openBlock(), createBlock(unref(Scrollbar), mergeProps({
152
+ key: 2,
153
+ class: `${unref(prefixCls)}-content`
154
+ }, unref(scrollbarProps)), {
148
155
  default: withCtx(() => [renderSlot(_ctx.$slots, "content", {}, () => [createTextVNode(toDisplayString(__props.content), 1)])]),
149
156
  _: 3
150
- }, 16, ["class"])]),
157
+ }, 16, ["class"]))]),
151
158
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
152
159
  _: 3
153
160
  }, 8, [