@sdata/web-vue 3.12.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.
- package/dist/sd.css +147 -15
- package/dist/sd.min.css +43 -1
- package/es/_components/picker/input-range.vue.d.ts +6 -7
- package/es/_components/picker/input-range.vue_vue_type_script_setup_true_lang.js +63 -46
- package/es/_components/picker/input.vue.d.ts +5 -6
- package/es/_components/picker/input.vue_vue_type_script_setup_true_lang.js +52 -35
- package/es/_hooks/use-readonly-tip.d.ts +11 -0
- package/es/_hooks/use-readonly-tip.js +66 -0
- package/es/auto-complete/auto-complete.d.ts +9 -0
- package/es/auto-complete/auto-complete.js +11 -1
- package/es/auto-complete/index.d.ts +15 -0
- package/es/button/button.vue.d.ts +16 -7
- package/es/button/button.vue_vue_type_script_setup_true_lang.js +57 -31
- package/es/button/index.d.ts +11 -0
- package/es/button/interface.d.ts +2 -0
- package/es/card/card.d.ts +312 -0
- package/es/card/card.js +39 -7
- package/es/card/index.d.ts +616 -0
- package/es/card/style/index.css +23 -0
- package/es/card/style/index.scss +31 -0
- package/es/cascader/cascader.vue.d.ts +9 -8
- package/es/cascader/cascader.vue_vue_type_script_setup_true_lang.js +149 -128
- package/es/cascader/types.d.ts +1 -0
- package/es/color-picker/color-picker.d.ts +9 -0
- package/es/color-picker/color-picker.js +33 -11
- package/es/color-picker/index.d.ts +15 -0
- package/es/config-provider/context.d.ts +9 -9
- package/es/copy/copy.vue_vue_type_script_setup_true_lang.js +1 -1
- package/es/date-picker/index.d.ts +3 -6
- package/es/date-picker/picker.vue.d.ts +2 -3
- package/es/date-picker/picker.vue_vue_type_script_setup_true_lang.js +5 -5
- package/es/date-picker/range-picker.vue.d.ts +2 -3
- package/es/date-picker/range-picker.vue_vue_type_script_setup_true_lang.js +4 -4
- package/es/drawer/drawer.vue_vue_type_script_setup_true_lang.js +3 -3
- package/es/empty/empty.js +1 -1
- package/es/file-previewer/file-previewer.vue_vue_type_script_setup_true_lang.js +1 -1
- package/es/image/image.vue_vue_type_script_setup_true_lang.js +1 -1
- package/es/image/preview-action.d.ts +7 -127
- package/es/image/preview.vue_vue_type_script_setup_true_lang.js +2 -2
- package/es/index.css +147 -15
- package/es/index.js +3 -3
- package/es/input/index.d.ts +6 -6
- package/es/input/input.d.ts +3 -3
- package/es/input/input.js +18 -6
- package/es/input-number/index.d.ts +9 -9
- package/es/input-number/input-number.d.ts +5 -5
- package/es/input-number/input-number.js +8 -8
- package/es/input-tag/index.d.ts +6 -6
- package/es/input-tag/input-tag.d.ts +3 -3
- package/es/input-tag/input-tag.js +16 -7
- package/es/locale/interface.d.ts +1 -0
- package/es/locale/lang/en-us.js +1 -0
- package/es/locale/lang/zh-cn.js +1 -0
- package/es/locale/lang/zh-tw.js +1 -0
- package/es/mention/index.d.ts +15 -0
- package/es/mention/mention.d.ts +9 -0
- package/es/mention/mention.js +12 -1
- package/es/menu/base-menu.vue_vue_type_script_setup_true_lang.js +1 -1
- package/es/modal/modal.vue_vue_type_script_setup_true_lang.js +3 -3
- package/es/pagination/pagination.js +1 -1
- package/es/popconfirm/popconfirm.vue_vue_type_script_setup_true_lang.js +2 -2
- package/es/popover/popover.vue_vue_type_script_setup_true_lang.js +1 -1
- package/es/rate/index.d.ts +6 -6
- package/es/rate/rate.d.ts +3 -3
- package/es/rate/rate.js +17 -7
- package/es/scrollbar/style/index.css +57 -15
- package/es/scrollbar/style/index.scss +63 -15
- package/es/sd-vue.js +3 -3
- package/es/secret/secret.vue_vue_type_script_setup_true_lang.js +1 -1
- package/es/select/index.d.ts +15 -0
- package/es/select/select.d.ts +9 -0
- package/es/select/select.js +28 -5
- package/es/style/normalize.scss +68 -0
- package/es/table/table-th.js +2 -2
- package/es/tabs/context.d.ts +2 -0
- package/es/tabs/index.d.ts +32 -0
- package/es/tabs/style/index.css +29 -0
- package/es/tabs/style/index.scss +38 -0
- package/es/tabs/tab-pane.vue.d.ts +4 -2
- package/es/tabs/tab-pane.vue_vue_type_script_setup_true_lang.js +19 -3
- package/es/tabs/tabs.d.ts +19 -0
- package/es/tabs/tabs.js +23 -2
- package/es/textarea/index.d.ts +15 -0
- package/es/textarea/textarea.vue.d.ts +11 -2
- package/es/textarea/textarea.vue_vue_type_script_setup_true_lang.js +71 -46
- package/es/time-picker/index.d.ts +3 -6
- package/es/time-picker/panel.vue_vue_type_script_setup_true_lang.js +1 -1
- package/es/time-picker/time-picker.vue.d.ts +2 -3
- package/es/time-picker/time-picker.vue_vue_type_script_setup_true_lang.js +8 -5
- package/es/toolbar/toolbar.vue_vue_type_script_setup_true_lang.js +1 -1
- package/es/tooltip/index.d.ts +8 -127
- package/es/tooltip/interface.d.ts +17 -0
- package/es/tooltip/tooltip.vue.d.ts +5 -88
- package/es/tooltip/tooltip.vue_vue_type_script_setup_true_lang.js +8 -69
- package/es/tour/tour.vue_vue_type_script_setup_true_lang.js +1 -1
- package/es/tree/tree.vue_vue_type_script_setup_true_lang.js +1 -1
- package/es/tree-select/tree-select.vue.d.ts +16 -10
- package/es/tree-select/tree-select.vue_vue_type_script_setup_true_lang.js +156 -133
- package/es/typography/base.js +1 -1
- package/es/upload/upload-button.js +1 -1
- package/es/verification-code/index.d.ts +15 -6
- package/es/verification-code/verification-code.d.ts +9 -3
- package/es/verification-code/verification-code.js +4 -1
- package/json/vetur-attributes.json +48 -7
- package/json/vetur-tags.json +17 -5
- package/json/web-types.json +99 -10
- package/package.json +1 -1
- package/es/style/base.scss +0 -18
|
@@ -9,12 +9,12 @@ import IconCloseCircleFill from "../icon/icon-close-circle-fill/index.js";
|
|
|
9
9
|
import IconExclamationCircleFill from "../icon/icon-exclamation-circle-fill/index.js";
|
|
10
10
|
import IconInfoCircleFill from "../icon/icon-info-circle-fill/index.js";
|
|
11
11
|
import { _asyncToGenerator } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/asyncToGenerator.js";
|
|
12
|
-
import
|
|
13
|
-
import { KEYBOARD_KEY } from "../_utils/keyboard.js";
|
|
12
|
+
import { useI18n } from "../locale/index.js";
|
|
14
13
|
import client_only_default from "../_components/client-only.js";
|
|
15
14
|
import usePopupManager from "../_hooks/use-popup-manager.js";
|
|
16
15
|
import { useTeleportContainer } from "../_hooks/use-teleport-container.js";
|
|
17
|
-
import
|
|
16
|
+
import Button from "../button/index.js";
|
|
17
|
+
import { KEYBOARD_KEY } from "../_utils/keyboard.js";
|
|
18
18
|
import Ellipsis from "../ellipsis/index.js";
|
|
19
19
|
import { useConfigProviderProp } from "../_hooks/use-config-provider-prop.js";
|
|
20
20
|
import { useOverflow } from "../_hooks/use-overflow.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getPrefixCls } from "../_utils/global-config.js";
|
|
2
2
|
import { isNumber } from "../_utils/is.js";
|
|
3
|
-
import { useSize } from "../_hooks/use-size.js";
|
|
4
3
|
import { useI18n } from "../locale/index.js";
|
|
4
|
+
import { useSize } from "../_hooks/use-size.js";
|
|
5
5
|
import { useConfigProviderProp } from "../_hooks/use-config-provider-prop.js";
|
|
6
6
|
import page_item_ellipsis_default from "./page-item-ellipsis.js";
|
|
7
7
|
import page_item_step_default from "./page-item-step.js";
|
|
@@ -6,9 +6,9 @@ import IconCloseCircleFill from "../icon/icon-close-circle-fill/index.js";
|
|
|
6
6
|
import IconExclamationCircleFill from "../icon/icon-exclamation-circle-fill/index.js";
|
|
7
7
|
import IconInfoCircleFill from "../icon/icon-info-circle-fill/index.js";
|
|
8
8
|
import { _asyncToGenerator } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/asyncToGenerator.js";
|
|
9
|
-
import Button from "../button/index.js";
|
|
10
|
-
import Trigger from "../trigger/index.js";
|
|
11
9
|
import { useI18n } from "../locale/index.js";
|
|
10
|
+
import Trigger from "../trigger/index.js";
|
|
11
|
+
import Button from "../button/index.js";
|
|
12
12
|
import { computed, createBlock, createCommentVNode, createElementVNode, createTextVNode, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, ref, renderSlot, toDisplayString, unref, withCtx } from "vue";
|
|
13
13
|
//#region components/popconfirm/popconfirm.vue?vue&type=script&setup=true&lang.ts
|
|
14
14
|
var popconfirm_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "Popconfirm" }), {}, {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { _objectSpread2 } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/objectSpread2.js";
|
|
2
2
|
import { getPrefixCls } from "../_utils/global-config.js";
|
|
3
|
+
import Trigger from "../trigger/index.js";
|
|
3
4
|
import { useScrollbar } from "../_hooks/use-scrollbar.js";
|
|
4
5
|
import Scrollbar from "../scrollbar/index.js";
|
|
5
|
-
import Trigger from "../trigger/index.js";
|
|
6
6
|
import { computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, ref, renderSlot, toDisplayString, toRefs, unref, withCtx } from "vue";
|
|
7
7
|
//#region components/popover/popover.vue?vue&type=script&setup=true&lang.ts
|
|
8
8
|
var popover_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent(_objectSpread2(_objectSpread2({}, { name: "Popover" }), {}, {
|
package/es/rate/index.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ declare const Rate: {
|
|
|
28
28
|
default: boolean;
|
|
29
29
|
};
|
|
30
30
|
readonly: {
|
|
31
|
-
type: BooleanConstructor;
|
|
31
|
+
type: (StringConstructor | BooleanConstructor)[];
|
|
32
32
|
default: boolean;
|
|
33
33
|
};
|
|
34
34
|
disabled: {
|
|
@@ -47,7 +47,7 @@ declare const Rate: {
|
|
|
47
47
|
change: (_value: number) => true;
|
|
48
48
|
hoverChange: (_value: number) => true;
|
|
49
49
|
}, import("vue").PublicProps, {
|
|
50
|
-
readonly: boolean;
|
|
50
|
+
readonly: string | boolean;
|
|
51
51
|
disabled: boolean;
|
|
52
52
|
defaultValue: number;
|
|
53
53
|
modelValue: number;
|
|
@@ -88,7 +88,7 @@ declare const Rate: {
|
|
|
88
88
|
default: boolean;
|
|
89
89
|
};
|
|
90
90
|
readonly: {
|
|
91
|
-
type: BooleanConstructor;
|
|
91
|
+
type: (StringConstructor | BooleanConstructor)[];
|
|
92
92
|
default: boolean;
|
|
93
93
|
};
|
|
94
94
|
disabled: {
|
|
@@ -103,7 +103,7 @@ declare const Rate: {
|
|
|
103
103
|
"onUpdate:modelValue"?: ((_value: number) => any) | undefined;
|
|
104
104
|
onHoverChange?: ((_value: number) => any) | undefined;
|
|
105
105
|
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
|
|
106
|
-
readonly: boolean;
|
|
106
|
+
readonly: string | boolean;
|
|
107
107
|
disabled: boolean;
|
|
108
108
|
defaultValue: number;
|
|
109
109
|
modelValue: number;
|
|
@@ -141,7 +141,7 @@ declare const Rate: {
|
|
|
141
141
|
default: boolean;
|
|
142
142
|
};
|
|
143
143
|
readonly: {
|
|
144
|
-
type: BooleanConstructor;
|
|
144
|
+
type: (StringConstructor | BooleanConstructor)[];
|
|
145
145
|
default: boolean;
|
|
146
146
|
};
|
|
147
147
|
disabled: {
|
|
@@ -160,7 +160,7 @@ declare const Rate: {
|
|
|
160
160
|
change: (_value: number) => true;
|
|
161
161
|
hoverChange: (_value: number) => true;
|
|
162
162
|
}, string, {
|
|
163
|
-
readonly: boolean;
|
|
163
|
+
readonly: string | boolean;
|
|
164
164
|
disabled: boolean;
|
|
165
165
|
defaultValue: number;
|
|
166
166
|
modelValue: number;
|
package/es/rate/rate.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
25
25
|
default: boolean;
|
|
26
26
|
};
|
|
27
27
|
readonly: {
|
|
28
|
-
type: BooleanConstructor;
|
|
28
|
+
type: (StringConstructor | BooleanConstructor)[];
|
|
29
29
|
default: boolean;
|
|
30
30
|
};
|
|
31
31
|
disabled: {
|
|
@@ -65,7 +65,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
65
65
|
default: boolean;
|
|
66
66
|
};
|
|
67
67
|
readonly: {
|
|
68
|
-
type: BooleanConstructor;
|
|
68
|
+
type: (StringConstructor | BooleanConstructor)[];
|
|
69
69
|
default: boolean;
|
|
70
70
|
};
|
|
71
71
|
disabled: {
|
|
@@ -80,7 +80,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
80
80
|
"onUpdate:modelValue"?: ((_value: number) => any) | undefined;
|
|
81
81
|
onHoverChange?: ((_value: number) => any) | undefined;
|
|
82
82
|
}>, {
|
|
83
|
-
readonly: boolean;
|
|
83
|
+
readonly: string | boolean;
|
|
84
84
|
disabled: boolean;
|
|
85
85
|
defaultValue: number;
|
|
86
86
|
modelValue: number;
|
package/es/rate/rate.js
CHANGED
|
@@ -2,6 +2,8 @@ import { useFormItem } from "../_hooks/use-form-item.js";
|
|
|
2
2
|
import { getPrefixCls } from "../_utils/global-config.js";
|
|
3
3
|
import { isNull, isObject, isString, isUndefined } from "../_utils/is.js";
|
|
4
4
|
import { useAllowClear } from "../_hooks/use-allow-clear.js";
|
|
5
|
+
import { useReadonlyTip, useReadonlyTipText } from "../_hooks/use-readonly-tip.js";
|
|
6
|
+
import Tooltip from "../tooltip/index.js";
|
|
5
7
|
import IconFaceFrownFill from "../icon/icon-face-frown-fill/index.js";
|
|
6
8
|
import IconFaceMehFill from "../icon/icon-face-meh-fill/index.js";
|
|
7
9
|
import IconFaceSmileFill from "../icon/icon-face-smile-fill/index.js";
|
|
@@ -66,7 +68,7 @@ var rate_default = /* @__PURE__ */ defineComponent({
|
|
|
66
68
|
* @en Whether it is readonly
|
|
67
69
|
*/
|
|
68
70
|
readonly: {
|
|
69
|
-
type: Boolean,
|
|
71
|
+
type: [Boolean, String],
|
|
70
72
|
default: false
|
|
71
73
|
},
|
|
72
74
|
/**
|
|
@@ -110,6 +112,8 @@ var rate_default = /* @__PURE__ */ defineComponent({
|
|
|
110
112
|
const prefixCls = getPrefixCls("rate");
|
|
111
113
|
const { mergedDisabled: _mergedDisabled, eventHandlers } = useFormItem({ disabled: toRef(props, "disabled") });
|
|
112
114
|
const { mergedAllowClear } = useAllowClear(allowClear);
|
|
115
|
+
const { tipVisible, show: showReadonlyTip } = useReadonlyTip(toRef(props, "readonly"), _mergedDisabled);
|
|
116
|
+
const readonlyTipText = useReadonlyTipText(toRef(props, "readonly"));
|
|
113
117
|
const _value = ref(props.defaultValue);
|
|
114
118
|
const animation = ref(false);
|
|
115
119
|
watch(modelValue, (value) => {
|
|
@@ -194,14 +198,16 @@ var rate_default = /* @__PURE__ */ defineComponent({
|
|
|
194
198
|
return createVNode(IconStarFill, null, null);
|
|
195
199
|
};
|
|
196
200
|
const renderCharacter = (index) => {
|
|
197
|
-
const
|
|
201
|
+
const interactive = !mergedDisabled.value;
|
|
202
|
+
const readonlyOnly = props.readonly && !_mergedDisabled.value;
|
|
203
|
+
const leftProps = interactive ? {
|
|
198
204
|
onMouseenter: () => handleMouseEnter(index, true),
|
|
199
205
|
onClick: () => handleClick(index, true)
|
|
200
|
-
};
|
|
201
|
-
const rightProps =
|
|
206
|
+
} : readonlyOnly ? { onClick: () => showReadonlyTip() } : {};
|
|
207
|
+
const rightProps = interactive ? {
|
|
202
208
|
onMouseenter: () => handleMouseEnter(index, false),
|
|
203
209
|
onClick: () => handleClick(index, false)
|
|
204
|
-
};
|
|
210
|
+
} : readonlyOnly ? { onClick: () => showReadonlyTip() } : {};
|
|
205
211
|
const style = animation.value ? { animationDelay: `${50 * index}ms` } : void 0;
|
|
206
212
|
const parseDisplayIndex = Math.ceil(displayIndex.value) - 1;
|
|
207
213
|
const leftStyle = customColor.value && props.allowHalf && index + .5 === displayIndex.value ? { color: customColor.value[parseDisplayIndex] } : void 0;
|
|
@@ -225,10 +231,14 @@ var rate_default = /* @__PURE__ */ defineComponent({
|
|
|
225
231
|
[`${prefixCls}-readonly`]: props.readonly,
|
|
226
232
|
[`${prefixCls}-disabled`]: _mergedDisabled.value
|
|
227
233
|
}]);
|
|
228
|
-
return () => createVNode(
|
|
234
|
+
return () => createVNode(Tooltip, {
|
|
235
|
+
"popupVisible": tipVisible.value,
|
|
236
|
+
"content": readonlyTipText.value,
|
|
237
|
+
"position": "top"
|
|
238
|
+
}, { default: () => [createVNode("div", {
|
|
229
239
|
"class": cls.value,
|
|
230
240
|
"onMouseleave": resetHoverIndex
|
|
231
|
-
}, [indexArray.value.map((_, index) => renderCharacter(index))]);
|
|
241
|
+
}, [indexArray.value.map((_, index) => renderCharacter(index))])] });
|
|
232
242
|
}
|
|
233
243
|
});
|
|
234
244
|
//#endregion
|
|
@@ -695,24 +695,45 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
695
695
|
height: 100%;
|
|
696
696
|
}
|
|
697
697
|
.sd-scrollbar .os-scrollbar {
|
|
698
|
-
--os-size: 6px;
|
|
699
|
-
--os-handle-bg: var(
|
|
700
|
-
|
|
701
|
-
|
|
698
|
+
--os-size: var(--sd-scrollbar-size, 6px);
|
|
699
|
+
--os-handle-bg: var(
|
|
700
|
+
--sd-scrollbar-thumb-color,
|
|
701
|
+
var(--sd-color-neutral-4)
|
|
702
|
+
);
|
|
703
|
+
--os-handle-bg-hover: var(
|
|
704
|
+
--sd-scrollbar-thumb-color-hover,
|
|
705
|
+
var(--sd-color-neutral-5)
|
|
706
|
+
);
|
|
707
|
+
--os-handle-bg-active: var(
|
|
708
|
+
--sd-scrollbar-thumb-color-active,
|
|
709
|
+
var(--sd-color-neutral-6)
|
|
710
|
+
);
|
|
702
711
|
--os-track-bg: transparent;
|
|
703
712
|
--os-track-bg-hover: transparent;
|
|
704
713
|
--os-track-bg-active: transparent;
|
|
705
714
|
--os-padding-axis: 0;
|
|
706
715
|
--os-padding-perpendicular: 0;
|
|
707
|
-
--os-handle-border-radius:
|
|
716
|
+
--os-handle-border-radius: var(
|
|
717
|
+
--sd-scrollbar-thumb-radius,
|
|
718
|
+
6px
|
|
719
|
+
);
|
|
708
720
|
}
|
|
709
721
|
.sd-scrollbar .os-scrollbar-handle {
|
|
710
722
|
transition: background-color 0.16s ease, opacity 0.16s ease;
|
|
711
723
|
}
|
|
712
724
|
.sd-scrollbar .sd-scrollbar-theme-embed {
|
|
713
|
-
--os-handle-perpendicular-size:
|
|
714
|
-
|
|
715
|
-
|
|
725
|
+
--os-handle-perpendicular-size: var(
|
|
726
|
+
--sd-scrollbar-size,
|
|
727
|
+
6px
|
|
728
|
+
);
|
|
729
|
+
--os-handle-perpendicular-size-hover: var(
|
|
730
|
+
--sd-scrollbar-size,
|
|
731
|
+
6px
|
|
732
|
+
);
|
|
733
|
+
--os-handle-perpendicular-size-active: var(
|
|
734
|
+
--sd-scrollbar-size,
|
|
735
|
+
6px
|
|
736
|
+
);
|
|
716
737
|
--os-handle-interactive-area-offset: 0;
|
|
717
738
|
}
|
|
718
739
|
.sd-scrollbar .sd-scrollbar-theme-track {
|
|
@@ -721,16 +742,37 @@ html[data-overlayscrollbars-viewport~=scrollbarHidden] > body::-webkit-scrollbar
|
|
|
721
742
|
--os-track-bg-hover: var(--sd-color-neutral-1);
|
|
722
743
|
--os-track-bg-active: var(--sd-color-neutral-1);
|
|
723
744
|
--os-track-border: 1px solid var(--sd-color-neutral-3);
|
|
724
|
-
--os-handle-perpendicular-size:
|
|
745
|
+
--os-handle-perpendicular-size: var(
|
|
746
|
+
--sd-scrollbar-size,
|
|
747
|
+
6px
|
|
748
|
+
);
|
|
725
749
|
--os-padding-axis: -1px;
|
|
726
750
|
}
|
|
727
751
|
.sd-scrollbar.sd-scrollbar-type-embed .sd-scrollbar-theme-embed {
|
|
728
|
-
--os-handle-bg: var(
|
|
729
|
-
|
|
730
|
-
|
|
752
|
+
--os-handle-bg: var(
|
|
753
|
+
--sd-scrollbar-thumb-color,
|
|
754
|
+
var(--sd-color-neutral-4)
|
|
755
|
+
);
|
|
756
|
+
--os-handle-bg-hover: var(
|
|
757
|
+
--sd-scrollbar-thumb-color-hover,
|
|
758
|
+
var(--sd-color-neutral-5)
|
|
759
|
+
);
|
|
760
|
+
--os-handle-bg-active: var(
|
|
761
|
+
--sd-scrollbar-thumb-color-active,
|
|
762
|
+
var(--sd-color-neutral-6)
|
|
763
|
+
);
|
|
731
764
|
}
|
|
732
765
|
.sd-scrollbar.sd-scrollbar-type-track .sd-scrollbar-theme-track {
|
|
733
|
-
--os-handle-bg: var(
|
|
734
|
-
|
|
735
|
-
|
|
766
|
+
--os-handle-bg: var(
|
|
767
|
+
--sd-scrollbar-thumb-color,
|
|
768
|
+
var(--sd-color-neutral-4)
|
|
769
|
+
);
|
|
770
|
+
--os-handle-bg-hover: var(
|
|
771
|
+
--sd-scrollbar-thumb-color-hover,
|
|
772
|
+
var(--sd-color-neutral-5)
|
|
773
|
+
);
|
|
774
|
+
--os-handle-bg-active: var(
|
|
775
|
+
--sd-scrollbar-thumb-color-active,
|
|
776
|
+
var(--sd-color-neutral-6)
|
|
777
|
+
);
|
|
736
778
|
}
|
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
$scroll-prefix-cls: string.unquote('#{theme.$prefix}-scrollbar');
|
|
6
6
|
|
|
7
|
+
// Scrollbar design tokens are exposed as `--sd-scrollbar-*` CSS variables so
|
|
8
|
+
// they can be shared with the global native-scrollbar baseline (see
|
|
9
|
+
// `style/normalize.scss`) and overridden at runtime. Each `--os-*` mapping
|
|
10
|
+
// reads the shared variable and falls back to the component token, so the
|
|
11
|
+
// component renders identically when the variables are not set upstream and
|
|
12
|
+
// stays in sync with native scrollbars when they are.
|
|
7
13
|
.#{$scroll-prefix-cls} {
|
|
8
14
|
position: relative;
|
|
9
15
|
width: 100%;
|
|
@@ -18,16 +24,28 @@ $scroll-prefix-cls: string.unquote('#{theme.$prefix}-scrollbar');
|
|
|
18
24
|
}
|
|
19
25
|
|
|
20
26
|
.os-scrollbar {
|
|
21
|
-
--os-size: #{$scrollbar-thumb-bar-size};
|
|
22
|
-
--os-handle-bg:
|
|
23
|
-
|
|
24
|
-
|
|
27
|
+
--os-size: var(#{theme.$sd-cssvars-prefix}-scrollbar-size, #{$scrollbar-thumb-bar-size});
|
|
28
|
+
--os-handle-bg: var(
|
|
29
|
+
#{theme.$sd-cssvars-prefix}-scrollbar-thumb-color,
|
|
30
|
+
#{$scrollbar-thumb-bar-bg_color}
|
|
31
|
+
);
|
|
32
|
+
--os-handle-bg-hover: var(
|
|
33
|
+
#{theme.$sd-cssvars-prefix}-scrollbar-thumb-color-hover,
|
|
34
|
+
#{$scrollbar-thumb-bar-bg_color_hover}
|
|
35
|
+
);
|
|
36
|
+
--os-handle-bg-active: var(
|
|
37
|
+
#{theme.$sd-cssvars-prefix}-scrollbar-thumb-color-active,
|
|
38
|
+
#{$scrollbar-thumb-bar-bg_color_active}
|
|
39
|
+
);
|
|
25
40
|
--os-track-bg: transparent;
|
|
26
41
|
--os-track-bg-hover: transparent;
|
|
27
42
|
--os-track-bg-active: transparent;
|
|
28
43
|
--os-padding-axis: 0;
|
|
29
44
|
--os-padding-perpendicular: 0;
|
|
30
|
-
--os-handle-border-radius:
|
|
45
|
+
--os-handle-border-radius: var(
|
|
46
|
+
#{theme.$sd-cssvars-prefix}-scrollbar-thumb-radius,
|
|
47
|
+
#{$scrollbar-thumb-bar-border_radius}
|
|
48
|
+
);
|
|
31
49
|
}
|
|
32
50
|
|
|
33
51
|
.os-scrollbar-handle {
|
|
@@ -37,9 +55,18 @@ $scroll-prefix-cls: string.unquote('#{theme.$prefix}-scrollbar');
|
|
|
37
55
|
}
|
|
38
56
|
|
|
39
57
|
.#{$scroll-prefix-cls}-theme-embed {
|
|
40
|
-
--os-handle-perpendicular-size:
|
|
41
|
-
|
|
42
|
-
|
|
58
|
+
--os-handle-perpendicular-size: var(
|
|
59
|
+
#{theme.$sd-cssvars-prefix}-scrollbar-size,
|
|
60
|
+
#{$scrollbar-thumb-bar-size}
|
|
61
|
+
);
|
|
62
|
+
--os-handle-perpendicular-size-hover: var(
|
|
63
|
+
#{theme.$sd-cssvars-prefix}-scrollbar-size,
|
|
64
|
+
#{$scrollbar-thumb-bar-size}
|
|
65
|
+
);
|
|
66
|
+
--os-handle-perpendicular-size-active: var(
|
|
67
|
+
#{theme.$sd-cssvars-prefix}-scrollbar-size,
|
|
68
|
+
#{$scrollbar-thumb-bar-size}
|
|
69
|
+
);
|
|
43
70
|
--os-handle-interactive-area-offset: 0;
|
|
44
71
|
}
|
|
45
72
|
|
|
@@ -49,24 +76,45 @@ $scroll-prefix-cls: string.unquote('#{theme.$prefix}-scrollbar');
|
|
|
49
76
|
--os-track-bg-hover: #{$scrollbar-track-bg_color};
|
|
50
77
|
--os-track-bg-active: #{$scrollbar-track-bg_color};
|
|
51
78
|
--os-track-border: #{$scrollbar-track-border_size} solid #{$scrollbar-track-border_color};
|
|
52
|
-
--os-handle-perpendicular-size:
|
|
79
|
+
--os-handle-perpendicular-size: var(
|
|
80
|
+
#{theme.$sd-cssvars-prefix}-scrollbar-size,
|
|
81
|
+
#{$scrollbar-thumb-bar-size}
|
|
82
|
+
);
|
|
53
83
|
--os-padding-axis: #{($scrollbar-track-size - $scrollbar-thumb-bar-size) * 0.5 -
|
|
54
84
|
$scrollbar-track-border_size};
|
|
55
85
|
}
|
|
56
86
|
|
|
57
87
|
&#{&}-type-embed {
|
|
58
88
|
.#{$scroll-prefix-cls}-theme-embed {
|
|
59
|
-
--os-handle-bg:
|
|
60
|
-
|
|
61
|
-
|
|
89
|
+
--os-handle-bg: var(
|
|
90
|
+
#{theme.$sd-cssvars-prefix}-scrollbar-thumb-color,
|
|
91
|
+
#{$scrollbar-thumb-bar-bg_color}
|
|
92
|
+
);
|
|
93
|
+
--os-handle-bg-hover: var(
|
|
94
|
+
#{theme.$sd-cssvars-prefix}-scrollbar-thumb-color-hover,
|
|
95
|
+
#{$scrollbar-thumb-bar-bg_color_hover}
|
|
96
|
+
);
|
|
97
|
+
--os-handle-bg-active: var(
|
|
98
|
+
#{theme.$sd-cssvars-prefix}-scrollbar-thumb-color-active,
|
|
99
|
+
#{$scrollbar-thumb-bar-bg_color_active}
|
|
100
|
+
);
|
|
62
101
|
}
|
|
63
102
|
}
|
|
64
103
|
|
|
65
104
|
&#{&}-type-track {
|
|
66
105
|
.#{$scroll-prefix-cls}-theme-track {
|
|
67
|
-
--os-handle-bg:
|
|
68
|
-
|
|
69
|
-
|
|
106
|
+
--os-handle-bg: var(
|
|
107
|
+
#{theme.$sd-cssvars-prefix}-scrollbar-thumb-color,
|
|
108
|
+
#{$scrollbar-thumb-bar-bg_color}
|
|
109
|
+
);
|
|
110
|
+
--os-handle-bg-hover: var(
|
|
111
|
+
#{theme.$sd-cssvars-prefix}-scrollbar-thumb-color-hover,
|
|
112
|
+
#{$scrollbar-thumb-bar-bg_color_hover}
|
|
113
|
+
);
|
|
114
|
+
--os-handle-bg-active: var(
|
|
115
|
+
#{theme.$sd-cssvars-prefix}-scrollbar-thumb-color-active,
|
|
116
|
+
#{$scrollbar-thumb-bar-bg_color_active}
|
|
117
|
+
);
|
|
70
118
|
}
|
|
71
119
|
}
|
|
72
120
|
}
|
package/es/sd-vue.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";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { _objectSpread2 } from "../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/objectSpread2.js";
|
|
2
2
|
import { getPrefixCls } from "../_utils/global-config.js";
|
|
3
|
+
import Tooltip from "../tooltip/index.js";
|
|
3
4
|
import IconEye from "../icon/icon-eye/index.js";
|
|
4
5
|
import IconEyeInvisible from "../icon/icon-eye-invisible/index.js";
|
|
5
|
-
import Tooltip from "../tooltip/index.js";
|
|
6
6
|
import { PerformantEllipsis } from "../ellipsis/index.js";
|
|
7
7
|
import Copy from "../copy/index.js";
|
|
8
8
|
import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeModels, normalizeClass, openBlock, toDisplayString, unref, useModel, withCtx } from "vue";
|
package/es/select/index.d.ts
CHANGED
|
@@ -36,6 +36,10 @@ declare const Select: {
|
|
|
36
36
|
type: BooleanConstructor;
|
|
37
37
|
default: boolean;
|
|
38
38
|
};
|
|
39
|
+
readonly: {
|
|
40
|
+
type: (StringConstructor | BooleanConstructor)[];
|
|
41
|
+
default: boolean;
|
|
42
|
+
};
|
|
39
43
|
error: {
|
|
40
44
|
type: BooleanConstructor;
|
|
41
45
|
default: boolean;
|
|
@@ -179,6 +183,7 @@ declare const Select: {
|
|
|
179
183
|
}, import("vue").PublicProps, {
|
|
180
184
|
options: import("./interface").SelectOption[];
|
|
181
185
|
error: boolean;
|
|
186
|
+
readonly: string | boolean;
|
|
182
187
|
popupVisible: boolean;
|
|
183
188
|
defaultPopupVisible: boolean;
|
|
184
189
|
disabled: boolean;
|
|
@@ -1290,6 +1295,10 @@ declare const Select: {
|
|
|
1290
1295
|
type: BooleanConstructor;
|
|
1291
1296
|
default: boolean;
|
|
1292
1297
|
};
|
|
1298
|
+
readonly: {
|
|
1299
|
+
type: (StringConstructor | BooleanConstructor)[];
|
|
1300
|
+
default: boolean;
|
|
1301
|
+
};
|
|
1293
1302
|
error: {
|
|
1294
1303
|
type: BooleanConstructor;
|
|
1295
1304
|
default: boolean;
|
|
@@ -1418,6 +1427,7 @@ declare const Select: {
|
|
|
1418
1427
|
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
|
|
1419
1428
|
options: import("./interface").SelectOption[];
|
|
1420
1429
|
error: boolean;
|
|
1430
|
+
readonly: string | boolean;
|
|
1421
1431
|
popupVisible: boolean;
|
|
1422
1432
|
defaultPopupVisible: boolean;
|
|
1423
1433
|
disabled: boolean;
|
|
@@ -1486,6 +1496,10 @@ declare const Select: {
|
|
|
1486
1496
|
type: BooleanConstructor;
|
|
1487
1497
|
default: boolean;
|
|
1488
1498
|
};
|
|
1499
|
+
readonly: {
|
|
1500
|
+
type: (StringConstructor | BooleanConstructor)[];
|
|
1501
|
+
default: boolean;
|
|
1502
|
+
};
|
|
1489
1503
|
error: {
|
|
1490
1504
|
type: BooleanConstructor;
|
|
1491
1505
|
default: boolean;
|
|
@@ -1629,6 +1643,7 @@ declare const Select: {
|
|
|
1629
1643
|
}, string, {
|
|
1630
1644
|
options: import("./interface").SelectOption[];
|
|
1631
1645
|
error: boolean;
|
|
1646
|
+
readonly: string | boolean;
|
|
1632
1647
|
popupVisible: boolean;
|
|
1633
1648
|
defaultPopupVisible: boolean;
|
|
1634
1649
|
disabled: boolean;
|
package/es/select/select.d.ts
CHANGED
|
@@ -39,6 +39,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
39
39
|
type: BooleanConstructor;
|
|
40
40
|
default: boolean;
|
|
41
41
|
};
|
|
42
|
+
readonly: {
|
|
43
|
+
type: (StringConstructor | BooleanConstructor)[];
|
|
44
|
+
default: boolean;
|
|
45
|
+
};
|
|
42
46
|
error: {
|
|
43
47
|
type: BooleanConstructor;
|
|
44
48
|
default: boolean;
|
|
@@ -198,6 +202,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
198
202
|
type: BooleanConstructor;
|
|
199
203
|
default: boolean;
|
|
200
204
|
};
|
|
205
|
+
readonly: {
|
|
206
|
+
type: (StringConstructor | BooleanConstructor)[];
|
|
207
|
+
default: boolean;
|
|
208
|
+
};
|
|
201
209
|
error: {
|
|
202
210
|
type: BooleanConstructor;
|
|
203
211
|
default: boolean;
|
|
@@ -326,6 +334,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
326
334
|
}>, {
|
|
327
335
|
options: SelectOption[];
|
|
328
336
|
error: boolean;
|
|
337
|
+
readonly: string | boolean;
|
|
329
338
|
popupVisible: boolean;
|
|
330
339
|
defaultPopupVisible: boolean;
|
|
331
340
|
disabled: boolean;
|
package/es/select/select.js
CHANGED
|
@@ -6,16 +6,18 @@ import virtual_list_default from "../_components/virtual-list/index.js";
|
|
|
6
6
|
import { useAllowClear } from "../_hooks/use-allow-clear.js";
|
|
7
7
|
import { useDropdownVirtualListProps } from "../_hooks/use-dropdown-virtual-list-props.js";
|
|
8
8
|
import { resolveDropdownVirtualListProps } from "../_utils/virtual-dropdown.js";
|
|
9
|
+
import { useReadonlyTip, useReadonlyTipText } from "../_hooks/use-readonly-tip.js";
|
|
10
|
+
import Trigger from "../trigger/index.js";
|
|
11
|
+
import Tooltip from "../tooltip/index.js";
|
|
9
12
|
import { getKeyFromValue, hasEmptyStringKey, isGroupOptionInfo, isValidOption } from "./utils.js";
|
|
10
13
|
import { useSelect } from "./hooks/use-select.js";
|
|
11
14
|
import select_dropdown_default from "./select-dropdown.js";
|
|
12
|
-
import Trigger from "../trigger/index.js";
|
|
13
15
|
import { useTrigger } from "../_hooks/use-trigger.js";
|
|
14
16
|
import Checkbox from "../checkbox/index.js";
|
|
15
17
|
import select_view_default from "../_components/select-view/select-view.js";
|
|
16
18
|
import { useAllowSearch } from "../_hooks/use-allow-search.js";
|
|
17
19
|
import { debounce } from "../_utils/debounce.js";
|
|
18
|
-
import { computed, createVNode, defineComponent, isVNode, mergeProps, nextTick, ref, toRefs, watch, watchEffect } from "vue";
|
|
20
|
+
import { computed, createVNode, defineComponent, isVNode, mergeProps, nextTick, ref, toRef, toRefs, watch, watchEffect } from "vue";
|
|
19
21
|
//#region components/select/select.tsx
|
|
20
22
|
function _isSlot(s) {
|
|
21
23
|
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
@@ -76,6 +78,14 @@ var select_default = /* @__PURE__ */ defineComponent({
|
|
|
76
78
|
type: Boolean,
|
|
77
79
|
default: false
|
|
78
80
|
},
|
|
81
|
+
/**
|
|
82
|
+
* @zh 是否为只读状态
|
|
83
|
+
* @en Whether it is read-only
|
|
84
|
+
*/
|
|
85
|
+
readonly: {
|
|
86
|
+
type: [Boolean, String],
|
|
87
|
+
default: false
|
|
88
|
+
},
|
|
79
89
|
error: {
|
|
80
90
|
type: Boolean,
|
|
81
91
|
default: false
|
|
@@ -213,13 +223,22 @@ var select_default = /* @__PURE__ */ defineComponent({
|
|
|
213
223
|
const resolvedVirtualListProps = computed(() => {
|
|
214
224
|
return resolveDropdownVirtualListProps(mergedDropdownVirtualListProps.value, props.triggerProps, DEFAULT_SELECT_VIRTUAL_ITEM_SIZE);
|
|
215
225
|
});
|
|
216
|
-
const { computedPopupVisible, handlePopupVisibleChange } = useTrigger({
|
|
226
|
+
const { computedPopupVisible, handlePopupVisibleChange: _handlePopupVisibleChange } = useTrigger({
|
|
217
227
|
popupVisible,
|
|
218
228
|
defaultPopupVisible,
|
|
219
229
|
show,
|
|
220
230
|
defaultShow,
|
|
221
231
|
emit
|
|
222
232
|
});
|
|
233
|
+
const { tipVisible, show: showReadonlyTip } = useReadonlyTip(toRef(props, "readonly"), mergedDisabled);
|
|
234
|
+
const readonlyTipText = useReadonlyTipText(toRef(props, "readonly"));
|
|
235
|
+
const handlePopupVisibleChange = (visible) => {
|
|
236
|
+
if (visible && props.readonly && !mergedDisabled.value) {
|
|
237
|
+
showReadonlyTip();
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
_handlePopupVisibleChange(visible);
|
|
241
|
+
};
|
|
223
242
|
const _value = ref(props.defaultValue);
|
|
224
243
|
const computedValueObjects = computed(() => {
|
|
225
244
|
var _props$modelValue;
|
|
@@ -525,7 +544,11 @@ var select_default = /* @__PURE__ */ defineComponent({
|
|
|
525
544
|
return (_selectViewRef$value2 = selectViewRef.value) === null || _selectViewRef$value2 === void 0 || (_selectViewRef$value3 = _selectViewRef$value2.blur) === null || _selectViewRef$value3 === void 0 ? void 0 : _selectViewRef$value3.call(_selectViewRef$value2);
|
|
526
545
|
}
|
|
527
546
|
});
|
|
528
|
-
return () => createVNode(
|
|
547
|
+
return () => createVNode(Tooltip, {
|
|
548
|
+
"popupVisible": tipVisible.value,
|
|
549
|
+
"content": readonlyTipText.value,
|
|
550
|
+
"position": "top"
|
|
551
|
+
}, { default: () => [createVNode(Trigger, mergeProps({
|
|
529
552
|
"trigger": "click",
|
|
530
553
|
"position": "bl",
|
|
531
554
|
"popupOffset": 4,
|
|
@@ -578,7 +601,7 @@ var select_default = /* @__PURE__ */ defineComponent({
|
|
|
578
601
|
})];
|
|
579
602
|
},
|
|
580
603
|
content: renderDropDown
|
|
581
|
-
});
|
|
604
|
+
})] });
|
|
582
605
|
}
|
|
583
606
|
});
|
|
584
607
|
//#endregion
|