niuma-ui 2.0.3 → 2.0.4
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/CHANGELOG.md +38 -0
- package/dist/components/_shared/src/reka.d.ts +1 -1
- package/dist/components/_shared/src/reka.js +2 -2
- package/dist/components/anchor/index.d.ts +1 -1
- package/dist/components/anchor/src/RsAnchor.css +63 -32
- package/dist/components/anchor/src/RsAnchor.d.ts +29 -2
- package/dist/components/anchor/src/RsAnchor.impl.js +199 -81
- package/dist/components/anchor/src/RsAnchor.js +1 -1
- package/dist/components/anchor/src/anchor-utils.d.ts +36 -4
- package/dist/components/anchor/src/anchor-utils.js +81 -19
- package/dist/components/auto-complete/index.d.ts +2 -0
- package/dist/components/auto-complete/src/RsAutoComplete.css +122 -0
- package/dist/components/auto-complete/src/RsAutoComplete.d.ts +47 -7
- package/dist/components/auto-complete/src/RsAutoComplete.impl.js +180 -72
- package/dist/components/auto-complete/src/RsAutoComplete.js +4 -1
- package/dist/components/auto-complete/src/auto-complete-utils.d.ts +7 -0
- package/dist/components/auto-complete/src/auto-complete-utils.js +17 -0
- package/dist/components/avatar/index.d.ts +1 -0
- package/dist/components/avatar/src/RsAvatar.css +36 -19
- package/dist/components/avatar/src/RsAvatar.d.ts +9 -3
- package/dist/components/avatar/src/RsAvatar.impl.js +57 -33
- package/dist/components/avatar/src/RsAvatar.js +2 -1
- package/dist/components/avatar/src/avatar-utils.d.ts +16 -7
- package/dist/components/avatar/src/avatar-utils.js +41 -3
- package/dist/components/breadcrumb/index.d.ts +1 -1
- package/dist/components/breadcrumb/src/RsBreadcrumb.css +50 -17
- package/dist/components/breadcrumb/src/RsBreadcrumb.d.ts +45 -6
- package/dist/components/breadcrumb/src/RsBreadcrumb.impl.js +111 -12
- package/dist/components/breadcrumb/src/RsBreadcrumb.js +2 -1
- package/dist/components/breadcrumb/src/breadcrumb-utils.d.ts +37 -5
- package/dist/components/breadcrumb/src/breadcrumb-utils.js +70 -9
- package/dist/components/calendar-grid/index.d.ts +2 -0
- package/dist/components/calendar-grid/src/RsCalendarGrid.css +105 -45
- package/dist/components/calendar-grid/src/RsCalendarGrid.d.ts +62 -2
- package/dist/components/calendar-grid/src/RsCalendarGrid.impl.js +265 -94
- package/dist/components/calendar-grid/src/RsCalendarGrid.js +1 -1
- package/dist/components/calendar-grid/src/calendar-grid-utils.d.ts +72 -0
- package/dist/components/calendar-grid/src/calendar-grid-utils.js +122 -0
- package/dist/components/card/index.d.ts +1 -1
- package/dist/components/card/src/RsCard.css +108 -98
- package/dist/components/card/src/RsCard.d.ts +3 -12
- package/dist/components/card/src/RsCard.impl.js +29 -25
- package/dist/components/card/src/RsCard.js +2 -1
- package/dist/components/card/src/card-utils.d.ts +25 -0
- package/dist/components/card/src/card-utils.js +10 -0
- package/dist/components/cascader/index.d.ts +1 -0
- package/dist/components/cascader/src/RsCascader.css +175 -30
- package/dist/components/cascader/src/RsCascader.d.ts +15 -3
- package/dist/components/cascader/src/RsCascader.impl.js +277 -48
- package/dist/components/cascader/src/RsCascader.js +1 -1
- package/dist/components/cascader/src/cascader-utils.d.ts +2 -0
- package/dist/components/cascader/src/cascader-utils.js +8 -1
- package/dist/components/checkbox/index.d.ts +1 -0
- package/dist/components/checkbox/src/RsCheckbox.css +46 -23
- package/dist/components/checkbox/src/RsCheckbox.d.ts +11 -1
- package/dist/components/checkbox/src/RsCheckbox.impl.js +37 -9
- package/dist/components/checkbox/src/RsCheckbox.js +2 -1
- package/dist/components/checkbox/src/checkbox-utils.d.ts +4 -0
- package/dist/components/checkbox/src/checkbox-utils.js +12 -0
- package/dist/components/container/index.d.ts +1 -1
- package/dist/components/container/src/RsContainer.css +11 -11
- package/dist/components/container/src/RsContainer.d.ts +2 -12
- package/dist/components/container/src/RsContainer.impl.js +10 -57
- package/dist/components/container/src/RsContainer.js +1 -1
- package/dist/components/container/src/container-utils.d.ts +23 -0
- package/dist/components/container/src/container-utils.js +51 -0
- package/dist/components/date-picker/index.d.ts +4 -2
- package/dist/components/date-picker/src/RsDatePicker.css +42 -22
- package/dist/components/date-picker/src/RsDatePicker.d.ts +44 -20
- package/dist/components/date-picker/src/RsDatePicker.impl.js +484 -222
- package/dist/components/date-picker/src/RsDatePicker.js +1 -3
- package/dist/components/date-picker/src/RsDateTimePicker.d.ts +33 -6
- package/dist/components/date-picker/src/RsDateTimePicker.impl.js +47 -6
- package/dist/components/date-picker/src/date-picker-utils.d.ts +19 -0
- package/dist/components/date-picker/src/date-picker-utils.js +33 -10
- package/dist/components/dynamic-tags/index.d.ts +1 -1
- package/dist/components/dynamic-tags/src/RsDynamicTags.css +115 -38
- package/dist/components/dynamic-tags/src/RsDynamicTags.d.ts +58 -17
- package/dist/components/dynamic-tags/src/RsDynamicTags.impl.js +269 -106
- package/dist/components/dynamic-tags/src/RsDynamicTags.js +1 -1
- package/dist/components/dynamic-tags/src/dynamic-tags-utils.d.ts +19 -0
- package/dist/components/dynamic-tags/src/dynamic-tags-utils.js +60 -0
- package/dist/components/fieldset/src/RsFieldset.css +71 -41
- package/dist/components/fieldset/src/RsFieldset.d.ts +21 -2
- package/dist/components/fieldset/src/RsFieldset.impl.js +93 -26
- package/dist/components/fieldset/src/RsFieldset.js +1 -1
- package/dist/components/fieldset/src/fieldset-utils.d.ts +4 -0
- package/dist/components/fieldset/src/fieldset-utils.js +9 -1
- package/dist/components/form/index.d.ts +1 -0
- package/dist/components/form/src/RsForm.css +15 -12
- package/dist/components/form/src/RsForm.d.ts +20 -22
- package/dist/components/form/src/RsForm.impl.js +33 -20
- package/dist/components/form/src/RsForm.js +1 -1
- package/dist/components/form/src/form-utils.d.ts +7 -0
- package/dist/components/form/src/form-utils.js +28 -1
- package/dist/components/input/index.d.ts +1 -1
- package/dist/components/input/src/RsInput.css +78 -260
- package/dist/components/input/src/RsInput.d.ts +5 -3
- package/dist/components/input/src/RsInput.impl.js +8 -16
- package/dist/components/input/src/RsInput.js +1 -1
- package/dist/components/input/src/input-utils.d.ts +11 -0
- package/dist/components/input/src/input-utils.js +22 -0
- package/dist/components/input-number/index.d.ts +1 -0
- package/dist/components/input-number/src/RsInputNumber.css +31 -31
- package/dist/components/input-number/src/RsInputNumber.d.ts +15 -13
- package/dist/components/input-number/src/RsInputNumber.impl.js +17 -4
- package/dist/components/input-number/src/RsInputNumber.js +1 -1
- package/dist/components/label/src/RsLabel.css +30 -11
- package/dist/components/label/src/RsLabel.d.ts +18 -1
- package/dist/components/label/src/RsLabel.impl.js +63 -10
- package/dist/components/label/src/RsLabel.js +1 -1
- package/dist/components/label/src/label-utils.d.ts +6 -0
- package/dist/components/label/src/label-utils.js +16 -0
- package/dist/components/link/src/RsLink.d.ts +2 -2
- package/dist/components/loading/src/RsLoading.d.ts +1 -1
- package/dist/components/mentions/index.d.ts +2 -1
- package/dist/components/mentions/src/RsMentions.css +119 -3
- package/dist/components/mentions/src/RsMentions.d.ts +56 -4
- package/dist/components/mentions/src/RsMentions.impl.js +298 -79
- package/dist/components/mentions/src/RsMentions.js +1 -3
- package/dist/components/mentions/src/mentions-utils.d.ts +5 -1
- package/dist/components/mentions/src/mentions-utils.js +28 -9
- package/dist/components/popover/src/RsPopover.d.ts +1 -1
- package/dist/components/radio/index.d.ts +1 -1
- package/dist/components/radio/src/RsRadio.css +7 -6
- package/dist/components/radio/src/RsRadio.d.ts +8 -5
- package/dist/components/radio/src/RsRadio.impl.js +34 -24
- package/dist/components/radio/src/RsRadio.js +2 -1
- package/dist/components/radio/src/RsRadioItem.css +61 -44
- package/dist/components/radio/src/RsRadioItem.d.ts +2 -2
- package/dist/components/radio/src/RsRadioItem.impl.js +53 -20
- package/dist/components/radio/src/RsRadioItem.js +2 -1
- package/dist/components/radio/src/radio-utils.d.ts +12 -1
- package/dist/components/radio/src/radio-utils.js +15 -1
- package/dist/components/scrollbar/src/RsScrollbar.css +71 -24
- package/dist/components/scrollbar/src/RsScrollbar.d.ts +9 -5
- package/dist/components/scrollbar/src/RsScrollbar.impl.js +372 -47
- package/dist/components/scrollbar/src/RsScrollbar.js +2 -1
- package/dist/components/scrollbar/src/scrollbar-utils.d.ts +34 -2
- package/dist/components/scrollbar/src/scrollbar-utils.js +64 -1
- package/dist/components/select/index.d.ts +1 -0
- package/dist/components/select/src/RsSelect.css +54 -42
- package/dist/components/select/src/RsSelect.d.ts +19 -2
- package/dist/components/select/src/RsSelect.impl.js +727 -312
- package/dist/components/select/src/RsSelect.js +1 -1
- package/dist/components/select/src/select-utils.d.ts +4 -2
- package/dist/components/select/src/select-utils.js +8 -3
- package/dist/components/select/src/use-rs-select.d.ts +1 -0
- package/dist/components/select/src/use-rs-select.js +23 -17
- package/dist/components/switch/index.d.ts +2 -1
- package/dist/components/switch/src/RsSwitch.css +36 -18
- package/dist/components/switch/src/RsSwitch.d.ts +18 -5
- package/dist/components/switch/src/RsSwitch.impl.js +61 -29
- package/dist/components/switch/src/RsSwitch.js +2 -1
- package/dist/components/switch/src/switch-utils.d.ts +4 -0
- package/dist/components/switch/src/switch-utils.js +9 -0
- package/dist/components/textarea/src/RsTextarea.css +23 -23
- package/dist/components/textarea/src/RsTextarea.d.ts +6 -12
- package/dist/components/textarea/src/RsTextarea.impl.js +37 -46
- package/dist/components/textarea/src/RsTextarea.js +1 -1
- package/dist/components/textarea/src/textarea-utils.d.ts +27 -0
- package/dist/components/textarea/src/textarea-utils.js +61 -0
- package/dist/components/time-picker/index.d.ts +3 -2
- package/dist/components/time-picker/src/RsTimePicker.css +41 -24
- package/dist/components/time-picker/src/RsTimePicker.d.ts +52 -7
- package/dist/components/time-picker/src/RsTimePicker.impl.js +520 -156
- package/dist/components/time-picker/src/RsTimePicker.js +1 -3
- package/dist/components/time-picker/src/RsTimePickerColumns.css +26 -18
- package/dist/components/time-picker/src/RsTimePickerColumns.d.ts +3 -1
- package/dist/components/time-picker/src/RsTimePickerColumns.impl.js +62 -9
- package/dist/components/time-picker/src/RsTimePickerColumns.js +1 -1
- package/dist/components/time-picker/src/time-picker-utils.d.ts +38 -0
- package/dist/components/time-picker/src/time-picker-utils.js +97 -5
- package/dist/components/toaster/src/RsToaster.d.ts +1 -1
- package/dist/components/tooltip/src/RsTooltip.d.ts +1 -1
- package/dist/components/tree/src/RsTree.d.ts +3 -3
- package/dist/components/tree-select/index.d.ts +2 -0
- package/dist/components/tree-select/src/RsTreeSelect.css +100 -25
- package/dist/components/tree-select/src/RsTreeSelect.d.ts +91 -7
- package/dist/components/tree-select/src/RsTreeSelect.impl.js +464 -79
- package/dist/components/tree-select/src/RsTreeSelect.js +1 -1
- package/dist/components/tree-select/src/tree-select-utils.d.ts +20 -0
- package/dist/components/tree-select/src/tree-select-utils.js +60 -0
- package/dist/components/upload/index.d.ts +2 -1
- package/dist/components/upload/src/RsUpload.css +223 -75
- package/dist/components/upload/src/RsUpload.d.ts +77 -1
- package/dist/components/upload/src/RsUpload.impl.js +404 -90
- package/dist/components/upload/src/RsUpload.js +1 -1
- package/dist/components/upload/src/upload-utils.d.ts +21 -2
- package/dist/components/upload/src/upload-utils.js +139 -9
- package/dist/index.d.ts +21 -11
- package/dist/index.js +6 -0
- package/dist/locale/messages.js +46 -2
- package/dist/styles.css +518 -154
- package/dist/theme/brand.example.css +1 -1
- package/package.json +1 -1
- package/dist/components/breadcrumb/src/RsBreadcrumbItems.d.ts +0 -8
- package/dist/components/breadcrumb/src/RsBreadcrumbItems.impl.js +0 -40
- package/dist/components/breadcrumb/src/RsBreadcrumbItems.js +0 -5
- package/dist/components/date-picker/src/RsDatePicker-1.css +0 -157
- package/dist/components/mentions/src/RsMentions-1.css +0 -29
- package/dist/components/time-picker/src/RsTimePicker-1.css +0 -98
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { RsComponentSize, RsRadius } from '../../../theme/types';
|
|
2
2
|
import { type RsInputRule, type RsInputValidateTrigger } from './input-rules';
|
|
3
|
+
import { type RsInputType } from './input-utils';
|
|
3
4
|
import { type RsFormLabelPosition } from '../../form/src/form-utils';
|
|
4
5
|
import { type RsFormRuleTrigger } from '../../form/src/form-rules';
|
|
5
6
|
/**
|
|
@@ -16,9 +17,10 @@ export interface RsInputExpose {
|
|
|
16
17
|
export type RsInputInstance = RsInputExpose & {
|
|
17
18
|
$el: HTMLElement;
|
|
18
19
|
};
|
|
20
|
+
export type { RsInputType };
|
|
19
21
|
type __VLS_Props = {
|
|
20
22
|
id?: string;
|
|
21
|
-
type?:
|
|
23
|
+
type?: RsInputType;
|
|
22
24
|
placeholder?: string;
|
|
23
25
|
disabled?: boolean;
|
|
24
26
|
readonly?: boolean;
|
|
@@ -126,9 +128,9 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, RsInp
|
|
|
126
128
|
onPressEnter?: ((event: KeyboardEvent) => any) | undefined;
|
|
127
129
|
onAddonAfterClick?: ((event: MouseEvent) => any) | undefined;
|
|
128
130
|
}>, {
|
|
129
|
-
type: "text" | "email" | "password" | "search" | "tel" | "url" | "number" | "date" | "datetime-local";
|
|
130
|
-
invalid: boolean;
|
|
131
131
|
required: boolean;
|
|
132
|
+
type: RsInputType;
|
|
133
|
+
invalid: boolean;
|
|
132
134
|
disabled: boolean;
|
|
133
135
|
readonly: boolean;
|
|
134
136
|
validateTrigger: RsInputValidateTrigger;
|
|
@@ -4,6 +4,7 @@ import { buildLocalInputRules, runFormFieldRules } from "../../form/src/form-rul
|
|
|
4
4
|
import { isRsFormItemBoundControl, useRsFormContext, useRsFormField, useRsFormItemContext } from "../../form/src/form-utils.js";
|
|
5
5
|
import { useResolvedRsComponentSize } from "../../_shared/src/resolve-size.js";
|
|
6
6
|
import { rsRadiusCss, useResolvedRsRadius } from "../../_shared/src/resolve-radius.js";
|
|
7
|
+
import { hasRsInputAddonAfterContent, normalizeRsInputValue, resolveRsInputAutocomplete, resolveRsInputControlType } from "./input-utils.js";
|
|
7
8
|
import RsVNodeHost_default from "../../vnode-host/src/RsVNodeHost.js";
|
|
8
9
|
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, guardReactiveProps, mergeModels, mergeProps, normalizeClass, normalizeProps, normalizeStyle, openBlock, ref, renderSlot, toDisplayString, unref, useAttrs, useId, useModel, useSlots, withModifiers } from "vue";
|
|
9
10
|
//#region src/components/input/src/RsInput.vue?vue&type=script&setup=true&lang.ts
|
|
@@ -64,6 +65,7 @@ var _hoisted_15 = {
|
|
|
64
65
|
class: "rs-field__hint"
|
|
65
66
|
};
|
|
66
67
|
var RsInput_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
68
|
+
name: "RsInput",
|
|
67
69
|
inheritAttrs: false,
|
|
68
70
|
__name: "RsInput",
|
|
69
71
|
props: /*@__PURE__*/ mergeModels({
|
|
@@ -140,10 +142,10 @@ var RsInput_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
|
|
|
140
142
|
*/
|
|
141
143
|
const model = useModel(__props, "modelValue", {
|
|
142
144
|
get(value) {
|
|
143
|
-
return
|
|
145
|
+
return normalizeRsInputValue(value);
|
|
144
146
|
},
|
|
145
147
|
set(value) {
|
|
146
|
-
return
|
|
148
|
+
return normalizeRsInputValue(value);
|
|
147
149
|
}
|
|
148
150
|
});
|
|
149
151
|
const props = __props;
|
|
@@ -167,15 +169,11 @@ var RsInput_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
|
|
|
167
169
|
const hasCustomSuffix = computed(() => Boolean(props.suffix || slots.suffix));
|
|
168
170
|
const hasAddonBefore = computed(() => Boolean(props.addonBefore || slots.addonBefore));
|
|
169
171
|
/** 插槽或文本 addonAfter 内容(优先于图标按钮) */
|
|
170
|
-
const hasAddonAfterContent = computed(() => Boolean(slots.addonAfter)
|
|
172
|
+
const hasAddonAfterContent = computed(() => hasRsInputAddonAfterContent(Boolean(slots.addonAfter), props.addonAfter));
|
|
171
173
|
const hasAddonAfter = computed(() => hasAddonAfterContent.value || Boolean(props.addonAfterIcon));
|
|
172
174
|
const hasAddon = computed(() => hasAddonBefore.value || hasAddonAfter.value);
|
|
173
175
|
const resolvedId = computed(() => props.id ?? fieldId);
|
|
174
|
-
|
|
175
|
-
const resolvedAutocomplete = computed(() => {
|
|
176
|
-
if (props.autocomplete != null && props.autocomplete !== "") return props.autocomplete;
|
|
177
|
-
return props.type === "password" ? "new-password" : "off";
|
|
178
|
-
});
|
|
176
|
+
const resolvedAutocomplete = computed(() => resolveRsInputAutocomplete(props.autocomplete, props.type));
|
|
179
177
|
const resolvedLabelPosition = computed(() => props.labelPosition ?? formContext?.labelPosition.value ?? "top");
|
|
180
178
|
const resolvedLabelAlign = computed(() => formContext?.labelAlign.value ?? "start");
|
|
181
179
|
const errorId = computed(() => `${resolvedId.value}-error`);
|
|
@@ -209,10 +207,7 @@ var RsInput_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
|
|
|
209
207
|
const resolvedRadius = useResolvedRsRadius(() => props.radius, "sm");
|
|
210
208
|
const radiusStyle = computed(() => ({ "--rs-input-radius": rsRadiusCss(resolvedRadius.value) }));
|
|
211
209
|
const resolvedShowPassword = computed(() => props.type === "password" && props.visibilityToggle);
|
|
212
|
-
const resolvedInputType = computed(() =>
|
|
213
|
-
if (props.type === "password" && passwordVisible.value) return "text";
|
|
214
|
-
return props.type;
|
|
215
|
-
});
|
|
210
|
+
const resolvedInputType = computed(() => resolveRsInputControlType(props.type, passwordVisible.value));
|
|
216
211
|
const hasValue = computed(() => model.value.length > 0);
|
|
217
212
|
const showClearButton = computed(() => props.clearable && hasValue.value && !resolvedDisabled.value && !resolvedReadonly.value);
|
|
218
213
|
const showPasswordToggle = computed(() => props.type === "password" && resolvedShowPassword.value && !resolvedDisabled.value);
|
|
@@ -221,9 +216,6 @@ var RsInput_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
|
|
|
221
216
|
/** 无 addonAfter 内容时用组件自绘的后置图标按钮 */
|
|
222
217
|
const showAddonAfterIcon = computed(() => Boolean(props.addonAfterIcon) && !hasAddonAfterContent.value);
|
|
223
218
|
const hasSuffix = computed(() => Boolean(hasCustomSuffix.value || showClearButton.value || showPasswordToggle.value || showCountDisplay.value));
|
|
224
|
-
/**
|
|
225
|
-
* 点击框外后置图标按钮
|
|
226
|
-
*/
|
|
227
219
|
function onAddonAfterIconClick(event) {
|
|
228
220
|
if (resolvedDisabled.value || resolvedReadonly.value) return;
|
|
229
221
|
emit("addonAfterClick", event);
|
|
@@ -300,7 +292,7 @@ var RsInput_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
|
|
|
300
292
|
passwordVisible.value = !passwordVisible.value;
|
|
301
293
|
}
|
|
302
294
|
function setValue(value) {
|
|
303
|
-
model.value =
|
|
295
|
+
model.value = normalizeRsInputValue(value);
|
|
304
296
|
}
|
|
305
297
|
function clearValidation() {
|
|
306
298
|
touched.value = false;
|
|
@@ -3,6 +3,6 @@ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_exp
|
|
|
3
3
|
import RsInput_vue_vue_type_script_setup_true_lang_default from "./RsInput.impl.js";
|
|
4
4
|
|
|
5
5
|
//#region src/components/input/src/RsInput.vue
|
|
6
|
-
var RsInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsInput_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
6
|
+
var RsInput_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsInput_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-ecc31779"]]);
|
|
7
7
|
//#endregion
|
|
8
8
|
export { RsInput_default as default };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const RS_INPUT_TYPES: readonly ["text", "email", "password", "search", "tel", "url", "number", "date", "datetime-local"];
|
|
2
|
+
export type RsInputType = (typeof RS_INPUT_TYPES)[number];
|
|
3
|
+
export declare function isRsInputType(value: unknown): value is RsInputType;
|
|
4
|
+
export declare function resolveRsInputType(type?: string | null): RsInputType;
|
|
5
|
+
/** modelValue 契约恒为 string;兜住外部误传 number / null。 */
|
|
6
|
+
export declare function normalizeRsInputValue(value: unknown): string;
|
|
7
|
+
/** 未显式传 autocomplete 时关闭快捷填充;密码框用 new-password 更稳。 */
|
|
8
|
+
export declare function resolveRsInputAutocomplete(autocomplete: string | undefined, type: string): string;
|
|
9
|
+
/** 密码显隐:可见时原生 type 改成 text,其余跟 prop。 */
|
|
10
|
+
export declare function resolveRsInputControlType(type: string, passwordVisible: boolean): string;
|
|
11
|
+
export declare function hasRsInputAddonAfterContent(hasSlot: boolean, addonAfter?: string | null): boolean;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/components/input/src/input-utils.ts
|
|
2
|
+
/** modelValue 契约恒为 string;兜住外部误传 number / null。 */
|
|
3
|
+
function normalizeRsInputValue(value) {
|
|
4
|
+
if (typeof value === "string") return value;
|
|
5
|
+
if (typeof value === "number" || typeof value === "boolean" || typeof value === "bigint") return `${value}`;
|
|
6
|
+
return "";
|
|
7
|
+
}
|
|
8
|
+
/** 未显式传 autocomplete 时关闭快捷填充;密码框用 new-password 更稳。 */
|
|
9
|
+
function resolveRsInputAutocomplete(autocomplete, type) {
|
|
10
|
+
if (autocomplete != null && autocomplete !== "") return autocomplete;
|
|
11
|
+
return type === "password" ? "new-password" : "off";
|
|
12
|
+
}
|
|
13
|
+
/** 密码显隐:可见时原生 type 改成 text,其余跟 prop。 */
|
|
14
|
+
function resolveRsInputControlType(type, passwordVisible) {
|
|
15
|
+
if (type === "password" && passwordVisible) return "text";
|
|
16
|
+
return type;
|
|
17
|
+
}
|
|
18
|
+
function hasRsInputAddonAfterContent(hasSlot, addonAfter) {
|
|
19
|
+
return hasSlot || addonAfter != null && addonAfter !== "";
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { hasRsInputAddonAfterContent, normalizeRsInputValue, resolveRsInputAutocomplete, resolveRsInputControlType };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { default as RsInputNumber } from './src/RsInputNumber.js';
|
|
2
|
+
export type { RsInputNumberExpose, RsInputNumberInstance } from './src/RsInputNumber.js';
|
|
2
3
|
export type { RsInputNumberValue } from './src/input-number-utils';
|
|
3
4
|
export { clampNumber, formatNumberValue, fromModelValue, isNumberInputInterim, normalizeCommittedNumber, parseNumberInput, resolveNumberPrecision, roundToPrecision, stepNumberValue, toModelValue, } from './src/input-number-utils';
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
|
|
2
|
-
.rs-input-number-field[data-v-
|
|
2
|
+
.rs-input-number-field[data-v-d46f1e7f] {
|
|
3
3
|
width: 100%;
|
|
4
4
|
}
|
|
5
|
-
.rs-field--label-left .rs-input-number-field[data-v-
|
|
5
|
+
.rs-field--label-left .rs-input-number-field[data-v-d46f1e7f] {
|
|
6
6
|
grid-column: 2;
|
|
7
7
|
min-width: 0;
|
|
8
8
|
}
|
|
9
|
-
.rs-field--label-left .rs-input-number-field__error[data-v-
|
|
9
|
+
.rs-field--label-left .rs-input-number-field__error[data-v-d46f1e7f] {
|
|
10
10
|
grid-column: 2;
|
|
11
11
|
}
|
|
12
|
-
.rs-field--label-left .rs-field__label[data-v-
|
|
12
|
+
.rs-field--label-left .rs-field__label[data-v-d46f1e7f] {
|
|
13
13
|
display: flex;
|
|
14
14
|
align-items: center;
|
|
15
15
|
min-height: var(--rs-control-height-md);
|
|
16
16
|
}
|
|
17
|
-
.rs-input-number-field--ssm.rs-field--label-left .rs-field__label[data-v-
|
|
17
|
+
.rs-input-number-field--ssm.rs-field--label-left .rs-field__label[data-v-d46f1e7f] {
|
|
18
18
|
min-height: var(--rs-control-height-ssm);
|
|
19
19
|
}
|
|
20
|
-
.rs-input-number-field--sm.rs-field--label-left .rs-field__label[data-v-
|
|
20
|
+
.rs-input-number-field--sm.rs-field--label-left .rs-field__label[data-v-d46f1e7f] {
|
|
21
21
|
min-height: var(--rs-control-height-sm);
|
|
22
22
|
}
|
|
23
|
-
.rs-input-number-field--lg.rs-field--label-left .rs-field__label[data-v-
|
|
23
|
+
.rs-input-number-field--lg.rs-field--label-left .rs-field__label[data-v-d46f1e7f] {
|
|
24
24
|
min-height: var(--rs-control-height-lg);
|
|
25
25
|
}
|
|
26
|
-
.rs-input-number[data-v-
|
|
26
|
+
.rs-input-number[data-v-d46f1e7f] {
|
|
27
27
|
display: flex;
|
|
28
28
|
align-items: stretch;
|
|
29
29
|
box-sizing: border-box;
|
|
@@ -40,44 +40,44 @@
|
|
|
40
40
|
background var(--rs-transition-fast);
|
|
41
41
|
overflow: hidden;
|
|
42
42
|
}
|
|
43
|
-
.rs-input-number--ssm[data-v-
|
|
43
|
+
.rs-input-number--ssm[data-v-d46f1e7f] {
|
|
44
44
|
height: var(--rs-control-height-ssm);
|
|
45
45
|
min-height: var(--rs-control-height-ssm);
|
|
46
46
|
}
|
|
47
|
-
.rs-input-number--sm[data-v-
|
|
47
|
+
.rs-input-number--sm[data-v-d46f1e7f] {
|
|
48
48
|
height: var(--rs-control-height-sm);
|
|
49
49
|
min-height: var(--rs-control-height-sm);
|
|
50
50
|
}
|
|
51
|
-
.rs-input-number--lg[data-v-
|
|
51
|
+
.rs-input-number--lg[data-v-d46f1e7f] {
|
|
52
52
|
height: var(--rs-control-height-lg);
|
|
53
53
|
min-height: var(--rs-control-height-lg);
|
|
54
54
|
}
|
|
55
|
-
.rs-input-number[data-v-
|
|
55
|
+
.rs-input-number[data-v-d46f1e7f]:hover:not(.rs-input-number--disabled):not(.rs-input-number--readonly):not(
|
|
56
56
|
:focus-within
|
|
57
57
|
) {
|
|
58
58
|
border-color: var(--rs-input-border-hover, var(--rs-border));
|
|
59
59
|
}
|
|
60
|
-
.rs-input-number[data-v-
|
|
60
|
+
.rs-input-number[data-v-d46f1e7f]:focus-within {
|
|
61
61
|
border-color: var(--rs-focus-border, var(--rs-primary));
|
|
62
62
|
box-shadow:
|
|
63
63
|
var(--rs-input-shadow, none),
|
|
64
64
|
0 0 0 var(--rs-focus-ring-width, 2px) var(--rs-focus-ring);
|
|
65
65
|
}
|
|
66
|
-
.rs-input-number--invalid[data-v-
|
|
66
|
+
.rs-input-number--invalid[data-v-d46f1e7f] {
|
|
67
67
|
border-color: var(--rs-danger);
|
|
68
68
|
}
|
|
69
|
-
.rs-input-number--invalid[data-v-
|
|
69
|
+
.rs-input-number--invalid[data-v-d46f1e7f]:focus-within {
|
|
70
70
|
border-color: var(--rs-danger);
|
|
71
71
|
box-shadow:
|
|
72
72
|
var(--rs-input-shadow, none),
|
|
73
73
|
0 0 0 var(--rs-focus-ring-width, 2px) color-mix(in srgb, var(--rs-danger) 14%, transparent);
|
|
74
74
|
}
|
|
75
|
-
.rs-input-number--disabled[data-v-
|
|
75
|
+
.rs-input-number--disabled[data-v-d46f1e7f] {
|
|
76
76
|
opacity: 0.55;
|
|
77
77
|
cursor: not-allowed;
|
|
78
78
|
background: var(--rs-surface-hover);
|
|
79
79
|
}
|
|
80
|
-
.rs-input-number__control[data-v-
|
|
80
|
+
.rs-input-number__control[data-v-d46f1e7f] {
|
|
81
81
|
flex: 1;
|
|
82
82
|
align-self: stretch;
|
|
83
83
|
min-width: 0;
|
|
@@ -95,27 +95,27 @@
|
|
|
95
95
|
appearance: textfield;
|
|
96
96
|
-moz-appearance: textfield;
|
|
97
97
|
}
|
|
98
|
-
.rs-input-number__control--ssm[data-v-
|
|
98
|
+
.rs-input-number__control--ssm[data-v-d46f1e7f] {
|
|
99
99
|
padding: 0 var(--rs-space-xs);
|
|
100
100
|
font-size: var(--rs-font-size-xs);
|
|
101
101
|
}
|
|
102
|
-
.rs-input-number__control--sm[data-v-
|
|
102
|
+
.rs-input-number__control--sm[data-v-d46f1e7f] {
|
|
103
103
|
padding: 0 var(--rs-space-sm);
|
|
104
104
|
font-size: var(--rs-font-size-xs);
|
|
105
105
|
}
|
|
106
|
-
.rs-input-number__control--lg[data-v-
|
|
106
|
+
.rs-input-number__control--lg[data-v-d46f1e7f] {
|
|
107
107
|
padding: 0 var(--rs-space-lg);
|
|
108
108
|
font-size: var(--rs-font-size-base);
|
|
109
109
|
}
|
|
110
|
-
.rs-input-number__control[data-v-
|
|
110
|
+
.rs-input-number__control[data-v-d46f1e7f]:disabled {
|
|
111
111
|
cursor: not-allowed;
|
|
112
112
|
}
|
|
113
|
-
.rs-input-number__control[data-v-
|
|
114
|
-
.rs-input-number__control[data-v-
|
|
113
|
+
.rs-input-number__control[data-v-d46f1e7f]::-webkit-outer-spin-button,
|
|
114
|
+
.rs-input-number__control[data-v-d46f1e7f]::-webkit-inner-spin-button {
|
|
115
115
|
-webkit-appearance: none;
|
|
116
116
|
margin: 0;
|
|
117
117
|
}
|
|
118
|
-
.rs-input-number__handlers[data-v-
|
|
118
|
+
.rs-input-number__handlers[data-v-d46f1e7f] {
|
|
119
119
|
display: flex;
|
|
120
120
|
flex-direction: column;
|
|
121
121
|
flex-shrink: 0;
|
|
@@ -126,11 +126,11 @@
|
|
|
126
126
|
overflow: hidden;
|
|
127
127
|
border-inline-start: 1px solid var(--rs-input-border, var(--rs-border));
|
|
128
128
|
}
|
|
129
|
-
.rs-input-number--ssm .rs-input-number__handlers[data-v-
|
|
130
|
-
.rs-input-number--sm .rs-input-number__handlers[data-v-
|
|
129
|
+
.rs-input-number--ssm .rs-input-number__handlers[data-v-d46f1e7f],
|
|
130
|
+
.rs-input-number--sm .rs-input-number__handlers[data-v-d46f1e7f] {
|
|
131
131
|
width: 18px;
|
|
132
132
|
}
|
|
133
|
-
.rs-input-number__handler[data-v-
|
|
133
|
+
.rs-input-number__handler[data-v-d46f1e7f] {
|
|
134
134
|
flex: 1 1 0;
|
|
135
135
|
min-height: 0;
|
|
136
136
|
display: inline-flex;
|
|
@@ -144,18 +144,18 @@
|
|
|
144
144
|
cursor: pointer;
|
|
145
145
|
line-height: 1;
|
|
146
146
|
}
|
|
147
|
-
.rs-input-number__handler[data-v-
|
|
147
|
+
.rs-input-number__handler[data-v-d46f1e7f]:hover:not(:disabled) {
|
|
148
148
|
color: var(--rs-text);
|
|
149
149
|
background: var(--rs-surface-hover);
|
|
150
150
|
}
|
|
151
|
-
.rs-input-number__handler[data-v-
|
|
151
|
+
.rs-input-number__handler[data-v-d46f1e7f]:disabled {
|
|
152
152
|
opacity: 0.35;
|
|
153
153
|
cursor: not-allowed;
|
|
154
154
|
}
|
|
155
|
-
.rs-input-number__handler--up[data-v-
|
|
155
|
+
.rs-input-number__handler--up[data-v-d46f1e7f] {
|
|
156
156
|
border-bottom: 1px solid var(--rs-input-border, var(--rs-border));
|
|
157
157
|
}
|
|
158
|
-
.rs-input-number-field__error[data-v-
|
|
158
|
+
.rs-input-number-field__error[data-v-d46f1e7f] {
|
|
159
159
|
margin: 4px 0 0;
|
|
160
160
|
font-size: var(--rs-font-size-xs);
|
|
161
161
|
color: var(--rs-danger);
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import type { RsComponentSize, RsRadius } from '../../../theme/types';
|
|
2
2
|
import { type RsFormLabelPosition } from '../../form/src/form-utils';
|
|
3
3
|
import { type RsInputNumberValue } from './input-number-utils';
|
|
4
|
+
export interface RsInputNumberExpose {
|
|
5
|
+
focus: () => void;
|
|
6
|
+
blur: () => void;
|
|
7
|
+
commit: (raw?: string) => void;
|
|
8
|
+
setValue: (value: unknown) => void;
|
|
9
|
+
step: (direction: 1 | -1) => void;
|
|
10
|
+
}
|
|
11
|
+
/** 模板 ref 实例:expose + 根节点 */
|
|
12
|
+
export type RsInputNumberInstance = RsInputNumberExpose & {
|
|
13
|
+
$el: HTMLElement;
|
|
14
|
+
};
|
|
4
15
|
type __VLS_Props = {
|
|
5
16
|
id?: string;
|
|
6
17
|
min?: number;
|
|
@@ -44,41 +55,32 @@ type __VLS_Props = {
|
|
|
44
55
|
/** 解析展示值(对齐 Ant parser) */
|
|
45
56
|
parser?: (display: string) => string;
|
|
46
57
|
};
|
|
47
|
-
declare function commitDraft(raw?: string): void;
|
|
48
|
-
declare function applyStep(direction: 1 | -1): void;
|
|
49
|
-
declare function setValue(value: unknown): void;
|
|
50
58
|
type __VLS_ModelProps = {
|
|
51
59
|
modelValue?: RsInputNumberValue;
|
|
52
60
|
};
|
|
53
61
|
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
54
|
-
declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
55
|
-
focus: () => void;
|
|
56
|
-
blur: () => void;
|
|
57
|
-
commit: typeof commitDraft;
|
|
58
|
-
setValue: typeof setValue;
|
|
59
|
-
step: typeof applyStep;
|
|
60
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
62
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, RsInputNumberExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
61
63
|
blur: (event: FocusEvent) => any;
|
|
62
64
|
focus: (event: FocusEvent) => any;
|
|
63
65
|
"update:modelValue": (value: RsInputNumberValue) => any;
|
|
64
|
-
pressEnter: (event: KeyboardEvent) => any;
|
|
65
66
|
step: (value: RsInputNumberValue, info: {
|
|
66
67
|
offset: number;
|
|
67
68
|
}) => any;
|
|
69
|
+
pressEnter: (event: KeyboardEvent) => any;
|
|
68
70
|
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
69
71
|
onBlur?: ((event: FocusEvent) => any) | undefined;
|
|
70
72
|
onFocus?: ((event: FocusEvent) => any) | undefined;
|
|
71
73
|
"onUpdate:modelValue"?: ((value: RsInputNumberValue) => any) | undefined;
|
|
72
|
-
onPressEnter?: ((event: KeyboardEvent) => any) | undefined;
|
|
73
74
|
onStep?: ((value: RsInputNumberValue, info: {
|
|
74
75
|
offset: number;
|
|
75
76
|
}) => any) | undefined;
|
|
77
|
+
onPressEnter?: ((event: KeyboardEvent) => any) | undefined;
|
|
76
78
|
}>, {
|
|
77
79
|
required: boolean;
|
|
78
80
|
disabled: boolean;
|
|
81
|
+
step: number | string;
|
|
79
82
|
readonly: boolean;
|
|
80
83
|
autocomplete: string;
|
|
81
|
-
step: number | string;
|
|
82
84
|
stringMode: boolean;
|
|
83
85
|
controls: boolean;
|
|
84
86
|
keyboard: boolean;
|
|
@@ -5,7 +5,7 @@ import { isRsFormItemBoundControl, useRsFormContext, useRsFormField, useRsFormIt
|
|
|
5
5
|
import { useResolvedRsComponentSize } from "../../_shared/src/resolve-size.js";
|
|
6
6
|
import { rsRadiusCss, useResolvedRsRadius } from "../../_shared/src/resolve-radius.js";
|
|
7
7
|
import { formatNumberValue, fromModelValue, isNumberInputInterim, normalizeCommittedNumber, stepNumberValue, toModelValue } from "./input-number-utils.js";
|
|
8
|
-
import { computed, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, mergeModels, mergeProps, normalizeClass, normalizeStyle, openBlock, ref, toDisplayString, unref, useId, useModel, watch, withModifiers } from "vue";
|
|
8
|
+
import { computed, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, mergeModels, mergeProps, normalizeClass, normalizeStyle, openBlock, ref, toDisplayString, unref, useAttrs, useId, useModel, useTemplateRef, watch, withModifiers } from "vue";
|
|
9
9
|
//#region src/components/input-number/src/RsInputNumber.vue?vue&type=script&setup=true&lang.ts
|
|
10
10
|
var _hoisted_1 = {
|
|
11
11
|
key: 0,
|
|
@@ -26,6 +26,7 @@ var _hoisted_5 = [
|
|
|
26
26
|
"placeholder",
|
|
27
27
|
"disabled",
|
|
28
28
|
"readonly",
|
|
29
|
+
"aria-required",
|
|
29
30
|
"aria-invalid",
|
|
30
31
|
"aria-describedby",
|
|
31
32
|
"aria-valuemin",
|
|
@@ -46,6 +47,7 @@ var _hoisted_10 = {
|
|
|
46
47
|
class: "rs-field__hint"
|
|
47
48
|
};
|
|
48
49
|
var RsInputNumber_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
50
|
+
name: "RsInputNumber",
|
|
49
51
|
inheritAttrs: false,
|
|
50
52
|
__name: "RsInputNumber",
|
|
51
53
|
props: /*@__PURE__*/ mergeModels({
|
|
@@ -114,6 +116,8 @@ var RsInputNumber_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
114
116
|
* - 输入过程用文本草稿,允许中间态;blur / step / Enter 再规范化
|
|
115
117
|
*/
|
|
116
118
|
const { t } = useRsI18n();
|
|
119
|
+
const attrs = useAttrs();
|
|
120
|
+
const controlRef = useTemplateRef("controlRef");
|
|
117
121
|
const model = useModel(__props, "modelValue");
|
|
118
122
|
const props = __props;
|
|
119
123
|
const emit = __emit;
|
|
@@ -234,6 +238,7 @@ var RsInputNumber_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
234
238
|
emit("blur", event);
|
|
235
239
|
}
|
|
236
240
|
function onKeydown(event) {
|
|
241
|
+
if (event.isComposing || event.key === "Process") return;
|
|
237
242
|
if (event.key === "Enter") {
|
|
238
243
|
commitDraft();
|
|
239
244
|
emit("pressEnter", event);
|
|
@@ -254,6 +259,10 @@ var RsInputNumber_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
254
259
|
event.preventDefault();
|
|
255
260
|
applyStep(event.deltaY < 0 ? 1 : -1);
|
|
256
261
|
}
|
|
262
|
+
const controlBinds = computed(() => props.changeOnWheel ? {
|
|
263
|
+
...attrs,
|
|
264
|
+
onWheel
|
|
265
|
+
} : attrs);
|
|
257
266
|
function setValue(value) {
|
|
258
267
|
if (value == null || value === "") {
|
|
259
268
|
model.value = null;
|
|
@@ -290,10 +299,10 @@ var RsInputNumber_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
290
299
|
}));
|
|
291
300
|
__expose({
|
|
292
301
|
focus: () => {
|
|
293
|
-
|
|
302
|
+
controlRef.value?.focus();
|
|
294
303
|
},
|
|
295
304
|
blur: () => {
|
|
296
|
-
|
|
305
|
+
controlRef.value?.blur();
|
|
297
306
|
},
|
|
298
307
|
commit: commitDraft,
|
|
299
308
|
setValue,
|
|
@@ -316,6 +325,9 @@ var RsInputNumber_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
316
325
|
"rs-input-number--controls": __props.controls,
|
|
317
326
|
[`rs-input-number--${unref(resolvedSize)}`]: true
|
|
318
327
|
}]) }, [createElementVNode("input", mergeProps({
|
|
328
|
+
ref_key: "controlRef",
|
|
329
|
+
ref: controlRef
|
|
330
|
+
}, controlBinds.value, {
|
|
319
331
|
id: resolvedId.value,
|
|
320
332
|
class: ["rs-input-number__control", `rs-input-number__control--${unref(resolvedSize)}`],
|
|
321
333
|
type: "text",
|
|
@@ -327,6 +339,7 @@ var RsInputNumber_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
327
339
|
placeholder: __props.placeholder,
|
|
328
340
|
disabled: resolvedDisabled.value,
|
|
329
341
|
readonly: resolvedReadonly.value,
|
|
342
|
+
"aria-required": __props.required || void 0,
|
|
330
343
|
"aria-invalid": isInvalid.value || void 0,
|
|
331
344
|
"aria-describedby": displayMessage.value ? errorId.value : void 0,
|
|
332
345
|
"aria-valuemin": __props.min,
|
|
@@ -337,7 +350,7 @@ var RsInputNumber_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
337
350
|
onFocus,
|
|
338
351
|
onBlur,
|
|
339
352
|
onKeydown
|
|
340
|
-
}
|
|
353
|
+
}), null, 16, _hoisted_5), __props.controls ? (openBlock(), createElementBlock("div", _hoisted_6, [createElementVNode("button", {
|
|
341
354
|
type: "button",
|
|
342
355
|
class: "rs-input-number__handler rs-input-number__handler--up",
|
|
343
356
|
tabindex: "-1",
|
|
@@ -3,6 +3,6 @@ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_exp
|
|
|
3
3
|
import RsInputNumber_vue_vue_type_script_setup_true_lang_default from "./RsInputNumber.impl.js";
|
|
4
4
|
|
|
5
5
|
//#region src/components/input-number/src/RsInputNumber.vue
|
|
6
|
-
var RsInputNumber_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsInputNumber_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
6
|
+
var RsInputNumber_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsInputNumber_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-d46f1e7f"]]);
|
|
7
7
|
//#endregion
|
|
8
8
|
export { RsInputNumber_default as default };
|
|
@@ -1,33 +1,52 @@
|
|
|
1
1
|
|
|
2
2
|
/*
|
|
3
3
|
* 消费全局 token(styles.css):
|
|
4
|
-
* --rs-label-font-size /
|
|
4
|
+
* --rs-label-font-size / font-weight / color / line-height / gap / mark-gap / disabled-opacity
|
|
5
5
|
* 与 .rs-field__label 共用;父级覆盖即可,无需 :deep。
|
|
6
6
|
*/
|
|
7
|
-
.rs-label[data-v-
|
|
7
|
+
.rs-label[data-v-dc8b2069] {
|
|
8
8
|
display: flex;
|
|
9
9
|
flex-direction: column;
|
|
10
|
-
gap:
|
|
10
|
+
gap: var(--rs-label-gap);
|
|
11
11
|
font-size: var(--rs-label-font-size);
|
|
12
12
|
line-height: var(--rs-label-line-height);
|
|
13
13
|
color: var(--rs-label-color);
|
|
14
14
|
}
|
|
15
|
-
.rs-label--disabled[data-v-
|
|
16
|
-
opacity:
|
|
15
|
+
.rs-label--disabled[data-v-dc8b2069] {
|
|
16
|
+
opacity: var(--rs-label-disabled-opacity);
|
|
17
17
|
cursor: not-allowed;
|
|
18
18
|
}
|
|
19
|
-
.rs-label--nowrap .rs-label__text[data-v-
|
|
19
|
+
.rs-label--nowrap .rs-label__text[data-v-dc8b2069] {
|
|
20
20
|
white-space: nowrap;
|
|
21
21
|
}
|
|
22
|
-
.rs-label__text[data-v-
|
|
22
|
+
.rs-label__text[data-v-dc8b2069] {
|
|
23
23
|
font-weight: var(--rs-label-font-weight);
|
|
24
24
|
}
|
|
25
|
-
.rs-label__required[data-v-
|
|
26
|
-
margin-inline-start:
|
|
25
|
+
.rs-label__required[data-v-dc8b2069] {
|
|
26
|
+
margin-inline-start: var(--rs-label-mark-gap);
|
|
27
27
|
color: var(--rs-danger);
|
|
28
28
|
}
|
|
29
|
-
.rs-
|
|
29
|
+
.rs-label__optional[data-v-dc8b2069] {
|
|
30
|
+
margin-inline-start: var(--rs-label-mark-gap);
|
|
31
|
+
font-weight: var(--rs-font-weight-regular);
|
|
32
|
+
color: var(--rs-text-secondary);
|
|
33
|
+
}
|
|
34
|
+
.rs-label__colon[data-v-dc8b2069] {
|
|
35
|
+
margin-inline-start: var(--rs-label-mark-gap);
|
|
36
|
+
}
|
|
37
|
+
.rs-label__hint[data-v-dc8b2069] {
|
|
30
38
|
font-size: var(--rs-font-size-xs);
|
|
31
39
|
font-weight: var(--rs-font-weight-regular);
|
|
32
|
-
color: var(--rs-
|
|
40
|
+
color: var(--rs-text-secondary);
|
|
41
|
+
}
|
|
42
|
+
.rs-label__sr[data-v-dc8b2069] {
|
|
43
|
+
position: absolute;
|
|
44
|
+
width: 1px;
|
|
45
|
+
height: 1px;
|
|
46
|
+
padding: 0;
|
|
47
|
+
margin: -1px;
|
|
48
|
+
overflow: hidden;
|
|
49
|
+
clip: rect(0, 0, 0, 0);
|
|
50
|
+
white-space: nowrap;
|
|
51
|
+
border: 0;
|
|
33
52
|
}
|
|
@@ -1,19 +1,36 @@
|
|
|
1
1
|
type __VLS_Props = {
|
|
2
|
+
/** 关联控件 id。国际用法也可写 htmlFor / for。 */
|
|
2
3
|
forId?: string;
|
|
4
|
+
/** forId 别名(React / 国际文档常见)。 */
|
|
5
|
+
htmlFor?: string;
|
|
6
|
+
/** 原生 HTML for。forId / htmlFor 的别名。 */
|
|
7
|
+
for?: string;
|
|
8
|
+
/** 标签自身 id,供 aria-labelledby。 */
|
|
9
|
+
id?: string;
|
|
3
10
|
required?: boolean;
|
|
11
|
+
/** 非必填标记。与 required 同时传时只显示必填。 */
|
|
12
|
+
optional?: boolean;
|
|
4
13
|
hint?: string;
|
|
14
|
+
/** hint 节点 id。未传且有说明时自动生成。 */
|
|
15
|
+
hintId?: string;
|
|
5
16
|
disabled?: boolean;
|
|
6
17
|
/** 文案单行不换行(表单左侧标签等场景) */
|
|
7
18
|
nowrap?: boolean;
|
|
19
|
+
/** 在文案后追加本地化冒号。默认关闭,避免改变旧版式。 */
|
|
20
|
+
colon?: boolean;
|
|
8
21
|
};
|
|
9
|
-
declare var __VLS_1: {};
|
|
22
|
+
declare var __VLS_1: {}, __VLS_3: {};
|
|
10
23
|
type __VLS_Slots = {} & {
|
|
11
24
|
default?: (props: typeof __VLS_1) => any;
|
|
25
|
+
} & {
|
|
26
|
+
hint?: (props: typeof __VLS_3) => any;
|
|
12
27
|
};
|
|
13
28
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
14
29
|
required: boolean;
|
|
15
30
|
disabled: boolean;
|
|
31
|
+
optional: boolean;
|
|
16
32
|
nowrap: boolean;
|
|
33
|
+
colon: boolean;
|
|
17
34
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
35
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
19
36
|
declare const _default: typeof __VLS_export;
|