@cedar-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 +1 -1
- package/es/_components/field-presentation/editor-pending.mjs +4 -0
- package/es/_components/field-presentation/with-field-presentation.mjs +33 -7
- package/es/_components/picker-field/PickerField.vue.mjs +6 -12
- package/es/_components/picker-field/range-labels.mjs +16 -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 +21 -3
- package/es/_utils/modal-focus.mjs +9 -2
- package/es/_utils/modal-surface.mjs +9 -3
- package/es/anchor/style/index.css +1 -1
- 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/button/base.mjs +6 -0
- package/es/button/index.mjs +8 -8
- package/es/button/style/index.css +1 -1
- package/es/card/Card.vue.mjs +46 -12
- package/es/carousel/style/index.css +1 -1
- package/es/cascader/CascaderMenu.vue.mjs +2 -2
- package/es/cascader/cascader-option.mjs +11 -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/use-cascader-focus.mjs +9 -6
- package/es/cedar.css +187 -79
- package/es/cedar.esm.js +21694 -21413
- package/es/checkbox/base.mjs +6 -0
- package/es/checkbox/checkbox-group.vue.mjs +2 -2
- 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 +7 -2
- package/es/date/DatePanelActions.vue.mjs +1 -1
- package/es/date/DateShortcuts.vue.mjs +1 -1
- package/es/date/picker/panels/Footer2.vue.mjs +1 -1
- package/es/date/picker/panels/Shortcuts2.vue.mjs +1 -1
- package/es/date/picker/style/index.css +1 -1
- package/es/dialog/Dialog.vue.mjs +1 -1
- package/es/ellipsis/style/index.css +1 -1
- package/es/form/FormItem2.vue.mjs +35 -7
- package/es/form/FormItemLabel.vue.mjs +4 -3
- package/es/form/focus-explicit-label.mjs +28 -0
- package/es/form/style/index.css +1 -1
- package/es/input/base.mjs +7 -0
- package/es/input/index.mjs +16 -16
- package/es/layout/style/index.css +1 -1
- package/es/nav-menu/style/index.css +1 -1
- package/es/pagination/PageInput.vue.mjs +2 -2
- package/es/pagination/style/index.css +2 -2
- package/es/people-select/PeopleSelect.mjs +23 -50
- package/es/people-select/Person.vue.mjs +1 -1
- 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 +43 -0
- package/es/people-select/style/index.css +6 -0
- package/es/progress/style/index.css +2 -2
- package/es/radio/style/index.css +1 -1
- package/es/rate/style/index.css +1 -1
- package/es/ripple/index.mjs +57 -1
- package/es/scheduler/style/index.css +1 -1
- package/es/search/HistoryContent.vue.mjs +3 -3
- package/es/search/props.mjs +0 -1
- package/es/search/search.vue.mjs +1 -1
- package/es/select/props.mjs +2 -0
- package/es/select/select.mjs +10 -4
- package/es/select/style/index.css +22 -12
- package/es/select/use-select-controller.mjs +14 -2
- package/es/slider/Slider.vue.mjs +39 -21
- package/es/slider/SliderInput.vue.mjs +4 -2
- package/es/slider/style/index.css +2 -2
- package/es/steps/style/index.css +10 -10
- package/es/switch/Switch.vue.mjs +6 -1
- package/es/switch/style/index.css +1 -1
- package/es/table/structural-slot.mjs +17 -0
- package/es/table/style/index.css +2 -2
- package/es/table/table-tbody.mjs +2 -1
- package/es/table/table-td.mjs +3 -2
- package/es/table/table-th.mjs +3 -2
- package/es/table/table-thead.mjs +2 -1
- package/es/table/table-tr.mjs +3 -2
- package/es/table/table.mjs +22 -5
- package/es/tabs/style/index.css +1 -1
- package/es/time/picker/Panel2.vue.mjs +1 -1
- package/es/time/picker/RangePanel2.vue.mjs +1 -1
- package/es/tree/style/index.css +1 -1
- package/es/tree-select/panel.mjs +3 -1
- package/es/tree-select/presentation.mjs +1 -0
- package/es/tree-select/props.mjs +2 -0
- package/es/tree-select/style/index.css +49 -7
- package/es/trigger/interaction.mjs +1 -1
- package/es/trigger/popup-move-focus.mjs +6 -6
- package/es/trigger/position.mjs +41 -3
- package/es/trigger/positioner.mjs +28 -5
- package/es/trigger/trigger.mjs +1 -1
- package/es/upload/composables/use-upload-queue.mjs +9 -1
- package/es/upload/composables/use-uploader.mjs +31 -11
- package/es/upload/upload.vue.mjs +10 -2
- 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 +32 -6
- package/lib/_components/picker-field/PickerField.vue.js +6 -12
- package/lib/_components/picker-field/range-labels.js +16 -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 +20 -2
- package/lib/_utils/modal-focus.js +9 -2
- package/lib/_utils/modal-surface.js +9 -3
- package/lib/anchor/style/index.css +1 -1
- 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/button/base.js +6 -0
- package/lib/button/index.js +4 -4
- package/lib/button/style/index.css +1 -1
- package/lib/card/Card.vue.js +47 -13
- package/lib/carousel/style/index.css +1 -1
- package/lib/cascader/CascaderMenu.vue.js +2 -2
- package/lib/cascader/cascader-option.js +11 -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/use-cascader-focus.js +9 -6
- package/lib/cedar.cjs.js +1149 -738
- package/lib/cedar.css +187 -79
- package/lib/checkbox/base.js +6 -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 +7 -2
- package/lib/date/DatePanelActions.vue.js +3 -3
- package/lib/date/DateShortcuts.vue.js +2 -2
- package/lib/date/picker/panels/Footer2.vue.js +2 -2
- package/lib/date/picker/panels/Shortcuts2.vue.js +2 -2
- package/lib/date/picker/style/index.css +1 -1
- package/lib/dialog/Dialog.vue.js +3 -3
- package/lib/ellipsis/style/index.css +1 -1
- package/lib/form/FormItem2.vue.js +35 -7
- package/lib/form/FormItemLabel.vue.js +3 -2
- package/lib/form/focus-explicit-label.js +28 -0
- package/lib/form/style/index.css +1 -1
- package/lib/input/base.js +7 -0
- package/lib/input/index.js +4 -4
- package/lib/layout/style/index.css +1 -1
- package/lib/nav-menu/style/index.css +1 -1
- package/lib/pagination/PageInput.vue.js +2 -2
- package/lib/pagination/style/index.css +2 -2
- package/lib/people-select/PeopleSelect.js +22 -49
- 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 +43 -0
- package/lib/people-select/style/index.css +6 -0
- package/lib/progress/style/index.css +2 -2
- package/lib/radio/style/index.css +1 -1
- package/lib/rate/style/index.css +1 -1
- package/lib/ripple/index.js +57 -1
- package/lib/scheduler/style/index.css +1 -1
- package/lib/search/HistoryContent.vue.js +4 -4
- package/lib/search/props.js +0 -1
- package/lib/search/search.vue.js +2 -2
- package/lib/select/props.js +2 -0
- package/lib/select/select.js +10 -4
- package/lib/select/style/index.css +22 -12
- package/lib/select/use-select-controller.js +14 -2
- package/lib/slider/Slider.vue.js +38 -20
- package/lib/slider/SliderInput.vue.js +4 -2
- package/lib/slider/style/index.css +2 -2
- package/lib/steps/style/index.css +10 -10
- package/lib/switch/Switch.vue.js +5 -0
- package/lib/switch/style/index.css +1 -1
- package/lib/table/structural-slot.js +17 -0
- package/lib/table/style/index.css +2 -2
- package/lib/table/table-tbody.js +2 -1
- package/lib/table/table-td.js +3 -2
- package/lib/table/table-th.js +3 -2
- package/lib/table/table-thead.js +2 -1
- package/lib/table/table-tr.js +3 -2
- package/lib/table/table.js +21 -4
- package/lib/tabs/style/index.css +1 -1
- package/lib/time/picker/Panel2.vue.js +2 -2
- package/lib/time/picker/RangePanel2.vue.js +2 -2
- package/lib/tree/style/index.css +1 -1
- package/lib/tree-select/panel.js +3 -1
- package/lib/tree-select/presentation.js +1 -0
- package/lib/tree-select/props.js +2 -0
- package/lib/tree-select/style/index.css +49 -7
- package/lib/trigger/popup-move-focus.js +6 -6
- package/lib/trigger/position.js +40 -2
- package/lib/trigger/positioner.js +27 -4
- package/lib/trigger/trigger.js +1 -1
- package/lib/upload/composables/use-upload-queue.js +9 -1
- package/lib/upload/composables/use-uploader.js +31 -11
- package/lib/upload/upload.vue.js +9 -1
- package/package.json +6 -6
- package/types/_components/field-presentation/editor-pending.d.ts +3 -0
- package/types/_components/field-presentation/with-field-presentation.d.ts +2 -0
- package/types/_components/picker-field/range-labels.d.ts +1 -0
- package/types/_utils/modal-focus.d.ts +1 -0
- package/types/auto-complete/auto-complete.d.ts +9 -0
- package/types/auto-complete/index.d.ts +30 -0
- package/types/auto-complete/presentation.d.ts +9 -0
- package/types/auto-complete/props.d.ts +5 -0
- package/types/button/base.d.ts +266 -0
- package/types/button/index.d.ts +5 -1
- package/types/cascader/Cascader.vue.d.ts +9 -0
- package/types/cascader/index.d.ts +30 -0
- package/types/cascader/presentation.d.ts +15 -0
- package/types/cascader/props.d.ts +5 -0
- package/types/cascader/use-cascader-controller.d.ts +4 -0
- package/types/checkbox/base.d.ts +361 -0
- package/types/checkbox/index.d.ts +5 -1
- package/types/date/picker/DateRangePicker.vue.d.ts +12 -496
- package/types/date/picker/DateRangePickerPanel.vue.d.ts +12 -496
- package/types/date/picker/Picker.vue.d.ts +12 -496
- package/types/date/picker/PickerPanel.vue.d.ts +12 -496
- package/types/date/picker/panels/Footer.vue.d.ts +3 -124
- package/types/date/picker/panels/Shortcuts.vue.d.ts +3 -124
- package/types/date/picker/panels/date/Index.vue.d.ts +3 -124
- package/types/date/picker/panels/week/Index.vue.d.ts +3 -124
- package/types/form/FormItemLabel.vue.d.ts +2 -2
- package/types/form/context.d.ts +1 -1
- package/types/form/focus-explicit-label.d.ts +2 -0
- package/types/input/base.d.ts +481 -0
- package/types/input/index.d.ts +5 -1
- package/types/people-select/PeopleSelect.d.ts +38 -16
- package/types/people-select/emits.d.ts +3 -2
- package/types/people-select/index.d.ts +135 -63
- package/types/people-select/people-select.d.ts +47 -16
- package/types/people-select/presentation.d.ts +46 -16
- package/types/people-select/props.d.ts +17 -6
- package/types/people-select/selection.d.ts +11 -0
- package/types/people-select/types.d.ts +5 -1
- package/types/popconfirm/Popconfirm.vue.d.ts +2 -0
- package/types/popconfirm/index.d.ts +8 -0
- package/types/select/index.d.ts +30 -0
- package/types/select/native-editor-owner.d.ts +1 -0
- package/types/select/props.d.ts +5 -0
- package/types/select/select.d.ts +9 -0
- package/types/select/use-select-controller.d.ts +5 -0
- package/types/slider/SliderInput.vue.d.ts +4 -0
- package/types/table/structural-slot.d.ts +3 -0
- package/types/table/table-operation-td.d.ts +2 -0
- package/types/time/picker/Panel.vue.d.ts +3 -124
- package/types/time/picker/RangePanel.vue.d.ts +6 -248
- package/types/time/presentation/TimePanelContent.vue.d.ts +9 -372
- package/types/transfer/Transfer.vue.d.ts +4 -0
- package/types/transfer/TransferView.vue.d.ts +2 -0
- package/types/transfer/index.d.ts +16 -0
- package/types/transfer/presentation.d.ts +4 -0
- package/types/tree/BaseNode.vue.d.ts +2 -0
- package/types/tree/TransitionNodeList.vue.d.ts +2 -0
- package/types/tree-select/TreeSelect.vue.d.ts +13 -0
- package/types/tree-select/index.d.ts +50 -0
- package/types/tree-select/presentation.d.ts +13 -0
- package/types/tree-select/props.d.ts +5 -0
- package/types/trigger/position.d.ts +1 -0
- package/types/typography/EditContent.vue.d.ts +6 -0
- package/types/upload/composables/use-upload-queue.d.ts +1 -0
- package/types/upload/composables/use-uploader.d.ts +2 -0
- package/types/upload/upload.vue.d.ts +3 -3
- package/umd/_components/selected-options/style/index.css +33 -15
- package/umd/anchor/style/index.css +1 -1
- package/umd/auto-complete/style/index.css +7 -2
- package/umd/back-top/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/cedar.css +187 -79
- package/umd/cedar.js +6 -6
- package/umd/checkbox/style/index.css +1 -1
- package/umd/date/picker/style/index.css +1 -1
- package/umd/ellipsis/style/index.css +1 -1
- package/umd/form/style/index.css +1 -1
- package/umd/layout/style/index.css +1 -1
- 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 +1 -1
- package/umd/scheduler/style/index.css +1 -1
- 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/table/style/index.css +2 -2
- package/umd/tabs/style/index.css +1 -1
- package/umd/tree/style/index.css +1 -1
- package/umd/tree-select/style/index.css +49 -7
package/lib/cedar.cjs.js
CHANGED
|
@@ -2435,6 +2435,7 @@ function useSelectionSession(options) {
|
|
|
2435
2435
|
if (options.blocked() || settled.value || pending.value || !options.open.value || options.valid?.(draft.value) === false) {
|
|
2436
2436
|
return false;
|
|
2437
2437
|
}
|
|
2438
|
+
error.value = "";
|
|
2438
2439
|
const next = options.clone(draft.value);
|
|
2439
2440
|
const run = ++epoch;
|
|
2440
2441
|
const finish = (allowed) => {
|
|
@@ -3458,6 +3459,12 @@ const waves = /* @__PURE__ */ new WeakMap();
|
|
|
3458
3459
|
function ownedRipples(element2) {
|
|
3459
3460
|
return Array.from(element2.children).filter((child) => waves.has(child));
|
|
3460
3461
|
}
|
|
3462
|
+
function stopObserverIfIdle(element2, state) {
|
|
3463
|
+
if (!state.tasker && !ownedRipples(element2).length) {
|
|
3464
|
+
state.migrationObserver?.disconnect();
|
|
3465
|
+
state.migrationObserver = void 0;
|
|
3466
|
+
}
|
|
3467
|
+
}
|
|
3461
3468
|
function transitionTime(element2, property) {
|
|
3462
3469
|
const style = element2.ownerDocument.defaultView?.getComputedStyle(element2);
|
|
3463
3470
|
if (!style) {
|
|
@@ -3497,6 +3504,8 @@ function clearTasks(element2) {
|
|
|
3497
3504
|
if (!state) {
|
|
3498
3505
|
return;
|
|
3499
3506
|
}
|
|
3507
|
+
state.migrationObserver?.disconnect();
|
|
3508
|
+
state.migrationObserver = void 0;
|
|
3500
3509
|
state.timers.forEach((timer) => window.clearTimeout(timer));
|
|
3501
3510
|
state.timers.clear();
|
|
3502
3511
|
state.tasker = null;
|
|
@@ -3554,18 +3563,25 @@ function createRipple(event) {
|
|
|
3554
3563
|
if (!_ripple) {
|
|
3555
3564
|
return;
|
|
3556
3565
|
}
|
|
3566
|
+
syncOwnerDocument(this);
|
|
3557
3567
|
_ripple.removeRipple();
|
|
3558
3568
|
if (_ripple.disabled || _ripple.tasker || !context$1.enableRipple) {
|
|
3559
3569
|
return;
|
|
3560
3570
|
}
|
|
3571
|
+
watchOwnerDuringGesture(this, _ripple);
|
|
3561
3572
|
const task = () => {
|
|
3562
3573
|
const current = () => this._ripple === _ripple && !_ripple.disabled && context$1.enableRipple;
|
|
3563
3574
|
if (!current()) {
|
|
3575
|
+
if (this._ripple === _ripple) {
|
|
3576
|
+
_ripple.tasker = null;
|
|
3577
|
+
stopObserverIfIdle(this, _ripple);
|
|
3578
|
+
}
|
|
3564
3579
|
return;
|
|
3565
3580
|
}
|
|
3566
3581
|
_ripple.tasker = null;
|
|
3567
3582
|
const { x, y, centerX, centerY, size } = computeRippleStyles(this, event);
|
|
3568
3583
|
if (!current()) {
|
|
3584
|
+
if (this._ripple === _ripple) clearTasks(this);
|
|
3569
3585
|
return;
|
|
3570
3586
|
}
|
|
3571
3587
|
const ripple = this.ownerDocument.createElement("div");
|
|
@@ -3578,6 +3594,7 @@ function createRipple(event) {
|
|
|
3578
3594
|
ripple.dataset.createdAt = String(performance.now());
|
|
3579
3595
|
setStyles(this);
|
|
3580
3596
|
if (!current()) {
|
|
3597
|
+
if (this._ripple === _ripple) clearTasks(this);
|
|
3581
3598
|
return;
|
|
3582
3599
|
}
|
|
3583
3600
|
this.appendChild(ripple);
|
|
@@ -3585,6 +3602,7 @@ function createRipple(event) {
|
|
|
3585
3602
|
waves.set(ripple, wave);
|
|
3586
3603
|
const expansion = transitionTime(ripple, "transform");
|
|
3587
3604
|
if (!current() || waves.get(ripple) !== wave) {
|
|
3605
|
+
if (!current() && this._ripple === _ripple) clearTasks(this);
|
|
3588
3606
|
return;
|
|
3589
3607
|
}
|
|
3590
3608
|
wave.expandUntil += expansion;
|
|
@@ -3593,10 +3611,12 @@ function createRipple(event) {
|
|
|
3593
3611
|
() => {
|
|
3594
3612
|
const wave2 = waves.get(ripple);
|
|
3595
3613
|
if (!wave2 || !current()) {
|
|
3614
|
+
if (!current() && this._ripple === _ripple) clearTasks(this);
|
|
3596
3615
|
return;
|
|
3597
3616
|
}
|
|
3598
3617
|
const expansion2 = transitionTime(ripple, "transform");
|
|
3599
3618
|
if (!current() || waves.get(ripple) !== wave2) {
|
|
3619
|
+
if (!current() && this._ripple === _ripple) clearTasks(this);
|
|
3600
3620
|
return;
|
|
3601
3621
|
}
|
|
3602
3622
|
wave2.expandUntil = performance.now() + expansion2;
|
|
@@ -3616,6 +3636,7 @@ function removeRipple() {
|
|
|
3616
3636
|
const task = () => {
|
|
3617
3637
|
const ripples = ownedRipples(this);
|
|
3618
3638
|
if (!ripples.length) {
|
|
3639
|
+
stopObserverIfIdle(this, _ripple);
|
|
3619
3640
|
return;
|
|
3620
3641
|
}
|
|
3621
3642
|
const lastRipple = ripples[ripples.length - 1];
|
|
@@ -3640,7 +3661,10 @@ function removeRipple() {
|
|
|
3640
3661
|
() => {
|
|
3641
3662
|
waves.delete(lastRipple);
|
|
3642
3663
|
lastRipple.remove();
|
|
3643
|
-
if (!ownedRipples(this).length)
|
|
3664
|
+
if (!ownedRipples(this).length) {
|
|
3665
|
+
restoreStyles(this);
|
|
3666
|
+
stopObserverIfIdle(this, _ripple);
|
|
3667
|
+
}
|
|
3644
3668
|
},
|
|
3645
3669
|
Math.max(MINIMUM_REMOVAL_DELAY, transitionTime(lastRipple, "opacity"))
|
|
3646
3670
|
);
|
|
@@ -3659,6 +3683,7 @@ function forbidRippleTask() {
|
|
|
3659
3683
|
_ripple.timers.delete(_ripple.tasker);
|
|
3660
3684
|
}
|
|
3661
3685
|
_ripple.tasker = null;
|
|
3686
|
+
stopObserverIfIdle(this, _ripple);
|
|
3662
3687
|
}
|
|
3663
3688
|
function createTouchRipple(event) {
|
|
3664
3689
|
if (this._ripple) {
|
|
@@ -3694,6 +3719,9 @@ function removeKeyboardRipple(event) {
|
|
|
3694
3719
|
}
|
|
3695
3720
|
const releaseGroups = /* @__PURE__ */ new WeakMap();
|
|
3696
3721
|
const releaseEvents = ["touchend", "mouseup", "touchcancel", "dragend"];
|
|
3722
|
+
function releaseOnMovedHost() {
|
|
3723
|
+
if (this._ripple && this._ripple.document !== this.ownerDocument) syncOwnerDocument(this);
|
|
3724
|
+
}
|
|
3697
3725
|
function bindListeners(el) {
|
|
3698
3726
|
const state = el._ripple;
|
|
3699
3727
|
if (!state || state.listening || state.disabled) return;
|
|
@@ -3701,6 +3729,9 @@ function bindListeners(el) {
|
|
|
3701
3729
|
el.addEventListener("touchstart", createTouchRipple, { passive: true });
|
|
3702
3730
|
el.addEventListener("mousedown", createMouseRipple, { passive: true });
|
|
3703
3731
|
el.addEventListener("touchmove", forbidRippleTask, { passive: true });
|
|
3732
|
+
el.addEventListener("mouseup", releaseOnMovedHost);
|
|
3733
|
+
el.addEventListener("touchend", releaseOnMovedHost);
|
|
3734
|
+
el.addEventListener("touchcancel", releaseOnMovedHost);
|
|
3704
3735
|
el.addEventListener("dragstart", removeRipple, { passive: true });
|
|
3705
3736
|
el.addEventListener("keydown", createKeyboardRipple);
|
|
3706
3737
|
el.addEventListener("keyup", removeKeyboardRipple);
|
|
@@ -3732,6 +3763,9 @@ function unbindListeners(el) {
|
|
|
3732
3763
|
el.removeEventListener("touchstart", createTouchRipple);
|
|
3733
3764
|
el.removeEventListener("mousedown", createMouseRipple);
|
|
3734
3765
|
el.removeEventListener("touchmove", forbidRippleTask);
|
|
3766
|
+
el.removeEventListener("mouseup", releaseOnMovedHost);
|
|
3767
|
+
el.removeEventListener("touchend", releaseOnMovedHost);
|
|
3768
|
+
el.removeEventListener("touchcancel", releaseOnMovedHost);
|
|
3735
3769
|
el.removeEventListener("dragstart", removeRipple);
|
|
3736
3770
|
const group = releaseGroups.get(state.document);
|
|
3737
3771
|
if (group && group.hosts.delete(el) && !group.hosts.size) {
|
|
@@ -3742,6 +3776,28 @@ function unbindListeners(el) {
|
|
|
3742
3776
|
releaseGroups.delete(state.document);
|
|
3743
3777
|
}
|
|
3744
3778
|
}
|
|
3779
|
+
function syncOwnerDocument(el) {
|
|
3780
|
+
const state = el._ripple;
|
|
3781
|
+
if (!state || state.document === el.ownerDocument) return;
|
|
3782
|
+
clearTasks(el);
|
|
3783
|
+
unbindListeners(el);
|
|
3784
|
+
state.document = el.ownerDocument;
|
|
3785
|
+
bindListeners(el);
|
|
3786
|
+
}
|
|
3787
|
+
function watchOwnerDuringGesture(el, state) {
|
|
3788
|
+
if (state.migrationObserver || typeof MutationObserver === "undefined") return;
|
|
3789
|
+
let connected = el.isConnected;
|
|
3790
|
+
const observer = new MutationObserver(() => {
|
|
3791
|
+
if (el._ripple !== state) return;
|
|
3792
|
+
if (state.document !== el.ownerDocument) syncOwnerDocument(el);
|
|
3793
|
+
else if (connected && !el.isConnected) clearTasks(el);
|
|
3794
|
+
else if (el.isConnected) connected = true;
|
|
3795
|
+
});
|
|
3796
|
+
const root = el.getRootNode();
|
|
3797
|
+
observer.observe(root, { childList: true, subtree: true });
|
|
3798
|
+
if (root !== state.document) observer.observe(state.document, { childList: true, subtree: true });
|
|
3799
|
+
state.migrationObserver = observer;
|
|
3800
|
+
}
|
|
3745
3801
|
function mounted(el, binding) {
|
|
3746
3802
|
el._ripple = {
|
|
3747
3803
|
document: el.ownerDocument,
|
|
@@ -3761,6 +3817,7 @@ function unmounted(el) {
|
|
|
3761
3817
|
delete el._ripple;
|
|
3762
3818
|
}
|
|
3763
3819
|
function updated(el, binding) {
|
|
3820
|
+
syncOwnerDocument(el);
|
|
3764
3821
|
const newBinding = {
|
|
3765
3822
|
color: binding.value?.color,
|
|
3766
3823
|
disabled: binding.value?.disabled
|
|
@@ -4170,59 +4227,7 @@ const _sfc_main$35 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4170
4227
|
};
|
|
4171
4228
|
}
|
|
4172
4229
|
});
|
|
4173
|
-
const
|
|
4174
|
-
...{
|
|
4175
|
-
name: createNamespace$1("button-group").name
|
|
4176
|
-
},
|
|
4177
|
-
__name: "ButtonGroup",
|
|
4178
|
-
props: buttonGroupProps,
|
|
4179
|
-
setup(__props, { expose: __expose }) {
|
|
4180
|
-
const { n: n2, classes: classes2 } = createNamespace$1("button-group");
|
|
4181
|
-
const props2 = __props;
|
|
4182
|
-
const { bindButtons } = useButtons();
|
|
4183
|
-
const defaultSize = useButtonDefaultSize();
|
|
4184
|
-
const buttonGroupProvider = {
|
|
4185
|
-
elevation: vue.computed(() => props2.elevation),
|
|
4186
|
-
status: vue.computed(() => props2.status),
|
|
4187
|
-
size: vue.computed(() => props2.size ?? defaultSize.value),
|
|
4188
|
-
variant: vue.computed(() => props2.variant),
|
|
4189
|
-
color: vue.computed(() => props2.color),
|
|
4190
|
-
textColor: vue.computed(() => props2.textColor),
|
|
4191
|
-
disabled: vue.computed(() => props2.disabled),
|
|
4192
|
-
stacked: vue.computed(() => props2.stacked),
|
|
4193
|
-
vertical: vue.computed(() => props2.vertical)
|
|
4194
|
-
};
|
|
4195
|
-
bindButtons(buttonGroupProvider);
|
|
4196
|
-
__expose({
|
|
4197
|
-
buttonGroupProvider
|
|
4198
|
-
});
|
|
4199
|
-
return (_ctx, _cache) => {
|
|
4200
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
4201
|
-
role: "group",
|
|
4202
|
-
class: vue.normalizeClass(
|
|
4203
|
-
vue.unref(classes2)(
|
|
4204
|
-
vue.unref(n2)(),
|
|
4205
|
-
vue.unref(n2)("$--box"),
|
|
4206
|
-
vue.unref(n2)(`--variant-${_ctx.variant}`),
|
|
4207
|
-
[_ctx.vertical, vue.unref(n2)("--vertical"), vue.unref(n2)("--horizontal")],
|
|
4208
|
-
[_ctx.variant === "default" && !_ctx.disabled, vue.unref(formatElevation)(_ctx.elevation, 2)]
|
|
4209
|
-
)
|
|
4210
|
-
)
|
|
4211
|
-
}, [
|
|
4212
|
-
vue.renderSlot(_ctx.$slots, "default")
|
|
4213
|
-
], 2);
|
|
4214
|
-
};
|
|
4215
|
-
}
|
|
4216
|
-
});
|
|
4217
|
-
const Button = withInstall(
|
|
4218
|
-
_sfc_main$35,
|
|
4219
|
-
Object.assign(_sfc_main$35, {
|
|
4220
|
-
Group: _sfc_main$34
|
|
4221
|
-
}),
|
|
4222
|
-
{ components: [_sfc_main$35, _sfc_main$34] }
|
|
4223
|
-
);
|
|
4224
|
-
const _ButtonComponent = Button;
|
|
4225
|
-
const _ButtonGroupComponent = _sfc_main$34;
|
|
4230
|
+
const Button$1 = withPropsDefaultsSetter(_sfc_main$35, _sfc_main$35.props);
|
|
4226
4231
|
const editorAuxiliaryActions = Symbol("editor-auxiliary-actions");
|
|
4227
4232
|
const labelKey = Symbol("form-item-label");
|
|
4228
4233
|
function provideFormItemLabel(options) {
|
|
@@ -4327,14 +4332,14 @@ const _hoisted_2$I = {
|
|
|
4327
4332
|
role: "heading",
|
|
4328
4333
|
"aria-level": "2"
|
|
4329
4334
|
};
|
|
4330
|
-
const _hoisted_3$
|
|
4335
|
+
const _hoisted_3$o = ["aria-label", "disabled"];
|
|
4331
4336
|
const _hoisted_4$f = ["inert"];
|
|
4332
4337
|
const _hoisted_5$7 = {
|
|
4333
4338
|
key: 1,
|
|
4334
4339
|
role: "status"
|
|
4335
4340
|
};
|
|
4336
4341
|
const _hoisted_6$4 = ["aria-label", "disabled"];
|
|
4337
|
-
const _sfc_main$
|
|
4342
|
+
const _sfc_main$34 = /* @__PURE__ */ vue.defineComponent({
|
|
4338
4343
|
...{ name: createNamespace$1("field-editor-panel").name },
|
|
4339
4344
|
__name: "EditorPanel",
|
|
4340
4345
|
props: {
|
|
@@ -4413,7 +4418,7 @@ const _sfc_main$33 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4413
4418
|
"aria-label": vue.unref(closeText),
|
|
4414
4419
|
disabled: __props.pending,
|
|
4415
4420
|
onClick: _cache[0] || (_cache[0] = ($event) => !__props.pending && _ctx.$emit("cancel"))
|
|
4416
|
-
}, " × ", 10, _hoisted_3$
|
|
4421
|
+
}, " × ", 10, _hoisted_3$o)
|
|
4417
4422
|
], 2)) : vue.createCommentVNode("", true),
|
|
4418
4423
|
vue.createElementVNode("div", {
|
|
4419
4424
|
ref_key: "bodyElement",
|
|
@@ -4438,7 +4443,7 @@ const _sfc_main$33 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4438
4443
|
}, [
|
|
4439
4444
|
auxiliaryActions.value ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(auxiliaryActions.value), { key: 0 })) : vue.createCommentVNode("", true)
|
|
4440
4445
|
], 2),
|
|
4441
|
-
__props.clearable ? (vue.openBlock(), vue.createBlock(vue.unref(Button), {
|
|
4446
|
+
__props.clearable ? (vue.openBlock(), vue.createBlock(vue.unref(Button$1), {
|
|
4442
4447
|
key: 0,
|
|
4443
4448
|
variant: "text",
|
|
4444
4449
|
disabled: __props.disabled || __props.pending,
|
|
@@ -4451,7 +4456,7 @@ const _sfc_main$33 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4451
4456
|
]),
|
|
4452
4457
|
_: 1
|
|
4453
4458
|
}, 8, ["disabled"])) : vue.createCommentVNode("", true),
|
|
4454
|
-
__props.needConfirm ? (vue.openBlock(), vue.createBlock(vue.unref(Button), {
|
|
4459
|
+
__props.needConfirm ? (vue.openBlock(), vue.createBlock(vue.unref(Button$1), {
|
|
4455
4460
|
key: 1,
|
|
4456
4461
|
status: "primary",
|
|
4457
4462
|
loading: __props.pending,
|
|
@@ -4515,9 +4520,9 @@ function useFormErrorDescription() {
|
|
|
4515
4520
|
}
|
|
4516
4521
|
const _hoisted_1$1w = ["aria-busy", "title"];
|
|
4517
4522
|
const _hoisted_2$H = ["id", "role", "aria-readonly", "aria-disabled", "aria-describedby"];
|
|
4518
|
-
const _hoisted_3$
|
|
4523
|
+
const _hoisted_3$n = ["id", "disabled", "aria-label", "aria-describedby", "aria-expanded"];
|
|
4519
4524
|
const _hoisted_4$e = ["id", "aria-label", "aria-labelledby", "aria-describedby", "title"];
|
|
4520
|
-
const _sfc_main$
|
|
4525
|
+
const _sfc_main$33 = /* @__PURE__ */ vue.defineComponent({
|
|
4521
4526
|
...{
|
|
4522
4527
|
name: createNamespace$1("field-reference").name,
|
|
4523
4528
|
inheritAttrs: false
|
|
@@ -4592,7 +4597,7 @@ const _sfc_main$32 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4592
4597
|
]
|
|
4593
4598
|
}), [
|
|
4594
4599
|
vue.createElementVNode("span", null, vue.toDisplayString(__props.text || __props.placeholder || "—"), 1)
|
|
4595
|
-
], 16, _hoisted_3$
|
|
4600
|
+
], 16, _hoisted_3$n)),
|
|
4596
4601
|
vue.createVNode(_sfc_main$37, { loading: __props.loading }, null, 8, ["loading"]),
|
|
4597
4602
|
!__props.disabled ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
4598
4603
|
key: 3,
|
|
@@ -4622,7 +4627,7 @@ const _sfc_main$32 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4622
4627
|
});
|
|
4623
4628
|
const _hoisted_1$1v = ["aria-busy"];
|
|
4624
4629
|
const _hoisted_2$G = ["dir", "aria-label", "aria-labelledby"];
|
|
4625
|
-
const _sfc_main$
|
|
4630
|
+
const _sfc_main$32 = /* @__PURE__ */ vue.defineComponent({
|
|
4626
4631
|
...{
|
|
4627
4632
|
name: createNamespace$1("field-presentation").name,
|
|
4628
4633
|
inheritAttrs: false
|
|
@@ -4924,7 +4929,7 @@ const _sfc_main$31 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4924
4929
|
class: vue.normalizeClass(vue.unref(n2)("anchor")),
|
|
4925
4930
|
style: vue.normalizeStyle({ visibility: __props.open ? "hidden" : void 0 })
|
|
4926
4931
|
}, [
|
|
4927
|
-
vue.createVNode(_sfc_main$
|
|
4932
|
+
vue.createVNode(_sfc_main$33, vue.mergeProps(_ctx.$attrs, {
|
|
4928
4933
|
id: __props.open && !__props.retainReferenceIdWhenOpen ? void 0 : _ctx.$attrs.id,
|
|
4929
4934
|
ref_key: "reference",
|
|
4930
4935
|
ref: reference,
|
|
@@ -4960,7 +4965,7 @@ const _sfc_main$31 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4960
4965
|
"aria-labelledby": typeof _ctx.$attrs["aria-labelledby"] === "string" ? _ctx.$attrs["aria-labelledby"] : void 0,
|
|
4961
4966
|
"aria-modal": "false"
|
|
4962
4967
|
}), [
|
|
4963
|
-
vue.createVNode(_sfc_main$
|
|
4968
|
+
vue.createVNode(_sfc_main$34, {
|
|
4964
4969
|
ref_key: "panel",
|
|
4965
4970
|
ref: panel2,
|
|
4966
4971
|
compact: "",
|
|
@@ -4989,6 +4994,7 @@ const _sfc_main$31 = /* @__PURE__ */ vue.defineComponent({
|
|
|
4989
4994
|
};
|
|
4990
4995
|
}
|
|
4991
4996
|
});
|
|
4997
|
+
const fieldEditorControlPending = Symbol("field-editor-control-pending");
|
|
4992
4998
|
function cloneValue(value, seen = /* @__PURE__ */ new WeakMap()) {
|
|
4993
4999
|
if (value instanceof Date) {
|
|
4994
5000
|
return new Date(value.getTime());
|
|
@@ -5006,7 +5012,7 @@ function cloneValue(value, seen = /* @__PURE__ */ new WeakMap()) {
|
|
|
5006
5012
|
}
|
|
5007
5013
|
return result;
|
|
5008
5014
|
}
|
|
5009
|
-
function sameFieldValue(left, right, seen = /* @__PURE__ */ new WeakMap()) {
|
|
5015
|
+
function sameFieldValue(left, right, seen = /* @__PURE__ */ new WeakMap(), reverse = /* @__PURE__ */ new WeakMap()) {
|
|
5010
5016
|
if (Object.is(left, right)) {
|
|
5011
5017
|
return true;
|
|
5012
5018
|
}
|
|
@@ -5022,12 +5028,16 @@ function sameFieldValue(left, right, seen = /* @__PURE__ */ new WeakMap()) {
|
|
|
5022
5028
|
if (!Array.isArray(left) && Object.getPrototypeOf(left) !== Object.prototype) {
|
|
5023
5029
|
return false;
|
|
5024
5030
|
}
|
|
5025
|
-
if (seen.
|
|
5026
|
-
return
|
|
5031
|
+
if (seen.has(left) || reverse.has(right)) {
|
|
5032
|
+
return seen.get(left) === right && reverse.get(right) === left;
|
|
5027
5033
|
}
|
|
5028
5034
|
seen.set(left, right);
|
|
5035
|
+
reverse.set(right, left);
|
|
5029
5036
|
const keys = Object.keys(left);
|
|
5030
|
-
|
|
5037
|
+
const result = keys.length === Object.keys(right).length && keys.every((key) => Object.prototype.hasOwnProperty.call(right, key) && sameFieldValue(left[key], right[key], seen, reverse));
|
|
5038
|
+
seen.delete(left);
|
|
5039
|
+
reverse.delete(right);
|
|
5040
|
+
return result;
|
|
5031
5041
|
}
|
|
5032
5042
|
function formatFieldValue(value) {
|
|
5033
5043
|
if (value == null || value === "") {
|
|
@@ -5103,6 +5113,8 @@ function withFieldPresentation(Base2, adapter = {}) {
|
|
|
5103
5113
|
readonly: vue.computed(() => props2.readonly ?? inputGroup?.readonly.value),
|
|
5104
5114
|
size: vue.computed(() => props2.size ?? inputGroup?.size.value)
|
|
5105
5115
|
});
|
|
5116
|
+
const editorControlPending = vue.ref(false);
|
|
5117
|
+
vue.provide(fieldEditorControlPending, editorControlPending);
|
|
5106
5118
|
const inner = vue.shallowRef();
|
|
5107
5119
|
const host = vue.ref();
|
|
5108
5120
|
const localValue = vue.shallowRef(props2.defaultValue ?? props2.modelValue);
|
|
@@ -5223,9 +5235,22 @@ function withFieldPresentation(Base2, adapter = {}) {
|
|
|
5223
5235
|
}
|
|
5224
5236
|
}
|
|
5225
5237
|
});
|
|
5238
|
+
const needConfirm = vue.computed(() => !adapter.selectionConfirmation || (props2.needConfirm ?? Boolean(props2.multiple)));
|
|
5239
|
+
const showConfirm = vue.computed(
|
|
5240
|
+
() => needConfirm.value || adapter.selectionConfirmation === "select" && !sameFieldValue(session.draft.value, value.value)
|
|
5241
|
+
);
|
|
5242
|
+
const completeSelection = () => {
|
|
5243
|
+
const candidate = cloneValue(session.draft.value);
|
|
5244
|
+
void Promise.resolve(session.commit()).then((accepted) => {
|
|
5245
|
+
if (!accepted && open2.value && !session.pending.value && sameFieldValue(session.draft.value, candidate)) {
|
|
5246
|
+
session.update(value.value);
|
|
5247
|
+
}
|
|
5248
|
+
});
|
|
5249
|
+
};
|
|
5226
5250
|
const updateDraft = (next) => {
|
|
5227
5251
|
if (open2.value && !blocked2.value) {
|
|
5228
5252
|
session.update(next);
|
|
5253
|
+
if (adapter.selectionConfirmation === "update" && !needConfirm.value) completeSelection();
|
|
5229
5254
|
}
|
|
5230
5255
|
};
|
|
5231
5256
|
const clearDraft = () => {
|
|
@@ -5234,6 +5259,7 @@ function withFieldPresentation(Base2, adapter = {}) {
|
|
|
5234
5259
|
}
|
|
5235
5260
|
const fallback = "uncheckedValue" in props2 ? props2.uncheckedValue : typeof props2.defaultValue === "boolean" ? false : Array.isArray(value.value) ? [] : props2.defaultValue;
|
|
5236
5261
|
session.update(resolveEmptyValue(props2, fallback));
|
|
5262
|
+
if (!needConfirm.value) void session.commit();
|
|
5237
5263
|
};
|
|
5238
5264
|
const clearReference = async () => {
|
|
5239
5265
|
if (blocked2.value || selectionPaused.value || session.pending.value) {
|
|
@@ -5251,8 +5277,10 @@ function withFieldPresentation(Base2, adapter = {}) {
|
|
|
5251
5277
|
state.item?.resetValidation?.();
|
|
5252
5278
|
};
|
|
5253
5279
|
const confirm = async (event) => {
|
|
5280
|
+
if (editorControlPending.value) return false;
|
|
5254
5281
|
inner.value?.blur?.();
|
|
5255
5282
|
await vue.nextTick();
|
|
5283
|
+
if (editorControlPending.value) return false;
|
|
5256
5284
|
return session.commit(event);
|
|
5257
5285
|
};
|
|
5258
5286
|
vue.watch(
|
|
@@ -5462,6 +5490,9 @@ function withFieldPresentation(Base2, adapter = {}) {
|
|
|
5462
5490
|
(...args) => {
|
|
5463
5491
|
if (event === "update:modelValue") {
|
|
5464
5492
|
updateDraft(args[0]);
|
|
5493
|
+
} else if (event === "select" && adapter.selectionConfirmation === "select" && !needConfirm.value) {
|
|
5494
|
+
emit(event, ...args);
|
|
5495
|
+
void session.commit();
|
|
5465
5496
|
} else if (adapter.commitEvents?.[event]) {
|
|
5466
5497
|
if (open2.value && !blocked2.value && !session.pending.value) commitNotifications.set(event, args);
|
|
5467
5498
|
} else if (event !== "change" && event !== "update:open" && event !== "open-change") {
|
|
@@ -5500,7 +5531,7 @@ function withFieldPresentation(Base2, adapter = {}) {
|
|
|
5500
5531
|
const textProps = source && sourceKey ? { ...props2, [sourceKey]: source.options.value } : props2;
|
|
5501
5532
|
const text = (adapter.text ?? formatFieldValue)(value.value, textProps);
|
|
5502
5533
|
return vue.h(
|
|
5503
|
-
_sfc_main$
|
|
5534
|
+
_sfc_main$32,
|
|
5504
5535
|
{
|
|
5505
5536
|
...attrs,
|
|
5506
5537
|
...props2.textAlign ? {
|
|
@@ -5520,12 +5551,12 @@ function withFieldPresentation(Base2, adapter = {}) {
|
|
|
5520
5551
|
open: open2.value,
|
|
5521
5552
|
disabled: form.mergedDisabled.value,
|
|
5522
5553
|
readonly: form.mergedReadonly.value,
|
|
5523
|
-
needConfirm:
|
|
5554
|
+
needConfirm: showConfirm.value,
|
|
5524
5555
|
clearable: props2.clearable && !selectionPaused.value,
|
|
5525
5556
|
onClear: clearDraft,
|
|
5526
5557
|
loading: Boolean(props2.loading || adapter.pauseSelectionWhileLoading && source?.loading.value),
|
|
5527
5558
|
pending: session.pending.value,
|
|
5528
|
-
confirmDisabled: selectionPaused.value || !validDraft(session.draft.value),
|
|
5559
|
+
confirmDisabled: editorControlPending.value || selectionPaused.value || !validDraft(session.draft.value),
|
|
5529
5560
|
error: session.error.value || state.item?.message?.value,
|
|
5530
5561
|
onOpen: setOpen,
|
|
5531
5562
|
onEditorReady,
|
|
@@ -5589,7 +5620,7 @@ function withFieldPresentation(Base2, adapter = {}) {
|
|
|
5589
5620
|
const selectionListStyle = Symbol("selection-list-style");
|
|
5590
5621
|
const selectionEditorSurface = Symbol("selection-editor-surface");
|
|
5591
5622
|
const mobile = false;
|
|
5592
|
-
const _sfc_main$
|
|
5623
|
+
const _sfc_main$31 = /* @__PURE__ */ vue.defineComponent({
|
|
5593
5624
|
...{ name: createNamespace$1("selection-editor").name },
|
|
5594
5625
|
__name: "SelectionEditor",
|
|
5595
5626
|
props: {
|
|
@@ -5820,7 +5851,7 @@ const VirtualListItem = /* @__PURE__ */ vue.defineComponent({
|
|
|
5820
5851
|
};
|
|
5821
5852
|
}
|
|
5822
5853
|
});
|
|
5823
|
-
const _sfc_main$
|
|
5854
|
+
const _sfc_main$30 = vue.defineComponent({
|
|
5824
5855
|
name: createNamespace$1("virtual-list").name,
|
|
5825
5856
|
components: { VirtualListItem },
|
|
5826
5857
|
props: {
|
|
@@ -5920,6 +5951,8 @@ const _sfc_main$2$ = vue.defineComponent({
|
|
|
5920
5951
|
await vue.nextTick();
|
|
5921
5952
|
updateViewport();
|
|
5922
5953
|
});
|
|
5954
|
+
let retainedInlineOffset;
|
|
5955
|
+
let retainedScrollTop;
|
|
5923
5956
|
let scrollRequest = 0;
|
|
5924
5957
|
let commandedScroll;
|
|
5925
5958
|
let mounted2 = false;
|
|
@@ -5930,10 +5963,25 @@ const _sfc_main$2$ = vue.defineComponent({
|
|
|
5930
5963
|
vue.onMounted(() => {
|
|
5931
5964
|
mounted2 = true;
|
|
5932
5965
|
});
|
|
5933
|
-
vue.onActivated(() => {
|
|
5934
|
-
if (
|
|
5966
|
+
vue.onActivated(async () => {
|
|
5967
|
+
if (disposed) return;
|
|
5968
|
+
active = true;
|
|
5969
|
+
const element2 = containerRef.value;
|
|
5970
|
+
const request = scrollRequest;
|
|
5971
|
+
const retained = retainedScrollTop;
|
|
5972
|
+
const retainedInline = retainedInlineOffset;
|
|
5973
|
+
retainedScrollTop = void 0;
|
|
5974
|
+
retainedInlineOffset = void 0;
|
|
5975
|
+
if (element2 && retainedInline !== void 0 && isCurrent(request, element2) && inlineScrollLeft(element2) === 0) setInlineScrollLeft(element2, retainedInline);
|
|
5976
|
+
await vue.nextTick();
|
|
5977
|
+
if (element2 && retained !== void 0 && isCurrent(request, element2) && element2.scrollTop === 0) {
|
|
5978
|
+
element2.scrollTop = retained;
|
|
5979
|
+
if (virtualEnabled.value) setStart(getStartByScroll(element2.scrollTop));
|
|
5980
|
+
}
|
|
5935
5981
|
});
|
|
5936
5982
|
vue.onDeactivated(() => {
|
|
5983
|
+
retainedScrollTop = scrollOffset.value;
|
|
5984
|
+
retainedInlineOffset = readingOffset;
|
|
5937
5985
|
active = false;
|
|
5938
5986
|
scrollRequest++;
|
|
5939
5987
|
commandedScroll = void 0;
|
|
@@ -6035,6 +6083,7 @@ const _sfc_main$2$ = vue.defineComponent({
|
|
|
6035
6083
|
if (isNumber(options)) {
|
|
6036
6084
|
if (Number.isFinite(options)) {
|
|
6037
6085
|
element2.scrollTop = Math.max(0, options);
|
|
6086
|
+
scrollOffset.value = element2.scrollTop;
|
|
6038
6087
|
if (virtualEnabled.value) setStart(getStartByScroll(element2.scrollTop));
|
|
6039
6088
|
}
|
|
6040
6089
|
return;
|
|
@@ -6146,7 +6195,7 @@ function _sfc_render$13(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
6146
6195
|
_: 3
|
|
6147
6196
|
}, 40, ["class", "style", "onScroll"]);
|
|
6148
6197
|
}
|
|
6149
|
-
const VirtualList = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
6198
|
+
const VirtualList = /* @__PURE__ */ _export_sfc(_sfc_main$30, [["render", _sfc_render$13]]);
|
|
6150
6199
|
function isValidTextInputMaxLength(value) {
|
|
6151
6200
|
if (typeof value === "number") {
|
|
6152
6201
|
return Number.isFinite(value) && value >= 0;
|
|
@@ -6393,7 +6442,7 @@ function useFieldGeometry(root, middle) {
|
|
|
6393
6442
|
}
|
|
6394
6443
|
const _hoisted_1$1u = ["for"];
|
|
6395
6444
|
const _hoisted_2$F = ["aria-label"];
|
|
6396
|
-
const _sfc_main$
|
|
6445
|
+
const _sfc_main$2$ = /* @__PURE__ */ vue.defineComponent({
|
|
6397
6446
|
...{ name: createNamespace$1("field-decorator").name },
|
|
6398
6447
|
__name: "FieldDecorator",
|
|
6399
6448
|
props: { ...fieldDecoratorProps, decorativeHint: Boolean },
|
|
@@ -6553,9 +6602,9 @@ const _sfc_main$2_ = /* @__PURE__ */ vue.defineComponent({
|
|
|
6553
6602
|
};
|
|
6554
6603
|
}
|
|
6555
6604
|
});
|
|
6556
|
-
const FieldDecorator = withInstall(_sfc_main$
|
|
6605
|
+
const FieldDecorator = withInstall(_sfc_main$2$);
|
|
6557
6606
|
const _FieldDecoratorComponent = FieldDecorator;
|
|
6558
|
-
const _sfc_main$
|
|
6607
|
+
const _sfc_main$2_ = /* @__PURE__ */ vue.defineComponent({
|
|
6559
6608
|
...{ name: createNamespace$1("input-feedback").name },
|
|
6560
6609
|
__name: "InputFeedback",
|
|
6561
6610
|
props: {
|
|
@@ -6867,7 +6916,7 @@ function useInputValue(props2, emitUpdate, emitChange) {
|
|
|
6867
6916
|
};
|
|
6868
6917
|
}
|
|
6869
6918
|
const _hoisted_1$1t = ["id", "aria-busy", "autocomplete", "value", "type", "disabled", "readonly", "placeholder", "aria-label", "aria-describedby", "aria-invalid", "autofocus", "enterkeyhint", "inputmode"];
|
|
6870
|
-
const _sfc_main$
|
|
6919
|
+
const _sfc_main$2Z = /* @__PURE__ */ vue.defineComponent({
|
|
6871
6920
|
...{ name: createNamespace$1("input").name, inheritAttrs: false },
|
|
6872
6921
|
__name: "input",
|
|
6873
6922
|
props: inputProps,
|
|
@@ -7138,7 +7187,7 @@ const _sfc_main$2Y = /* @__PURE__ */ vue.defineComponent({
|
|
|
7138
7187
|
onMousedown: handleMousedown,
|
|
7139
7188
|
onClick: handleClick
|
|
7140
7189
|
}), [
|
|
7141
|
-
vue.createVNode(_sfc_main$
|
|
7190
|
+
vue.createVNode(_sfc_main$32, {
|
|
7142
7191
|
id: inputId.value,
|
|
7143
7192
|
ref_key: "presentationRef",
|
|
7144
7193
|
ref: presentationRef,
|
|
@@ -7240,7 +7289,7 @@ const _sfc_main$2Y = /* @__PURE__ */ vue.defineComponent({
|
|
|
7240
7289
|
class: vue.normalizeClass(vue.unref(n2)("word-limit"))
|
|
7241
7290
|
}, vue.toDisplayString(vue.unref(valueLength)) + "/" + vue.toDisplayString(vue.unref(maxLength)), 3)) : vue.createCommentVNode("", true),
|
|
7242
7291
|
vue.renderSlot(_ctx.$slots, "suffix"),
|
|
7243
|
-
vue.createVNode(_sfc_main$
|
|
7292
|
+
vue.createVNode(_sfc_main$2_, { status: vue.unref(feedback) }, null, 8, ["status"])
|
|
7244
7293
|
]),
|
|
7245
7294
|
key: "2"
|
|
7246
7295
|
} : void 0
|
|
@@ -7260,164 +7309,7 @@ const _sfc_main$2Y = /* @__PURE__ */ vue.defineComponent({
|
|
|
7260
7309
|
};
|
|
7261
7310
|
}
|
|
7262
7311
|
});
|
|
7263
|
-
const
|
|
7264
|
-
...{ name: createNamespace$1("input-group").name },
|
|
7265
|
-
__name: "InputGroup",
|
|
7266
|
-
props: inputGroupProps,
|
|
7267
|
-
setup(__props) {
|
|
7268
|
-
const props2 = __props;
|
|
7269
|
-
const { n: n2, classes: classes2 } = createNamespace$1("input-group");
|
|
7270
|
-
const { group, mergedSize, mergedDisabled, mergedReadonly } = useInputForm(props2);
|
|
7271
|
-
const mergedVariant = vue.computed(() => props2.variant ?? group?.variant.value ?? "filled");
|
|
7272
|
-
vue.provide(inputGroupKey, {
|
|
7273
|
-
size: mergedSize,
|
|
7274
|
-
disabled: mergedDisabled,
|
|
7275
|
-
readonly: mergedReadonly,
|
|
7276
|
-
variant: mergedVariant,
|
|
7277
|
-
hint: vue.computed(() => props2.hint ?? group?.hint.value)
|
|
7278
|
-
});
|
|
7279
|
-
return (_ctx, _cache) => {
|
|
7280
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
7281
|
-
class: vue.normalizeClass(vue.unref(classes2)(vue.unref(n2)(), vue.unref(n2)(`--size-${vue.unref(mergedSize)}`), vue.unref(n2)(`--variant-${mergedVariant.value}`), [vue.unref(mergedDisabled), vue.unref(n2)("--disabled")])),
|
|
7282
|
-
role: "group"
|
|
7283
|
-
}, [
|
|
7284
|
-
vue.renderSlot(_ctx.$slots, "default")
|
|
7285
|
-
], 2);
|
|
7286
|
-
};
|
|
7287
|
-
}
|
|
7288
|
-
});
|
|
7289
|
-
const _sfc_main$2W = /* @__PURE__ */ vue.defineComponent({
|
|
7290
|
-
...{ name: createNamespace$1("input-group-label").name },
|
|
7291
|
-
__name: "InputGroupLabel",
|
|
7292
|
-
setup(__props) {
|
|
7293
|
-
const { n: n2 } = createNamespace$1("input-group-label");
|
|
7294
|
-
return (_ctx, _cache) => {
|
|
7295
|
-
return vue.openBlock(), vue.createElementBlock("span", {
|
|
7296
|
-
class: vue.normalizeClass(vue.unref(n2)())
|
|
7297
|
-
}, [
|
|
7298
|
-
vue.renderSlot(_ctx.$slots, "default")
|
|
7299
|
-
], 2);
|
|
7300
|
-
};
|
|
7301
|
-
}
|
|
7302
|
-
});
|
|
7303
|
-
const _hoisted_1$1s = ["disabled", "aria-label", "aria-pressed"];
|
|
7304
|
-
const _sfc_main$2V = /* @__PURE__ */ vue.defineComponent({
|
|
7305
|
-
...{ name: createNamespace$1("input-password").name, inheritAttrs: false },
|
|
7306
|
-
__name: "InputPassword",
|
|
7307
|
-
props: inputPasswordProps,
|
|
7308
|
-
emits: ["visibility-change", "update:visibility", "update:open", "update:modelValue", "input", "change", "press-enter", "keydown", "clear", "focus", "blur", "click"],
|
|
7309
|
-
setup(__props, { expose: __expose, emit: __emit }) {
|
|
7310
|
-
const props2 = __props;
|
|
7311
|
-
const emit = __emit;
|
|
7312
|
-
const { n: n2 } = createNamespace$1("input-password");
|
|
7313
|
-
const { t } = useI18n();
|
|
7314
|
-
const attrs = vue.useAttrs();
|
|
7315
|
-
const slots = vue.useSlots();
|
|
7316
|
-
const inputRef = vue.ref();
|
|
7317
|
-
const localVisibility = vue.ref(props2.defaultVisibility);
|
|
7318
|
-
const mergedVisible = vue.computed(() => props2.visibility ?? localVisibility.value);
|
|
7319
|
-
const { mergedDisabled } = useInputForm(props2);
|
|
7320
|
-
const forwardedSlots = vue.computed(() => Object.keys(slots).filter((name2) => name2 !== "suffix"));
|
|
7321
|
-
const inputBindings = vue.computed(() => {
|
|
7322
|
-
const fields = {};
|
|
7323
|
-
for (const key of Object.keys(inputProps)) {
|
|
7324
|
-
fields[key] = props2[key];
|
|
7325
|
-
}
|
|
7326
|
-
return { ...fields, ...attrs };
|
|
7327
|
-
});
|
|
7328
|
-
const inputListeners = {
|
|
7329
|
-
"update:open": (...args) => emit("update:open", ...args),
|
|
7330
|
-
"update:modelValue": (...args) => emit("update:modelValue", ...args),
|
|
7331
|
-
input: (...args) => emit("input", ...args),
|
|
7332
|
-
change: (...args) => emit("change", ...args),
|
|
7333
|
-
"press-enter": (...args) => emit("press-enter", ...args),
|
|
7334
|
-
keydown: (...args) => emit("keydown", ...args),
|
|
7335
|
-
clear: (...args) => emit("clear", ...args),
|
|
7336
|
-
focus: (...args) => emit("focus", ...args),
|
|
7337
|
-
blur: (...args) => emit("blur", ...args),
|
|
7338
|
-
click: (...args) => emit("click", ...args)
|
|
7339
|
-
};
|
|
7340
|
-
function toggleVisibility() {
|
|
7341
|
-
if (mergedDisabled.value) {
|
|
7342
|
-
return;
|
|
7343
|
-
}
|
|
7344
|
-
const nextValue = !mergedVisible.value;
|
|
7345
|
-
localVisibility.value = nextValue;
|
|
7346
|
-
emit("visibility-change", nextValue);
|
|
7347
|
-
emit("update:visibility", nextValue);
|
|
7348
|
-
}
|
|
7349
|
-
function focus(options) {
|
|
7350
|
-
inputRef.value?.focus(options);
|
|
7351
|
-
}
|
|
7352
|
-
function blur() {
|
|
7353
|
-
inputRef.value?.blur();
|
|
7354
|
-
}
|
|
7355
|
-
function select() {
|
|
7356
|
-
inputRef.value?.select();
|
|
7357
|
-
}
|
|
7358
|
-
__expose({ inputRef, focus, blur, select });
|
|
7359
|
-
return (_ctx, _cache) => {
|
|
7360
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
7361
|
-
class: vue.normalizeClass(vue.unref(n2)())
|
|
7362
|
-
}, [
|
|
7363
|
-
vue.createVNode(_sfc_main$2Y, vue.mergeProps({
|
|
7364
|
-
ref_key: "inputRef",
|
|
7365
|
-
ref: inputRef
|
|
7366
|
-
}, inputBindings.value, {
|
|
7367
|
-
type: mergedVisible.value ? "text" : "password"
|
|
7368
|
-
}, vue.toHandlers(inputListeners)), vue.createSlots({ _: 2 }, [
|
|
7369
|
-
vue.renderList(forwardedSlots.value, (slotName) => {
|
|
7370
|
-
return {
|
|
7371
|
-
name: slotName,
|
|
7372
|
-
fn: vue.withCtx((scope) => [
|
|
7373
|
-
vue.renderSlot(_ctx.$slots, slotName, vue.normalizeProps(vue.guardReactiveProps(scope)))
|
|
7374
|
-
])
|
|
7375
|
-
};
|
|
7376
|
-
}),
|
|
7377
|
-
_ctx.visibilityToggle || _ctx.$slots.suffix ? {
|
|
7378
|
-
name: "suffix",
|
|
7379
|
-
fn: vue.withCtx(() => [
|
|
7380
|
-
_ctx.visibilityToggle ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
7381
|
-
key: 0,
|
|
7382
|
-
type: "button",
|
|
7383
|
-
class: vue.normalizeClass(vue.unref(n2)("toggle")),
|
|
7384
|
-
disabled: vue.unref(mergedDisabled),
|
|
7385
|
-
"aria-label": vue.unref(t)(mergedVisible.value ? "common.hidePassword" : "common.showPassword"),
|
|
7386
|
-
"aria-pressed": mergedVisible.value,
|
|
7387
|
-
onMousedown: _cache[0] || (_cache[0] = vue.withModifiers(() => {
|
|
7388
|
-
}, ["prevent"])),
|
|
7389
|
-
onClick: toggleVisibility
|
|
7390
|
-
}, [
|
|
7391
|
-
mergedVisible.value ? (vue.openBlock(), vue.createBlock(vue.unref(iconsVue.IconEyeInvisible), {
|
|
7392
|
-
key: 0,
|
|
7393
|
-
"aria-hidden": "true"
|
|
7394
|
-
})) : (vue.openBlock(), vue.createBlock(vue.unref(iconsVue.IconEye), {
|
|
7395
|
-
key: 1,
|
|
7396
|
-
"aria-hidden": "true"
|
|
7397
|
-
}))
|
|
7398
|
-
], 42, _hoisted_1$1s)) : vue.createCommentVNode("", true),
|
|
7399
|
-
vue.renderSlot(_ctx.$slots, "suffix")
|
|
7400
|
-
]),
|
|
7401
|
-
key: "0"
|
|
7402
|
-
} : void 0
|
|
7403
|
-
]), 1040, ["type"])
|
|
7404
|
-
], 2);
|
|
7405
|
-
};
|
|
7406
|
-
}
|
|
7407
|
-
});
|
|
7408
|
-
const Input = withInstall(
|
|
7409
|
-
_sfc_main$2Y,
|
|
7410
|
-
Object.assign(_sfc_main$2Y, {
|
|
7411
|
-
Password: _sfc_main$2V,
|
|
7412
|
-
Group: _sfc_main$2X,
|
|
7413
|
-
GroupLabel: _sfc_main$2W
|
|
7414
|
-
}),
|
|
7415
|
-
{ components: [_sfc_main$2Y, _sfc_main$2X, _sfc_main$2V, _sfc_main$2W] }
|
|
7416
|
-
);
|
|
7417
|
-
const _InputComponent = Input;
|
|
7418
|
-
const _InputPasswordComponent = _sfc_main$2V;
|
|
7419
|
-
const _InputGroupComponent = _sfc_main$2X;
|
|
7420
|
-
const _InputGroupLabelComponent = _sfc_main$2W;
|
|
7312
|
+
const SearchInput = withPropsDefaultsSetter(_sfc_main$2Z, inputProps);
|
|
7421
7313
|
const KEYBOARD_KEY = {
|
|
7422
7314
|
ENTER: "Enter",
|
|
7423
7315
|
ESC: "Escape",
|
|
@@ -8056,7 +7948,7 @@ const useSelect = ({
|
|
|
8056
7948
|
};
|
|
8057
7949
|
};
|
|
8058
7950
|
const { name: name$10 } = createNamespace$1("optgroup");
|
|
8059
|
-
const _sfc_main$
|
|
7951
|
+
const _sfc_main$2Y = vue.defineComponent({
|
|
8060
7952
|
name: name$10,
|
|
8061
7953
|
props: {
|
|
8062
7954
|
/**
|
|
@@ -8080,7 +7972,7 @@ const _sfc_main$2U = vue.defineComponent({
|
|
|
8080
7972
|
};
|
|
8081
7973
|
}
|
|
8082
7974
|
});
|
|
8083
|
-
const _hoisted_1$
|
|
7975
|
+
const _hoisted_1$1s = ["aria-labelledby"];
|
|
8084
7976
|
const _hoisted_2$E = ["id"];
|
|
8085
7977
|
function _sfc_render$12(_ctx, _cache, $props, $setup, $data, $options) {
|
|
8086
7978
|
return vue.openBlock(), vue.createElementBlock("li", {
|
|
@@ -8103,9 +7995,9 @@ function _sfc_render$12(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
8103
7995
|
}, [
|
|
8104
7996
|
vue.renderSlot(_ctx.$slots, "default")
|
|
8105
7997
|
], 2)
|
|
8106
|
-
], 10, _hoisted_1$
|
|
7998
|
+
], 10, _hoisted_1$1s);
|
|
8107
7999
|
}
|
|
8108
|
-
const Optgroup = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
8000
|
+
const Optgroup = /* @__PURE__ */ _export_sfc(_sfc_main$2Y, [["render", _sfc_render$12]]);
|
|
8109
8001
|
const isEqualObject = (obj, other) => {
|
|
8110
8002
|
if (!obj || !other) {
|
|
8111
8003
|
return false;
|
|
@@ -8186,6 +8078,8 @@ function blockFieldOpenClick(event) {
|
|
|
8186
8078
|
const formControlVariants = ["filled", "outline", "standard"];
|
|
8187
8079
|
const selectProps = {
|
|
8188
8080
|
...fieldLoadingProps,
|
|
8081
|
+
/** 弹出编辑是否需要确认;未设置时单选即提交,多选保留确认。 */
|
|
8082
|
+
needConfirm: { type: Boolean, default: void 0 },
|
|
8189
8083
|
openTriggerTarget: openTriggerTargetProp,
|
|
8190
8084
|
/** 异步候选加载器;显式 options 优先,组件管理加载和请求取消。 */
|
|
8191
8085
|
/** 内置本地过滤是否区分大小写;自定义过滤函数优先。 */
|
|
@@ -8541,7 +8435,7 @@ const optionProps = {
|
|
|
8541
8435
|
}
|
|
8542
8436
|
};
|
|
8543
8437
|
const { name: name$$ } = createNamespace$1("option");
|
|
8544
|
-
const _sfc_main$
|
|
8438
|
+
const _sfc_main$2X = vue.defineComponent({
|
|
8545
8439
|
name: name$$,
|
|
8546
8440
|
components: {
|
|
8547
8441
|
IconCheck: iconsVue.IconCheck
|
|
@@ -8696,7 +8590,7 @@ function _sfc_render$11(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
8696
8590
|
[vue.vShow, _ctx.isValid]
|
|
8697
8591
|
]);
|
|
8698
8592
|
}
|
|
8699
|
-
const Option = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
8593
|
+
const Option = /* @__PURE__ */ _export_sfc(_sfc_main$2X, [["render", _sfc_render$11]]);
|
|
8700
8594
|
function useEmptySlot() {
|
|
8701
8595
|
const config = vue.inject(configProviderInjectionKey, void 0);
|
|
8702
8596
|
return vue.computed(() => config?.slots.empty);
|
|
@@ -8765,8 +8659,8 @@ const emptyProps = {
|
|
|
8765
8659
|
showIcon: { type: Boolean, default: true },
|
|
8766
8660
|
showDescription: { type: Boolean, default: true }
|
|
8767
8661
|
};
|
|
8768
|
-
const _hoisted_1$
|
|
8769
|
-
const _sfc_main$
|
|
8662
|
+
const _hoisted_1$1r = ["src", "alt"];
|
|
8663
|
+
const _sfc_main$2W = /* @__PURE__ */ vue.defineComponent({
|
|
8770
8664
|
...{ name: createNamespace$1("empty").name },
|
|
8771
8665
|
__name: "Empty",
|
|
8772
8666
|
props: emptyProps,
|
|
@@ -8824,7 +8718,7 @@ const _sfc_main$2S = /* @__PURE__ */ vue.defineComponent({
|
|
|
8824
8718
|
key: 0,
|
|
8825
8719
|
src: _ctx.imageUrl,
|
|
8826
8720
|
alt: _ctx.alt
|
|
8827
|
-
}, null, 8, _hoisted_1$
|
|
8721
|
+
}, null, 8, _hoisted_1$1r)) : (vue.openBlock(), vue.createBlock(vue.unref(iconEmpty.IconEmpty), { key: 1 }))
|
|
8828
8722
|
])
|
|
8829
8723
|
], 6)) : vue.createCommentVNode("", true),
|
|
8830
8724
|
_ctx.showDescription ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -8845,7 +8739,7 @@ const _sfc_main$2S = /* @__PURE__ */ vue.defineComponent({
|
|
|
8845
8739
|
};
|
|
8846
8740
|
}
|
|
8847
8741
|
});
|
|
8848
|
-
const Empty$1 = withInstall(_sfc_main$
|
|
8742
|
+
const Empty$1 = withInstall(_sfc_main$2W, Object.assign(_sfc_main$2W, {}), { components: [_sfc_main$2W] });
|
|
8849
8743
|
const _EmptyComponent = Empty$1;
|
|
8850
8744
|
const scrollbarProps = {
|
|
8851
8745
|
/**
|
|
@@ -9060,7 +8954,7 @@ const ResizeObserver$2 = vue.defineComponent({
|
|
|
9060
8954
|
};
|
|
9061
8955
|
}
|
|
9062
8956
|
});
|
|
9063
|
-
const _sfc_main$
|
|
8957
|
+
const _sfc_main$2V = vue.defineComponent({
|
|
9064
8958
|
name: createNamespace$1("thumb").name,
|
|
9065
8959
|
props: {
|
|
9066
8960
|
data: {
|
|
@@ -9295,10 +9189,10 @@ function _sfc_render$10(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
9295
9189
|
], 38)
|
|
9296
9190
|
], 34);
|
|
9297
9191
|
}
|
|
9298
|
-
const Thumb = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
9192
|
+
const Thumb = /* @__PURE__ */ _export_sfc(_sfc_main$2V, [["render", _sfc_render$10]]);
|
|
9299
9193
|
const THUMB_MIN_SIZE = 20;
|
|
9300
9194
|
const TRACK_SIZE = 15;
|
|
9301
|
-
const _sfc_main$
|
|
9195
|
+
const _sfc_main$2U = vue.defineComponent({
|
|
9302
9196
|
name: createNamespace$1("scrollbar").name,
|
|
9303
9197
|
components: {
|
|
9304
9198
|
ResizeObserver: ResizeObserver$2,
|
|
@@ -9621,11 +9515,11 @@ function _sfc_render$$(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
9621
9515
|
}, null, 8, ["data", "style", "both", "onScroll"])) : vue.createCommentVNode("", true)
|
|
9622
9516
|
], 6);
|
|
9623
9517
|
}
|
|
9624
|
-
const _Scrollbar = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
9518
|
+
const _Scrollbar = /* @__PURE__ */ _export_sfc(_sfc_main$2U, [["render", _sfc_render$$]]);
|
|
9625
9519
|
const Scrollbar = withInstall(_Scrollbar, Object.assign(_Scrollbar, {}), { components: [_Scrollbar] });
|
|
9626
9520
|
const _ScrollbarComponent = Scrollbar;
|
|
9627
9521
|
const { name: name$_ } = createNamespace$1("select-dropdown");
|
|
9628
|
-
const _sfc_main$
|
|
9522
|
+
const _sfc_main$2T = vue.defineComponent({
|
|
9629
9523
|
name: name$_,
|
|
9630
9524
|
components: {
|
|
9631
9525
|
ScrollbarComponent: Scrollbar,
|
|
@@ -9697,7 +9591,7 @@ const _sfc_main$2P = vue.defineComponent({
|
|
|
9697
9591
|
};
|
|
9698
9592
|
}
|
|
9699
9593
|
});
|
|
9700
|
-
const _hoisted_1$
|
|
9594
|
+
const _hoisted_1$1q = ["id", "role", "aria-multiselectable"];
|
|
9701
9595
|
const _hoisted_2$D = ["id", "role", "aria-multiselectable"];
|
|
9702
9596
|
function _sfc_render$_(_ctx, _cache, $props, $setup, $data, $options) {
|
|
9703
9597
|
const _component_loading = vue.resolveComponent("loading");
|
|
@@ -9731,7 +9625,7 @@ function _sfc_render$_(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
9731
9625
|
"aria-multiselectable": _ctx.listboxId ? _ctx.multiple : void 0
|
|
9732
9626
|
}, [
|
|
9733
9627
|
vue.renderSlot(_ctx.$slots, "virtual-list")
|
|
9734
|
-
], 8, _hoisted_1$
|
|
9628
|
+
], 8, _hoisted_1$1q)) : vue.createCommentVNode("", true),
|
|
9735
9629
|
!_ctx.virtualList ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.displayScrollbar ? "ScrollbarComponent" : "div"), vue.mergeProps(
|
|
9736
9630
|
{
|
|
9737
9631
|
key: 4,
|
|
@@ -9761,7 +9655,7 @@ function _sfc_render$_(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
9761
9655
|
], 2)) : vue.createCommentVNode("", true)
|
|
9762
9656
|
], 34);
|
|
9763
9657
|
}
|
|
9764
|
-
const SelectDropdown = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
9658
|
+
const SelectDropdown = /* @__PURE__ */ _export_sfc(_sfc_main$2T, [["render", _sfc_render$_]]);
|
|
9765
9659
|
const TriggerPopup = vue.defineComponent({
|
|
9766
9660
|
name: createNamespace$1("trigger-popup").name,
|
|
9767
9661
|
inheritAttrs: false,
|
|
@@ -10069,12 +9963,21 @@ function getScrollElements(element2) {
|
|
|
10069
9963
|
const visited = /* @__PURE__ */ new Set();
|
|
10070
9964
|
while (root && !visited.has(root.ownerDocument)) {
|
|
10071
9965
|
visited.add(root.ownerDocument);
|
|
10072
|
-
|
|
9966
|
+
const parent = (node) => {
|
|
9967
|
+
if (node.assignedSlot) return node.assignedSlot;
|
|
9968
|
+
if (node.parentElement) return node.parentElement;
|
|
9969
|
+
const tree = node.getRootNode();
|
|
9970
|
+
return tree.nodeType === 11 && "host" in tree ? tree.host : null;
|
|
9971
|
+
};
|
|
9972
|
+
let current = parent(root);
|
|
9973
|
+
const ancestors = /* @__PURE__ */ new Set();
|
|
10073
9974
|
while (current && current !== current.ownerDocument.documentElement) {
|
|
9975
|
+
if (ancestors.has(current)) break;
|
|
9976
|
+
ancestors.add(current);
|
|
10074
9977
|
const style = current.ownerDocument.defaultView?.getComputedStyle(current);
|
|
10075
9978
|
const overflow = `${style?.overflow ?? ""}${style?.overflowX ?? ""}${style?.overflowY ?? ""}`;
|
|
10076
9979
|
if (/(auto|scroll|overlay)/.test(overflow)) result.push(current);
|
|
10077
|
-
current = current
|
|
9980
|
+
current = parent(current);
|
|
10078
9981
|
}
|
|
10079
9982
|
try {
|
|
10080
9983
|
root = root.ownerDocument.defaultView?.frameElement ?? void 0;
|
|
@@ -10084,6 +9987,34 @@ function getScrollElements(element2) {
|
|
|
10084
9987
|
}
|
|
10085
9988
|
return result;
|
|
10086
9989
|
}
|
|
9990
|
+
function getSlotChangeRoots(element2) {
|
|
9991
|
+
const roots = [];
|
|
9992
|
+
const visited = /* @__PURE__ */ new Set();
|
|
9993
|
+
let current = element2;
|
|
9994
|
+
while (current && !visited.has(current)) {
|
|
9995
|
+
visited.add(current);
|
|
9996
|
+
const parentShadow = current.parentElement?.shadowRoot;
|
|
9997
|
+
if (parentShadow) roots.push(parentShadow);
|
|
9998
|
+
if (current.assignedSlot) {
|
|
9999
|
+
current = current.assignedSlot;
|
|
10000
|
+
} else if (current.parentElement) {
|
|
10001
|
+
current = current.parentElement;
|
|
10002
|
+
} else {
|
|
10003
|
+
const tree = current.getRootNode();
|
|
10004
|
+
if (tree.nodeType === 11 && "host" in tree) {
|
|
10005
|
+
roots.push(tree);
|
|
10006
|
+
current = tree.host;
|
|
10007
|
+
} else {
|
|
10008
|
+
try {
|
|
10009
|
+
current = current.ownerDocument.defaultView?.frameElement;
|
|
10010
|
+
} catch {
|
|
10011
|
+
current = void 0;
|
|
10012
|
+
}
|
|
10013
|
+
}
|
|
10014
|
+
}
|
|
10015
|
+
}
|
|
10016
|
+
return roots;
|
|
10017
|
+
}
|
|
10087
10018
|
function getScrollViews(element2) {
|
|
10088
10019
|
const result = [];
|
|
10089
10020
|
let document2 = element2?.ownerDocument;
|
|
@@ -10104,9 +10035,11 @@ function rafThrottle(callback, ownerView) {
|
|
|
10104
10035
|
let frame;
|
|
10105
10036
|
let frameView;
|
|
10106
10037
|
let latest;
|
|
10038
|
+
let latestTarget;
|
|
10107
10039
|
let generation = 0;
|
|
10108
10040
|
const run = (event) => {
|
|
10109
10041
|
latest = event;
|
|
10042
|
+
latestTarget = event?.currentTarget ?? event?.target;
|
|
10110
10043
|
if (frame !== void 0) {
|
|
10111
10044
|
return;
|
|
10112
10045
|
}
|
|
@@ -10124,8 +10057,10 @@ function rafThrottle(callback, ownerView) {
|
|
|
10124
10057
|
frame = void 0;
|
|
10125
10058
|
frameView = void 0;
|
|
10126
10059
|
const currentEvent = latest;
|
|
10060
|
+
const currentTarget = latestTarget;
|
|
10127
10061
|
latest = void 0;
|
|
10128
|
-
|
|
10062
|
+
latestTarget = void 0;
|
|
10063
|
+
callback(currentEvent, currentTarget);
|
|
10129
10064
|
});
|
|
10130
10065
|
};
|
|
10131
10066
|
run.cancel = () => {
|
|
@@ -10136,6 +10071,7 @@ function rafThrottle(callback, ownerView) {
|
|
|
10136
10071
|
frame = void 0;
|
|
10137
10072
|
frameView = void 0;
|
|
10138
10073
|
latest = void 0;
|
|
10074
|
+
latestTarget = void 0;
|
|
10139
10075
|
};
|
|
10140
10076
|
return run;
|
|
10141
10077
|
}
|
|
@@ -10151,6 +10087,7 @@ function useTriggerPositioner(options, context2) {
|
|
|
10151
10087
|
let scrollPositions = /* @__PURE__ */ new WeakMap();
|
|
10152
10088
|
let windowPositions = /* @__PURE__ */ new WeakMap();
|
|
10153
10089
|
let scrollViews = [];
|
|
10090
|
+
let slotRoots = [];
|
|
10154
10091
|
function update() {
|
|
10155
10092
|
const reference = context2.reference.value;
|
|
10156
10093
|
const popup = context2.popup.value;
|
|
@@ -10239,10 +10176,10 @@ function useTriggerPositioner(options, context2) {
|
|
|
10239
10176
|
}
|
|
10240
10177
|
}
|
|
10241
10178
|
const scrolling = rafThrottle(
|
|
10242
|
-
(
|
|
10179
|
+
(_event, eventTarget) => {
|
|
10243
10180
|
const shouldClose = options.scrollToClose || context2.globalScrollToClose.value;
|
|
10244
|
-
if (shouldClose &&
|
|
10245
|
-
const target2 =
|
|
10181
|
+
if (shouldClose && eventTarget) {
|
|
10182
|
+
const target2 = eventTarget;
|
|
10246
10183
|
const previous = scrollPositions.get(target2) ?? [
|
|
10247
10184
|
target2.scrollTop,
|
|
10248
10185
|
target2.scrollLeft
|
|
@@ -10287,11 +10224,26 @@ function useTriggerPositioner(options, context2) {
|
|
|
10287
10224
|
for (const element2 of scrollElements)
|
|
10288
10225
|
element2.removeEventListener("scroll", scrolling);
|
|
10289
10226
|
for (const view of scrollViews) view.removeEventListener("scroll", onWindowScroll);
|
|
10227
|
+
for (const slot of slotRoots) slot.removeEventListener("slotchange", onSlotChange);
|
|
10228
|
+
slotRoots = [];
|
|
10290
10229
|
scrollViews = [];
|
|
10291
10230
|
scrollElements = [];
|
|
10292
10231
|
scrollPositions = /* @__PURE__ */ new WeakMap();
|
|
10293
10232
|
windowPositions = /* @__PURE__ */ new WeakMap();
|
|
10294
10233
|
}
|
|
10234
|
+
function onSlotChange() {
|
|
10235
|
+
positionGeneration++;
|
|
10236
|
+
const reference = context2.reference.value;
|
|
10237
|
+
const popup = context2.popup.value;
|
|
10238
|
+
const nextElements = [.../* @__PURE__ */ new Set([...getScrollElements(reference), ...getScrollElements(popup)])];
|
|
10239
|
+
const nextViews = [.../* @__PURE__ */ new Set([...getScrollViews(reference), ...getScrollViews(popup)])];
|
|
10240
|
+
const nextRoots = [.../* @__PURE__ */ new Set([...getSlotChangeRoots(reference), ...getSlotChangeRoots(popup)])];
|
|
10241
|
+
function changed(before, after) {
|
|
10242
|
+
return before.length !== after.length || before.some((item, index) => item !== after[index]);
|
|
10243
|
+
}
|
|
10244
|
+
if (changed(scrollElements, nextElements) || changed(scrollViews, nextViews) || changed(slotRoots, nextRoots)) bindScroll();
|
|
10245
|
+
vue.nextTick(update);
|
|
10246
|
+
}
|
|
10295
10247
|
function bindScroll() {
|
|
10296
10248
|
unbindScroll();
|
|
10297
10249
|
const reference = context2.reference.value;
|
|
@@ -10299,6 +10251,8 @@ function useTriggerPositioner(options, context2) {
|
|
|
10299
10251
|
const active = options.updateAtScroll || options.scrollToClose || context2.globalUpdateAtScroll.value || context2.globalScrollToClose.value;
|
|
10300
10252
|
if (!active || !reference || !popup || !context2.visible.value || suspended)
|
|
10301
10253
|
return;
|
|
10254
|
+
slotRoots = [.../* @__PURE__ */ new Set([...getSlotChangeRoots(reference), ...getSlotChangeRoots(popup)])];
|
|
10255
|
+
for (const slot of slotRoots) slot.addEventListener("slotchange", onSlotChange);
|
|
10302
10256
|
scrollElements = [
|
|
10303
10257
|
.../* @__PURE__ */ new Set([
|
|
10304
10258
|
...getScrollElements(reference),
|
|
@@ -10511,19 +10465,19 @@ const shadowHostNames = /* @__PURE__ */ new Set(["article", "aside", "blockquote
|
|
|
10511
10465
|
function mayHideShadow(element2) {
|
|
10512
10466
|
return !element2.shadowRoot && (element2.localName.includes("-") || shadowHostNames.has(element2.localName));
|
|
10513
10467
|
}
|
|
10514
|
-
function documentChain(start) {
|
|
10468
|
+
function documentChain(start, allowPartial = false) {
|
|
10515
10469
|
const documents = [start], frames = [];
|
|
10516
10470
|
let current = start;
|
|
10517
10471
|
try {
|
|
10518
10472
|
while (current.defaultView && current.defaultView.parent !== current.defaultView) {
|
|
10519
10473
|
const frame = current.defaultView.frameElement;
|
|
10520
|
-
if (!frame) return void 0;
|
|
10474
|
+
if (!frame) return allowPartial ? { documents, frames } : void 0;
|
|
10521
10475
|
frames.push(frame);
|
|
10522
10476
|
current = frame.ownerDocument;
|
|
10523
10477
|
documents.push(current);
|
|
10524
10478
|
}
|
|
10525
10479
|
} catch {
|
|
10526
|
-
return void 0;
|
|
10480
|
+
return allowPartial ? { documents, frames } : void 0;
|
|
10527
10481
|
}
|
|
10528
10482
|
return { documents, frames };
|
|
10529
10483
|
}
|
|
@@ -10532,7 +10486,7 @@ function canRestore(owner, destination, anchor, focused) {
|
|
|
10532
10486
|
const current = owner.activeElement;
|
|
10533
10487
|
return (!current || current === owner.body || current === owner.documentElement || current === anchor) && (current !== anchor || deepestActive(anchor) === focused);
|
|
10534
10488
|
}
|
|
10535
|
-
const from = documentChain(owner), to = documentChain(destination);
|
|
10489
|
+
const from = documentChain(owner, true), to = documentChain(destination, true);
|
|
10536
10490
|
if (!from || !to) return false;
|
|
10537
10491
|
const common = from.documents.find((doc) => to.documents.includes(doc));
|
|
10538
10492
|
if (!common || !common.hasFocus()) return false;
|
|
@@ -10581,8 +10535,8 @@ function usePopupMoveFocus(target2, inline, popup, visible) {
|
|
|
10581
10535
|
return (event) => {
|
|
10582
10536
|
if (!moving || moving !== event.target || event.relatedTarget) return false;
|
|
10583
10537
|
const owner = moving.ownerDocument;
|
|
10584
|
-
const chain = documentChain(owner);
|
|
10585
|
-
if (!chain) return false;
|
|
10538
|
+
const chain = documentChain(owner, true);
|
|
10539
|
+
if (!chain || !chain.documents[chain.documents.length - 1].hasFocus()) return false;
|
|
10586
10540
|
return chain.documents.every((doc) => {
|
|
10587
10541
|
const current = doc.activeElement;
|
|
10588
10542
|
return !current || current === doc.body || current === doc.documentElement || current === moving || chain.frames.includes(current);
|
|
@@ -10801,7 +10755,7 @@ const _Trigger = /* @__PURE__ */ vue.defineComponent({
|
|
|
10801
10755
|
});
|
|
10802
10756
|
return () => {
|
|
10803
10757
|
const referenceNodes = mergeFirstReferenceClass(slots.default?.() ?? [], visible.value ? props2.openedClass : void 0);
|
|
10804
|
-
const contentNodes = slots.content?.() ?? [];
|
|
10758
|
+
const contentNodes = renderState.rendered.value ? slots.content?.() ?? [] : [];
|
|
10805
10759
|
const hiddenByEmpty = props2.hideEmpty && isEmptyContent(contentNodes);
|
|
10806
10760
|
nodes.value = referenceNodes;
|
|
10807
10761
|
return vue.createVNode(vue.Fragment, null, [referenceNodes, vue.createVNode(vue.Teleport, {
|
|
@@ -10886,6 +10840,8 @@ const fieldPresentationProps = {
|
|
|
10886
10840
|
};
|
|
10887
10841
|
const autoCompleteProps = {
|
|
10888
10842
|
...fieldLoadingProps,
|
|
10843
|
+
/** 弹出编辑是否需要确认;默认选中候选项即提交,自定义文本通过确认提交。 */
|
|
10844
|
+
needConfirm: { type: Boolean, default: void 0 },
|
|
10889
10845
|
searchDelay: { type: Number, default: 250 },
|
|
10890
10846
|
/** 清空动作产生的模型值;省略保留原默认值。 */
|
|
10891
10847
|
...fieldPresentationProps,
|
|
@@ -11297,7 +11253,7 @@ const Base$8 = /* @__PURE__ */ vue.defineComponent({
|
|
|
11297
11253
|
"aria-activedescendant": computedOpen.value && !loading.value && activeKey.value && enabledOptionKeys.value.includes(activeKey.value) && optionRefs.value[activeKey.value] ? getOptionId(activeKey.value) : void 0,
|
|
11298
11254
|
autocomplete: "off"
|
|
11299
11255
|
}));
|
|
11300
|
-
const renderInput = (restAttrs) => vue.createVNode(
|
|
11256
|
+
const renderInput = (restAttrs) => vue.createVNode(SearchInput, vue.mergeProps({
|
|
11301
11257
|
"loading": loading.value,
|
|
11302
11258
|
"loadingMode": props2.loadingMode
|
|
11303
11259
|
}, restAttrs, {
|
|
@@ -11385,6 +11341,7 @@ const Base$8 = /* @__PURE__ */ vue.defineComponent({
|
|
|
11385
11341
|
}
|
|
11386
11342
|
});
|
|
11387
11343
|
const _AutoComplete = withFieldPresentation(Base$8, {
|
|
11344
|
+
selectionConfirmation: "select",
|
|
11388
11345
|
methods: ["focus", "blur", "refresh"],
|
|
11389
11346
|
defaultPresentation: defaultSelectionPresentation,
|
|
11390
11347
|
intent: "input",
|
|
@@ -11395,7 +11352,7 @@ const _AutoComplete = withFieldPresentation(Base$8, {
|
|
|
11395
11352
|
const editorAttrs = { ...attrs, style };
|
|
11396
11353
|
delete editorAttrs.class;
|
|
11397
11354
|
return vue.h(
|
|
11398
|
-
_sfc_main$
|
|
11355
|
+
_sfc_main$31,
|
|
11399
11356
|
{ kind: "auto-complete" },
|
|
11400
11357
|
() => vue.h(
|
|
11401
11358
|
Base$8,
|
|
@@ -11496,12 +11453,12 @@ const avatarGroupProps = {
|
|
|
11496
11453
|
/** 是否纵向堆叠 */
|
|
11497
11454
|
vertical: Boolean
|
|
11498
11455
|
};
|
|
11499
|
-
const _hoisted_1$
|
|
11456
|
+
const _hoisted_1$1p = ["role", "tabindex", "aria-label"];
|
|
11500
11457
|
const _hoisted_2$C = ["src", "alt"];
|
|
11501
|
-
const _hoisted_3$
|
|
11458
|
+
const _hoisted_3$m = ["role", "aria-label", "aria-hidden"];
|
|
11502
11459
|
const _hoisted_4$d = ["src", "alt", "loading"];
|
|
11503
11460
|
const _hoisted_5$6 = ["src", "alt"];
|
|
11504
|
-
const _sfc_main$
|
|
11461
|
+
const _sfc_main$2S = /* @__PURE__ */ vue.defineComponent({
|
|
11505
11462
|
...{ name: createNamespace$1("avatar").name, inheritAttrs: false },
|
|
11506
11463
|
__name: "Avatar",
|
|
11507
11464
|
props: avatarProps,
|
|
@@ -11664,7 +11621,7 @@ const _sfc_main$2O = /* @__PURE__ */ vue.defineComponent({
|
|
|
11664
11621
|
"aria-hidden": props2.alt ? void 0 : true
|
|
11665
11622
|
}, [
|
|
11666
11623
|
vue.createVNode(vue.unref(iconImageClose.IconImageClose), { "aria-hidden": "true" })
|
|
11667
|
-
], 10, _hoisted_3$
|
|
11624
|
+
], 10, _hoisted_3$m))
|
|
11668
11625
|
]) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
11669
11626
|
vue.withDirectives(vue.createElementVNode("img", {
|
|
11670
11627
|
src: props2.imageUrl,
|
|
@@ -11705,7 +11662,7 @@ const _sfc_main$2O = /* @__PURE__ */ vue.defineComponent({
|
|
|
11705
11662
|
}, [
|
|
11706
11663
|
vue.renderSlot(_ctx.$slots, "trigger-icon")
|
|
11707
11664
|
], 6)) : vue.createCommentVNode("", true)
|
|
11708
|
-
], 16, _hoisted_1$
|
|
11665
|
+
], 16, _hoisted_1$1p);
|
|
11709
11666
|
};
|
|
11710
11667
|
}
|
|
11711
11668
|
});
|
|
@@ -11773,8 +11730,8 @@ const popoverProps = {
|
|
|
11773
11730
|
/** 再次点击触发元素时关闭。 */
|
|
11774
11731
|
closeOnClickReference: { type: Boolean, default: true }
|
|
11775
11732
|
};
|
|
11776
|
-
const _hoisted_1$
|
|
11777
|
-
const _sfc_main$
|
|
11733
|
+
const _hoisted_1$1o = ["aria-labelledby"];
|
|
11734
|
+
const _sfc_main$2R = /* @__PURE__ */ vue.defineComponent({
|
|
11778
11735
|
...{ name: createNamespace$1("popover").name, inheritAttrs: false },
|
|
11779
11736
|
__name: "Popover",
|
|
11780
11737
|
props: popoverProps,
|
|
@@ -11872,7 +11829,7 @@ const _sfc_main$2N = /* @__PURE__ */ vue.defineComponent({
|
|
|
11872
11829
|
vue.createTextVNode(vue.toDisplayString(_ctx.content), 1)
|
|
11873
11830
|
])
|
|
11874
11831
|
], 2)
|
|
11875
|
-
], 16, _hoisted_1$
|
|
11832
|
+
], 16, _hoisted_1$1o)) : vue.createCommentVNode("", true)
|
|
11876
11833
|
]),
|
|
11877
11834
|
default: vue.withCtx(() => [
|
|
11878
11835
|
vue.renderSlot(_ctx.$slots, "default")
|
|
@@ -11882,10 +11839,10 @@ const _sfc_main$2N = /* @__PURE__ */ vue.defineComponent({
|
|
|
11882
11839
|
};
|
|
11883
11840
|
}
|
|
11884
11841
|
});
|
|
11885
|
-
const Popover = withInstall(_sfc_main$
|
|
11842
|
+
const Popover = withInstall(_sfc_main$2R, Object.assign(_sfc_main$2R, {}), { components: [_sfc_main$2R] });
|
|
11886
11843
|
const _PopoverComponent = Popover;
|
|
11887
11844
|
const { name: name$Y, n: n$k, classes: classes$7 } = createNamespace$1("avatar-group");
|
|
11888
|
-
const _sfc_main$
|
|
11845
|
+
const _sfc_main$2Q = vue.defineComponent({
|
|
11889
11846
|
name: name$Y,
|
|
11890
11847
|
props: avatarGroupProps,
|
|
11891
11848
|
setup(props2, { slots }) {
|
|
@@ -11910,7 +11867,7 @@ const _sfc_main$2M = vue.defineComponent({
|
|
|
11910
11867
|
);
|
|
11911
11868
|
if (hidden.length) {
|
|
11912
11869
|
const summary = vue.h(
|
|
11913
|
-
_sfc_main$
|
|
11870
|
+
_sfc_main$2S,
|
|
11914
11871
|
{ class: n$k("max-count-avatar"), role: "button", tabindex: 0, style: [props2.maxStyle, { zIndex: props2.zIndexAscend ? layerCount : 1 }] },
|
|
11915
11872
|
{ default: () => `+${hidden.length}` }
|
|
11916
11873
|
);
|
|
@@ -11927,14 +11884,14 @@ const _sfc_main$2M = vue.defineComponent({
|
|
|
11927
11884
|
}
|
|
11928
11885
|
});
|
|
11929
11886
|
const Avatar = withInstall(
|
|
11930
|
-
_sfc_main$
|
|
11931
|
-
Object.assign(_sfc_main$
|
|
11932
|
-
Group: _sfc_main$
|
|
11887
|
+
_sfc_main$2S,
|
|
11888
|
+
Object.assign(_sfc_main$2S, {
|
|
11889
|
+
Group: _sfc_main$2Q
|
|
11933
11890
|
}),
|
|
11934
|
-
{ components: [_sfc_main$
|
|
11891
|
+
{ components: [_sfc_main$2S, _sfc_main$2Q] }
|
|
11935
11892
|
);
|
|
11936
11893
|
const _AvatarComponent = Avatar;
|
|
11937
|
-
const _AvatarGroupComponent = _sfc_main$
|
|
11894
|
+
const _AvatarGroupComponent = _sfc_main$2Q;
|
|
11938
11895
|
const easingNames = ["linear", "quartOut", "easeInOutCubic"];
|
|
11939
11896
|
const backTopProps = {
|
|
11940
11897
|
/** 浮层挂载容器,false 表示原地绝对定位。 */
|
|
@@ -12133,8 +12090,8 @@ function ease(progress, easing) {
|
|
|
12133
12090
|
}
|
|
12134
12091
|
return 1 - (1 - progress) ** 4;
|
|
12135
12092
|
}
|
|
12136
|
-
const _hoisted_1$
|
|
12137
|
-
const _sfc_main$
|
|
12093
|
+
const _hoisted_1$1n = ["dir", "aria-label"];
|
|
12094
|
+
const _sfc_main$2P = /* @__PURE__ */ vue.defineComponent({
|
|
12138
12095
|
...{ name: createNamespace$1("back-top").name, inheritAttrs: false },
|
|
12139
12096
|
__name: "BackTop",
|
|
12140
12097
|
props: backTopProps,
|
|
@@ -12171,7 +12128,7 @@ const _sfc_main$2L = /* @__PURE__ */ vue.defineComponent({
|
|
|
12171
12128
|
vue.renderSlot(_ctx.$slots, "default", {}, () => [
|
|
12172
12129
|
vue.createVNode(vue.unref(iconsVue.IconToTop), { "aria-hidden": "true" })
|
|
12173
12130
|
])
|
|
12174
|
-
], 16, _hoisted_1$
|
|
12131
|
+
], 16, _hoisted_1$1n), [
|
|
12175
12132
|
[vue.vShow, vue.unref(visible)]
|
|
12176
12133
|
])
|
|
12177
12134
|
], 8, ["to", "disabled"]))
|
|
@@ -12179,7 +12136,7 @@ const _sfc_main$2L = /* @__PURE__ */ vue.defineComponent({
|
|
|
12179
12136
|
};
|
|
12180
12137
|
}
|
|
12181
12138
|
});
|
|
12182
|
-
const BackTop = withInstall(_sfc_main$
|
|
12139
|
+
const BackTop = withInstall(_sfc_main$2P, Object.assign(_sfc_main$2P, {}), { components: [_sfc_main$2P] });
|
|
12183
12140
|
const _BackTopComponent = BackTop;
|
|
12184
12141
|
const badgeModes = ["floating", "inline"];
|
|
12185
12142
|
const badgePositions = [
|
|
@@ -12239,7 +12196,7 @@ const badgeProps = {
|
|
|
12239
12196
|
validator: (value) => badgeVariants.includes(value)
|
|
12240
12197
|
}
|
|
12241
12198
|
};
|
|
12242
|
-
const _sfc_main$
|
|
12199
|
+
const _sfc_main$2O = /* @__PURE__ */ vue.defineComponent({
|
|
12243
12200
|
...{ name: createNamespace$1("badge").name },
|
|
12244
12201
|
__name: "Badge",
|
|
12245
12202
|
props: badgeProps,
|
|
@@ -12345,7 +12302,7 @@ const _sfc_main$2K = /* @__PURE__ */ vue.defineComponent({
|
|
|
12345
12302
|
};
|
|
12346
12303
|
}
|
|
12347
12304
|
});
|
|
12348
|
-
const Badge = withInstall(_sfc_main$
|
|
12305
|
+
const Badge = withInstall(_sfc_main$2O, Object.assign(_sfc_main$2O, {}), { components: [_sfc_main$2O] });
|
|
12349
12306
|
const _BadgeComponent = Badge;
|
|
12350
12307
|
const BREADCRUMB_BIND_BREADCRUMB_ITEM_KEY = Symbol("BREADCRUMB_BIND_BREADCRUMB_ITEM_KEY");
|
|
12351
12308
|
function useBreadcrumbItems() {
|
|
@@ -12583,7 +12540,7 @@ const menuProps = {
|
|
|
12583
12540
|
const menuInjectionKey = Symbol("Menu");
|
|
12584
12541
|
const menuLevelKey = Symbol("MenuLevel");
|
|
12585
12542
|
const menuRenderLevelKey = Symbol("MenuRenderLevel");
|
|
12586
|
-
const _sfc_main$
|
|
12543
|
+
const _sfc_main$2N = /* @__PURE__ */ vue.defineComponent({
|
|
12587
12544
|
...{ name: createNamespace$1("menu-panel").name },
|
|
12588
12545
|
__name: "MenuPanel",
|
|
12589
12546
|
props: { isEmpty: Boolean, bottomOffset: { type: Number, default: 0 }, elevation: { type: [Boolean, Number], default: true }, submenu: Boolean },
|
|
@@ -12693,7 +12650,7 @@ function useMenuSelection(options, emit) {
|
|
|
12693
12650
|
};
|
|
12694
12651
|
}
|
|
12695
12652
|
const menuSelectionKey = Symbol("MenuSelection");
|
|
12696
|
-
const _sfc_main$
|
|
12653
|
+
const _sfc_main$2M = /* @__PURE__ */ vue.defineComponent({
|
|
12697
12654
|
...{ name: createNamespace$1("menu-option").name },
|
|
12698
12655
|
__name: "MenuOption",
|
|
12699
12656
|
props: props$3,
|
|
@@ -12943,7 +12900,7 @@ function useMenuLevel(visible, branch) {
|
|
|
12943
12900
|
vue.onBeforeUnmount(() => unregister?.());
|
|
12944
12901
|
return { level, activate: () => parent?.activate(branch) };
|
|
12945
12902
|
}
|
|
12946
|
-
const _sfc_main$
|
|
12903
|
+
const _sfc_main$2L = /* @__PURE__ */ vue.defineComponent({
|
|
12947
12904
|
...{ name: createNamespace$1("menu-branch").name },
|
|
12948
12905
|
__name: "MenuBranch",
|
|
12949
12906
|
props: menuBranchProps,
|
|
@@ -13017,7 +12974,7 @@ const _sfc_main$2H = /* @__PURE__ */ vue.defineComponent({
|
|
|
13017
12974
|
computedOpen.value = open22;
|
|
13018
12975
|
}
|
|
13019
12976
|
},
|
|
13020
|
-
reference: () => vue.h(_sfc_main$
|
|
12977
|
+
reference: () => vue.h(_sfc_main$2M, {
|
|
13021
12978
|
...props2.option.props,
|
|
13022
12979
|
value,
|
|
13023
12980
|
option: props2.option,
|
|
@@ -13032,7 +12989,7 @@ const _sfc_main$2H = /* @__PURE__ */ vue.defineComponent({
|
|
|
13032
12989
|
...props2.renderers.hasIcon(props2.option) ? { icon: () => props2.renderers.icon(props2.option, active, props2.level) } : {},
|
|
13033
12990
|
...props2.renderers.hasExtra(props2.option) ? { suffix: () => props2.renderers.extra(props2.option, active, props2.level) } : {}
|
|
13034
12991
|
}),
|
|
13035
|
-
panelComponent: _sfc_main$
|
|
12992
|
+
panelComponent: _sfc_main$2N,
|
|
13036
12993
|
panelProps: { ref: panel2, submenu: true },
|
|
13037
12994
|
items: () => slots.default?.()
|
|
13038
12995
|
};
|
|
@@ -13084,7 +13041,7 @@ const MenuOptions = vue.defineComponent({
|
|
|
13084
13041
|
vue.h("div", { class: `${getPrefixCls("menu-group")}-title` }, [renderers.label(option2, active, level)]),
|
|
13085
13042
|
vue.h("ul", { role: "group", class: `${getPrefixCls("menu-group")}-list` }, node.children.map(renderNode))
|
|
13086
13043
|
]);
|
|
13087
|
-
if (node.children.length) return vue.h(_sfc_main$
|
|
13044
|
+
if (node.children.length) return vue.h(_sfc_main$2L, {
|
|
13088
13045
|
key,
|
|
13089
13046
|
option: option2,
|
|
13090
13047
|
fieldNames: props2.fieldNames,
|
|
@@ -13100,7 +13057,7 @@ const MenuOptions = vue.defineComponent({
|
|
|
13100
13057
|
renderers
|
|
13101
13058
|
})
|
|
13102
13059
|
});
|
|
13103
|
-
return vue.h(_sfc_main$
|
|
13060
|
+
return vue.h(_sfc_main$2M, {
|
|
13104
13061
|
...option2.props,
|
|
13105
13062
|
key,
|
|
13106
13063
|
value: node.value,
|
|
@@ -13117,7 +13074,7 @@ const MenuOptions = vue.defineComponent({
|
|
|
13117
13074
|
};
|
|
13118
13075
|
}
|
|
13119
13076
|
});
|
|
13120
|
-
const _sfc_main$
|
|
13077
|
+
const _sfc_main$2K = /* @__PURE__ */ vue.defineComponent({
|
|
13121
13078
|
...{ name: createNamespace$1("menu").name },
|
|
13122
13079
|
__name: "Menu",
|
|
13123
13080
|
props: menuProps,
|
|
@@ -13192,7 +13149,7 @@ const _sfc_main$2G = /* @__PURE__ */ vue.defineComponent({
|
|
|
13192
13149
|
onClosed: () => emit("closed"),
|
|
13193
13150
|
onClickOutside: (event) => emit("click-outside", event)
|
|
13194
13151
|
},
|
|
13195
|
-
panelComponent: _sfc_main$
|
|
13152
|
+
panelComponent: _sfc_main$2N,
|
|
13196
13153
|
panelProps: { ref: panel2, elevation: props2.elevation },
|
|
13197
13154
|
items: () => vue.h(MenuOptions, { options: props2.options, fieldNames: props2.fieldNames }, {
|
|
13198
13155
|
label: slots["option-label"],
|
|
@@ -13228,11 +13185,11 @@ const _sfc_main$2G = /* @__PURE__ */ vue.defineComponent({
|
|
|
13228
13185
|
};
|
|
13229
13186
|
}
|
|
13230
13187
|
});
|
|
13231
|
-
const Menu = withInstall(_sfc_main$
|
|
13232
|
-
Option: _sfc_main$
|
|
13233
|
-
}), { components: [_sfc_main$
|
|
13188
|
+
const Menu = withInstall(_sfc_main$2K, Object.assign(_sfc_main$2K, {
|
|
13189
|
+
Option: _sfc_main$2M
|
|
13190
|
+
}), { components: [_sfc_main$2K, _sfc_main$2M] });
|
|
13234
13191
|
const _MenuComponent = Menu;
|
|
13235
|
-
const _MenuOptionComponent = _sfc_main$
|
|
13192
|
+
const _MenuOptionComponent = _sfc_main$2M;
|
|
13236
13193
|
const {
|
|
13237
13194
|
name: name$X,
|
|
13238
13195
|
n: n$j,
|
|
@@ -13361,7 +13318,7 @@ const BreadcrumbItem = /* @__PURE__ */ vue.defineComponent({
|
|
|
13361
13318
|
"class": classes$6(n$j("dropdown-icon"), [dropdownVisible.value, n$j("--dropdown-icon-active")])
|
|
13362
13319
|
}, null)])]);
|
|
13363
13320
|
};
|
|
13364
|
-
const renderDropdownContent = () => slots.droplist?.() ?? props2.droplist?.map((item) => vue.createVNode(_sfc_main$
|
|
13321
|
+
const renderDropdownContent = () => slots.droplist?.() ?? props2.droplist?.map((item) => vue.createVNode(_sfc_main$2M, {
|
|
13365
13322
|
"value": item.path
|
|
13366
13323
|
}, {
|
|
13367
13324
|
default: () => [item.label]
|
|
@@ -13482,6 +13439,59 @@ const Breadcrumb = withInstall(_Breadcrumb, Object.assign(_Breadcrumb, {
|
|
|
13482
13439
|
}), { components: [_Breadcrumb, BreadcrumbItem] });
|
|
13483
13440
|
const _BreadcrumbComponent = Breadcrumb;
|
|
13484
13441
|
const _BreadcrumbItemComponent = BreadcrumbItem;
|
|
13442
|
+
const _sfc_main$2J = /* @__PURE__ */ vue.defineComponent({
|
|
13443
|
+
...{
|
|
13444
|
+
name: createNamespace$1("button-group").name
|
|
13445
|
+
},
|
|
13446
|
+
__name: "ButtonGroup",
|
|
13447
|
+
props: buttonGroupProps,
|
|
13448
|
+
setup(__props, { expose: __expose }) {
|
|
13449
|
+
const { n: n2, classes: classes2 } = createNamespace$1("button-group");
|
|
13450
|
+
const props2 = __props;
|
|
13451
|
+
const { bindButtons } = useButtons();
|
|
13452
|
+
const defaultSize = useButtonDefaultSize();
|
|
13453
|
+
const buttonGroupProvider = {
|
|
13454
|
+
elevation: vue.computed(() => props2.elevation),
|
|
13455
|
+
status: vue.computed(() => props2.status),
|
|
13456
|
+
size: vue.computed(() => props2.size ?? defaultSize.value),
|
|
13457
|
+
variant: vue.computed(() => props2.variant),
|
|
13458
|
+
color: vue.computed(() => props2.color),
|
|
13459
|
+
textColor: vue.computed(() => props2.textColor),
|
|
13460
|
+
disabled: vue.computed(() => props2.disabled),
|
|
13461
|
+
stacked: vue.computed(() => props2.stacked),
|
|
13462
|
+
vertical: vue.computed(() => props2.vertical)
|
|
13463
|
+
};
|
|
13464
|
+
bindButtons(buttonGroupProvider);
|
|
13465
|
+
__expose({
|
|
13466
|
+
buttonGroupProvider
|
|
13467
|
+
});
|
|
13468
|
+
return (_ctx, _cache) => {
|
|
13469
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
13470
|
+
role: "group",
|
|
13471
|
+
class: vue.normalizeClass(
|
|
13472
|
+
vue.unref(classes2)(
|
|
13473
|
+
vue.unref(n2)(),
|
|
13474
|
+
vue.unref(n2)("$--box"),
|
|
13475
|
+
vue.unref(n2)(`--variant-${_ctx.variant}`),
|
|
13476
|
+
[_ctx.vertical, vue.unref(n2)("--vertical"), vue.unref(n2)("--horizontal")],
|
|
13477
|
+
[_ctx.variant === "default" && !_ctx.disabled, vue.unref(formatElevation)(_ctx.elevation, 2)]
|
|
13478
|
+
)
|
|
13479
|
+
)
|
|
13480
|
+
}, [
|
|
13481
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
13482
|
+
], 2);
|
|
13483
|
+
};
|
|
13484
|
+
}
|
|
13485
|
+
});
|
|
13486
|
+
const Button = withInstall(
|
|
13487
|
+
Button$1,
|
|
13488
|
+
Object.assign(Button$1, {
|
|
13489
|
+
Group: _sfc_main$2J
|
|
13490
|
+
}),
|
|
13491
|
+
{ components: [Button$1, _sfc_main$2J] }
|
|
13492
|
+
);
|
|
13493
|
+
const _ButtonComponent = Button;
|
|
13494
|
+
const _ButtonGroupComponent = _sfc_main$2J;
|
|
13485
13495
|
const calendarProps = {
|
|
13486
13496
|
/**
|
|
13487
13497
|
* @zh 绑定值
|
|
@@ -14137,12 +14147,12 @@ const NativeEditorOwner = vue.defineComponent({
|
|
|
14137
14147
|
return () => slots.default?.();
|
|
14138
14148
|
}
|
|
14139
14149
|
});
|
|
14140
|
-
const _hoisted_1$
|
|
14150
|
+
const _hoisted_1$1m = ["aria-expanded", "aria-controls", "aria-label"];
|
|
14141
14151
|
const _hoisted_2$B = {
|
|
14142
14152
|
key: 0,
|
|
14143
14153
|
"aria-hidden": "true"
|
|
14144
14154
|
};
|
|
14145
|
-
const _hoisted_3$
|
|
14155
|
+
const _hoisted_3$l = { role: "status" };
|
|
14146
14156
|
const _hoisted_4$c = {
|
|
14147
14157
|
key: 1,
|
|
14148
14158
|
"aria-hidden": "true"
|
|
@@ -14156,7 +14166,7 @@ const _hoisted_7$2 = ["id", "aria-label"];
|
|
|
14156
14166
|
const _hoisted_8$2 = ["disabled", "aria-label", "onClick"];
|
|
14157
14167
|
const _hoisted_9$1 = ["aria-label"];
|
|
14158
14168
|
const _hoisted_10$1 = ["disabled", "aria-label", "onClick"];
|
|
14159
|
-
const _sfc_main$
|
|
14169
|
+
const _sfc_main$2I = /* @__PURE__ */ vue.defineComponent({
|
|
14160
14170
|
...{ name: createNamespace$1("selected-options").name },
|
|
14161
14171
|
__name: "SelectedOptions",
|
|
14162
14172
|
props: {
|
|
@@ -14207,9 +14217,9 @@ const _sfc_main$2F = /* @__PURE__ */ vue.defineComponent({
|
|
|
14207
14217
|
onClick: _cache[0] || (_cache[0] = ($event) => showSelected.value = !showSelected.value)
|
|
14208
14218
|
}, [
|
|
14209
14219
|
showSelected.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$B, "‹")) : vue.createCommentVNode("", true),
|
|
14210
|
-
vue.createElementVNode("span", _hoisted_3$
|
|
14220
|
+
vue.createElementVNode("span", _hoisted_3$l, vue.toDisplayString(countText.value), 1),
|
|
14211
14221
|
!showSelected.value ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4$c, "›")) : vue.createCommentVNode("", true)
|
|
14212
|
-
], 10, _hoisted_1$
|
|
14222
|
+
], 10, _hoisted_1$1m)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$5, vue.toDisplayString(countText.value), 1)),
|
|
14213
14223
|
vue.createElementVNode("button", {
|
|
14214
14224
|
type: "button",
|
|
14215
14225
|
class: vue.normalizeClass(vue.unref(n2)("clear")),
|
|
@@ -14290,7 +14300,7 @@ const _sfc_main$2F = /* @__PURE__ */ vue.defineComponent({
|
|
|
14290
14300
|
};
|
|
14291
14301
|
}
|
|
14292
14302
|
});
|
|
14293
|
-
const _sfc_main$
|
|
14303
|
+
const _sfc_main$2H = /* @__PURE__ */ vue.defineComponent({
|
|
14294
14304
|
...{ name: createNamespace$1("selection-menu-presentation").name },
|
|
14295
14305
|
__name: "MenuPresentation",
|
|
14296
14306
|
props: {
|
|
@@ -14372,9 +14382,9 @@ const tagProps = {
|
|
|
14372
14382
|
round: { type: Boolean, default: false },
|
|
14373
14383
|
textColor: String
|
|
14374
14384
|
};
|
|
14375
|
-
const _hoisted_1$
|
|
14385
|
+
const _hoisted_1$1l = ["role", "aria-checked", "aria-disabled", "aria-busy", "tabindex"];
|
|
14376
14386
|
const _hoisted_2$A = ["aria-label", "onKeydown"];
|
|
14377
|
-
const _sfc_main$
|
|
14387
|
+
const _sfc_main$2G = /* @__PURE__ */ vue.defineComponent({
|
|
14378
14388
|
...{ name: createNamespace$1("tag").name, inheritAttrs: false },
|
|
14379
14389
|
__name: "Tag",
|
|
14380
14390
|
props: tagProps,
|
|
@@ -14519,14 +14529,14 @@ const _sfc_main$2D = /* @__PURE__ */ vue.defineComponent({
|
|
|
14519
14529
|
}, [
|
|
14520
14530
|
vue.createVNode(vue.unref(iconLoading.IconLoading))
|
|
14521
14531
|
], 2)) : vue.createCommentVNode("", true)
|
|
14522
|
-
], 16, _hoisted_1$
|
|
14532
|
+
], 16, _hoisted_1$1l)) : vue.createCommentVNode("", true)
|
|
14523
14533
|
]),
|
|
14524
14534
|
_: 3
|
|
14525
14535
|
}, 8, ["name"]);
|
|
14526
14536
|
};
|
|
14527
14537
|
}
|
|
14528
14538
|
});
|
|
14529
|
-
const Tag = withInstall(_sfc_main$
|
|
14539
|
+
const Tag = withInstall(_sfc_main$2G, Object.assign(_sfc_main$2G, {}), { components: [_sfc_main$2G] });
|
|
14530
14540
|
const _TagComponent = Tag;
|
|
14531
14541
|
const selectionFieldProps = {
|
|
14532
14542
|
openTriggerTarget: openTriggerTargetProp,
|
|
@@ -14596,7 +14606,7 @@ const tooltipProps = {
|
|
|
14596
14606
|
/** 无内容时不创建提示浮层。 */
|
|
14597
14607
|
hideEmpty: { type: Boolean, default: true }
|
|
14598
14608
|
};
|
|
14599
|
-
const _sfc_main$
|
|
14609
|
+
const _sfc_main$2F = /* @__PURE__ */ vue.defineComponent({
|
|
14600
14610
|
...{ name: createNamespace$1("tooltip").name, inheritAttrs: false },
|
|
14601
14611
|
__name: "Tooltip",
|
|
14602
14612
|
props: tooltipProps,
|
|
@@ -14702,7 +14712,7 @@ let nextDirectiveId = 0;
|
|
|
14702
14712
|
const TooltipComponent = vue.defineComponent({
|
|
14703
14713
|
props: ["options", "reference", "onVisibility"],
|
|
14704
14714
|
setup(props2) {
|
|
14705
|
-
return () => vue.h(_sfc_main$
|
|
14715
|
+
return () => vue.h(_sfc_main$2F, {
|
|
14706
14716
|
...props2.options,
|
|
14707
14717
|
reference: props2.reference,
|
|
14708
14718
|
defaultOpen: true,
|
|
@@ -14794,7 +14804,7 @@ const vTooltip = {
|
|
|
14794
14804
|
return binding.arg === "ellipsis" ? { class: "text-ellipsis" } : {};
|
|
14795
14805
|
}
|
|
14796
14806
|
};
|
|
14797
|
-
const Tooltip = withInstall(_sfc_main$
|
|
14807
|
+
const Tooltip = withInstall(_sfc_main$2F, Object.assign(_sfc_main$2F, {
|
|
14798
14808
|
directive: vTooltip
|
|
14799
14809
|
}), {
|
|
14800
14810
|
setup: (app) => {
|
|
@@ -14802,8 +14812,8 @@ const Tooltip = withInstall(_sfc_main$2C, Object.assign(_sfc_main$2C, {
|
|
|
14802
14812
|
}
|
|
14803
14813
|
});
|
|
14804
14814
|
const _TooltipComponent = Tooltip;
|
|
14805
|
-
const _hoisted_1$
|
|
14806
|
-
const _sfc_main$
|
|
14815
|
+
const _hoisted_1$1k = ["tabindex", "role"];
|
|
14816
|
+
const _sfc_main$2E = /* @__PURE__ */ vue.defineComponent({
|
|
14807
14817
|
...{ name: createNamespace$1("selection-tag-label").name },
|
|
14808
14818
|
__name: "SelectionTagLabel",
|
|
14809
14819
|
props: { disabled: Boolean },
|
|
@@ -14884,16 +14894,16 @@ const _sfc_main$2B = /* @__PURE__ */ vue.defineComponent({
|
|
|
14884
14894
|
onKeydown: handleKeydown
|
|
14885
14895
|
}, [
|
|
14886
14896
|
vue.renderSlot(_ctx.$slots, "default")
|
|
14887
|
-
], 42, _hoisted_1$
|
|
14897
|
+
], 42, _hoisted_1$1k)
|
|
14888
14898
|
]),
|
|
14889
14899
|
_: 3
|
|
14890
14900
|
}, 8, ["open", "content", "disabled"]);
|
|
14891
14901
|
};
|
|
14892
14902
|
}
|
|
14893
14903
|
});
|
|
14894
|
-
const _hoisted_1$
|
|
14904
|
+
const _hoisted_1$1j = ["id", "value", "placeholder", "disabled", "readonly", "aria-expanded", "aria-invalid", "aria-describedby", "aria-busy", "aria-autocomplete"];
|
|
14895
14905
|
const _hoisted_2$z = ["tabindex", "disabled", "aria-label", "aria-expanded", "aria-haspopup", "aria-controls"];
|
|
14896
|
-
const _sfc_main$
|
|
14906
|
+
const _sfc_main$2D = /* @__PURE__ */ vue.defineComponent({
|
|
14897
14907
|
...{ name: createNamespace$1("selection-field").name, inheritAttrs: false },
|
|
14898
14908
|
__name: "SelectionField",
|
|
14899
14909
|
props: selectionFieldProps,
|
|
@@ -15000,7 +15010,7 @@ const _sfc_main$2A = /* @__PURE__ */ vue.defineComponent({
|
|
|
15000
15010
|
}
|
|
15001
15011
|
__expose({ inputRef, focus, blur });
|
|
15002
15012
|
return (_ctx, _cache) => {
|
|
15003
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
15013
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$2$, vue.mergeProps(decoration.value, {
|
|
15004
15014
|
"decorative-hint": "",
|
|
15005
15015
|
class: vue.unref(classes2)(
|
|
15006
15016
|
vue.unref(n2)(),
|
|
@@ -15063,7 +15073,7 @@ const _sfc_main$2A = /* @__PURE__ */ vue.defineComponent({
|
|
|
15063
15073
|
onClose: ($event) => remove(item)
|
|
15064
15074
|
}), {
|
|
15065
15075
|
default: vue.withCtx(() => [
|
|
15066
|
-
_ctx.tagNowrap || item.tagProps?.nowrap ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
15076
|
+
_ctx.tagNowrap || item.tagProps?.nowrap ? (vue.openBlock(), vue.createBlock(_sfc_main$2E, {
|
|
15067
15077
|
key: 0,
|
|
15068
15078
|
disabled: _ctx.disabled
|
|
15069
15079
|
}, {
|
|
@@ -15139,7 +15149,7 @@ const _sfc_main$2A = /* @__PURE__ */ vue.defineComponent({
|
|
|
15139
15149
|
onCompositionstart: _cache[2] || (_cache[2] = ($event) => composing.value = true),
|
|
15140
15150
|
onCompositionend: handleCompositionEnd,
|
|
15141
15151
|
onKeydown: handleKeydown
|
|
15142
|
-
}), null, 16, _hoisted_1$
|
|
15152
|
+
}), null, 16, _hoisted_1$1j)
|
|
15143
15153
|
], 6)
|
|
15144
15154
|
]),
|
|
15145
15155
|
_: 2
|
|
@@ -15533,6 +15543,7 @@ function useSelectController(props2, { emit }) {
|
|
|
15533
15543
|
() => props2.modelValue !== void 0 ? props2.modelValue : _value.value
|
|
15534
15544
|
);
|
|
15535
15545
|
const deferred = vue.computed(() => editMode.value !== "direct");
|
|
15546
|
+
const needConfirm = vue.computed(() => props2.needConfirm ?? props2.multiple);
|
|
15536
15547
|
const publish = (value) => {
|
|
15537
15548
|
_value.value = value;
|
|
15538
15549
|
emit("update:modelValue", value);
|
|
@@ -15754,6 +15765,10 @@ function useSelectController(props2, { emit }) {
|
|
|
15754
15765
|
handleOpenChange(false);
|
|
15755
15766
|
}
|
|
15756
15767
|
}
|
|
15768
|
+
nativeOwner?.onSelect?.(ev);
|
|
15769
|
+
if (deferred.value && !needConfirm.value) {
|
|
15770
|
+
void session.commit(ev);
|
|
15771
|
+
}
|
|
15757
15772
|
};
|
|
15758
15773
|
const handleSearch = useFieldSearch(
|
|
15759
15774
|
() => props2.searchDelay,
|
|
@@ -15793,6 +15808,9 @@ function useSelectController(props2, { emit }) {
|
|
|
15793
15808
|
}
|
|
15794
15809
|
const newKeys = computedValueObjects.value.map((item) => item.key).filter((_key) => _key !== key);
|
|
15795
15810
|
session.update(getValueFromValueKeys(newKeys));
|
|
15811
|
+
if (deferred.value && !needConfirm.value) {
|
|
15812
|
+
void session.commit();
|
|
15813
|
+
}
|
|
15796
15814
|
emit("remove", optionInfo?.value);
|
|
15797
15815
|
};
|
|
15798
15816
|
const clearSelection = (e) => {
|
|
@@ -15817,6 +15835,7 @@ function useSelectController(props2, { emit }) {
|
|
|
15817
15835
|
clearedValue = [];
|
|
15818
15836
|
}
|
|
15819
15837
|
session.update(clearedValue);
|
|
15838
|
+
if (deferred.value && !needConfirm.value) void session.commit();
|
|
15820
15839
|
updateInputValue("");
|
|
15821
15840
|
if (!deferred.value) {
|
|
15822
15841
|
eventHandlers.value?.onClear?.();
|
|
@@ -15922,7 +15941,9 @@ function useSelectController(props2, { emit }) {
|
|
|
15922
15941
|
props: vue.shallowReactive(props2),
|
|
15923
15942
|
listboxId,
|
|
15924
15943
|
activeDescendant: vue.computed(() => computedOpen.value && !loading.value && activeKey.value && enabledOptionKeys.value.includes(activeKey.value) && (optionRefs.value[activeKey.value] || !props2.virtualListProps && optionInfoMap.get(activeKey.value)?.ref) ? getOptionId(activeKey.value) : void 0),
|
|
15925
|
-
provideNativeEditorOwner: () => vue.provide(selectNativeEditorOwner, { source, selectedOptions: _selectedOption
|
|
15944
|
+
provideNativeEditorOwner: () => vue.provide(selectNativeEditorOwner, { source, selectedOptions: _selectedOption, onSelect: (event) => {
|
|
15945
|
+
if (!needConfirm.value) void session.commit(event);
|
|
15946
|
+
} }),
|
|
15926
15947
|
loading,
|
|
15927
15948
|
refresh: source.refresh,
|
|
15928
15949
|
registerPresentation: presentationState.register,
|
|
@@ -15968,7 +15989,8 @@ function useSelectController(props2, { emit }) {
|
|
|
15968
15989
|
handleDropdownReachBottom,
|
|
15969
15990
|
session,
|
|
15970
15991
|
deferred,
|
|
15971
|
-
canConfirm
|
|
15992
|
+
canConfirm,
|
|
15993
|
+
needConfirm
|
|
15972
15994
|
};
|
|
15973
15995
|
}
|
|
15974
15996
|
function _isSlot$b(s) {
|
|
@@ -16027,7 +16049,7 @@ const Select$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
16027
16049
|
controller.handleKeyDown(event);
|
|
16028
16050
|
}
|
|
16029
16051
|
};
|
|
16030
|
-
const renderEditor = () => vue.createVNode(_sfc_main$
|
|
16052
|
+
const renderEditor = () => vue.createVNode(_sfc_main$2I, {
|
|
16031
16053
|
"open": controller.computedOpen,
|
|
16032
16054
|
"multiple": props2.multiple,
|
|
16033
16055
|
"items": controller.selectedItems.map((item) => ({
|
|
@@ -16042,7 +16064,7 @@ const Select$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
16042
16064
|
"onRemove": (key) => controller.handleRemove(String(key)),
|
|
16043
16065
|
"onClear": controller.clearSelection
|
|
16044
16066
|
}, {
|
|
16045
|
-
default: () => [(props2.filterable || props2.creatable) && vue.createVNode(
|
|
16067
|
+
default: () => [(props2.filterable || props2.creatable) && vue.createVNode(SearchInput, {
|
|
16046
16068
|
"modelValue": controller.computedInputValue,
|
|
16047
16069
|
"editMode": "direct",
|
|
16048
16070
|
"hint": false,
|
|
@@ -16075,14 +16097,14 @@ const Select$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
16075
16097
|
style,
|
|
16076
16098
|
...restAttrs
|
|
16077
16099
|
} = attrs;
|
|
16078
|
-
const Presentation = _sfc_main$
|
|
16100
|
+
const Presentation = _sfc_main$2H;
|
|
16079
16101
|
const text = controller.fieldItems.map((item) => {
|
|
16080
16102
|
const raw = controller.optionInfoMap.get(String(item.key))?.raw;
|
|
16081
16103
|
const formatted = raw && isFunction(props2.formatLabel) ? props2.formatLabel(raw) : item.label;
|
|
16082
16104
|
return String(typeof formatted === "string" || typeof formatted === "number" ? formatted : item.label ?? "");
|
|
16083
16105
|
}).join(props2.separator);
|
|
16084
16106
|
if (controller.editMode !== "direct" || controller.readPretty) {
|
|
16085
|
-
return vue.createVNode(_sfc_main$
|
|
16107
|
+
return vue.createVNode(_sfc_main$32, vue.mergeProps({
|
|
16086
16108
|
"loading": controller.loading,
|
|
16087
16109
|
"ref": presentationRef,
|
|
16088
16110
|
"style": props2.textAlign ? {
|
|
@@ -16108,7 +16130,7 @@ const Select$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
16108
16130
|
"disabled": controller.mergedDisabled,
|
|
16109
16131
|
"readonly": controller.mergedReadonly,
|
|
16110
16132
|
"limit": props2.limit,
|
|
16111
|
-
"needConfirm": controller.deferred,
|
|
16133
|
+
"needConfirm": controller.deferred && controller.needConfirm,
|
|
16112
16134
|
"pending": controller.session.pending,
|
|
16113
16135
|
"error": controller.session.error || controller.presentationError,
|
|
16114
16136
|
"onOpen": controller.handleOpenChange,
|
|
@@ -16131,7 +16153,7 @@ const Select$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
16131
16153
|
editMode: "direct",
|
|
16132
16154
|
readPretty: false,
|
|
16133
16155
|
beforeCommit: void 0,
|
|
16134
|
-
open: void 0,
|
|
16156
|
+
open: controller.needConfirm ? void 0 : true,
|
|
16135
16157
|
defaultOpen: true,
|
|
16136
16158
|
modelValue: controller.session.value,
|
|
16137
16159
|
disabled: controller.mergedDisabled || controller.session.pending,
|
|
@@ -16140,9 +16162,15 @@ const Select$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
16140
16162
|
onKeydown: (event) => emit("keydown", event),
|
|
16141
16163
|
onSearch: (...args) => emit("search", ...args),
|
|
16142
16164
|
onChange: () => {
|
|
16165
|
+
},
|
|
16166
|
+
onClear: () => {
|
|
16167
|
+
if (!controller.needConfirm) void controller.session.commit();
|
|
16168
|
+
},
|
|
16169
|
+
onRemove: () => {
|
|
16170
|
+
if (!controller.needConfirm) void controller.session.commit();
|
|
16143
16171
|
}
|
|
16144
16172
|
}, slots)
|
|
16145
|
-
}) : vue.createVNode(_sfc_main$
|
|
16173
|
+
}) : vue.createVNode(_sfc_main$31, {
|
|
16146
16174
|
"kind": "select"
|
|
16147
16175
|
}, _isSlot$b(_slot = renderEditor()) ? _slot : {
|
|
16148
16176
|
default: () => [_slot]
|
|
@@ -16153,7 +16181,7 @@ const Select$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
16153
16181
|
return vue.createVNode(Presentation, {
|
|
16154
16182
|
"controller": controller
|
|
16155
16183
|
}, {
|
|
16156
|
-
default: () => vue.createVNode(_sfc_main$
|
|
16184
|
+
default: () => vue.createVNode(_sfc_main$2I, {
|
|
16157
16185
|
"open": controller.computedOpen,
|
|
16158
16186
|
"multiple": props2.multiple,
|
|
16159
16187
|
"items": controller.selectedItems.map((item) => ({
|
|
@@ -16175,7 +16203,7 @@ const Select$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
16175
16203
|
reference: () => slots.trigger?.() ?? vue.createVNode("div", {
|
|
16176
16204
|
"class": [classes2(n2()), className],
|
|
16177
16205
|
"style": style
|
|
16178
|
-
}, [vue.createVNode(_sfc_main$
|
|
16206
|
+
}, [vue.createVNode(_sfc_main$2D, vue.mergeProps({
|
|
16179
16207
|
"ref": fieldRef,
|
|
16180
16208
|
"openTriggerTarget": props2.openTriggerTarget,
|
|
16181
16209
|
"showTags": props2.showTags,
|
|
@@ -16224,7 +16252,7 @@ const Select$1 = /* @__PURE__ */ vue.defineComponent({
|
|
|
16224
16252
|
"arrow-icon": slots["arrow-icon"],
|
|
16225
16253
|
"loading-icon": slots["loading-icon"],
|
|
16226
16254
|
"search-icon": slots["search-icon"],
|
|
16227
|
-
suffix: () => slots.suffix?.() ?? (controller.feedback ? vue.createVNode(_sfc_main$
|
|
16255
|
+
suffix: () => slots.suffix?.() ?? (controller.feedback ? vue.createVNode(_sfc_main$2_, {
|
|
16228
16256
|
"status": controller.feedback
|
|
16229
16257
|
}, null) : null),
|
|
16230
16258
|
"clear-icon": slots["clear-icon"]
|
|
@@ -16672,8 +16700,8 @@ function useRadioRegistration(navigation, item) {
|
|
|
16672
16700
|
vue.onScopeDispose(stop);
|
|
16673
16701
|
return vue.computed(() => navigation ? navigation.tabIndex(item) : item.disabled() ? void 0 : 0);
|
|
16674
16702
|
}
|
|
16675
|
-
const _hoisted_1$
|
|
16676
|
-
const _sfc_main$
|
|
16703
|
+
const _hoisted_1$1i = ["name", "value", "checked", "disabled", "tabindex", "aria-label", "aria-readonly", "aria-describedby", "aria-invalid"];
|
|
16704
|
+
const _sfc_main$2C = /* @__PURE__ */ vue.defineComponent({
|
|
16677
16705
|
...{ name: createNamespace$1("radio").name, inheritAttrs: false },
|
|
16678
16706
|
__name: "radio",
|
|
16679
16707
|
props: radioProps,
|
|
@@ -16819,7 +16847,7 @@ const _sfc_main$2z = /* @__PURE__ */ vue.defineComponent({
|
|
|
16819
16847
|
(...args) => vue.unref(keyboard).keyup && vue.unref(keyboard).keyup(...args)),
|
|
16820
16848
|
onFocus: handleFocus,
|
|
16821
16849
|
onBlur: handleBlur
|
|
16822
|
-
}), null, 16, _hoisted_1$
|
|
16850
|
+
}), null, 16, _hoisted_1$1i),
|
|
16823
16851
|
variant.value === "button" ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
16824
16852
|
key: 0,
|
|
16825
16853
|
class: vue.normalizeClass(vue.unref(n2)("button-label"))
|
|
@@ -16868,9 +16896,9 @@ const _sfc_main$2z = /* @__PURE__ */ vue.defineComponent({
|
|
|
16868
16896
|
};
|
|
16869
16897
|
}
|
|
16870
16898
|
});
|
|
16871
|
-
const _Radio = withFieldPresentation(_sfc_main$
|
|
16872
|
-
const _hoisted_1$
|
|
16873
|
-
const _sfc_main$
|
|
16899
|
+
const _Radio = withFieldPresentation(_sfc_main$2C, { methods: ["select", "focus", "blur"] });
|
|
16900
|
+
const _hoisted_1$1h = ["aria-describedby", "aria-busy", "aria-label", "aria-disabled", "aria-readonly", "aria-invalid"];
|
|
16901
|
+
const _sfc_main$2B = /* @__PURE__ */ vue.defineComponent({
|
|
16874
16902
|
...{ name: createNamespace$1("radio-group").name, inheritAttrs: false },
|
|
16875
16903
|
__name: "radio-group",
|
|
16876
16904
|
props: radioGroupProps,
|
|
@@ -16952,11 +16980,11 @@ const _sfc_main$2y = /* @__PURE__ */ vue.defineComponent({
|
|
|
16952
16980
|
_: 2
|
|
16953
16981
|
}, 1032, ["value", "disabled", "readonly"]);
|
|
16954
16982
|
}), 128)) : vue.renderSlot(_ctx.$slots, "default", { key: 1 })
|
|
16955
|
-
], 16, _hoisted_1$
|
|
16983
|
+
], 16, _hoisted_1$1h);
|
|
16956
16984
|
};
|
|
16957
16985
|
}
|
|
16958
16986
|
});
|
|
16959
|
-
const RadioGroup = withFieldPresentation(_sfc_main$
|
|
16987
|
+
const RadioGroup = withFieldPresentation(_sfc_main$2B, { text: optionValueText });
|
|
16960
16988
|
const Radio = withInstall(
|
|
16961
16989
|
_Radio,
|
|
16962
16990
|
Object.assign(_Radio, {
|
|
@@ -17510,7 +17538,7 @@ const iconProps = {
|
|
|
17510
17538
|
};
|
|
17511
17539
|
const registeredPrefix = "C";
|
|
17512
17540
|
const spinClass = "c-icon-spin";
|
|
17513
|
-
const _sfc_main$
|
|
17541
|
+
const _sfc_main$2A = /* @__PURE__ */ vue.defineComponent({
|
|
17514
17542
|
...{
|
|
17515
17543
|
name: createNamespace$1("icon").name
|
|
17516
17544
|
},
|
|
@@ -17655,7 +17683,7 @@ const _sfc_main$2x = /* @__PURE__ */ vue.defineComponent({
|
|
|
17655
17683
|
};
|
|
17656
17684
|
}
|
|
17657
17685
|
});
|
|
17658
|
-
const Icon = withInstall(_sfc_main$
|
|
17686
|
+
const Icon = withInstall(_sfc_main$2A);
|
|
17659
17687
|
const _IconComponent = Icon;
|
|
17660
17688
|
const cardVariants = ["default", "outline", "tonal"];
|
|
17661
17689
|
const cardSizes = ["sm", "md"];
|
|
@@ -17770,8 +17798,8 @@ const dividerProps = {
|
|
|
17770
17798
|
validator: process.env.NODE_ENV !== "production" ? isValidDividerOpacity : void 0
|
|
17771
17799
|
}
|
|
17772
17800
|
};
|
|
17773
|
-
const _hoisted_1$
|
|
17774
|
-
const _sfc_main$
|
|
17801
|
+
const _hoisted_1$1g = ["aria-orientation"];
|
|
17802
|
+
const _sfc_main$2z = /* @__PURE__ */ vue.defineComponent({
|
|
17775
17803
|
...{ name: createNamespace$1("divider").name },
|
|
17776
17804
|
__name: "Divider",
|
|
17777
17805
|
props: dividerProps,
|
|
@@ -17876,11 +17904,11 @@ const _sfc_main$2w = /* @__PURE__ */ vue.defineComponent({
|
|
|
17876
17904
|
class: vue.normalizeClass(vue.unref(n2)("text"))
|
|
17877
17905
|
}, vue.toDisplayString(_ctx.description), 3)) : vue.createCommentVNode("", true)
|
|
17878
17906
|
])
|
|
17879
|
-
], 14, _hoisted_1$
|
|
17907
|
+
], 14, _hoisted_1$1g);
|
|
17880
17908
|
};
|
|
17881
17909
|
}
|
|
17882
17910
|
});
|
|
17883
|
-
const Divider = withInstall(_sfc_main$
|
|
17911
|
+
const Divider = withInstall(_sfc_main$2z, Object.assign(_sfc_main$2z, {}), { components: [_sfc_main$2z] });
|
|
17884
17912
|
const _DividerComponent = Divider;
|
|
17885
17913
|
function useCardSize(size) {
|
|
17886
17914
|
const { mergedSize } = useSize$1(vue.computed(size));
|
|
@@ -17890,11 +17918,11 @@ function useCardCloseLabel() {
|
|
|
17890
17918
|
const { t } = useI18n();
|
|
17891
17919
|
return vue.computed(() => t("common.close"));
|
|
17892
17920
|
}
|
|
17893
|
-
const _hoisted_1$
|
|
17921
|
+
const _hoisted_1$1f = ["src", "alt"];
|
|
17894
17922
|
const _hoisted_2$y = ["inert", "aria-hidden"];
|
|
17895
|
-
const _hoisted_3$
|
|
17923
|
+
const _hoisted_3$k = ["inert", "aria-hidden"];
|
|
17896
17924
|
const RIPPLE_DELAY = 500;
|
|
17897
|
-
const _sfc_main$
|
|
17925
|
+
const _sfc_main$2y = /* @__PURE__ */ vue.defineComponent({
|
|
17898
17926
|
...{ name: createNamespace$1("card").name },
|
|
17899
17927
|
__name: "Card",
|
|
17900
17928
|
props: cardProps,
|
|
@@ -17970,6 +17998,29 @@ const _sfc_main$2v = /* @__PURE__ */ vue.defineComponent({
|
|
|
17970
17998
|
const { onStackTop } = usePopupLayer(wantsFloating, zIndex, () => card.value?.ownerDocument, true);
|
|
17971
17999
|
const available2 = () => active && !disposed;
|
|
17972
18000
|
let openingWaiting = false;
|
|
18001
|
+
let cancelOpeningFrames;
|
|
18002
|
+
function waitForOwnerFrames(view) {
|
|
18003
|
+
cancelOpeningFrames?.();
|
|
18004
|
+
return new Promise((resolve) => {
|
|
18005
|
+
let handle;
|
|
18006
|
+
let settled = false;
|
|
18007
|
+
const finish = (completed) => {
|
|
18008
|
+
if (settled) return;
|
|
18009
|
+
settled = true;
|
|
18010
|
+
if (cancelOpeningFrames === cancel) cancelOpeningFrames = void 0;
|
|
18011
|
+
resolve(completed);
|
|
18012
|
+
};
|
|
18013
|
+
const cancel = () => {
|
|
18014
|
+
if (handle !== void 0) view.cancelAnimationFrame?.(handle);
|
|
18015
|
+
finish(false);
|
|
18016
|
+
};
|
|
18017
|
+
cancelOpeningFrames = cancel;
|
|
18018
|
+
handle = view.requestAnimationFrame(() => {
|
|
18019
|
+
if (settled) return;
|
|
18020
|
+
handle = view.requestAnimationFrame(() => finish(true));
|
|
18021
|
+
});
|
|
18022
|
+
});
|
|
18023
|
+
}
|
|
17973
18024
|
let reducedMotion = false;
|
|
17974
18025
|
let stopMotionTracking;
|
|
17975
18026
|
function trackMotion(element2) {
|
|
@@ -18005,6 +18056,7 @@ const _sfc_main$2v = /* @__PURE__ */ vue.defineComponent({
|
|
|
18005
18056
|
wantsFloating,
|
|
18006
18057
|
(value) => {
|
|
18007
18058
|
const token = ++generation;
|
|
18059
|
+
cancelOpeningFrames?.();
|
|
18008
18060
|
if (!active) {
|
|
18009
18061
|
if (!disposed && value) trackInactiveFocus();
|
|
18010
18062
|
else {
|
|
@@ -18035,6 +18087,7 @@ const _sfc_main$2v = /* @__PURE__ */ vue.defineComponent({
|
|
|
18035
18087
|
return;
|
|
18036
18088
|
}
|
|
18037
18089
|
const token = ++generation;
|
|
18090
|
+
cancelOpeningFrames?.();
|
|
18038
18091
|
const element2 = card.value;
|
|
18039
18092
|
let consumed = false;
|
|
18040
18093
|
clearTimeout(floater.value ?? void 0);
|
|
@@ -18061,7 +18114,14 @@ const _sfc_main$2v = /* @__PURE__ */ vue.defineComponent({
|
|
|
18061
18114
|
dropdownFloaterTop = floaterTop.value;
|
|
18062
18115
|
dropdownFloaterLeft = floaterLeft.value;
|
|
18063
18116
|
showFloatingButtons.value = true;
|
|
18064
|
-
if (!reducedMotion)
|
|
18117
|
+
if (!reducedMotion) {
|
|
18118
|
+
const view = element2.ownerDocument.defaultView;
|
|
18119
|
+
if (view && typeof document !== "undefined" && element2.ownerDocument !== document && typeof view.requestAnimationFrame === "function") {
|
|
18120
|
+
if (!await waitForOwnerFrames(view)) return;
|
|
18121
|
+
} else {
|
|
18122
|
+
await sharedVue.doubleRaf();
|
|
18123
|
+
}
|
|
18124
|
+
}
|
|
18065
18125
|
if (!current(token, element2) || !wantsFloating()) {
|
|
18066
18126
|
return;
|
|
18067
18127
|
}
|
|
@@ -18083,6 +18143,7 @@ const _sfc_main$2v = /* @__PURE__ */ vue.defineComponent({
|
|
|
18083
18143
|
return;
|
|
18084
18144
|
}
|
|
18085
18145
|
const token = ++generation;
|
|
18146
|
+
cancelOpeningFrames?.();
|
|
18086
18147
|
const element2 = card.value;
|
|
18087
18148
|
let consumed = false;
|
|
18088
18149
|
clearTimeout(dropper);
|
|
@@ -18171,6 +18232,7 @@ const _sfc_main$2v = /* @__PURE__ */ vue.defineComponent({
|
|
|
18171
18232
|
}
|
|
18172
18233
|
});
|
|
18173
18234
|
function cleanup() {
|
|
18235
|
+
cancelOpeningFrames?.();
|
|
18174
18236
|
openingWaiting = false;
|
|
18175
18237
|
active = false;
|
|
18176
18238
|
generation++;
|
|
@@ -18227,7 +18289,7 @@ const _sfc_main$2v = /* @__PURE__ */ vue.defineComponent({
|
|
|
18227
18289
|
}),
|
|
18228
18290
|
src: _ctx.src,
|
|
18229
18291
|
alt: _ctx.alt
|
|
18230
|
-
}, null, 14, _hoisted_1$
|
|
18292
|
+
}, null, 14, _hoisted_1$1f)) : vue.createCommentVNode("", true)
|
|
18231
18293
|
]),
|
|
18232
18294
|
vue.createElementVNode("div", {
|
|
18233
18295
|
class: vue.normalizeClass(vue.unref(n2)("container"))
|
|
@@ -18316,7 +18378,7 @@ const _sfc_main$2v = /* @__PURE__ */ vue.defineComponent({
|
|
|
18316
18378
|
})
|
|
18317
18379
|
}, [
|
|
18318
18380
|
vue.renderSlot(_ctx.$slots, "close-button", {}, () => [
|
|
18319
|
-
vue.createVNode(vue.unref(Button), {
|
|
18381
|
+
vue.createVNode(vue.unref(Button$1), {
|
|
18320
18382
|
"data-card-cover": "",
|
|
18321
18383
|
class: vue.normalizeClass(vue.unref(classes2)(vue.unref(n2)("close-button"), vue.unref(n2)("$-elevation--6"))),
|
|
18322
18384
|
"aria-label": props2.closeButtonAriaLabel ?? vue.unref(closeLabel),
|
|
@@ -18336,7 +18398,7 @@ const _sfc_main$2v = /* @__PURE__ */ vue.defineComponent({
|
|
|
18336
18398
|
_: 1
|
|
18337
18399
|
}, 8, ["class", "aria-label"])
|
|
18338
18400
|
])
|
|
18339
|
-
], 14, _hoisted_3$
|
|
18401
|
+
], 14, _hoisted_3$k)) : vue.createCommentVNode("", true)
|
|
18340
18402
|
], 38),
|
|
18341
18403
|
vue.createElementVNode("div", {
|
|
18342
18404
|
class: vue.normalizeClass(vue.unref(n2)("holder")),
|
|
@@ -18351,7 +18413,7 @@ const _sfc_main$2v = /* @__PURE__ */ vue.defineComponent({
|
|
|
18351
18413
|
};
|
|
18352
18414
|
}
|
|
18353
18415
|
});
|
|
18354
|
-
const Card = withInstall(_sfc_main$
|
|
18416
|
+
const Card = withInstall(_sfc_main$2y, Object.assign(_sfc_main$2y, {}), { components: [_sfc_main$2y] });
|
|
18355
18417
|
const _CardComponent = Card;
|
|
18356
18418
|
const carouselInjectionKey = Symbol("Carousel");
|
|
18357
18419
|
function normalizeIndex(value, length, loop = false) {
|
|
@@ -18469,7 +18531,7 @@ function useCarouselLocale() {
|
|
|
18469
18531
|
goto: (index) => String(t("carousel.goto")).replace("{index}", String(index))
|
|
18470
18532
|
}));
|
|
18471
18533
|
}
|
|
18472
|
-
const _sfc_main$
|
|
18534
|
+
const _sfc_main$2x = /* @__PURE__ */ vue.defineComponent({
|
|
18473
18535
|
...{ name: createNamespace$1("carousel").name, inheritAttrs: false },
|
|
18474
18536
|
__name: "carousel",
|
|
18475
18537
|
props: carouselProps,
|
|
@@ -19197,8 +19259,8 @@ const _sfc_main$2u = /* @__PURE__ */ vue.defineComponent({
|
|
|
19197
19259
|
};
|
|
19198
19260
|
}
|
|
19199
19261
|
});
|
|
19200
|
-
const _hoisted_1$
|
|
19201
|
-
const _sfc_main$
|
|
19262
|
+
const _hoisted_1$1e = ["aria-label", "aria-hidden", "inert"];
|
|
19263
|
+
const _sfc_main$2w = /* @__PURE__ */ vue.defineComponent({
|
|
19202
19264
|
...{ name: createNamespace$1("carousel-item").name },
|
|
19203
19265
|
__name: "CarouselItem",
|
|
19204
19266
|
props: carouselItemProps,
|
|
@@ -19235,15 +19297,15 @@ const _sfc_main$2t = /* @__PURE__ */ vue.defineComponent({
|
|
|
19235
19297
|
tabindex: "-1"
|
|
19236
19298
|
}, [
|
|
19237
19299
|
vue.renderSlot(_ctx.$slots, "default")
|
|
19238
|
-
], 14, _hoisted_1$
|
|
19300
|
+
], 14, _hoisted_1$1e);
|
|
19239
19301
|
};
|
|
19240
19302
|
}
|
|
19241
19303
|
});
|
|
19242
|
-
const Carousel = withInstall(_sfc_main$
|
|
19243
|
-
components: [_sfc_main$
|
|
19304
|
+
const Carousel = withInstall(_sfc_main$2x, Object.assign(_sfc_main$2x, { Item: _sfc_main$2w }), {
|
|
19305
|
+
components: [_sfc_main$2x, _sfc_main$2w]
|
|
19244
19306
|
});
|
|
19245
19307
|
const _CarouselComponent = Carousel;
|
|
19246
|
-
const _CarouselItemComponent = _sfc_main$
|
|
19308
|
+
const _CarouselItemComponent = _sfc_main$2w;
|
|
19247
19309
|
const checkboxGroupKey = Symbol("CheckboxGroup");
|
|
19248
19310
|
const checkboxProps = {
|
|
19249
19311
|
...fieldPresentationProps,
|
|
@@ -19344,10 +19406,10 @@ function useChoiceForm(props2) {
|
|
|
19344
19406
|
error: vue.toRef(props2, "error")
|
|
19345
19407
|
});
|
|
19346
19408
|
}
|
|
19347
|
-
const _hoisted_1$
|
|
19409
|
+
const _hoisted_1$1d = ["aria-disabled"];
|
|
19348
19410
|
const _hoisted_2$x = ["name", "value", "checked", "indeterminate", "disabled", "aria-label", "aria-readonly", "aria-describedby", "aria-invalid"];
|
|
19349
|
-
const _hoisted_3$
|
|
19350
|
-
const _sfc_main$
|
|
19411
|
+
const _hoisted_3$j = ["aria-hidden"];
|
|
19412
|
+
const _sfc_main$2v = /* @__PURE__ */ vue.defineComponent({
|
|
19351
19413
|
...{ name: createNamespace$1("checkbox").name, inheritAttrs: false },
|
|
19352
19414
|
__name: "checkbox",
|
|
19353
19415
|
props: checkboxProps,
|
|
@@ -19527,7 +19589,7 @@ const _sfc_main$2s = /* @__PURE__ */ vue.defineComponent({
|
|
|
19527
19589
|
}, null, 2)
|
|
19528
19590
|
])
|
|
19529
19591
|
], 64))
|
|
19530
|
-
], 10, _hoisted_3$
|
|
19592
|
+
], 10, _hoisted_3$j)), [
|
|
19531
19593
|
[vue.unref(Ripple), { disabled: mergedDisabled.value || mergedReadonly.value || !_ctx.ripple }]
|
|
19532
19594
|
]),
|
|
19533
19595
|
_ctx.$slots.default ? (vue.openBlock(), vue.createElementBlock("span", {
|
|
@@ -19536,115 +19598,12 @@ const _sfc_main$2s = /* @__PURE__ */ vue.defineComponent({
|
|
|
19536
19598
|
}, [
|
|
19537
19599
|
vue.renderSlot(_ctx.$slots, "default", { checked: vue.unref(checked) })
|
|
19538
19600
|
], 2)) : vue.createCommentVNode("", true)
|
|
19539
|
-
], 16, _hoisted_1$
|
|
19540
|
-
};
|
|
19541
|
-
}
|
|
19542
|
-
});
|
|
19543
|
-
const _Checkbox = withFieldPresentation(_sfc_main$2s, { methods: ["toggle", "focus", "blur"] });
|
|
19544
|
-
const _hoisted_1$1b = ["aria-describedby", "aria-busy", "aria-label", "aria-disabled"];
|
|
19545
|
-
const _sfc_main$2r = /* @__PURE__ */ vue.defineComponent({
|
|
19546
|
-
...{ name: createNamespace$1("checkbox-group").name, inheritAttrs: false },
|
|
19547
|
-
__name: "checkbox-group",
|
|
19548
|
-
props: checkboxGroupProps,
|
|
19549
|
-
emits: ["update:open", "open-change", "load-error", "update:modelValue", "change"],
|
|
19550
|
-
setup(__props, { expose: __expose, emit: __emit }) {
|
|
19551
|
-
const { n: n2, classes: classes2 } = createNamespace$1("checkbox-group");
|
|
19552
|
-
const props2 = __props;
|
|
19553
|
-
const { errorId, describe: describeError } = useFormErrorDescription();
|
|
19554
|
-
const resolvedOrientation = vue.computed(() => props2.orientation === "vertical" ? "vertical" : "horizontal");
|
|
19555
|
-
const slots = vue.useSlots();
|
|
19556
|
-
const emit = __emit;
|
|
19557
|
-
const { mergedDisabled, mergedReadonly, mergedError, eventHandlers } = useChoiceForm(props2);
|
|
19558
|
-
const source = useOptionRequest(
|
|
19559
|
-
() => props2.options,
|
|
19560
|
-
() => mergedDisabled.value || mergedReadonly.value || !!props2.readPretty,
|
|
19561
|
-
(error) => emit("load-error", error),
|
|
19562
|
-
() => 0,
|
|
19563
|
-
checkboxGroupProps
|
|
19564
|
-
);
|
|
19565
|
-
const { value: computedValue, commit: handleChange } = useChoiceState(
|
|
19566
|
-
() => props2.modelValue === null ? [] : props2.modelValue,
|
|
19567
|
-
props2.defaultValue,
|
|
19568
|
-
(value, event) => {
|
|
19569
|
-
emit("update:modelValue", value);
|
|
19570
|
-
emit("change", value, event);
|
|
19571
|
-
eventHandlers.value?.onChange?.(event);
|
|
19572
|
-
},
|
|
19573
|
-
() => mergedDisabled.value || mergedReadonly.value
|
|
19574
|
-
);
|
|
19575
|
-
const normalizedOptions = vue.computed(() => normalizeChoiceOptions(source.options.value, props2.fieldNames));
|
|
19576
|
-
const isMaxed = vue.computed(() => computedValue.value.length >= choiceLimit(props2.max));
|
|
19577
|
-
const { register: registerChoice, methods: methods2 } = useCheckboxGroupMethods(
|
|
19578
|
-
() => computedValue.value,
|
|
19579
|
-
handleChange,
|
|
19580
|
-
() => mergedDisabled.value || mergedReadonly.value,
|
|
19581
|
-
() => props2.max
|
|
19582
|
-
);
|
|
19583
|
-
vue.provide(
|
|
19584
|
-
checkboxGroupKey,
|
|
19585
|
-
vue.reactive({
|
|
19586
|
-
registerChoice,
|
|
19587
|
-
computedValue,
|
|
19588
|
-
disabled: mergedDisabled,
|
|
19589
|
-
readonly: mergedReadonly,
|
|
19590
|
-
error: mergedError,
|
|
19591
|
-
formErrorId: errorId,
|
|
19592
|
-
isMaxed,
|
|
19593
|
-
name: vue.computed(() => props2.name),
|
|
19594
|
-
slots,
|
|
19595
|
-
handleChange
|
|
19596
|
-
})
|
|
19597
|
-
);
|
|
19598
|
-
__expose(methods2);
|
|
19599
|
-
return (_ctx, _cache) => {
|
|
19600
|
-
return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps(_ctx.$attrs, {
|
|
19601
|
-
"aria-describedby": vue.unref(describeError)(_ctx.$attrs["aria-describedby"]),
|
|
19602
|
-
class: vue.unref(classes2)(vue.unref(n2)(), vue.unref(n2)(`--${resolvedOrientation.value}`)),
|
|
19603
|
-
"aria-busy": vue.unref(source).loading.value || void 0,
|
|
19604
|
-
role: "group",
|
|
19605
|
-
"aria-label": _ctx.ariaLabel,
|
|
19606
|
-
"aria-disabled": vue.unref(mergedDisabled) || void 0
|
|
19607
|
-
}), [
|
|
19608
|
-
props2.options !== void 0 ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(normalizedOptions.value, (option2) => {
|
|
19609
|
-
return vue.openBlock(), vue.createBlock(vue.unref(_Checkbox), {
|
|
19610
|
-
key: `${typeof option2.value}:${String(option2.value)}`,
|
|
19611
|
-
"edit-mode": "direct",
|
|
19612
|
-
value: option2.value,
|
|
19613
|
-
disabled: option2.disabled,
|
|
19614
|
-
readonly: option2.readonly,
|
|
19615
|
-
indeterminate: option2.indeterminate
|
|
19616
|
-
}, {
|
|
19617
|
-
default: vue.withCtx(({ checked }) => [
|
|
19618
|
-
vue.renderSlot(_ctx.$slots, "label", {
|
|
19619
|
-
data: option2,
|
|
19620
|
-
checked
|
|
19621
|
-
}, () => [
|
|
19622
|
-
vue.createVNode(vue.unref(ChoiceLabel), {
|
|
19623
|
-
content: typeof option2.label === "function" ? option2.label(option2, checked) : option2.label
|
|
19624
|
-
}, null, 8, ["content"])
|
|
19625
|
-
])
|
|
19626
|
-
]),
|
|
19627
|
-
_: 2
|
|
19628
|
-
}, 1032, ["value", "disabled", "readonly", "indeterminate"]);
|
|
19629
|
-
}), 128)) : vue.renderSlot(_ctx.$slots, "default", { key: 1 })
|
|
19630
|
-
], 16, _hoisted_1$1b);
|
|
19601
|
+
], 16, _hoisted_1$1d);
|
|
19631
19602
|
};
|
|
19632
19603
|
}
|
|
19633
19604
|
});
|
|
19634
|
-
const
|
|
19635
|
-
|
|
19636
|
-
methods: ["checkAll", "inverseAll"],
|
|
19637
|
-
inactiveMethod: (_name, value) => Array.isArray(value) ? [...value] : []
|
|
19638
|
-
});
|
|
19639
|
-
const Checkbox = withInstall(
|
|
19640
|
-
_Checkbox,
|
|
19641
|
-
Object.assign(_Checkbox, {
|
|
19642
|
-
Group: CheckboxGroup
|
|
19643
|
-
}),
|
|
19644
|
-
{ components: [_Checkbox, CheckboxGroup] }
|
|
19645
|
-
);
|
|
19646
|
-
const _CheckboxComponent = Checkbox;
|
|
19647
|
-
const _CheckboxGroupComponent = CheckboxGroup;
|
|
19605
|
+
const Checkbox$1 = withFieldPresentation(_sfc_main$2v, { methods: ["toggle", "focus", "blur"] });
|
|
19606
|
+
const _Checkbox = withPropsDefaultsSetter(Checkbox$1, Checkbox$1.props);
|
|
19648
19607
|
const cascaderInjectionKey = Symbol("CedarCascader");
|
|
19649
19608
|
function collectTreeLeaves(nodes, children, disabled = () => false, isLeaf = (node) => !children(node)?.length) {
|
|
19650
19609
|
return nodes.flatMap((node) => disabled(node) ? [] : isLeaf(node) ? [node] : collectTreeLeaves(children(node) ?? [], children, disabled, isLeaf));
|
|
@@ -19794,6 +19753,8 @@ const getValidValues = (value, { multiple, pathMode }) => {
|
|
|
19794
19753
|
const getOptionLabel = (option2) => {
|
|
19795
19754
|
return option2.path.map((item) => item.label).join(" / ");
|
|
19796
19755
|
};
|
|
19756
|
+
const INTERACTIVE_ROLES = /* @__PURE__ */ new Set(["button", "link", "checkbox", "radio", "switch", "textbox", "combobox", "menuitem", "menuitemcheckbox", "menuitemradio", "option", "treeitem", "gridcell", "slider", "spinbutton", "tab"]);
|
|
19757
|
+
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(" "));
|
|
19797
19758
|
function ownsOptionClick(event) {
|
|
19798
19759
|
if (event.defaultPrevented) return false;
|
|
19799
19760
|
const boundary = event.currentTarget;
|
|
@@ -19811,7 +19772,10 @@ function ownsOptionClick(event) {
|
|
|
19811
19772
|
if (item === boundary) break;
|
|
19812
19773
|
const element2 = item;
|
|
19813
19774
|
if (element2?.nodeType !== 1 || typeof element2.matches !== "function") continue;
|
|
19814
|
-
|
|
19775
|
+
const primaryRole = element2.getAttribute("role")?.trim().split(/\s+/).find((role) => CONCRETE_ROLES.has(role));
|
|
19776
|
+
if (primaryRole && INTERACTIVE_ROLES.has(primaryRole)) return false;
|
|
19777
|
+
if (element2.hasAttribute("tabindex") && element2.tabIndex >= 0) return false;
|
|
19778
|
+
if (element2.matches('li[data-cascader-key], button, a[href], input, select, textarea, summary, audio[controls], video[controls], [contenteditable]:not([contenteditable="false"])')) return false;
|
|
19815
19779
|
if (element2.matches("label") && (element2.htmlFor || element2.querySelector("input, button, select, textarea"))) return false;
|
|
19816
19780
|
}
|
|
19817
19781
|
return true;
|
|
@@ -19876,7 +19840,9 @@ const CascaderOption = /* @__PURE__ */ vue.defineComponent({
|
|
|
19876
19840
|
},
|
|
19877
19841
|
onMouseleave: (event) => {
|
|
19878
19842
|
const element2 = event.currentTarget;
|
|
19879
|
-
const
|
|
19843
|
+
const nodeRoot = element2.getRootNode();
|
|
19844
|
+
const focusRoot = "activeElement" in nodeRoot ? nodeRoot : element2.ownerDocument;
|
|
19845
|
+
const focused = focusRoot.activeElement;
|
|
19880
19846
|
let focusedOption = focused?.closest("[data-cascader-key]");
|
|
19881
19847
|
const panelSelector = `.${getPrefixCls("cascader")}-panel, .${getPrefixCls("cascader")}-editor-panel`;
|
|
19882
19848
|
const panel2 = element2.closest(panelSelector);
|
|
@@ -19957,7 +19923,7 @@ const CascaderOption = /* @__PURE__ */ vue.defineComponent({
|
|
|
19957
19923
|
}, events), [props2.multiple && vue.createVNode("span", {
|
|
19958
19924
|
"class": `${prefixCls2}-checkbox`,
|
|
19959
19925
|
"onClick": (event) => event.stopPropagation()
|
|
19960
|
-
}, [vue.createVNode(
|
|
19926
|
+
}, [vue.createVNode(_Checkbox, {
|
|
19961
19927
|
"editMode": "direct",
|
|
19962
19928
|
"uninjectGroupContext": true,
|
|
19963
19929
|
"modelValue": Boolean(checkedStatus.value.checked),
|
|
@@ -19969,9 +19935,7 @@ const CascaderOption = /* @__PURE__ */ vue.defineComponent({
|
|
|
19969
19935
|
if (props2.option.disabled || props2.option.selectionDisabled) {
|
|
19970
19936
|
return;
|
|
19971
19937
|
}
|
|
19972
|
-
const task = handlePathChange(new Event("change"));
|
|
19973
19938
|
cascaderCtx.onClickOption?.(props2.option, Boolean(checked));
|
|
19974
|
-
return task;
|
|
19975
19939
|
}
|
|
19976
19940
|
}, null)]), vue.createVNode("div", {
|
|
19977
19941
|
"class": `${prefixCls2}-label`
|
|
@@ -20342,9 +20306,11 @@ function useCascaderFocus(activeKey) {
|
|
|
20342
20306
|
vue.onBeforeUnmount(() => cancelPendingFocus?.());
|
|
20343
20307
|
return (root, option2, originPanel, panelSelector) => {
|
|
20344
20308
|
const key = activeKey.value;
|
|
20345
|
-
if (!key || !root.contains(option2) || root.ownerDocument.activeElement !== option2) return;
|
|
20346
|
-
cancelPendingFocus?.();
|
|
20347
20309
|
const document2 = root.ownerDocument;
|
|
20310
|
+
const nodeRoot = root.getRootNode();
|
|
20311
|
+
const focusRoot = "activeElement" in nodeRoot ? nodeRoot : document2;
|
|
20312
|
+
if (!key || !root.contains(option2) || focusRoot.activeElement !== option2) return;
|
|
20313
|
+
cancelPendingFocus?.();
|
|
20348
20314
|
const view = document2.defaultView;
|
|
20349
20315
|
if (!view) return;
|
|
20350
20316
|
let observer;
|
|
@@ -20360,13 +20326,14 @@ function useCascaderFocus(activeKey) {
|
|
|
20360
20326
|
if (cancelPendingFocus === cleanup) cancelPendingFocus = void 0;
|
|
20361
20327
|
};
|
|
20362
20328
|
const onFocus = (next) => {
|
|
20363
|
-
if (next.target !== option2) cleanup();
|
|
20329
|
+
if (next.target !== option2 && !next.composedPath().includes(option2)) cleanup();
|
|
20364
20330
|
};
|
|
20365
20331
|
const attempt = () => {
|
|
20366
20332
|
if (done) return;
|
|
20367
|
-
const focused =
|
|
20368
|
-
const
|
|
20369
|
-
|
|
20333
|
+
const focused = focusRoot.activeElement;
|
|
20334
|
+
const docFocus = document2.activeElement;
|
|
20335
|
+
const lostToRemoval = !option2.isConnected && (docFocus === document2.body || docFocus === document2.documentElement) && (focused === null || focused === document2.body || focused === document2.documentElement);
|
|
20336
|
+
if (!root.isConnected || root.getRootNode() !== nodeRoot || activeKey.value !== key || focused !== option2 && !lostToRemoval) {
|
|
20370
20337
|
cleanup();
|
|
20371
20338
|
return;
|
|
20372
20339
|
}
|
|
@@ -20505,7 +20472,7 @@ const useSelectedPath = (options, {
|
|
|
20505
20472
|
navigateLevel
|
|
20506
20473
|
};
|
|
20507
20474
|
};
|
|
20508
|
-
const _sfc_main$
|
|
20475
|
+
const _sfc_main$2u = vue.defineComponent({
|
|
20509
20476
|
name: createNamespace$1("cascader-panel").name,
|
|
20510
20477
|
components: {
|
|
20511
20478
|
BaseCascaderPanel
|
|
@@ -20868,7 +20835,7 @@ function _sfc_render$Z(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
20868
20835
|
} : void 0
|
|
20869
20836
|
]), 1032, ["display-columns", "selected-path", "active-key", "multiple", "total-level", "check-strictly", "onKeydown"]);
|
|
20870
20837
|
}
|
|
20871
|
-
const CascaderPanel = /* @__PURE__ */ _export_sfc(_sfc_main$
|
|
20838
|
+
const CascaderPanel = /* @__PURE__ */ _export_sfc(_sfc_main$2u, [["render", _sfc_render$Z]]);
|
|
20872
20839
|
function _isSlot$8(s) {
|
|
20873
20840
|
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
|
|
20874
20841
|
}
|
|
@@ -20977,9 +20944,9 @@ const CascaderSearchPanel = /* @__PURE__ */ vue.defineComponent({
|
|
|
20977
20944
|
};
|
|
20978
20945
|
}
|
|
20979
20946
|
});
|
|
20980
|
-
const _hoisted_1$
|
|
20947
|
+
const _hoisted_1$1c = ["aria-label"];
|
|
20981
20948
|
const _hoisted_2$w = ["aria-current", "onClick"];
|
|
20982
|
-
const _sfc_main$
|
|
20949
|
+
const _sfc_main$2t = /* @__PURE__ */ vue.defineComponent({
|
|
20983
20950
|
...{ name: createNamespace$1("cascader-editor-panel").name },
|
|
20984
20951
|
__name: "CascaderEditorPanel",
|
|
20985
20952
|
props: {
|
|
@@ -21040,7 +21007,7 @@ const _sfc_main$2p = /* @__PURE__ */ vue.defineComponent({
|
|
|
21040
21007
|
vue.createTextVNode(" " + vue.toDisplayString(column.find((option2) => option2.key === __props.selectedPath[index])?.label || vue.unref(texts).select.value), 1)
|
|
21041
21008
|
], 10, _hoisted_2$w);
|
|
21042
21009
|
}), 128))
|
|
21043
|
-
], 10, _hoisted_1$
|
|
21010
|
+
], 10, _hoisted_1$1c),
|
|
21044
21011
|
vue.createElementVNode("div", {
|
|
21045
21012
|
class: vue.normalizeClass(vue.unref(n2)("columns"))
|
|
21046
21013
|
}, [
|
|
@@ -21089,7 +21056,7 @@ const _sfc_main$2p = /* @__PURE__ */ vue.defineComponent({
|
|
|
21089
21056
|
};
|
|
21090
21057
|
}
|
|
21091
21058
|
});
|
|
21092
|
-
const _sfc_main$
|
|
21059
|
+
const _sfc_main$2s = /* @__PURE__ */ vue.defineComponent({
|
|
21093
21060
|
...{ name: createNamespace$1("cascader-menu").name },
|
|
21094
21061
|
__name: "CascaderMenu",
|
|
21095
21062
|
props: {
|
|
@@ -21115,7 +21082,7 @@ const _sfc_main$2o = /* @__PURE__ */ vue.defineComponent({
|
|
|
21115
21082
|
} = vue.toRefs(__props.controller);
|
|
21116
21083
|
const { multiple, checkStrictly, searchOptionOnlyLabel, virtualListProps } = vue.toRefs(__props.controller.props);
|
|
21117
21084
|
return (_ctx, _cache) => {
|
|
21118
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
21085
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$2I, {
|
|
21119
21086
|
open: __props.controller.computedOpen,
|
|
21120
21087
|
multiple: vue.unref(multiple),
|
|
21121
21088
|
items: __props.controller.fieldItems,
|
|
@@ -21124,7 +21091,7 @@ const _sfc_main$2o = /* @__PURE__ */ vue.defineComponent({
|
|
|
21124
21091
|
onClear: __props.controller.clearSelection
|
|
21125
21092
|
}, {
|
|
21126
21093
|
default: vue.withCtx(() => [
|
|
21127
|
-
__props.searchable ? (vue.openBlock(), vue.createBlock(vue.unref(
|
|
21094
|
+
__props.searchable ? (vue.openBlock(), vue.createBlock(vue.unref(SearchInput), {
|
|
21128
21095
|
key: 0,
|
|
21129
21096
|
"model-value": __props.controller.computedInputValue,
|
|
21130
21097
|
"edit-mode": "direct",
|
|
@@ -21157,7 +21124,7 @@ const _sfc_main$2o = /* @__PURE__ */ vue.defineComponent({
|
|
|
21157
21124
|
]),
|
|
21158
21125
|
key: "0"
|
|
21159
21126
|
} : void 0
|
|
21160
|
-
]), 1040, ["options", "active-key", "multiple", "check-strictly", "loading", "path-label", "listbox-id", "listbox-label"])) : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(editor) ? _sfc_main$
|
|
21127
|
+
]), 1040, ["options", "active-key", "multiple", "check-strictly", "loading", "path-label", "listbox-id", "listbox-label"])) : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(editor) ? _sfc_main$2t : vue.unref(BaseCascaderPanel)), vue.mergeProps({
|
|
21161
21128
|
key: 2,
|
|
21162
21129
|
id: optionsId,
|
|
21163
21130
|
"display-columns": vue.unref(displayColumns),
|
|
@@ -21233,9 +21200,11 @@ const cascaderEmits = {
|
|
|
21233
21200
|
*/
|
|
21234
21201
|
blur: (ev) => true
|
|
21235
21202
|
};
|
|
21236
|
-
const presentations = { inline: { component: _sfc_main$
|
|
21203
|
+
const presentations = { inline: { component: _sfc_main$2H, deferred: (_multiple) => false } };
|
|
21237
21204
|
const cascaderProps = {
|
|
21238
21205
|
...fieldLoadingProps,
|
|
21206
|
+
/** 弹出编辑是否需要确认;未设置时单选即提交,多选保留确认。 */
|
|
21207
|
+
needConfirm: { type: Boolean, default: void 0 },
|
|
21239
21208
|
openTriggerTarget: openTriggerTargetProp,
|
|
21240
21209
|
/** 内置本地过滤是否区分大小写;自定义过滤函数优先。 */
|
|
21241
21210
|
caseSensitive: { type: Boolean, default: false },
|
|
@@ -22183,7 +22152,7 @@ function useCascaderController(props2, { emit, slots }) {
|
|
|
22183
22152
|
totalLevel
|
|
22184
22153
|
};
|
|
22185
22154
|
}
|
|
22186
|
-
const _sfc_main$
|
|
22155
|
+
const _sfc_main$2r = /* @__PURE__ */ vue.defineComponent({
|
|
22187
22156
|
...{ name: createNamespace$1("cascader").name, inheritAttrs: false },
|
|
22188
22157
|
__name: "Cascader",
|
|
22189
22158
|
props: cascaderProps,
|
|
@@ -22253,7 +22222,7 @@ const _sfc_main$2n = /* @__PURE__ */ vue.defineComponent({
|
|
|
22253
22222
|
return (_ctx, _cache) => {
|
|
22254
22223
|
return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(presentations).inline.component), { controller }, {
|
|
22255
22224
|
reference: vue.withCtx(() => [
|
|
22256
|
-
vue.createVNode(_sfc_main$
|
|
22225
|
+
vue.createVNode(_sfc_main$2D, vue.mergeProps({
|
|
22257
22226
|
ref_key: "fieldRef",
|
|
22258
22227
|
ref: fieldRef,
|
|
22259
22228
|
"loading-mode": _ctx.loadingMode,
|
|
@@ -22352,7 +22321,7 @@ const _sfc_main$2n = /* @__PURE__ */ vue.defineComponent({
|
|
|
22352
22321
|
]), 1040, ["loading-mode", "open-trigger-target", "open-trigger-tab-index", "show-tags", "separator", "text-align", "hint", "line", "text-color", "focus-color", "blur-color", "items", "input-value", "disabled", "readonly", "error", "multiple", "clearable", "searchable", "size", "variant", "open", "placeholder", "loading", "max-tag-count", "tag-nowrap", "aria-controls", "aria-haspopup", "aria-activedescendant", "onUpdate:inputValue", "onClear", "onFocus", "onBlur", "onRemove"])
|
|
22353
22322
|
]),
|
|
22354
22323
|
default: vue.withCtx(() => [
|
|
22355
|
-
vue.createVNode(_sfc_main$
|
|
22324
|
+
vue.createVNode(_sfc_main$2s, {
|
|
22356
22325
|
controller,
|
|
22357
22326
|
"keyboard-handler": handleFieldKeydown,
|
|
22358
22327
|
"listbox-id": searchListMode.value ? searchListId : void 0
|
|
@@ -22372,7 +22341,7 @@ const _sfc_main$2n = /* @__PURE__ */ vue.defineComponent({
|
|
|
22372
22341
|
};
|
|
22373
22342
|
}
|
|
22374
22343
|
});
|
|
22375
|
-
const _sfc_main$
|
|
22344
|
+
const _sfc_main$2q = /* @__PURE__ */ vue.defineComponent({
|
|
22376
22345
|
...{ name: createNamespace$1("cascader-editor").name },
|
|
22377
22346
|
__name: "CascaderEditor",
|
|
22378
22347
|
props: {
|
|
@@ -22427,12 +22396,12 @@ const _sfc_main$2m = /* @__PURE__ */ vue.defineComponent({
|
|
|
22427
22396
|
{ immediate: true }
|
|
22428
22397
|
);
|
|
22429
22398
|
return (_ctx, _cache) => {
|
|
22430
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
22399
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$31, {
|
|
22431
22400
|
kind: "cascader",
|
|
22432
22401
|
onKeydown: handleEditorKeydown
|
|
22433
22402
|
}, {
|
|
22434
22403
|
default: vue.withCtx(() => [
|
|
22435
|
-
vue.createVNode(_sfc_main$
|
|
22404
|
+
vue.createVNode(_sfc_main$2s, {
|
|
22436
22405
|
controller,
|
|
22437
22406
|
searchable: __props.options.filterable || __props.options.multiple
|
|
22438
22407
|
}, vue.createSlots({ _: 2 }, [
|
|
@@ -22452,11 +22421,12 @@ const _sfc_main$2m = /* @__PURE__ */ vue.defineComponent({
|
|
|
22452
22421
|
}
|
|
22453
22422
|
});
|
|
22454
22423
|
const cascaderFieldAdapter = {
|
|
22424
|
+
selectionConfirmation: "update",
|
|
22455
22425
|
pauseSelectionWhileLoading: true,
|
|
22456
22426
|
methods: ["focus", "blur", "refresh"],
|
|
22457
22427
|
text: (value, props2) => optionValueText(value, { ...props2, showPathLabel: true }),
|
|
22458
22428
|
editor: ({ props: props2, value, update, emit, slots, disabled, readonly }) => vue.h(
|
|
22459
|
-
_sfc_main$
|
|
22429
|
+
_sfc_main$2q,
|
|
22460
22430
|
{
|
|
22461
22431
|
options: { ...props2, disabled, readonly },
|
|
22462
22432
|
modelValue: value,
|
|
@@ -22469,7 +22439,7 @@ const cascaderFieldAdapter = {
|
|
|
22469
22439
|
slots
|
|
22470
22440
|
)
|
|
22471
22441
|
};
|
|
22472
|
-
const _Cascader = withFieldPresentation(_sfc_main$
|
|
22442
|
+
const _Cascader = withFieldPresentation(_sfc_main$2r, cascaderFieldAdapter);
|
|
22473
22443
|
const Cascader = withInstall(
|
|
22474
22444
|
_Cascader,
|
|
22475
22445
|
Object.assign(_Cascader, {
|
|
@@ -22480,6 +22450,110 @@ const Cascader = withInstall(
|
|
|
22480
22450
|
const cascaderPanelProps = CascaderPanel.props;
|
|
22481
22451
|
const _CascaderComponent = Cascader;
|
|
22482
22452
|
const _CascaderPanelComponent = CascaderPanel;
|
|
22453
|
+
const _hoisted_1$1b = ["aria-describedby", "aria-busy", "aria-label", "aria-disabled"];
|
|
22454
|
+
const _sfc_main$2p = /* @__PURE__ */ vue.defineComponent({
|
|
22455
|
+
...{ name: createNamespace$1("checkbox-group").name, inheritAttrs: false },
|
|
22456
|
+
__name: "checkbox-group",
|
|
22457
|
+
props: checkboxGroupProps,
|
|
22458
|
+
emits: ["update:open", "open-change", "load-error", "update:modelValue", "change"],
|
|
22459
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
22460
|
+
const { n: n2, classes: classes2 } = createNamespace$1("checkbox-group");
|
|
22461
|
+
const props2 = __props;
|
|
22462
|
+
const { errorId, describe: describeError } = useFormErrorDescription();
|
|
22463
|
+
const resolvedOrientation = vue.computed(() => props2.orientation === "vertical" ? "vertical" : "horizontal");
|
|
22464
|
+
const slots = vue.useSlots();
|
|
22465
|
+
const emit = __emit;
|
|
22466
|
+
const { mergedDisabled, mergedReadonly, mergedError, eventHandlers } = useChoiceForm(props2);
|
|
22467
|
+
const source = useOptionRequest(
|
|
22468
|
+
() => props2.options,
|
|
22469
|
+
() => mergedDisabled.value || mergedReadonly.value || !!props2.readPretty,
|
|
22470
|
+
(error) => emit("load-error", error),
|
|
22471
|
+
() => 0,
|
|
22472
|
+
checkboxGroupProps
|
|
22473
|
+
);
|
|
22474
|
+
const { value: computedValue, commit: handleChange } = useChoiceState(
|
|
22475
|
+
() => props2.modelValue === null ? [] : props2.modelValue,
|
|
22476
|
+
props2.defaultValue,
|
|
22477
|
+
(value, event) => {
|
|
22478
|
+
emit("update:modelValue", value);
|
|
22479
|
+
emit("change", value, event);
|
|
22480
|
+
eventHandlers.value?.onChange?.(event);
|
|
22481
|
+
},
|
|
22482
|
+
() => mergedDisabled.value || mergedReadonly.value
|
|
22483
|
+
);
|
|
22484
|
+
const normalizedOptions = vue.computed(() => normalizeChoiceOptions(source.options.value, props2.fieldNames));
|
|
22485
|
+
const isMaxed = vue.computed(() => computedValue.value.length >= choiceLimit(props2.max));
|
|
22486
|
+
const { register: registerChoice, methods: methods2 } = useCheckboxGroupMethods(
|
|
22487
|
+
() => computedValue.value,
|
|
22488
|
+
handleChange,
|
|
22489
|
+
() => mergedDisabled.value || mergedReadonly.value,
|
|
22490
|
+
() => props2.max
|
|
22491
|
+
);
|
|
22492
|
+
vue.provide(
|
|
22493
|
+
checkboxGroupKey,
|
|
22494
|
+
vue.reactive({
|
|
22495
|
+
registerChoice,
|
|
22496
|
+
computedValue,
|
|
22497
|
+
disabled: mergedDisabled,
|
|
22498
|
+
readonly: mergedReadonly,
|
|
22499
|
+
error: mergedError,
|
|
22500
|
+
formErrorId: errorId,
|
|
22501
|
+
isMaxed,
|
|
22502
|
+
name: vue.computed(() => props2.name),
|
|
22503
|
+
slots,
|
|
22504
|
+
handleChange
|
|
22505
|
+
})
|
|
22506
|
+
);
|
|
22507
|
+
__expose(methods2);
|
|
22508
|
+
return (_ctx, _cache) => {
|
|
22509
|
+
return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps(_ctx.$attrs, {
|
|
22510
|
+
"aria-describedby": vue.unref(describeError)(_ctx.$attrs["aria-describedby"]),
|
|
22511
|
+
class: vue.unref(classes2)(vue.unref(n2)(), vue.unref(n2)(`--${resolvedOrientation.value}`)),
|
|
22512
|
+
"aria-busy": vue.unref(source).loading.value || void 0,
|
|
22513
|
+
role: "group",
|
|
22514
|
+
"aria-label": _ctx.ariaLabel,
|
|
22515
|
+
"aria-disabled": vue.unref(mergedDisabled) || void 0
|
|
22516
|
+
}), [
|
|
22517
|
+
props2.options !== void 0 ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(normalizedOptions.value, (option2) => {
|
|
22518
|
+
return vue.openBlock(), vue.createBlock(vue.unref(Checkbox$1), {
|
|
22519
|
+
key: `${typeof option2.value}:${String(option2.value)}`,
|
|
22520
|
+
"edit-mode": "direct",
|
|
22521
|
+
value: option2.value,
|
|
22522
|
+
disabled: option2.disabled,
|
|
22523
|
+
readonly: option2.readonly,
|
|
22524
|
+
indeterminate: option2.indeterminate
|
|
22525
|
+
}, {
|
|
22526
|
+
default: vue.withCtx(({ checked }) => [
|
|
22527
|
+
vue.renderSlot(_ctx.$slots, "label", {
|
|
22528
|
+
data: option2,
|
|
22529
|
+
checked
|
|
22530
|
+
}, () => [
|
|
22531
|
+
vue.createVNode(vue.unref(ChoiceLabel), {
|
|
22532
|
+
content: typeof option2.label === "function" ? option2.label(option2, checked) : option2.label
|
|
22533
|
+
}, null, 8, ["content"])
|
|
22534
|
+
])
|
|
22535
|
+
]),
|
|
22536
|
+
_: 2
|
|
22537
|
+
}, 1032, ["value", "disabled", "readonly", "indeterminate"]);
|
|
22538
|
+
}), 128)) : vue.renderSlot(_ctx.$slots, "default", { key: 1 })
|
|
22539
|
+
], 16, _hoisted_1$1b);
|
|
22540
|
+
};
|
|
22541
|
+
}
|
|
22542
|
+
});
|
|
22543
|
+
const CheckboxGroup = withFieldPresentation(_sfc_main$2p, {
|
|
22544
|
+
text: optionValueText,
|
|
22545
|
+
methods: ["checkAll", "inverseAll"],
|
|
22546
|
+
inactiveMethod: (_name, value) => Array.isArray(value) ? [...value] : []
|
|
22547
|
+
});
|
|
22548
|
+
const Checkbox = withInstall(
|
|
22549
|
+
_Checkbox,
|
|
22550
|
+
Object.assign(_Checkbox, {
|
|
22551
|
+
Group: CheckboxGroup
|
|
22552
|
+
}),
|
|
22553
|
+
{ components: [_Checkbox, CheckboxGroup] }
|
|
22554
|
+
);
|
|
22555
|
+
const _CheckboxComponent = Checkbox;
|
|
22556
|
+
const _CheckboxGroupComponent = CheckboxGroup;
|
|
22483
22557
|
const ROW_CONTEXT_KEY = Symbol("ROW_CONTEXT_KEY");
|
|
22484
22558
|
const colBreakpoints = ["xs", "sm", "md", "lg", "xl", "xxl"];
|
|
22485
22559
|
const isColCount = (value) => typeof value === "number" && Number.isInteger(value) && value >= 0 && value <= 24;
|
|
@@ -22546,7 +22620,7 @@ const colProps = {
|
|
|
22546
22620
|
*/
|
|
22547
22621
|
flex: { type: [Number, String], validator: process.env.NODE_ENV !== "production" ? isColFlex : void 0 }
|
|
22548
22622
|
};
|
|
22549
|
-
const _sfc_main$
|
|
22623
|
+
const _sfc_main$2o = /* @__PURE__ */ vue.defineComponent({
|
|
22550
22624
|
...{ name: createNamespace$1("col").name },
|
|
22551
22625
|
__name: "Col",
|
|
22552
22626
|
props: colProps,
|
|
@@ -22606,7 +22680,7 @@ const _sfc_main$2l = /* @__PURE__ */ vue.defineComponent({
|
|
|
22606
22680
|
};
|
|
22607
22681
|
}
|
|
22608
22682
|
});
|
|
22609
|
-
const Col = withInstall(_sfc_main$
|
|
22683
|
+
const Col = withInstall(_sfc_main$2o);
|
|
22610
22684
|
const _ColComponent = Col;
|
|
22611
22685
|
const collapseKey = Symbol("collapseCtx");
|
|
22612
22686
|
const expandIconPositions = ["left", "right"];
|
|
@@ -22663,7 +22737,7 @@ const collapseItemProps = {
|
|
|
22663
22737
|
},
|
|
22664
22738
|
destroyOnHide: Boolean
|
|
22665
22739
|
};
|
|
22666
|
-
const _sfc_main$
|
|
22740
|
+
const _sfc_main$2n = /* @__PURE__ */ vue.defineComponent({
|
|
22667
22741
|
...{ name: createNamespace$1("collapse").name },
|
|
22668
22742
|
__name: "Collapse",
|
|
22669
22743
|
props: collapseProps,
|
|
@@ -22769,10 +22843,10 @@ const DefaultExpandIcon = vue.defineComponent({
|
|
|
22769
22843
|
return () => vue.h(props2.position === "right" ? iconCaretLeft.IconCaretLeft : iconCaretRight.IconCaretRight, { class: n$g("expand-icon") });
|
|
22770
22844
|
}
|
|
22771
22845
|
});
|
|
22772
|
-
const _hoisted_1$
|
|
22846
|
+
const _hoisted_1$1a = ["role", "aria-level"];
|
|
22773
22847
|
const _hoisted_2$v = ["id", "tabindex", "aria-disabled", "aria-expanded", "aria-controls"];
|
|
22774
|
-
const _hoisted_3$
|
|
22775
|
-
const _sfc_main$
|
|
22848
|
+
const _hoisted_3$i = ["id", "role", "aria-labelledby"];
|
|
22849
|
+
const _sfc_main$2m = /* @__PURE__ */ vue.defineComponent({
|
|
22776
22850
|
...{ name: createNamespace$1("collapse-item").name },
|
|
22777
22851
|
__name: "CollapseItem",
|
|
22778
22852
|
props: collapseItemProps,
|
|
@@ -22914,7 +22988,7 @@ const _sfc_main$2j = /* @__PURE__ */ vue.defineComponent({
|
|
|
22914
22988
|
])
|
|
22915
22989
|
], 2)) : vue.createCommentVNode("", true)
|
|
22916
22990
|
], 42, _hoisted_2$v)
|
|
22917
|
-
], 10, _hoisted_1$
|
|
22991
|
+
], 10, _hoisted_1$1a),
|
|
22918
22992
|
_ctx.$slots.extra ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
22919
22993
|
key: 0,
|
|
22920
22994
|
class: vue.normalizeClass(vue.unref(n2)("header-extra")),
|
|
@@ -22946,7 +23020,7 @@ const _sfc_main$2j = /* @__PURE__ */ vue.defineComponent({
|
|
|
22946
23020
|
}, [
|
|
22947
23021
|
vue.renderSlot(_ctx.$slots, "default")
|
|
22948
23022
|
], 2)) : vue.createCommentVNode("", true)
|
|
22949
|
-
], 10, _hoisted_3$
|
|
23023
|
+
], 10, _hoisted_3$i), [
|
|
22950
23024
|
[vue.vShow, isExpanded.value]
|
|
22951
23025
|
])
|
|
22952
23026
|
]),
|
|
@@ -22956,11 +23030,11 @@ const _sfc_main$2j = /* @__PURE__ */ vue.defineComponent({
|
|
|
22956
23030
|
};
|
|
22957
23031
|
}
|
|
22958
23032
|
});
|
|
22959
|
-
const Collapse = withInstall(_sfc_main$
|
|
22960
|
-
Item: _sfc_main$
|
|
22961
|
-
}), { components: [_sfc_main$
|
|
23033
|
+
const Collapse = withInstall(_sfc_main$2n, Object.assign(_sfc_main$2n, {
|
|
23034
|
+
Item: _sfc_main$2m
|
|
23035
|
+
}), { components: [_sfc_main$2n, _sfc_main$2m] });
|
|
22962
23036
|
const _CollapseComponent = Collapse;
|
|
22963
|
-
const _CollapseItemComponent = _sfc_main$
|
|
23037
|
+
const _CollapseItemComponent = _sfc_main$2m;
|
|
22964
23038
|
const hsvToRgb = (h, s, v) => {
|
|
22965
23039
|
const i = Math.floor(h * 6);
|
|
22966
23040
|
const f = h * 6 - i;
|
|
@@ -23384,6 +23458,164 @@ const Palette = /* @__PURE__ */ vue.defineComponent({
|
|
|
23384
23458
|
}, null)]);
|
|
23385
23459
|
}
|
|
23386
23460
|
});
|
|
23461
|
+
const _sfc_main$2l = /* @__PURE__ */ vue.defineComponent({
|
|
23462
|
+
...{ name: createNamespace$1("input-group").name },
|
|
23463
|
+
__name: "InputGroup",
|
|
23464
|
+
props: inputGroupProps,
|
|
23465
|
+
setup(__props) {
|
|
23466
|
+
const props2 = __props;
|
|
23467
|
+
const { n: n2, classes: classes2 } = createNamespace$1("input-group");
|
|
23468
|
+
const { group, mergedSize, mergedDisabled, mergedReadonly } = useInputForm(props2);
|
|
23469
|
+
const mergedVariant = vue.computed(() => props2.variant ?? group?.variant.value ?? "filled");
|
|
23470
|
+
vue.provide(inputGroupKey, {
|
|
23471
|
+
size: mergedSize,
|
|
23472
|
+
disabled: mergedDisabled,
|
|
23473
|
+
readonly: mergedReadonly,
|
|
23474
|
+
variant: mergedVariant,
|
|
23475
|
+
hint: vue.computed(() => props2.hint ?? group?.hint.value)
|
|
23476
|
+
});
|
|
23477
|
+
return (_ctx, _cache) => {
|
|
23478
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
23479
|
+
class: vue.normalizeClass(vue.unref(classes2)(vue.unref(n2)(), vue.unref(n2)(`--size-${vue.unref(mergedSize)}`), vue.unref(n2)(`--variant-${mergedVariant.value}`), [vue.unref(mergedDisabled), vue.unref(n2)("--disabled")])),
|
|
23480
|
+
role: "group"
|
|
23481
|
+
}, [
|
|
23482
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
23483
|
+
], 2);
|
|
23484
|
+
};
|
|
23485
|
+
}
|
|
23486
|
+
});
|
|
23487
|
+
const _sfc_main$2k = /* @__PURE__ */ vue.defineComponent({
|
|
23488
|
+
...{ name: createNamespace$1("input-group-label").name },
|
|
23489
|
+
__name: "InputGroupLabel",
|
|
23490
|
+
setup(__props) {
|
|
23491
|
+
const { n: n2 } = createNamespace$1("input-group-label");
|
|
23492
|
+
return (_ctx, _cache) => {
|
|
23493
|
+
return vue.openBlock(), vue.createElementBlock("span", {
|
|
23494
|
+
class: vue.normalizeClass(vue.unref(n2)())
|
|
23495
|
+
}, [
|
|
23496
|
+
vue.renderSlot(_ctx.$slots, "default")
|
|
23497
|
+
], 2);
|
|
23498
|
+
};
|
|
23499
|
+
}
|
|
23500
|
+
});
|
|
23501
|
+
const _hoisted_1$19 = ["disabled", "aria-label", "aria-pressed"];
|
|
23502
|
+
const _sfc_main$2j = /* @__PURE__ */ vue.defineComponent({
|
|
23503
|
+
...{ name: createNamespace$1("input-password").name, inheritAttrs: false },
|
|
23504
|
+
__name: "InputPassword",
|
|
23505
|
+
props: inputPasswordProps,
|
|
23506
|
+
emits: ["visibility-change", "update:visibility", "update:open", "update:modelValue", "input", "change", "press-enter", "keydown", "clear", "focus", "blur", "click"],
|
|
23507
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
23508
|
+
const props2 = __props;
|
|
23509
|
+
const emit = __emit;
|
|
23510
|
+
const { n: n2 } = createNamespace$1("input-password");
|
|
23511
|
+
const { t } = useI18n();
|
|
23512
|
+
const attrs = vue.useAttrs();
|
|
23513
|
+
const slots = vue.useSlots();
|
|
23514
|
+
const inputRef = vue.ref();
|
|
23515
|
+
const localVisibility = vue.ref(props2.defaultVisibility);
|
|
23516
|
+
const mergedVisible = vue.computed(() => props2.visibility ?? localVisibility.value);
|
|
23517
|
+
const { mergedDisabled } = useInputForm(props2);
|
|
23518
|
+
const forwardedSlots = vue.computed(() => Object.keys(slots).filter((name2) => name2 !== "suffix"));
|
|
23519
|
+
const inputBindings = vue.computed(() => {
|
|
23520
|
+
const fields = {};
|
|
23521
|
+
for (const key of Object.keys(inputProps)) {
|
|
23522
|
+
fields[key] = props2[key];
|
|
23523
|
+
}
|
|
23524
|
+
return { ...fields, ...attrs };
|
|
23525
|
+
});
|
|
23526
|
+
const inputListeners = {
|
|
23527
|
+
"update:open": (...args) => emit("update:open", ...args),
|
|
23528
|
+
"update:modelValue": (...args) => emit("update:modelValue", ...args),
|
|
23529
|
+
input: (...args) => emit("input", ...args),
|
|
23530
|
+
change: (...args) => emit("change", ...args),
|
|
23531
|
+
"press-enter": (...args) => emit("press-enter", ...args),
|
|
23532
|
+
keydown: (...args) => emit("keydown", ...args),
|
|
23533
|
+
clear: (...args) => emit("clear", ...args),
|
|
23534
|
+
focus: (...args) => emit("focus", ...args),
|
|
23535
|
+
blur: (...args) => emit("blur", ...args),
|
|
23536
|
+
click: (...args) => emit("click", ...args)
|
|
23537
|
+
};
|
|
23538
|
+
function toggleVisibility() {
|
|
23539
|
+
if (mergedDisabled.value) {
|
|
23540
|
+
return;
|
|
23541
|
+
}
|
|
23542
|
+
const nextValue = !mergedVisible.value;
|
|
23543
|
+
localVisibility.value = nextValue;
|
|
23544
|
+
emit("visibility-change", nextValue);
|
|
23545
|
+
emit("update:visibility", nextValue);
|
|
23546
|
+
}
|
|
23547
|
+
function focus(options) {
|
|
23548
|
+
inputRef.value?.focus(options);
|
|
23549
|
+
}
|
|
23550
|
+
function blur() {
|
|
23551
|
+
inputRef.value?.blur();
|
|
23552
|
+
}
|
|
23553
|
+
function select() {
|
|
23554
|
+
inputRef.value?.select();
|
|
23555
|
+
}
|
|
23556
|
+
__expose({ inputRef, focus, blur, select });
|
|
23557
|
+
return (_ctx, _cache) => {
|
|
23558
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
23559
|
+
class: vue.normalizeClass(vue.unref(n2)())
|
|
23560
|
+
}, [
|
|
23561
|
+
vue.createVNode(_sfc_main$2Z, vue.mergeProps({
|
|
23562
|
+
ref_key: "inputRef",
|
|
23563
|
+
ref: inputRef
|
|
23564
|
+
}, inputBindings.value, {
|
|
23565
|
+
type: mergedVisible.value ? "text" : "password"
|
|
23566
|
+
}, vue.toHandlers(inputListeners)), vue.createSlots({ _: 2 }, [
|
|
23567
|
+
vue.renderList(forwardedSlots.value, (slotName) => {
|
|
23568
|
+
return {
|
|
23569
|
+
name: slotName,
|
|
23570
|
+
fn: vue.withCtx((scope) => [
|
|
23571
|
+
vue.renderSlot(_ctx.$slots, slotName, vue.normalizeProps(vue.guardReactiveProps(scope)))
|
|
23572
|
+
])
|
|
23573
|
+
};
|
|
23574
|
+
}),
|
|
23575
|
+
_ctx.visibilityToggle || _ctx.$slots.suffix ? {
|
|
23576
|
+
name: "suffix",
|
|
23577
|
+
fn: vue.withCtx(() => [
|
|
23578
|
+
_ctx.visibilityToggle ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
23579
|
+
key: 0,
|
|
23580
|
+
type: "button",
|
|
23581
|
+
class: vue.normalizeClass(vue.unref(n2)("toggle")),
|
|
23582
|
+
disabled: vue.unref(mergedDisabled),
|
|
23583
|
+
"aria-label": vue.unref(t)(mergedVisible.value ? "common.hidePassword" : "common.showPassword"),
|
|
23584
|
+
"aria-pressed": mergedVisible.value,
|
|
23585
|
+
onMousedown: _cache[0] || (_cache[0] = vue.withModifiers(() => {
|
|
23586
|
+
}, ["prevent"])),
|
|
23587
|
+
onClick: toggleVisibility
|
|
23588
|
+
}, [
|
|
23589
|
+
mergedVisible.value ? (vue.openBlock(), vue.createBlock(vue.unref(iconsVue.IconEyeInvisible), {
|
|
23590
|
+
key: 0,
|
|
23591
|
+
"aria-hidden": "true"
|
|
23592
|
+
})) : (vue.openBlock(), vue.createBlock(vue.unref(iconsVue.IconEye), {
|
|
23593
|
+
key: 1,
|
|
23594
|
+
"aria-hidden": "true"
|
|
23595
|
+
}))
|
|
23596
|
+
], 42, _hoisted_1$19)) : vue.createCommentVNode("", true),
|
|
23597
|
+
vue.renderSlot(_ctx.$slots, "suffix")
|
|
23598
|
+
]),
|
|
23599
|
+
key: "0"
|
|
23600
|
+
} : void 0
|
|
23601
|
+
]), 1040, ["type"])
|
|
23602
|
+
], 2);
|
|
23603
|
+
};
|
|
23604
|
+
}
|
|
23605
|
+
});
|
|
23606
|
+
const Input = withInstall(
|
|
23607
|
+
SearchInput,
|
|
23608
|
+
Object.assign(SearchInput, {
|
|
23609
|
+
Password: _sfc_main$2j,
|
|
23610
|
+
Group: _sfc_main$2l,
|
|
23611
|
+
GroupLabel: _sfc_main$2k
|
|
23612
|
+
}),
|
|
23613
|
+
{ components: [SearchInput, _sfc_main$2l, _sfc_main$2j, _sfc_main$2k] }
|
|
23614
|
+
);
|
|
23615
|
+
const _InputComponent = Input;
|
|
23616
|
+
const _InputPasswordComponent = _sfc_main$2j;
|
|
23617
|
+
const _InputGroupComponent = _sfc_main$2l;
|
|
23618
|
+
const _InputGroupLabelComponent = _sfc_main$2k;
|
|
23387
23619
|
const _hoisted_1$18 = ["disabled", "aria-label"];
|
|
23388
23620
|
const _sfc_main$2i = /* @__PURE__ */ vue.defineComponent({
|
|
23389
23621
|
__name: "InputNumberStep",
|
|
@@ -24146,7 +24378,7 @@ const _sfc_main$2h = /* @__PURE__ */ vue.defineComponent({
|
|
|
24146
24378
|
}, [
|
|
24147
24379
|
vue.renderSlot(_ctx.$slots, "suffix")
|
|
24148
24380
|
], 2)) : vue.createCommentVNode("", true),
|
|
24149
|
-
vue.createVNode(_sfc_main$
|
|
24381
|
+
vue.createVNode(_sfc_main$2_, { status: vue.unref(feedback) }, null, 8, ["status"]),
|
|
24150
24382
|
_ctx.mode === "embed" && !vue.unref(mergedReadonly) ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
24151
24383
|
key: 1,
|
|
24152
24384
|
class: vue.normalizeClass(vue.unref(n2)("step"))
|
|
@@ -24295,7 +24527,7 @@ const InputRgb = /* @__PURE__ */ vue.defineComponent({
|
|
|
24295
24527
|
const hsv = rgbToHsv(newRGB.r, newRGB.g, newRGB.b);
|
|
24296
24528
|
props2.onHsvChange?.(hsv);
|
|
24297
24529
|
};
|
|
24298
|
-
return () => vue.createVNode(_sfc_main$
|
|
24530
|
+
return () => vue.createVNode(_sfc_main$2l, {
|
|
24299
24531
|
"class": `${prefixCls2}-input-group`
|
|
24300
24532
|
}, {
|
|
24301
24533
|
default: () => [["r", "g", "b"].map((channel) => vue.createVNode(InputNumber, {
|
|
@@ -24381,7 +24613,7 @@ const InputHex = /* @__PURE__ */ vue.defineComponent({
|
|
|
24381
24613
|
setHex(color.value.hex);
|
|
24382
24614
|
}
|
|
24383
24615
|
});
|
|
24384
|
-
return () => vue.createVNode(_sfc_main$
|
|
24616
|
+
return () => vue.createVNode(_sfc_main$2l, {
|
|
24385
24617
|
"class": `${prefixCls2}-input-group`
|
|
24386
24618
|
}, {
|
|
24387
24619
|
default: () => [vue.createVNode(Input, {
|
|
@@ -25370,9 +25602,12 @@ function useCountdown(props2, emit) {
|
|
|
25370
25602
|
let resumeOnActivate = false;
|
|
25371
25603
|
let generation = 0;
|
|
25372
25604
|
let handle;
|
|
25373
|
-
function
|
|
25605
|
+
function updateDisplay() {
|
|
25374
25606
|
timeData.value = splitTime(remaining);
|
|
25375
25607
|
showTime.value = parseFormat(props2.format, timeData.value);
|
|
25608
|
+
}
|
|
25609
|
+
function display() {
|
|
25610
|
+
updateDisplay();
|
|
25376
25611
|
emit("change", timeData.value);
|
|
25377
25612
|
}
|
|
25378
25613
|
function cancel() {
|
|
@@ -25409,9 +25644,11 @@ function useCountdown(props2, emit) {
|
|
|
25409
25644
|
}
|
|
25410
25645
|
function pause() {
|
|
25411
25646
|
resumeOnActivate = false;
|
|
25412
|
-
|
|
25647
|
+
const wasRunning = running;
|
|
25648
|
+
if (wasRunning) remaining = Math.max(0, deadline - performance.now());
|
|
25413
25649
|
running = false;
|
|
25414
25650
|
cancel();
|
|
25651
|
+
if (wasRunning && mounted2) updateDisplay();
|
|
25415
25652
|
}
|
|
25416
25653
|
function reset() {
|
|
25417
25654
|
if (!mounted2) return;
|
|
@@ -25792,7 +26029,7 @@ const _sfc_main$2c = /* @__PURE__ */ vue.defineComponent({
|
|
|
25792
26029
|
selectNow: () => emit("select-now"),
|
|
25793
26030
|
nowDisabled: __props.nowDisabled
|
|
25794
26031
|
})), () => [
|
|
25795
|
-
__props.showNow ? (vue.openBlock(), vue.createBlock(vue.unref(Button), {
|
|
26032
|
+
__props.showNow ? (vue.openBlock(), vue.createBlock(vue.unref(Button$1), {
|
|
25796
26033
|
key: 0,
|
|
25797
26034
|
variant: "text",
|
|
25798
26035
|
disabled: __props.nowDisabled,
|
|
@@ -25803,7 +26040,7 @@ const _sfc_main$2c = /* @__PURE__ */ vue.defineComponent({
|
|
|
25803
26040
|
]),
|
|
25804
26041
|
_: 1
|
|
25805
26042
|
}, 8, ["disabled"])) : vue.createCommentVNode("", true),
|
|
25806
|
-
__props.showConfirm ? (vue.openBlock(), vue.createBlock(vue.unref(Button), {
|
|
26043
|
+
__props.showConfirm ? (vue.openBlock(), vue.createBlock(vue.unref(Button$1), {
|
|
25807
26044
|
key: 1,
|
|
25808
26045
|
status: "primary",
|
|
25809
26046
|
disabled: !__props.canConfirm,
|
|
@@ -25836,7 +26073,7 @@ const _sfc_main$2b = /* @__PURE__ */ vue.defineComponent({
|
|
|
25836
26073
|
class: vue.normalizeClass(vue.unref(classes2)(vue.unref(n2)(), vue.unref(n2)(`--${__props.position}`)))
|
|
25837
26074
|
}, [
|
|
25838
26075
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.shortcuts, (shortcut, index) => {
|
|
25839
|
-
return vue.openBlock(), vue.createBlock(vue.unref(Button), {
|
|
26076
|
+
return vue.openBlock(), vue.createBlock(vue.unref(Button$1), {
|
|
25840
26077
|
key: index,
|
|
25841
26078
|
variant: "text",
|
|
25842
26079
|
disabled: __props.blocked || shortcut.disabled,
|
|
@@ -26518,7 +26755,7 @@ function useDatePickerTransform$1() {
|
|
|
26518
26755
|
const _sfc_main$2a = vue.defineComponent({
|
|
26519
26756
|
name: createNamespace$1("date-picker-shortcuts").name,
|
|
26520
26757
|
components: {
|
|
26521
|
-
Button,
|
|
26758
|
+
Button: Button$1,
|
|
26522
26759
|
RenderFunction
|
|
26523
26760
|
},
|
|
26524
26761
|
props: {
|
|
@@ -26681,7 +26918,7 @@ const _sfc_main$28 = vue.defineComponent({
|
|
|
26681
26918
|
name: createNamespace$1("date-picker-footer").name,
|
|
26682
26919
|
components: {
|
|
26683
26920
|
Link,
|
|
26684
|
-
Button
|
|
26921
|
+
Button: Button$1
|
|
26685
26922
|
},
|
|
26686
26923
|
props: {
|
|
26687
26924
|
prefixCls: {
|
|
@@ -26829,7 +27066,7 @@ const _sfc_main$27 = vue.defineComponent({
|
|
|
26829
27066
|
});
|
|
26830
27067
|
const _hoisted_1$14 = ["aria-label", "disabled", "aria-hidden", "tabindex"];
|
|
26831
27068
|
const _hoisted_2$t = ["aria-label", "disabled", "aria-hidden", "tabindex"];
|
|
26832
|
-
const _hoisted_3$
|
|
27069
|
+
const _hoisted_3$h = { key: 1 };
|
|
26833
27070
|
const _hoisted_4$b = ["aria-label", "disabled", "aria-hidden", "tabindex"];
|
|
26834
27071
|
const _hoisted_5$4 = ["aria-label", "disabled", "aria-hidden", "tabindex"];
|
|
26835
27072
|
function _sfc_render$U(_ctx, _cache, $props, $setup, $data, $options) {
|
|
@@ -26883,7 +27120,7 @@ function _sfc_render$U(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
26883
27120
|
class: vue.normalizeClass(`${_ctx.prefixCls}-header-label`),
|
|
26884
27121
|
onClick: _cache[2] || (_cache[2] = () => _ctx.onLabelClick && _ctx.onLabelClick("year"))
|
|
26885
27122
|
}, vue.toDisplayString(_ctx.year), 3)) : vue.createCommentVNode("", true),
|
|
26886
|
-
_ctx.year && _ctx.month ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$
|
|
27123
|
+
_ctx.year && _ctx.month ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$h, "-")) : vue.createCommentVNode("", true),
|
|
26887
27124
|
_ctx.month ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
26888
27125
|
key: 2,
|
|
26889
27126
|
type: "button",
|
|
@@ -27509,7 +27746,7 @@ const _sfc_main$23 = vue.defineComponent({
|
|
|
27509
27746
|
name: createNamespace$1("time-picker-panel").name,
|
|
27510
27747
|
components: {
|
|
27511
27748
|
TimeColumn,
|
|
27512
|
-
Button
|
|
27749
|
+
Button: Button$1
|
|
27513
27750
|
},
|
|
27514
27751
|
props: {
|
|
27515
27752
|
min: String,
|
|
@@ -31463,9 +31700,19 @@ const pickerFieldProps = {
|
|
|
31463
31700
|
},
|
|
31464
31701
|
separator: { type: String, default: " ~ " }
|
|
31465
31702
|
};
|
|
31703
|
+
function usePickerRangeLabels(kind) {
|
|
31704
|
+
const { i18nMessage } = useI18n();
|
|
31705
|
+
return vue.computed(() => {
|
|
31706
|
+
const legacy = i18nMessage.value.datePicker?.rangePlaceholder?.[kind()] ?? lang$1.datePicker.rangePlaceholder[kind()];
|
|
31707
|
+
return [
|
|
31708
|
+
i18nMessage.value.fieldPresentation?.rangeStart ?? legacy[0],
|
|
31709
|
+
i18nMessage.value.fieldPresentation?.rangeEnd ?? legacy[1]
|
|
31710
|
+
];
|
|
31711
|
+
});
|
|
31712
|
+
}
|
|
31466
31713
|
const _hoisted_1$11 = ["role", "aria-labelledby"];
|
|
31467
31714
|
const _hoisted_2$r = ["id"];
|
|
31468
|
-
const _hoisted_3$
|
|
31715
|
+
const _hoisted_3$g = ["id", "value", "placeholder", "disabled", "readonly", "aria-expanded", "aria-invalid", "aria-describedby", "aria-haspopup", "onFocus", "onClick", "onBlur", "onInput", "onCompositionend", "onKeydown"];
|
|
31469
31716
|
const _hoisted_4$a = ["disabled", "aria-label", "aria-expanded", "aria-haspopup"];
|
|
31470
31717
|
const _sfc_main$1R = /* @__PURE__ */ vue.defineComponent({
|
|
31471
31718
|
...{
|
|
@@ -31483,7 +31730,9 @@ const _sfc_main$1R = /* @__PURE__ */ vue.defineComponent({
|
|
|
31483
31730
|
function inputAttributes(index) {
|
|
31484
31731
|
const part = { ...props2.inputAttrs?.[index] ?? {} };
|
|
31485
31732
|
for (const key of ["aria-label", "aria-labelledby"]) {
|
|
31486
|
-
if (part[key] === void 0 || part[key] === null)
|
|
31733
|
+
if (part[key] === void 0 || part[key] === null) {
|
|
31734
|
+
delete part[key];
|
|
31735
|
+
}
|
|
31487
31736
|
}
|
|
31488
31737
|
const common = splitInputAttrs(attrs).native;
|
|
31489
31738
|
const merged = vue.mergeProps(common, part);
|
|
@@ -31525,14 +31774,7 @@ const _sfc_main$1R = /* @__PURE__ */ vue.defineComponent({
|
|
|
31525
31774
|
});
|
|
31526
31775
|
const explicitRangeLabel = vue.computed(() => props2.range && formLabel?.value?.target ? groupLabelId.value : void 0);
|
|
31527
31776
|
const endpointLabelId = (index) => `${generatedId}-range-endpoint-${index}`;
|
|
31528
|
-
const
|
|
31529
|
-
const endpointLabels = vue.computed(() => {
|
|
31530
|
-
const legacy = i18nMessage.value.datePicker?.rangePlaceholder?.[props2.kind] ?? lang$1.datePicker.rangePlaceholder[props2.kind];
|
|
31531
|
-
return [
|
|
31532
|
-
i18nMessage.value.fieldPresentation?.rangeStart ?? legacy[0],
|
|
31533
|
-
i18nMessage.value.fieldPresentation?.rangeEnd ?? legacy[1]
|
|
31534
|
-
];
|
|
31535
|
-
});
|
|
31777
|
+
const endpointLabels = usePickerRangeLabels(() => props2.kind);
|
|
31536
31778
|
const inputs = [];
|
|
31537
31779
|
const activeIndex = useRangeFieldIndex(() => props2.disabledParts);
|
|
31538
31780
|
const active = vue.ref(false);
|
|
@@ -31649,7 +31891,7 @@ const _sfc_main$1R = /* @__PURE__ */ vue.defineComponent({
|
|
|
31649
31891
|
}
|
|
31650
31892
|
__expose({ focus, blur, commit: (event) => commit(event, activeIndex.value) });
|
|
31651
31893
|
return (_ctx, _cache) => {
|
|
31652
|
-
return vue.openBlock(), vue.createBlock(_sfc_main$
|
|
31894
|
+
return vue.openBlock(), vue.createBlock(_sfc_main$2$, vue.mergeProps({ ...vue.unref(splitInputAttrs)(_ctx.$attrs).root, ...decoration.value }, {
|
|
31653
31895
|
"decorative-hint": "",
|
|
31654
31896
|
class: vue.unref(n2)(),
|
|
31655
31897
|
onClear: _cache[2] || (_cache[2] = ($event) => emit("clear", $event)),
|
|
@@ -31707,7 +31949,7 @@ const _sfc_main$1R = /* @__PURE__ */ vue.defineComponent({
|
|
|
31707
31949
|
key: 2,
|
|
31708
31950
|
id: endpointLabelId(index),
|
|
31709
31951
|
hidden: ""
|
|
31710
|
-
}, vue.toDisplayString(endpointLabels
|
|
31952
|
+
}, vue.toDisplayString(vue.unref(endpointLabels)[index]), 9, _hoisted_2$r)) : vue.createCommentVNode("", true),
|
|
31711
31953
|
vue.createElementVNode("input", vue.mergeProps({ ref_for: true }, inputAttributes(index), {
|
|
31712
31954
|
id: props2.inputAttrs?.[index]?.id ?? (index === 0 ? controlId.value : controlId.value + "-" + index),
|
|
31713
31955
|
ref_for: true,
|
|
@@ -31730,7 +31972,7 @@ const _sfc_main$1R = /* @__PURE__ */ vue.defineComponent({
|
|
|
31730
31972
|
onCompositionstart: _cache[0] || (_cache[0] = ($event) => composing.value = true),
|
|
31731
31973
|
onCompositionend: ($event) => handleCompositionEnd($event, index),
|
|
31732
31974
|
onKeydown: ($event) => handleKeydown($event, index)
|
|
31733
|
-
}), null, 16, _hoisted_3$
|
|
31975
|
+
}), null, 16, _hoisted_3$g)
|
|
31734
31976
|
], 64);
|
|
31735
31977
|
}), 128))
|
|
31736
31978
|
])
|
|
@@ -32779,6 +33021,13 @@ function useModalFocus(root, active, isTop, lockScroll = () => true, ownerDocume
|
|
|
32779
33021
|
element2 = target2;
|
|
32780
33022
|
if (!target2.contains(target2.ownerDocument.activeElement)) target2.focus({ preventScroll: true });
|
|
32781
33023
|
}
|
|
33024
|
+
function focusAfterEnter() {
|
|
33025
|
+
const doc = root()?.ownerDocument;
|
|
33026
|
+
const current = doc?.activeElement;
|
|
33027
|
+
if (!current || current === doc?.body || current === doc?.documentElement || previous.includes(current)) {
|
|
33028
|
+
focus();
|
|
33029
|
+
}
|
|
33030
|
+
}
|
|
32782
33031
|
function restore() {
|
|
32783
33032
|
const focused = owner?.activeElement;
|
|
32784
33033
|
const target2 = previous.find(restorable);
|
|
@@ -32861,7 +33110,7 @@ function useModalFocus(root, active, isTop, lockScroll = () => true, ownerDocume
|
|
|
32861
33110
|
unbind2();
|
|
32862
33111
|
bind2();
|
|
32863
33112
|
}
|
|
32864
|
-
if (value) capture();
|
|
33113
|
+
if (value && (!captured || root() !== element2)) capture();
|
|
32865
33114
|
}, { flush: "post" });
|
|
32866
33115
|
vue.onMounted(() => {
|
|
32867
33116
|
mounted2 = true;
|
|
@@ -32884,7 +33133,7 @@ function useModalFocus(root, active, isTop, lockScroll = () => true, ownerDocume
|
|
|
32884
33133
|
unbind2();
|
|
32885
33134
|
restore();
|
|
32886
33135
|
});
|
|
32887
|
-
return { focus, restore, trap };
|
|
33136
|
+
return { focus, focusAfterEnter, restore, trap };
|
|
32888
33137
|
}
|
|
32889
33138
|
function usePopupTransition(active, unmount, emit) {
|
|
32890
33139
|
let live = false, suspended = false;
|
|
@@ -32965,7 +33214,7 @@ function useModalSurface(options) {
|
|
|
32965
33214
|
mergedZIndex,
|
|
32966
33215
|
modalDocument
|
|
32967
33216
|
);
|
|
32968
|
-
const { focus, restore } = useModalFocus(
|
|
33217
|
+
const { focus, focusAfterEnter, restore } = useModalFocus(
|
|
32969
33218
|
() => options.root.value?.querySelector("[data-modal-focus-root]") ?? options.root.value,
|
|
32970
33219
|
() => mergedOpen.value,
|
|
32971
33220
|
onStackTop,
|
|
@@ -32973,7 +33222,13 @@ function useModalSurface(options) {
|
|
|
32973
33222
|
modalDocument
|
|
32974
33223
|
);
|
|
32975
33224
|
vue.watch([popupContainerTarget, () => options.popupContainer() === false], () => {
|
|
32976
|
-
vue.nextTick(
|
|
33225
|
+
vue.nextTick(() => {
|
|
33226
|
+
const doc = modalDocument();
|
|
33227
|
+
const current = doc?.activeElement;
|
|
33228
|
+
if (!current || current === doc?.body || current === doc?.documentElement) {
|
|
33229
|
+
focus();
|
|
33230
|
+
}
|
|
33231
|
+
});
|
|
32977
33232
|
}, { flush: "post" });
|
|
32978
33233
|
useScrollLock(
|
|
32979
33234
|
() => scrollLockTarget.value,
|
|
@@ -33047,7 +33302,7 @@ function useModalSurface(options) {
|
|
|
33047
33302
|
vue.onBeforeUnmount(unbind2);
|
|
33048
33303
|
function opened() {
|
|
33049
33304
|
if (mergedOpen.value) {
|
|
33050
|
-
|
|
33305
|
+
focusAfterEnter();
|
|
33051
33306
|
transition.opened();
|
|
33052
33307
|
}
|
|
33053
33308
|
}
|
|
@@ -33397,7 +33652,7 @@ function useDialogDrag(options) {
|
|
|
33397
33652
|
}
|
|
33398
33653
|
const _hoisted_1$$ = ["dir"];
|
|
33399
33654
|
const _hoisted_2$q = ["aria-busy", "aria-label"];
|
|
33400
|
-
const _hoisted_3$
|
|
33655
|
+
const _hoisted_3$f = ["aria-label"];
|
|
33401
33656
|
const _sfc_main$1I = /* @__PURE__ */ vue.defineComponent({
|
|
33402
33657
|
...{ name: createNamespace$1("dialog").name, inheritAttrs: false },
|
|
33403
33658
|
__name: "Dialog",
|
|
@@ -33619,7 +33874,7 @@ const _sfc_main$1I = /* @__PURE__ */ vue.defineComponent({
|
|
|
33619
33874
|
]),
|
|
33620
33875
|
_: 1
|
|
33621
33876
|
})
|
|
33622
|
-
], 10, _hoisted_3$
|
|
33877
|
+
], 10, _hoisted_3$f)) : vue.createCommentVNode("", true)
|
|
33623
33878
|
], 34)) : vue.createCommentVNode("", true),
|
|
33624
33879
|
vue.createElementVNode("div", {
|
|
33625
33880
|
class: vue.normalizeClass([`${vue.unref(prefixCls2)}-body`, _ctx.bodyClass]),
|
|
@@ -33641,7 +33896,7 @@ const _sfc_main$1I = /* @__PURE__ */ vue.defineComponent({
|
|
|
33641
33896
|
confirm: handleConfirm,
|
|
33642
33897
|
close: handleClose
|
|
33643
33898
|
}, () => [
|
|
33644
|
-
_ctx.cancelButton ? (vue.openBlock(), vue.createBlock(vue.unref(Button), vue.mergeProps({
|
|
33899
|
+
_ctx.cancelButton ? (vue.openBlock(), vue.createBlock(vue.unref(Button$1), vue.mergeProps({
|
|
33645
33900
|
key: 0,
|
|
33646
33901
|
variant: "text"
|
|
33647
33902
|
}, _ctx.cancelButtonProps, {
|
|
@@ -33654,7 +33909,7 @@ const _sfc_main$1I = /* @__PURE__ */ vue.defineComponent({
|
|
|
33654
33909
|
]),
|
|
33655
33910
|
_: 1
|
|
33656
33911
|
}, 16, ["loading", "disabled"])) : vue.createCommentVNode("", true),
|
|
33657
|
-
_ctx.confirmButton ? (vue.openBlock(), vue.createBlock(vue.unref(Button), vue.mergeProps({
|
|
33912
|
+
_ctx.confirmButton ? (vue.openBlock(), vue.createBlock(vue.unref(Button$1), vue.mergeProps({
|
|
33658
33913
|
key: 1,
|
|
33659
33914
|
variant: "text"
|
|
33660
33915
|
}, _ctx.confirmButtonProps, {
|
|
@@ -33944,7 +34199,7 @@ function useDrawerTitleId(prefix) {
|
|
|
33944
34199
|
}
|
|
33945
34200
|
const _hoisted_1$_ = ["dir"];
|
|
33946
34201
|
const _hoisted_2$p = ["aria-busy", "aria-label", "aria-labelledby"];
|
|
33947
|
-
const _hoisted_3$
|
|
34202
|
+
const _hoisted_3$e = ["id"];
|
|
33948
34203
|
const _hoisted_4$9 = ["aria-label"];
|
|
33949
34204
|
const _sfc_main$1H = /* @__PURE__ */ vue.defineComponent({
|
|
33950
34205
|
...{
|
|
@@ -34117,7 +34372,7 @@ const _sfc_main$1H = /* @__PURE__ */ vue.defineComponent({
|
|
|
34117
34372
|
vue.renderSlot(_ctx.$slots, "title", {}, () => [
|
|
34118
34373
|
vue.createTextVNode(vue.toDisplayString(_ctx.title), 1)
|
|
34119
34374
|
])
|
|
34120
|
-
], 10, _hoisted_3$
|
|
34375
|
+
], 10, _hoisted_3$e)) : vue.createCommentVNode("", true),
|
|
34121
34376
|
_ctx.closable ? (vue.openBlock(), vue.createElementBlock("button", {
|
|
34122
34377
|
key: 1,
|
|
34123
34378
|
type: "button",
|
|
@@ -35118,6 +35373,31 @@ const _sfc_main$1F = /* @__PURE__ */ vue.defineComponent({
|
|
|
35118
35373
|
});
|
|
35119
35374
|
const Row = withInstall(_sfc_main$1F);
|
|
35120
35375
|
const _RowComponent = Row;
|
|
35376
|
+
function focusExplicitSlider(event) {
|
|
35377
|
+
if (event.defaultPrevented || event.button !== 0) return;
|
|
35378
|
+
const label = event.currentTarget;
|
|
35379
|
+
if (!label || label.nodeType !== 1 || label.tagName !== "LABEL") return;
|
|
35380
|
+
const origin = event.target;
|
|
35381
|
+
const interactive2 = origin?.nodeType === 1 ? origin.closest('a[href],button,input,select,textarea,[contenteditable]:not([contenteditable="false"]),[role="button"],[role="link"],[role="checkbox"],[role="radio"],[role="switch"],[role="textbox"],[role="combobox"],[role="slider"]') : null;
|
|
35382
|
+
if (interactive2 && interactive2 !== label && label.contains(interactive2)) return;
|
|
35383
|
+
const id = label.getAttribute("for");
|
|
35384
|
+
if (!id || label.control) return;
|
|
35385
|
+
const root = label.getRootNode();
|
|
35386
|
+
if (typeof root.getElementById !== "function") return;
|
|
35387
|
+
const target2 = root.getElementById(id);
|
|
35388
|
+
if (!target2) return;
|
|
35389
|
+
const previous = root.activeElement;
|
|
35390
|
+
const previousDocument = label.ownerDocument.activeElement;
|
|
35391
|
+
setTimeout(() => {
|
|
35392
|
+
if (event.defaultPrevented || !label.isConnected || label.getAttribute("for") !== id || root.getElementById(id) !== target2 || root.activeElement !== previous || label.ownerDocument.activeElement !== previousDocument) return;
|
|
35393
|
+
const sliders = target2.matches('[role="slider"]') ? [target2] : Array.from(target2.querySelectorAll('[role="slider"]'));
|
|
35394
|
+
if (sliders.length !== 1) return;
|
|
35395
|
+
const slider = sliders[0];
|
|
35396
|
+
if (target2 !== slider && !Array.from(target2.classList).some((name2) => name2.endsWith("-slider") && slider.classList.contains(`${name2}__thumb`))) return;
|
|
35397
|
+
if (slider.tabIndex < 0 || slider.getAttribute("aria-disabled") === "true" || slider.closest('[inert], [aria-hidden="true"]')) return;
|
|
35398
|
+
slider.focus();
|
|
35399
|
+
}, 0);
|
|
35400
|
+
}
|
|
35121
35401
|
function resolveFormItemStatus(explicit, automatic) {
|
|
35122
35402
|
return explicit ?? automatic;
|
|
35123
35403
|
}
|
|
@@ -35155,7 +35435,7 @@ const _sfc_main$1E = /* @__PURE__ */ vue.defineComponent({
|
|
|
35155
35435
|
ref_key: "labelRef",
|
|
35156
35436
|
ref: labelRef,
|
|
35157
35437
|
class: __props.labelClass
|
|
35158
|
-
}, __props.attrs), {
|
|
35438
|
+
}, __props.attrs, { onClick: vue.unref(focusExplicitSlider) }), {
|
|
35159
35439
|
default: vue.withCtx(() => [
|
|
35160
35440
|
__props.required && __props.asteriskPosition === "start" ? (vue.openBlock(), vue.createElementBlock("strong", {
|
|
35161
35441
|
key: 0,
|
|
@@ -35187,7 +35467,7 @@ const _sfc_main$1E = /* @__PURE__ */ vue.defineComponent({
|
|
|
35187
35467
|
vue.createTextVNode(" " + vue.toDisplayString(__props.showColon ? ":" : ""), 1)
|
|
35188
35468
|
]),
|
|
35189
35469
|
_: 3
|
|
35190
|
-
}, 16, ["class"])),
|
|
35470
|
+
}, 16, ["class", "onClick"])),
|
|
35191
35471
|
__props.tooltip ? (vue.openBlock(), vue.createBlock(vue.unref(Tooltip), {
|
|
35192
35472
|
key: 0,
|
|
35193
35473
|
content: __props.tooltip,
|
|
@@ -35483,14 +35763,38 @@ const _sfc_main$1C = vue.defineComponent({
|
|
|
35483
35763
|
const isRequired = vue.computed(
|
|
35484
35764
|
() => mergedRules.value.some((item) => item.required)
|
|
35485
35765
|
);
|
|
35486
|
-
const formItemCtx =
|
|
35487
|
-
const
|
|
35488
|
-
|
|
35489
|
-
|
|
35766
|
+
const formItemCtx = vue.inject(formItemInjectionKey, void 0);
|
|
35767
|
+
const feedbackOwner = Symbol("form-item-feedback");
|
|
35768
|
+
const feedbackSources = /* @__PURE__ */ new Map();
|
|
35769
|
+
const updateValidateState = (field2, { status, message }, owner = feedbackOwner) => {
|
|
35770
|
+
let sources = feedbackSources.get(field2);
|
|
35771
|
+
if (!sources) {
|
|
35772
|
+
sources = /* @__PURE__ */ new Map();
|
|
35773
|
+
feedbackSources.set(field2, sources);
|
|
35774
|
+
}
|
|
35775
|
+
if (status || message) {
|
|
35776
|
+
sources.delete(owner);
|
|
35777
|
+
sources.set(owner, { status, message });
|
|
35778
|
+
} else sources.delete(owner);
|
|
35779
|
+
let effective = { status: "", message: "" };
|
|
35780
|
+
for (const candidate of sources.values()) {
|
|
35781
|
+
const rank = candidate.status ? VALIDATE_STATUSES.indexOf(candidate.status) : -1;
|
|
35782
|
+
const currentRank = effective.status ? VALIDATE_STATUSES.indexOf(effective.status) : -1;
|
|
35783
|
+
if (rank >= currentRank) effective = candidate;
|
|
35784
|
+
}
|
|
35785
|
+
if (!sources.size) feedbackSources.delete(field2);
|
|
35786
|
+
validateStatus[field2] = effective.status;
|
|
35787
|
+
validateMessage[field2] = effective.message;
|
|
35490
35788
|
if (props2.noStyle) {
|
|
35491
|
-
formItemCtx?.updateValidateState(field2,
|
|
35789
|
+
formItemCtx?.updateValidateState(field2, effective, feedbackOwner);
|
|
35492
35790
|
}
|
|
35493
35791
|
};
|
|
35792
|
+
vue.watch(() => props2.noStyle, (noStyle) => {
|
|
35793
|
+
if (!formItemCtx) return;
|
|
35794
|
+
for (const name2 of Object.keys(validateStatus)) {
|
|
35795
|
+
formItemCtx.updateValidateState(name2, noStyle ? { status: validateStatus[name2], message: validateMessage[name2] ?? "" } : { status: "", message: "" }, feedbackOwner);
|
|
35796
|
+
}
|
|
35797
|
+
}, { flush: "sync" });
|
|
35494
35798
|
const computedFeedback = vue.computed(
|
|
35495
35799
|
() => props2.feedback && computedValidateStatus.value ? computedValidateStatus.value : void 0
|
|
35496
35800
|
);
|
|
@@ -35705,8 +36009,6 @@ const _sfc_main$1C = vue.defineComponent({
|
|
|
35705
36009
|
validateDisabled.value = false;
|
|
35706
36010
|
for (const name2 of Object.keys(validateStatus)) {
|
|
35707
36011
|
updateValidateState(name2, { status: "", message: "" });
|
|
35708
|
-
delete validateStatus[name2];
|
|
35709
|
-
delete validateMessage[name2];
|
|
35710
36012
|
}
|
|
35711
36013
|
captureInitialValue();
|
|
35712
36014
|
registerCurrentField();
|
|
@@ -35720,6 +36022,11 @@ const _sfc_main$1C = vue.defineComponent({
|
|
|
35720
36022
|
active = false;
|
|
35721
36023
|
fieldMounted = false;
|
|
35722
36024
|
validation.invalidate();
|
|
36025
|
+
if (props2.noStyle && formItemCtx) {
|
|
36026
|
+
for (const name2 of Object.keys(validateStatus)) {
|
|
36027
|
+
formItemCtx.updateValidateState(name2, { status: "", message: "" }, feedbackOwner);
|
|
36028
|
+
}
|
|
36029
|
+
}
|
|
35723
36030
|
unregisterCurrentField();
|
|
35724
36031
|
});
|
|
35725
36032
|
const cls = vue.computed(() => [
|
|
@@ -38252,7 +38559,7 @@ const _sfc_main$1s = vue.defineComponent({
|
|
|
38252
38559
|
});
|
|
38253
38560
|
const _hoisted_1$Q = ["src", "alt"];
|
|
38254
38561
|
const _hoisted_2$m = ["disabled", "aria-label"];
|
|
38255
|
-
const _hoisted_3$
|
|
38562
|
+
const _hoisted_3$d = ["disabled", "aria-label"];
|
|
38256
38563
|
function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
|
|
38257
38564
|
const _component_ImagePreview = vue.resolveComponent("ImagePreview");
|
|
38258
38565
|
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
|
|
@@ -38344,7 +38651,7 @@ function _sfc_render$u(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
38344
38651
|
disabled: !_ctx.loop && _ctx.mergedCurrent === _ctx.previewImages.length - 1,
|
|
38345
38652
|
"aria-label": _ctx.actionLabels.next,
|
|
38346
38653
|
onClick: _cache[5] || (_cache[5] = (...args) => _ctx.next && _ctx.next(...args))
|
|
38347
|
-
}, " › ", 10, _hoisted_3$
|
|
38654
|
+
}, " › ", 10, _hoisted_3$d)) : vue.createCommentVNode("", true),
|
|
38348
38655
|
vue.renderSlot(_ctx.$slots, "indicator", {
|
|
38349
38656
|
imageNumber: _ctx.mergedCurrent + 1,
|
|
38350
38657
|
length: _ctx.previewImages.length
|
|
@@ -40584,7 +40891,7 @@ const _sfc_main$1k = /* @__PURE__ */ vue.defineComponent({
|
|
|
40584
40891
|
});
|
|
40585
40892
|
const _hoisted_1$N = ["inert"];
|
|
40586
40893
|
const _hoisted_2$l = ["aria-expanded", "aria-label"];
|
|
40587
|
-
const _hoisted_3$
|
|
40894
|
+
const _hoisted_3$c = { key: 0 };
|
|
40588
40895
|
const _hoisted_4$8 = { key: 1 };
|
|
40589
40896
|
function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
|
|
40590
40897
|
const _component_IconLeft = vue.resolveComponent("IconLeft");
|
|
@@ -40617,7 +40924,7 @@ function _sfc_render$n(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
40617
40924
|
onClick: _cache[1] || (_cache[1] = (...args) => _ctx.toggleTrigger && _ctx.toggleTrigger(...args))
|
|
40618
40925
|
}, [
|
|
40619
40926
|
vue.renderSlot(_ctx.$slots, "trigger", { collapsed: _ctx.localCollapsed }, () => [
|
|
40620
|
-
!_ctx.arrowReversed ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$
|
|
40927
|
+
!_ctx.arrowReversed ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$c, [
|
|
40621
40928
|
!_ctx.localCollapsed ? (vue.openBlock(), vue.createBlock(_component_IconLeft, { key: 0 })) : (vue.openBlock(), vue.createBlock(_component_IconRight, { key: 1 }))
|
|
40622
40929
|
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$8, [
|
|
40623
40930
|
_ctx.localCollapsed ? (vue.openBlock(), vue.createBlock(_component_IconLeft, { key: 0 })) : (vue.openBlock(), vue.createBlock(_component_IconRight, { key: 1 }))
|
|
@@ -41061,7 +41368,7 @@ const _sfc_main$1h = vue.defineComponent({
|
|
|
41061
41368
|
});
|
|
41062
41369
|
const _hoisted_1$L = ["id", "aria-label", "aria-describedby"];
|
|
41063
41370
|
const _hoisted_2$k = ["aria-busy"];
|
|
41064
|
-
const _hoisted_3$
|
|
41371
|
+
const _hoisted_3$b = ["id"];
|
|
41065
41372
|
function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
|
|
41066
41373
|
const _component_icon_info_circle_fill = vue.resolveComponent("icon-info-circle-fill");
|
|
41067
41374
|
const _component_icon_check_circle_fill = vue.resolveComponent("icon-check-circle-fill");
|
|
@@ -41114,7 +41421,7 @@ function _sfc_render$m(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
41114
41421
|
vue.renderSlot(_ctx.$slots, "content", {}, () => [
|
|
41115
41422
|
vue.createTextVNode(vue.toDisplayString(_ctx.content), 1)
|
|
41116
41423
|
])
|
|
41117
|
-
], 10, _hoisted_3$
|
|
41424
|
+
], 10, _hoisted_3$b)
|
|
41118
41425
|
], 10, _hoisted_2$k),
|
|
41119
41426
|
vue.createElementVNode("div", {
|
|
41120
41427
|
class: vue.normalizeClass(`${_ctx.prefixCls}-footer`)
|
|
@@ -41578,7 +41885,7 @@ const _sfc_main$1g = /* @__PURE__ */ vue.defineComponent({
|
|
|
41578
41885
|
name: "suffix",
|
|
41579
41886
|
fn: vue.withCtx(() => [
|
|
41580
41887
|
vue.renderSlot(_ctx.$slots, "suffix"),
|
|
41581
|
-
vue.createVNode(_sfc_main$
|
|
41888
|
+
vue.createVNode(_sfc_main$2_, { status: vue.unref(feedback) }, null, 8, ["status"])
|
|
41582
41889
|
]),
|
|
41583
41890
|
key: "2"
|
|
41584
41891
|
} : void 0
|
|
@@ -46157,7 +46464,7 @@ const _sfc_main$19 = /* @__PURE__ */ vue.defineComponent({
|
|
|
46157
46464
|
setup(__props, { emit: __emit }) {
|
|
46158
46465
|
const emit = __emit;
|
|
46159
46466
|
return (_ctx, _cache) => {
|
|
46160
|
-
return vue.openBlock(), vue.createBlock(vue.unref(
|
|
46467
|
+
return vue.openBlock(), vue.createBlock(vue.unref(SearchInput), {
|
|
46161
46468
|
"edit-mode": "direct",
|
|
46162
46469
|
"model-value": __props.modelValue,
|
|
46163
46470
|
size: __props.size,
|
|
@@ -46647,7 +46954,7 @@ const _sfc_main$14 = /* @__PURE__ */ vue.defineComponent({
|
|
|
46647
46954
|
});
|
|
46648
46955
|
const Paper = withInstall(_sfc_main$14);
|
|
46649
46956
|
const _PaperComponent = Paper;
|
|
46650
|
-
const identity = (value) => value === null || typeof value === "string";
|
|
46957
|
+
const identity = (value) => value === null || typeof value === "string" || Array.isArray(value) && value.every((id) => typeof id === "string");
|
|
46651
46958
|
const peopleSelectEmits = {
|
|
46652
46959
|
"update:modelValue": identity,
|
|
46653
46960
|
"update:open": (open2) => typeof open2 === "boolean",
|
|
@@ -46724,7 +47031,7 @@ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
|
|
|
46724
47031
|
}, ["stop"]))
|
|
46725
47032
|
}, [
|
|
46726
47033
|
vue.renderSlot(_ctx.$slots, "default", {}, () => [
|
|
46727
|
-
__props.showPhone ? (vue.openBlock(), vue.createBlock(vue.unref(Button), {
|
|
47034
|
+
__props.showPhone ? (vue.openBlock(), vue.createBlock(vue.unref(Button$1), {
|
|
46728
47035
|
key: 0,
|
|
46729
47036
|
size: "xs",
|
|
46730
47037
|
variant: "text",
|
|
@@ -46751,7 +47058,7 @@ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
|
|
|
46751
47058
|
])]),
|
|
46752
47059
|
_: 1
|
|
46753
47060
|
}, 8, ["disabled", "aria-label", "loading"])) : vue.createCommentVNode("", true),
|
|
46754
|
-
__props.showChat ? (vue.openBlock(), vue.createBlock(vue.unref(Button), {
|
|
47061
|
+
__props.showChat ? (vue.openBlock(), vue.createBlock(vue.unref(Button$1), {
|
|
46755
47062
|
key: 1,
|
|
46756
47063
|
size: "xs",
|
|
46757
47064
|
variant: "text",
|
|
@@ -46789,8 +47096,47 @@ const _sfc_main$13 = /* @__PURE__ */ vue.defineComponent({
|
|
|
46789
47096
|
};
|
|
46790
47097
|
}
|
|
46791
47098
|
});
|
|
47099
|
+
function personIds(value) {
|
|
47100
|
+
return Array.isArray(value) ? value : value == null ? [] : [value];
|
|
47101
|
+
}
|
|
47102
|
+
function useSelectedPeople(props2, value, options) {
|
|
47103
|
+
const cache2 = vue.shallowRef(/* @__PURE__ */ new Map());
|
|
47104
|
+
vue.watch([options, value], () => {
|
|
47105
|
+
const next = /* @__PURE__ */ new Map();
|
|
47106
|
+
for (const id of personIds(value.value)) {
|
|
47107
|
+
const person = options.value.find((option2) => option2.value === id) ?? cache2.value.get(id);
|
|
47108
|
+
if (person) next.set(id, person);
|
|
47109
|
+
}
|
|
47110
|
+
cache2.value = next;
|
|
47111
|
+
}, { immediate: true, flush: "sync" });
|
|
47112
|
+
function resolve(id) {
|
|
47113
|
+
const current = options.value.find((option2) => option2.value === id);
|
|
47114
|
+
if (current) return current;
|
|
47115
|
+
if (typeof props2.fallbackOption === "function") return props2.fallbackOption(id);
|
|
47116
|
+
if (props2.fallbackOption !== false) {
|
|
47117
|
+
if (!props2.multiple && props2.label) return { ...cache2.value.get(id), value: id, label: props2.label };
|
|
47118
|
+
const cached = cache2.value.get(id);
|
|
47119
|
+
if (cached) return cached;
|
|
47120
|
+
}
|
|
47121
|
+
return { value: id, label: props2.fallbackOption === false ? props2.defaultText ?? "-" : !props2.multiple && props2.label || id || (props2.defaultText ?? "-") };
|
|
47122
|
+
}
|
|
47123
|
+
return {
|
|
47124
|
+
people: vue.computed(() => personIds(value.value).map(resolve)),
|
|
47125
|
+
resolve
|
|
47126
|
+
};
|
|
47127
|
+
}
|
|
47128
|
+
function peopleText(value, props2) {
|
|
47129
|
+
return personIds(value).map((id) => {
|
|
47130
|
+
const option2 = Array.isArray(props2.options) ? props2.options.find((person) => person.value === id) : void 0;
|
|
47131
|
+
if (option2) return option2.label;
|
|
47132
|
+
if (typeof props2.fallbackOption === "function") return props2.fallbackOption(id).label;
|
|
47133
|
+
return !props2.multiple && props2.label || id || (props2.defaultText ?? "-");
|
|
47134
|
+
}).join(", ");
|
|
47135
|
+
}
|
|
46792
47136
|
const peopleSelectProps = {
|
|
46793
47137
|
...fieldLoadingProps,
|
|
47138
|
+
/** 弹出编辑是否需要确认;未设置时单选即提交,多选保留确认。 */
|
|
47139
|
+
needConfirm: { type: Boolean, default: void 0 },
|
|
46794
47140
|
...fieldPresentationProps,
|
|
46795
47141
|
emptyValue: emptyValueProp(),
|
|
46796
47142
|
/** Reactive display data for a selected value absent from options. */
|
|
@@ -46828,9 +47174,13 @@ const peopleSelectProps = {
|
|
|
46828
47174
|
type: String,
|
|
46829
47175
|
default: "-"
|
|
46830
47176
|
},
|
|
46831
|
-
|
|
46832
|
-
|
|
46833
|
-
|
|
47177
|
+
multiple: selectProps.multiple,
|
|
47178
|
+
modelValue: { type: [String, Array], default: void 0 },
|
|
47179
|
+
/** 非受控初始选中人员 ID 或 ID 数组,仅创建时读取。 */
|
|
47180
|
+
defaultValue: {
|
|
47181
|
+
type: [String, Array],
|
|
47182
|
+
default: (props2) => props2.multiple ? [] : ""
|
|
47183
|
+
},
|
|
46834
47184
|
isLabel: {
|
|
46835
47185
|
type: Boolean,
|
|
46836
47186
|
default: false
|
|
@@ -46854,12 +47204,7 @@ const Base$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
46854
47204
|
name: name$r,
|
|
46855
47205
|
inheritAttrs: false,
|
|
46856
47206
|
props: peopleSelectProps,
|
|
46857
|
-
emits:
|
|
46858
|
-
"update:modelValue": (value) => value === null || typeof value === "string",
|
|
46859
|
-
change: (value) => value === null || typeof value === "string",
|
|
46860
|
-
clear: () => true,
|
|
46861
|
-
search: (query) => typeof query === "string"
|
|
46862
|
-
},
|
|
47207
|
+
emits: peopleSelectEmits,
|
|
46863
47208
|
setup(props2, {
|
|
46864
47209
|
emit,
|
|
46865
47210
|
attrs,
|
|
@@ -46885,10 +47230,10 @@ const Base$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
46885
47230
|
...option2
|
|
46886
47231
|
})));
|
|
46887
47232
|
const blocked2 = () => mergedDisabled.value || mergedReadonly.value || props2.loading;
|
|
46888
|
-
const label = vue.computed(() => (
|
|
47233
|
+
const label = vue.computed(() => peopleText(value.value, props2));
|
|
46889
47234
|
const commit = (next) => {
|
|
46890
47235
|
if (blocked2()) return;
|
|
46891
|
-
const text = next === null ? null : typeof next === "string" ? next : "";
|
|
47236
|
+
const text = next === null ? null : props2.multiple ? Array.isArray(next) ? next.filter((id) => typeof id === "string") : [] : typeof next === "string" ? next : "";
|
|
46892
47237
|
if (props2.modelValue === void 0) localValue.value = text;
|
|
46893
47238
|
emit("update:modelValue", text);
|
|
46894
47239
|
emit("change", text);
|
|
@@ -46899,6 +47244,7 @@ const Base$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
46899
47244
|
name: props2.name
|
|
46900
47245
|
}, {
|
|
46901
47246
|
"placeholder": props2.placeholder,
|
|
47247
|
+
"multiple": props2.multiple,
|
|
46902
47248
|
"clearable": props2.clearable,
|
|
46903
47249
|
"emptyValue": props2.emptyValue,
|
|
46904
47250
|
"filterable": props2.filterable,
|
|
@@ -46929,10 +47275,11 @@ const Base$4 = /* @__PURE__ */ vue.defineComponent({
|
|
|
46929
47275
|
}
|
|
46930
47276
|
});
|
|
46931
47277
|
const Presented = withFieldPresentation(Base$4, {
|
|
47278
|
+
selectionConfirmation: "update",
|
|
46932
47279
|
methods: ["focus", "blur"],
|
|
46933
|
-
text:
|
|
47280
|
+
text: peopleText,
|
|
46934
47281
|
editor: ({ props: props2, attrs, value, update, emit, slots, disabled, readonly }) => vue.h(
|
|
46935
|
-
_sfc_main$
|
|
47282
|
+
_sfc_main$31,
|
|
46936
47283
|
{ kind: "people-select" },
|
|
46937
47284
|
() => vue.h(
|
|
46938
47285
|
Base$4,
|
|
@@ -46981,44 +47328,16 @@ const _PeopleSelect = vue.defineComponent({
|
|
|
46981
47328
|
const options = vue.computed(
|
|
46982
47329
|
() => Array.isArray(props2.options) ? props2.options : source.data.value
|
|
46983
47330
|
);
|
|
46984
|
-
const
|
|
46985
|
-
vue.
|
|
46986
|
-
|
|
46987
|
-
|
|
46988
|
-
const person = options.value.find(
|
|
46989
|
-
(person2) => person2.value === value.value
|
|
46990
|
-
);
|
|
46991
|
-
if (person) selectedCache.value = person;
|
|
46992
|
-
else if (selectedCache.value?.value !== value.value)
|
|
46993
|
-
selectedCache.value = void 0;
|
|
46994
|
-
},
|
|
46995
|
-
{ immediate: true }
|
|
46996
|
-
);
|
|
46997
|
-
const selected = vue.computed(() => {
|
|
46998
|
-
const current = options.value.find(
|
|
46999
|
-
(person) => person.value === value.value
|
|
47000
|
-
);
|
|
47001
|
-
if (current) return current;
|
|
47002
|
-
if (typeof props2.fallbackOption === "function" && value.value != null) {
|
|
47003
|
-
return props2.fallbackOption(value.value);
|
|
47004
|
-
}
|
|
47005
|
-
if (props2.fallbackOption !== false && props2.label)
|
|
47006
|
-
return {
|
|
47007
|
-
...selectedCache.value,
|
|
47008
|
-
value: value.value ?? "",
|
|
47009
|
-
label: props2.label
|
|
47010
|
-
};
|
|
47011
|
-
if (props2.fallbackOption !== false && selectedCache.value?.value === value.value)
|
|
47012
|
-
return selectedCache.value;
|
|
47013
|
-
return {
|
|
47014
|
-
value: value.value ?? "",
|
|
47015
|
-
label: props2.fallbackOption === false ? props2.defaultText : props2.label || value.value || props2.defaultText
|
|
47016
|
-
};
|
|
47331
|
+
const selection = useSelectedPeople(props2, value, options);
|
|
47332
|
+
const selected = vue.computed(() => selection.people.value[0] ?? {
|
|
47333
|
+
value: "",
|
|
47334
|
+
label: props2.label || props2.defaultText
|
|
47017
47335
|
});
|
|
47018
47336
|
const readScope = vue.computed(() => ({
|
|
47019
47337
|
value: value.value,
|
|
47020
|
-
text: emptyPolicy.isEmpty(value.value) ? emptyPolicy.emptyText.value :
|
|
47021
|
-
person: selected.value
|
|
47338
|
+
text: emptyPolicy.isEmpty(value.value) ? emptyPolicy.emptyText.value : selection.people.value.map((person) => person.label).join(", "),
|
|
47339
|
+
person: selected.value,
|
|
47340
|
+
...props2.multiple ? { people: selection.people.value } : {}
|
|
47022
47341
|
}));
|
|
47023
47342
|
const childOptions = options;
|
|
47024
47343
|
async function load(query) {
|
|
@@ -47054,15 +47373,15 @@ const _PeopleSelect = vue.defineComponent({
|
|
|
47054
47373
|
if (emptyPolicy.isEmpty(value.value)) {
|
|
47055
47374
|
return emptyPolicy.emptyText.value;
|
|
47056
47375
|
}
|
|
47057
|
-
const
|
|
47058
|
-
|
|
47059
|
-
|
|
47060
|
-
|
|
47061
|
-
|
|
47062
|
-
|
|
47063
|
-
_sfc_main$13,
|
|
47064
|
-
|
|
47065
|
-
person
|
|
47376
|
+
const renderPerson = (person) => {
|
|
47377
|
+
const scope = {
|
|
47378
|
+
person,
|
|
47379
|
+
disabled: form.mergedDisabled.value || !person.value || !!person.disabled
|
|
47380
|
+
};
|
|
47381
|
+
const actions = slots.actions ? slots.actions(scope) : props2.renderActions?.(scope);
|
|
47382
|
+
return vue.h(_sfc_main$13, {
|
|
47383
|
+
key: person.value,
|
|
47384
|
+
person,
|
|
47066
47385
|
showAvatar: props2.showAvatar,
|
|
47067
47386
|
disabled: scope.disabled,
|
|
47068
47387
|
showPhone: props2.showPhone,
|
|
@@ -47070,9 +47389,9 @@ const _PeopleSelect = vue.defineComponent({
|
|
|
47070
47389
|
call: props2.call,
|
|
47071
47390
|
chat: props2.chat,
|
|
47072
47391
|
onActionError: (error, action) => emit("action-error", error, action)
|
|
47073
|
-
},
|
|
47074
|
-
|
|
47075
|
-
);
|
|
47392
|
+
}, actions == null ? void 0 : { default: () => actions });
|
|
47393
|
+
};
|
|
47394
|
+
return props2.multiple ? vue.h("span", { class: "c-people-select-people" }, selection.people.value.map(renderPerson)) : renderPerson(selected.value);
|
|
47076
47395
|
};
|
|
47077
47396
|
const personSlots = () => ({
|
|
47078
47397
|
...slots,
|
|
@@ -47094,8 +47413,8 @@ const _PeopleSelect = vue.defineComponent({
|
|
|
47094
47413
|
ref: control,
|
|
47095
47414
|
modelValue: value.value,
|
|
47096
47415
|
options: childOptions.value,
|
|
47097
|
-
label: selected.value.label,
|
|
47098
|
-
fallbackOption: props2.fallbackOption === false ? false :
|
|
47416
|
+
label: props2.multiple ? "" : selected.value.label,
|
|
47417
|
+
fallbackOption: props2.fallbackOption === false ? false : selection.resolve,
|
|
47099
47418
|
loading: props2.loading || source.loading.value,
|
|
47100
47419
|
filterOption: props2.filterOption ?? !remote.value,
|
|
47101
47420
|
"onUpdate:modelValue": update,
|
|
@@ -47298,7 +47617,7 @@ function useProgressSize(size) {
|
|
|
47298
47617
|
}
|
|
47299
47618
|
const _hoisted_1$B = ["aria-valuenow", "aria-busy"];
|
|
47300
47619
|
const _hoisted_2$h = ["viewBox"];
|
|
47301
|
-
const _hoisted_3$
|
|
47620
|
+
const _hoisted_3$a = { key: 0 };
|
|
47302
47621
|
const _hoisted_4$7 = ["offset", "stop-color"];
|
|
47303
47622
|
const _hoisted_5$3 = ["cx", "cy", "r", "stroke-width"];
|
|
47304
47623
|
const _hoisted_6$2 = ["cx", "cy", "r", "stroke-width", "stroke-dasharray", "stroke-dashoffset"];
|
|
@@ -47429,7 +47748,7 @@ const _sfc_main$12 = /* @__PURE__ */ vue.defineComponent({
|
|
|
47429
47748
|
viewBox: `0 0 ${vue.unref(diameter)} ${vue.unref(diameter)}`,
|
|
47430
47749
|
"aria-hidden": "true"
|
|
47431
47750
|
}, [
|
|
47432
|
-
gradient.value ? (vue.openBlock(), vue.createElementBlock("defs", _hoisted_3$
|
|
47751
|
+
gradient.value ? (vue.openBlock(), vue.createElementBlock("defs", _hoisted_3$a, [
|
|
47433
47752
|
vue.createElementVNode("linearGradient", {
|
|
47434
47753
|
id: gradientId,
|
|
47435
47754
|
x1: "0%",
|
|
@@ -47523,7 +47842,7 @@ const progressGroupProps = {
|
|
|
47523
47842
|
};
|
|
47524
47843
|
const _hoisted_1$A = ["aria-label", "data-orientation"];
|
|
47525
47844
|
const _hoisted_2$g = ["aria-valuemax", "aria-valuenow", "aria-label", "tabindex", "aria-describedby", "onMouseenter", "onFocus"];
|
|
47526
|
-
const _hoisted_3$
|
|
47845
|
+
const _hoisted_3$9 = ["r", "stroke-width"];
|
|
47527
47846
|
const _hoisted_4$6 = ["aria-valuemax", "aria-valuenow", "aria-label", "tabindex", "aria-describedby", "r", "stroke", "stroke-width", "stroke-dasharray", "stroke-dashoffset", "onFocus", "onMouseenter"];
|
|
47528
47847
|
const _hoisted_5$2 = ["r", "stroke", "stroke-width", "stroke-dasharray", "stroke-dashoffset"];
|
|
47529
47848
|
const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
|
|
@@ -47745,7 +48064,7 @@ const _sfc_main$11 = /* @__PURE__ */ vue.defineComponent({
|
|
|
47745
48064
|
fill: "none",
|
|
47746
48065
|
"stroke-width": normalizedStrokeWidth.value,
|
|
47747
48066
|
pathLength: "100"
|
|
47748
|
-
}, null, 10, _hoisted_3$
|
|
48067
|
+
}, null, 10, _hoisted_3$9),
|
|
47749
48068
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(circleSegments.value, (item, index) => {
|
|
47750
48069
|
return vue.openBlock(), vue.createElementBlock("circle", {
|
|
47751
48070
|
key: index,
|
|
@@ -51315,7 +51634,7 @@ const _hoisted_1$t = {
|
|
|
51315
51634
|
"aria-hidden": "true"
|
|
51316
51635
|
};
|
|
51317
51636
|
const _hoisted_2$f = ["title"];
|
|
51318
|
-
const _hoisted_3$
|
|
51637
|
+
const _hoisted_3$8 = ["title"];
|
|
51319
51638
|
const _hoisted_4$5 = ["dir"];
|
|
51320
51639
|
const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
|
|
51321
51640
|
...{ name: createNamespace$1("scheduler-event").name },
|
|
@@ -51713,7 +52032,7 @@ const _sfc_main$V = /* @__PURE__ */ vue.defineComponent({
|
|
|
51713
52032
|
onClick: _cache[4] || (_cache[4] = vue.withModifiers(() => {
|
|
51714
52033
|
}, ["stop"])),
|
|
51715
52034
|
onDragstart: _cache[5] || (_cache[5] = vue.withModifiers(($event) => begin($event, "start"), ["stop"]))
|
|
51716
|
-
}, null, 42, _hoisted_3$
|
|
52035
|
+
}, null, 42, _hoisted_3$8)) : vue.createCommentVNode("", true),
|
|
51717
52036
|
ghost.value ? (vue.openBlock(), vue.createBlock(vue.Teleport, {
|
|
51718
52037
|
key: 2,
|
|
51719
52038
|
to: "body"
|
|
@@ -53136,7 +53455,7 @@ const _sfc_main$S = /* @__PURE__ */ vue.defineComponent({
|
|
|
53136
53455
|
});
|
|
53137
53456
|
const _hoisted_1$p = ["aria-current", "data-scheduler-heading-date"];
|
|
53138
53457
|
const _hoisted_2$d = ["data-scheduler-date", "data-scheduler-resource", "tabindex", "aria-disabled", "aria-label", "onDrop", "onClick", "onKeydown"];
|
|
53139
|
-
const _hoisted_3$
|
|
53458
|
+
const _hoisted_3$7 = ["aria-label"];
|
|
53140
53459
|
const _hoisted_4$4 = ["onClickCapture", "onFocusin"];
|
|
53141
53460
|
const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
|
|
53142
53461
|
...{ name: createNamespace$1("scheduler-time-grid").name },
|
|
@@ -53696,7 +54015,7 @@ const _sfc_main$R = /* @__PURE__ */ vue.defineComponent({
|
|
|
53696
54015
|
}),
|
|
53697
54016
|
role: "img",
|
|
53698
54017
|
"aria-label": `${__props.messages.currentTime}: ${__props.now.toLocaleTimeString(__props.locale, { hour: "2-digit", minute: "2-digit", hour12: false })}`
|
|
53699
|
-
}, null, 14, _hoisted_3$
|
|
54018
|
+
}, null, 14, _hoisted_3$7)) : vue.createCommentVNode("", true),
|
|
53700
54019
|
vue.createElementVNode("div", {
|
|
53701
54020
|
class: vue.normalizeClass(vue.unref(n2)("event-layer"))
|
|
53702
54021
|
}, [
|
|
@@ -54452,7 +54771,7 @@ const _hoisted_2$c = {
|
|
|
54452
54771
|
dir: "ltr",
|
|
54453
54772
|
"aria-hidden": "true"
|
|
54454
54773
|
};
|
|
54455
|
-
const _hoisted_3$
|
|
54774
|
+
const _hoisted_3$6 = {
|
|
54456
54775
|
dir: "ltr",
|
|
54457
54776
|
"aria-hidden": "true"
|
|
54458
54777
|
};
|
|
@@ -55534,7 +55853,7 @@ const _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
|
|
|
55534
55853
|
onClick: _cache[2] || (_cache[2] = ($event) => navigate(1))
|
|
55535
55854
|
}, {
|
|
55536
55855
|
default: vue.withCtx(() => [
|
|
55537
|
-
vue.createElementVNode("span", _hoisted_3$
|
|
55856
|
+
vue.createElementVNode("span", _hoisted_3$6, vue.toDisplayString(vue.unref(isRtl) ? "‹" : "›"), 1)
|
|
55538
55857
|
]),
|
|
55539
55858
|
_: 1
|
|
55540
55859
|
}, 8, ["disabled", "aria-label"]),
|
|
@@ -56632,7 +56951,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
|
|
|
56632
56951
|
vue.createTextVNode(vue.toDisplayString(__props.settings.label), 1)
|
|
56633
56952
|
])
|
|
56634
56953
|
], 10, _hoisted_1$n)) : vue.createCommentVNode("", true),
|
|
56635
|
-
vue.createVNode(vue.unref(
|
|
56954
|
+
vue.createVNode(vue.unref(SearchInput), vue.mergeProps({
|
|
56636
56955
|
ref_key: "inputRef",
|
|
56637
56956
|
ref: inputRef,
|
|
56638
56957
|
loading: __props.settings.loading && __props.settings.loadingMode === "line",
|
|
@@ -56678,7 +56997,7 @@ const _sfc_main$L = /* @__PURE__ */ vue.defineComponent({
|
|
|
56678
56997
|
key: "2"
|
|
56679
56998
|
} : void 0
|
|
56680
56999
|
]), 1040, ["loading", "loading-mode", "model-value", "empty-value", "input-attrs", "error", "placeholder", "class", "onUpdate:modelValue", "onInput", "onChange", "onClear", "onPressEnter", "onBlur", "onFocus"]),
|
|
56681
|
-
vue.createVNode(vue.unref(Button), {
|
|
57000
|
+
vue.createVNode(vue.unref(Button$1), {
|
|
56682
57001
|
class: vue.normalizeClass(vue.unref(n2)("cancel")),
|
|
56683
57002
|
variant: "text",
|
|
56684
57003
|
disabled: __props.state.searchDisabled,
|
|
@@ -56989,7 +57308,7 @@ function useSearchInput(props2, popupActive, referenceAttrs = () => ({})) {
|
|
|
56989
57308
|
}
|
|
56990
57309
|
const _hoisted_1$m = ["aria-busy"];
|
|
56991
57310
|
const _hoisted_2$a = ["for", "aria-hidden"];
|
|
56992
|
-
const _hoisted_3$
|
|
57311
|
+
const _hoisted_3$5 = ["disabled", "aria-label"];
|
|
56993
57312
|
const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
56994
57313
|
...{ name: createNamespace$1("search").name, inheritAttrs: false },
|
|
56995
57314
|
__name: "search",
|
|
@@ -57061,7 +57380,7 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
|
57061
57380
|
});
|
|
57062
57381
|
__expose({ focus, blur });
|
|
57063
57382
|
return (_ctx, _cache) => {
|
|
57064
|
-
return vue.unref(readPretty) ? (vue.openBlock(), vue.createBlock(_sfc_main$
|
|
57383
|
+
return vue.unref(readPretty) ? (vue.openBlock(), vue.createBlock(_sfc_main$32, {
|
|
57065
57384
|
key: 0,
|
|
57066
57385
|
"edit-mode": "direct",
|
|
57067
57386
|
"read-pretty": true,
|
|
@@ -57086,7 +57405,7 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
|
57086
57405
|
class: vue.normalizeClass([vue.unref(classes2)(vue.unref(n2)(), vue.unref(n2)(`--${_ctx.shape}`)), vue.unref(attrs).class]),
|
|
57087
57406
|
style: vue.normalizeStyle([{ background: _ctx.background }, vue.unref(attrs).style])
|
|
57088
57407
|
}, [
|
|
57089
|
-
vue.createVNode(_sfc_main$
|
|
57408
|
+
vue.createVNode(_sfc_main$2l, {
|
|
57090
57409
|
size: vue.unref(mergedSize),
|
|
57091
57410
|
disabled: vue.unref(mergedDisabled),
|
|
57092
57411
|
readonly: vue.unref(mergedReadonly),
|
|
@@ -57123,7 +57442,7 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
|
57123
57442
|
}, {
|
|
57124
57443
|
content: vue.withCtx(() => [
|
|
57125
57444
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.recentSearches, (item, index) => {
|
|
57126
|
-
return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$
|
|
57445
|
+
return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$2M), {
|
|
57127
57446
|
key: index,
|
|
57128
57447
|
value: item,
|
|
57129
57448
|
label: item
|
|
@@ -57131,7 +57450,7 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
|
57131
57450
|
}), 128))
|
|
57132
57451
|
]),
|
|
57133
57452
|
default: vue.withCtx(() => [
|
|
57134
|
-
vue.createVNode(_sfc_main$
|
|
57453
|
+
vue.createVNode(_sfc_main$2Z, vue.mergeProps({
|
|
57135
57454
|
loading: _ctx.loading && _ctx.loadingMode === "line",
|
|
57136
57455
|
"loading-mode": _ctx.loadingMode
|
|
57137
57456
|
}, fallthroughInputAttrs.value, {
|
|
@@ -57180,7 +57499,7 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
|
57180
57499
|
key: 2,
|
|
57181
57500
|
name: _ctx.searchIcon
|
|
57182
57501
|
}, null, 8, ["name"]))
|
|
57183
|
-
], 10, _hoisted_3$
|
|
57502
|
+
], 10, _hoisted_3$5)) : vue.createCommentVNode("", true),
|
|
57184
57503
|
vue.renderSlot(_ctx.$slots, "suffix")
|
|
57185
57504
|
]),
|
|
57186
57505
|
_: 2
|
|
@@ -57203,7 +57522,7 @@ const _sfc_main$K = /* @__PURE__ */ vue.defineComponent({
|
|
|
57203
57522
|
]),
|
|
57204
57523
|
_: 3
|
|
57205
57524
|
}, 8, ["open", "popup-container", "onUpdate:open", "onSelect"]),
|
|
57206
|
-
vue.unref(effectiveShowAction) ? (vue.openBlock(), vue.createBlock(vue.unref(Button), vue.mergeProps({
|
|
57525
|
+
vue.unref(effectiveShowAction) ? (vue.openBlock(), vue.createBlock(vue.unref(Button$1), vue.mergeProps({
|
|
57207
57526
|
key: 2,
|
|
57208
57527
|
status: _ctx.searchButton ? "primary" : void 0,
|
|
57209
57528
|
variant: _ctx.searchButton ? void 0 : "text"
|
|
@@ -57817,6 +58136,8 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
57817
58136
|
readonly: Boolean,
|
|
57818
58137
|
error: Boolean,
|
|
57819
58138
|
ariaLabel: [String, Array],
|
|
58139
|
+
ariaLabelledby: String,
|
|
58140
|
+
ariaDescribedby: String,
|
|
57820
58141
|
ariaInvalid: { type: [String, Boolean], default: void 0 }
|
|
57821
58142
|
},
|
|
57822
58143
|
emits: ["change", "focus", "blur"],
|
|
@@ -57840,7 +58161,7 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
57840
58161
|
disabled: __props.disabled,
|
|
57841
58162
|
readonly: __props.readonly,
|
|
57842
58163
|
error: __props.error,
|
|
57843
|
-
"input-attrs": { "aria-label": label(0), "aria-invalid": __props.ariaInvalid },
|
|
58164
|
+
"input-attrs": { "aria-label": label(0), "aria-labelledby": __props.ariaLabelledby, "aria-describedby": __props.ariaDescribedby, "aria-invalid": __props.ariaInvalid },
|
|
57844
58165
|
onChange: _cache[0] || (_cache[0] = (value) => emit("change", 0, value ?? void 0)),
|
|
57845
58166
|
onFocus: _cache[1] || (_cache[1] = ($event) => emit("focus")),
|
|
57846
58167
|
onBlur: _cache[2] || (_cache[2] = ($event) => emit("blur"))
|
|
@@ -57854,7 +58175,7 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
57854
58175
|
disabled: __props.disabled,
|
|
57855
58176
|
readonly: __props.readonly,
|
|
57856
58177
|
error: __props.error,
|
|
57857
|
-
"input-attrs": { "aria-label": label(1), "aria-invalid": __props.ariaInvalid },
|
|
58178
|
+
"input-attrs": { "aria-label": label(1), "aria-labelledby": __props.ariaLabelledby, "aria-describedby": __props.ariaDescribedby, "aria-invalid": __props.ariaInvalid },
|
|
57858
58179
|
onChange: _cache[3] || (_cache[3] = (value) => emit("change", 1, value ?? void 0)),
|
|
57859
58180
|
onFocus: _cache[4] || (_cache[4] = ($event) => emit("focus")),
|
|
57860
58181
|
onBlur: _cache[5] || (_cache[5] = ($event) => emit("blur"))
|
|
@@ -57866,16 +58187,29 @@ const _sfc_main$G = /* @__PURE__ */ vue.defineComponent({
|
|
|
57866
58187
|
function useSliderForm(props2) {
|
|
57867
58188
|
return useFormItem({ disabled: vue.computed(() => props2.disabled), error: vue.computed(() => props2.error), readonly: vue.computed(() => props2.readonly) });
|
|
57868
58189
|
}
|
|
57869
|
-
const _hoisted_1$k = ["
|
|
57870
|
-
const _hoisted_2$9 = ["
|
|
58190
|
+
const _hoisted_1$k = ["role", "aria-labelledby"];
|
|
58191
|
+
const _hoisted_2$9 = ["tabindex", "aria-label", "aria-labelledby", "aria-valuemin", "aria-valuemax", "aria-valuenow", "aria-valuetext", "aria-orientation", "aria-disabled", "aria-readonly", "aria-invalid", "aria-describedby", "onPointerdown", "onKeydown", "onFocus", "onMouseenter"];
|
|
58192
|
+
const _hoisted_3$4 = ["id"];
|
|
57871
58193
|
const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
57872
|
-
...{ name: createNamespace$1("slider").name },
|
|
58194
|
+
...{ name: createNamespace$1("slider").name, inheritAttrs: false },
|
|
57873
58195
|
__name: "Slider",
|
|
57874
58196
|
props: sliderProps,
|
|
57875
58197
|
emits: ["update:modelValue", "change", "start", "end"],
|
|
57876
58198
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
57877
58199
|
const { n: n2, classes: classes2 } = createNamespace$1("slider");
|
|
57878
58200
|
const props2 = __props;
|
|
58201
|
+
const attrs = vue.useAttrs();
|
|
58202
|
+
const formLabel = useFormItemLabel();
|
|
58203
|
+
const rangeGroupLabel = vue.computed(() => {
|
|
58204
|
+
const label = formLabel?.value;
|
|
58205
|
+
return props2.range && attrs.role == null && attrs["aria-labelledby"] == null && label?.target && label.target === attrs.id ? label.id : void 0;
|
|
58206
|
+
});
|
|
58207
|
+
const singleLabelledBy = vue.computed(() => {
|
|
58208
|
+
if (props2.range) return void 0;
|
|
58209
|
+
if (attrs["aria-labelledby"] != null) return attrs["aria-labelledby"];
|
|
58210
|
+
const label = formLabel?.value;
|
|
58211
|
+
return props2.ariaLabel == null && label?.target && label.target === attrs.id ? label.id : void 0;
|
|
58212
|
+
});
|
|
57879
58213
|
const { describe: describeError } = useFormErrorDescription();
|
|
57880
58214
|
const emit = __emit;
|
|
57881
58215
|
const { mergedDisabled, mergedReadonly, mergedError, eventHandlers } = useSliderForm(props2);
|
|
@@ -58149,21 +58483,22 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
|
58149
58483
|
vue.onBeforeUnmount(cleanup);
|
|
58150
58484
|
vue.onDeactivated(cleanup);
|
|
58151
58485
|
return (_ctx, _cache) => {
|
|
58152
|
-
return vue.openBlock(), vue.createElementBlock("div", {
|
|
58486
|
+
return vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
|
|
58153
58487
|
ref_key: "root",
|
|
58154
|
-
ref: root
|
|
58155
|
-
|
|
58156
|
-
|
|
58157
|
-
|
|
58158
|
-
|
|
58159
|
-
|
|
58160
|
-
|
|
58161
|
-
|
|
58162
|
-
|
|
58163
|
-
)
|
|
58488
|
+
ref: root
|
|
58489
|
+
}, _ctx.$attrs, {
|
|
58490
|
+
class: vue.unref(classes2)(
|
|
58491
|
+
vue.unref(n2)(),
|
|
58492
|
+
vue.unref(n2)(`--${_ctx.orientation}`),
|
|
58493
|
+
[isDisabled.value, vue.unref(n2)("--disabled")],
|
|
58494
|
+
[vue.unref(mergedReadonly), vue.unref(n2)("--readonly")],
|
|
58495
|
+
[vue.unref(mergedError), vue.unref(n2)("--error")],
|
|
58496
|
+
[_ctx.marks, vue.unref(n2)("--marks")]
|
|
58164
58497
|
),
|
|
58165
|
-
style:
|
|
58166
|
-
|
|
58498
|
+
style: customStyle.value,
|
|
58499
|
+
role: _ctx.$attrs.role ?? (_ctx.range && (rangeGroupLabel.value || typeof _ctx.$attrs["aria-labelledby"] === "string" && _ctx.$attrs["aria-labelledby"].trim()) ? "group" : void 0),
|
|
58500
|
+
"aria-labelledby": _ctx.$attrs["aria-labelledby"] ?? rangeGroupLabel.value
|
|
58501
|
+
}), [
|
|
58167
58502
|
vue.createElementVNode("div", {
|
|
58168
58503
|
ref_key: "track",
|
|
58169
58504
|
ref: track,
|
|
@@ -58202,6 +58537,7 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
|
58202
58537
|
role: "slider",
|
|
58203
58538
|
tabindex: isDisabled.value ? void 0 : 0,
|
|
58204
58539
|
"aria-label": thumbLabel(index),
|
|
58540
|
+
"aria-labelledby": singleLabelledBy.value,
|
|
58205
58541
|
"aria-valuemin": index === 1 && _ctx.range ? values.value[0] : bounds.value.min,
|
|
58206
58542
|
"aria-valuemax": index === 0 ? values.value[1] : bounds.value.max,
|
|
58207
58543
|
"aria-valuenow": values.value[index],
|
|
@@ -58231,8 +58567,8 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
|
58231
58567
|
id: `${tooltipId}-${index}`,
|
|
58232
58568
|
class: vue.normalizeClass(vue.unref(n2)("tooltip")),
|
|
58233
58569
|
role: "tooltip"
|
|
58234
|
-
}, vue.toDisplayString(format(values.value[index])), 11,
|
|
58235
|
-
], 46,
|
|
58570
|
+
}, vue.toDisplayString(format(values.value[index])), 11, _hoisted_3$4)) : vue.createCommentVNode("", true)
|
|
58571
|
+
], 46, _hoisted_2$9);
|
|
58236
58572
|
}), 128))
|
|
58237
58573
|
], 34),
|
|
58238
58574
|
_ctx.showInput ? (vue.openBlock(), vue.createBlock(_sfc_main$G, {
|
|
@@ -58246,12 +58582,14 @@ const _sfc_main$F = /* @__PURE__ */ vue.defineComponent({
|
|
|
58246
58582
|
readonly: vue.unref(mergedReadonly),
|
|
58247
58583
|
error: vue.unref(mergedError),
|
|
58248
58584
|
"aria-label": _ctx.ariaLabel,
|
|
58585
|
+
"aria-labelledby": singleLabelledBy.value,
|
|
58586
|
+
"aria-describedby": _ctx.$attrs["aria-describedby"],
|
|
58249
58587
|
"aria-invalid": _ctx.$attrs["aria-invalid"],
|
|
58250
58588
|
onChange: inputChange,
|
|
58251
58589
|
onFocus: _cache[2] || (_cache[2] = ($event) => vue.unref(eventHandlers)?.onFocus?.()),
|
|
58252
58590
|
onBlur: _cache[3] || (_cache[3] = ($event) => vue.unref(eventHandlers)?.onBlur?.())
|
|
58253
|
-
}, null, 8, ["model-value", "min", "max", "step", "range", "disabled", "readonly", "error", "aria-label", "aria-invalid"])) : vue.createCommentVNode("", true)
|
|
58254
|
-
],
|
|
58591
|
+
}, null, 8, ["model-value", "min", "max", "step", "range", "disabled", "readonly", "error", "aria-label", "aria-labelledby", "aria-describedby", "aria-invalid"])) : vue.createCommentVNode("", true)
|
|
58592
|
+
], 16, _hoisted_1$k);
|
|
58255
58593
|
};
|
|
58256
58594
|
}
|
|
58257
58595
|
});
|
|
@@ -58831,7 +59169,7 @@ const _sfc_main$D = /* @__PURE__ */ vue.defineComponent({
|
|
|
58831
59169
|
const resize = () => menuRef.value?.resize();
|
|
58832
59170
|
__expose({ open: open2, close: close2, resize });
|
|
58833
59171
|
return (_ctx, _cache) => {
|
|
58834
|
-
return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$
|
|
59172
|
+
return vue.openBlock(), vue.createBlock(vue.unref(_sfc_main$2J), {
|
|
58835
59173
|
class: vue.normalizeClass(vue.unref(n2)()),
|
|
58836
59174
|
status: _ctx.status,
|
|
58837
59175
|
size: _ctx.size,
|
|
@@ -59569,6 +59907,10 @@ const _sfc_main$A = /* @__PURE__ */ vue.defineComponent({
|
|
|
59569
59907
|
const current = vue.computed(() => props2.modelValue === void 0 ? internal.value : props2.modelValue);
|
|
59570
59908
|
const checked = vue.computed(() => current.value === props2.checkedValue);
|
|
59571
59909
|
const pending = vue.ref(false);
|
|
59910
|
+
const editorPending = vue.inject(fieldEditorControlPending, void 0);
|
|
59911
|
+
vue.watch(pending, (value) => {
|
|
59912
|
+
if (editorPending) editorPending.value = value;
|
|
59913
|
+
}, { flush: "sync" });
|
|
59572
59914
|
const busy = vue.computed(() => props2.loading || pending.value);
|
|
59573
59915
|
const rippleKey = vue.ref(0);
|
|
59574
59916
|
let active = true;
|
|
@@ -60958,6 +61300,19 @@ function forwardTableColumnSlot(slot) {
|
|
|
60958
61300
|
};
|
|
60959
61301
|
return { default: forward, _: 2 };
|
|
60960
61302
|
}
|
|
61303
|
+
function firstStructuralNode(nodes) {
|
|
61304
|
+
if (Array.isArray(nodes)) {
|
|
61305
|
+
for (const node of nodes) {
|
|
61306
|
+
const result = firstStructuralNode(node);
|
|
61307
|
+
if (result) return result;
|
|
61308
|
+
}
|
|
61309
|
+
return void 0;
|
|
61310
|
+
}
|
|
61311
|
+
if (!vue.isVNode(nodes) || nodes.type === vue.Comment) return void 0;
|
|
61312
|
+
if (nodes.type === vue.Text && !String(nodes.children ?? "").trim()) return void 0;
|
|
61313
|
+
if (nodes.type === vue.Fragment && Array.isArray(nodes.children)) return firstStructuralNode(nodes.children);
|
|
61314
|
+
return nodes;
|
|
61315
|
+
}
|
|
60961
61316
|
const {
|
|
60962
61317
|
name: name$j
|
|
60963
61318
|
} = createNamespace$1("thead");
|
|
@@ -60967,7 +61322,7 @@ const Thead = /* @__PURE__ */ vue.defineComponent({
|
|
|
60967
61322
|
slots
|
|
60968
61323
|
}) {
|
|
60969
61324
|
return () => {
|
|
60970
|
-
return vue.createVNode(slots.thead?.()
|
|
61325
|
+
return vue.createVNode(firstStructuralNode(slots.thead?.()) ?? "thead", null, {
|
|
60971
61326
|
default: slots.default
|
|
60972
61327
|
});
|
|
60973
61328
|
};
|
|
@@ -60982,7 +61337,7 @@ const Tbody = /* @__PURE__ */ vue.defineComponent({
|
|
|
60982
61337
|
slots
|
|
60983
61338
|
}) {
|
|
60984
61339
|
return () => {
|
|
60985
|
-
return vue.createVNode(slots.tbody?.()
|
|
61340
|
+
return vue.createVNode(firstStructuralNode(slots.tbody?.()) ?? "tbody", null, {
|
|
60986
61341
|
default: slots.default
|
|
60987
61342
|
});
|
|
60988
61343
|
};
|
|
@@ -61020,10 +61375,10 @@ const Tr = /* @__PURE__ */ vue.defineComponent({
|
|
|
61020
61375
|
[`${prefixCls2}-tr-checked`]: props2.checked
|
|
61021
61376
|
}]);
|
|
61022
61377
|
return () => {
|
|
61023
|
-
return vue.createVNode(slots.tr?.({
|
|
61378
|
+
return vue.createVNode(firstStructuralNode(slots.tr?.({
|
|
61024
61379
|
rowIndex: props2.rowIndex,
|
|
61025
61380
|
record: props2.record?.raw
|
|
61026
|
-
})
|
|
61381
|
+
})) ?? "tr", {
|
|
61027
61382
|
class: cls.value
|
|
61028
61383
|
}, {
|
|
61029
61384
|
default: () => {
|
|
@@ -61546,9 +61901,9 @@ const Th = /* @__PURE__ */ vue.defineComponent({
|
|
|
61546
61901
|
const rowSpan = props2.column.rowSpan ?? 1;
|
|
61547
61902
|
const resizeColumnName = typeof props2.column.title === "string" ? props2.column.title : props2.column.dataIndex;
|
|
61548
61903
|
const translatedResizeLabel = t("table.resizeColumn", resizeColumnName);
|
|
61549
|
-
const customHeader = props2.customHeader ?? slots.th?.({
|
|
61904
|
+
const customHeader = firstStructuralNode([props2.customHeader]) ?? firstStructuralNode(slots.th?.({
|
|
61550
61905
|
column: props2.column
|
|
61551
|
-
})
|
|
61906
|
+
}));
|
|
61552
61907
|
return vue.createVNode(customHeader ?? "th", {
|
|
61553
61908
|
class: cls.value,
|
|
61554
61909
|
style: style.value,
|
|
@@ -61796,11 +62151,11 @@ const Td = /* @__PURE__ */ vue.defineComponent({
|
|
|
61796
62151
|
}, [renderContent2()])]);
|
|
61797
62152
|
};
|
|
61798
62153
|
return () => {
|
|
61799
|
-
const customCell = slots.td?.({
|
|
62154
|
+
const customCell = firstStructuralNode(slots.td?.({
|
|
61800
62155
|
record: props2.record?.raw,
|
|
61801
62156
|
column: props2.column,
|
|
61802
62157
|
rowIndex: props2.rowIndex ?? -1
|
|
61803
|
-
})
|
|
62158
|
+
}));
|
|
61804
62159
|
const customHeaders = customCell?.props && Object.prototype.hasOwnProperty.call(customCell.props, "headers") && customCell.props.headers !== void 0 ? customCell.props.headers : props2.headers;
|
|
61805
62160
|
return vue.createVNode(customCell ?? "td", {
|
|
61806
62161
|
class: cls.value,
|
|
@@ -63634,9 +63989,10 @@ const _Table = /* @__PURE__ */ vue.defineComponent({
|
|
|
63634
63989
|
const semanticId = `c-table-header-${vue.useId()}`;
|
|
63635
63990
|
const visibleHeaderId = (row, index) => `${semanticId}-visible-${row}-${index}`;
|
|
63636
63991
|
const visibleOperationId = (index) => `${semanticId}-visible-operation-${index}`;
|
|
63637
|
-
const
|
|
63992
|
+
const activeHeaderSlot = vue.shallowRef(slots.th);
|
|
63993
|
+
const customHeaders = vue.computed(() => groupColumns.value.map((row) => row.map((column) => firstStructuralNode(activeHeaderSlot.value?.({
|
|
63638
63994
|
column
|
|
63639
|
-
})
|
|
63995
|
+
})))));
|
|
63640
63996
|
const explicitHeaderName = (value) => typeof value === "string" && value.trim() ? value : void 0;
|
|
63641
63997
|
const semanticRows = (surface) => groupColumns.value.map((row, rowIndex) => [...rowIndex === 0 ? operations.value.map((_, index) => ({
|
|
63642
63998
|
id: `${semanticId}-${surface}-operation-${index}`,
|
|
@@ -64252,13 +64608,27 @@ const _Table = /* @__PURE__ */ vue.defineComponent({
|
|
|
64252
64608
|
}
|
|
64253
64609
|
return Object.keys(result).length > 0 ? result : void 0;
|
|
64254
64610
|
});
|
|
64611
|
+
const tableInstance = vue.getCurrentInstance();
|
|
64612
|
+
let slotSnapshot = [];
|
|
64613
|
+
const currentSlotSnapshot = () => {
|
|
64614
|
+
const incoming = tableInstance.vnode.children;
|
|
64615
|
+
const raw = incoming && !Array.isArray(incoming) && typeof incoming === "object" ? incoming : {};
|
|
64616
|
+
const next = Object.keys(raw).filter((key) => key !== "_" && key !== "$stable").sort().flatMap((key) => [key, raw[key]]);
|
|
64617
|
+
if (next.length !== slotSnapshot.length || next.some((value, index) => value !== slotSnapshot[index])) {
|
|
64618
|
+
slotSnapshot = next;
|
|
64619
|
+
activeHeaderSlot.value = slots.th;
|
|
64620
|
+
}
|
|
64621
|
+
return slotSnapshot;
|
|
64622
|
+
};
|
|
64255
64623
|
const DeferredTable = /* @__PURE__ */ vue.defineComponent({
|
|
64256
64624
|
props: {
|
|
64257
|
-
rowSlotState: Number
|
|
64625
|
+
rowSlotState: Number,
|
|
64626
|
+
slotSnapshot: Array
|
|
64258
64627
|
},
|
|
64259
64628
|
setup: () => () => renderTable()
|
|
64260
64629
|
});
|
|
64261
64630
|
const render = () => {
|
|
64631
|
+
const snapshot = currentSlotSnapshot();
|
|
64262
64632
|
if (slots.default) {
|
|
64263
64633
|
let _slot;
|
|
64264
64634
|
return vue.createVNode(ResizeObserver$1, {
|
|
@@ -64288,7 +64658,8 @@ const _Table = /* @__PURE__ */ vue.defineComponent({
|
|
|
64288
64658
|
"aria-busy": loadingProps2.value.loading || void 0
|
|
64289
64659
|
}, tableInteractionEvents), [children.value, vue.createVNode(_sfc_main$38, loadingProps2.value, {
|
|
64290
64660
|
default: () => [props2.pagination !== false && (flattenData.value.length > 0 || sortedData.value.length > 0) && isPaginationTop.value && renderPaginationArea(), vue.createVNode(DeferredTable, {
|
|
64291
|
-
"rowSlotState": (slots.tr ? 1 : 0) | (slots["expand-row"] ? 2 : 0)
|
|
64661
|
+
"rowSlotState": (slots.tr ? 1 : 0) | (slots["expand-row"] ? 2 : 0),
|
|
64662
|
+
"slotSnapshot": snapshot
|
|
64292
64663
|
}, null), props2.pagination !== false && (flattenData.value.length > 0 || sortedData.value.length > 0) && !isPaginationTop.value && renderPaginationArea()]
|
|
64293
64664
|
})])]
|
|
64294
64665
|
});
|
|
@@ -66200,12 +66571,12 @@ const TableColumnHeaderAction = vue.defineComponent({
|
|
|
66200
66571
|
};
|
|
66201
66572
|
const options = () => {
|
|
66202
66573
|
const items = [];
|
|
66203
|
-
if (has("insert-left")) items.push(vue.h(_sfc_main$
|
|
66204
|
-
if (has("insert-right")) items.push(vue.h(_sfc_main$
|
|
66574
|
+
if (has("insert-left")) items.push(vue.h(_sfc_main$2M, { onClick: () => handleInsert("left") }, () => "向左插入列"));
|
|
66575
|
+
if (has("insert-right")) items.push(vue.h(_sfc_main$2M, { onClick: () => handleInsert("right") }, () => "向右插入列"));
|
|
66205
66576
|
if (has("freeze-left"))
|
|
66206
66577
|
items.push(
|
|
66207
66578
|
vue.h(
|
|
66208
|
-
_sfc_main$
|
|
66579
|
+
_sfc_main$2M,
|
|
66209
66580
|
{
|
|
66210
66581
|
disabled: props2.column?.fixed === "left",
|
|
66211
66582
|
onClick: () => handleFreeze("left")
|
|
@@ -66216,7 +66587,7 @@ const TableColumnHeaderAction = vue.defineComponent({
|
|
|
66216
66587
|
if (has("freeze-right"))
|
|
66217
66588
|
items.push(
|
|
66218
66589
|
vue.h(
|
|
66219
|
-
_sfc_main$
|
|
66590
|
+
_sfc_main$2M,
|
|
66220
66591
|
{
|
|
66221
66592
|
disabled: props2.column?.fixed === "right",
|
|
66222
66593
|
onClick: () => handleFreeze("right")
|
|
@@ -66227,7 +66598,7 @@ const TableColumnHeaderAction = vue.defineComponent({
|
|
|
66227
66598
|
if (has("unfreeze"))
|
|
66228
66599
|
items.push(
|
|
66229
66600
|
vue.h(
|
|
66230
|
-
_sfc_main$
|
|
66601
|
+
_sfc_main$2M,
|
|
66231
66602
|
{
|
|
66232
66603
|
disabled: !props2.column?.fixed,
|
|
66233
66604
|
onClick: () => handleUnfreeze()
|
|
@@ -66235,8 +66606,8 @@ const TableColumnHeaderAction = vue.defineComponent({
|
|
|
66235
66606
|
() => "取消冻结"
|
|
66236
66607
|
)
|
|
66237
66608
|
);
|
|
66238
|
-
if (has("edit")) items.push(vue.h(_sfc_main$
|
|
66239
|
-
if (has("delete")) items.push(vue.h(_sfc_main$
|
|
66609
|
+
if (has("edit")) items.push(vue.h(_sfc_main$2M, { onClick: () => handleEdit() }, () => "编辑列"));
|
|
66610
|
+
if (has("delete")) items.push(vue.h(_sfc_main$2M, { onClick: () => handleDelete() }, () => "删除列"));
|
|
66240
66611
|
return items;
|
|
66241
66612
|
};
|
|
66242
66613
|
return () => vue.h(
|
|
@@ -67770,7 +68141,7 @@ const _sfc_main$l = vue.defineComponent({
|
|
|
67770
68141
|
name: name$8,
|
|
67771
68142
|
components: {
|
|
67772
68143
|
Panel: Panel$1,
|
|
67773
|
-
Button
|
|
68144
|
+
Button: Button$1
|
|
67774
68145
|
},
|
|
67775
68146
|
inheritAttrs: false,
|
|
67776
68147
|
props: {
|
|
@@ -71789,7 +72160,9 @@ const Panel = /* @__PURE__ */ vue.defineComponent({
|
|
|
71789
72160
|
"aria-disabled": visibleNodeMap.value.get(key)?.disabled,
|
|
71790
72161
|
"aria-expanded": status.isLeaf ? void 0 : status.expanded,
|
|
71791
72162
|
"class": [`${prefixCls2}-option`, {
|
|
71792
|
-
[`${prefixCls2}-option-active`]: key === activeKey.value
|
|
72163
|
+
[`${prefixCls2}-option-active`]: key === activeKey.value,
|
|
72164
|
+
[`${prefixCls2}-option-selected`]: status.selected || status.checked,
|
|
72165
|
+
[`${prefixCls2}-option-disabled`]: visibleNodeMap.value.get(key)?.disabled
|
|
71793
72166
|
}],
|
|
71794
72167
|
"onMouseenter": () => {
|
|
71795
72168
|
if (visibleNodeMap.value.has(key) && !visibleNodeMap.value.get(key)?.disabled) activeKey.value = key;
|
|
@@ -71815,6 +72188,8 @@ const Panel = /* @__PURE__ */ vue.defineComponent({
|
|
|
71815
72188
|
});
|
|
71816
72189
|
const treeSelectProps = {
|
|
71817
72190
|
...fieldLoadingProps,
|
|
72191
|
+
/** 弹出编辑是否需要确认;未设置时单选即提交,多选保留确认。 */
|
|
72192
|
+
needConfirm: { type: Boolean, default: void 0 },
|
|
71818
72193
|
openTriggerTarget: openTriggerTargetProp,
|
|
71819
72194
|
/** 内置字段匹配是否区分大小写。 */
|
|
71820
72195
|
caseSensitive: { type: Boolean, default: false },
|
|
@@ -72088,9 +72463,9 @@ const _sfc_main$7 = vue.defineComponent({
|
|
|
72088
72463
|
name: createNamespace$1("tree-select").name,
|
|
72089
72464
|
components: {
|
|
72090
72465
|
Input,
|
|
72091
|
-
SelectedOptions: _sfc_main$
|
|
72466
|
+
SelectedOptions: _sfc_main$2I,
|
|
72092
72467
|
Trigger,
|
|
72093
|
-
SelectionField: _sfc_main$
|
|
72468
|
+
SelectionField: _sfc_main$2D,
|
|
72094
72469
|
Panel,
|
|
72095
72470
|
Empty: Empty$1,
|
|
72096
72471
|
Loading: _sfc_main$38
|
|
@@ -72371,7 +72746,7 @@ const _sfc_main$7 = vue.defineComponent({
|
|
|
72371
72746
|
searchEnabled,
|
|
72372
72747
|
texts,
|
|
72373
72748
|
Trigger,
|
|
72374
|
-
SelectedOptions: _sfc_main$
|
|
72749
|
+
SelectedOptions: _sfc_main$2I,
|
|
72375
72750
|
Input,
|
|
72376
72751
|
EditorContent: vue.defineComponent({
|
|
72377
72752
|
name: createNamespace$1("tree-select-editor-content").name,
|
|
@@ -72663,9 +73038,10 @@ function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
72663
73038
|
}
|
|
72664
73039
|
const Base$1 = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["render", _sfc_render$3]]);
|
|
72665
73040
|
const _TreeSelect = withFieldPresentation(Base$1, {
|
|
73041
|
+
selectionConfirmation: "update",
|
|
72666
73042
|
pauseSelectionWhileLoading: true,
|
|
72667
73043
|
editor: ({ props: props2, attrs, value, update, emit, slots, disabled, readonly }) => vue.h(
|
|
72668
|
-
_sfc_main$
|
|
73044
|
+
_sfc_main$31,
|
|
72669
73045
|
{ kind: "tree-select" },
|
|
72670
73046
|
() => vue.h(
|
|
72671
73047
|
Base$1,
|
|
@@ -74079,10 +74455,13 @@ function useFilePicker(options) {
|
|
|
74079
74455
|
function useUploadQueue(options) {
|
|
74080
74456
|
const inner = vue.ref((options.defaultValue?.() ?? []).map((file) => ({ ...file })));
|
|
74081
74457
|
const fileList = vue.computed(() => options.modelValue?.() ?? inner.value);
|
|
74458
|
+
let revision = 0;
|
|
74082
74459
|
let pending;
|
|
74083
74460
|
let pendingBase;
|
|
74084
74461
|
const mutationList = () => pending && fileList.value === pendingBase ? pending : fileList.value;
|
|
74085
74462
|
function commit(next, changed) {
|
|
74463
|
+
const currentRevision = ++revision;
|
|
74464
|
+
const startedActive = options.isActive?.() ?? true;
|
|
74086
74465
|
pendingBase = fileList.value;
|
|
74087
74466
|
pending = next;
|
|
74088
74467
|
if (options.modelValue?.() === void 0) inner.value = next;
|
|
@@ -74093,7 +74472,7 @@ function useUploadQueue(options) {
|
|
|
74093
74472
|
}
|
|
74094
74473
|
});
|
|
74095
74474
|
options.onUpdateModelValue?.(next);
|
|
74096
|
-
options.onChange?.(next, changed);
|
|
74475
|
+
if (revision === currentRevision && (!startedActive || (options.isActive?.() ?? true))) options.onChange?.(next, changed);
|
|
74097
74476
|
}
|
|
74098
74477
|
function append(files) {
|
|
74099
74478
|
if (files.length) commit([...mutationList(), ...files], files[0]);
|
|
@@ -74132,6 +74511,11 @@ function useUploadQueue(options) {
|
|
|
74132
74511
|
}
|
|
74133
74512
|
function reset() {
|
|
74134
74513
|
if (fileList.value.length) commit([]);
|
|
74514
|
+
else {
|
|
74515
|
+
revision++;
|
|
74516
|
+
pending = void 0;
|
|
74517
|
+
pendingBase = void 0;
|
|
74518
|
+
}
|
|
74135
74519
|
}
|
|
74136
74520
|
return {
|
|
74137
74521
|
fileList,
|
|
@@ -74146,6 +74530,7 @@ function useUploadQueue(options) {
|
|
|
74146
74530
|
}
|
|
74147
74531
|
function useUploader(options) {
|
|
74148
74532
|
const feedback = usePendingFeedback();
|
|
74533
|
+
const preparation = usePendingFeedback();
|
|
74149
74534
|
let active = true;
|
|
74150
74535
|
let inactive = false;
|
|
74151
74536
|
let generation = 0;
|
|
@@ -74163,7 +74548,8 @@ function useUploader(options) {
|
|
|
74163
74548
|
modelValue: options.modelValue,
|
|
74164
74549
|
defaultValue: options.defaultValue,
|
|
74165
74550
|
onChange: options.onChange,
|
|
74166
|
-
onUpdateModelValue: options.onUpdateModelValue
|
|
74551
|
+
onUpdateModelValue: options.onUpdateModelValue,
|
|
74552
|
+
isActive: () => active && !inactive
|
|
74167
74553
|
});
|
|
74168
74554
|
const replacementTarget = vue.ref();
|
|
74169
74555
|
const metadataVersion = vue.ref(0);
|
|
@@ -74301,8 +74687,8 @@ function useUploader(options) {
|
|
|
74301
74687
|
}
|
|
74302
74688
|
function enqueue(files, rejected, previous) {
|
|
74303
74689
|
const epoch = generation;
|
|
74304
|
-
adding = adding.then(() => prepareFiles(files, rejected, epoch, previous)).catch(() => {
|
|
74305
|
-
});
|
|
74690
|
+
adding = preparation.track(() => adding.then(() => prepareFiles(files, rejected, epoch, previous)).catch(() => {
|
|
74691
|
+
}));
|
|
74306
74692
|
return adding;
|
|
74307
74693
|
}
|
|
74308
74694
|
async function prepareFiles(files, initialRejected, epoch, previous) {
|
|
@@ -74314,7 +74700,9 @@ function useUploader(options) {
|
|
|
74314
74700
|
candidates = await feedback.track(() => options.beforeAdd(files));
|
|
74315
74701
|
for (const file of files) if (!candidates.includes(file)) rejected.push({ file, reason: "before-add" });
|
|
74316
74702
|
} catch {
|
|
74317
|
-
|
|
74703
|
+
if (valid(epoch)) {
|
|
74704
|
+
reject([...rejected, ...files.map((file) => ({ file, reason: "before-add" }))]);
|
|
74705
|
+
}
|
|
74318
74706
|
return;
|
|
74319
74707
|
}
|
|
74320
74708
|
}
|
|
@@ -74385,7 +74773,15 @@ function useUploader(options) {
|
|
|
74385
74773
|
return;
|
|
74386
74774
|
}
|
|
74387
74775
|
reject(rejected);
|
|
74776
|
+
if (!valid(epoch)) {
|
|
74777
|
+
items.forEach((item) => release(item.uid));
|
|
74778
|
+
return;
|
|
74779
|
+
}
|
|
74388
74780
|
if (rejected.some((file) => file.reason === "max-files")) options.onExceed?.(candidates, queue.fileList.value);
|
|
74781
|
+
if (!valid(epoch)) {
|
|
74782
|
+
items.forEach((item) => release(item.uid));
|
|
74783
|
+
return;
|
|
74784
|
+
}
|
|
74389
74785
|
if (!items.length) return;
|
|
74390
74786
|
if (previous) {
|
|
74391
74787
|
if (!sameTarget(previous)) {
|
|
@@ -74405,9 +74801,13 @@ function useUploader(options) {
|
|
|
74405
74801
|
items.forEach((file) => pendingAuto.add(file.uid));
|
|
74406
74802
|
if (previous) {
|
|
74407
74803
|
queue.replace(previous, items[0]);
|
|
74804
|
+
if (!valid(epoch)) return;
|
|
74408
74805
|
options.onReplace?.(items[0], previous);
|
|
74409
74806
|
} else queue.append(items);
|
|
74410
|
-
|
|
74807
|
+
for (const file of items) {
|
|
74808
|
+
if (!valid(epoch)) return;
|
|
74809
|
+
options.onRead?.(vue.reactive(file));
|
|
74810
|
+
}
|
|
74411
74811
|
await vue.nextTick();
|
|
74412
74812
|
}
|
|
74413
74813
|
async function submit(file) {
|
|
@@ -74417,6 +74817,7 @@ function useUploader(options) {
|
|
|
74417
74817
|
}
|
|
74418
74818
|
async function uploadFile(file) {
|
|
74419
74819
|
if (attempts.has(file.uid)) return;
|
|
74820
|
+
const epoch = generation;
|
|
74420
74821
|
const attempt = {};
|
|
74421
74822
|
attempts.set(file.uid, attempt);
|
|
74422
74823
|
const current = () => active && !inactive && attempts.get(file.uid) === attempt && queue.fileList.value.some(
|
|
@@ -74467,7 +74868,7 @@ function useUploader(options) {
|
|
|
74467
74868
|
status: changed.status,
|
|
74468
74869
|
percent: changed.percent
|
|
74469
74870
|
});
|
|
74470
|
-
options.onProgress?.(changed, event);
|
|
74871
|
+
if (valid(epoch) && current()) options.onProgress?.(changed, event);
|
|
74471
74872
|
};
|
|
74472
74873
|
const handleSuccess = (response) => {
|
|
74473
74874
|
if (!current()) return;
|
|
@@ -74483,7 +74884,7 @@ function useUploader(options) {
|
|
|
74483
74884
|
percent: changed.percent,
|
|
74484
74885
|
response
|
|
74485
74886
|
});
|
|
74486
|
-
options.onSuccess?.(changed);
|
|
74887
|
+
if (valid(epoch)) options.onSuccess?.(changed);
|
|
74487
74888
|
};
|
|
74488
74889
|
const handleError = (error) => {
|
|
74489
74890
|
if (!current()) return;
|
|
@@ -74499,7 +74900,7 @@ function useUploader(options) {
|
|
|
74499
74900
|
percent: changed.percent,
|
|
74500
74901
|
error
|
|
74501
74902
|
});
|
|
74502
|
-
options.onError?.(changed);
|
|
74903
|
+
if (valid(epoch)) options.onError?.(changed);
|
|
74503
74904
|
};
|
|
74504
74905
|
const requestOptions = {
|
|
74505
74906
|
action: options.action?.(),
|
|
@@ -74529,7 +74930,7 @@ function useUploader(options) {
|
|
|
74529
74930
|
attempts.delete(file.uid);
|
|
74530
74931
|
const changed = { ...item, status: "error", percent: 0, error };
|
|
74531
74932
|
queue.patch(file.uid, changed);
|
|
74532
|
-
options.onError?.(changed);
|
|
74933
|
+
if (valid(epoch)) options.onError?.(changed);
|
|
74533
74934
|
}
|
|
74534
74935
|
}
|
|
74535
74936
|
function abort(file) {
|
|
@@ -74558,7 +74959,7 @@ function useUploader(options) {
|
|
|
74558
74959
|
cancelAttempt(file.uid);
|
|
74559
74960
|
pendingAuto.delete(file.uid);
|
|
74560
74961
|
queue.remove(file);
|
|
74561
|
-
options.onRemove?.(file);
|
|
74962
|
+
if (valid(epoch)) options.onRemove?.(file);
|
|
74562
74963
|
} catch {
|
|
74563
74964
|
} finally {
|
|
74564
74965
|
if (removals.get(file.uid) === token) removals.delete(file.uid);
|
|
@@ -74581,8 +74982,9 @@ function useUploader(options) {
|
|
|
74581
74982
|
});
|
|
74582
74983
|
}
|
|
74583
74984
|
function reset() {
|
|
74584
|
-
feedback.cancel();
|
|
74585
74985
|
if (disabled.value) return;
|
|
74986
|
+
feedback.cancel();
|
|
74987
|
+
preparation.cancel();
|
|
74586
74988
|
generation++;
|
|
74587
74989
|
replacementTarget.value = void 0;
|
|
74588
74990
|
adding = Promise.resolve();
|
|
@@ -74623,6 +75025,8 @@ function useUploader(options) {
|
|
|
74623
75025
|
});
|
|
74624
75026
|
return {
|
|
74625
75027
|
guardPending: feedback.pending,
|
|
75028
|
+
/** @internal Coordinates deferred field confirmation with file preparation. */
|
|
75029
|
+
editorPending: vue.computed(() => feedback.pending.value || preparation.pending.value),
|
|
74626
75030
|
fileList: queue.fileList,
|
|
74627
75031
|
maxReached,
|
|
74628
75032
|
disabled,
|
|
@@ -74975,6 +75379,13 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
|
74975
75379
|
}
|
|
74976
75380
|
}
|
|
74977
75381
|
});
|
|
75382
|
+
const editorPending = vue.inject(fieldEditorControlPending, void 0);
|
|
75383
|
+
vue.watch(uploader.editorPending, (value) => {
|
|
75384
|
+
if (editorPending) editorPending.value = value;
|
|
75385
|
+
}, { flush: "sync" });
|
|
75386
|
+
vue.onBeforeUnmount(() => {
|
|
75387
|
+
if (editorPending) editorPending.value = false;
|
|
75388
|
+
});
|
|
74978
75389
|
const {
|
|
74979
75390
|
fileList,
|
|
74980
75391
|
maxReached,
|
|
@@ -75090,7 +75501,7 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
|
|
|
75090
75501
|
class: vue.normalizeClass(vue.unref(n2)("input")),
|
|
75091
75502
|
type: "file",
|
|
75092
75503
|
accept: _ctx.accept,
|
|
75093
|
-
capture: _ctx.capture,
|
|
75504
|
+
capture: _ctx.capture === false ? void 0 : _ctx.capture === true ? "" : _ctx.capture,
|
|
75094
75505
|
multiple: !vue.unref(replacementTarget) && (_ctx.multiple || _ctx.directory),
|
|
75095
75506
|
disabled: vue.unref(disabledState),
|
|
75096
75507
|
webkitdirectory: !vue.unref(replacementTarget) && _ctx.directory || void 0,
|
|
@@ -76162,13 +76573,13 @@ const install = (app, options) => {
|
|
|
76162
76573
|
const CedarVue = {
|
|
76163
76574
|
...components,
|
|
76164
76575
|
AnchorLink,
|
|
76165
|
-
AvatarGroup: _sfc_main$
|
|
76576
|
+
AvatarGroup: _sfc_main$2Q,
|
|
76166
76577
|
BreadcrumbItem,
|
|
76167
|
-
ButtonGroup: _sfc_main$
|
|
76168
|
-
CarouselItem: _sfc_main$
|
|
76578
|
+
ButtonGroup: _sfc_main$2J,
|
|
76579
|
+
CarouselItem: _sfc_main$2w,
|
|
76169
76580
|
CascaderPanel,
|
|
76170
76581
|
CheckboxGroup,
|
|
76171
|
-
CollapseItem: _sfc_main$
|
|
76582
|
+
CollapseItem: _sfc_main$2m,
|
|
76172
76583
|
DatePicker,
|
|
76173
76584
|
DateRangePicker,
|
|
76174
76585
|
DescriptionsItem,
|
|
@@ -76179,16 +76590,16 @@ const CedarVue = {
|
|
|
76179
76590
|
ImagePreviewAction,
|
|
76180
76591
|
ImagePreviewFn: previewImage,
|
|
76181
76592
|
ImagePreviewGroup,
|
|
76182
|
-
InputGroup: _sfc_main$
|
|
76183
|
-
InputGroupLabel: _sfc_main$
|
|
76184
|
-
InputPassword: _sfc_main$
|
|
76593
|
+
InputGroup: _sfc_main$2l,
|
|
76594
|
+
InputGroupLabel: _sfc_main$2k,
|
|
76595
|
+
InputPassword: _sfc_main$2j,
|
|
76185
76596
|
LayoutContent,
|
|
76186
76597
|
LayoutFooter,
|
|
76187
76598
|
LayoutHeader,
|
|
76188
76599
|
LayoutSider,
|
|
76189
76600
|
ListItem: _sfc_main$1i,
|
|
76190
76601
|
MapSelect,
|
|
76191
|
-
MenuOption: _sfc_main$
|
|
76602
|
+
MenuOption: _sfc_main$2M,
|
|
76192
76603
|
NavMenuItem,
|
|
76193
76604
|
Optgroup,
|
|
76194
76605
|
Option,
|
|
@@ -76562,25 +76973,25 @@ exports.Anchor = Anchor;
|
|
|
76562
76973
|
exports.AnchorLink = AnchorLink;
|
|
76563
76974
|
exports.AutoComplete = AutoComplete;
|
|
76564
76975
|
exports.Avatar = Avatar;
|
|
76565
|
-
exports.AvatarGroup = _sfc_main$
|
|
76976
|
+
exports.AvatarGroup = _sfc_main$2Q;
|
|
76566
76977
|
exports.BackTop = BackTop;
|
|
76567
76978
|
exports.Badge = Badge;
|
|
76568
76979
|
exports.Breadcrumb = _Breadcrumb;
|
|
76569
76980
|
exports.BreadcrumbItem = BreadcrumbItem;
|
|
76570
76981
|
exports.Button = Button;
|
|
76571
|
-
exports.ButtonGroup = _sfc_main$
|
|
76982
|
+
exports.ButtonGroup = _sfc_main$2J;
|
|
76572
76983
|
exports.COLUMN_MANAGER_STATE_VERSION = COLUMN_MANAGER_STATE_VERSION;
|
|
76573
76984
|
exports.Calendar = Calendar;
|
|
76574
76985
|
exports.Card = Card;
|
|
76575
76986
|
exports.Carousel = Carousel;
|
|
76576
|
-
exports.CarouselItem = _sfc_main$
|
|
76987
|
+
exports.CarouselItem = _sfc_main$2w;
|
|
76577
76988
|
exports.Cascader = Cascader;
|
|
76578
76989
|
exports.CascaderPanel = CascaderPanel;
|
|
76579
76990
|
exports.Checkbox = Checkbox;
|
|
76580
76991
|
exports.CheckboxGroup = CheckboxGroup;
|
|
76581
76992
|
exports.Col = Col;
|
|
76582
76993
|
exports.Collapse = Collapse;
|
|
76583
|
-
exports.CollapseItem = _sfc_main$
|
|
76994
|
+
exports.CollapseItem = _sfc_main$2m;
|
|
76584
76995
|
exports.Color = Color;
|
|
76585
76996
|
exports.ColorPicker = ColorPicker;
|
|
76586
76997
|
exports.ConfigProvider = ConfigProvider;
|
|
@@ -76614,10 +77025,10 @@ exports.ImagePreviewFn = previewImage;
|
|
|
76614
77025
|
exports.ImagePreviewGroup = ImagePreviewGroup;
|
|
76615
77026
|
exports.InfiniteScroll = InfiniteScroll;
|
|
76616
77027
|
exports.Input = Input;
|
|
76617
|
-
exports.InputGroup = _sfc_main$
|
|
76618
|
-
exports.InputGroupLabel = _sfc_main$
|
|
77028
|
+
exports.InputGroup = _sfc_main$2l;
|
|
77029
|
+
exports.InputGroupLabel = _sfc_main$2k;
|
|
76619
77030
|
exports.InputNumber = InputNumber;
|
|
76620
|
-
exports.InputPassword = _sfc_main$
|
|
77031
|
+
exports.InputPassword = _sfc_main$2j;
|
|
76621
77032
|
exports.InputTag = InputTag;
|
|
76622
77033
|
exports.Layout = Layout;
|
|
76623
77034
|
exports.LayoutContent = LayoutContent;
|
|
@@ -76632,7 +77043,7 @@ exports.Map = Map$1;
|
|
|
76632
77043
|
exports.MapSelect = MapSelect;
|
|
76633
77044
|
exports.Mention = Mention;
|
|
76634
77045
|
exports.Menu = Menu;
|
|
76635
|
-
exports.MenuOption = _sfc_main$
|
|
77046
|
+
exports.MenuOption = _sfc_main$2M;
|
|
76636
77047
|
exports.Message = Message;
|
|
76637
77048
|
exports.NavMenu = NavMenu;
|
|
76638
77049
|
exports.NavMenuItem = NavMenuItem;
|