niuma-ui 2.0.2 → 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 +61 -0
- package/README.md +2 -0
- package/README.zh-CN.md +2 -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/badge/index.d.ts +1 -0
- package/dist/components/badge/src/RsBadge.css +61 -8
- package/dist/components/badge/src/RsBadge.d.ts +19 -3
- package/dist/components/badge/src/RsBadge.impl.js +46 -3
- package/dist/components/badge/src/RsBadge.js +1 -1
- package/dist/components/badge/src/badge-utils.d.ts +11 -0
- package/dist/components/badge/src/badge-utils.js +32 -0
- 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/button/src/RsButton.css +87 -71
- package/dist/components/button/src/RsButton.d.ts +7 -3
- package/dist/components/button/src/RsButton.impl.js +43 -31
- package/dist/components/button/src/RsButton.js +1 -1
- package/dist/components/button/src/button-utils.d.ts +17 -0
- package/dist/components/button/src/button-utils.js +14 -1
- 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 +14 -2
- 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/divider/index.d.ts +1 -0
- package/dist/components/divider/src/RsDivider.css +37 -22
- package/dist/components/divider/src/RsDivider.d.ts +4 -2
- package/dist/components/divider/src/RsDivider.impl.js +26 -12
- package/dist/components/divider/src/RsDivider.js +1 -1
- package/dist/components/divider/src/divider-utils.d.ts +4 -0
- 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 +59 -18
- 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/icon/src/RsIcon.css +9 -4
- package/dist/components/icon/src/RsIcon.d.ts +4 -3
- package/dist/components/icon/src/RsIcon.impl.js +9 -32
- package/dist/components/icon/src/RsIcon.js +1 -1
- package/dist/components/icon/src/icon-utils.d.ts +17 -0
- package/dist/components/icon/src/icon-utils.js +39 -0
- 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/index.d.ts +1 -0
- package/dist/components/link/src/RsLink.css +58 -17
- package/dist/components/link/src/RsLink.d.ts +12 -4
- package/dist/components/link/src/RsLink.impl.js +26 -25
- package/dist/components/link/src/RsLink.js +2 -1
- package/dist/components/link/src/link-utils.d.ts +9 -0
- package/dist/components/link/src/link-utils.js +15 -0
- package/dist/components/loading/src/RsLoading.d.ts +2 -2
- 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/tag/index.d.ts +1 -1
- package/dist/components/tag/src/RsTag.css +42 -38
- package/dist/components/tag/src/RsTag.d.ts +3 -2
- package/dist/components/tag/src/RsTag.impl.js +18 -9
- package/dist/components/tag/src/RsTag.js +1 -1
- package/dist/components/tag/src/tag-utils.d.ts +8 -0
- package/dist/components/terminal/src/RsTerminal.d.ts +1 -1
- 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 +24 -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 +9 -8
- 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
|
@@ -3,6 +3,6 @@ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_exp
|
|
|
3
3
|
import RsCascader_vue_vue_type_script_setup_true_lang_default from "./RsCascader.impl.js";
|
|
4
4
|
|
|
5
5
|
//#region src/components/cascader/src/RsCascader.vue
|
|
6
|
-
var RsCascader_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsCascader_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
6
|
+
var RsCascader_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsCascader_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-8c1435b6"]]);
|
|
7
7
|
//#endregion
|
|
8
8
|
export { RsCascader_default as default };
|
|
@@ -14,3 +14,5 @@ export declare function cascaderColumns(options: readonly RsCascaderOption[], pa
|
|
|
14
14
|
export declare function cascaderLabels(options: readonly RsCascaderOption[], path: RsCascaderPath): string[];
|
|
15
15
|
export declare function cascaderDisplay(options: readonly RsCascaderOption[], path: RsCascaderPath, separator?: string): string;
|
|
16
16
|
export declare function isCascaderLeaf(option: RsCascaderOption): boolean;
|
|
17
|
+
export declare function nextCascaderPath(path: RsCascaderPath, depth: number, value: RsSelectValue): RsCascaderPath;
|
|
18
|
+
export declare function popCascaderPath(path: RsCascaderPath): RsCascaderPath;
|
|
@@ -35,5 +35,12 @@ function isCascaderLeaf(option) {
|
|
|
35
35
|
if (option.isLeaf === false) return false;
|
|
36
36
|
return !option.children?.length;
|
|
37
37
|
}
|
|
38
|
+
function nextCascaderPath(path, depth, value) {
|
|
39
|
+
return [...path.slice(0, depth), value];
|
|
40
|
+
}
|
|
41
|
+
function popCascaderPath(path) {
|
|
42
|
+
if (path.length <= 1) return [];
|
|
43
|
+
return path.slice(0, -1);
|
|
44
|
+
}
|
|
38
45
|
//#endregion
|
|
39
|
-
export { cascaderColumns, cascaderDisplay, cascaderLabels, findCascaderOption, isCascaderLeaf };
|
|
46
|
+
export { cascaderColumns, cascaderDisplay, cascaderLabels, findCascaderOption, isCascaderLeaf, nextCascaderPath, popCascaderPath };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
.rs-checkbox {
|
|
2
|
+
.rs-checkbox[data-v-5e521b70] {
|
|
3
3
|
position: relative;
|
|
4
4
|
display: inline-flex;
|
|
5
5
|
align-items: center;
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
user-select: none;
|
|
11
11
|
color: var(--rs-text);
|
|
12
12
|
}
|
|
13
|
-
.rs-checkbox--disabled {
|
|
13
|
+
.rs-checkbox--disabled[data-v-5e521b70] {
|
|
14
14
|
cursor: not-allowed;
|
|
15
15
|
opacity: 0.55;
|
|
16
16
|
}
|
|
17
|
-
.rs-checkbox__input {
|
|
17
|
+
.rs-checkbox__input[data-v-5e521b70] {
|
|
18
18
|
position: absolute;
|
|
19
19
|
width: 1px;
|
|
20
20
|
height: 1px;
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
white-space: nowrap;
|
|
26
26
|
border: 0;
|
|
27
27
|
}
|
|
28
|
-
.rs-checkbox__box {
|
|
28
|
+
.rs-checkbox__box[data-v-5e521b70] {
|
|
29
29
|
position: relative;
|
|
30
30
|
display: inline-flex;
|
|
31
31
|
align-items: center;
|
|
@@ -33,56 +33,56 @@
|
|
|
33
33
|
flex-shrink: 0;
|
|
34
34
|
box-sizing: border-box;
|
|
35
35
|
border: 1px solid var(--rs-border);
|
|
36
|
-
border-radius: var(--rs-radius-xs
|
|
36
|
+
border-radius: var(--rs-radius-xs);
|
|
37
37
|
background: var(--rs-surface);
|
|
38
38
|
transition:
|
|
39
|
-
border-color var(--rs-transition-fast
|
|
40
|
-
background-color var(--rs-transition-fast
|
|
39
|
+
border-color var(--rs-transition-fast),
|
|
40
|
+
background-color var(--rs-transition-fast);
|
|
41
41
|
}
|
|
42
|
-
.rs-checkbox--ssm .rs-checkbox__box {
|
|
42
|
+
.rs-checkbox--ssm .rs-checkbox__box[data-v-5e521b70] {
|
|
43
43
|
width: 0.75rem;
|
|
44
44
|
height: 0.75rem;
|
|
45
45
|
}
|
|
46
|
-
.rs-checkbox--sm .rs-checkbox__box {
|
|
46
|
+
.rs-checkbox--sm .rs-checkbox__box[data-v-5e521b70] {
|
|
47
47
|
width: 0.875rem;
|
|
48
48
|
height: 0.875rem;
|
|
49
49
|
}
|
|
50
|
-
.rs-checkbox--md .rs-checkbox__box {
|
|
50
|
+
.rs-checkbox--md .rs-checkbox__box[data-v-5e521b70] {
|
|
51
51
|
width: 1rem;
|
|
52
52
|
height: 1rem;
|
|
53
53
|
}
|
|
54
|
-
.rs-checkbox--lg .rs-checkbox__box {
|
|
54
|
+
.rs-checkbox--lg .rs-checkbox__box[data-v-5e521b70] {
|
|
55
55
|
width: 1.125rem;
|
|
56
56
|
height: 1.125rem;
|
|
57
57
|
}
|
|
58
|
-
.rs-checkbox:hover:not(.rs-checkbox--disabled) .rs-checkbox__box {
|
|
58
|
+
.rs-checkbox:hover:not(.rs-checkbox--disabled) .rs-checkbox__box[data-v-5e521b70] {
|
|
59
59
|
border-color: var(--rs-primary);
|
|
60
60
|
}
|
|
61
|
-
.rs-checkbox--checked .rs-checkbox__box,
|
|
62
|
-
.rs-checkbox--indeterminate .rs-checkbox__box {
|
|
61
|
+
.rs-checkbox--checked .rs-checkbox__box[data-v-5e521b70],
|
|
62
|
+
.rs-checkbox--indeterminate .rs-checkbox__box[data-v-5e521b70] {
|
|
63
63
|
border-color: var(--rs-primary);
|
|
64
64
|
background: var(--rs-primary);
|
|
65
65
|
}
|
|
66
|
-
.rs-checkbox--checked .rs-checkbox__box::after {
|
|
66
|
+
.rs-checkbox--checked .rs-checkbox__box[data-v-5e521b70]::after {
|
|
67
67
|
content: '';
|
|
68
68
|
position: absolute;
|
|
69
69
|
top: 42%;
|
|
70
70
|
left: 50%;
|
|
71
71
|
width: 0.28rem;
|
|
72
72
|
height: 0.5rem;
|
|
73
|
-
border: solid var(--rs-primary-foreground
|
|
73
|
+
border: solid var(--rs-primary-foreground);
|
|
74
74
|
border-width: 0 2px 2px 0;
|
|
75
75
|
transform: translate(-50%, -50%) rotate(45deg);
|
|
76
76
|
}
|
|
77
|
-
.rs-checkbox--ssm.rs-checkbox--checked .rs-checkbox__box::after {
|
|
77
|
+
.rs-checkbox--ssm.rs-checkbox--checked .rs-checkbox__box[data-v-5e521b70]::after {
|
|
78
78
|
width: 0.2rem;
|
|
79
79
|
height: 0.36rem;
|
|
80
80
|
}
|
|
81
|
-
.rs-checkbox--sm.rs-checkbox--checked .rs-checkbox__box::after {
|
|
81
|
+
.rs-checkbox--sm.rs-checkbox--checked .rs-checkbox__box[data-v-5e521b70]::after {
|
|
82
82
|
width: 0.24rem;
|
|
83
83
|
height: 0.42rem;
|
|
84
84
|
}
|
|
85
|
-
.rs-checkbox--indeterminate .rs-checkbox__box::after {
|
|
85
|
+
.rs-checkbox--indeterminate .rs-checkbox__box[data-v-5e521b70]::after {
|
|
86
86
|
content: '';
|
|
87
87
|
position: absolute;
|
|
88
88
|
top: 50%;
|
|
@@ -91,14 +91,37 @@
|
|
|
91
91
|
height: 2px;
|
|
92
92
|
border: 0;
|
|
93
93
|
border-radius: 1px;
|
|
94
|
-
background: var(--rs-primary-foreground
|
|
94
|
+
background: var(--rs-primary-foreground);
|
|
95
95
|
transform: translate(-50%, -50%);
|
|
96
96
|
}
|
|
97
|
-
.rs-checkbox__label {
|
|
97
|
+
.rs-checkbox__label[data-v-5e521b70] {
|
|
98
98
|
font-size: var(--rs-font-size-sm);
|
|
99
99
|
line-height: var(--rs-line-height-normal);
|
|
100
100
|
}
|
|
101
|
-
.rs-checkbox--ssm .rs-checkbox__label,
|
|
102
|
-
.rs-checkbox--sm .rs-checkbox__label {
|
|
101
|
+
.rs-checkbox--ssm .rs-checkbox__label[data-v-5e521b70],
|
|
102
|
+
.rs-checkbox--sm .rs-checkbox__label[data-v-5e521b70] {
|
|
103
103
|
font-size: var(--rs-font-size-xs);
|
|
104
104
|
}
|
|
105
|
+
@media (prefers-reduced-motion: reduce) {
|
|
106
|
+
.rs-checkbox__box[data-v-5e521b70] {
|
|
107
|
+
transition: none;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
@media (forced-colors: active) {
|
|
111
|
+
.rs-checkbox__box[data-v-5e521b70] {
|
|
112
|
+
border-color: ButtonText;
|
|
113
|
+
background: Field;
|
|
114
|
+
forced-color-adjust: none;
|
|
115
|
+
}
|
|
116
|
+
.rs-checkbox--checked .rs-checkbox__box[data-v-5e521b70],
|
|
117
|
+
.rs-checkbox--indeterminate .rs-checkbox__box[data-v-5e521b70] {
|
|
118
|
+
border-color: Highlight;
|
|
119
|
+
background: Highlight;
|
|
120
|
+
}
|
|
121
|
+
.rs-checkbox--checked .rs-checkbox__box[data-v-5e521b70]::after {
|
|
122
|
+
border-color: HighlightText;
|
|
123
|
+
}
|
|
124
|
+
.rs-checkbox--indeterminate .rs-checkbox__box[data-v-5e521b70]::after {
|
|
125
|
+
background: HighlightText;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import type { RsComponentSize } from '../../../theme/types';
|
|
2
|
+
export interface RsCheckboxExpose {
|
|
3
|
+
focus: () => void;
|
|
4
|
+
}
|
|
5
|
+
/** 模板 ref 实例:expose + 根节点 */
|
|
6
|
+
export type RsCheckboxInstance = RsCheckboxExpose & {
|
|
7
|
+
$el: HTMLElement;
|
|
8
|
+
};
|
|
2
9
|
type __VLS_Props = {
|
|
3
10
|
/** 半选(仅视觉;点击仍按 model 取反) */
|
|
4
11
|
indeterminate?: boolean;
|
|
@@ -7,6 +14,8 @@ type __VLS_Props = {
|
|
|
7
14
|
/** 无障碍名称;有默认插槽文案时可省略 */
|
|
8
15
|
ariaLabel?: string;
|
|
9
16
|
id?: string;
|
|
17
|
+
name?: string;
|
|
18
|
+
required?: boolean;
|
|
10
19
|
};
|
|
11
20
|
type __VLS_ModelProps = {
|
|
12
21
|
modelValue?: boolean;
|
|
@@ -16,13 +25,14 @@ declare var __VLS_1: {};
|
|
|
16
25
|
type __VLS_Slots = {} & {
|
|
17
26
|
default?: (props: typeof __VLS_1) => any;
|
|
18
27
|
};
|
|
19
|
-
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps,
|
|
28
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, RsCheckboxExpose, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
20
29
|
change: (value: boolean) => any;
|
|
21
30
|
"update:modelValue": (value: boolean) => any;
|
|
22
31
|
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
23
32
|
onChange?: ((value: boolean) => any) | undefined;
|
|
24
33
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
25
34
|
}>, {
|
|
35
|
+
required: boolean;
|
|
26
36
|
disabled: boolean;
|
|
27
37
|
indeterminate: boolean;
|
|
28
38
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -1,19 +1,25 @@
|
|
|
1
|
+
import { useRsFormContext } from "../../form/src/form-utils.js";
|
|
1
2
|
import { useResolvedRsComponentSize } from "../../_shared/src/resolve-size.js";
|
|
2
|
-
import {
|
|
3
|
+
import { applyRsCheckboxIndeterminate, resolveRsCheckboxAriaChecked } from "./checkbox-utils.js";
|
|
4
|
+
import { computed, createCommentVNode, createElementBlock, createElementVNode, defineComponent, mergeModels, normalizeClass, onMounted, openBlock, renderSlot, useId, useModel, useTemplateRef, watch, withModifiers } from "vue";
|
|
3
5
|
//#region src/components/checkbox/src/RsCheckbox.vue?vue&type=script&setup=true&lang.ts
|
|
4
6
|
var _hoisted_1 = ["for"];
|
|
5
7
|
var _hoisted_2 = [
|
|
6
8
|
"id",
|
|
9
|
+
"name",
|
|
7
10
|
"checked",
|
|
8
11
|
"disabled",
|
|
12
|
+
"required",
|
|
9
13
|
"aria-checked",
|
|
10
|
-
"aria-label"
|
|
14
|
+
"aria-label",
|
|
15
|
+
"aria-required"
|
|
11
16
|
];
|
|
12
17
|
var _hoisted_3 = {
|
|
13
18
|
key: 0,
|
|
14
19
|
class: "rs-checkbox__label"
|
|
15
20
|
};
|
|
16
21
|
var RsCheckbox_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
22
|
+
name: "RsCheckbox",
|
|
17
23
|
__name: "RsCheckbox",
|
|
18
24
|
props: /*@__PURE__*/ mergeModels({
|
|
19
25
|
indeterminate: {
|
|
@@ -26,7 +32,12 @@ var RsCheckbox_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
|
|
|
26
32
|
},
|
|
27
33
|
size: {},
|
|
28
34
|
ariaLabel: {},
|
|
29
|
-
id: {}
|
|
35
|
+
id: {},
|
|
36
|
+
name: {},
|
|
37
|
+
required: {
|
|
38
|
+
type: Boolean,
|
|
39
|
+
default: false
|
|
40
|
+
}
|
|
30
41
|
}, {
|
|
31
42
|
"modelValue": {
|
|
32
43
|
type: Boolean,
|
|
@@ -35,28 +46,40 @@ var RsCheckbox_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
|
|
|
35
46
|
"modelModifiers": {}
|
|
36
47
|
}),
|
|
37
48
|
emits: /*@__PURE__*/ mergeModels(["change"], ["update:modelValue"]),
|
|
38
|
-
setup(__props, { emit: __emit }) {
|
|
49
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
39
50
|
const model = useModel(__props, "modelValue");
|
|
40
51
|
const props = __props;
|
|
41
52
|
const emit = __emit;
|
|
53
|
+
const formContext = useRsFormContext();
|
|
42
54
|
const autoId = useId();
|
|
43
55
|
const inputId = computed(() => props.id || autoId);
|
|
56
|
+
const inputRef = useTemplateRef("inputRef");
|
|
44
57
|
const resolvedSize = useResolvedRsComponentSize(() => props.size);
|
|
58
|
+
const resolvedDisabled = computed(() => props.disabled || Boolean(formContext?.disabled.value));
|
|
59
|
+
const ariaChecked = computed(() => resolveRsCheckboxAriaChecked(model.value, props.indeterminate));
|
|
45
60
|
const rootClass = computed(() => [
|
|
46
61
|
"rs-checkbox",
|
|
47
62
|
`rs-checkbox--${resolvedSize.value}`,
|
|
48
63
|
{
|
|
49
64
|
"rs-checkbox--checked": model.value && !props.indeterminate,
|
|
50
65
|
"rs-checkbox--indeterminate": props.indeterminate,
|
|
51
|
-
"rs-checkbox--disabled":
|
|
66
|
+
"rs-checkbox--disabled": resolvedDisabled.value
|
|
52
67
|
}
|
|
53
68
|
]);
|
|
69
|
+
function syncIndeterminate() {
|
|
70
|
+
applyRsCheckboxIndeterminate(inputRef.value, props.indeterminate);
|
|
71
|
+
}
|
|
54
72
|
function onChange(event) {
|
|
55
|
-
if (
|
|
73
|
+
if (resolvedDisabled.value) return;
|
|
56
74
|
const checked = event.target.checked;
|
|
57
75
|
model.value = checked;
|
|
58
76
|
emit("change", checked);
|
|
59
77
|
}
|
|
78
|
+
onMounted(syncIndeterminate);
|
|
79
|
+
watch(() => props.indeterminate, syncIndeterminate);
|
|
80
|
+
__expose({ focus: () => {
|
|
81
|
+
inputRef.value?.focus();
|
|
82
|
+
} });
|
|
60
83
|
return (_ctx, _cache) => {
|
|
61
84
|
return openBlock(), createElementBlock("label", {
|
|
62
85
|
class: normalizeClass(rootClass.value),
|
|
@@ -64,12 +87,17 @@ var RsCheckbox_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
|
|
|
64
87
|
}, [
|
|
65
88
|
createElementVNode("input", {
|
|
66
89
|
id: inputId.value,
|
|
90
|
+
ref_key: "inputRef",
|
|
91
|
+
ref: inputRef,
|
|
67
92
|
class: "rs-checkbox__input",
|
|
68
93
|
type: "checkbox",
|
|
94
|
+
name: __props.name,
|
|
69
95
|
checked: model.value,
|
|
70
|
-
disabled:
|
|
71
|
-
|
|
96
|
+
disabled: resolvedDisabled.value,
|
|
97
|
+
required: __props.required || void 0,
|
|
98
|
+
"aria-checked": ariaChecked.value,
|
|
72
99
|
"aria-label": __props.ariaLabel,
|
|
100
|
+
"aria-required": __props.required || void 0,
|
|
73
101
|
onChange,
|
|
74
102
|
onClick: _cache[0] || (_cache[0] = withModifiers(() => {}, ["stop"]))
|
|
75
103
|
}, null, 40, _hoisted_2),
|
|
@@ -77,7 +105,7 @@ var RsCheckbox_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defin
|
|
|
77
105
|
class: "rs-checkbox__box",
|
|
78
106
|
"aria-hidden": "true"
|
|
79
107
|
}, null, -1)),
|
|
80
|
-
_ctx.$slots.default ? (openBlock(), createElementBlock("span", _hoisted_3, [renderSlot(_ctx.$slots, "default")])) : createCommentVNode("", true)
|
|
108
|
+
_ctx.$slots.default ? (openBlock(), createElementBlock("span", _hoisted_3, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])) : createCommentVNode("", true)
|
|
81
109
|
], 10, _hoisted_1);
|
|
82
110
|
};
|
|
83
111
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import './RsCheckbox.css'
|
|
2
|
+
import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_export-helper.js";
|
|
2
3
|
import RsCheckbox_vue_vue_type_script_setup_true_lang_default from "./RsCheckbox.impl.js";
|
|
3
4
|
|
|
4
5
|
//#region src/components/checkbox/src/RsCheckbox.vue
|
|
5
|
-
var RsCheckbox_default = RsCheckbox_vue_vue_type_script_setup_true_lang_default;
|
|
6
|
+
var RsCheckbox_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsCheckbox_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-5e521b70"]]);
|
|
6
7
|
//#endregion
|
|
7
8
|
export { RsCheckbox_default as default };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type RsCheckboxAriaChecked = 'true' | 'false' | 'mixed';
|
|
2
|
+
export declare function resolveRsCheckboxAriaChecked(checked: boolean, indeterminate: boolean): RsCheckboxAriaChecked;
|
|
3
|
+
/** `indeterminate` 不是 HTML 属性,必须写 IDL。 */
|
|
4
|
+
export declare function applyRsCheckboxIndeterminate(el: HTMLInputElement | null | undefined, indeterminate: boolean): void;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/components/checkbox/src/checkbox-utils.ts
|
|
2
|
+
function resolveRsCheckboxAriaChecked(checked, indeterminate) {
|
|
3
|
+
if (indeterminate) return "mixed";
|
|
4
|
+
return checked ? "true" : "false";
|
|
5
|
+
}
|
|
6
|
+
/** `indeterminate` 不是 HTML 属性,必须写 IDL。 */
|
|
7
|
+
function applyRsCheckboxIndeterminate(el, indeterminate) {
|
|
8
|
+
if (!el) return;
|
|
9
|
+
el.indeterminate = indeterminate;
|
|
10
|
+
}
|
|
11
|
+
//#endregion
|
|
12
|
+
export { applyRsCheckboxIndeterminate, resolveRsCheckboxAriaChecked };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default as RsContainer } from './src/RsContainer.js';
|
|
2
|
-
export type { RsContainerBreakpoint, RsContainerGap, RsContainerMaxWidth, RsContainerMaybeResponsive, RsContainerPadding, RsContainerResponsive, } from './src/
|
|
2
|
+
export type { RsContainerBreakpoint, RsContainerGap, RsContainerMaxWidth, RsContainerMaybeResponsive, RsContainerPadding, RsContainerResponsive, } from './src/container-utils';
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
|
|
2
|
-
.rs-container[data-v-
|
|
2
|
+
.rs-container[data-v-5a260e9d] {
|
|
3
3
|
width: 100%;
|
|
4
4
|
box-sizing: border-box;
|
|
5
5
|
max-width: var(--rs-container-max-current, var(--rs-container-max-lg));
|
|
6
6
|
padding-inline: var(--rs-container-padding-current, var(--rs-space-md));
|
|
7
7
|
}
|
|
8
|
-
.rs-container--centered[data-v-
|
|
8
|
+
.rs-container--centered[data-v-5a260e9d] {
|
|
9
9
|
margin-inline: auto;
|
|
10
10
|
}
|
|
11
|
-
.rs-container--grid[data-v-
|
|
11
|
+
.rs-container--grid[data-v-5a260e9d] {
|
|
12
12
|
display: grid;
|
|
13
13
|
grid-template-columns: repeat(var(--rs-container-columns-current, 12), minmax(0, 1fr));
|
|
14
14
|
gap: var(--rs-container-gap-current, var(--rs-space-md));
|
|
15
15
|
}
|
|
16
16
|
@media (width >= 40rem) {
|
|
17
|
-
.rs-container[data-v-
|
|
17
|
+
.rs-container[data-v-5a260e9d] {
|
|
18
18
|
max-width: var(--rs-container-max-sm, var(--rs-container-max-current, var(--rs-container-max-lg)));
|
|
19
19
|
padding-inline: var(--rs-container-padding-sm, var(--rs-container-padding-current, var(--rs-space-md)));
|
|
20
20
|
}
|
|
21
|
-
.rs-container--grid[data-v-
|
|
21
|
+
.rs-container--grid[data-v-5a260e9d] {
|
|
22
22
|
grid-template-columns: repeat(
|
|
23
23
|
var(--rs-container-columns-sm, var(--rs-container-columns-current, 12)),
|
|
24
24
|
minmax(0, 1fr)
|
|
@@ -27,14 +27,14 @@
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
@media (width >= 48rem) {
|
|
30
|
-
.rs-container[data-v-
|
|
30
|
+
.rs-container[data-v-5a260e9d] {
|
|
31
31
|
max-width: var(--rs-container-max-md, var(--rs-container-max-sm, var(--rs-container-max-current)));
|
|
32
32
|
padding-inline: var(
|
|
33
33
|
--rs-container-padding-md,
|
|
34
34
|
var(--rs-container-padding-sm, var(--rs-container-padding-current))
|
|
35
35
|
);
|
|
36
36
|
}
|
|
37
|
-
.rs-container--grid[data-v-
|
|
37
|
+
.rs-container--grid[data-v-5a260e9d] {
|
|
38
38
|
grid-template-columns: repeat(
|
|
39
39
|
var(--rs-container-columns-md, var(--rs-container-columns-sm, var(--rs-container-columns-current, 12))),
|
|
40
40
|
minmax(0, 1fr)
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
@media (width >= 64rem) {
|
|
46
|
-
.rs-container[data-v-
|
|
46
|
+
.rs-container[data-v-5a260e9d] {
|
|
47
47
|
max-width: var(
|
|
48
48
|
--rs-container-max-lg,
|
|
49
49
|
var(--rs-container-max-md, var(--rs-container-max-sm, var(--rs-container-max-current)))
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
var(--rs-container-padding-md, var(--rs-container-padding-sm, var(--rs-container-padding-current)))
|
|
54
54
|
);
|
|
55
55
|
}
|
|
56
|
-
.rs-container--grid[data-v-
|
|
56
|
+
.rs-container--grid[data-v-5a260e9d] {
|
|
57
57
|
grid-template-columns: repeat(
|
|
58
58
|
var(
|
|
59
59
|
--rs-container-columns-lg,
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
@media (width >= 80rem) {
|
|
68
|
-
.rs-container[data-v-
|
|
68
|
+
.rs-container[data-v-5a260e9d] {
|
|
69
69
|
max-width: var(
|
|
70
70
|
--rs-container-max-xl,
|
|
71
71
|
var(--rs-container-max-lg, var(--rs-container-max-md, var(--rs-container-max-sm, var(--rs-container-max-current))))
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
var(--rs-container-padding-lg, var(--rs-container-padding-md, var(--rs-container-padding-sm, var(--rs-container-padding-current))))
|
|
76
76
|
);
|
|
77
77
|
}
|
|
78
|
-
.rs-container--grid[data-v-
|
|
78
|
+
.rs-container--grid[data-v-5a260e9d] {
|
|
79
79
|
grid-template-columns: repeat(
|
|
80
80
|
var(
|
|
81
81
|
--rs-container-columns-xl,
|
|
@@ -1,15 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
export type RsContainerBreakpoint
|
|
3
|
-
/** 内容区最大宽度档位,对应 `--rs-container-max-*` token。 */
|
|
4
|
-
export type RsContainerMaxWidth = 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
|
5
|
-
/** 水平内边距档位,对应 `--rs-space-*` token。 */
|
|
6
|
-
export type RsContainerPadding = 'none' | 'sm' | 'md' | 'lg';
|
|
7
|
-
/** 栅格间距档位,对应 `--rs-space-*` token。 */
|
|
8
|
-
export type RsContainerGap = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
9
|
-
/** 断点映射配置,用于 maxWidth、padding、columns、gap。 */
|
|
10
|
-
export type RsContainerResponsive<T> = Partial<Record<RsContainerBreakpoint, T>>;
|
|
11
|
-
/** 支持固定值或断点映射。 */
|
|
12
|
-
export type RsContainerMaybeResponsive<T> = T | RsContainerResponsive<T>;
|
|
1
|
+
import { type RsContainerGap, type RsContainerMaxWidth, type RsContainerMaybeResponsive, type RsContainerPadding } from './container-utils';
|
|
2
|
+
export type { RsContainerBreakpoint, RsContainerGap, RsContainerMaxWidth, RsContainerMaybeResponsive, RsContainerPadding, RsContainerResponsive, } from './container-utils';
|
|
13
3
|
type __VLS_Props = {
|
|
14
4
|
/** 最大内容宽度;`fluid` 为 true 时忽略。 */
|
|
15
5
|
maxWidth?: RsContainerMaybeResponsive<RsContainerMaxWidth>;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { resolveRsContainerStyle } from "./container-utils.js";
|
|
1
2
|
import { computed, createBlock, defineComponent, normalizeClass, normalizeStyle, openBlock, renderSlot, resolveDynamicComponent, withCtx } from "vue";
|
|
2
3
|
//#region src/components/container/src/RsContainer.vue?vue&type=script&setup=true&lang.ts
|
|
3
4
|
var RsContainer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
5
|
+
name: "RsContainer",
|
|
4
6
|
__name: "RsContainer",
|
|
5
7
|
props: {
|
|
6
8
|
maxWidth: { default: "lg" },
|
|
@@ -23,67 +25,18 @@ var RsContainer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
|
|
|
23
25
|
},
|
|
24
26
|
setup(__props) {
|
|
25
27
|
const props = __props;
|
|
26
|
-
const BREAKPOINTS = [
|
|
27
|
-
"sm",
|
|
28
|
-
"md",
|
|
29
|
-
"lg",
|
|
30
|
-
"xl"
|
|
31
|
-
];
|
|
32
|
-
const isResponsiveObject = (value) => typeof value === "object" && value !== null;
|
|
33
|
-
const tokenToSpaceVar = {
|
|
34
|
-
none: "0",
|
|
35
|
-
xs: "var(--rs-space-xs)",
|
|
36
|
-
sm: "var(--rs-space-sm)",
|
|
37
|
-
md: "var(--rs-space-md)",
|
|
38
|
-
lg: "var(--rs-space-lg)",
|
|
39
|
-
xl: "var(--rs-space-xl)"
|
|
40
|
-
};
|
|
41
|
-
const tokenToContainerVar = {
|
|
42
|
-
sm: "var(--rs-container-max-sm)",
|
|
43
|
-
md: "var(--rs-container-max-md)",
|
|
44
|
-
lg: "var(--rs-container-max-lg)",
|
|
45
|
-
xl: "var(--rs-container-max-xl)",
|
|
46
|
-
full: "var(--rs-container-max-full)"
|
|
47
|
-
};
|
|
48
28
|
const rootClass = computed(() => ["rs-container", {
|
|
49
29
|
"rs-container--centered": props.centered,
|
|
50
30
|
"rs-container--grid": props.grid
|
|
51
31
|
}]);
|
|
52
|
-
const rootStyle = computed(() => {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
});
|
|
61
|
-
} else style["--rs-container-max-current"] = tokenToContainerVar[props.maxWidth];
|
|
62
|
-
if (isResponsiveObject(props.padding)) {
|
|
63
|
-
const responsivePadding = props.padding;
|
|
64
|
-
BREAKPOINTS.forEach((bp) => {
|
|
65
|
-
const value = responsivePadding[bp];
|
|
66
|
-
if (value) style[`--rs-container-padding-${bp}`] = tokenToSpaceVar[value];
|
|
67
|
-
});
|
|
68
|
-
} else style["--rs-container-padding-current"] = tokenToSpaceVar[props.padding];
|
|
69
|
-
if (props.grid) {
|
|
70
|
-
if (isResponsiveObject(props.columns)) {
|
|
71
|
-
const responsiveColumns = props.columns;
|
|
72
|
-
BREAKPOINTS.forEach((bp) => {
|
|
73
|
-
const value = responsiveColumns[bp];
|
|
74
|
-
if (typeof value === "number") style[`--rs-container-columns-${bp}`] = value;
|
|
75
|
-
});
|
|
76
|
-
} else style["--rs-container-columns-current"] = props.columns;
|
|
77
|
-
if (isResponsiveObject(props.gap)) {
|
|
78
|
-
const responsiveGap = props.gap;
|
|
79
|
-
BREAKPOINTS.forEach((bp) => {
|
|
80
|
-
const value = responsiveGap[bp];
|
|
81
|
-
if (value) style[`--rs-container-gap-${bp}`] = tokenToSpaceVar[value];
|
|
82
|
-
});
|
|
83
|
-
} else style["--rs-container-gap-current"] = tokenToSpaceVar[props.gap];
|
|
84
|
-
}
|
|
85
|
-
return style;
|
|
86
|
-
});
|
|
32
|
+
const rootStyle = computed(() => resolveRsContainerStyle({
|
|
33
|
+
maxWidth: props.maxWidth,
|
|
34
|
+
padding: props.padding,
|
|
35
|
+
fluid: props.fluid,
|
|
36
|
+
grid: props.grid,
|
|
37
|
+
columns: props.columns,
|
|
38
|
+
gap: props.gap
|
|
39
|
+
}));
|
|
87
40
|
return (_ctx, _cache) => {
|
|
88
41
|
return openBlock(), createBlock(resolveDynamicComponent(__props.tag), {
|
|
89
42
|
class: normalizeClass(rootClass.value),
|
|
@@ -3,6 +3,6 @@ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_exp
|
|
|
3
3
|
import RsContainer_vue_vue_type_script_setup_true_lang_default from "./RsContainer.impl.js";
|
|
4
4
|
|
|
5
5
|
//#region src/components/container/src/RsContainer.vue
|
|
6
|
-
var RsContainer_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsContainer_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
6
|
+
var RsContainer_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsContainer_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-5a260e9d"]]);
|
|
7
7
|
//#endregion
|
|
8
8
|
export { RsContainer_default as default };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare const RS_CONTAINER_BREAKPOINTS: readonly ["sm", "md", "lg", "xl"];
|
|
2
|
+
export type RsContainerBreakpoint = (typeof RS_CONTAINER_BREAKPOINTS)[number];
|
|
3
|
+
export declare const RS_CONTAINER_MAX_WIDTHS: readonly ["sm", "md", "lg", "xl", "full"];
|
|
4
|
+
export type RsContainerMaxWidth = (typeof RS_CONTAINER_MAX_WIDTHS)[number];
|
|
5
|
+
export declare const RS_CONTAINER_PADDINGS: readonly ["none", "sm", "md", "lg"];
|
|
6
|
+
export type RsContainerPadding = (typeof RS_CONTAINER_PADDINGS)[number];
|
|
7
|
+
export declare const RS_CONTAINER_GAPS: readonly ["none", "xs", "sm", "md", "lg", "xl"];
|
|
8
|
+
export type RsContainerGap = (typeof RS_CONTAINER_GAPS)[number];
|
|
9
|
+
export type RsContainerResponsive<T> = Partial<Record<RsContainerBreakpoint, T>>;
|
|
10
|
+
export type RsContainerMaybeResponsive<T> = T | RsContainerResponsive<T>;
|
|
11
|
+
export declare const RS_CONTAINER_SPACE_CSS: Record<RsContainerGap | RsContainerPadding, string>;
|
|
12
|
+
export declare const RS_CONTAINER_MAX_WIDTH_CSS: Record<RsContainerMaxWidth, string>;
|
|
13
|
+
export declare function isRsContainerResponsive<T>(value: RsContainerMaybeResponsive<T>): value is RsContainerResponsive<T>;
|
|
14
|
+
export interface RsContainerStyleInput {
|
|
15
|
+
maxWidth: RsContainerMaybeResponsive<RsContainerMaxWidth>;
|
|
16
|
+
padding: RsContainerMaybeResponsive<RsContainerPadding>;
|
|
17
|
+
fluid: boolean;
|
|
18
|
+
grid: boolean;
|
|
19
|
+
columns: RsContainerMaybeResponsive<number>;
|
|
20
|
+
gap: RsContainerMaybeResponsive<RsContainerGap>;
|
|
21
|
+
}
|
|
22
|
+
/** 写入根节点的 CSS 变量。语义与原先 SFC 内联计算一致。 */
|
|
23
|
+
export declare function resolveRsContainerStyle(input: RsContainerStyleInput): Record<string, string | number>;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
//#region src/components/container/src/container-utils.ts
|
|
2
|
+
var RS_CONTAINER_BREAKPOINTS = [
|
|
3
|
+
"sm",
|
|
4
|
+
"md",
|
|
5
|
+
"lg",
|
|
6
|
+
"xl"
|
|
7
|
+
];
|
|
8
|
+
var RS_CONTAINER_SPACE_CSS = {
|
|
9
|
+
none: "0",
|
|
10
|
+
xs: "var(--rs-space-xs)",
|
|
11
|
+
sm: "var(--rs-space-sm)",
|
|
12
|
+
md: "var(--rs-space-md)",
|
|
13
|
+
lg: "var(--rs-space-lg)",
|
|
14
|
+
xl: "var(--rs-space-xl)"
|
|
15
|
+
};
|
|
16
|
+
var RS_CONTAINER_MAX_WIDTH_CSS = {
|
|
17
|
+
sm: "var(--rs-container-max-sm)",
|
|
18
|
+
md: "var(--rs-container-max-md)",
|
|
19
|
+
lg: "var(--rs-container-max-lg)",
|
|
20
|
+
xl: "var(--rs-container-max-xl)",
|
|
21
|
+
full: "var(--rs-container-max-full)"
|
|
22
|
+
};
|
|
23
|
+
function isRsContainerResponsive(value) {
|
|
24
|
+
return typeof value === "object" && value !== null;
|
|
25
|
+
}
|
|
26
|
+
function writeResponsiveVars(style, prefix, value, toCss) {
|
|
27
|
+
if (isRsContainerResponsive(value)) {
|
|
28
|
+
for (const bp of RS_CONTAINER_BREAKPOINTS) {
|
|
29
|
+
const item = value[bp];
|
|
30
|
+
if (item === void 0) continue;
|
|
31
|
+
const css = toCss(item);
|
|
32
|
+
if (css !== void 0) style[`${prefix}-${bp}`] = css;
|
|
33
|
+
}
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const css = toCss(value);
|
|
37
|
+
if (css !== void 0) style[`${prefix}-current`] = css;
|
|
38
|
+
}
|
|
39
|
+
/** 写入根节点的 CSS 变量。语义与原先 SFC 内联计算一致。 */
|
|
40
|
+
function resolveRsContainerStyle(input) {
|
|
41
|
+
const style = {};
|
|
42
|
+
if (input.fluid) style["--rs-container-max-current"] = "none";
|
|
43
|
+
else writeResponsiveVars(style, "--rs-container-max", input.maxWidth, (item) => RS_CONTAINER_MAX_WIDTH_CSS[item]);
|
|
44
|
+
writeResponsiveVars(style, "--rs-container-padding", input.padding, (item) => RS_CONTAINER_SPACE_CSS[item]);
|
|
45
|
+
if (!input.grid) return style;
|
|
46
|
+
writeResponsiveVars(style, "--rs-container-columns", input.columns, (item) => typeof item === "number" ? item : void 0);
|
|
47
|
+
writeResponsiveVars(style, "--rs-container-gap", input.gap, (item) => RS_CONTAINER_SPACE_CSS[item]);
|
|
48
|
+
return style;
|
|
49
|
+
}
|
|
50
|
+
//#endregion
|
|
51
|
+
export { RS_CONTAINER_BREAKPOINTS, RS_CONTAINER_MAX_WIDTH_CSS, RS_CONTAINER_SPACE_CSS, isRsContainerResponsive, resolveRsContainerStyle };
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export { default as RsDatePicker } from './src/RsDatePicker.js';
|
|
2
2
|
export { default as RsDateTimePicker } from './src/RsDateTimePicker.js';
|
|
3
|
-
export type {
|
|
4
|
-
export {
|
|
3
|
+
export type { RsDatePickerExpose, RsDatePickerInstance, RsDatePickerLabelPosition, } from './src/RsDatePicker.js';
|
|
4
|
+
export type { RsDateTimePickerExpose, RsDateTimePickerInstance, RsDateTimePickerLabelPosition, RsDateTimeRangeValue, } from './src/RsDateTimePicker.js';
|
|
5
|
+
export type { RsDatePickerDisabledDate, RsDatePickerGetPopupContainer, RsDatePickerModelValue, RsDatePickerShortcut, RsDatePickerTimestampRange, RsDatePickerValueConvertOptions, RsDatePickerValueFormat, RsDatePickerValueFormatPreset, RsDateRangeValue, RsParsedDate, RsParsedDateTime, RsWeekStartsOn, } from './src/date-picker-utils';
|
|
6
|
+
export { EMPTY_DATE_RANGE, formatDateDisplay, formatDateParts, formatDateRangeDisplay, formatDateTimeDisplay, formatDateTimeValue, formatDateValue, formatPickerDisplay, fromInternalPickerValue, isDateRangeEmpty, isDateRangeOrdered, isDateTimeRangeOrdered, parseDateTimeValue, parseDateValue, resolveWeekStartsOn, RS_DATE_PICKER_VALUE_FORMAT_PRESETS, toInternalPickerValue, toRangeEndpointString, } from './src/date-picker-utils';
|
|
5
7
|
export type { RsDateTimeValidationError, RsDateTimeValidationResult, RsDateTimeValidationRules, RsDateValidationError, RsDateValidationResult, RsDateValidationRules, } from './src/date-validation';
|
|
6
8
|
export { validateDateTimeValue, validateDateValue } from './src/date-validation';
|
|
7
9
|
export type { RsDateRangeValidationError, RsDateRangeValidationResult, RsDateRangeValidationRules, RsDateTimeRangeValidationError, RsDateTimeRangeValidationResult, RsDateTimeRangeValidationRules, } from './src/date-range-validation';
|