@maple-design/ui-vue 1.1.0 → 1.1.1
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/es/_components/field-presentation/EditorPanel.vue.mjs +3 -3
- package/es/_components/field-presentation/editor-pending.mjs +4 -0
- package/es/_components/field-presentation/form-bridge.mjs +1 -1
- package/es/_components/field-presentation/with-field-presentation.mjs +51 -8
- package/es/_components/picker-field/PickerField.vue.mjs +3 -13
- package/es/_components/picker-field/TemporalCurrent.vue.mjs +2 -3
- package/es/_components/picker-field/range-labels.mjs +18 -0
- package/es/_components/selected-options/style/index.css +33 -15
- package/es/_components/selection-field/use-selection-session.mjs +1 -0
- package/es/_components/virtual-list-v2/VirtualList2.vue.mjs +26 -4
- package/es/action-sheet/ActionSheet2.vue.mjs +2 -3
- package/es/auto-complete/auto-complete.mjs +2 -2
- package/es/auto-complete/presentation.mjs +1 -0
- package/es/auto-complete/props.mjs +2 -0
- package/es/auto-complete/style/index.css +7 -2
- package/es/back-top/style/index.css +1 -1
- package/es/breadcrumb/style/index.css +1 -1
- package/es/button/base.mjs +7 -0
- package/es/button/index.mjs +9 -9
- package/es/button/style/index.css +1 -1
- package/es/card/Card.vue.mjs +55 -13
- package/es/carousel/style/index.css +1 -1
- package/es/carousel/use-carousel-locale.mjs +10 -3
- package/es/cascader/CascaderMenu.vue.mjs +2 -2
- package/es/cascader/cascader-option.mjs +15 -6
- package/es/cascader/field-adapter.mjs +1 -0
- package/es/cascader/props.mjs +2 -0
- package/es/cascader/style/index.css +36 -9
- package/es/cascader/style/index.mjs +1 -0
- package/es/cascader/use-cascader-focus.mjs +9 -6
- package/es/checkbox/CheckboxGroup.vue.mjs +2 -2
- package/es/checkbox/base.mjs +7 -0
- package/es/checkbox/index.mjs +1 -1
- package/es/checkbox/presentation.mjs +2 -2
- package/es/checkbox/style/index.css +1 -1
- package/es/countdown/use-countdown.mjs +9 -2
- package/es/date/DatePanelActions.vue.mjs +4 -4
- package/es/date/DateRangeQuickPanel.vue.mjs +2 -2
- package/es/date/DateShortcuts.vue.mjs +2 -2
- package/es/date/field-adapter.mjs +2 -3
- package/es/date/picker-panels/DayPickerPanel2.vue.mjs +4 -5
- package/es/date/picker-panels/MonthPickerPanel2.vue.mjs +5 -6
- package/es/date/picker-panels/PanelHeader2.vue.mjs +6 -7
- package/es/date/picker-panels/YearPickerPanel2.vue.mjs +2 -2
- package/es/date/presentation/CalendarContent2.vue.mjs +13 -14
- package/es/date/presentation/CalendarViewport.vue.mjs +2 -3
- package/es/date/presentation/use-date-locale.mjs +2 -3
- package/es/date/presentation/use-field-locale.mjs +5 -6
- package/es/date/presentation/use-panel-actions-locale.mjs +4 -5
- package/es/date-range/presentation/RangeContent2.vue.mjs +4 -5
- package/es/dialog/Dialog.vue.mjs +3 -3
- package/es/ellipsis/style/index.css +1 -1
- package/es/fab/Fab.mjs +4 -5
- package/es/form/FormItemLabel.vue.mjs +4 -3
- package/es/form/focus-explicit-label.mjs +52 -0
- package/es/input/base.mjs +7 -0
- package/es/input/index.mjs +19 -19
- package/es/locale/date-text.mjs +38 -0
- package/es/locale/misc-text.mjs +23 -0
- package/es/locale/temporal-text.mjs +22 -0
- package/es/locale/zh-CN.mjs +235 -131
- package/es/maple-vue.mjs +1 -1
- package/es/maple.css +273 -207
- package/es/maple.esm.js +19385 -18978
- package/es/nav-menu/style/index.css +1 -1
- package/es/notice-bar/NoticeBar2.vue.mjs +2 -3
- package/es/number-keyboard/NumberKeyboard2.vue.mjs +5 -6
- package/es/pagination/PageInput.vue.mjs +2 -2
- package/es/pagination/style/index.css +2 -2
- package/es/people-select/PeopleSelect.mjs +35 -54
- package/es/people-select/Person.vue.mjs +3 -3
- package/es/people-select/emits.mjs +1 -1
- package/es/people-select/people-select.mjs +6 -8
- package/es/people-select/presentation.mjs +3 -1
- package/es/people-select/props.mjs +9 -3
- package/es/people-select/selection.mjs +64 -0
- package/es/people-select/style/index.css +6 -0
- package/es/picker/Picker.vue.mjs +2 -2
- package/es/picker/Picker2.vue.mjs +4 -5
- package/es/picker/base.mjs +7 -0
- package/es/picker/index.mjs +5 -5
- package/es/progress/style/index.css +2 -2
- package/es/radio/style/index.css +1 -1
- package/es/rate/style/index.css +2 -2
- package/es/ripple/index.mjs +78 -0
- package/es/search/HistoryContent.vue.mjs +4 -4
- package/es/search/Search.vue.mjs +4 -4
- package/es/search/props.mjs +1 -2
- package/es/select/props.mjs +2 -0
- package/es/select/select.mjs +14 -4
- package/es/select/style/index.css +22 -12
- package/es/select/use-select-controller.mjs +22 -2
- package/es/slider/Slider.vue.mjs +43 -21
- package/es/slider/SliderInput.vue.mjs +14 -2
- package/es/slider/style/index.css +2 -2
- package/es/steps/style/index.css +10 -10
- package/es/switch/Switch.vue.mjs +12 -1
- package/es/switch/style/index.css +1 -1
- package/es/tab-bar/TabBar.vue.mjs +2 -2
- package/es/tab-bar/style/index.css +2 -2
- package/es/tabs/style/index.css +1 -1
- package/es/tabs/use-tabs-configuration.mjs +2 -3
- package/es/themes/alps-light/index.mjs +10 -11
- package/es/themes/create-brand-dark.mjs +18 -0
- package/es/themes/dark/breadcrumb-item.mjs +1 -1
- package/es/themes/dark/cascader.mjs +1 -1
- package/es/themes/dark/index.mjs +2 -2
- package/es/themes/firefly-light/index.mjs +12 -13
- package/es/themes/index.mjs +2 -2
- package/es/themes/maple-light/index.mjs +2 -2
- package/es/time/presentation/TimeFieldPanel.vue.mjs +2 -2
- package/es/time/presentation/TimePanelContent2.vue.mjs +8 -9
- package/es/time/presentation/use-field-locale.mjs +5 -6
- package/es/time/props.mjs +1 -1
- package/es/time-range/presentation/TimePanelContent2.vue.mjs +6 -7
- package/es/time-range/props.mjs +1 -1
- package/es/trigger/popup-move-focus.mjs +6 -6
- package/es/trigger/position.mjs +49 -3
- package/es/trigger/positioner.mjs +34 -5
- package/es/trigger/trigger.mjs +1 -1
- package/es/upload/Upload.vue.mjs +18 -2
- package/es/upload/composables/use-upload-queue.mjs +10 -1
- package/es/upload/composables/use-uploader.mjs +45 -11
- package/es/upload/use-upload-locale.mjs +16 -12
- package/es/utils/modal-focus.mjs +9 -2
- package/es/utils/modal-surface.mjs +9 -3
- package/highlight/web-types.en-US.json +698 -176
- package/highlight/web-types.zh-CN.json +699 -177
- package/lib/_components/field-presentation/EditorPanel.vue.js +3 -3
- package/lib/_components/field-presentation/editor-pending.js +4 -0
- package/lib/_components/field-presentation/with-field-presentation.js +50 -7
- package/lib/_components/picker-field/PickerField.vue.js +3 -13
- package/lib/_components/picker-field/TemporalCurrent.vue.js +2 -3
- package/lib/_components/picker-field/range-labels.js +18 -0
- package/lib/_components/selected-options/style/index.css +33 -15
- package/lib/_components/selection-field/use-selection-session.js +1 -0
- package/lib/_components/virtual-list-v2/VirtualList2.vue.js +25 -3
- package/lib/action-sheet/ActionSheet2.vue.js +2 -3
- package/lib/auto-complete/auto-complete.js +2 -2
- package/lib/auto-complete/presentation.js +1 -0
- package/lib/auto-complete/props.js +2 -0
- package/lib/auto-complete/style/index.css +7 -2
- package/lib/back-top/style/index.css +1 -1
- package/lib/breadcrumb/style/index.css +1 -1
- package/lib/button/base.js +7 -0
- package/lib/button/index.js +4 -4
- package/lib/button/style/index.css +1 -1
- package/lib/card/Card.vue.js +55 -13
- package/lib/carousel/style/index.css +1 -1
- package/lib/carousel/use-carousel-locale.js +9 -2
- package/lib/cascader/CascaderMenu.vue.js +2 -2
- package/lib/cascader/cascader-option.js +15 -6
- package/lib/cascader/field-adapter.js +1 -0
- package/lib/cascader/props.js +2 -0
- package/lib/cascader/style/index.css +36 -9
- package/lib/cascader/style/index.js +1 -0
- package/lib/cascader/use-cascader-focus.js +9 -6
- package/lib/checkbox/base.js +7 -0
- package/lib/checkbox/index.js +4 -4
- package/lib/checkbox/presentation.js +2 -2
- package/lib/checkbox/style/index.css +1 -1
- package/lib/countdown/use-countdown.js +9 -2
- package/lib/date/DatePanelActions.vue.js +4 -4
- package/lib/date/DateRangeQuickPanel.vue.js +2 -2
- package/lib/date/DateShortcuts.vue.js +2 -2
- package/lib/date/field-adapter.js +2 -3
- package/lib/date/picker-panels/DayPickerPanel2.vue.js +6 -7
- package/lib/date/picker-panels/MonthPickerPanel2.vue.js +7 -8
- package/lib/date/picker-panels/PanelHeader2.vue.js +6 -7
- package/lib/date/picker-panels/YearPickerPanel2.vue.js +2 -2
- package/lib/date/presentation/CalendarContent2.vue.js +13 -14
- package/lib/date/presentation/CalendarViewport.vue.js +2 -3
- package/lib/date/presentation/use-date-locale.js +2 -3
- package/lib/date/presentation/use-field-locale.js +5 -6
- package/lib/date/presentation/use-panel-actions-locale.js +4 -5
- package/lib/date-range/presentation/RangeContent2.vue.js +4 -5
- package/lib/dialog/Dialog.vue.js +3 -3
- package/lib/ellipsis/style/index.css +1 -1
- package/lib/fab/Fab.js +4 -5
- package/lib/form/FormItemLabel.vue.js +3 -2
- package/lib/form/focus-explicit-label.js +52 -0
- package/lib/input/base.js +7 -0
- package/lib/input/index.js +5 -5
- package/lib/locale/date-text.js +38 -0
- package/lib/locale/misc-text.js +23 -0
- package/lib/locale/temporal-text.js +22 -0
- package/lib/locale/zh-CN.js +234 -130
- package/lib/maple-vue.js +1 -1
- package/lib/maple.cjs.js +3637 -2963
- package/lib/maple.css +273 -207
- package/lib/nav-menu/style/index.css +1 -1
- package/lib/notice-bar/NoticeBar2.vue.js +2 -3
- package/lib/number-keyboard/NumberKeyboard2.vue.js +5 -6
- package/lib/pagination/PageInput.vue.js +2 -2
- package/lib/pagination/style/index.css +2 -2
- package/lib/people-select/PeopleSelect.js +34 -53
- package/lib/people-select/Person.vue.js +3 -3
- package/lib/people-select/emits.js +1 -1
- package/lib/people-select/people-select.js +6 -8
- package/lib/people-select/presentation.js +3 -1
- package/lib/people-select/props.js +9 -3
- package/lib/people-select/selection.js +64 -0
- package/lib/people-select/style/index.css +6 -0
- package/lib/picker/Picker.vue.js +2 -2
- package/lib/picker/Picker2.vue.js +4 -5
- package/lib/picker/base.js +7 -0
- package/lib/picker/index.js +5 -5
- package/lib/progress/style/index.css +2 -2
- package/lib/radio/style/index.css +1 -1
- package/lib/rate/style/index.css +2 -2
- package/lib/ripple/index.js +78 -0
- package/lib/search/HistoryContent.vue.js +4 -4
- package/lib/search/Search.vue.js +4 -4
- package/lib/search/props.js +1 -2
- package/lib/select/props.js +2 -0
- package/lib/select/select.js +14 -4
- package/lib/select/style/index.css +22 -12
- package/lib/select/use-select-controller.js +22 -2
- package/lib/slider/Slider.vue.js +42 -20
- package/lib/slider/SliderInput.vue.js +14 -2
- package/lib/slider/style/index.css +2 -2
- package/lib/steps/style/index.css +10 -10
- package/lib/switch/Switch.vue.js +11 -0
- package/lib/switch/style/index.css +1 -1
- package/lib/tab-bar/TabBar.vue.js +2 -2
- package/lib/tab-bar/style/index.css +2 -2
- package/lib/tabs/style/index.css +1 -1
- package/lib/tabs/use-tabs-configuration.js +2 -3
- package/lib/themes/alps-light/index.js +10 -11
- package/lib/themes/create-brand-dark.js +18 -0
- package/lib/themes/dark/breadcrumb-item.js +1 -1
- package/lib/themes/dark/cascader.js +1 -1
- package/lib/themes/dark/index.js +2 -2
- package/lib/themes/firefly-light/index.js +12 -13
- package/lib/themes/index.js +2 -2
- package/lib/themes/maple-light/index.js +2 -2
- package/lib/time/presentation/TimeFieldPanel.vue.js +2 -2
- package/lib/time/presentation/TimePanelContent2.vue.js +8 -9
- package/lib/time/presentation/use-field-locale.js +5 -6
- package/lib/time/props.js +1 -1
- package/lib/time-range/presentation/TimePanelContent2.vue.js +6 -7
- package/lib/time-range/props.js +1 -1
- package/lib/trigger/popup-move-focus.js +6 -6
- package/lib/trigger/position.js +48 -2
- package/lib/trigger/positioner.js +33 -4
- package/lib/trigger/trigger.js +1 -1
- package/lib/upload/Upload.vue.js +17 -1
- package/lib/upload/composables/use-upload-queue.js +10 -1
- package/lib/upload/composables/use-uploader.js +45 -11
- package/lib/upload/use-upload-locale.js +15 -11
- package/lib/utils/modal-focus.js +9 -2
- package/lib/utils/modal-surface.js +9 -3
- package/package.json +6 -6
- package/types/styleVars.d.ts +3 -0
- package/types-generated/_components/field-presentation/editor-pending.d.ts +3 -0
- package/types-generated/_components/field-presentation/with-field-presentation.d.ts +2 -0
- package/types-generated/_components/picker-field/range-labels.d.ts +1 -0
- package/types-generated/action-sheet/ActionSheet.vue.d.ts +2 -1
- package/types-generated/action-sheet/index.d.ts +1 -1
- package/types-generated/auto-complete/auto-complete.d.ts +13 -4
- package/types-generated/auto-complete/index.d.ts +30 -0
- package/types-generated/auto-complete/presentation.d.ts +9 -0
- package/types-generated/auto-complete/props.d.ts +5 -1
- package/types-generated/breadcrumb/index.d.ts +72 -2
- package/types-generated/button/base.d.ts +266 -0
- package/types-generated/button/index.d.ts +3 -1
- package/types-generated/cascader/Cascader.vue.d.ts +10 -1
- package/types-generated/cascader/CascaderPanel.vue.d.ts +1 -1
- package/types-generated/cascader/index.d.ts +39 -9
- package/types-generated/cascader/presentation.d.ts +18 -3
- package/types-generated/cascader/props.d.ts +5 -0
- package/types-generated/cascader/style/index.d.ts +1 -0
- package/types-generated/cascader/use-cascader-controller.d.ts +4 -0
- package/types-generated/checkbox/base.d.ts +361 -0
- package/types-generated/checkbox/index.d.ts +362 -3
- package/types-generated/date/picker-panels/DayPickerPanel.vue.d.ts +6 -248
- package/types-generated/date/picker-panels/MonthPickerPanel.vue.d.ts +8 -249
- package/types-generated/date/picker-panels/PanelHeader.vue.d.ts +3 -124
- package/types-generated/date/picker-panels/YearPickerPanel.vue.d.ts +6 -248
- package/types-generated/date/presentation/CalendarContent.vue.d.ts +1169 -966
- package/types-generated/date-range/presentation/RangeContent.vue.d.ts +2561 -1430
- package/types-generated/form/focus-explicit-label.d.ts +2 -0
- package/types-generated/index.d.ts +1 -1
- package/types-generated/input/base.d.ts +481 -0
- package/types-generated/input/index.d.ts +2 -0
- package/types-generated/locale/date-text.d.ts +2 -0
- package/types-generated/locale/misc-text.d.ts +2 -0
- package/types-generated/locale/temporal-text.d.ts +2 -0
- package/types-generated/maple-vue.d.ts +1 -1
- package/types-generated/menu/index.d.ts +1022 -2
- package/types-generated/people-select/PeopleSelect.d.ts +38 -16
- package/types-generated/people-select/emits.d.ts +3 -2
- package/types-generated/people-select/index.d.ts +135 -63
- package/types-generated/people-select/people-select.d.ts +47 -16
- package/types-generated/people-select/presentation.d.ts +46 -16
- package/types-generated/people-select/props.d.ts +18 -7
- package/types-generated/people-select/selection.d.ts +11 -0
- package/types-generated/people-select/types.d.ts +5 -1
- package/types-generated/picker/Picker.vue.d.ts +5 -125
- package/types-generated/picker/base.d.ts +2043 -0
- package/types-generated/picker/index.d.ts +1134 -206
- package/types-generated/radio/index.d.ts +365 -2
- package/types-generated/search/Search.vue.d.ts +2 -2
- package/types-generated/search/props.d.ts +1 -1
- package/types-generated/select/index.d.ts +30 -0
- package/types-generated/select/native-editor-owner.d.ts +1 -0
- package/types-generated/select/props.d.ts +6 -1
- package/types-generated/select/select.d.ts +9 -0
- package/types-generated/select/use-select-controller.d.ts +5 -0
- package/types-generated/slider/SliderInput.vue.d.ts +4 -0
- package/types-generated/themes/dark/cascader.d.ts +1 -1
- package/types-generated/themes/index.d.ts +2 -2
- package/types-generated/time/presentation/TimePanelContent.vue.d.ts +1117 -309
- package/types-generated/time/props.d.ts +3 -2
- package/types-generated/time-range/picker-props.d.ts +1 -1
- package/types-generated/time-range/presentation/TimePanelContent.vue.d.ts +1125 -317
- package/types-generated/time-range/props.d.ts +6 -5
- package/types-generated/trigger/position.d.ts +1 -0
- package/types-generated/upload/Upload.vue.d.ts +11 -11
- package/types-generated/upload/composables/use-upload-queue.d.ts +1 -0
- package/types-generated/upload/composables/use-uploader.d.ts +2 -0
- package/types-generated/utils/modal-focus.d.ts +1 -0
- package/umd/_components/selected-options/style/index.css +33 -15
- package/umd/auto-complete/style/index.css +7 -2
- package/umd/back-top/style/index.css +1 -1
- package/umd/breadcrumb/style/index.css +1 -1
- package/umd/button/style/index.css +1 -1
- package/umd/carousel/style/index.css +1 -1
- package/umd/cascader/style/index.css +36 -9
- package/umd/checkbox/style/index.css +1 -1
- package/umd/ellipsis/style/index.css +1 -1
- package/umd/maple.css +273 -207
- package/umd/maple.js +3 -3
- package/umd/nav-menu/style/index.css +1 -1
- package/umd/pagination/style/index.css +2 -2
- package/umd/people-select/style/index.css +6 -0
- package/umd/progress/style/index.css +2 -2
- package/umd/radio/style/index.css +1 -1
- package/umd/rate/style/index.css +2 -2
- package/umd/select/style/index.css +22 -12
- package/umd/slider/style/index.css +2 -2
- package/umd/steps/style/index.css +10 -10
- package/umd/switch/style/index.css +1 -1
- package/umd/tab-bar/style/index.css +2 -2
- package/umd/tabs/style/index.css +1 -1
package/lib/card/Card.vue.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const iconsVue = require("@maple-design/icons-vue");
|
|
5
5
|
const sharedVue = require("@maple-design/shared-vue");
|
|
6
|
-
const
|
|
6
|
+
const base = require("../button/base.js");
|
|
7
7
|
const lock = require("../context/lock.js");
|
|
8
8
|
const zIndex = require("../context/zIndex.js");
|
|
9
9
|
require("../divider/index.js");
|
|
@@ -66,29 +66,29 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
66
66
|
let stopInactiveFocusTracking;
|
|
67
67
|
function trackInactiveFocus() {
|
|
68
68
|
stopInactiveFocusTracking?.();
|
|
69
|
-
const
|
|
70
|
-
if (!
|
|
69
|
+
const document2 = card.value?.ownerDocument;
|
|
70
|
+
if (!document2) {
|
|
71
71
|
return;
|
|
72
72
|
}
|
|
73
73
|
const remember = (target) => {
|
|
74
74
|
const element = target;
|
|
75
|
-
if (element && typeof element.focus === "function" && !card.value?.contains(element) && element !==
|
|
75
|
+
if (element && typeof element.focus === "function" && !card.value?.contains(element) && element !== document2.body && element !== document2.documentElement) {
|
|
76
76
|
returnFocus = element;
|
|
77
77
|
}
|
|
78
78
|
};
|
|
79
|
-
remember(
|
|
79
|
+
remember(document2.activeElement);
|
|
80
80
|
const onFocus = (event) => remember(event.target);
|
|
81
|
-
|
|
82
|
-
stopInactiveFocusTracking = () =>
|
|
81
|
+
document2.addEventListener("focusin", onFocus, true);
|
|
82
|
+
stopInactiveFocusTracking = () => document2.removeEventListener("focusin", onFocus, true);
|
|
83
83
|
}
|
|
84
84
|
function updateReturnFocus(open) {
|
|
85
|
-
const
|
|
86
|
-
if (!
|
|
85
|
+
const document2 = card.value?.ownerDocument;
|
|
86
|
+
if (!document2) {
|
|
87
87
|
return;
|
|
88
88
|
}
|
|
89
|
-
const focused =
|
|
89
|
+
const focused = document2.activeElement;
|
|
90
90
|
if (open) {
|
|
91
|
-
returnFocus = focused && focused !==
|
|
91
|
+
returnFocus = focused && focused !== document2.body && focused !== document2.documentElement ? focused : null;
|
|
92
92
|
return;
|
|
93
93
|
}
|
|
94
94
|
const target = returnFocus;
|
|
@@ -102,6 +102,37 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
102
102
|
const { onStackTop } = popupLayer.usePopupLayer(wantsFloating, zIndex$1, () => card.value?.ownerDocument, true);
|
|
103
103
|
const available = () => active && !disposed;
|
|
104
104
|
let openingWaiting = false;
|
|
105
|
+
let cancelOpeningFrames;
|
|
106
|
+
function waitForOwnerFrames(view) {
|
|
107
|
+
cancelOpeningFrames?.();
|
|
108
|
+
return new Promise((resolve) => {
|
|
109
|
+
let handle;
|
|
110
|
+
let settled = false;
|
|
111
|
+
const finish = (completed) => {
|
|
112
|
+
if (settled) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
settled = true;
|
|
116
|
+
if (cancelOpeningFrames === cancel) {
|
|
117
|
+
cancelOpeningFrames = void 0;
|
|
118
|
+
}
|
|
119
|
+
resolve(completed);
|
|
120
|
+
};
|
|
121
|
+
const cancel = () => {
|
|
122
|
+
if (handle !== void 0) {
|
|
123
|
+
view.cancelAnimationFrame?.(handle);
|
|
124
|
+
}
|
|
125
|
+
finish(false);
|
|
126
|
+
};
|
|
127
|
+
cancelOpeningFrames = cancel;
|
|
128
|
+
handle = view.requestAnimationFrame(() => {
|
|
129
|
+
if (settled) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
handle = view.requestAnimationFrame(() => finish(true));
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
}
|
|
105
136
|
let reducedMotion = false;
|
|
106
137
|
let stopMotionTracking;
|
|
107
138
|
function trackMotion(element) {
|
|
@@ -152,6 +183,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
152
183
|
wantsFloating,
|
|
153
184
|
(value) => {
|
|
154
185
|
const token = ++generation;
|
|
186
|
+
cancelOpeningFrames?.();
|
|
155
187
|
if (!active) {
|
|
156
188
|
if (!disposed && value) {
|
|
157
189
|
trackInactiveFocus();
|
|
@@ -183,6 +215,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
183
215
|
return;
|
|
184
216
|
}
|
|
185
217
|
const token = ++generation;
|
|
218
|
+
cancelOpeningFrames?.();
|
|
186
219
|
const element = card.value;
|
|
187
220
|
let consumed = false;
|
|
188
221
|
clearTimeout(floater.value ?? void 0);
|
|
@@ -210,7 +243,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
210
243
|
dropdownFloaterLeft = floaterLeft.value;
|
|
211
244
|
showFloatingButtons.value = true;
|
|
212
245
|
if (!reducedMotion) {
|
|
213
|
-
|
|
246
|
+
const view = element.ownerDocument.defaultView;
|
|
247
|
+
if (view && typeof document !== "undefined" && element.ownerDocument !== document && typeof view.requestAnimationFrame === "function") {
|
|
248
|
+
if (!await waitForOwnerFrames(view)) {
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
} else {
|
|
252
|
+
await sharedVue.doubleRaf();
|
|
253
|
+
}
|
|
214
254
|
}
|
|
215
255
|
if (!current(token, element) || !wantsFloating()) {
|
|
216
256
|
return;
|
|
@@ -233,6 +273,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
233
273
|
return;
|
|
234
274
|
}
|
|
235
275
|
const token = ++generation;
|
|
276
|
+
cancelOpeningFrames?.();
|
|
236
277
|
const element = card.value;
|
|
237
278
|
let consumed = false;
|
|
238
279
|
clearTimeout(dropper);
|
|
@@ -330,6 +371,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
330
371
|
}
|
|
331
372
|
});
|
|
332
373
|
function cleanup() {
|
|
374
|
+
cancelOpeningFrames?.();
|
|
333
375
|
openingWaiting = false;
|
|
334
376
|
active = false;
|
|
335
377
|
generation++;
|
|
@@ -475,7 +517,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
475
517
|
})
|
|
476
518
|
}, [
|
|
477
519
|
vue.renderSlot(_ctx.$slots, "close-button", {}, () => [
|
|
478
|
-
vue.createVNode(vue.unref(
|
|
520
|
+
vue.createVNode(vue.unref(base.default), {
|
|
479
521
|
"data-card-cover": "",
|
|
480
522
|
class: vue.normalizeClass(vue.unref(classes)(vue.unref(n)("close-button"), vue.unref(n)("$-elevation--6"))),
|
|
481
523
|
"aria-label": props2.closeButtonAriaLabel ?? vue.unref(closeLabel),
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
--mp-carousel-card-opacity: 0.6;
|
|
29
29
|
--mp-carousel-focus-width: 2px;
|
|
30
30
|
--mp-carousel-focus-offset: 2px;
|
|
31
|
-
--mp-carousel-focus-color: var(--mp-sys-color-
|
|
31
|
+
--mp-carousel-focus-color: var(--mp-sys-color-action-primary);
|
|
32
32
|
}
|
|
33
33
|
.mp-carousel {
|
|
34
34
|
position: relative;
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const vue = require("vue");
|
|
4
|
-
require("../locale/index.js");
|
|
5
4
|
const provide = require("../locale-provider/provide.js");
|
|
6
5
|
const state = require("../locale/state.js");
|
|
6
|
+
const zhCN = require("../locale/zh-CN.js");
|
|
7
7
|
function useCarouselLocale() {
|
|
8
8
|
const { t: translate } = provide.injectLocaleProvider();
|
|
9
|
-
const
|
|
9
|
+
const defaults = {
|
|
10
|
+
"carousel.label": zhCN.defaultCarouselLabel,
|
|
11
|
+
"carousel.previous": zhCN.defaultCarouselPrevious,
|
|
12
|
+
"carousel.next": zhCN.defaultCarouselNext,
|
|
13
|
+
"carousel.slide": zhCN.defaultCarouselSlide,
|
|
14
|
+
"carousel.goto": zhCN.defaultCarouselGoto
|
|
15
|
+
};
|
|
16
|
+
const message = (key) => String(translate ? translate(key) : state.t(key) ?? (!state.defaultLocaleReady.value ? defaults[key] : void 0));
|
|
10
17
|
return vue.computed(() => ({
|
|
11
18
|
label: message("carousel.label"),
|
|
12
19
|
previous: message("carousel.previous"),
|
|
@@ -6,7 +6,7 @@ const texts = require("../_components/field-presentation/texts.js");
|
|
|
6
6
|
const context = require("../_components/selected-options/context.js");
|
|
7
7
|
const SelectedOptions_vue_vue_type_script_setup_true_lang = require("../_components/selected-options/SelectedOptions.vue.js");
|
|
8
8
|
const errorDescription = require("../form/error-description.js");
|
|
9
|
-
const
|
|
9
|
+
const base = require("../input/base.js");
|
|
10
10
|
const components = require("../utils/components.js");
|
|
11
11
|
const baseCascaderPanel = require("./base-cascader-panel.js");
|
|
12
12
|
const cascaderSearchPanel = require("./cascader-search-panel.js");
|
|
@@ -38,7 +38,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
38
38
|
onClear: _ctx.controller.clearSelection
|
|
39
39
|
}, {
|
|
40
40
|
default: vue.withCtx(() => [
|
|
41
|
-
_ctx.searchable ? (vue.openBlock(), vue.createBlock(vue.unref(
|
|
41
|
+
_ctx.searchable ? (vue.openBlock(), vue.createBlock(vue.unref(base.default), {
|
|
42
42
|
key: 0,
|
|
43
43
|
"model-value": _ctx.controller.computedInputValue,
|
|
44
44
|
"edit-mode": "direct",
|
|
@@ -4,10 +4,12 @@ const vue = require("vue");
|
|
|
4
4
|
const iconsVue = require("@maple-design/icons-vue");
|
|
5
5
|
const formBridge = require("../_components/field-presentation/form-bridge.js");
|
|
6
6
|
const is = require("../_utils/is.js");
|
|
7
|
-
const
|
|
7
|
+
const base = require("../checkbox/base.js");
|
|
8
8
|
const components = require("../utils/components.js");
|
|
9
9
|
const context = require("./context.js");
|
|
10
10
|
const utils = require("./utils.js");
|
|
11
|
+
const INTERACTIVE_ROLES = /* @__PURE__ */ new Set(["button", "link", "checkbox", "radio", "switch", "textbox", "combobox", "menuitem", "menuitemcheckbox", "menuitemradio", "option", "treeitem", "gridcell", "slider", "spinbutton", "tab"]);
|
|
12
|
+
const CONCRETE_ROLES = new Set("alert alertdialog application article banner blockquote button caption cell checkbox code columnheader combobox comment complementary contentinfo definition deletion directory document emphasis feed figure form generic grid gridcell group heading image img insertion link list listbox listitem log main mark marquee math menu menubar menuitem menuitemcheckbox menuitemradio meter navigation none note option paragraph presentation progressbar radio radiogroup region row rowgroup rowheader scrollbar search searchbox sectionfooter sectionheader separator slider spinbutton status strong suggestion subscript superscript switch tab table tablist tabpanel term textbox time timer toolbar tooltip tree treegrid treeitem doc-abstract doc-acknowledgments doc-afterword doc-appendix doc-backlink doc-biblioentry doc-bibliography doc-biblioref doc-chapter doc-colophon doc-conclusion doc-cover doc-credit doc-credits doc-dedication doc-endnote doc-endnotes doc-epigraph doc-epilogue doc-errata doc-example doc-footnote doc-foreword doc-glossary doc-glossref doc-index doc-introduction doc-noteref doc-notice doc-pagebreak doc-pagefooter doc-pageheader doc-pagelist doc-part doc-preface doc-prologue doc-pullquote doc-qna doc-subtitle doc-tip doc-toc graphics-document graphics-object graphics-symbol".split(" "));
|
|
11
13
|
function ownsOptionClick(event) {
|
|
12
14
|
if (event.defaultPrevented) {
|
|
13
15
|
return false;
|
|
@@ -31,7 +33,14 @@ function ownsOptionClick(event) {
|
|
|
31
33
|
if (element?.nodeType !== 1 || typeof element.matches !== "function") {
|
|
32
34
|
continue;
|
|
33
35
|
}
|
|
34
|
-
|
|
36
|
+
const primaryRole = element.getAttribute("role")?.trim().split(/\s+/).find((role) => CONCRETE_ROLES.has(role));
|
|
37
|
+
if (primaryRole && INTERACTIVE_ROLES.has(primaryRole)) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
if (element.hasAttribute("tabindex") && element.tabIndex >= 0) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
if (element.matches('li[data-cascader-key], button, a[href], input, select, textarea, summary, audio[controls], video[controls], [contenteditable]:not([contenteditable="false"])')) {
|
|
35
44
|
return false;
|
|
36
45
|
}
|
|
37
46
|
if (element.matches("label") && (element.htmlFor || element.querySelector("input, button, select, textarea"))) {
|
|
@@ -112,7 +121,9 @@ const CascaderOption = /* @__PURE__ */ vue.defineComponent({
|
|
|
112
121
|
},
|
|
113
122
|
onMouseleave: (event) => {
|
|
114
123
|
const element = event.currentTarget;
|
|
115
|
-
const
|
|
124
|
+
const nodeRoot = element.getRootNode();
|
|
125
|
+
const focusRoot = "activeElement" in nodeRoot ? nodeRoot : element.ownerDocument;
|
|
126
|
+
const focused = focusRoot.activeElement;
|
|
116
127
|
let focusedOption = focused?.closest("[data-cascader-key]");
|
|
117
128
|
const panelSelector = `.${components.getPrefixCls("cascader")}-panel, .${components.getPrefixCls("cascader")}-editor-panel`;
|
|
118
129
|
const panel = element.closest(panelSelector);
|
|
@@ -199,7 +210,7 @@ const CascaderOption = /* @__PURE__ */ vue.defineComponent({
|
|
|
199
210
|
}, events), [props.multiple && vue.createVNode("span", {
|
|
200
211
|
"class": `${prefixCls}-checkbox`,
|
|
201
212
|
"onClick": (event) => event.stopPropagation()
|
|
202
|
-
}, [vue.createVNode(
|
|
213
|
+
}, [vue.createVNode(base.default, {
|
|
203
214
|
"editMode": "direct",
|
|
204
215
|
"uninjectGroupContext": true,
|
|
205
216
|
"modelValue": Boolean(checkedStatus.value.checked),
|
|
@@ -211,9 +222,7 @@ const CascaderOption = /* @__PURE__ */ vue.defineComponent({
|
|
|
211
222
|
if (props.option.disabled || props.option.selectionDisabled) {
|
|
212
223
|
return;
|
|
213
224
|
}
|
|
214
|
-
const task = handlePathChange(new Event("change"));
|
|
215
225
|
cascaderCtx.onClickOption?.(props.option, Boolean(checked));
|
|
216
|
-
return task;
|
|
217
226
|
}
|
|
218
227
|
}, null)]), vue.createVNode("div", {
|
|
219
228
|
"class": `${prefixCls}-label`
|
|
@@ -4,6 +4,7 @@ const vue = require("vue");
|
|
|
4
4
|
const optionLabels = require("../_components/field-presentation/option-labels.js");
|
|
5
5
|
const CascaderEditor_vue_vue_type_script_setup_true_lang = require("./CascaderEditor.vue.js");
|
|
6
6
|
const cascaderFieldAdapter = {
|
|
7
|
+
selectionConfirmation: "update",
|
|
7
8
|
pauseSelectionWhileLoading: true,
|
|
8
9
|
methods: ["focus", "blur", "refresh"],
|
|
9
10
|
defaultPresentation: "popup",
|
package/lib/cascader/props.js
CHANGED
|
@@ -8,6 +8,8 @@ const emptyValue = require("../utils/empty-value.js");
|
|
|
8
8
|
const popupContainer = require("../utils/popup-container.js");
|
|
9
9
|
const cascaderProps = {
|
|
10
10
|
...props.fieldLoadingProps,
|
|
11
|
+
/** 弹出编辑是否需要确认;未设置时单选即提交,多选保留确认。 */
|
|
12
|
+
needConfirm: { type: Boolean, default: void 0 },
|
|
11
13
|
openTriggerTarget: openTrigger.openTriggerTargetProp,
|
|
12
14
|
/** 清空动作产生的模型值;省略保留原默认值。 */
|
|
13
15
|
/** 内置本地过滤是否区分大小写;自定义过滤函数优先。 */
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
--mp-cascader-size-item-height: 36px;
|
|
12
12
|
--mp-cascader-font-item-size: var(--mp-sys-font-size-md);
|
|
13
13
|
--mp-cascader-margin-item-icon-left: var(--mp-sys-space-5);
|
|
14
|
-
--mp-cascader-item-check-color: var(--mp-sys-color-
|
|
14
|
+
--mp-cascader-item-check-color: var(--mp-sys-color-action-primary);
|
|
15
15
|
--mp-cascader-item-check-size: var(--mp-sys-font-size-md);
|
|
16
16
|
--mp-cascader-item-text-color: var(--mp-sys-color-content-primary);
|
|
17
17
|
--mp-cascader-item-icon-color: var(--mp-sys-color-content-secondary);
|
|
@@ -19,11 +19,11 @@
|
|
|
19
19
|
--mp-cascader-padding-item-right: var(--mp-sys-space-5);
|
|
20
20
|
--mp-cascader-size-item-icon: 12px;
|
|
21
21
|
--mp-cascader-item-text-color-hover: var(--mp-cascader-item-text-color);
|
|
22
|
-
--mp-cascader-item-text-color-active: var(--mp-
|
|
22
|
+
--mp-cascader-item-text-color-active: var(--mp-sys-color-action-primary);
|
|
23
23
|
--mp-cascader-item-text-color-disabled: var(--mp-sys-color-content-disabled);
|
|
24
24
|
--mp-cascader-item-text-color-disabled-active: var(--mp-sys-color-content-disabled);
|
|
25
|
-
--mp-cascader-item-bg-active:
|
|
26
|
-
--mp-cascader-item-bg-hover: var(--mp-
|
|
25
|
+
--mp-cascader-item-bg-active: transparent;
|
|
26
|
+
--mp-cascader-item-bg-hover: var(--mp-color-fill-2);
|
|
27
27
|
--mp-cascader-item-bg-disabled: transparent;
|
|
28
28
|
--mp-cascader-item-bg-disabled-active: var(--mp-color-fill-2);
|
|
29
29
|
--mp-cascader-checkbox-bg-hover: var(--mp-color-fill-3);
|
|
@@ -222,17 +222,44 @@
|
|
|
222
222
|
.mp-cascader-search-option-disabled:hover .mp-cascader-option-check {
|
|
223
223
|
color: var(--mp-cascader-item-text-color-disabled);
|
|
224
224
|
}
|
|
225
|
-
.mp-cascader-option-active
|
|
226
|
-
|
|
227
|
-
|
|
225
|
+
.mp-cascader-option-active,
|
|
226
|
+
.mp-cascader-search-option-active {
|
|
227
|
+
color: var(--mp-cascader-item-text-color-hover);
|
|
228
|
+
background-color: var(--mp-cascader-item-bg-hover);
|
|
228
229
|
transition: all var(--mp-sys-motion-duration-standard) var(--mp-sys-motion-easing-standard);
|
|
229
230
|
}
|
|
230
|
-
.mp-cascader-option-
|
|
231
|
+
.mp-cascader-option-selected,
|
|
232
|
+
.mp-cascader-search-option-selected {
|
|
231
233
|
color: var(--mp-cascader-item-text-color-active);
|
|
232
234
|
background-color: var(--mp-cascader-item-bg-active);
|
|
233
235
|
}
|
|
236
|
+
.mp-cascader-option-selected:hover,
|
|
237
|
+
.mp-cascader-search-option-selected:hover,
|
|
238
|
+
.mp-cascader-option-selected.mp-cascader-option-active,
|
|
239
|
+
.mp-cascader-search-option-selected.mp-cascader-option-active,
|
|
240
|
+
.mp-cascader-option-selected.mp-cascader-search-option-active,
|
|
241
|
+
.mp-cascader-search-option-selected.mp-cascader-search-option-active,
|
|
242
|
+
.mp-cascader-option-selected.mp-cascader-search-option-hover,
|
|
243
|
+
.mp-cascader-search-option-selected.mp-cascader-search-option-hover {
|
|
244
|
+
color: var(--mp-cascader-item-text-color-active);
|
|
245
|
+
background-color: var(--mp-cascader-item-bg-hover);
|
|
246
|
+
}
|
|
234
247
|
.mp-cascader-option-active.mp-cascader-option-disabled,
|
|
235
|
-
.mp-cascader-option-active.mp-cascader-option-disabled
|
|
248
|
+
.mp-cascader-option-active.mp-cascader-search-option-disabled,
|
|
249
|
+
.mp-cascader-search-option-active.mp-cascader-option-disabled,
|
|
250
|
+
.mp-cascader-search-option-active.mp-cascader-search-option-disabled,
|
|
251
|
+
.mp-cascader-option-active.mp-cascader-option-disabled:hover,
|
|
252
|
+
.mp-cascader-option-active.mp-cascader-search-option-disabled:hover,
|
|
253
|
+
.mp-cascader-search-option-active.mp-cascader-option-disabled:hover,
|
|
254
|
+
.mp-cascader-search-option-active.mp-cascader-search-option-disabled:hover,
|
|
255
|
+
.mp-cascader-option-selected.mp-cascader-option-disabled,
|
|
256
|
+
.mp-cascader-option-selected.mp-cascader-search-option-disabled,
|
|
257
|
+
.mp-cascader-search-option-selected.mp-cascader-option-disabled,
|
|
258
|
+
.mp-cascader-search-option-selected.mp-cascader-search-option-disabled,
|
|
259
|
+
.mp-cascader-option-selected.mp-cascader-option-disabled:hover,
|
|
260
|
+
.mp-cascader-option-selected.mp-cascader-search-option-disabled:hover,
|
|
261
|
+
.mp-cascader-search-option-selected.mp-cascader-option-disabled:hover,
|
|
262
|
+
.mp-cascader-search-option-selected.mp-cascader-search-option-disabled:hover {
|
|
236
263
|
color: var(--mp-cascader-item-text-color-disabled-active);
|
|
237
264
|
background-color: var(--mp-cascader-item-bg-disabled-active);
|
|
238
265
|
}
|
|
@@ -8,6 +8,7 @@ require('../../trigger/style/index.js')
|
|
|
8
8
|
require('../../empty/style/index.js')
|
|
9
9
|
require('../../loading/style/index.js')
|
|
10
10
|
require('../../button/style/index.js')
|
|
11
|
+
require('../../checkbox/style/index.js')
|
|
11
12
|
require('../../picker/style/index.js')
|
|
12
13
|
require('../../popup/style/index.js')
|
|
13
14
|
require('./index.css')
|
|
@@ -8,11 +8,13 @@ function useCascaderFocus(activeKey) {
|
|
|
8
8
|
vue.onBeforeUnmount(() => cancelPendingFocus?.());
|
|
9
9
|
return (root, option, originPanel, panelSelector) => {
|
|
10
10
|
const key = activeKey.value;
|
|
11
|
-
|
|
11
|
+
const document = root.ownerDocument;
|
|
12
|
+
const nodeRoot = root.getRootNode();
|
|
13
|
+
const focusRoot = "activeElement" in nodeRoot ? nodeRoot : document;
|
|
14
|
+
if (!key || !root.contains(option) || focusRoot.activeElement !== option) {
|
|
12
15
|
return;
|
|
13
16
|
}
|
|
14
17
|
cancelPendingFocus?.();
|
|
15
|
-
const document = root.ownerDocument;
|
|
16
18
|
const view = document.defaultView;
|
|
17
19
|
if (!view) {
|
|
18
20
|
return;
|
|
@@ -36,7 +38,7 @@ function useCascaderFocus(activeKey) {
|
|
|
36
38
|
}
|
|
37
39
|
};
|
|
38
40
|
const onFocus = (next) => {
|
|
39
|
-
if (next.target !== option) {
|
|
41
|
+
if (next.target !== option && !next.composedPath().includes(option)) {
|
|
40
42
|
cleanup();
|
|
41
43
|
}
|
|
42
44
|
};
|
|
@@ -44,9 +46,10 @@ function useCascaderFocus(activeKey) {
|
|
|
44
46
|
if (done) {
|
|
45
47
|
return;
|
|
46
48
|
}
|
|
47
|
-
const focused =
|
|
48
|
-
const
|
|
49
|
-
|
|
49
|
+
const focused = focusRoot.activeElement;
|
|
50
|
+
const docFocus = document.activeElement;
|
|
51
|
+
const lostToRemoval = !option.isConnected && (docFocus === document.body || docFocus === document.documentElement) && (focused === null || focused === document.body || focused === document.documentElement);
|
|
52
|
+
if (!root.isConnected || root.getRootNode() !== nodeRoot || activeKey.value !== key || focused !== option && !lostToRemoval) {
|
|
50
53
|
cleanup();
|
|
51
54
|
return;
|
|
52
55
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const components = require("../utils/components.js");
|
|
4
|
+
const presentation = require("./presentation.js");
|
|
5
|
+
const props = require("./props.js");
|
|
6
|
+
const _Checkbox = components.withPropsDefaultsSetter(presentation.default, props.checkboxProps);
|
|
7
|
+
exports.default = _Checkbox;
|
package/lib/checkbox/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const components = require("../utils/components.js");
|
|
4
|
+
const base = require("./base.js");
|
|
4
5
|
const groupPresentation = require("./group-presentation.js");
|
|
5
|
-
const presentation = require("./presentation.js");
|
|
6
6
|
const props = require("./props.js");
|
|
7
7
|
const Checkbox = components.withInstall(
|
|
8
|
-
|
|
9
|
-
Object.assign(
|
|
8
|
+
base.default,
|
|
9
|
+
Object.assign(base.default, {
|
|
10
10
|
Group: groupPresentation.default
|
|
11
11
|
}),
|
|
12
|
-
{ components: [
|
|
12
|
+
{ components: [base.default, groupPresentation.default] }
|
|
13
13
|
);
|
|
14
14
|
components.withPropsDefaultsSetter(Checkbox, props.checkboxProps);
|
|
15
15
|
components.withPropsDefaultsSetter(groupPresentation.default, props.checkboxGroupProps);
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const withFieldPresentation = require("../_components/field-presentation/with-field-presentation.js");
|
|
4
4
|
const Checkbox_vue_vue_type_script_setup_true_lang = require("./Checkbox.vue.js");
|
|
5
|
-
const
|
|
6
|
-
exports.default =
|
|
5
|
+
const Checkbox = withFieldPresentation.withFieldPresentation(Checkbox_vue_vue_type_script_setup_true_lang.default, { methods: ["toggle", "focus", "blur"] });
|
|
6
|
+
exports.default = Checkbox;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
:root,
|
|
5
5
|
:where([data-mp-theme]) {
|
|
6
6
|
--mp-checkbox-control-color: var(--mp-sys-color-content-secondary);
|
|
7
|
-
--mp-checkbox-control-color-checked: var(--mp-sys-color-
|
|
7
|
+
--mp-checkbox-control-color-checked: var(--mp-sys-color-action-primary);
|
|
8
8
|
--mp-checkbox-control-color-disabled: var(--mp-sys-color-content-disabled);
|
|
9
9
|
--mp-checkbox-control-color-error: var(--mp-sys-color-content-danger);
|
|
10
10
|
--mp-checkbox-control-size: 24px;
|
|
@@ -48,9 +48,12 @@ function useCountdown(props, emit) {
|
|
|
48
48
|
let resumeOnActivate = false;
|
|
49
49
|
let generation = 0;
|
|
50
50
|
let handle;
|
|
51
|
-
function
|
|
51
|
+
function updateDisplay() {
|
|
52
52
|
timeData.value = splitTime(remaining);
|
|
53
53
|
showTime.value = parseFormat(props.format, timeData.value);
|
|
54
|
+
}
|
|
55
|
+
function display() {
|
|
56
|
+
updateDisplay();
|
|
54
57
|
emit("change", timeData.value);
|
|
55
58
|
}
|
|
56
59
|
function cancel() {
|
|
@@ -95,11 +98,15 @@ function useCountdown(props, emit) {
|
|
|
95
98
|
}
|
|
96
99
|
function pause() {
|
|
97
100
|
resumeOnActivate = false;
|
|
98
|
-
|
|
101
|
+
const wasRunning = running;
|
|
102
|
+
if (wasRunning) {
|
|
99
103
|
remaining = Math.max(0, deadline - performance.now());
|
|
100
104
|
}
|
|
101
105
|
running = false;
|
|
102
106
|
cancel();
|
|
107
|
+
if (wasRunning && mounted) {
|
|
108
|
+
updateDisplay();
|
|
109
|
+
}
|
|
103
110
|
}
|
|
104
111
|
function reset() {
|
|
105
112
|
if (!mounted) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const iconsVue = require("@maple-design/icons-vue");
|
|
5
|
-
const
|
|
5
|
+
const base = require("../button/base.js");
|
|
6
6
|
const components = require("../utils/components.js");
|
|
7
7
|
const usePanelActionsLocale = require("./presentation/use-panel-actions-locale.js");
|
|
8
8
|
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
@@ -33,7 +33,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
33
33
|
selectNow: () => emit("select-now"),
|
|
34
34
|
nowDisabled: _ctx.nowDisabled
|
|
35
35
|
})), () => [
|
|
36
|
-
_ctx.showQuick ? (vue.openBlock(), vue.createBlock(vue.unref(
|
|
36
|
+
_ctx.showQuick ? (vue.openBlock(), vue.createBlock(vue.unref(base.default), {
|
|
37
37
|
key: 0,
|
|
38
38
|
variant: "text",
|
|
39
39
|
status: "primary",
|
|
@@ -51,7 +51,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
51
51
|
]),
|
|
52
52
|
_: 1
|
|
53
53
|
}, 8, ["class", "aria-label", "aria-pressed", "disabled"])) : vue.createCommentVNode("", true),
|
|
54
|
-
_ctx.showNow ? (vue.openBlock(), vue.createBlock(vue.unref(
|
|
54
|
+
_ctx.showNow ? (vue.openBlock(), vue.createBlock(vue.unref(base.default), {
|
|
55
55
|
key: 1,
|
|
56
56
|
variant: "text",
|
|
57
57
|
disabled: _ctx.nowDisabled,
|
|
@@ -62,7 +62,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
62
62
|
]),
|
|
63
63
|
_: 1
|
|
64
64
|
}, 8, ["disabled"])) : vue.createCommentVNode("", true),
|
|
65
|
-
_ctx.showConfirm ? (vue.openBlock(), vue.createBlock(vue.unref(
|
|
65
|
+
_ctx.showConfirm ? (vue.openBlock(), vue.createBlock(vue.unref(base.default), {
|
|
66
66
|
key: 2,
|
|
67
67
|
status: "primary",
|
|
68
68
|
disabled: !_ctx.canConfirm,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
|
-
const
|
|
4
|
+
const base = require("../button/base.js");
|
|
5
5
|
const components = require("../utils/components.js");
|
|
6
6
|
const rangeQuickSelection = require("./range-quick-selection.js");
|
|
7
7
|
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
@@ -18,7 +18,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
18
18
|
"aria-label": "快捷选择"
|
|
19
19
|
}, [
|
|
20
20
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(quick).items.value, (item, index) => {
|
|
21
|
-
return vue.openBlock(), vue.createBlock(vue.unref(
|
|
21
|
+
return vue.openBlock(), vue.createBlock(vue.unref(base.default), {
|
|
22
22
|
key: index,
|
|
23
23
|
variant: "text",
|
|
24
24
|
status: "primary",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
|
-
const
|
|
4
|
+
const base = require("../button/base.js");
|
|
5
5
|
const components = require("../utils/components.js");
|
|
6
6
|
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
7
7
|
...{ name: components.createNamespace("date-shortcuts").name },
|
|
@@ -20,7 +20,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
20
20
|
class: vue.normalizeClass(vue.unref(classes)(vue.unref(n)(), vue.unref(n)(`--${_ctx.position}`)))
|
|
21
21
|
}, [
|
|
22
22
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.shortcuts, (shortcut, index) => {
|
|
23
|
-
return vue.openBlock(), vue.createBlock(vue.unref(
|
|
23
|
+
return vue.openBlock(), vue.createBlock(vue.unref(base.default), {
|
|
24
24
|
key: index,
|
|
25
25
|
variant: "text",
|
|
26
26
|
disabled: _ctx.blocked || shortcut.disabled,
|
|
@@ -5,12 +5,11 @@ const openTrigger = require("../_components/picker-field/open-trigger.js");
|
|
|
5
5
|
const PickerField_vue_vue_type_script_setup_true_lang = require("../_components/picker-field/PickerField.vue.js");
|
|
6
6
|
const rangeFieldContext = require("../_components/picker-field/range-field-context.js");
|
|
7
7
|
const props = require("../field-decorator/props.js");
|
|
8
|
-
require("../locale/
|
|
8
|
+
const dateText = require("../locale/date-text.js");
|
|
9
9
|
const dateRules = require("./date-rules.js");
|
|
10
10
|
const dateValue = require("./date-value.js");
|
|
11
11
|
const DatePanel_vue_vue_type_script_setup_true_lang = require("./DatePanel.vue.js");
|
|
12
12
|
const fieldPanelOptions = require("./field-panel-options.js");
|
|
13
|
-
const state = require("../locale/state.js");
|
|
14
13
|
function dateFieldAdapter(range) {
|
|
15
14
|
return {
|
|
16
15
|
methods: ["focus", "blur"],
|
|
@@ -26,7 +25,7 @@ function dateFieldAdapter(range) {
|
|
|
26
25
|
class: ["mp-date-range", attrs.class],
|
|
27
26
|
texts: [0, 1].map((index) => dateValue.formatDateValue(value?.[index], props$1)),
|
|
28
27
|
placeholder: Array.isArray(props$1.placeholder) ? props$1.placeholder[0] : props$1.placeholder,
|
|
29
|
-
placeholders: Array.isArray(props$1.placeholder) ? props$1.placeholder : typeof props$1.placeholder === "string" ? [props$1.placeholder, props$1.placeholder] : [
|
|
28
|
+
placeholders: Array.isArray(props$1.placeholder) ? props$1.placeholder : typeof props$1.placeholder === "string" ? [props$1.placeholder, props$1.placeholder] : [dateText.dateText("dateRangeStart"), dateText.dateText("dateRangeEnd")],
|
|
30
29
|
range: true,
|
|
31
30
|
openTriggerTarget: props$1.openTriggerTarget,
|
|
32
31
|
separator: props$1.separator,
|
|
@@ -6,16 +6,15 @@ const dayjs = require("dayjs");
|
|
|
6
6
|
const isSameOrAfter = require("dayjs/plugin/isSameOrAfter.js");
|
|
7
7
|
const isSameOrBefore = require("dayjs/plugin/isSameOrBefore.js");
|
|
8
8
|
const temporalKeyboard = require("../../_utils/temporal-keyboard.js");
|
|
9
|
-
const
|
|
10
|
-
require("../../locale/index.js");
|
|
9
|
+
const base = require("../../button/base.js");
|
|
11
10
|
const provide = require("../../locale-provider/provide.js");
|
|
11
|
+
const dateText = require("../../locale/date-text.js");
|
|
12
12
|
const components = require("../../utils/components.js");
|
|
13
13
|
const pickerData = require("../../utils/picker-data.js");
|
|
14
14
|
const rangeHighlight = require("../range-highlight.js");
|
|
15
15
|
const useCalendarRangeStyle = require("../use-calendar-range-style.js");
|
|
16
16
|
const PanelHeader = require("./PanelHeader.vue.js");
|
|
17
17
|
const presentationProps = require("../presentation-props.js");
|
|
18
|
-
const state = require("../../locale/state.js");
|
|
19
18
|
dayjs.extend(isSameOrBefore);
|
|
20
19
|
dayjs.extend(isSameOrAfter);
|
|
21
20
|
const { n, classes } = components.createNamespace("day-picker");
|
|
@@ -23,7 +22,7 @@ const { n: nDate } = components.createNamespace("date-picker");
|
|
|
23
22
|
const _sfc_main = vue.defineComponent({
|
|
24
23
|
name: components.createNamespace("day-picker-panel").name,
|
|
25
24
|
components: {
|
|
26
|
-
MpButton:
|
|
25
|
+
MpButton: base.default,
|
|
27
26
|
PanelHeader: PanelHeader.default
|
|
28
27
|
},
|
|
29
28
|
props: {
|
|
@@ -84,7 +83,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
84
83
|
}
|
|
85
84
|
return [...presentationProps.WEEK_HEADER.slice(index), ...presentationProps.WEEK_HEADER.slice(0, index)];
|
|
86
85
|
});
|
|
87
|
-
const getDayAbbr = (key) => (pt ||
|
|
86
|
+
const getDayAbbr = (key) => (pt || dateText.dateText)("datePickerWeekDict")?.[key].abbr ?? "";
|
|
88
87
|
const filterDay = (day) => day > 0 ? day : "";
|
|
89
88
|
const days = vue.computed(() => {
|
|
90
89
|
const {
|
|
@@ -163,8 +162,8 @@ const _sfc_main = vue.defineComponent({
|
|
|
163
162
|
const disabled = computeDisabled();
|
|
164
163
|
const computeText = () => {
|
|
165
164
|
if (range) {
|
|
166
|
-
const
|
|
167
|
-
return disabled ||
|
|
165
|
+
const state = rangeState(day);
|
|
166
|
+
return disabled || state.previewing || !(state.start || state.end);
|
|
168
167
|
}
|
|
169
168
|
if (disabled) {
|
|
170
169
|
return true;
|