@sdata/web-vue 2.6.0 → 2.9.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 (40) hide show
  1. package/dist/sd.css +21 -1
  2. package/dist/sd.min.css +1 -1
  3. package/es/_components/transition/expand-transition.vue.d.ts +2 -2
  4. package/es/calendar/components/cell.vue.d.ts +26 -26
  5. package/es/cascader/cascader.vue.d.ts +8 -8
  6. package/es/date-picker/panels/date/index.vue.d.ts +2 -2
  7. package/es/date-picker/panels/month/index.vue.d.ts +2 -2
  8. package/es/date-picker/panels/quarter/index.vue.d.ts +2 -2
  9. package/es/date-picker/panels/week/index.vue.d.ts +2 -2
  10. package/es/date-picker/panels/year/index.vue.d.ts +2 -2
  11. package/es/date-picker/picker-panel.vue.d.ts +12 -12
  12. package/es/date-picker/picker.vue.d.ts +12 -12
  13. package/es/date-picker/range-picker.vue.d.ts +13 -13
  14. package/es/drawer/drawer.vue.d.ts +5 -5
  15. package/es/drawer/index.d.ts +1 -0
  16. package/es/dropdown/dropdown-button.vue.d.ts +4 -4
  17. package/es/ellipsis/ellipsis.vue.d.ts +7 -7
  18. package/es/ellipsis/performant-ellipsis.vue.d.ts +5 -5
  19. package/es/image/preview.vue.d.ts +2 -2
  20. package/es/index.css +21 -1
  21. package/es/index.d.ts +1 -1
  22. package/es/input/input-password.vue.d.ts +3 -3
  23. package/es/layout/index.d.ts +39 -1
  24. package/es/layout/interface.d.ts +4 -0
  25. package/es/layout/sider.vue.d.ts +33 -7
  26. package/es/layout/sider.vue_vue_type_script_setup_true_lang.js +69 -10
  27. package/es/layout/style/index.css +21 -1
  28. package/es/layout/style/index.scss +24 -0
  29. package/es/layout/style/token.scss +1 -1
  30. package/es/modal/modal.vue.d.ts +4 -4
  31. package/es/resize-box/resize-box.vue.d.ts +4 -4
  32. package/es/split/split.vue.d.ts +4 -4
  33. package/es/tag/tag.vue.d.ts +2 -2
  34. package/es/time-picker/time-picker.vue.d.ts +2 -2
  35. package/es/tree/expand-transition.vue.d.ts +2 -2
  36. package/es/tree-select/tree-select.vue.d.ts +9 -9
  37. package/json/vetur-attributes.json +7 -0
  38. package/json/vetur-tags.json +3 -1
  39. package/json/web-types.json +17 -1
  40. package/package.json +7 -7
@@ -1,5 +1,6 @@
1
1
  import type { CSSProperties } from 'vue';
2
2
  import type { SiderBreakpoint } from '../_utils/responsive-observe';
3
+ import type { DrawerProps } from '../drawer';
3
4
  import type { ScrollbarProps } from '../scrollbar';
4
5
  export type SiderTheme = 'light' | 'dark';
5
6
  export type CollapseType = 'clickTrigger' | 'responsive';
@@ -18,4 +19,7 @@ export interface SiderProps {
18
19
  breakpoint?: SiderBreakpoint;
19
20
  theme?: SiderTheme;
20
21
  scrollbar?: boolean | ScrollbarProps;
22
+ temporary?: boolean;
23
+ drawerProps?: SiderTemporaryDrawerProps;
21
24
  }
25
+ export type SiderTemporaryDrawerProps = Omit<DrawerProps, 'visible' | 'defaultVisible' | 'width' | 'footer' | 'okText' | 'cancelText' | 'okLoading' | 'okButtonProps' | 'cancelButtonProps' | 'hideCancel' | 'onBeforeOk' | 'onBeforeCancel'>;
@@ -1,18 +1,26 @@
1
1
  import { type PropType } from 'vue';
2
2
  import type { SiderBreakpoint } from '../_utils/responsive-observe';
3
- import type { CollapseType } from './interface';
3
+ import type { CollapseType, SiderTemporaryDrawerProps } from './interface';
4
4
  import { type ScrollbarProps } from '../scrollbar';
5
- declare var __VLS_1: {}, __VLS_3: {}, __VLS_11: {}, __VLS_13: {}, __VLS_20: {};
5
+ declare var __VLS_9: {}, __VLS_11: {}, __VLS_19: {}, __VLS_21: {}, __VLS_28: {}, __VLS_30: {}, __VLS_38: {}, __VLS_40: {}, __VLS_47: {};
6
6
  type __VLS_Slots = {} & {
7
- header?: (props: typeof __VLS_1) => any;
8
- } & {
9
- default?: (props: typeof __VLS_3) => any;
7
+ header?: (props: typeof __VLS_9) => any;
10
8
  } & {
11
9
  default?: (props: typeof __VLS_11) => any;
12
10
  } & {
13
- trigger?: (props: typeof __VLS_13) => any;
11
+ default?: (props: typeof __VLS_19) => any;
12
+ } & {
13
+ trigger?: (props: typeof __VLS_21) => any;
14
+ } & {
15
+ header?: (props: typeof __VLS_28) => any;
16
+ } & {
17
+ default?: (props: typeof __VLS_30) => any;
14
18
  } & {
15
- trigger?: (props: typeof __VLS_20) => any;
19
+ default?: (props: typeof __VLS_38) => any;
20
+ } & {
21
+ trigger?: (props: typeof __VLS_40) => any;
22
+ } & {
23
+ trigger?: (props: typeof __VLS_47) => any;
16
24
  };
17
25
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
18
26
  collapsible: {
@@ -59,6 +67,14 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
59
67
  type: PropType<boolean | ScrollbarProps>;
60
68
  default: undefined;
61
69
  };
70
+ temporary: {
71
+ type: BooleanConstructor;
72
+ default: boolean;
73
+ };
74
+ drawerProps: {
75
+ type: PropType<SiderTemporaryDrawerProps>;
76
+ default: undefined;
77
+ };
62
78
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
63
79
  collapse: (collapsed: boolean, type: CollapseType) => any;
64
80
  breakpoint: (broken: boolean) => any;
@@ -107,6 +123,14 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
107
123
  type: PropType<boolean | ScrollbarProps>;
108
124
  default: undefined;
109
125
  };
126
+ temporary: {
127
+ type: BooleanConstructor;
128
+ default: boolean;
129
+ };
130
+ drawerProps: {
131
+ type: PropType<SiderTemporaryDrawerProps>;
132
+ default: undefined;
133
+ };
110
134
  }>> & Readonly<{
111
135
  onCollapse?: ((collapsed: boolean, type: CollapseType) => any) | undefined;
112
136
  onBreakpoint?: ((broken: boolean) => any) | undefined;
@@ -122,6 +146,8 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
122
146
  zeroWidthTriggerStyle: Record<string, any>;
123
147
  collapsedWidth: string | number;
124
148
  breakpoint: SiderBreakpoint;
149
+ temporary: boolean;
150
+ drawerProps: SiderTemporaryDrawerProps;
125
151
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
126
152
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
127
153
  declare const _default: typeof __VLS_export;
@@ -6,6 +6,7 @@ import Scrollbar from "../scrollbar/index.js";
6
6
  import IconRight from "../icon/icon-right/index.js";
7
7
  import { useThemeMode } from "../_hooks/use-theme-mode.js";
8
8
  import IconLeft from "../icon/icon-left/index.js";
9
+ import Drawer from "../drawer/index.js";
9
10
  import { LayoutContextInjectionKey, SiderContextInjectionKey } from "./context.js";
10
11
  import IconMenu from "../icon/icon-menu/index.js";
11
12
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, inject, mergeProps, normalizeClass, normalizeStyle, onMounted, onUnmounted, openBlock, provide, reactive, ref, renderSlot, resolveDynamicComponent, toRef, unref, watch, withCtx } from "vue";
@@ -100,6 +101,22 @@ var sider_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
100
101
  scrollbar: {
101
102
  type: [Object, Boolean],
102
103
  default: void 0
104
+ },
105
+ /**
106
+ * @zh 临时模式:使用 Drawer 渲染悬浮菜单,由 collapsed 控制开合(collapsed=true 关闭,false 展开)
107
+ * @en Temporary mode: render as a floating Drawer, opened/closed via collapsed (collapsed=true closes, false opens)
108
+ */
109
+ temporary: {
110
+ type: Boolean,
111
+ default: false
112
+ },
113
+ /**
114
+ * @zh temporary 模式下透传给 Drawer 的配置(仅 temporary=true 时生效)
115
+ * @en Drawer passthrough config (only effective when temporary=true)
116
+ */
117
+ drawerProps: {
118
+ type: Object,
119
+ default: void 0
103
120
  }
104
121
  },
105
122
  emits: ["collapse", "breakpoint"],
@@ -193,6 +210,7 @@ var sider_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
193
210
  });
194
211
  const reverseIcon = computed(() => rtl.value === !props.reverseArrow);
195
212
  const defaultTriggerComponent = computed(() => {
213
+ if (props.temporary) return IconMenu;
196
214
  const expandedIcon = reverseIcon.value ? IconRight : IconLeft;
197
215
  const collapsedIcon = reverseIcon.value ? IconLeft : IconRight;
198
216
  return mergedCollapsed.value ? collapsedIcon : expandedIcon;
@@ -200,15 +218,24 @@ var sider_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
200
218
  const rawWidth = computed(() => mergedCollapsed.value ? props.collapsedWidth : props.width);
201
219
  const siderWidth = computed(() => toSiderWidth(rawWidth.value));
202
220
  const hasZeroWidth = computed(() => Number.parseFloat(String(props.collapsedWidth || 0)) === 0);
203
- const renderTrigger = computed(() => (props.collapsible || below.value && hasZeroWidth.value) && !props.hideTrigger);
221
+ const renderTrigger = computed(() => {
222
+ if (props.temporary) return !props.hideTrigger;
223
+ return (props.collapsible || below.value && hasZeroWidth.value) && !props.hideTrigger;
224
+ });
204
225
  const { scrollbarProps } = useScrollbar(toRef(props, "scrollbar"));
205
226
  const useNativeScrollbar = computed(() => props.scrollbar === false);
206
- const divStyle = computed(() => ({
207
- flex: `0 0 ${siderWidth.value}`,
208
- maxWidth: siderWidth.value,
209
- minWidth: siderWidth.value,
210
- width: siderWidth.value
211
- }));
227
+ const divStyle = computed(() => {
228
+ if (props.temporary) return {
229
+ flex: "0 0 auto",
230
+ width: "auto"
231
+ };
232
+ return {
233
+ flex: `0 0 ${siderWidth.value}`,
234
+ maxWidth: siderWidth.value,
235
+ minWidth: siderWidth.value,
236
+ width: siderWidth.value
237
+ };
238
+ });
212
239
  const siderCls = computed(() => [
213
240
  prefixCls,
214
241
  `${prefixCls}-${mergedTheme.value}`,
@@ -216,9 +243,19 @@ var sider_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
216
243
  [`${prefixCls}-collapsed`]: mergedCollapsed.value,
217
244
  [`${prefixCls}-has-trigger`]: props.collapsible && !props.hideTrigger && !hasZeroWidth.value,
218
245
  [`${prefixCls}-below`]: below.value,
219
- [`${prefixCls}-zero-width`]: Number.parseFloat(siderWidth.value) === 0
246
+ [`${prefixCls}-zero-width`]: Number.parseFloat(siderWidth.value) === 0,
247
+ [`${prefixCls}-temporary`]: props.temporary
220
248
  }
221
249
  ]);
250
+ const mergedDrawerProps = computed(() => _objectSpread2({
251
+ placement: "left",
252
+ width: siderWidth.value,
253
+ header: false,
254
+ footer: false
255
+ }, props.drawerProps));
256
+ const onDrawerVisibleChange = (visible) => {
257
+ if (visible !== !mergedCollapsed.value) handleSetCollapsed(!visible, "clickTrigger");
258
+ };
222
259
  const siderContext = reactive({
223
260
  siderCollapsed: mergedCollapsed.value,
224
261
  theme: mergedTheme.value
@@ -236,7 +273,29 @@ var sider_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
236
273
  ref: rootEl,
237
274
  class: normalizeClass(siderCls.value),
238
275
  style: normalizeStyle(divStyle.value)
239
- }, [
276
+ }, [__props.temporary ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createVNode(unref(Drawer), mergeProps(mergedDrawerProps.value, {
277
+ visible: !mergedCollapsed.value,
278
+ "onUpdate:visible": onDrawerVisibleChange
279
+ }), {
280
+ default: withCtx(() => [_ctx.$slots.header ? (openBlock(), createElementBlock("div", {
281
+ key: 0,
282
+ class: normalizeClass(`${unref(prefixCls)}-header`)
283
+ }, [renderSlot(_ctx.$slots, "header")], 2)) : createCommentVNode("", true), useNativeScrollbar.value ? (openBlock(), createElementBlock("div", {
284
+ key: 1,
285
+ class: normalizeClass([`${unref(prefixCls)}-children`, `${unref(prefixCls)}-children-scroll`])
286
+ }, [renderSlot(_ctx.$slots, "default")], 2)) : (openBlock(), createBlock(unref(Scrollbar), mergeProps({
287
+ key: 2,
288
+ "outer-class": `${unref(prefixCls)}-children`
289
+ }, unref(scrollbarProps)), {
290
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
291
+ _: 3
292
+ }, 16, ["outer-class"]))]),
293
+ _: 3
294
+ }, 16, ["visible"]), renderTrigger.value ? (openBlock(), createElementBlock("span", {
295
+ key: 0,
296
+ class: normalizeClass(`${unref(prefixCls)}-temporary-trigger`),
297
+ onClick: toggle
298
+ }, [renderSlot(_ctx.$slots, "trigger", {}, () => [createVNode(unref(IconMenu))])], 2)) : createCommentVNode("", true)], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
240
299
  _ctx.$slots.header ? (openBlock(), createElementBlock("div", {
241
300
  key: 0,
242
301
  class: normalizeClass(`${unref(prefixCls)}-header`)
@@ -262,7 +321,7 @@ var sider_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
262
321
  style: normalizeStyle({ width: siderWidth.value }),
263
322
  onClick: toggle
264
323
  }, [renderSlot(_ctx.$slots, "trigger", {}, () => [(openBlock(), createBlock(resolveDynamicComponent(defaultTriggerComponent.value)))])], 6))], 64)) : createCommentVNode("", true)
265
- ], 6);
324
+ ], 64))], 6);
266
325
  };
267
326
  }
268
327
  }));
@@ -65,7 +65,7 @@
65
65
  padding: 0 50px;
66
66
  color: var(--sd-color-text-1);
67
67
  line-height: 64px;
68
- background: #001529;
68
+ background: var(--sd-color-menu-dark-bg);
69
69
  }
70
70
 
71
71
  .sd-layout-footer {
@@ -162,4 +162,24 @@
162
162
  background: var(--sd-color-bg-1);
163
163
  border: 1px solid var(--sd-color-fill-1);
164
164
  border-inline-start: 0;
165
+ }
166
+ .sd-layout-sider-temporary {
167
+ flex: 0 0 auto;
168
+ width: auto;
169
+ background: transparent;
170
+ }
171
+ .sd-layout-sider-temporary-trigger {
172
+ display: inline-flex;
173
+ align-items: center;
174
+ justify-content: center;
175
+ width: 40px;
176
+ height: 40px;
177
+ color: var(--sd-color-text-1);
178
+ font-size: 18px;
179
+ border-radius: 8px;
180
+ cursor: pointer;
181
+ transition: background-color 0.2s ease;
182
+ }
183
+ .sd-layout-sider-temporary-trigger:hover {
184
+ background: var(--sd-color-fill-2);
165
185
  }
@@ -171,4 +171,28 @@ $text-color: var(string.unquote('#{theme.$sd-cssvars-prefix}-color-text-1'));
171
171
  border-inline-start: 0;
172
172
  }
173
173
  }
174
+
175
+ // Temporary: aside 退化为触发器宿主,菜单内容交给 Drawer 渲染。
176
+ &-temporary {
177
+ flex: 0 0 auto;
178
+ width: auto;
179
+ background: transparent;
180
+ }
181
+
182
+ &-temporary-trigger {
183
+ display: inline-flex;
184
+ align-items: center;
185
+ justify-content: center;
186
+ width: $layout-sider-zero-trigger-width;
187
+ height: $layout-sider-zero-trigger-width;
188
+ color: $text-color;
189
+ font-size: $layout-sider-zero-trigger-font-size;
190
+ border-radius: $layout-radius-lg;
191
+ cursor: pointer;
192
+ transition: background-color $layout-motion-duration-mid ease;
193
+
194
+ &:hover {
195
+ background: var(string.unquote('#{theme.$sd-cssvars-prefix}-color-fill-2'));
196
+ }
197
+ }
174
198
  }
@@ -15,7 +15,7 @@ $layout-footer-bg: var(string.unquote('#{$sd-cssvars-prefix}-color-fill-1'));
15
15
  /*****************************************************
16
16
  * Header
17
17
  *****************************************************/
18
- $layout-header-bg: #001529;
18
+ $layout-header-bg: var(string.unquote('#{global.$sd-cssvars-prefix}-color-menu-dark-bg'));
19
19
  $layout-header-height: global.$size-16; // 64px
20
20
  $layout-header-padding-horizontal: 50px;
21
21
  $layout-header-padding: 0 $layout-header-padding-horizontal;
@@ -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_54: {}, __VLS_67: {}, __VLS_69: {};
5
+ declare var __VLS_55: {}, __VLS_68: {}, __VLS_70: {};
6
6
  type __VLS_Slots = {} & {
7
- title?: (props: typeof __VLS_54) => any;
7
+ title?: (props: typeof __VLS_55) => any;
8
8
  } & {
9
- default?: (props: typeof __VLS_67) => any;
9
+ default?: (props: typeof __VLS_68) => any;
10
10
  } & {
11
- footer?: (props: typeof __VLS_69) => any;
11
+ footer?: (props: typeof __VLS_70) => any;
12
12
  };
13
13
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
14
14
  visible: {
@@ -1,16 +1,16 @@
1
1
  import { PropType } from 'vue';
2
2
  export type DirectionType = 'left' | 'right' | 'top' | 'bottom';
3
- declare var __VLS_9: {}, __VLS_19: {
3
+ declare var __VLS_9: {}, __VLS_20: {
4
4
  direction: "top" | "bottom" | "left" | "right";
5
- }, __VLS_22: {
5
+ }, __VLS_23: {
6
6
  direction: "top" | "bottom" | "left" | "right";
7
7
  };
8
8
  type __VLS_Slots = {} & {
9
9
  default?: (props: typeof __VLS_9) => any;
10
10
  } & {
11
- 'resize-trigger'?: (props: typeof __VLS_19) => any;
11
+ 'resize-trigger'?: (props: typeof __VLS_20) => any;
12
12
  } & {
13
- 'resize-trigger-icon'?: (props: typeof __VLS_22) => any;
13
+ 'resize-trigger-icon'?: (props: typeof __VLS_23) => any;
14
14
  };
15
15
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
16
16
  width: {
@@ -1,13 +1,13 @@
1
1
  import { PropType } from 'vue';
2
- declare var __VLS_9: {}, __VLS_20: {}, __VLS_23: {}, __VLS_25: {};
2
+ declare var __VLS_9: {}, __VLS_21: {}, __VLS_24: {}, __VLS_26: {};
3
3
  type __VLS_Slots = {} & {
4
4
  first?: (props: typeof __VLS_9) => any;
5
5
  } & {
6
- 'resize-trigger'?: (props: typeof __VLS_20) => any;
6
+ 'resize-trigger'?: (props: typeof __VLS_21) => any;
7
7
  } & {
8
- 'resize-trigger-icon'?: (props: typeof __VLS_23) => any;
8
+ 'resize-trigger-icon'?: (props: typeof __VLS_24) => any;
9
9
  } & {
10
- second?: (props: typeof __VLS_25) => any;
10
+ second?: (props: typeof __VLS_26) => any;
11
11
  };
12
12
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
13
13
  component: {
@@ -1,6 +1,6 @@
1
1
  import type { PropType } from 'vue';
2
2
  import type { EllipsisTooltipProps } from '../ellipsis';
3
- declare var __VLS_1: {}, __VLS_9: {}, __VLS_12: {}, __VLS_14: {}, __VLS_24: {};
3
+ declare var __VLS_1: {}, __VLS_9: {}, __VLS_12: {}, __VLS_14: {}, __VLS_25: {};
4
4
  type __VLS_Slots = {} & {
5
5
  icon?: (props: typeof __VLS_1) => any;
6
6
  } & {
@@ -10,7 +10,7 @@ type __VLS_Slots = {} & {
10
10
  } & {
11
11
  default?: (props: typeof __VLS_14) => any;
12
12
  } & {
13
- 'close-icon'?: (props: typeof __VLS_24) => any;
13
+ 'close-icon'?: (props: typeof __VLS_25) => any;
14
14
  };
15
15
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
16
16
  color: {
@@ -1,13 +1,13 @@
1
1
  import { PropType } from 'vue';
2
2
  import { Size } from '../_utils/constant';
3
3
  import { TriggerProps } from '../trigger';
4
- declare var __VLS_21: {}, __VLS_24: {}, __VLS_41: {};
4
+ declare var __VLS_21: {}, __VLS_24: {}, __VLS_42: {};
5
5
  type __VLS_Slots = {} & {
6
6
  prefix?: (props: typeof __VLS_21) => any;
7
7
  } & {
8
8
  'suffix-icon'?: (props: typeof __VLS_24) => any;
9
9
  } & {
10
- extra?: (props: typeof __VLS_41) => any;
10
+ extra?: (props: typeof __VLS_42) => any;
11
11
  };
12
12
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
13
13
  type: {
@@ -1,6 +1,6 @@
1
- declare var __VLS_9: {};
1
+ declare var __VLS_11: {};
2
2
  type __VLS_Slots = {} & {
3
- default?: (props: typeof __VLS_9) => any;
3
+ default?: (props: typeof __VLS_11) => any;
4
4
  };
5
5
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
6
6
  expanded: BooleanConstructor;
@@ -5,25 +5,25 @@ import { ScrollbarProps } from '../scrollbar';
5
5
  import { TreeFieldNames, TreeNodeData, TreeProps } from '../tree/interface';
6
6
  import { TriggerProps } from '../trigger';
7
7
  import { LabelValue, TreeSelectValue } from './interface';
8
- declare var __VLS_10: {}, __VLS_23: {}, __VLS_26: any, __VLS_29: {
8
+ declare var __VLS_10: {}, __VLS_26: {}, __VLS_29: any, __VLS_32: {
9
9
  data: any;
10
- }, __VLS_32: {}, __VLS_34: {}, __VLS_41: {}, __VLS_55: {};
10
+ }, __VLS_35: {}, __VLS_37: {}, __VLS_44: {}, __VLS_58: {};
11
11
  type __VLS_Slots = {} & {
12
12
  trigger?: (props: typeof __VLS_10) => any;
13
13
  } & {
14
- prefix?: (props: typeof __VLS_23) => any;
14
+ prefix?: (props: typeof __VLS_26) => any;
15
15
  } & {
16
- label?: (props: typeof __VLS_26) => any;
16
+ label?: (props: typeof __VLS_29) => any;
17
17
  } & {
18
- tag?: (props: typeof __VLS_29) => any;
18
+ tag?: (props: typeof __VLS_32) => any;
19
19
  } & {
20
- header?: (props: typeof __VLS_32) => any;
20
+ header?: (props: typeof __VLS_35) => any;
21
21
  } & {
22
- loader?: (props: typeof __VLS_34) => any;
22
+ loader?: (props: typeof __VLS_37) => any;
23
23
  } & {
24
- empty?: (props: typeof __VLS_41) => any;
24
+ empty?: (props: typeof __VLS_44) => any;
25
25
  } & {
26
- footer?: (props: typeof __VLS_55) => any;
26
+ footer?: (props: typeof __VLS_58) => any;
27
27
  };
28
28
  declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
29
29
  disabled: {
@@ -1891,6 +1891,13 @@
1891
1891
  "sd-sider/scrollbar": {
1892
1892
  "description": "Scroll config, use the component Scrollbar by default; set to false for native overflow:auto, pass an object to configure Scrollbar"
1893
1893
  },
1894
+ "sd-sider/temporary": {
1895
+ "description": "Temporary mode: render as a floating Drawer, opened/closed via collapsed (collapsed=true closes, false opens)",
1896
+ "type": "boolean"
1897
+ },
1898
+ "sd-sider/drawer-props": {
1899
+ "description": "Drawer passthrough config (only effective when temporary=true)"
1900
+ },
1894
1901
  "sd-link/click": {
1895
1902
  "description": "Emitted when the link is clicked"
1896
1903
  },
@@ -787,7 +787,9 @@
787
787
  "width",
788
788
  "collapsed-width",
789
789
  "theme",
790
- "scrollbar"
790
+ "scrollbar",
791
+ "temporary",
792
+ "drawer-props"
791
793
  ]
792
794
  },
793
795
  "sd-link": {
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
3
3
  "framework": "vue",
4
4
  "name": "@sdata/web-vue",
5
- "version": "2.3.1",
5
+ "version": "2.8.0",
6
6
  "contributions": {
7
7
  "html": {
8
8
  "types-syntax": "typescript",
@@ -4609,6 +4609,22 @@
4609
4609
  "type": "boolean | ScrollbarProps",
4610
4610
  "kind": "expression"
4611
4611
  }
4612
+ },
4613
+ {
4614
+ "name": "temporary",
4615
+ "description": "Temporary mode: render as a floating Drawer, opened/closed via collapsed (collapsed=true closes, false opens)",
4616
+ "value": {
4617
+ "type": "boolean",
4618
+ "kind": "expression"
4619
+ }
4620
+ },
4621
+ {
4622
+ "name": "drawer-props",
4623
+ "description": "Drawer passthrough config (only effective when temporary=true)",
4624
+ "value": {
4625
+ "type": "SiderTemporaryDrawerProps",
4626
+ "kind": "expression"
4627
+ }
4612
4628
  }
4613
4629
  ],
4614
4630
  "events": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sdata/web-vue",
3
- "version": "2.6.0",
3
+ "version": "2.9.0",
4
4
  "description": "SD Design Vue: A Vue.js 3 UI Library",
5
5
  "keywords": [
6
6
  "sd",
@@ -59,14 +59,14 @@
59
59
  "copy-to-clipboard": "^4.0.2",
60
60
  "cropperjs": "^2.1.1",
61
61
  "dayjs": "^1.11.21",
62
- "es-toolkit": "^1.47.0",
62
+ "es-toolkit": "^1.47.1",
63
63
  "motion-v": "^2.3.0",
64
64
  "number-precision": "^1.6.0",
65
65
  "overlayscrollbars": "^2.16.0",
66
66
  "qrcode": "^1.5.4",
67
67
  "resize-observer-polyfill": "^1.5.1",
68
68
  "scroll-into-view-if-needed": "^3.1.0",
69
- "vue": "^3.5.35",
69
+ "vue": "^3.5.38",
70
70
  "vue-virtual-scroller": "^3.0.4"
71
71
  },
72
72
  "devDependencies": {
@@ -88,19 +88,19 @@
88
88
  "glob": "^13.0.6",
89
89
  "jest-serializer-vue": "^3.1.0",
90
90
  "jsdom": "^29.1.1",
91
- "sass": "^1.100.0",
91
+ "sass": "^1.101.0",
92
92
  "semantic-release": "^25.0.5",
93
93
  "svgo": "^4.0.1",
94
94
  "type-fest": "^5.7.0",
95
95
  "typescript": "^6.0.3",
96
96
  "vite": "^8.0.16",
97
97
  "vite-plus": "^0.1.24",
98
- "vitest": "^4.1.8",
98
+ "vitest": "^4.1.9",
99
99
  "vue-docgen-api": "4.79.2",
100
- "vue-tsc": "^3.3.4"
100
+ "vue-tsc": "^3.3.5"
101
101
  },
102
102
  "peerDependencies": {
103
- "vue": "^3.5.35"
103
+ "vue": "^3.5.38"
104
104
  },
105
105
  "vetur": {
106
106
  "tags": "json/vetur-tags.json",