@sdata/web-vue 2.2.1 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/README.md +1 -1
  2. package/dist/sd.css +117 -191
  3. package/dist/sd.min.css +1 -1
  4. package/es/_components/picker/input-range.vue.d.ts +2 -2
  5. package/es/_components/transition/expand-transition.vue.d.ts +2 -2
  6. package/es/_hooks/use-responsive.d.ts +2 -2
  7. package/es/_hooks/use-theme-mode.d.ts +3 -0
  8. package/es/{calendar/hooks/use-calendar-theme.js → _hooks/use-theme-mode.js} +14 -10
  9. package/es/_utils/date.d.ts +10 -9
  10. package/es/_utils/date.js +23 -7
  11. package/es/_utils/responsive-observe.d.ts +5 -4
  12. package/es/_utils/responsive-observe.js +2 -1
  13. package/es/alert/index.d.ts +3 -3
  14. package/es/anchor/anchor.vue.d.ts +52 -2
  15. package/es/anchor/anchor.vue_vue_type_script_setup_true_lang.js +75 -15
  16. package/es/anchor/index.d.ts +78 -3
  17. package/es/avatar/index.d.ts +20 -20
  18. package/es/border-beam/border-beam.js +5 -0
  19. package/es/border-beam/border-beam.vue.d.ts +52 -0
  20. package/es/border-beam/border-beam.vue_vue_type_script_setup_true_lang.js +623 -0
  21. package/es/border-beam/index.d.ts +106 -0
  22. package/es/border-beam/index.js +10 -0
  23. package/es/border-beam/pulseDriver.d.ts +2 -0
  24. package/es/border-beam/pulseDriver.js +74 -0
  25. package/es/border-beam/style/css.js +2 -0
  26. package/es/border-beam/style/index.css +21 -0
  27. package/es/border-beam/style/index.d.ts +2 -0
  28. package/es/border-beam/style/index.js +2 -0
  29. package/es/border-beam/style/index.scss +12 -0
  30. package/es/border-beam/style/token.scss +12 -0
  31. package/es/border-beam/styles.d.ts +42 -0
  32. package/es/border-beam/styles.js +3545 -0
  33. package/es/border-beam/types.d.ts +27 -0
  34. package/es/button/button.vue.d.ts +16 -3
  35. package/es/button/button.vue_vue_type_script_setup_true_lang.js +39 -9
  36. package/es/button/index.d.ts +43 -24
  37. package/es/button/interface.d.ts +1 -0
  38. package/es/calendar/components/cell.vue.d.ts +26 -26
  39. package/es/calendar/components/index.vue.d.ts +1 -1
  40. package/es/calendar/components/index.vue_vue_type_script_setup_true_lang.js +3 -2
  41. package/es/calendar/index.d.ts +5 -5
  42. package/es/carousel/index.d.ts +3 -3
  43. package/es/cascader/cascader.vue.d.ts +8 -8
  44. package/es/checkbox/checkbox.d.ts +3 -3
  45. package/es/collapse/collapse-item.d.ts +5 -5
  46. package/es/collapse/index.d.ts +3 -3
  47. package/es/components.d.ts +1 -0
  48. package/es/config-provider/config-provider.vue.d.ts +9 -0
  49. package/es/config-provider/config-provider.vue_vue_type_script_setup_true_lang.js +10 -1
  50. package/es/config-provider/context.d.ts +1 -0
  51. package/es/config-provider/index.d.ts +36 -21
  52. package/es/copy/copy.vue_vue_type_script_setup_true_lang.js +1 -0
  53. package/es/date-picker/hooks/use-cell-class-name.d.ts +1 -0
  54. package/es/date-picker/hooks/use-cell-class-name.js +3 -2
  55. package/es/date-picker/hooks/use-header-value.d.ts +2 -0
  56. package/es/date-picker/hooks/use-header-value.js +23 -19
  57. package/es/date-picker/hooks/use-picker-state.d.ts +2 -0
  58. package/es/date-picker/hooks/use-picker-state.js +3 -3
  59. package/es/date-picker/hooks/use-range-header-value.d.ts +2 -0
  60. package/es/date-picker/hooks/use-range-header-value.js +5 -1
  61. package/es/date-picker/hooks/use-range-picker-state.d.ts +2 -0
  62. package/es/date-picker/hooks/use-range-picker-state.js +3 -3
  63. package/es/date-picker/hooks/use-value-format.d.ts +5 -3
  64. package/es/date-picker/hooks/use-value-format.js +10 -8
  65. package/es/date-picker/index.d.ts +1373 -12
  66. package/es/date-picker/interface.d.ts +7 -0
  67. package/es/date-picker/panels/body.vue.d.ts +24 -6
  68. package/es/date-picker/panels/body.vue_vue_type_script_setup_true_lang.js +13 -12
  69. package/es/date-picker/panels/date/index.vue.d.ts +26 -8
  70. package/es/date-picker/panels/date/index.vue_vue_type_script_setup_true_lang.js +18 -9
  71. package/es/date-picker/panels/header.vue_vue_type_script_setup_true_lang.js +13 -20
  72. package/es/date-picker/panels/month/index.vue.d.ts +13 -8
  73. package/es/date-picker/panels/month/index.vue_vue_type_script_setup_true_lang.js +6 -6
  74. package/es/date-picker/panels/quarter/index.vue.d.ts +13 -8
  75. package/es/date-picker/panels/quarter/index.vue_vue_type_script_setup_true_lang.js +6 -6
  76. package/es/date-picker/panels/shortcuts.vue_vue_type_script_setup_true_lang.js +2 -6
  77. package/es/date-picker/panels/week/index.vue.d.ts +13 -1
  78. package/es/date-picker/panels/week/index.vue_vue_type_script_setup_true_lang.js +5 -2
  79. package/es/date-picker/panels/year/index.vue.d.ts +13 -8
  80. package/es/date-picker/panels/year/index.vue_vue_type_script_setup_true_lang.js +25 -15
  81. package/es/date-picker/picker-panel.vue.d.ts +56 -14
  82. package/es/date-picker/picker-panel.vue_vue_type_script_setup_true_lang.js +36 -19
  83. package/es/date-picker/picker.vue.d.ts +951 -3
  84. package/es/date-picker/picker.vue_vue_type_script_setup_true_lang.js +91 -29
  85. package/es/date-picker/range-picker-panel.vue.d.ts +77 -15
  86. package/es/date-picker/range-picker-panel.vue_vue_type_script_setup_true_lang.js +52 -28
  87. package/es/date-picker/range-picker.vue.d.ts +1348 -4
  88. package/es/date-picker/range-picker.vue_vue_type_script_setup_true_lang.js +114 -34
  89. package/es/descriptions/index.d.ts +24 -24
  90. package/es/drawer/drawer.vue.d.ts +5 -5
  91. package/es/drawer/index.d.ts +15 -15
  92. package/es/dropdown/dropdown-button.vue.d.ts +4 -4
  93. package/es/dropdown/index.d.ts +15 -15
  94. package/es/ellipsis/ellipsis.vue.d.ts +7 -7
  95. package/es/ellipsis/performant-ellipsis.vue.d.ts +5 -5
  96. package/es/form/form-item.vue_vue_type_script_setup_true_lang.js +3 -3
  97. package/es/form/index.d.ts +3 -3
  98. package/es/grid/grid-col.vue_vue_type_script_setup_true_lang.js +2 -2
  99. package/es/grid/grid.vue_vue_type_script_setup_true_lang.js +10 -10
  100. package/es/icon/icon-menu/icon-menu.js +5 -0
  101. package/es/icon/icon-menu/icon-menu.vue_vue_type_script_setup_true_lang.js +52 -0
  102. package/es/icon/icon-menu/index.js +9 -0
  103. package/es/image/preview-toolbar.vue.d.ts +2 -3
  104. package/es/image/preview-toolbar.vue_vue_type_script_setup_true_lang.js +2 -3
  105. package/es/image/preview.vue.d.ts +2 -2
  106. package/es/index.css +117 -191
  107. package/es/index.d.ts +3 -1
  108. package/es/index.js +3 -2
  109. package/es/index.scss +1 -0
  110. package/es/input/index.d.ts +7 -7
  111. package/es/input/input-password.vue.d.ts +3 -3
  112. package/es/json-form/index.d.ts +9 -9
  113. package/es/json-form/json-form-item.vue_vue_type_script_setup_true_lang.js +1 -1
  114. package/es/json-form/json-form.vue.d.ts +3 -3
  115. package/es/layout/content.vue.d.ts +2 -2
  116. package/es/layout/content.vue_vue_type_script_setup_true_lang.js +8 -3
  117. package/es/layout/context.d.ts +12 -9
  118. package/es/layout/context.js +11 -3
  119. package/es/layout/footer.vue.d.ts +2 -2
  120. package/es/layout/footer.vue_vue_type_script_setup_true_lang.js +8 -3
  121. package/es/layout/header.vue.d.ts +3 -30
  122. package/es/layout/header.vue_vue_type_script_setup_true_lang.js +9 -339
  123. package/es/layout/hooks/use-has-sider.d.ts +2 -0
  124. package/es/layout/hooks/use-has-sider.js +38 -0
  125. package/es/layout/index.d.ts +91 -380
  126. package/es/layout/index.js +2 -2
  127. package/es/layout/interface.d.ts +12 -46
  128. package/es/layout/layout.vue.d.ts +4 -2
  129. package/es/layout/layout.vue_vue_type_script_setup_true_lang.js +38 -14
  130. package/es/layout/sider.vue.d.ts +47 -183
  131. package/es/layout/sider.vue_vue_type_script_setup_true_lang.js +191 -370
  132. package/es/layout/style/index.css +112 -190
  133. package/es/layout/style/index.scss +127 -239
  134. package/es/layout/style/token.scss +46 -26
  135. package/es/link/index.d.ts +6 -6
  136. package/es/list/index.d.ts +18 -18
  137. package/es/locale/interface.d.ts +2 -0
  138. package/es/locale/lang/ar-eg.js +46 -0
  139. package/es/locale/lang/de-de.js +46 -0
  140. package/es/locale/lang/es-es.js +46 -0
  141. package/es/locale/lang/fr-fr.js +46 -0
  142. package/es/locale/lang/id-id.js +46 -0
  143. package/es/locale/lang/it-it.js +46 -0
  144. package/es/locale/lang/km-kh.js +46 -0
  145. package/es/locale/lang/ko-kr.js +46 -0
  146. package/es/locale/lang/ms-my.js +46 -0
  147. package/es/locale/lang/pt-pt.js +46 -0
  148. package/es/locale/lang/th-th.js +46 -0
  149. package/es/locale/lang/vi-vn.js +46 -0
  150. package/es/mention/mention.js +2 -0
  151. package/es/menu/base-menu.vue.d.ts +1 -1
  152. package/es/menu/base-menu.vue_vue_type_script_setup_true_lang.js +14 -14
  153. package/es/menu/item.d.ts +1 -1
  154. package/es/menu/menu.d.ts +12 -12
  155. package/es/menu/menu.js +3 -3
  156. package/es/menu/sub-menu-pop.vue_vue_type_script_setup_true_lang.js +3 -4
  157. package/es/modal/index.d.ts +22 -20
  158. package/es/modal/index.js +47 -11
  159. package/es/modal/interface.d.ts +5 -0
  160. package/es/modal/modal.vue.d.ts +4 -4
  161. package/es/popconfirm/index.d.ts +12 -12
  162. package/es/popover/index.d.ts +12 -12
  163. package/es/progress/index.d.ts +6 -6
  164. package/es/qr-code/index.d.ts +3 -3
  165. package/es/radio/radio.d.ts +3 -3
  166. package/es/resize-box/resize-box.vue.d.ts +4 -4
  167. package/es/resize-box/resize-box.vue_vue_type_script_setup_true_lang.js +7 -7
  168. package/es/result/index.d.ts +3 -3
  169. package/es/scrollbar/style/index.css +1 -1
  170. package/es/scrollbar/style/index.scss +4 -1
  171. package/es/sd-vue.js +3 -1
  172. package/es/select/select.d.ts +17 -17
  173. package/es/slider/index.d.ts +3 -3
  174. package/es/split/split.vue.d.ts +4 -4
  175. package/es/split/split.vue_vue_type_script_setup_true_lang.js +6 -6
  176. package/es/steps/index.d.ts +6 -6
  177. package/es/tabs/index.d.ts +6 -6
  178. package/es/tag/index.d.ts +6 -6
  179. package/es/tag/tag.vue.d.ts +2 -2
  180. package/es/textarea/textarea.vue_vue_type_script_setup_true_lang.js +4 -4
  181. package/es/theme-provider/index.d.ts +9 -9
  182. package/es/time-picker/index.d.ts +6 -6
  183. package/es/time-picker/time-picker.vue.d.ts +2 -2
  184. package/es/timeline/index.d.ts +3 -3
  185. package/es/timeline/timeline.d.ts +1 -1
  186. package/es/tooltip/index.d.ts +3 -3
  187. package/es/tour/index.d.ts +3 -3
  188. package/es/tour/tour.vue_vue_type_script_setup_true_lang.js +6 -6
  189. package/es/tree/base-node.vue_vue_type_script_setup_true_lang.js +6 -21
  190. package/es/tree/expand-transition.vue.d.ts +2 -2
  191. package/es/tree/node-switcher.vue.d.ts +1 -12
  192. package/es/tree/node-switcher.vue_vue_type_script_lang.js +1 -5
  193. package/es/tree/tree.vue_vue_type_script_setup_true_lang.js +23 -23
  194. package/es/tree-select/tree-select.vue.d.ts +9 -9
  195. package/es/trigger/trigger.js +2 -1
  196. package/es/verification-code/verification-code.js +17 -7
  197. package/json/vetur-attributes.json +76 -156
  198. package/json/vetur-tags.json +26 -44
  199. package/json/web-types.json +150 -304
  200. package/package.json +5 -5
  201. package/es/_components/render-function.d.ts +0 -14
  202. package/es/_components/render-function.js +0 -14
  203. package/es/calendar/hooks/use-calendar-theme.d.ts +0 -4
  204. package/es/layout/utils.d.ts +0 -1
  205. package/es/layout/utils.js +0 -11
@@ -4,10 +4,10 @@ import { isNumber, isObject } from "../_utils/is.js";
4
4
  import { omit } from "../_utils/omit.js";
5
5
  import useMergeState from "../_hooks/use-merge-state.js";
6
6
  import usePickSlots from "../_hooks/use-pick-slots.js";
7
- import { useResponsive } from "../_hooks/use-responsive.js";
8
7
  import { MenuInjectionKey } from "./context.js";
9
8
  import { provideLevel } from "./hooks/use-level.js";
10
9
  import useMenuDataCollector from "./hooks/use-menu-data-collector.js";
10
+ import { useResponsive } from "../_hooks/use-responsive.js";
11
11
  import IconMenuFold from "../icon/icon-menu-fold/index.js";
12
12
  import IconMenuUnfold from "../icon/icon-menu-unfold/index.js";
13
13
  import useMenuOpenState from "./hooks/use-menu-open-state.js";
@@ -198,31 +198,31 @@ var base_menu_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ define
198
198
  const slots = useSlots();
199
199
  const { style, mode, theme, levelIndent, accordion, showCollapseButton, scrollConfig, autoScrollIntoView, collapsedWidth, autoOpen, collapsed: propCollapsed, defaultCollapsed, selectedKeys: propSelectedKeys, defaultSelectedKeys, openKeys: propOpenKeys, defaultOpenKeys, triggerProps, tooltipProps, ellipsis, ellipsisProps, autoOpenSelected, breakpoint, popupMaxHeight, prefixCls, inTrigger, siderCollapsed, isRoot } = toRefs(props);
200
200
  const { subMenuKeys, menuData } = useMenuDataCollector({ type: isRoot.value ? "menu" : "popupMenu" });
201
- const [selectedKeys, setSelectedKeys] = useMergeState(defaultSelectedKeys.value, reactive({ value: propSelectedKeys }));
202
- const { openKeys, setOpenKeys, open } = useMenuOpenState(reactive({
201
+ const [mergedSelectedKeys, setSelectedKeys] = useMergeState(defaultSelectedKeys.value, reactive({ value: propSelectedKeys }));
202
+ const { openKeys: mergedOpenKeys, setOpenKeys: setMergedOpenKeys, open } = useMenuOpenState(reactive({
203
203
  modelValue: propOpenKeys,
204
204
  defaultValue: defaultOpenKeys,
205
205
  autoOpen,
206
206
  autoOpenSelected,
207
- selectedKeys,
207
+ selectedKeys: mergedSelectedKeys,
208
208
  subMenuKeys,
209
209
  menuData,
210
210
  accordion
211
211
  }));
212
- const [collapsed, setCollapsed] = useMergeState(defaultCollapsed.value, reactive({ value: propCollapsed }));
213
- const computedCollapsed = computed(() => siderCollapsed.value || collapsed.value || mode.value === "popButton");
212
+ const [mergedCollapsed, setMergedCollapsed] = useMergeState(defaultCollapsed.value, reactive({ value: propCollapsed }));
213
+ const computedCollapsed = computed(() => siderCollapsed.value || mergedCollapsed.value || mode.value === "popButton");
214
214
  const computedHasCollapseButton = computed(() => ["horizontal", "popButton"].indexOf(mode.value) < 0 && !inTrigger.value && showCollapseButton.value);
215
- const changeCollapsed = (newVal, type) => {
216
- if (newVal === collapsed.value) return;
217
- setCollapsed(newVal);
215
+ const changeMergedCollapsed = (newVal, type) => {
216
+ if (newVal === mergedCollapsed.value) return;
217
+ setMergedCollapsed(newVal);
218
218
  emit("update:collapsed", newVal);
219
219
  emit("collapse", newVal, type);
220
220
  };
221
221
  const onCollapseBtnClick = () => {
222
- changeCollapsed(!collapsed.value, "clickTrigger");
222
+ changeMergedCollapsed(!mergedCollapsed.value, "clickTrigger");
223
223
  };
224
224
  useResponsive(breakpoint, (checked) => {
225
- changeCollapsed(!checked, "responsive");
225
+ changeMergedCollapsed(!checked, "responsive");
226
226
  });
227
227
  const computedPrefixCls = computed(() => (prefixCls === null || prefixCls === void 0 ? void 0 : prefixCls.value) || getPrefixCls("menu"));
228
228
  const classNames = computed(() => [
@@ -247,8 +247,8 @@ var base_menu_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ define
247
247
  mode,
248
248
  levelIndent,
249
249
  autoScrollIntoView,
250
- selectedKeys,
251
- openKeys,
250
+ selectedKeys: mergedSelectedKeys,
251
+ openKeys: mergedOpenKeys,
252
252
  prefixCls: computedPrefixCls,
253
253
  scrollConfig,
254
254
  inTrigger,
@@ -267,7 +267,7 @@ var base_menu_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ define
267
267
  },
268
268
  onSubMenuClick: (key, level) => {
269
269
  const newOpenKeys = open(key, level);
270
- setOpenKeys(newOpenKeys);
270
+ setMergedOpenKeys(newOpenKeys);
271
271
  emit("update:openKeys", newOpenKeys);
272
272
  emit("sub-menu-click", key, newOpenKeys);
273
273
  }
package/es/menu/item.d.ts CHANGED
@@ -4,7 +4,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
4
4
  default: boolean;
5
5
  };
6
6
  }>, {
7
- menuContext: Partial<Readonly<Pick<import("./interface").InternalMenuProps, "ellipsis" | "triggerProps" | "mode" | "popupMaxHeight" | "theme" | "tooltipProps" | "levelIndent" | "autoScrollIntoView" | "scrollConfig" | "inTrigger" | "ellipsisProps"> & {
7
+ menuContext: Partial<Readonly<Pick<import("./interface.ts").InternalMenuProps, "ellipsis" | "triggerProps" | "mode" | "theme" | "popupMaxHeight" | "tooltipProps" | "levelIndent" | "autoScrollIntoView" | "scrollConfig" | "inTrigger" | "ellipsisProps"> & {
8
8
  selectedKeys: string[];
9
9
  openKeys: string[];
10
10
  prefixCls: string;
package/es/menu/menu.d.ts CHANGED
@@ -107,7 +107,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
107
107
  }>;
108
108
  };
109
109
  triggerProps: {
110
- type: PropType<import("..").TriggerProps>;
110
+ type: PropType<import("../index.ts").TriggerProps>;
111
111
  };
112
112
  tooltipProps: {
113
113
  type: ObjectConstructor;
@@ -117,7 +117,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
117
117
  default: boolean;
118
118
  };
119
119
  ellipsisProps: {
120
- type: PropType<import("./interface").MenuEllipsisProps>;
120
+ type: PropType<import("./interface.ts").MenuEllipsisProps>;
121
121
  default: undefined;
122
122
  };
123
123
  autoOpenSelected: {
@@ -161,13 +161,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
161
161
  mode: "pop" | "horizontal" | "vertical" | "popButton";
162
162
  collapsed: boolean;
163
163
  defaultSelectedKeys: string[];
164
- popupMaxHeight: number | boolean;
165
164
  theme: "dark" | "light";
165
+ popupMaxHeight: number | boolean;
166
166
  accordion: boolean;
167
167
  defaultCollapsed: boolean;
168
168
  autoScrollIntoView: boolean;
169
169
  inTrigger: boolean;
170
- ellipsisProps: import("./interface").MenuEllipsisProps;
170
+ ellipsisProps: import("./interface.ts").MenuEllipsisProps;
171
171
  autoOpen: boolean;
172
172
  autoOpenSelected: boolean;
173
173
  showCollapseButton: boolean;
@@ -238,7 +238,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
238
238
  }>;
239
239
  };
240
240
  triggerProps: {
241
- type: PropType<import("..").TriggerProps>;
241
+ type: PropType<import("../index.ts").TriggerProps>;
242
242
  };
243
243
  tooltipProps: {
244
244
  type: ObjectConstructor;
@@ -248,7 +248,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
248
248
  default: boolean;
249
249
  };
250
250
  ellipsisProps: {
251
- type: PropType<import("./interface").MenuEllipsisProps>;
251
+ type: PropType<import("./interface.ts").MenuEllipsisProps>;
252
252
  default: undefined;
253
253
  };
254
254
  autoOpenSelected: {
@@ -285,13 +285,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
285
285
  mode: "pop" | "horizontal" | "vertical" | "popButton";
286
286
  collapsed: boolean;
287
287
  defaultSelectedKeys: string[];
288
- popupMaxHeight: number | boolean;
289
288
  theme: "dark" | "light";
289
+ popupMaxHeight: number | boolean;
290
290
  accordion: boolean;
291
291
  defaultCollapsed: boolean;
292
292
  autoScrollIntoView: boolean;
293
293
  inTrigger: boolean;
294
- ellipsisProps: import("./interface").MenuEllipsisProps;
294
+ ellipsisProps: import("./interface.ts").MenuEllipsisProps;
295
295
  autoOpen: boolean;
296
296
  autoOpenSelected: boolean;
297
297
  showCollapseButton: boolean;
@@ -359,7 +359,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
359
359
  }>;
360
360
  };
361
361
  triggerProps: {
362
- type: PropType<import("..").TriggerProps>;
362
+ type: PropType<import("../index.ts").TriggerProps>;
363
363
  };
364
364
  tooltipProps: {
365
365
  type: ObjectConstructor;
@@ -369,7 +369,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
369
369
  default: boolean;
370
370
  };
371
371
  ellipsisProps: {
372
- type: PropType<import("./interface").MenuEllipsisProps>;
372
+ type: PropType<import("./interface.ts").MenuEllipsisProps>;
373
373
  default: undefined;
374
374
  };
375
375
  autoOpenSelected: {
@@ -413,13 +413,13 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
413
413
  mode: "pop" | "horizontal" | "vertical" | "popButton";
414
414
  collapsed: boolean;
415
415
  defaultSelectedKeys: string[];
416
- popupMaxHeight: number | boolean;
417
416
  theme: "dark" | "light";
417
+ popupMaxHeight: number | boolean;
418
418
  accordion: boolean;
419
419
  defaultCollapsed: boolean;
420
420
  autoScrollIntoView: boolean;
421
421
  inTrigger: boolean;
422
- ellipsisProps: import("./interface").MenuEllipsisProps;
422
+ ellipsisProps: import("./interface.ts").MenuEllipsisProps;
423
423
  autoOpen: boolean;
424
424
  autoOpenSelected: boolean;
425
425
  showCollapseButton: boolean;
package/es/menu/menu.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { _objectSpread2 } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/objectSpread2.js";
2
- import { SiderInjectionKey } from "../layout/context.js";
2
+ import { SiderContextInjectionKey } from "../layout/context.js";
3
3
  import { LevelInjectionKey, MenuInjectionKey } from "./context.js";
4
4
  import base_menu_default from "./base-menu.js";
5
5
  import overflow_wrap_default from "./overflow-wrap.js";
@@ -27,8 +27,8 @@ var menu_default = /* @__PURE__ */ defineComponent({
27
27
  },
28
28
  setup(props, { attrs, slots }) {
29
29
  const { theme: propTheme, mode } = toRefs(props);
30
- const siderContext = inject(SiderInjectionKey, void 0);
31
- const siderCollapsed = computed(() => (siderContext === null || siderContext === void 0 ? void 0 : siderContext.collapsed) || false);
30
+ const siderContext = inject(SiderContextInjectionKey, void 0);
31
+ const siderCollapsed = computed(() => (siderContext === null || siderContext === void 0 ? void 0 : siderContext.siderCollapsed) || false);
32
32
  const theme = computed(() => (propTheme === null || propTheme === void 0 ? void 0 : propTheme.value) || (siderContext === null || siderContext === void 0 ? void 0 : siderContext.theme) || "light");
33
33
  provide(MenuInjectionKey, void 0);
34
34
  provide(LevelInjectionKey, void 0);
@@ -4,13 +4,12 @@ import { isNumber } from "../_utils/is.js";
4
4
  import { omit } from "../_utils/omit.js";
5
5
  import Trigger from "../trigger/index.js";
6
6
  import Ellipsis from "../ellipsis/index.js";
7
- import render_function_default from "../_components/render-function.js";
8
7
  import useLevel from "./hooks/use-level.js";
9
8
  import useMenu from "./hooks/use-menu.js";
10
9
  import useMenuContext from "./hooks/use-menu-context.js";
11
10
  import indent_default from "./indent.js";
12
11
  import base_menu_default from "./base-menu.js";
13
- import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, mergeProps, normalizeClass, normalizeStyle, openBlock, ref, renderSlot, toDisplayString, toRefs, unref, withCtx } from "vue";
12
+ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createTextVNode, createVNode, defineComponent, mergeProps, normalizeClass, normalizeStyle, openBlock, ref, renderSlot, resolveDynamicComponent, toDisplayString, toRefs, unref, withCtx } from "vue";
14
13
  //#region components/menu/sub-menu-pop.vue?vue&type=script&setup=true&lang.ts
15
14
  var sub_menu_pop_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, {
16
15
  name: "SubMenuPop",
@@ -107,11 +106,11 @@ var sub_menu_pop_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
107
106
  _: 2
108
107
  }, [unref(menuContext).expandIconDown ? {
109
108
  name: "expand-icon-down",
110
- fn: withCtx(() => [createVNode(unref(render_function_default), { "render-func": unref(menuContext).expandIconDown }, null, 8, ["render-func"])]),
109
+ fn: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(unref(menuContext).expandIconDown)))]),
111
110
  key: "0"
112
111
  } : void 0, unref(menuContext).expandIconRight ? {
113
112
  name: "expand-icon-right",
114
- fn: withCtx(() => [createVNode(unref(render_function_default), { "render-func": unref(menuContext).expandIconRight }, null, 8, ["render-func"])]),
113
+ fn: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(unref(menuContext).expandIconRight)))]),
115
114
  key: "1"
116
115
  } : void 0]), 1032, [
117
116
  "prefix-cls",
@@ -1,6 +1,6 @@
1
1
  import type { App, AppContext } from 'vue';
2
2
  import type { SDOptions } from '../_utils/types';
3
- import type { ModalConfig } from './interface';
3
+ import type { ModalConfig, ModalGlobalConfig } from './interface';
4
4
  declare const Modal: {
5
5
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
6
6
  visible: {
@@ -25,7 +25,7 @@ declare const Modal: {
25
25
  type: StringConstructor;
26
26
  };
27
27
  titleEllipsisTooltip: {
28
- type: import("vue").PropType<boolean | import("..").EllipsisTooltipProps>;
28
+ type: import("vue").PropType<boolean | import("../index.ts").EllipsisTooltipProps>;
29
29
  default: boolean;
30
30
  };
31
31
  titleAlign: {
@@ -60,10 +60,10 @@ declare const Modal: {
60
60
  default: boolean;
61
61
  };
62
62
  okButtonProps: {
63
- type: import("vue").PropType<import("..").ButtonProps>;
63
+ type: import("vue").PropType<import("../index.ts").ButtonProps>;
64
64
  };
65
65
  cancelButtonProps: {
66
- type: import("vue").PropType<import("..").ButtonProps>;
66
+ type: import("vue").PropType<import("../index.ts").ButtonProps>;
67
67
  };
68
68
  footer: {
69
69
  type: BooleanConstructor;
@@ -119,7 +119,7 @@ declare const Modal: {
119
119
  type: import("vue").PropType<import("vue").StyleValue>;
120
120
  };
121
121
  messageType: {
122
- type: import("vue").PropType<import("..").MessageType>;
122
+ type: import("vue").PropType<import("../index.ts").MessageType>;
123
123
  };
124
124
  hideTitle: {
125
125
  type: BooleanConstructor;
@@ -152,7 +152,7 @@ declare const Modal: {
152
152
  closable: boolean;
153
153
  simple: boolean;
154
154
  draggable: boolean;
155
- titleEllipsisTooltip: boolean | import("..").EllipsisTooltipProps;
155
+ titleEllipsisTooltip: boolean | import("../index.ts").EllipsisTooltipProps;
156
156
  maskClosable: boolean;
157
157
  okLoading: boolean;
158
158
  escToClose: boolean;
@@ -193,7 +193,7 @@ declare const Modal: {
193
193
  type: StringConstructor;
194
194
  };
195
195
  titleEllipsisTooltip: {
196
- type: import("vue").PropType<boolean | import("..").EllipsisTooltipProps>;
196
+ type: import("vue").PropType<boolean | import("../index.ts").EllipsisTooltipProps>;
197
197
  default: boolean;
198
198
  };
199
199
  titleAlign: {
@@ -228,10 +228,10 @@ declare const Modal: {
228
228
  default: boolean;
229
229
  };
230
230
  okButtonProps: {
231
- type: import("vue").PropType<import("..").ButtonProps>;
231
+ type: import("vue").PropType<import("../index.ts").ButtonProps>;
232
232
  };
233
233
  cancelButtonProps: {
234
- type: import("vue").PropType<import("..").ButtonProps>;
234
+ type: import("vue").PropType<import("../index.ts").ButtonProps>;
235
235
  };
236
236
  footer: {
237
237
  type: BooleanConstructor;
@@ -287,7 +287,7 @@ declare const Modal: {
287
287
  type: import("vue").PropType<import("vue").StyleValue>;
288
288
  };
289
289
  messageType: {
290
- type: import("vue").PropType<import("..").MessageType>;
290
+ type: import("vue").PropType<import("../index.ts").MessageType>;
291
291
  };
292
292
  hideTitle: {
293
293
  type: BooleanConstructor;
@@ -312,7 +312,7 @@ declare const Modal: {
312
312
  closable: boolean;
313
313
  simple: boolean;
314
314
  draggable: boolean;
315
- titleEllipsisTooltip: boolean | import("..").EllipsisTooltipProps;
315
+ titleEllipsisTooltip: boolean | import("../index.ts").EllipsisTooltipProps;
316
316
  maskClosable: boolean;
317
317
  okLoading: boolean;
318
318
  escToClose: boolean;
@@ -350,7 +350,7 @@ declare const Modal: {
350
350
  type: StringConstructor;
351
351
  };
352
352
  titleEllipsisTooltip: {
353
- type: import("vue").PropType<boolean | import("..").EllipsisTooltipProps>;
353
+ type: import("vue").PropType<boolean | import("../index.ts").EllipsisTooltipProps>;
354
354
  default: boolean;
355
355
  };
356
356
  titleAlign: {
@@ -385,10 +385,10 @@ declare const Modal: {
385
385
  default: boolean;
386
386
  };
387
387
  okButtonProps: {
388
- type: import("vue").PropType<import("..").ButtonProps>;
388
+ type: import("vue").PropType<import("../index.ts").ButtonProps>;
389
389
  };
390
390
  cancelButtonProps: {
391
- type: import("vue").PropType<import("..").ButtonProps>;
391
+ type: import("vue").PropType<import("../index.ts").ButtonProps>;
392
392
  };
393
393
  footer: {
394
394
  type: BooleanConstructor;
@@ -444,7 +444,7 @@ declare const Modal: {
444
444
  type: import("vue").PropType<import("vue").StyleValue>;
445
445
  };
446
446
  messageType: {
447
- type: import("vue").PropType<import("..").MessageType>;
447
+ type: import("vue").PropType<import("../index.ts").MessageType>;
448
448
  };
449
449
  hideTitle: {
450
450
  type: BooleanConstructor;
@@ -477,7 +477,7 @@ declare const Modal: {
477
477
  closable: boolean;
478
478
  simple: boolean;
479
479
  draggable: boolean;
480
- titleEllipsisTooltip: boolean | import("..").EllipsisTooltipProps;
480
+ titleEllipsisTooltip: boolean | import("../index.ts").EllipsisTooltipProps;
481
481
  maskClosable: boolean;
482
482
  okLoading: boolean;
483
483
  escToClose: boolean;
@@ -497,14 +497,16 @@ declare const Modal: {
497
497
  footer?: (props: {}) => any;
498
498
  };
499
499
  }) & {
500
+ config: (config: ModalGlobalConfig) => void;
501
+ destroyAll: () => void;
500
502
  install: (app: App, options?: SDOptions) => void;
501
503
  _context: AppContext | null;
502
- open: (config: ModalConfig, appContext?: AppContext) => import("./interface").ModalReturn;
503
- confirm: (config: ModalConfig, appContext?: AppContext) => import("./interface").ModalReturn;
504
- info: (config: ModalConfig, appContext?: AppContext) => import("./interface").ModalReturn;
505
504
  success: (config: ModalConfig, appContext?: AppContext) => import("./interface").ModalReturn;
506
505
  warning: (config: ModalConfig, appContext?: AppContext) => import("./interface").ModalReturn;
506
+ info: (config: ModalConfig, appContext?: AppContext) => import("./interface").ModalReturn;
507
507
  error: (config: ModalConfig, appContext?: AppContext) => import("./interface").ModalReturn;
508
+ open: (config: ModalConfig, appContext?: AppContext) => import("./interface").ModalReturn;
509
+ confirm: (config: ModalConfig, appContext?: AppContext) => import("./interface").ModalReturn;
508
510
  };
509
- export type { ModalMethod, ModalConfig, ModalReturn } from './interface';
511
+ export type { ModalMethod, ModalConfig, ModalGlobalConfig, ModalReturn } from './interface';
510
512
  export default Modal;
package/es/modal/index.js CHANGED
@@ -9,32 +9,52 @@ import { omit } from "../_utils/omit.js";
9
9
  import modal_default from "./modal.js";
10
10
  import { createVNode, nextTick, render } from "vue";
11
11
  //#region components/modal/index.tsx
12
+ var modalGlobalConfig = _objectSpread2({}, { simple: true });
13
+ var modalDestroyList = [];
14
+ var setModalGlobalConfig = (config) => {
15
+ modalGlobalConfig = _objectSpread2(_objectSpread2({}, modalGlobalConfig), config);
16
+ };
17
+ var getModalGlobalConfig = () => modalGlobalConfig;
18
+ var removeModalDestroyFn = (destroyFn) => {
19
+ const index = modalDestroyList.findIndex((item) => item === destroyFn);
20
+ if (index > -1) modalDestroyList.splice(index, 1);
21
+ };
12
22
  var open = (config, appContext) => {
13
23
  let container = getOverlay("modal");
14
- const handleOk = () => {
24
+ let closed = false;
25
+ const destroyModal = () => {
26
+ if (closed) return;
27
+ closed = true;
28
+ if (container) {
29
+ render(null, container);
30
+ if (container.parentNode) container.parentNode.removeChild(container);
31
+ }
32
+ container = null;
33
+ removeModalDestroyFn(destroyModal);
34
+ if (isFunction(config.onClose)) config.onClose();
35
+ };
36
+ const closeModal = () => {
15
37
  if (vm.component) vm.component.props.visible = false;
38
+ };
39
+ const handleOk = () => {
40
+ closeModal();
16
41
  if (isFunction(config.onOk)) config.onOk();
17
42
  };
18
43
  const handleCancel = () => {
19
- if (vm.component) vm.component.props.visible = false;
44
+ closeModal();
20
45
  if (isFunction(config.onCancel)) config.onCancel();
21
46
  };
22
47
  const handleClose = function() {
23
48
  var _ref = _asyncToGenerator(function* () {
24
49
  yield nextTick();
25
- if (container) {
26
- render(null, container);
27
- document.body.removeChild(container);
28
- }
29
- container = null;
30
- if (isFunction(config.onClose)) config.onClose();
50
+ destroyModal();
31
51
  });
32
52
  return function handleClose() {
33
53
  return _ref.apply(this, arguments);
34
54
  };
35
55
  }();
36
56
  const handleReturnClose = () => {
37
- if (vm.component) vm.component.props.visible = false;
57
+ closeModal();
38
58
  };
39
59
  const handleUpdateConfig = (config) => {
40
60
  if (vm.component) Object.entries(config).forEach(([key, value]) => {
@@ -65,6 +85,7 @@ var open = (config, appContext) => {
65
85
  if (appContext !== null && appContext !== void 0 ? appContext : Modal._context) vm.appContext = appContext !== null && appContext !== void 0 ? appContext : Modal._context;
66
86
  render(vm, container);
67
87
  document.body.appendChild(container);
88
+ modalDestroyList.push(destroyModal);
68
89
  return {
69
90
  close: handleReturnClose,
70
91
  update: handleUpdateConfig
@@ -73,28 +94,43 @@ var open = (config, appContext) => {
73
94
  var modal = _objectSpread2({
74
95
  open,
75
96
  confirm: (config, appContext) => {
97
+ const { simple } = getModalGlobalConfig();
76
98
  return open(_objectSpread2({
77
- simple: true,
99
+ simple,
78
100
  messageType: "warning"
79
101
  }, config), appContext);
80
102
  }
81
103
  }, MESSAGE_TYPES.reduce((pre, value) => {
82
104
  pre[value] = (config, appContext) => {
105
+ const { simple } = getModalGlobalConfig();
83
106
  return open(_objectSpread2({
84
- simple: true,
107
+ simple,
85
108
  hideCancel: true,
86
109
  messageType: value
87
110
  }, config), appContext);
88
111
  };
89
112
  return pre;
90
113
  }, {}));
114
+ var config = (config) => {
115
+ setModalGlobalConfig(config);
116
+ };
117
+ var destroyAll = () => {
118
+ while (modalDestroyList.length) {
119
+ const close = modalDestroyList.pop();
120
+ close === null || close === void 0 || close();
121
+ }
122
+ };
91
123
  var Modal = Object.assign(modal_default, _objectSpread2(_objectSpread2({}, modal), {}, {
124
+ config,
125
+ destroyAll,
92
126
  install: (app, options) => {
93
127
  setGlobalConfig(app, options);
94
128
  const componentPrefix = getComponentPrefix(options);
95
129
  app.component(componentPrefix + modal_default.name, modal_default);
96
130
  const modalWithContext = {};
97
131
  for (const key of Object.keys(modal)) modalWithContext[key] = (config, appContext = app._context) => modal[key](config, appContext);
132
+ modalWithContext.config = config;
133
+ modalWithContext.destroyAll = destroyAll;
98
134
  app.config.globalProperties.$modal = modalWithContext;
99
135
  },
100
136
  _context: null
@@ -46,6 +46,9 @@ export interface ModalReturn {
46
46
  close: () => void;
47
47
  update: (config: ModalUpdateConfig) => void;
48
48
  }
49
+ export interface ModalGlobalConfig {
50
+ simple?: boolean;
51
+ }
49
52
  export interface ModalMethod {
50
53
  open: (config: ModalConfig, appContext?: AppContext) => ModalReturn;
51
54
  confirm: (config: ModalConfig, appContext?: AppContext) => ModalReturn;
@@ -53,4 +56,6 @@ export interface ModalMethod {
53
56
  success: (config: ModalConfig, appContext?: AppContext) => ModalReturn;
54
57
  warning: (config: ModalConfig, appContext?: AppContext) => ModalReturn;
55
58
  error: (config: ModalConfig, appContext?: AppContext) => ModalReturn;
59
+ config: (config: ModalGlobalConfig) => void;
60
+ destroyAll: () => void;
56
61
  }
@@ -2,13 +2,13 @@ import type { CSSProperties, PropType, StyleValue } from 'vue';
2
2
  import type { EllipsisTooltipProps } from '../ellipsis';
3
3
  import { MessageType } from '../_utils/constant';
4
4
  import { ButtonProps } from '../button';
5
- declare var __VLS_55: {}, __VLS_68: {}, __VLS_70: {};
5
+ declare var __VLS_54: {}, __VLS_67: {}, __VLS_69: {};
6
6
  type __VLS_Slots = {} & {
7
- title?: (props: typeof __VLS_55) => any;
7
+ title?: (props: typeof __VLS_54) => any;
8
8
  } & {
9
- default?: (props: typeof __VLS_68) => any;
9
+ default?: (props: typeof __VLS_67) => any;
10
10
  } & {
11
- footer?: (props: typeof __VLS_70) => any;
11
+ footer?: (props: typeof __VLS_69) => any;
12
12
  };
13
13
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
14
14
  visible: {
@@ -5,7 +5,7 @@ declare const Popconfirm: {
5
5
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
6
6
  content: StringConstructor;
7
7
  position: {
8
- type: import("vue").PropType<import("..").TriggerPosition>;
8
+ type: import("vue").PropType<import("../index.ts").TriggerPosition>;
9
9
  default: string;
10
10
  };
11
11
  popupVisible: {
@@ -17,7 +17,7 @@ declare const Popconfirm: {
17
17
  default: boolean;
18
18
  };
19
19
  type: {
20
- type: import("vue").PropType<import("..").MessageType>;
20
+ type: import("vue").PropType<import("../index.ts").MessageType>;
21
21
  default: string;
22
22
  };
23
23
  okText: StringConstructor;
@@ -27,10 +27,10 @@ declare const Popconfirm: {
27
27
  default: boolean;
28
28
  };
29
29
  okButtonProps: {
30
- type: import("vue").PropType<import("..").ButtonProps>;
30
+ type: import("vue").PropType<import("../index.ts").ButtonProps>;
31
31
  };
32
32
  cancelButtonProps: {
33
- type: import("vue").PropType<import("..").ButtonProps>;
33
+ type: import("vue").PropType<import("../index.ts").ButtonProps>;
34
34
  };
35
35
  contentClass: {
36
36
  type: import("vue").PropType<import("../_utils/types").ClassName>;
@@ -79,7 +79,7 @@ declare const Popconfirm: {
79
79
  }, Readonly<import("vue").ExtractPropTypes<{
80
80
  content: StringConstructor;
81
81
  position: {
82
- type: import("vue").PropType<import("..").TriggerPosition>;
82
+ type: import("vue").PropType<import("../index.ts").TriggerPosition>;
83
83
  default: string;
84
84
  };
85
85
  popupVisible: {
@@ -91,7 +91,7 @@ declare const Popconfirm: {
91
91
  default: boolean;
92
92
  };
93
93
  type: {
94
- type: import("vue").PropType<import("..").MessageType>;
94
+ type: import("vue").PropType<import("../index.ts").MessageType>;
95
95
  default: string;
96
96
  };
97
97
  okText: StringConstructor;
@@ -101,10 +101,10 @@ declare const Popconfirm: {
101
101
  default: boolean;
102
102
  };
103
103
  okButtonProps: {
104
- type: import("vue").PropType<import("..").ButtonProps>;
104
+ type: import("vue").PropType<import("../index.ts").ButtonProps>;
105
105
  };
106
106
  cancelButtonProps: {
107
- type: import("vue").PropType<import("..").ButtonProps>;
107
+ type: import("vue").PropType<import("../index.ts").ButtonProps>;
108
108
  };
109
109
  contentClass: {
110
110
  type: import("vue").PropType<import("../_utils/types").ClassName>;
@@ -145,7 +145,7 @@ declare const Popconfirm: {
145
145
  } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
146
146
  content: StringConstructor;
147
147
  position: {
148
- type: import("vue").PropType<import("..").TriggerPosition>;
148
+ type: import("vue").PropType<import("../index.ts").TriggerPosition>;
149
149
  default: string;
150
150
  };
151
151
  popupVisible: {
@@ -157,7 +157,7 @@ declare const Popconfirm: {
157
157
  default: boolean;
158
158
  };
159
159
  type: {
160
- type: import("vue").PropType<import("..").MessageType>;
160
+ type: import("vue").PropType<import("../index.ts").MessageType>;
161
161
  default: string;
162
162
  };
163
163
  okText: StringConstructor;
@@ -167,10 +167,10 @@ declare const Popconfirm: {
167
167
  default: boolean;
168
168
  };
169
169
  okButtonProps: {
170
- type: import("vue").PropType<import("..").ButtonProps>;
170
+ type: import("vue").PropType<import("../index.ts").ButtonProps>;
171
171
  };
172
172
  cancelButtonProps: {
173
- type: import("vue").PropType<import("..").ButtonProps>;
173
+ type: import("vue").PropType<import("../index.ts").ButtonProps>;
174
174
  };
175
175
  contentClass: {
176
176
  type: import("vue").PropType<import("../_utils/types").ClassName>;