@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
@@ -38,7 +38,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
38
38
  default: () => never[];
39
39
  };
40
40
  inputValue: {
41
- type: PropType<string[]>;
41
+ type: PropType<(string | undefined)[]>;
42
42
  };
43
43
  value: {
44
44
  type: PropType<(Dayjs | undefined)[]>;
@@ -85,7 +85,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
85
85
  default: () => never[];
86
86
  };
87
87
  inputValue: {
88
- type: PropType<string[]>;
88
+ type: PropType<(string | undefined)[]>;
89
89
  };
90
90
  value: {
91
91
  type: PropType<(Dayjs | undefined)[]>;
@@ -1,6 +1,6 @@
1
- declare var __VLS_14: {};
1
+ declare var __VLS_9: {};
2
2
  type __VLS_Slots = {} & {
3
- default?: (props: typeof __VLS_14) => any;
3
+ default?: (props: typeof __VLS_9) => any;
4
4
  };
5
5
  declare const __VLS_base: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
6
6
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -1,3 +1,3 @@
1
1
  import { Ref } from 'vue';
2
- import { Breakpoint } from '../_utils/responsive-observe';
3
- export declare function useResponsive(breakpoint: Breakpoint | undefined | Ref<Breakpoint | undefined>, callback: (checked: boolean) => void): void;
2
+ import { SiderBreakpoint } from '../_utils/responsive-observe';
3
+ export declare function useResponsive(breakpoint: SiderBreakpoint | undefined | Ref<SiderBreakpoint | undefined>, callback: (checked: boolean) => void): void;
@@ -0,0 +1,3 @@
1
+ import { type Ref } from 'vue';
2
+ export type ThemeMode = 'light' | 'dark';
3
+ export declare function useThemeMode(target: Ref<HTMLElement | null>): Ref<ThemeMode>;
@@ -1,21 +1,25 @@
1
- import { useMutationObserver } from "../../watermark/hooks/use-mutation-observer.js";
1
+ import { useMutationObserver } from "../watermark/hooks/use-mutation-observer.js";
2
2
  import { ref, watch } from "vue";
3
- //#region components/calendar/hooks/use-calendar-theme.ts
3
+ //#region components/_hooks/use-theme-mode.ts
4
4
  var THEME_ATTR = "sd-theme";
5
5
  /**
6
- * Detects the current theme mode from the nearest ancestor with `[sd-theme]` attribute.
6
+ * Detects the current theme mode from the nearest ancestor with `[sd-theme]`
7
+ * attribute (set by ConfigProvider / ThemeProvider via the `themeMode` prop).
7
8
  * Reactively updates when ThemeProvider changes the attribute.
9
+ *
10
+ * Returns `'light'` when no `[sd-theme]` ancestor is present, matching the
11
+ * default theme mode of ConfigProvider.
8
12
  */
9
- function useCalendarTheme(calendarEl) {
10
- const isDark = ref(false);
13
+ function useThemeMode(target) {
14
+ const themeMode = ref("light");
11
15
  const resolveTheme = () => {
12
16
  if (typeof document === "undefined") return;
13
- const el = calendarEl.value;
17
+ const el = target.value;
14
18
  if (!el) return;
15
19
  const ancestor = el.closest(`[${THEME_ATTR}]`);
16
- isDark.value = (ancestor === null || ancestor === void 0 ? void 0 : ancestor.getAttribute(THEME_ATTR)) === "dark";
20
+ themeMode.value = (ancestor === null || ancestor === void 0 ? void 0 : ancestor.getAttribute(THEME_ATTR)) === "dark" ? "dark" : "light";
17
21
  };
18
- watch(() => calendarEl.value, resolveTheme, { immediate: true });
22
+ watch(target, resolveTheme, { immediate: true });
19
23
  useMutationObserver(typeof document !== "undefined" ? document.body : void 0, (mutations) => {
20
24
  for (const mutation of mutations) if (mutation.type === "attributes" && mutation.attributeName === THEME_ATTR) {
21
25
  resolveTheme();
@@ -26,7 +30,7 @@ function useCalendarTheme(calendarEl) {
26
30
  attributeFilter: [THEME_ATTR],
27
31
  subtree: true
28
32
  });
29
- return { isDark };
33
+ return themeMode;
30
34
  }
31
35
  //#endregion
32
- export { useCalendarTheme };
36
+ export { useThemeMode };
@@ -9,17 +9,18 @@ export declare const methods: {
9
9
  set(time: Dayjs, unit: UnitType, value: number): originDayjs.Dayjs;
10
10
  isSameWeek(date1: Dayjs, date2: Dayjs, weekStart: number): boolean;
11
11
  };
12
- export declare function getNow(): originDayjs.Dayjs;
13
- export declare function getSortedDayjsArray(values: Dayjs[]): originDayjs.Dayjs[];
12
+ export declare function getNow(utcOffset?: number, timezone?: string): originDayjs.Dayjs;
13
+ export declare function toLocal(date: Dayjs, utcOffset?: number, timezone?: string): Dayjs;
14
+ export declare function getSortedDayjsArray(values: Dayjs[], _fixedTime?: boolean): originDayjs.Dayjs[];
14
15
  export declare function isValueChange(prevValue: Dayjs | (Dayjs | undefined)[] | undefined, currentValue: Dayjs | (Dayjs | undefined)[] | undefined): boolean;
15
16
  type DateValue = Date | string | number;
16
- export declare function getDayjsValue(time: DateValue, format: string): Dayjs;
17
- export declare function getDayjsValue(time: DateValue | undefined, format: string): Dayjs | undefined;
18
- export declare function getDayjsValue(time: DateValue[], format: string): Dayjs[];
19
- export declare function getDayjsValue(time: DateValue[] | undefined, format: string): Dayjs[] | undefined;
20
- export declare function getDayjsValue(time: (DateValue | undefined)[], format: string): (Dayjs | undefined)[];
21
- export declare function getDayjsValue(time: (DateValue | undefined)[] | undefined, format: string): (Dayjs | undefined)[] | undefined;
22
- export declare function getDayjsValue(time: DateValue | (DateValue | undefined)[] | undefined, format: string): Dayjs | (Dayjs | undefined)[] | undefined;
17
+ export declare function getDayjsValue(time: DateValue, format: string, utcOffset?: number, timezone?: string): Dayjs;
18
+ export declare function getDayjsValue(time: DateValue | undefined, format: string, utcOffset?: number, timezone?: string): Dayjs | undefined;
19
+ export declare function getDayjsValue(time: DateValue[], format: string, utcOffset?: number, timezone?: string): Dayjs[];
20
+ export declare function getDayjsValue(time: DateValue[] | undefined, format: string, utcOffset?: number, timezone?: string): Dayjs[] | undefined;
21
+ export declare function getDayjsValue(time: (DateValue | undefined)[], format: string, utcOffset?: number, timezone?: string): (Dayjs | undefined)[];
22
+ export declare function getDayjsValue(time: (DateValue | undefined)[] | undefined, format: string, utcOffset?: number, timezone?: string): (Dayjs | undefined)[] | undefined;
23
+ export declare function getDayjsValue(time: DateValue | (DateValue | undefined)[] | undefined, format: string, utcOffset?: number, timezone?: string): Dayjs | (Dayjs | undefined)[] | undefined;
23
24
  export declare function getDateValue(value: Dayjs): Date;
24
25
  export declare function getDateValue(value: Dayjs | undefined): Date | undefined;
25
26
  export declare function getDateValue(value: Dayjs[]): Date[];
package/es/_utils/date.js CHANGED
@@ -6,6 +6,8 @@ import AdvancedFormat from "dayjs/plugin/advancedFormat";
6
6
  import customParseFormat from "dayjs/plugin/customParseFormat";
7
7
  import isBetween from "dayjs/plugin/isBetween";
8
8
  import QuarterOfYear from "dayjs/plugin/quarterOfYear";
9
+ import timezone from "dayjs/plugin/timezone";
10
+ import utc from "dayjs/plugin/utc";
9
11
  import weekOfYear from "dayjs/plugin/weekOfYear";
10
12
  import weekYear from "dayjs/plugin/weekYear";
11
13
  //#region components/_utils/date.ts
@@ -53,6 +55,8 @@ dayjs.extend(weekOfYear);
53
55
  dayjs.extend(AdvancedFormat);
54
56
  dayjs.extend(weekYear);
55
57
  dayjs.extend(QuarterOfYear);
58
+ dayjs.extend(utc);
59
+ dayjs.extend(timezone);
56
60
  var dayjs$1 = dayjs;
57
61
  var DAYJS_LOCALE_MAP = {
58
62
  "ar-eg": "ar",
@@ -111,10 +115,18 @@ var methods = {
111
115
  return getWeek(date1) === getWeek(date2);
112
116
  }
113
117
  };
114
- function getNow() {
115
- return dayjs$1();
118
+ function getNow(utcOffset, timezone) {
119
+ const now = dayjs$1();
120
+ if (utcOffset !== void 0) return now.utcOffset(utcOffset);
121
+ if (timezone) return now.tz(timezone);
122
+ return now;
116
123
  }
117
- function getSortedDayjsArray(values) {
124
+ function toLocal(date, utcOffset, timezone) {
125
+ if (utcOffset !== void 0) return date.utcOffset(utcOffset);
126
+ if (timezone) return date.tz(timezone);
127
+ return date;
128
+ }
129
+ function getSortedDayjsArray(values, _fixedTime) {
118
130
  return [...values].sort((a, b) => a.valueOf() - b.valueOf());
119
131
  }
120
132
  function isValueChange(prevValue, currentValue) {
@@ -128,7 +140,7 @@ function isValueChange(prevValue, currentValue) {
128
140
  if (!isArray(currentValue) && !isArray(prevValue)) return isDifference(currentValue, prevValue);
129
141
  return true;
130
142
  }
131
- function getDayjsValue(time, format) {
143
+ function getDayjsValue(time, format, utcOffset, timezone) {
132
144
  const parseQuarterToMonth = (value) => {
133
145
  const reg = /(Q1)|(Q2)|(Q3)|(Q4)/;
134
146
  const quarter = {
@@ -148,8 +160,12 @@ function getDayjsValue(time, format) {
148
160
  }
149
161
  return dayjs$1(value);
150
162
  };
151
- if (isArray(time)) return time.map(formatValue);
152
- return formatValue(time);
163
+ if (isArray(time)) return time.map((t) => {
164
+ const parsed = formatValue(t);
165
+ return parsed ? toLocal(parsed, utcOffset, timezone) : parsed;
166
+ });
167
+ const parsed = formatValue(time);
168
+ return parsed ? toLocal(parsed, utcOffset, timezone) : parsed;
153
169
  }
154
170
  function getDateValue(value) {
155
171
  const formatValue = (t) => t ? t.toDate() : void 0;
@@ -178,4 +194,4 @@ function _initializeDateLocale() {
178
194
  return _initializeDateLocale.apply(this, arguments);
179
195
  }
180
196
  //#endregion
181
- export { dayjs$1 as dayjs, getDateValue, getDayjsValue, getNow, getSortedDayjsArray, initializeDateLocale, isValueChange, methods };
197
+ export { dayjs$1 as dayjs, getDateValue, getDayjsValue, getNow, getSortedDayjsArray, initializeDateLocale, isValueChange, methods, toLocal };
@@ -1,9 +1,10 @@
1
1
  export type Breakpoint = 'xxl' | 'xl' | 'lg' | 'md' | 'sm' | 'xs';
2
- export type BreakpointMap = Partial<Record<Breakpoint, string>>;
3
- export type ScreenMap = Partial<Record<Breakpoint, boolean>>;
2
+ export type SiderBreakpoint = 'xxxl' | Breakpoint;
3
+ export type BreakpointMap = Partial<Record<SiderBreakpoint, string>>;
4
+ export type ScreenMap = Partial<Record<SiderBreakpoint, boolean>>;
4
5
  export declare const responsiveArray: Breakpoint[];
5
6
  export declare const responsiveMap: BreakpointMap;
6
- type SubscribeFunc = (screens: ScreenMap, breakpointChecked: Breakpoint) => void;
7
+ type SubscribeFunc = (screens: ScreenMap, breakpointChecked: SiderBreakpoint) => void;
7
8
  type MediaQueryResult = {
8
9
  matches: boolean;
9
10
  };
@@ -15,7 +16,7 @@ declare const responsiveObserve: {
15
16
  listener: MediaQueryListener;
16
17
  };
17
18
  };
18
- dispatch(pointMap: ScreenMap, breakpointChecked: Breakpoint): boolean;
19
+ dispatch(pointMap: ScreenMap, breakpointChecked: SiderBreakpoint): boolean;
19
20
  subscribe(func: SubscribeFunc): string;
20
21
  unsubscribe(token: string): void;
21
22
  unregister(): void;
@@ -14,7 +14,8 @@ var responsiveMap = {
14
14
  md: "(min-width: 768px)",
15
15
  lg: "(min-width: 992px)",
16
16
  xl: "(min-width: 1200px)",
17
- xxl: "(min-width: 1600px)"
17
+ xxl: "(min-width: 1600px)",
18
+ xxxl: "(min-width: 1840px)"
18
19
  };
19
20
  var subscribers = [];
20
21
  var subUid = -1;
@@ -4,7 +4,7 @@ import _Alert from './alert.vue';
4
4
  declare const Alert: {
5
5
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
6
6
  type: {
7
- type: import("vue").PropType<import("..").MessageType | "normal">;
7
+ type: import("vue").PropType<import("../index.ts").MessageType | "normal">;
8
8
  default: string;
9
9
  };
10
10
  showIcon: {
@@ -45,7 +45,7 @@ declare const Alert: {
45
45
  Defaults: {};
46
46
  }, Readonly<import("vue").ExtractPropTypes<{
47
47
  type: {
48
- type: import("vue").PropType<import("..").MessageType | "normal">;
48
+ type: import("vue").PropType<import("../index.ts").MessageType | "normal">;
49
49
  default: string;
50
50
  };
51
51
  showIcon: {
@@ -80,7 +80,7 @@ declare const Alert: {
80
80
  __isSuspense?: never;
81
81
  } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
82
82
  type: {
83
- type: import("vue").PropType<import("..").MessageType | "normal">;
83
+ type: import("vue").PropType<import("../index.ts").MessageType | "normal">;
84
84
  default: string;
85
85
  };
86
86
  showIcon: {
@@ -1,8 +1,11 @@
1
+ import type { CSSProperties } from 'vue';
1
2
  import { PropType } from 'vue';
2
3
  import { type BoundaryPosition } from './utils';
3
- declare var __VLS_1: {};
4
+ declare const DIRECTIONS: readonly ["vertical", "horizontal"];
5
+ type Direction = (typeof DIRECTIONS)[number];
6
+ declare var __VLS_8: {};
4
7
  type __VLS_Slots = {} & {
5
- default?: (props: typeof __VLS_1) => any;
8
+ default?: (props: typeof __VLS_8) => any;
6
9
  };
7
10
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
8
11
  boundary: {
@@ -14,6 +17,28 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
14
17
  type: BooleanConstructor;
15
18
  default: boolean;
16
19
  };
20
+ affix: {
21
+ type: BooleanConstructor;
22
+ default: boolean;
23
+ };
24
+ affixStyle: {
25
+ type: PropType<CSSProperties>;
26
+ };
27
+ offsetTop: {
28
+ type: NumberConstructor;
29
+ default: number;
30
+ };
31
+ offsetBottom: {
32
+ type: NumberConstructor;
33
+ };
34
+ direction: {
35
+ type: PropType<Direction>;
36
+ default: string;
37
+ validator: (value: any) => boolean;
38
+ };
39
+ targetOffset: {
40
+ type: NumberConstructor;
41
+ };
17
42
  scrollContainer: {
18
43
  type: PropType<string | HTMLElement | Window>;
19
44
  };
@@ -38,6 +63,28 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
38
63
  type: BooleanConstructor;
39
64
  default: boolean;
40
65
  };
66
+ affix: {
67
+ type: BooleanConstructor;
68
+ default: boolean;
69
+ };
70
+ affixStyle: {
71
+ type: PropType<CSSProperties>;
72
+ };
73
+ offsetTop: {
74
+ type: NumberConstructor;
75
+ default: number;
76
+ };
77
+ offsetBottom: {
78
+ type: NumberConstructor;
79
+ };
80
+ direction: {
81
+ type: PropType<Direction>;
82
+ default: string;
83
+ validator: (value: any) => boolean;
84
+ };
85
+ targetOffset: {
86
+ type: NumberConstructor;
87
+ };
41
88
  scrollContainer: {
42
89
  type: PropType<string | HTMLElement | Window>;
43
90
  };
@@ -53,9 +100,12 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
53
100
  onChange?: ((_hash: string) => any) | undefined;
54
101
  onSelect?: ((_hash: string | undefined, _preHash: string) => any) | undefined;
55
102
  }>, {
103
+ direction: "horizontal" | "vertical";
56
104
  smooth: boolean;
105
+ offsetTop: number;
57
106
  boundary: number | "center" | "end" | "start" | "nearest";
58
107
  lineLess: boolean;
108
+ affix: boolean;
59
109
  changeHash: boolean;
60
110
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
61
111
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -5,7 +5,7 @@ import { getElement, off, on } from "../_utils/dom.js";
5
5
  import { throttleByRaf } from "../_utils/throttle-by-raf.js";
6
6
  import { anchorInjectionKey } from "./context.js";
7
7
  import { BOUNDARY_POSITIONS, slide } from "./utils.js";
8
- import { computed, createCommentVNode, createElementBlock, createElementVNode, defineComponent, nextTick, normalizeClass, onBeforeUnmount, onMounted, openBlock, provide, reactive, ref, renderSlot, unref, watch } from "vue";
8
+ import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, guardReactiveProps, nextTick, normalizeClass, normalizeProps, onBeforeUnmount, onMounted, openBlock, provide, reactive, ref, renderSlot, resolveDynamicComponent, unref, watch, withCtx } from "vue";
9
9
  import { compute } from "compute-scroll-into-view";
10
10
  //#region components/anchor/anchor.vue?vue&type=script&setup=true&lang.ts
11
11
  var anchor_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "Anchor" }), {}, {
@@ -32,6 +32,47 @@ var anchor_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
32
32
  default: false
33
33
  },
34
34
  /**
35
+ * @zh 是否固定
36
+ * @en Whether to wrap anchor within Affix
37
+ */
38
+ affix: {
39
+ type: Boolean,
40
+ default: false
41
+ },
42
+ /**
43
+ * @zh 设置 Affix 组件的样式
44
+ * @en The style to be applied to Affix
45
+ */
46
+ affixStyle: { type: Object },
47
+ /**
48
+ * @zh 距离窗口顶部的偏移量
49
+ * @en Offset from the top of the viewport
50
+ */
51
+ offsetTop: {
52
+ type: Number,
53
+ default: 0
54
+ },
55
+ /**
56
+ * @zh 距离窗口底部的偏移量
57
+ * @en Offset from the bottom of the viewport
58
+ */
59
+ offsetBottom: { type: Number },
60
+ /**
61
+ * @zh 锚点方向
62
+ * @en Direction
63
+ * @values 'vertical', 'horizontal'
64
+ */
65
+ direction: {
66
+ type: String,
67
+ default: "vertical",
68
+ validator: (value) => ["vertical", "horizontal"].includes(value)
69
+ },
70
+ /**
71
+ * @zh 锚点区域边界相对于滚动容器顶部的偏移量。未设置时,默认值为滚动容器高度的一半
72
+ * @en The offset of the baseline relative to the top of the container. The value is half of the height of the scrolling container if not specified
73
+ */
74
+ targetOffset: { type: Number },
75
+ /**
35
76
  * @zh 滚动容器
36
77
  * @en Scroll container
37
78
  */
@@ -82,7 +123,8 @@ var anchor_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
82
123
  };
83
124
  const scrollIntoView = (hash) => {
84
125
  try {
85
- const element = getElement(hash);
126
+ var _getElement;
127
+ const element = (_getElement = getElement(hash, containerEle.value)) !== null && _getElement !== void 0 ? _getElement : getElement(hash);
86
128
  if (!element) return;
87
129
  let block;
88
130
  let diff = 0;
@@ -123,12 +165,14 @@ var anchor_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
123
165
  if (!scrollContainerEle.value || !containerEle.value) return;
124
166
  const boundary = isNumber(props.boundary) ? props.boundary : 0;
125
167
  const containerRect = containerEle.value.getBoundingClientRect();
168
+ const targetOffset = isNumber(props.targetOffset) ? props.targetOffset : containerRect.height / 2;
126
169
  for (const hash of Object.keys(links)) {
127
- const element = getElement(hash);
170
+ var _getElement2;
171
+ const element = (_getElement2 = getElement(hash, containerEle.value)) !== null && _getElement2 !== void 0 ? _getElement2 : getElement(hash);
128
172
  if (element) {
129
173
  const { top } = element.getBoundingClientRect();
130
174
  const offsetTop = isWindow(scrollContainerEle.value) ? top - boundary : top - containerRect.top - boundary;
131
- if (offsetTop >= 0 && offsetTop <= containerRect.height / 2) return element;
175
+ if (offsetTop >= 0 && offsetTop <= targetOffset) return element;
132
176
  }
133
177
  }
134
178
  };
@@ -169,18 +213,34 @@ var anchor_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
169
213
  removeLink,
170
214
  handleClick
171
215
  }));
172
- const cls = computed(() => [prefixCls, { [`${prefixCls}-line-less`]: props.lineLess }]);
216
+ const cls = computed(() => [prefixCls, {
217
+ [`${prefixCls}-line-less`]: props.lineLess,
218
+ [`${prefixCls}-horizontal`]: props.direction === "horizontal"
219
+ }]);
220
+ const wrapperComponent = computed(() => props.affix ? "Affix" : "div");
221
+ const wrapperProps = computed(() => {
222
+ if (!props.affix) return {};
223
+ return {
224
+ offsetTop: props.offsetTop,
225
+ offsetBottom: props.offsetBottom,
226
+ target: props.scrollContainer,
227
+ style: props.affixStyle
228
+ };
229
+ });
173
230
  return (_ctx, _cache) => {
174
- return openBlock(), createElementBlock("div", {
175
- ref_key: "anchorRef",
176
- ref: anchorRef,
177
- class: normalizeClass(cls.value)
178
- }, [!__props.lineLess ? (openBlock(), createElementBlock("div", {
179
- key: 0,
180
- ref_key: "lineSliderRef",
181
- ref: lineSliderRef,
182
- class: normalizeClass(`${unref(prefixCls)}-line-slider`)
183
- }, null, 2)) : createCommentVNode("", true), createElementVNode("ul", { class: normalizeClass(`${unref(prefixCls)}-list`) }, [renderSlot(_ctx.$slots, "default")], 2)], 2);
231
+ return openBlock(), createBlock(resolveDynamicComponent(wrapperComponent.value), normalizeProps(guardReactiveProps(wrapperProps.value)), {
232
+ default: withCtx(() => [createElementVNode("div", {
233
+ ref_key: "anchorRef",
234
+ ref: anchorRef,
235
+ class: normalizeClass(cls.value)
236
+ }, [!__props.lineLess ? (openBlock(), createElementBlock("div", {
237
+ key: 0,
238
+ ref_key: "lineSliderRef",
239
+ ref: lineSliderRef,
240
+ class: normalizeClass(`${unref(prefixCls)}-line-slider`)
241
+ }, null, 2)) : createCommentVNode("", true), createElementVNode("ul", { class: normalizeClass(`${unref(prefixCls)}-list`) }, [renderSlot(_ctx.$slots, "default")], 2)], 2)]),
242
+ _: 3
243
+ }, 16);
184
244
  };
185
245
  }
186
246
  }));
@@ -5,7 +5,7 @@ import _Anchor from './anchor.vue';
5
5
  declare const Anchor: {
6
6
  new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
7
7
  boundary: {
8
- type: import("vue").PropType<import("./utils").BoundaryPosition | number>;
8
+ type: import("vue").PropType<import("./utils.ts").BoundaryPosition | number>;
9
9
  default: string;
10
10
  validator: (value: any) => boolean;
11
11
  };
@@ -13,6 +13,28 @@ declare const Anchor: {
13
13
  type: BooleanConstructor;
14
14
  default: boolean;
15
15
  };
16
+ affix: {
17
+ type: BooleanConstructor;
18
+ default: boolean;
19
+ };
20
+ affixStyle: {
21
+ type: import("vue").PropType<import("vue").CSSProperties>;
22
+ };
23
+ offsetTop: {
24
+ type: NumberConstructor;
25
+ default: number;
26
+ };
27
+ offsetBottom: {
28
+ type: NumberConstructor;
29
+ };
30
+ direction: {
31
+ type: import("vue").PropType<"horizontal" | "vertical">;
32
+ default: string;
33
+ validator: (value: any) => boolean;
34
+ };
35
+ targetOffset: {
36
+ type: NumberConstructor;
37
+ };
16
38
  scrollContainer: {
17
39
  type: import("vue").PropType<string | HTMLElement | Window>;
18
40
  };
@@ -31,9 +53,12 @@ declare const Anchor: {
31
53
  change: (_hash: string) => any;
32
54
  select: (_hash: string | undefined, _preHash: string) => any;
33
55
  }, import("vue").PublicProps, {
56
+ direction: "horizontal" | "vertical";
34
57
  smooth: boolean;
58
+ offsetTop: number;
35
59
  boundary: number | "center" | "end" | "start" | "nearest";
36
60
  lineLess: boolean;
61
+ affix: boolean;
37
62
  changeHash: boolean;
38
63
  }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
39
64
  P: {};
@@ -44,7 +69,7 @@ declare const Anchor: {
44
69
  Defaults: {};
45
70
  }, Readonly<import("vue").ExtractPropTypes<{
46
71
  boundary: {
47
- type: import("vue").PropType<import("./utils").BoundaryPosition | number>;
72
+ type: import("vue").PropType<import("./utils.ts").BoundaryPosition | number>;
48
73
  default: string;
49
74
  validator: (value: any) => boolean;
50
75
  };
@@ -52,6 +77,28 @@ declare const Anchor: {
52
77
  type: BooleanConstructor;
53
78
  default: boolean;
54
79
  };
80
+ affix: {
81
+ type: BooleanConstructor;
82
+ default: boolean;
83
+ };
84
+ affixStyle: {
85
+ type: import("vue").PropType<import("vue").CSSProperties>;
86
+ };
87
+ offsetTop: {
88
+ type: NumberConstructor;
89
+ default: number;
90
+ };
91
+ offsetBottom: {
92
+ type: NumberConstructor;
93
+ };
94
+ direction: {
95
+ type: import("vue").PropType<"horizontal" | "vertical">;
96
+ default: string;
97
+ validator: (value: any) => boolean;
98
+ };
99
+ targetOffset: {
100
+ type: NumberConstructor;
101
+ };
55
102
  scrollContainer: {
56
103
  type: import("vue").PropType<string | HTMLElement | Window>;
57
104
  };
@@ -67,9 +114,12 @@ declare const Anchor: {
67
114
  onChange?: ((_hash: string) => any) | undefined;
68
115
  onSelect?: ((_hash: string | undefined, _preHash: string) => any) | undefined;
69
116
  }>, {}, {}, {}, {}, {
117
+ direction: "horizontal" | "vertical";
70
118
  smooth: boolean;
119
+ offsetTop: number;
71
120
  boundary: number | "center" | "end" | "start" | "nearest";
72
121
  lineLess: boolean;
122
+ affix: boolean;
73
123
  changeHash: boolean;
74
124
  }>;
75
125
  __isFragment?: never;
@@ -77,7 +127,7 @@ declare const Anchor: {
77
127
  __isSuspense?: never;
78
128
  } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
79
129
  boundary: {
80
- type: import("vue").PropType<import("./utils").BoundaryPosition | number>;
130
+ type: import("vue").PropType<import("./utils.ts").BoundaryPosition | number>;
81
131
  default: string;
82
132
  validator: (value: any) => boolean;
83
133
  };
@@ -85,6 +135,28 @@ declare const Anchor: {
85
135
  type: BooleanConstructor;
86
136
  default: boolean;
87
137
  };
138
+ affix: {
139
+ type: BooleanConstructor;
140
+ default: boolean;
141
+ };
142
+ affixStyle: {
143
+ type: import("vue").PropType<import("vue").CSSProperties>;
144
+ };
145
+ offsetTop: {
146
+ type: NumberConstructor;
147
+ default: number;
148
+ };
149
+ offsetBottom: {
150
+ type: NumberConstructor;
151
+ };
152
+ direction: {
153
+ type: import("vue").PropType<"horizontal" | "vertical">;
154
+ default: string;
155
+ validator: (value: any) => boolean;
156
+ };
157
+ targetOffset: {
158
+ type: NumberConstructor;
159
+ };
88
160
  scrollContainer: {
89
161
  type: import("vue").PropType<string | HTMLElement | Window>;
90
162
  };
@@ -103,9 +175,12 @@ declare const Anchor: {
103
175
  change: (_hash: string) => any;
104
176
  select: (_hash: string | undefined, _preHash: string) => any;
105
177
  }, string, {
178
+ direction: "horizontal" | "vertical";
106
179
  smooth: boolean;
180
+ offsetTop: number;
107
181
  boundary: number | "center" | "end" | "start" | "nearest";
108
182
  lineLess: boolean;
183
+ affix: boolean;
109
184
  changeHash: boolean;
110
185
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
111
186
  $slots: {