@sdata/web-vue 3.11.0 → 3.13.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 (109) hide show
  1. package/dist/sd.css +147 -15
  2. package/dist/sd.min.css +43 -1
  3. package/es/_components/picker/input-range.vue.d.ts +6 -7
  4. package/es/_components/picker/input-range.vue_vue_type_script_setup_true_lang.js +63 -46
  5. package/es/_components/picker/input.vue.d.ts +5 -6
  6. package/es/_components/picker/input.vue_vue_type_script_setup_true_lang.js +52 -35
  7. package/es/_hooks/use-readonly-tip.d.ts +11 -0
  8. package/es/_hooks/use-readonly-tip.js +66 -0
  9. package/es/auto-complete/auto-complete.d.ts +9 -0
  10. package/es/auto-complete/auto-complete.js +11 -1
  11. package/es/auto-complete/index.d.ts +15 -0
  12. package/es/button/button.vue.d.ts +16 -7
  13. package/es/button/button.vue_vue_type_script_setup_true_lang.js +57 -31
  14. package/es/button/index.d.ts +11 -0
  15. package/es/button/interface.d.ts +2 -0
  16. package/es/card/card.d.ts +312 -0
  17. package/es/card/card.js +39 -7
  18. package/es/card/index.d.ts +616 -0
  19. package/es/card/style/index.css +23 -0
  20. package/es/card/style/index.scss +31 -0
  21. package/es/cascader/cascader.vue.d.ts +9 -8
  22. package/es/cascader/cascader.vue_vue_type_script_setup_true_lang.js +149 -128
  23. package/es/cascader/types.d.ts +1 -0
  24. package/es/color-picker/color-picker.d.ts +9 -0
  25. package/es/color-picker/color-picker.js +33 -11
  26. package/es/color-picker/index.d.ts +15 -0
  27. package/es/config-provider/context.d.ts +9 -9
  28. package/es/copy/copy.vue_vue_type_script_setup_true_lang.js +1 -1
  29. package/es/date-picker/index.d.ts +3 -6
  30. package/es/date-picker/picker.vue.d.ts +2 -3
  31. package/es/date-picker/picker.vue_vue_type_script_setup_true_lang.js +5 -5
  32. package/es/date-picker/range-picker.vue.d.ts +2 -3
  33. package/es/date-picker/range-picker.vue_vue_type_script_setup_true_lang.js +4 -4
  34. package/es/drawer/drawer.vue_vue_type_script_setup_true_lang.js +3 -3
  35. package/es/empty/empty.js +1 -1
  36. package/es/file-previewer/file-previewer.vue_vue_type_script_setup_true_lang.js +1 -1
  37. package/es/image/image.vue_vue_type_script_setup_true_lang.js +1 -1
  38. package/es/image/preview-action.d.ts +7 -127
  39. package/es/image/preview.vue_vue_type_script_setup_true_lang.js +2 -2
  40. package/es/index.css +147 -15
  41. package/es/index.js +3 -3
  42. package/es/input/index.d.ts +6 -6
  43. package/es/input/input.d.ts +3 -3
  44. package/es/input/input.js +18 -6
  45. package/es/input-number/index.d.ts +9 -9
  46. package/es/input-number/input-number.d.ts +5 -5
  47. package/es/input-number/input-number.js +8 -8
  48. package/es/input-tag/index.d.ts +6 -6
  49. package/es/input-tag/input-tag.d.ts +3 -3
  50. package/es/input-tag/input-tag.js +16 -7
  51. package/es/locale/interface.d.ts +1 -0
  52. package/es/locale/lang/en-us.js +1 -0
  53. package/es/locale/lang/zh-cn.js +1 -0
  54. package/es/locale/lang/zh-tw.js +1 -0
  55. package/es/mention/index.d.ts +15 -0
  56. package/es/mention/mention.d.ts +9 -0
  57. package/es/mention/mention.js +12 -1
  58. package/es/menu/base-menu.vue_vue_type_script_setup_true_lang.js +1 -1
  59. package/es/modal/modal.vue_vue_type_script_setup_true_lang.js +3 -3
  60. package/es/pagination/pagination.js +1 -1
  61. package/es/popconfirm/popconfirm.vue_vue_type_script_setup_true_lang.js +2 -2
  62. package/es/popover/popover.vue_vue_type_script_setup_true_lang.js +1 -1
  63. package/es/rate/index.d.ts +6 -6
  64. package/es/rate/rate.d.ts +3 -3
  65. package/es/rate/rate.js +17 -7
  66. package/es/scrollbar/scrollbar.vue_vue_type_script_setup_true_lang.js +1 -1
  67. package/es/scrollbar/style/index.css +57 -15
  68. package/es/scrollbar/style/index.scss +63 -15
  69. package/es/sd-vue.js +3 -3
  70. package/es/secret/secret.vue_vue_type_script_setup_true_lang.js +1 -1
  71. package/es/select/index.d.ts +15 -0
  72. package/es/select/select.d.ts +9 -0
  73. package/es/select/select.js +28 -5
  74. package/es/style/normalize.scss +68 -0
  75. package/es/table/table-th.js +2 -2
  76. package/es/tabs/context.d.ts +2 -0
  77. package/es/tabs/index.d.ts +32 -0
  78. package/es/tabs/style/index.css +29 -0
  79. package/es/tabs/style/index.scss +38 -0
  80. package/es/tabs/tab-pane.vue.d.ts +4 -2
  81. package/es/tabs/tab-pane.vue_vue_type_script_setup_true_lang.js +19 -3
  82. package/es/tabs/tabs.d.ts +19 -0
  83. package/es/tabs/tabs.js +23 -2
  84. package/es/textarea/index.d.ts +15 -0
  85. package/es/textarea/textarea.vue.d.ts +11 -2
  86. package/es/textarea/textarea.vue_vue_type_script_setup_true_lang.js +71 -46
  87. package/es/time-picker/index.d.ts +3 -6
  88. package/es/time-picker/panel.vue_vue_type_script_setup_true_lang.js +1 -1
  89. package/es/time-picker/time-picker.vue.d.ts +2 -3
  90. package/es/time-picker/time-picker.vue_vue_type_script_setup_true_lang.js +8 -5
  91. package/es/toolbar/toolbar.vue_vue_type_script_setup_true_lang.js +1 -1
  92. package/es/tooltip/index.d.ts +8 -127
  93. package/es/tooltip/interface.d.ts +17 -0
  94. package/es/tooltip/tooltip.vue.d.ts +5 -88
  95. package/es/tooltip/tooltip.vue_vue_type_script_setup_true_lang.js +8 -69
  96. package/es/tour/tour.vue_vue_type_script_setup_true_lang.js +1 -1
  97. package/es/tree/tree.vue_vue_type_script_setup_true_lang.js +1 -1
  98. package/es/tree-select/tree-select.vue.d.ts +16 -10
  99. package/es/tree-select/tree-select.vue_vue_type_script_setup_true_lang.js +156 -133
  100. package/es/typography/base.js +1 -1
  101. package/es/upload/upload-button.js +1 -1
  102. package/es/verification-code/index.d.ts +15 -6
  103. package/es/verification-code/verification-code.d.ts +9 -3
  104. package/es/verification-code/verification-code.js +4 -1
  105. package/json/vetur-attributes.json +48 -7
  106. package/json/vetur-tags.json +17 -5
  107. package/json/web-types.json +99 -10
  108. package/package.json +1 -1
  109. package/es/style/base.scss +0 -18
@@ -348,7 +348,7 @@ declare const DatePicker: {
348
348
  default: boolean;
349
349
  };
350
350
  readonly: {
351
- type: BooleanConstructor;
351
+ type: (StringConstructor | BooleanConstructor)[];
352
352
  };
353
353
  error: {
354
354
  type: BooleanConstructor;
@@ -429,7 +429,6 @@ declare const DatePicker: {
429
429
  "update:pickerValue": (value: CalendarValue[]) => any;
430
430
  }, import("vue").PublicProps, {
431
431
  error: boolean;
432
- readonly: boolean;
433
432
  popupVisible: boolean;
434
433
  defaultPopupVisible: boolean;
435
434
  position: "top" | "tl" | "tr" | "bottom" | "bl" | "br";
@@ -537,7 +536,7 @@ declare const DatePicker: {
537
536
  default: boolean;
538
537
  };
539
538
  readonly: {
540
- type: BooleanConstructor;
539
+ type: (StringConstructor | BooleanConstructor)[];
541
540
  };
542
541
  error: {
543
542
  type: BooleanConstructor;
@@ -607,7 +606,6 @@ declare const DatePicker: {
607
606
  "onUpdate:pickerValue"?: ((value: CalendarValue[]) => any) | undefined;
608
607
  }>, {}, {}, {}, {}, {
609
608
  error: boolean;
610
- readonly: boolean;
611
609
  popupVisible: boolean;
612
610
  defaultPopupVisible: boolean;
613
611
  position: "top" | "tl" | "tr" | "bottom" | "bl" | "br";
@@ -712,7 +710,7 @@ declare const DatePicker: {
712
710
  default: boolean;
713
711
  };
714
712
  readonly: {
715
- type: BooleanConstructor;
713
+ type: (StringConstructor | BooleanConstructor)[];
716
714
  };
717
715
  error: {
718
716
  type: BooleanConstructor;
@@ -793,7 +791,6 @@ declare const DatePicker: {
793
791
  "update:pickerValue": (value: CalendarValue[]) => any;
794
792
  }, string, {
795
793
  error: boolean;
796
- readonly: boolean;
797
794
  popupVisible: boolean;
798
795
  defaultPopupVisible: boolean;
799
796
  position: "top" | "tl" | "tr" | "bottom" | "bl" | "br";
@@ -946,7 +946,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
946
946
  default: boolean;
947
947
  };
948
948
  readonly: {
949
- type: BooleanConstructor;
949
+ type: (StringConstructor | BooleanConstructor)[];
950
950
  };
951
951
  error: {
952
952
  type: BooleanConstructor;
@@ -1081,7 +1081,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
1081
1081
  default: boolean;
1082
1082
  };
1083
1083
  readonly: {
1084
- type: BooleanConstructor;
1084
+ type: (StringConstructor | BooleanConstructor)[];
1085
1085
  };
1086
1086
  error: {
1087
1087
  type: BooleanConstructor;
@@ -1206,7 +1206,6 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
1206
1206
  "onUpdate:pickerValue"?: ((_value: CalendarValue) => any) | undefined;
1207
1207
  }>, {
1208
1208
  error: boolean;
1209
- readonly: boolean;
1210
1209
  popupVisible: boolean;
1211
1210
  defaultPopupVisible: boolean;
1212
1211
  position: "top" | "tl" | "tr" | "bottom" | "bl" | "br";
@@ -3,12 +3,12 @@ import { _objectSpread2 } from "../_virtual/_@oxc-project_runtime@0.133.0/helper
3
3
  import { getPrefixCls } from "../_utils/global-config.js";
4
4
  import { isBoolean, isFunction } from "../_utils/is.js";
5
5
  import { useAllowClear } from "../_hooks/use-allow-clear.js";
6
+ import { useI18n } from "../locale/index.js";
6
7
  import { omit } from "../_utils/omit.js";
7
8
  import pick from "../_utils/pick.js";
9
+ import Trigger from "../trigger/index.js";
8
10
  import useState from "../_hooks/use-state.js";
9
11
  import useMergeState from "../_hooks/use-merge-state.js";
10
- import Trigger from "../trigger/index.js";
11
- import { useI18n } from "../locale/index.js";
12
12
  import { getDateValue, getDayjsValue, getNow, initializeDateLocale, isValueChange, toLocal } from "../_utils/date.js";
13
13
  import input_default from "../_components/picker/input.js";
14
14
  import { useConfigProviderProp } from "../_hooks/use-config-provider-prop.js";
@@ -57,7 +57,7 @@ var picker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
57
57
  * @zh 是否为只读
58
58
  * @en Whether it is read-only
59
59
  * */
60
- readonly: { type: Boolean },
60
+ readonly: { type: [Boolean, String] },
61
61
  /**
62
62
  * @zh 是否为错误状态
63
63
  * @en Whether it is an error state
@@ -451,7 +451,7 @@ var picker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
451
451
  timePickerProps,
452
452
  selectedValue: panelValue
453
453
  }));
454
- const inputEditable = computed(() => !readonly.value && !isFunction(inputFormat.value));
454
+ const inputEditable = computed(() => !(readonly === null || readonly === void 0 ? void 0 : readonly.value) && !isFunction(inputFormat.value));
455
455
  const headerMode = ref();
456
456
  watch(panelVisible, (newVisible) => {
457
457
  setProcessValue(void 0);
@@ -632,7 +632,7 @@ var picker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
632
632
  "popup-offset": 4
633
633
  }, __props.triggerProps, {
634
634
  position: __props.position,
635
- disabled: unref(mergedDisabled) || unref(readonly),
635
+ disabled: unref(mergedDisabled) || !!unref(readonly),
636
636
  "prevent-focus": true,
637
637
  "popup-visible": unref(panelVisible),
638
638
  "unmount-on-close": __props.unmountOnClose,
@@ -1390,7 +1390,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
1390
1390
  default: boolean;
1391
1391
  };
1392
1392
  readonly: {
1393
- type: BooleanConstructor;
1393
+ type: (StringConstructor | BooleanConstructor)[];
1394
1394
  };
1395
1395
  error: {
1396
1396
  type: BooleanConstructor;
@@ -1537,7 +1537,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
1537
1537
  default: boolean;
1538
1538
  };
1539
1539
  readonly: {
1540
- type: BooleanConstructor;
1540
+ type: (StringConstructor | BooleanConstructor)[];
1541
1541
  };
1542
1542
  error: {
1543
1543
  type: BooleanConstructor;
@@ -1607,7 +1607,6 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
1607
1607
  "onUpdate:pickerValue"?: ((value: CalendarValue[]) => any) | undefined;
1608
1608
  }>, {
1609
1609
  error: boolean;
1610
- readonly: boolean;
1611
1610
  popupVisible: boolean;
1612
1611
  defaultPopupVisible: boolean;
1613
1612
  position: "top" | "tl" | "tr" | "bottom" | "bl" | "br";
@@ -4,12 +4,12 @@ import { _objectSpread2 } from "../_virtual/_@oxc-project_runtime@0.133.0/helper
4
4
  import { getPrefixCls } from "../_utils/global-config.js";
5
5
  import { isArray, isBoolean } from "../_utils/is.js";
6
6
  import { useAllowClear } from "../_hooks/use-allow-clear.js";
7
+ import { useI18n } from "../locale/index.js";
7
8
  import { omit } from "../_utils/omit.js";
8
9
  import pick from "../_utils/pick.js";
10
+ import Trigger from "../trigger/index.js";
9
11
  import useState from "../_hooks/use-state.js";
10
12
  import useMergeState from "../_hooks/use-merge-state.js";
11
- import Trigger from "../trigger/index.js";
12
- import { useI18n } from "../locale/index.js";
13
13
  import { getDateValue, getDayjsValue, getNow, getSortedDayjsArray, initializeDateLocale, isValueChange, toLocal } from "../_utils/date.js";
14
14
  import { useConfigProviderProp } from "../_hooks/use-config-provider-prop.js";
15
15
  import IconCalendar from "../icon/icon-calendar/index.js";
@@ -159,7 +159,7 @@ var range_picker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
159
159
  type: Boolean,
160
160
  default: true
161
161
  },
162
- readonly: { type: Boolean },
162
+ readonly: { type: [Boolean, String] },
163
163
  error: { type: Boolean },
164
164
  size: { type: String },
165
165
  shortcuts: {
@@ -666,7 +666,7 @@ var range_picker_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ def
666
666
  }, __props.triggerProps, {
667
667
  "unmount-on-close": __props.unmountOnClose,
668
668
  position: __props.position,
669
- disabled: triggerDisabled.value || __props.readonly,
669
+ disabled: triggerDisabled.value || !!__props.readonly,
670
670
  "popup-visible": unref(panelVisible),
671
671
  "popup-container": __props.popupContainer,
672
672
  onPopupVisibleChange: onPanelVisibleChange
@@ -5,12 +5,12 @@ import { off, on } from "../_utils/dom.js";
5
5
  import icon_hover_default from "../_components/icon-hover.js";
6
6
  import IconClose from "../icon/icon-close/index.js";
7
7
  import { _asyncToGenerator } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/asyncToGenerator.js";
8
- import Button from "../button/index.js";
9
- import { KEYBOARD_KEY } from "../_utils/keyboard.js";
8
+ import { useI18n } from "../locale/index.js";
10
9
  import client_only_default from "../_components/client-only.js";
11
10
  import usePopupManager from "../_hooks/use-popup-manager.js";
12
11
  import { useTeleportContainer } from "../_hooks/use-teleport-container.js";
13
- import { useI18n } from "../locale/index.js";
12
+ import Button from "../button/index.js";
13
+ import { KEYBOARD_KEY } from "../_utils/keyboard.js";
14
14
  import Ellipsis from "../ellipsis/index.js";
15
15
  import { useConfigProviderProp } from "../_hooks/use-config-provider-prop.js";
16
16
  import { useOverflow } from "../_hooks/use-overflow.js";
package/es/empty/empty.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { configProviderInjectionKey } from "../config-provider/context.js";
2
2
  import { getPrefixCls } from "../_utils/global-config.js";
3
- import IconEmpty from "../icon/icon-empty/index.js";
4
3
  import { useI18n } from "../locale/index.js";
4
+ import IconEmpty from "../icon/icon-empty/index.js";
5
5
  import { createVNode, defineComponent, inject, mergeProps } from "vue";
6
6
  //#region components/empty/empty.tsx
7
7
  var empty_default = /* @__PURE__ */ defineComponent({
@@ -4,8 +4,8 @@ import { isServerRendering } from "../_utils/dom.js";
4
4
  import IconClose from "../icon/icon-close/index.js";
5
5
  import { _asyncToGenerator } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/asyncToGenerator.js";
6
6
  import IconLoading from "../icon/icon-loading/index.js";
7
- import { KEYBOARD_KEY } from "../_utils/keyboard.js";
8
7
  import usePopupManager from "../_hooks/use-popup-manager.js";
8
+ import { KEYBOARD_KEY } from "../_utils/keyboard.js";
9
9
  import usePopupContainer from "../_hooks/use-popup-container.js";
10
10
  import usePopupOverflowHidden from "../_hooks/use-popup-overflow-hidden.js";
11
11
  import Image from "../image/index.js";
@@ -3,10 +3,10 @@ import { getPrefixCls } from "../_utils/global-config.js";
3
3
  import { isBoolean } from "../_utils/is.js";
4
4
  import { isServerRendering } from "../_utils/dom.js";
5
5
  import IconLoading from "../icon/icon-loading/index.js";
6
+ import { useI18n } from "../locale/index.js";
6
7
  import { omit } from "../_utils/omit.js";
7
8
  import useMergeState from "../_hooks/use-merge-state.js";
8
9
  import IconImageClose from "../icon/icon-image-close/index.js";
9
- import { useI18n } from "../locale/index.js";
10
10
  import { PreviewGroupInjectionKey } from "./context.js";
11
11
  import useImageLoadStatus from "./hooks/use-image-load-status.js";
12
12
  import image_footer_default from "./image-footer.js";
@@ -16,47 +16,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
16
16
  disabled: boolean;
17
17
  }, {}, {
18
18
  Tooltip: {
19
- new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
20
- popupVisible: {
21
- type: BooleanConstructor;
22
- default: undefined;
23
- };
24
- defaultPopupVisible: {
25
- type: BooleanConstructor;
26
- default: boolean;
27
- };
28
- disabled: {
29
- type: BooleanConstructor;
30
- default: boolean;
31
- };
32
- content: StringConstructor;
33
- position: {
34
- type: import("vue").PropType<import("..").TriggerPosition>;
35
- default: string;
36
- };
37
- mini: {
38
- type: BooleanConstructor;
39
- default: boolean;
40
- };
41
- backgroundColor: {
42
- type: StringConstructor;
43
- };
44
- contentClass: {
45
- type: import("vue").PropType<import("../_utils/types").ClassName>;
46
- };
47
- contentStyle: {
48
- type: import("vue").PropType<import("vue").CSSProperties>;
49
- };
50
- arrowClass: {
51
- type: import("vue").PropType<import("../_utils/types").ClassName>;
52
- };
53
- arrowStyle: {
54
- type: import("vue").PropType<import("vue").CSSProperties>;
55
- };
56
- popupContainer: {
57
- type: import("vue").PropType<string | HTMLElement>;
58
- };
59
- }>> & Readonly<{
19
+ new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("../tooltip").TooltipProps> & Readonly<{
60
20
  "onUpdate:popupVisible"?: ((_visible: boolean) => any) | undefined;
61
21
  onPopupVisibleChange?: ((_visible: boolean) => any) | undefined;
62
22
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -66,109 +26,29 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
66
26
  mini: boolean;
67
27
  popupVisible: boolean;
68
28
  defaultPopupVisible: boolean;
69
- position: "top" | "tl" | "tr" | "bottom" | "bl" | "br" | "left" | "lt" | "lb" | "right" | "rt" | "rb";
29
+ position: import("..").TriggerPosition;
70
30
  disabled: boolean;
71
- }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
31
+ }, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
72
32
  P: {};
73
33
  B: {};
74
34
  D: {};
75
35
  C: {};
76
36
  M: {};
77
37
  Defaults: {};
78
- }, Readonly<import("vue").ExtractPropTypes<{
79
- popupVisible: {
80
- type: BooleanConstructor;
81
- default: undefined;
82
- };
83
- defaultPopupVisible: {
84
- type: BooleanConstructor;
85
- default: boolean;
86
- };
87
- disabled: {
88
- type: BooleanConstructor;
89
- default: boolean;
90
- };
91
- content: StringConstructor;
92
- position: {
93
- type: import("vue").PropType<import("..").TriggerPosition>;
94
- default: string;
95
- };
96
- mini: {
97
- type: BooleanConstructor;
98
- default: boolean;
99
- };
100
- backgroundColor: {
101
- type: StringConstructor;
102
- };
103
- contentClass: {
104
- type: import("vue").PropType<import("../_utils/types").ClassName>;
105
- };
106
- contentStyle: {
107
- type: import("vue").PropType<import("vue").CSSProperties>;
108
- };
109
- arrowClass: {
110
- type: import("vue").PropType<import("../_utils/types").ClassName>;
111
- };
112
- arrowStyle: {
113
- type: import("vue").PropType<import("vue").CSSProperties>;
114
- };
115
- popupContainer: {
116
- type: import("vue").PropType<string | HTMLElement>;
117
- };
118
- }>> & Readonly<{
38
+ }, Readonly<import("../tooltip").TooltipProps> & Readonly<{
119
39
  "onUpdate:popupVisible"?: ((_visible: boolean) => any) | undefined;
120
40
  onPopupVisibleChange?: ((_visible: boolean) => any) | undefined;
121
41
  }>, {}, {}, {}, {}, {
122
42
  mini: boolean;
123
43
  popupVisible: boolean;
124
44
  defaultPopupVisible: boolean;
125
- position: "top" | "tl" | "tr" | "bottom" | "bl" | "br" | "left" | "lt" | "lb" | "right" | "rt" | "rb";
45
+ position: import("..").TriggerPosition;
126
46
  disabled: boolean;
127
47
  }>;
128
48
  __isFragment?: never;
129
49
  __isTeleport?: never;
130
50
  __isSuspense?: never;
131
- } & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
132
- popupVisible: {
133
- type: BooleanConstructor;
134
- default: undefined;
135
- };
136
- defaultPopupVisible: {
137
- type: BooleanConstructor;
138
- default: boolean;
139
- };
140
- disabled: {
141
- type: BooleanConstructor;
142
- default: boolean;
143
- };
144
- content: StringConstructor;
145
- position: {
146
- type: import("vue").PropType<import("..").TriggerPosition>;
147
- default: string;
148
- };
149
- mini: {
150
- type: BooleanConstructor;
151
- default: boolean;
152
- };
153
- backgroundColor: {
154
- type: StringConstructor;
155
- };
156
- contentClass: {
157
- type: import("vue").PropType<import("../_utils/types").ClassName>;
158
- };
159
- contentStyle: {
160
- type: import("vue").PropType<import("vue").CSSProperties>;
161
- };
162
- arrowClass: {
163
- type: import("vue").PropType<import("../_utils/types").ClassName>;
164
- };
165
- arrowStyle: {
166
- type: import("vue").PropType<import("vue").CSSProperties>;
167
- };
168
- popupContainer: {
169
- type: import("vue").PropType<string | HTMLElement>;
170
- };
171
- }>> & Readonly<{
51
+ } & import("vue").ComponentOptionsBase<Readonly<import("../tooltip").TooltipProps> & Readonly<{
172
52
  "onUpdate:popupVisible"?: ((_visible: boolean) => any) | undefined;
173
53
  onPopupVisibleChange?: ((_visible: boolean) => any) | undefined;
174
54
  }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -178,7 +58,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
178
58
  mini: boolean;
179
59
  popupVisible: boolean;
180
60
  defaultPopupVisible: boolean;
181
- position: "top" | "tl" | "tr" | "bottom" | "bl" | "br" | "left" | "lt" | "lb" | "right" | "rt" | "rb";
61
+ position: import("..").TriggerPosition;
182
62
  disabled: boolean;
183
63
  }, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
184
64
  $slots: {
@@ -4,10 +4,10 @@ import { off, on } from "../_utils/dom.js";
4
4
  import { throttleByRaf } from "../_utils/throttle-by-raf.js";
5
5
  import IconClose from "../icon/icon-close/index.js";
6
6
  import IconLoading from "../icon/icon-loading/index.js";
7
+ import { useI18n } from "../locale/index.js";
8
+ import usePopupManager from "../_hooks/use-popup-manager.js";
7
9
  import useMergeState from "../_hooks/use-merge-state.js";
8
10
  import { KEYBOARD_KEY } from "../_utils/keyboard.js";
9
- import usePopupManager from "../_hooks/use-popup-manager.js";
10
- import { useI18n } from "../locale/index.js";
11
11
  import usePopupContainer from "../_hooks/use-popup-container.js";
12
12
  import usePopupOverflowHidden from "../_hooks/use-popup-overflow-hidden.js";
13
13
  import useImageLoadStatus from "./hooks/use-image-load-status.js";
package/es/index.css CHANGED
@@ -687,6 +687,9 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
687
687
  /******** link *******/
688
688
  /******** radius *******/
689
689
  /********* icon hover *********/
690
+ /*! Tailwind CSS v4 preflight baseline scoped to SD Design layer */
691
+ /*! Tailwind CSS v4 preflight baseline scoped to SD Design layer */
692
+ /*! Tailwind CSS v4 preflight baseline scoped to SD Design layer */
690
693
  /* stylelint-disable-next-line layer-name-pattern */
691
694
  @layer sd-design {
692
695
  *,
@@ -871,6 +874,41 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
871
874
  [hidden]:where(:not([hidden=until-found])) {
872
875
  display: none !important;
873
876
  }
877
+ /* Native scrollbar baseline — mirrors the <Scrollbar> embed theme
878
+ (transparent track, neutral thumb; shares --sd-scrollbar-* with the <Scrollbar> component).
879
+ Opt-in: only applies within an element carrying the design-system
880
+ class (`.sd-design` by default; follows $prefix), e.g.
881
+ <html class="sd-design-system-scrollbar">. Standard scrollbar-* properties are
882
+ primary; ::-webkit-scrollbar*
883
+ is the fallback for browsers without standard support. Where the
884
+ standard properties apply they override the webkit rules, so the
885
+ rounded corners and hover/active states only render in webkit-only
886
+ browsers. */
887
+ @supports (scrollbar-color: auto) {
888
+ .sd-design-system-scrollbar, .sd-design-system-scrollbar * {
889
+ scrollbar-width: thin;
890
+ scrollbar-color: var(--sd-scrollbar-thumb-color, var(--sd-color-neutral-4)) transparent;
891
+ }
892
+ }
893
+ @supports selector(::-webkit-scrollbar) {
894
+ .sd-design-system-scrollbar::-webkit-scrollbar, .sd-design-system-scrollbar *::-webkit-scrollbar {
895
+ width: var(--sd-scrollbar-size, 6px);
896
+ height: var(--sd-scrollbar-size, 6px);
897
+ }
898
+ .sd-design-system-scrollbar::-webkit-scrollbar-track, .sd-design-system-scrollbar *::-webkit-scrollbar-track {
899
+ background: transparent;
900
+ }
901
+ .sd-design-system-scrollbar::-webkit-scrollbar-thumb, .sd-design-system-scrollbar *::-webkit-scrollbar-thumb {
902
+ background: var(--sd-scrollbar-thumb-color, var(--sd-color-neutral-4));
903
+ border-radius: var(--sd-scrollbar-thumb-radius, 6px);
904
+ }
905
+ .sd-design-system-scrollbar::-webkit-scrollbar-thumb:hover, .sd-design-system-scrollbar *::-webkit-scrollbar-thumb:hover {
906
+ background: var(--sd-scrollbar-thumb-color-hover, var(--sd-color-neutral-5));
907
+ }
908
+ .sd-design-system-scrollbar::-webkit-scrollbar-thumb:active, .sd-design-system-scrollbar *::-webkit-scrollbar-thumb:active {
909
+ background: var(--sd-scrollbar-thumb-color-active, var(--sd-color-neutral-6));
910
+ }
911
+ }
874
912
  }
875
913
  .sd-icon {
876
914
  display: inline-block;
@@ -5814,6 +5852,35 @@ body.sd-tour-active .sd-tour-popover * {
5814
5852
  height: 100%;
5815
5853
  }
5816
5854
 
5855
+ .sd-tabs-horizontal.sd-tabs-full-height {
5856
+ display: flex;
5857
+ flex-direction: column;
5858
+ height: 100%;
5859
+ }
5860
+ .sd-tabs-horizontal.sd-tabs-full-height > .sd-tabs-nav {
5861
+ flex-shrink: 0;
5862
+ }
5863
+ .sd-tabs-horizontal.sd-tabs-full-height .sd-tabs-content {
5864
+ flex: 1;
5865
+ min-height: 0;
5866
+ }
5867
+ .sd-tabs-horizontal.sd-tabs-full-height .sd-tabs-content-list {
5868
+ height: 100%;
5869
+ }
5870
+ .sd-tabs-horizontal.sd-tabs-full-height .sd-tabs-content-item-active {
5871
+ height: 100%;
5872
+ }
5873
+ .sd-tabs-horizontal.sd-tabs-full-height .sd-tabs-pane {
5874
+ height: 100%;
5875
+ overflow: auto;
5876
+ }
5877
+ .sd-tabs-horizontal.sd-tabs-full-height .sd-tabs-pane-scroll {
5878
+ overflow: hidden;
5879
+ }
5880
+ .sd-tabs-horizontal.sd-tabs-full-height .sd-tabs-pane-scrollbar {
5881
+ height: 100%;
5882
+ }
5883
+
5817
5884
  .sd-tabs-nav-size-mini.sd-tabs-nav-type-line .sd-tabs-nav-extra {
5818
5885
  font-size: 12px;
5819
5886
  line-height: 32px;
@@ -8509,24 +8576,45 @@ body.sd-tour-active .sd-tour-popover * {
8509
8576
  height: 100%;
8510
8577
  }
8511
8578
  .sd-scrollbar .os-scrollbar {
8512
- --os-size: 6px;
8513
- --os-handle-bg: var(--sd-color-neutral-4);
8514
- --os-handle-bg-hover: var(--sd-color-neutral-5);
8515
- --os-handle-bg-active: var(--sd-color-neutral-6);
8579
+ --os-size: var(--sd-scrollbar-size, 6px);
8580
+ --os-handle-bg: var(
8581
+ --sd-scrollbar-thumb-color,
8582
+ var(--sd-color-neutral-4)
8583
+ );
8584
+ --os-handle-bg-hover: var(
8585
+ --sd-scrollbar-thumb-color-hover,
8586
+ var(--sd-color-neutral-5)
8587
+ );
8588
+ --os-handle-bg-active: var(
8589
+ --sd-scrollbar-thumb-color-active,
8590
+ var(--sd-color-neutral-6)
8591
+ );
8516
8592
  --os-track-bg: transparent;
8517
8593
  --os-track-bg-hover: transparent;
8518
8594
  --os-track-bg-active: transparent;
8519
8595
  --os-padding-axis: 0;
8520
8596
  --os-padding-perpendicular: 0;
8521
- --os-handle-border-radius: 6px;
8597
+ --os-handle-border-radius: var(
8598
+ --sd-scrollbar-thumb-radius,
8599
+ 6px
8600
+ );
8522
8601
  }
8523
8602
  .sd-scrollbar .os-scrollbar-handle {
8524
8603
  transition: background-color 0.16s ease, opacity 0.16s ease;
8525
8604
  }
8526
8605
  .sd-scrollbar .sd-scrollbar-theme-embed {
8527
- --os-handle-perpendicular-size: 6px;
8528
- --os-handle-perpendicular-size-hover: 6px;
8529
- --os-handle-perpendicular-size-active: 6px;
8606
+ --os-handle-perpendicular-size: var(
8607
+ --sd-scrollbar-size,
8608
+ 6px
8609
+ );
8610
+ --os-handle-perpendicular-size-hover: var(
8611
+ --sd-scrollbar-size,
8612
+ 6px
8613
+ );
8614
+ --os-handle-perpendicular-size-active: var(
8615
+ --sd-scrollbar-size,
8616
+ 6px
8617
+ );
8530
8618
  --os-handle-interactive-area-offset: 0;
8531
8619
  }
8532
8620
  .sd-scrollbar .sd-scrollbar-theme-track {
@@ -8535,18 +8623,39 @@ body.sd-tour-active .sd-tour-popover * {
8535
8623
  --os-track-bg-hover: var(--sd-color-neutral-1);
8536
8624
  --os-track-bg-active: var(--sd-color-neutral-1);
8537
8625
  --os-track-border: 1px solid var(--sd-color-neutral-3);
8538
- --os-handle-perpendicular-size: 6px;
8626
+ --os-handle-perpendicular-size: var(
8627
+ --sd-scrollbar-size,
8628
+ 6px
8629
+ );
8539
8630
  --os-padding-axis: -1px;
8540
8631
  }
8541
8632
  .sd-scrollbar.sd-scrollbar-type-embed .sd-scrollbar-theme-embed {
8542
- --os-handle-bg: var(--sd-color-neutral-4);
8543
- --os-handle-bg-hover: var(--sd-color-neutral-5);
8544
- --os-handle-bg-active: var(--sd-color-neutral-6);
8633
+ --os-handle-bg: var(
8634
+ --sd-scrollbar-thumb-color,
8635
+ var(--sd-color-neutral-4)
8636
+ );
8637
+ --os-handle-bg-hover: var(
8638
+ --sd-scrollbar-thumb-color-hover,
8639
+ var(--sd-color-neutral-5)
8640
+ );
8641
+ --os-handle-bg-active: var(
8642
+ --sd-scrollbar-thumb-color-active,
8643
+ var(--sd-color-neutral-6)
8644
+ );
8545
8645
  }
8546
8646
  .sd-scrollbar.sd-scrollbar-type-track .sd-scrollbar-theme-track {
8547
- --os-handle-bg: var(--sd-color-neutral-4);
8548
- --os-handle-bg-hover: var(--sd-color-neutral-5);
8549
- --os-handle-bg-active: var(--sd-color-neutral-6);
8647
+ --os-handle-bg: var(
8648
+ --sd-scrollbar-thumb-color,
8649
+ var(--sd-color-neutral-4)
8650
+ );
8651
+ --os-handle-bg-hover: var(
8652
+ --sd-scrollbar-thumb-color-hover,
8653
+ var(--sd-color-neutral-5)
8654
+ );
8655
+ --os-handle-bg-active: var(
8656
+ --sd-scrollbar-thumb-color-active,
8657
+ var(--sd-color-neutral-6)
8658
+ );
8550
8659
  }
8551
8660
 
8552
8661
  .sd-result {
@@ -17796,6 +17905,29 @@ body.sd-tour-active .sd-tour-popover * {
17796
17905
  padding: 12px 16px;
17797
17906
  }
17798
17907
 
17908
+ .sd-card-full-height {
17909
+ display: flex;
17910
+ flex-direction: column;
17911
+ height: 100%;
17912
+ overflow: hidden;
17913
+ }
17914
+ .sd-card-full-height .sd-card-header {
17915
+ flex-shrink: 0;
17916
+ }
17917
+ .sd-card-full-height .sd-card-body {
17918
+ flex: 1;
17919
+ min-height: 0;
17920
+ }
17921
+ .sd-card-full-height .sd-card-body-native {
17922
+ overflow: auto;
17923
+ }
17924
+ .sd-card-full-height .sd-card-body-scroll {
17925
+ overflow: hidden;
17926
+ }
17927
+ .sd-card-full-height .sd-card-body-scroll .sd-card-body-scrollbar {
17928
+ height: 100%;
17929
+ }
17930
+
17799
17931
  :where(body, [sd-theme])[sd-theme=dark] .sd-card-grid-hoverable:hover::before,
17800
17932
  :where(body, [sd-theme])[sd-theme=dark] .sd-card-hoverable:hover {
17801
17933
  box-shadow: 0 4px 10px rgb(var(--sd-gray-1), 40%);
package/es/index.js CHANGED
@@ -4,6 +4,9 @@ import Affix from "./affix/index.js";
4
4
  import Alert from "./alert/index.js";
5
5
  import anchor_link_default from "./anchor/anchor-link.js";
6
6
  import Anchor from "./anchor/index.js";
7
+ import { addI18nMessages, getLocale, useLocale } from "./locale/index.js";
8
+ import Trigger from "./trigger/index.js";
9
+ import Tooltip from "./tooltip/index.js";
7
10
  import input_group_default from "./input/input-group.js";
8
11
  import input_password_default from "./input/input-password.js";
9
12
  import button_group_default from "./button/button-group.js";
@@ -12,7 +15,6 @@ import input_search_default from "./input/input-search.js";
12
15
  import Input from "./input/index.js";
13
16
  import Scrollbar from "./scrollbar/index.js";
14
17
  import Spin from "./spin/index.js";
15
- import Trigger from "./trigger/index.js";
16
18
  import AutoComplete from "./auto-complete/index.js";
17
19
  import Popover from "./popover/index.js";
18
20
  import AvatarGroup from "./avatar/avatar-group.js";
@@ -20,7 +22,6 @@ import Avatar from "./avatar/index.js";
20
22
  import BackTop from "./back-top/index.js";
21
23
  import Badge from "./badge/index.js";
22
24
  import BorderBeam from "./border-beam/index.js";
23
- import { addI18nMessages, getLocale, useLocale } from "./locale/index.js";
24
25
  import Empty from "./empty/index.js";
25
26
  import dropdown_button_default from "./dropdown/dropdown-button.js";
26
27
  import dropdown_group_default from "./dropdown/dropdown-group.js";
@@ -29,7 +30,6 @@ import dropdown_submenu_default from "./dropdown/dropdown-submenu.js";
29
30
  import Dropdown from "./dropdown/index.js";
30
31
  import breadcrumb_item_default from "./breadcrumb/breadcrumb-item.js";
31
32
  import Breadcrumb from "./breadcrumb/index.js";
32
- import Tooltip from "./tooltip/index.js";
33
33
  import Ellipsis, { PerformantEllipsis } from "./ellipsis/index.js";
34
34
  import Calendar from "./calendar/index.js";
35
35
  import card_grid_default from "./card/card-grid.js";