@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
@@ -0,0 +1,27 @@
1
+ export type BorderBeamSize = 'sm' | 'md' | 'line' | 'pulse-outside' | 'pulse-inner';
2
+ export type BorderBeamTheme = 'dark' | 'light' | 'auto';
3
+ export type BorderBeamColorVariant = 'colorful' | 'mono' | 'ocean' | 'sunset';
4
+ export type BorderBeamFlowPreset = 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'center';
5
+ export interface BorderBeamFlowPoint {
6
+ x: number;
7
+ y: number;
8
+ }
9
+ export type BorderBeamFlowCoordinate = BorderBeamFlowPreset | BorderBeamFlowPoint;
10
+ export interface BorderBeamExposed {
11
+ flowFrom: (coordinate?: BorderBeamFlowCoordinate) => void;
12
+ }
13
+ export interface SizeConfig {
14
+ borderRadius: number;
15
+ borderWidth: number;
16
+ width?: number;
17
+ height?: number;
18
+ }
19
+ export interface ThemeColors {
20
+ strokeOpacity: number;
21
+ innerOpacity: number;
22
+ bloomOpacity: number;
23
+ innerShadow: string;
24
+ saturation: number;
25
+ brightness?: number;
26
+ hairlineOpacity?: number;
27
+ }
@@ -1,15 +1,19 @@
1
1
  import type { PropType } from 'vue';
2
2
  import { Status, Size, BorderShape } from '../_utils/constant';
3
3
  import { ButtonTypes } from './constants';
4
- declare var __VLS_6: {}, __VLS_8: {}, __VLS_15: {}, __VLS_17: {};
4
+ declare var __VLS_6: {}, __VLS_8: {}, __VLS_10: {}, __VLS_17: {}, __VLS_19: {}, __VLS_21: {};
5
5
  type __VLS_Slots = {} & {
6
6
  icon?: (props: typeof __VLS_6) => any;
7
7
  } & {
8
8
  default?: (props: typeof __VLS_8) => any;
9
9
  } & {
10
- icon?: (props: typeof __VLS_15) => any;
10
+ default?: (props: typeof __VLS_10) => any;
11
11
  } & {
12
- default?: (props: typeof __VLS_17) => any;
12
+ icon?: (props: typeof __VLS_17) => any;
13
+ } & {
14
+ default?: (props: typeof __VLS_19) => any;
15
+ } & {
16
+ default?: (props: typeof __VLS_21) => any;
13
17
  };
14
18
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
15
19
  type: {
@@ -32,6 +36,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
32
36
  type: BooleanConstructor;
33
37
  default: boolean;
34
38
  };
39
+ loadingFixedWidth: {
40
+ type: BooleanConstructor;
41
+ default: boolean;
42
+ };
35
43
  disabled: {
36
44
  type: BooleanConstructor;
37
45
  };
@@ -67,6 +75,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
67
75
  type: BooleanConstructor;
68
76
  default: boolean;
69
77
  };
78
+ loadingFixedWidth: {
79
+ type: BooleanConstructor;
80
+ default: boolean;
81
+ };
70
82
  disabled: {
71
83
  type: BooleanConstructor;
72
84
  };
@@ -86,6 +98,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
86
98
  disabled: boolean;
87
99
  loading: boolean;
88
100
  long: boolean;
101
+ loadingFixedWidth: boolean;
89
102
  htmlType: "reset" | "submit" | "button";
90
103
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
91
104
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,18 +1,21 @@
1
1
  import { useFormItem } from "../_hooks/use-form-item.js";
2
+ import { configProviderInjectionKey } from "../config-provider/context.js";
2
3
  import { _objectSpread2 } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/objectSpread2.js";
3
4
  import { getPrefixCls } from "../_utils/global-config.js";
4
5
  import { isString } from "../_utils/is.js";
5
6
  import IconLoading from "../icon/icon-loading/index.js";
6
7
  import { useSize } from "../_hooks/use-size.js";
7
8
  import { buttonGroupInjectionKey } from "./context.js";
8
- import { computed, createBlock, createCommentVNode, createElementBlock, defineComponent, inject, normalizeClass, openBlock, renderSlot, toRefs, unref } from "vue";
9
+ import { computed, createBlock, createCommentVNode, createElementBlock, defineComponent, inject, normalizeClass, onMounted, onUpdated, openBlock, ref, renderSlot, toRefs, unref } from "vue";
9
10
  //#region components/button/button.vue?vue&type=script&setup=true&lang.ts
10
11
  var _hoisted_1 = ["href"];
11
- var _hoisted_2 = [
12
+ var _hoisted_2 = { key: 2 };
13
+ var _hoisted_3 = [
12
14
  "type",
13
15
  "disabled",
14
16
  "autofocus"
15
17
  ];
18
+ var _hoisted_4 = { key: 2 };
16
19
  var button_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "Button" }), {}, {
17
20
  __name: "button",
18
21
  props: {
@@ -58,6 +61,14 @@ var button_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
58
61
  default: false
59
62
  },
60
63
  /**
64
+ * @zh 当 loading 的时候,不改变按钮的宽度。
65
+ * @en The width of the button remains unchanged on loading.
66
+ */
67
+ loadingFixedWidth: {
68
+ type: Boolean,
69
+ default: false
70
+ },
71
+ /**
61
72
  * @zh 按钮是否禁用
62
73
  * @en Whether the button is disabled
63
74
  * @defaultValue false
@@ -87,10 +98,7 @@ var button_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
87
98
  },
88
99
  emits: ["click"],
89
100
  setup(__props, { emit: __emit }) {
90
- /**
91
- * @todo 添加loadingFixedWidth
92
- * @todo 添加twoChineseChars
93
- */
101
+ const regexTwoCNChar = /^[一-龥]{2}$/;
94
102
  const props = __props;
95
103
  const emit = __emit;
96
104
  /**
@@ -100,7 +108,9 @@ var button_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
100
108
  */
101
109
  const { size, disabled } = toRefs(props);
102
110
  const prefixCls = getPrefixCls("btn");
111
+ const configContext = inject(configProviderInjectionKey, void 0);
103
112
  const groupContext = inject(buttonGroupInjectionKey, void 0);
113
+ const autoInsertSpaceInButton = computed(() => Boolean(configContext === null || configContext === void 0 ? void 0 : configContext.autoInsertSpaceInButton));
104
114
  const { mergedSize: _mergedSize, mergedDisabled } = useFormItem({
105
115
  size: computed(() => {
106
116
  var _size$value;
@@ -109,6 +119,20 @@ var button_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
109
119
  disabled: computed(() => Boolean(disabled.value || (groupContext === null || groupContext === void 0 ? void 0 : groupContext.disabled)))
110
120
  });
111
121
  const { mergedSize } = useSize(_mergedSize);
122
+ const buttonRef = ref();
123
+ const isTwoCNChar = ref(false);
124
+ const updateIsTwoCNChar = () => {
125
+ var _buttonRef$value$text, _buttonRef$value;
126
+ if (!autoInsertSpaceInButton.value) {
127
+ if (isTwoCNChar.value) isTwoCNChar.value = false;
128
+ return;
129
+ }
130
+ const textContent = (_buttonRef$value$text = (_buttonRef$value = buttonRef.value) === null || _buttonRef$value === void 0 || (_buttonRef$value = _buttonRef$value.textContent) === null || _buttonRef$value === void 0 ? void 0 : _buttonRef$value.replace(/\s/g, "")) !== null && _buttonRef$value$text !== void 0 ? _buttonRef$value$text : "";
131
+ const value = regexTwoCNChar.test(textContent);
132
+ if (value !== isTwoCNChar.value) isTwoCNChar.value = value;
133
+ };
134
+ onMounted(updateIsTwoCNChar);
135
+ onUpdated(updateIsTwoCNChar);
112
136
  const cls = computed(() => {
113
137
  var _ref, _props$type, _ref2, _props$shape, _ref3, _props$status;
114
138
  return [
@@ -120,8 +144,10 @@ var button_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
120
144
  {
121
145
  [`${prefixCls}-long`]: props.long,
122
146
  [`${prefixCls}-loading`]: props.loading,
147
+ [`${prefixCls}-loading-fixed-width`]: props.loadingFixedWidth,
123
148
  [`${prefixCls}-disabled`]: mergedDisabled.value,
124
- [`${prefixCls}-link`]: isString(props.href)
149
+ [`${prefixCls}-link`]: isString(props.href),
150
+ [`${prefixCls}-two-chinese-chars`]: autoInsertSpaceInButton.value && isTwoCNChar.value
125
151
  }
126
152
  ];
127
153
  });
@@ -135,6 +161,8 @@ var button_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
135
161
  return (_ctx, _cache) => {
136
162
  return __props.href ? (openBlock(), createElementBlock("a", {
137
163
  key: 0,
164
+ ref_key: "buttonRef",
165
+ ref: buttonRef,
138
166
  class: normalizeClass([cls.value, { [`${unref(prefixCls)}-only-icon`]: _ctx.$slots.icon && !_ctx.$slots.default }]),
139
167
  href: unref(mergedDisabled) || __props.loading ? void 0 : __props.href,
140
168
  onClick: handleClick
@@ -144,8 +172,10 @@ var button_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
144
172
  }, [__props.loading ? (openBlock(), createBlock(unref(IconLoading), {
145
173
  key: 0,
146
174
  spin: ""
147
- })) : renderSlot(_ctx.$slots, "icon", { key: 1 })], 2)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")], 10, _hoisted_1)) : (openBlock(), createElementBlock("button", {
175
+ })) : renderSlot(_ctx.$slots, "icon", { key: 1 })], 2)) : createCommentVNode("", true), !isTwoCNChar.value ? renderSlot(_ctx.$slots, "default", { key: 1 }) : (openBlock(), createElementBlock("span", _hoisted_2, [renderSlot(_ctx.$slots, "default")]))], 10, _hoisted_1)) : (openBlock(), createElementBlock("button", {
148
176
  key: 1,
177
+ ref_key: "buttonRef",
178
+ ref: buttonRef,
149
179
  class: normalizeClass([cls.value, { [`${unref(prefixCls)}-only-icon`]: _ctx.$slots.icon && !_ctx.$slots.default }]),
150
180
  type: __props.htmlType,
151
181
  disabled: unref(mergedDisabled),
@@ -157,7 +187,7 @@ var button_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
157
187
  }, [__props.loading ? (openBlock(), createBlock(unref(IconLoading), {
158
188
  key: 0,
159
189
  spin: true
160
- })) : renderSlot(_ctx.$slots, "icon", { key: 1 })], 2)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")], 10, _hoisted_2));
190
+ })) : renderSlot(_ctx.$slots, "icon", { key: 1 })], 2)) : createCommentVNode("", true), !isTwoCNChar.value ? renderSlot(_ctx.$slots, "default", { key: 1 }) : (openBlock(), createElementBlock("span", _hoisted_4, [renderSlot(_ctx.$slots, "default")]))], 10, _hoisted_3));
161
191
  };
162
192
  }
163
193
  }));
@@ -5,16 +5,16 @@ import _Button from './button.vue';
5
5
  declare const Button: {
6
6
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
7
7
  type: {
8
- type: import("vue").PropType<import("./constants").ButtonTypes>;
8
+ type: import("vue").PropType<import("./constants.ts").ButtonTypes>;
9
9
  };
10
10
  shape: {
11
- type: import("vue").PropType<import("../_utils/constant").BorderShape>;
11
+ type: import("vue").PropType<import("../_utils/constant.ts").BorderShape>;
12
12
  };
13
13
  status: {
14
- type: import("vue").PropType<import("..").Status>;
14
+ type: import("vue").PropType<import("../index.ts").Status>;
15
15
  };
16
16
  size: {
17
- type: import("vue").PropType<import("..").Size>;
17
+ type: import("vue").PropType<import("../index.ts").Size>;
18
18
  };
19
19
  long: {
20
20
  type: BooleanConstructor;
@@ -24,6 +24,10 @@ declare const Button: {
24
24
  type: BooleanConstructor;
25
25
  default: boolean;
26
26
  };
27
+ loadingFixedWidth: {
28
+ type: BooleanConstructor;
29
+ default: boolean;
30
+ };
27
31
  disabled: {
28
32
  type: BooleanConstructor;
29
33
  };
@@ -45,6 +49,7 @@ declare const Button: {
45
49
  disabled: boolean;
46
50
  loading: boolean;
47
51
  long: boolean;
52
+ loadingFixedWidth: boolean;
48
53
  htmlType: "reset" | "submit" | "button";
49
54
  }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
50
55
  P: {};
@@ -55,16 +60,16 @@ declare const Button: {
55
60
  Defaults: {};
56
61
  }, Readonly<import("vue").ExtractPropTypes<{
57
62
  type: {
58
- type: import("vue").PropType<import("./constants").ButtonTypes>;
63
+ type: import("vue").PropType<import("./constants.ts").ButtonTypes>;
59
64
  };
60
65
  shape: {
61
- type: import("vue").PropType<import("../_utils/constant").BorderShape>;
66
+ type: import("vue").PropType<import("../_utils/constant.ts").BorderShape>;
62
67
  };
63
68
  status: {
64
- type: import("vue").PropType<import("..").Status>;
69
+ type: import("vue").PropType<import("../index.ts").Status>;
65
70
  };
66
71
  size: {
67
- type: import("vue").PropType<import("..").Size>;
72
+ type: import("vue").PropType<import("../index.ts").Size>;
68
73
  };
69
74
  long: {
70
75
  type: BooleanConstructor;
@@ -74,6 +79,10 @@ declare const Button: {
74
79
  type: BooleanConstructor;
75
80
  default: boolean;
76
81
  };
82
+ loadingFixedWidth: {
83
+ type: BooleanConstructor;
84
+ default: boolean;
85
+ };
77
86
  disabled: {
78
87
  type: BooleanConstructor;
79
88
  };
@@ -93,6 +102,7 @@ declare const Button: {
93
102
  disabled: boolean;
94
103
  loading: boolean;
95
104
  long: boolean;
105
+ loadingFixedWidth: boolean;
96
106
  htmlType: "reset" | "submit" | "button";
97
107
  }>;
98
108
  __isFragment?: never;
@@ -100,16 +110,16 @@ declare const Button: {
100
110
  __isSuspense?: never;
101
111
  } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
102
112
  type: {
103
- type: import("vue").PropType<import("./constants").ButtonTypes>;
113
+ type: import("vue").PropType<import("./constants.ts").ButtonTypes>;
104
114
  };
105
115
  shape: {
106
- type: import("vue").PropType<import("../_utils/constant").BorderShape>;
116
+ type: import("vue").PropType<import("../_utils/constant.ts").BorderShape>;
107
117
  };
108
118
  status: {
109
- type: import("vue").PropType<import("..").Status>;
119
+ type: import("vue").PropType<import("../index.ts").Status>;
110
120
  };
111
121
  size: {
112
- type: import("vue").PropType<import("..").Size>;
122
+ type: import("vue").PropType<import("../index.ts").Size>;
113
123
  };
114
124
  long: {
115
125
  type: BooleanConstructor;
@@ -119,6 +129,10 @@ declare const Button: {
119
129
  type: BooleanConstructor;
120
130
  default: boolean;
121
131
  };
132
+ loadingFixedWidth: {
133
+ type: BooleanConstructor;
134
+ default: boolean;
135
+ };
122
136
  disabled: {
123
137
  type: BooleanConstructor;
124
138
  };
@@ -140,31 +154,36 @@ declare const Button: {
140
154
  disabled: boolean;
141
155
  loading: boolean;
142
156
  long: boolean;
157
+ loadingFixedWidth: boolean;
143
158
  htmlType: "reset" | "submit" | "button";
144
159
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
145
160
  $slots: {
146
161
  icon?: (props: {}) => any;
147
162
  } & {
148
163
  default?: (props: {}) => any;
164
+ } & {
165
+ default?: (props: {}) => any;
149
166
  } & {
150
167
  icon?: (props: {}) => any;
151
168
  } & {
152
169
  default?: (props: {}) => any;
170
+ } & {
171
+ default?: (props: {}) => any;
153
172
  };
154
173
  }) & {
155
174
  Group: {
156
175
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
157
176
  type: {
158
- type: import("vue").PropType<import("./constants").ButtonTypes>;
177
+ type: import("vue").PropType<import("./constants.ts").ButtonTypes>;
159
178
  };
160
179
  status: {
161
- type: import("vue").PropType<import("..").Status>;
180
+ type: import("vue").PropType<import("../index.ts").Status>;
162
181
  };
163
182
  shape: {
164
- type: import("vue").PropType<import("../_utils/constant").BorderShape>;
183
+ type: import("vue").PropType<import("../_utils/constant.ts").BorderShape>;
165
184
  };
166
185
  size: {
167
- type: import("vue").PropType<import("..").Size>;
186
+ type: import("vue").PropType<import("../index.ts").Size>;
168
187
  };
169
188
  disabled: {
170
189
  type: BooleanConstructor;
@@ -180,16 +199,16 @@ declare const Button: {
180
199
  Defaults: {};
181
200
  }, Readonly<import("vue").ExtractPropTypes<{
182
201
  type: {
183
- type: import("vue").PropType<import("./constants").ButtonTypes>;
202
+ type: import("vue").PropType<import("./constants.ts").ButtonTypes>;
184
203
  };
185
204
  status: {
186
- type: import("vue").PropType<import("..").Status>;
205
+ type: import("vue").PropType<import("../index.ts").Status>;
187
206
  };
188
207
  shape: {
189
- type: import("vue").PropType<import("../_utils/constant").BorderShape>;
208
+ type: import("vue").PropType<import("../_utils/constant.ts").BorderShape>;
190
209
  };
191
210
  size: {
192
- type: import("vue").PropType<import("..").Size>;
211
+ type: import("vue").PropType<import("../index.ts").Size>;
193
212
  };
194
213
  disabled: {
195
214
  type: BooleanConstructor;
@@ -202,16 +221,16 @@ declare const Button: {
202
221
  __isSuspense?: never;
203
222
  } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
204
223
  type: {
205
- type: import("vue").PropType<import("./constants").ButtonTypes>;
224
+ type: import("vue").PropType<import("./constants.ts").ButtonTypes>;
206
225
  };
207
226
  status: {
208
- type: import("vue").PropType<import("..").Status>;
227
+ type: import("vue").PropType<import("../index.ts").Status>;
209
228
  };
210
229
  shape: {
211
- type: import("vue").PropType<import("../_utils/constant").BorderShape>;
230
+ type: import("vue").PropType<import("../_utils/constant.ts").BorderShape>;
212
231
  };
213
232
  size: {
214
- type: import("vue").PropType<import("..").Size>;
233
+ type: import("vue").PropType<import("../index.ts").Size>;
215
234
  };
216
235
  disabled: {
217
236
  type: BooleanConstructor;
@@ -7,6 +7,7 @@ export interface ButtonProps {
7
7
  size?: Size;
8
8
  long?: boolean;
9
9
  loading?: boolean;
10
+ loadingFixedWidth?: boolean;
10
11
  disabled?: boolean;
11
12
  htmlType?: 'button' | 'submit' | 'reset';
12
13
  autofocus?: boolean;
@@ -70,15 +70,15 @@ declare var __VLS_1: {
70
70
  view: Record<string, any>;
71
71
  schedule: any;
72
72
  events: any;
73
- }, __VLS_31: {
73
+ }, __VLS_30: {
74
74
  event: Record<string, any>;
75
- }, __VLS_35: `event.${any}`, __VLS_36: {
75
+ }, __VLS_34: `event.${any}`, __VLS_35: {
76
76
  event: Record<string, any>;
77
- }, __VLS_39: {
77
+ }, __VLS_38: {
78
78
  event: Record<string, any>;
79
- }, __VLS_42: {
79
+ }, __VLS_41: {
80
80
  event: Record<string, any>;
81
- }, __VLS_44: {
81
+ }, __VLS_43: {
82
82
  cell: {
83
83
  goNarrower: () => any;
84
84
  goBroader: () => any;
@@ -92,7 +92,7 @@ declare var __VLS_1: {
92
92
  content: any;
93
93
  };
94
94
  view: Record<string, any>;
95
- }, __VLS_46: {
95
+ }, __VLS_45: {
96
96
  cell: {
97
97
  goNarrower: () => any;
98
98
  goBroader: () => any;
@@ -106,7 +106,7 @@ declare var __VLS_1: {
106
106
  content: any;
107
107
  };
108
108
  view: Record<string, any>;
109
- }, __VLS_48: {
109
+ }, __VLS_47: {
110
110
  cell: {
111
111
  goNarrower: () => any;
112
112
  goBroader: () => any;
@@ -120,24 +120,24 @@ declare var __VLS_1: {
120
120
  content: any;
121
121
  };
122
122
  view: Record<string, any>;
123
- }, __VLS_68: {
123
+ }, __VLS_66: {
124
124
  event: Record<string, any>;
125
- }, __VLS_72: `event.${any}`, __VLS_73: {
125
+ }, __VLS_70: `event.${any}`, __VLS_71: {
126
126
  event: Record<string, any>;
127
- }, __VLS_76: {
127
+ }, __VLS_74: {
128
128
  event: Record<string, any>;
129
- }, __VLS_79: {
129
+ }, __VLS_77: {
130
130
  event: Record<string, any>;
131
- }, __VLS_81: {
131
+ }, __VLS_79: {
132
132
  events: any;
133
- }, __VLS_83: {
133
+ }, __VLS_81: {
134
134
  now: any;
135
135
  timeFormatted: any;
136
136
  };
137
137
  type __VLS_Slots = {} & {
138
- [K in NonNullable<typeof __VLS_35>]?: (props: typeof __VLS_36) => any;
138
+ [K in NonNullable<typeof __VLS_34>]?: (props: typeof __VLS_35) => any;
139
139
  } & {
140
- [K in NonNullable<typeof __VLS_72>]?: (props: typeof __VLS_73) => any;
140
+ [K in NonNullable<typeof __VLS_70>]?: (props: typeof __VLS_71) => any;
141
141
  } & {
142
142
  cell?: (props: typeof __VLS_1) => any;
143
143
  } & {
@@ -151,27 +151,27 @@ type __VLS_Slots = {} & {
151
151
  } & {
152
152
  'cell-events'?: (props: typeof __VLS_11) => any;
153
153
  } & {
154
- 'event.all-day'?: (props: typeof __VLS_31) => any;
154
+ 'event.all-day'?: (props: typeof __VLS_30) => any;
155
155
  } & {
156
- event?: (props: typeof __VLS_39) => any;
156
+ event?: (props: typeof __VLS_38) => any;
157
157
  } & {
158
- 'event-content'?: (props: typeof __VLS_42) => any;
158
+ 'event-content'?: (props: typeof __VLS_41) => any;
159
159
  } & {
160
- 'cell-date'?: (props: typeof __VLS_44) => any;
160
+ 'cell-date'?: (props: typeof __VLS_43) => any;
161
161
  } & {
162
- 'cell-content'?: (props: typeof __VLS_46) => any;
162
+ 'cell-content'?: (props: typeof __VLS_45) => any;
163
163
  } & {
164
- 'cell-events'?: (props: typeof __VLS_48) => any;
164
+ 'cell-events'?: (props: typeof __VLS_47) => any;
165
165
  } & {
166
- 'event.all-day'?: (props: typeof __VLS_68) => any;
166
+ 'event.all-day'?: (props: typeof __VLS_66) => any;
167
167
  } & {
168
- event?: (props: typeof __VLS_76) => any;
168
+ event?: (props: typeof __VLS_74) => any;
169
169
  } & {
170
- 'event-content'?: (props: typeof __VLS_79) => any;
170
+ 'event-content'?: (props: typeof __VLS_77) => any;
171
171
  } & {
172
- 'event-count'?: (props: typeof __VLS_81) => any;
172
+ 'event-count'?: (props: typeof __VLS_79) => any;
173
173
  } & {
174
- 'now-line'?: (props: typeof __VLS_83) => any;
174
+ 'now-line'?: (props: typeof __VLS_81) => any;
175
175
  };
176
176
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
177
177
  start: {
@@ -570,6 +570,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
570
570
  sm: boolean;
571
571
  xs: boolean;
572
572
  datePicker: boolean;
573
+ theme: string | boolean;
573
574
  editableEvents: boolean | Record<string, any>;
574
575
  timeFrom: number;
575
576
  timeTo: number;
@@ -596,7 +597,6 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
596
597
  multidayEvents: boolean;
597
598
  snapToInterval: number;
598
599
  startWeekOnSunday: boolean;
599
- theme: string | boolean;
600
600
  timeFormat: string;
601
601
  titleBar: boolean;
602
602
  todayButton: boolean;
@@ -2,10 +2,10 @@ import { _objectSpread2 } from "../../_virtual/_@oxc-project_runtime@0.133.0/hel
2
2
  import { getPrefixCls } from "../../_utils/global-config.js";
3
3
  import { _asyncToGenerator } from "../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/asyncToGenerator.js";
4
4
  import Scrollbar from "../../scrollbar/index.js";
5
+ import { useThemeMode } from "../../_hooks/use-theme-mode.js";
5
6
  import { calendarElInjectionKey, calendarInjectionKey } from "../context.js";
6
7
  import { useCalendar } from "../core/index.js";
7
8
  import { props } from "../core/props-definitions.js";
8
- import { useCalendarTheme } from "../hooks/use-calendar-theme.js";
9
9
  import body_default from "./body.js";
10
10
  import header_default from "./header.js";
11
11
  import headings_bar_default from "./headings-bar.js";
@@ -45,7 +45,8 @@ var index_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
45
45
  prefixCls
46
46
  });
47
47
  const { config, view, dateUtils, touch: touchState } = calendar;
48
- const { isDark } = useCalendarTheme(calendarEl);
48
+ const themeMode = useThemeMode(calendarEl);
49
+ const isDark = computed(() => themeMode.value === "dark");
49
50
  const syncCalendarPrefixedClasses = (rootEl) => {
50
51
  if (!rootEl) return;
51
52
  const matchCalendarPrefix = (cls) => {
@@ -213,6 +213,7 @@ declare const Calendar: {
213
213
  sm: boolean;
214
214
  xs: boolean;
215
215
  datePicker: boolean;
216
+ theme: string | boolean;
216
217
  editableEvents: boolean | Record<string, any>;
217
218
  timeFrom: number;
218
219
  timeTo: number;
@@ -239,7 +240,6 @@ declare const Calendar: {
239
240
  multidayEvents: boolean;
240
241
  snapToInterval: number;
241
242
  startWeekOnSunday: boolean;
242
- theme: string | boolean;
243
243
  timeFormat: string;
244
244
  titleBar: boolean;
245
245
  todayButton: boolean;
@@ -454,6 +454,7 @@ declare const Calendar: {
454
454
  sm: boolean;
455
455
  xs: boolean;
456
456
  datePicker: boolean;
457
+ theme: string | boolean;
457
458
  editableEvents: boolean | Record<string, any>;
458
459
  timeFrom: number;
459
460
  timeTo: number;
@@ -480,7 +481,6 @@ declare const Calendar: {
480
481
  multidayEvents: boolean;
481
482
  snapToInterval: number;
482
483
  startWeekOnSunday: boolean;
483
- theme: string | boolean;
484
484
  timeFormat: string;
485
485
  titleBar: boolean;
486
486
  todayButton: boolean;
@@ -704,6 +704,7 @@ declare const Calendar: {
704
704
  sm: boolean;
705
705
  xs: boolean;
706
706
  datePicker: boolean;
707
+ theme: string | boolean;
707
708
  editableEvents: boolean | Record<string, any>;
708
709
  timeFrom: number;
709
710
  timeTo: number;
@@ -730,7 +731,6 @@ declare const Calendar: {
730
731
  multidayEvents: boolean;
731
732
  snapToInterval: number;
732
733
  startWeekOnSunday: boolean;
733
- theme: string | boolean;
734
734
  timeFormat: string;
735
735
  titleBar: boolean;
736
736
  todayButton: boolean;
@@ -746,13 +746,13 @@ declare const Calendar: {
746
746
  }) => any) | undefined;
747
747
  } & {
748
748
  diy?: (props: {
749
- calendar: import("./context").CalendarState;
749
+ calendar: import("./context.ts").CalendarState;
750
750
  }) => any;
751
751
  } & {
752
752
  header?: (props: {
753
753
  view: Record<string, any>;
754
754
  availableViews: any;
755
- calendar: import("./context").CalendarState;
755
+ calendar: import("./context.ts").CalendarState;
756
756
  }) => any;
757
757
  } & {
758
758
  'previous-button'?: (props: {}) => any;
@@ -29,7 +29,7 @@ declare const Carousel: {
29
29
  default: string;
30
30
  };
31
31
  direction: {
32
- type: import("vue").PropType<import("..").Direction>;
32
+ type: import("vue").PropType<import("../index.ts").Direction>;
33
33
  default: string;
34
34
  };
35
35
  showArrow: {
@@ -107,7 +107,7 @@ declare const Carousel: {
107
107
  default: string;
108
108
  };
109
109
  direction: {
110
- type: import("vue").PropType<import("..").Direction>;
110
+ type: import("vue").PropType<import("../index.ts").Direction>;
111
111
  default: string;
112
112
  };
113
113
  showArrow: {
@@ -179,7 +179,7 @@ declare const Carousel: {
179
179
  default: string;
180
180
  };
181
181
  direction: {
182
- type: import("vue").PropType<import("..").Direction>;
182
+ type: import("vue").PropType<import("../index.ts").Direction>;
183
183
  default: string;
184
184
  };
185
185
  showArrow: {