vue-devui 1.5.12 → 1.5.13
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/auto-complete/index.es.js +139 -61
- package/auto-complete/index.umd.js +16 -16
- package/auto-complete/style.css +1 -1
- package/checkbox/index.es.js +115 -61
- package/checkbox/index.umd.js +15 -15
- package/checkbox/style.css +1 -1
- package/code-editor/index.es.js +5 -2
- package/code-editor/index.umd.js +6 -6
- package/code-review/index.es.js +12 -1
- package/code-review/index.umd.js +18 -18
- package/code-review/style.css +1 -1
- package/date-picker-pro/index.es.js +213 -109
- package/date-picker-pro/index.umd.js +19 -19
- package/date-picker-pro/style.css +1 -1
- package/editor-md/index.es.js +1 -1
- package/editor-md/index.umd.js +1 -1
- package/form/index.es.js +142 -64
- package/form/index.umd.js +14 -14
- package/form/style.css +1 -1
- package/image-preview/index.es.js +2 -6
- package/image-preview/index.umd.js +2 -2
- package/image-preview/style.css +1 -1
- package/input/index.es.js +207 -79
- package/input/index.umd.js +18 -18
- package/input/style.css +1 -1
- package/input-number/index.es.js +123 -46
- package/input-number/index.umd.js +20 -20
- package/input-number/style.css +1 -1
- package/mention/index.es.js +138 -60
- package/mention/index.umd.js +16 -16
- package/mention/style.css +1 -1
- package/nuxt/components/STYLE_TOKEN.js +3 -0
- package/nuxt/components/formControlProps.js +3 -0
- package/package.json +1 -1
- package/pagination/index.es.js +376 -161
- package/pagination/index.umd.js +19 -19
- package/pagination/style.css +1 -1
- package/progress/index.es.js +6 -6
- package/progress/index.umd.js +1 -1
- package/radio/index.es.js +115 -61
- package/radio/index.umd.js +16 -16
- package/radio/style.css +1 -1
- package/search/index.es.js +211 -83
- package/search/index.umd.js +19 -19
- package/search/style.css +1 -1
- package/select/index.es.js +358 -143
- package/select/index.umd.js +17 -17
- package/select/style.css +1 -1
- package/skeleton/index.es.js +1 -0
- package/skeleton/index.umd.js +2 -2
- package/steps/index.es.js +35 -11
- package/steps/index.umd.js +1 -1
- package/style.css +1 -1
- package/switch/index.es.js +115 -61
- package/switch/index.umd.js +14 -14
- package/switch/style.css +1 -1
- package/table/index.es.js +88 -34
- package/table/index.umd.js +15 -15
- package/table/style.css +1 -1
- package/textarea/index.es.js +141 -63
- package/textarea/index.umd.js +17 -17
- package/textarea/style.css +1 -1
- package/time-picker/index.es.js +159 -55
- package/time-picker/index.umd.js +11 -11
- package/time-picker/style.css +1 -1
- package/time-select/index.es.js +358 -143
- package/time-select/index.umd.js +22 -22
- package/time-select/style.css +1 -1
- package/tree/index.es.js +86 -32
- package/tree/index.umd.js +11 -11
- package/tree/style.css +1 -1
- package/types/auto-focus/index.d.ts +9 -0
- package/types/auto-focus/src/auto-focus-directive.d.ts +4 -0
- package/types/code-review/src/code-review-types.d.ts +6 -0
- package/types/code-review/src/code-review.d.ts +9 -0
- package/types/form/index.d.ts +1 -0
- package/types/form/src/components/form-control/use-form-control.d.ts +11 -2
- package/types/form/src/components/form-item/form-item-types.d.ts +10 -2
- package/types/form/src/components/form-item/form-item.d.ts +3 -3
- package/types/form/src/components/form-label/form-label.d.ts +1 -13
- package/types/form/src/components/form-label/use-form-label.d.ts +14 -2
- package/types/form/src/form-types.d.ts +11 -0
- package/types/form/src/form.d.ts +18 -0
- package/types/input/src/composables/use-input-event.d.ts +12 -2
- package/types/input/src/input-types.d.ts +8 -0
- package/types/input/src/input.d.ts +18 -0
- package/types/input-icon/src/input-icon.d.ts +18 -0
- package/types/list/index.d.ts +0 -1
- package/types/select/src/composables/use-select-menu-size.d.ts +5 -0
- package/types/select/src/select-types.d.ts +23 -4
- package/types/select/src/select.d.ts +19 -1
- package/types/select/src/use-select.d.ts +1 -1
- package/types/vue-devui.d.ts +2 -1
- package/vue-devui.es.js +415 -134
- package/vue-devui.umd.js +76 -76
package/vue-devui.es.js
CHANGED
|
@@ -33,7 +33,7 @@ var __publicField = (obj, key, value) => {
|
|
|
33
33
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
34
34
|
return value;
|
|
35
35
|
};
|
|
36
|
-
import { createVNode, getCurrentInstance, defineComponent, toRefs, inject, computed, Fragment, mergeProps, resolveComponent, isVNode, ref, reactive, createTextVNode, provide, onMounted, watch, Transition, withDirectives, vShow, nextTick, onUnmounted, unref, withModifiers, Comment as Comment$1, Text, h, cloneVNode, Teleport, onBeforeUnmount, render as render$1, resolveDirective, resolveDynamicComponent, toRef, shallowRef, onBeforeMount, onUpdated, readonly, toRaw, watchEffect, renderSlot, useSlots, createApp, shallowReactive, effect, TransitionGroup } from "vue";
|
|
36
|
+
import { createVNode, getCurrentInstance, defineComponent, toRefs, inject, computed, Fragment, mergeProps, resolveComponent, isVNode, ref, reactive, createTextVNode, provide, onMounted, watch, Transition, withDirectives, vShow, nextTick, onUnmounted, unref, withModifiers, Comment as Comment$1, Text, h, cloneVNode, Teleport, onBeforeUnmount, render as render$1, resolveDirective, resolveDynamicComponent, toRef, shallowRef, onBeforeMount, onUpdated, readonly, toRaw, watchEffect, renderSlot, useSlots, createApp, shallowReactive, vModelText, effect, TransitionGroup } from "vue";
|
|
37
37
|
import { useRoute } from "vue-router";
|
|
38
38
|
import Clipboard from "clipboard";
|
|
39
39
|
import { offset, autoPlacement, arrow, shift, computePosition, flip } from "@floating-ui/dom";
|
|
@@ -2168,9 +2168,18 @@ const formProps = {
|
|
|
2168
2168
|
hideRequiredMark: {
|
|
2169
2169
|
type: Boolean,
|
|
2170
2170
|
default: false
|
|
2171
|
+
},
|
|
2172
|
+
styleType: {
|
|
2173
|
+
type: String,
|
|
2174
|
+
default: "default"
|
|
2175
|
+
},
|
|
2176
|
+
appendToBodyScrollStrategy: {
|
|
2177
|
+
type: String,
|
|
2178
|
+
default: "reposition"
|
|
2171
2179
|
}
|
|
2172
2180
|
};
|
|
2173
2181
|
const FORM_TOKEN = Symbol("dForm");
|
|
2182
|
+
const STYLE_TOKEN = Symbol("dForm");
|
|
2174
2183
|
function useFieldCollection() {
|
|
2175
2184
|
const itemContexts = [];
|
|
2176
2185
|
const addItemContext = (field) => {
|
|
@@ -7650,7 +7659,7 @@ var Form = defineComponent({
|
|
|
7650
7659
|
props: formProps,
|
|
7651
7660
|
emits: ["validate"],
|
|
7652
7661
|
setup(props, ctx2) {
|
|
7653
|
-
const ns2 = useNamespace
|
|
7662
|
+
const ns2 = useNamespace("form");
|
|
7654
7663
|
const {
|
|
7655
7664
|
itemContexts,
|
|
7656
7665
|
addItemContext,
|
|
@@ -7677,6 +7686,7 @@ var Form = defineComponent({
|
|
|
7677
7686
|
addItemContext,
|
|
7678
7687
|
removeItemContext
|
|
7679
7688
|
})));
|
|
7689
|
+
provide(STYLE_TOKEN, props.styleType);
|
|
7680
7690
|
ctx2.expose({
|
|
7681
7691
|
validate,
|
|
7682
7692
|
validateFields,
|
|
@@ -7718,7 +7728,7 @@ const formItemProps = {
|
|
|
7718
7728
|
default: void 0
|
|
7719
7729
|
},
|
|
7720
7730
|
helpTips: {
|
|
7721
|
-
type: String,
|
|
7731
|
+
type: [String, Object],
|
|
7722
7732
|
default: ""
|
|
7723
7733
|
},
|
|
7724
7734
|
feedbackStatus: {
|
|
@@ -7731,12 +7741,6 @@ const formItemProps = {
|
|
|
7731
7741
|
};
|
|
7732
7742
|
const FORM_ITEM_TOKEN = Symbol("dFormItem");
|
|
7733
7743
|
const LABEL_DATA = Symbol("labelData");
|
|
7734
|
-
const formLabelProps = {
|
|
7735
|
-
helpTips: {
|
|
7736
|
-
type: String,
|
|
7737
|
-
default: ""
|
|
7738
|
-
}
|
|
7739
|
-
};
|
|
7740
7744
|
const fixedOverlayProps = {
|
|
7741
7745
|
modelValue: {
|
|
7742
7746
|
type: Boolean,
|
|
@@ -8456,7 +8460,13 @@ function useFormLabel() {
|
|
|
8456
8460
|
const formContext = inject(FORM_TOKEN);
|
|
8457
8461
|
const formItemContext = inject(FORM_ITEM_TOKEN);
|
|
8458
8462
|
const labelData = inject(LABEL_DATA);
|
|
8459
|
-
const ns2 = useNamespace
|
|
8463
|
+
const ns2 = useNamespace("form");
|
|
8464
|
+
const defaultTipsPopover = {
|
|
8465
|
+
content: "",
|
|
8466
|
+
position: ["top"],
|
|
8467
|
+
trigger: "hover",
|
|
8468
|
+
popType: "info"
|
|
8469
|
+
};
|
|
8460
8470
|
const labelClasses = computed(() => ({
|
|
8461
8471
|
[`${ns2.e("label")}`]: true,
|
|
8462
8472
|
[`${ns2.em("label", "vertical")}`]: labelData.value.layout === "vertical",
|
|
@@ -8468,17 +8478,24 @@ function useFormLabel() {
|
|
|
8468
8478
|
[`${ns2.em("label", "required")}`]: formItemContext.isRequired,
|
|
8469
8479
|
[`${ns2.em("label", "required-hide")}`]: formItemContext.isRequired && formContext.hideRequiredMark
|
|
8470
8480
|
}));
|
|
8471
|
-
|
|
8481
|
+
const tipsPopover = computed(() => {
|
|
8482
|
+
if (typeof labelData.value.helpTips === "string") {
|
|
8483
|
+
return __spreadProps(__spreadValues({}, defaultTipsPopover), { content: labelData.value.helpTips });
|
|
8484
|
+
} else {
|
|
8485
|
+
return __spreadValues(__spreadValues({}, defaultTipsPopover), labelData.value.helpTips);
|
|
8486
|
+
}
|
|
8487
|
+
});
|
|
8488
|
+
return { labelClasses, labelInnerClasses, tipsPopover };
|
|
8472
8489
|
}
|
|
8473
8490
|
var formLabel = "";
|
|
8474
8491
|
var FormLabel = defineComponent({
|
|
8475
8492
|
name: "DFormLabel",
|
|
8476
|
-
|
|
8477
|
-
|
|
8478
|
-
const ns2 = useNamespace$1("form");
|
|
8493
|
+
setup(_, ctx2) {
|
|
8494
|
+
const ns2 = useNamespace("form");
|
|
8479
8495
|
const {
|
|
8480
8496
|
labelClasses,
|
|
8481
|
-
labelInnerClasses
|
|
8497
|
+
labelInnerClasses,
|
|
8498
|
+
tipsPopover
|
|
8482
8499
|
} = useFormLabel();
|
|
8483
8500
|
return () => {
|
|
8484
8501
|
var _a, _b;
|
|
@@ -8486,12 +8503,9 @@ var FormLabel = defineComponent({
|
|
|
8486
8503
|
"class": labelClasses.value
|
|
8487
8504
|
}, [createVNode("span", {
|
|
8488
8505
|
"class": labelInnerClasses.value
|
|
8489
|
-
}, [(_b = (_a = ctx2.slots).default) == null ? void 0 : _b.call(_a)]),
|
|
8490
|
-
"
|
|
8491
|
-
|
|
8492
|
-
"trigger": "hover",
|
|
8493
|
-
"pop-type": "info"
|
|
8494
|
-
}, {
|
|
8506
|
+
}, [(_b = (_a = ctx2.slots).default) == null ? void 0 : _b.call(_a)]), tipsPopover.value.content && createVNode(Popover, mergeProps({
|
|
8507
|
+
"class": ns2.e("label-tips-popover")
|
|
8508
|
+
}, tipsPopover.value), {
|
|
8495
8509
|
default: () => [createVNode(HelpTipsIcon, {
|
|
8496
8510
|
"class": ns2.e("label-help")
|
|
8497
8511
|
}, null), createTextVNode(",")]
|
|
@@ -8518,7 +8532,7 @@ var PopoverInstall = {
|
|
|
8518
8532
|
};
|
|
8519
8533
|
function useFormControl(props) {
|
|
8520
8534
|
const labelData = inject(LABEL_DATA);
|
|
8521
|
-
const ns2 = useNamespace
|
|
8535
|
+
const ns2 = useNamespace("form");
|
|
8522
8536
|
const { feedbackStatus } = toRefs(props);
|
|
8523
8537
|
const controlClasses = computed(() => ({
|
|
8524
8538
|
[ns2.e("control")]: true,
|
|
@@ -8530,7 +8544,7 @@ function useFormControl(props) {
|
|
|
8530
8544
|
[ns2.em("control-container", "has-feedback")]: Boolean(feedbackStatus == null ? void 0 : feedbackStatus.value),
|
|
8531
8545
|
[ns2.em("control-container", "feedback-error")]: Boolean((feedbackStatus == null ? void 0 : feedbackStatus.value) === "error")
|
|
8532
8546
|
}));
|
|
8533
|
-
return { controlClasses, controlContainerClasses };
|
|
8547
|
+
return { controlClasses, controlContainerClasses, labelData };
|
|
8534
8548
|
}
|
|
8535
8549
|
function useFormControlValidate() {
|
|
8536
8550
|
const formItemContext = inject(FORM_ITEM_TOKEN);
|
|
@@ -8547,11 +8561,15 @@ var FormControl = defineComponent({
|
|
|
8547
8561
|
name: "DFormControl",
|
|
8548
8562
|
props: formControlProps,
|
|
8549
8563
|
setup(props, ctx2) {
|
|
8564
|
+
const formContext = inject(FORM_TOKEN);
|
|
8550
8565
|
const formControl2 = ref();
|
|
8551
|
-
const
|
|
8566
|
+
const popoverRef = ref();
|
|
8567
|
+
const ns2 = useNamespace("form");
|
|
8568
|
+
const showPopoverClick = ref(true);
|
|
8552
8569
|
const {
|
|
8553
8570
|
controlClasses,
|
|
8554
|
-
controlContainerClasses
|
|
8571
|
+
controlContainerClasses,
|
|
8572
|
+
labelData
|
|
8555
8573
|
} = useFormControl(props);
|
|
8556
8574
|
const {
|
|
8557
8575
|
feedbackStatus,
|
|
@@ -8561,17 +8579,52 @@ var FormControl = defineComponent({
|
|
|
8561
8579
|
errorMessage,
|
|
8562
8580
|
popPosition
|
|
8563
8581
|
} = useFormControlValidate();
|
|
8582
|
+
const align = computed(() => {
|
|
8583
|
+
var _a, _b;
|
|
8584
|
+
if ((_a = popPosition.value) == null ? void 0 : _a.some((item) => item.includes("start"))) {
|
|
8585
|
+
return "start";
|
|
8586
|
+
}
|
|
8587
|
+
if ((_b = popPosition.value) == null ? void 0 : _b.some((item) => item.includes("end"))) {
|
|
8588
|
+
return "end";
|
|
8589
|
+
}
|
|
8590
|
+
return void 0;
|
|
8591
|
+
});
|
|
8592
|
+
const onDocumentClick = (e) => {
|
|
8593
|
+
const composedPath = e.composedPath();
|
|
8594
|
+
if (composedPath.includes(popoverRef.value.triggerEl)) {
|
|
8595
|
+
showPopoverClick.value = true;
|
|
8596
|
+
} else {
|
|
8597
|
+
showPopoverClick.value = false;
|
|
8598
|
+
}
|
|
8599
|
+
};
|
|
8600
|
+
watch(showPopover, (val) => {
|
|
8601
|
+
if (val) {
|
|
8602
|
+
setTimeout(() => {
|
|
8603
|
+
document.addEventListener("click", onDocumentClick);
|
|
8604
|
+
});
|
|
8605
|
+
} else {
|
|
8606
|
+
showPopoverClick.value = true;
|
|
8607
|
+
document.removeEventListener("click", onDocumentClick);
|
|
8608
|
+
}
|
|
8609
|
+
});
|
|
8610
|
+
onUnmounted(() => {
|
|
8611
|
+
document.removeEventListener("click", onDocumentClick);
|
|
8612
|
+
});
|
|
8564
8613
|
return () => createVNode("div", {
|
|
8565
8614
|
"class": controlClasses.value,
|
|
8566
8615
|
"ref": formControl2
|
|
8567
8616
|
}, [createVNode("div", {
|
|
8568
8617
|
"class": controlContainerClasses.value
|
|
8569
8618
|
}, [createVNode(Popover, {
|
|
8570
|
-
"
|
|
8619
|
+
"ref": popoverRef,
|
|
8620
|
+
"is-open": showPopover.value && showPopoverClick.value,
|
|
8571
8621
|
"trigger": "manually",
|
|
8572
8622
|
"content": errorMessage.value,
|
|
8573
8623
|
"pop-type": "error",
|
|
8574
|
-
"position": popPosition.value
|
|
8624
|
+
"position": popPosition.value,
|
|
8625
|
+
"align": align.value,
|
|
8626
|
+
"scroll-element": "auto",
|
|
8627
|
+
"append-to-body-scroll-strategy": formContext.appendToBodyScrollStrategy
|
|
8575
8628
|
}, {
|
|
8576
8629
|
default: () => {
|
|
8577
8630
|
var _a, _b;
|
|
@@ -8583,7 +8636,7 @@ var FormControl = defineComponent({
|
|
|
8583
8636
|
"class": ns2.e("control-info")
|
|
8584
8637
|
}, [showMessage.value && createVNode("div", {
|
|
8585
8638
|
"class": "error-message"
|
|
8586
|
-
}, [errorMessage.value]), props.extraInfo && createVNode("div", {
|
|
8639
|
+
}, [errorMessage.value]), labelData.value.formItemCtx.slots.extraInfo ? labelData.value.formItemCtx.slots.extraInfo() : props.extraInfo && createVNode("div", {
|
|
8587
8640
|
"class": ns2.e("control-extra")
|
|
8588
8641
|
}, [props.extraInfo])])]);
|
|
8589
8642
|
}
|
|
@@ -9602,7 +9655,7 @@ function getFieldValue(obj, path) {
|
|
|
9602
9655
|
}
|
|
9603
9656
|
function useFormItem(messageType, _rules, validateState) {
|
|
9604
9657
|
const formContext = inject(FORM_TOKEN);
|
|
9605
|
-
const ns2 = useNamespace
|
|
9658
|
+
const ns2 = useNamespace("form");
|
|
9606
9659
|
const itemClasses = computed(() => ({
|
|
9607
9660
|
[`${ns2.em("item", "horizontal")}`]: formContext.layout === "horizontal",
|
|
9608
9661
|
[`${ns2.em("item", "vertical")}`]: formContext.layout === "vertical",
|
|
@@ -9766,7 +9819,9 @@ var FormItem = defineComponent({
|
|
|
9766
9819
|
const labelData = computed(() => ({
|
|
9767
9820
|
layout: formContext.layout,
|
|
9768
9821
|
labelSize: formContext.labelSize,
|
|
9769
|
-
labelAlign: formContext.labelAlign
|
|
9822
|
+
labelAlign: formContext.labelAlign,
|
|
9823
|
+
helpTips: helpTips.value,
|
|
9824
|
+
formItemCtx: ctx2
|
|
9770
9825
|
}));
|
|
9771
9826
|
provide(LABEL_DATA, labelData);
|
|
9772
9827
|
const context = reactive(__spreadProps(__spreadValues({}, otherProps), {
|
|
@@ -9782,6 +9837,7 @@ var FormItem = defineComponent({
|
|
|
9782
9837
|
}));
|
|
9783
9838
|
provide(FORM_ITEM_TOKEN, context);
|
|
9784
9839
|
ctx2.expose({
|
|
9840
|
+
validate,
|
|
9785
9841
|
resetField,
|
|
9786
9842
|
clearValidate
|
|
9787
9843
|
});
|
|
@@ -9795,9 +9851,7 @@ var FormItem = defineComponent({
|
|
|
9795
9851
|
});
|
|
9796
9852
|
return () => createVNode("div", {
|
|
9797
9853
|
"class": itemClasses.value
|
|
9798
|
-
}, [createVNode(FormLabel, {
|
|
9799
|
-
"help-tips": helpTips.value
|
|
9800
|
-
}, {
|
|
9854
|
+
}, [createVNode(FormLabel, null, {
|
|
9801
9855
|
default: () => [ctx2.slots.label ? ctx2.slots.label() : label == null ? void 0 : label.value]
|
|
9802
9856
|
}), createVNode(FormControl, {
|
|
9803
9857
|
"feedback-status": feedbackStatus == null ? void 0 : feedbackStatus.value,
|
|
@@ -10617,6 +10671,20 @@ var AutoCompleteInstall = {
|
|
|
10617
10671
|
app.component(AutoComplete.name, AutoComplete);
|
|
10618
10672
|
}
|
|
10619
10673
|
};
|
|
10674
|
+
var AutoFocus = {
|
|
10675
|
+
mounted: (el, binding) => {
|
|
10676
|
+
if (binding.value) {
|
|
10677
|
+
el.focus();
|
|
10678
|
+
}
|
|
10679
|
+
}
|
|
10680
|
+
};
|
|
10681
|
+
var AutoFocusInstall = {
|
|
10682
|
+
title: "AutoFocus \u81EA\u52A8\u805A\u7126",
|
|
10683
|
+
category: "\u516C\u5171",
|
|
10684
|
+
install(app) {
|
|
10685
|
+
app.directive("dAutoFocus", AutoFocus);
|
|
10686
|
+
}
|
|
10687
|
+
};
|
|
10620
10688
|
const IconBody = (props) => {
|
|
10621
10689
|
const {
|
|
10622
10690
|
width,
|
|
@@ -13392,19 +13460,28 @@ const inputProps = {
|
|
|
13392
13460
|
placeholder: {
|
|
13393
13461
|
type: String,
|
|
13394
13462
|
default: ""
|
|
13463
|
+
},
|
|
13464
|
+
title: {
|
|
13465
|
+
type: String,
|
|
13466
|
+
default: ""
|
|
13467
|
+
},
|
|
13468
|
+
autofocus: {
|
|
13469
|
+
type: Boolean,
|
|
13470
|
+
default: false
|
|
13395
13471
|
}
|
|
13396
13472
|
};
|
|
13397
13473
|
function useInputRender$1(props, ctx2) {
|
|
13398
13474
|
const formContext = inject(FORM_TOKEN, void 0);
|
|
13399
13475
|
const formItemContext = inject(FORM_ITEM_TOKEN, void 0);
|
|
13400
13476
|
const isValidateError = computed(() => (formItemContext == null ? void 0 : formItemContext.validateState) === "error");
|
|
13401
|
-
const ns2 = useNamespace
|
|
13402
|
-
const slotNs = useNamespace
|
|
13477
|
+
const ns2 = useNamespace("input");
|
|
13478
|
+
const slotNs = useNamespace("input-slot");
|
|
13403
13479
|
const isFocus = ref(false);
|
|
13404
13480
|
const { error: error2, size, disabled } = toRefs(props);
|
|
13405
13481
|
const slots = ctx2.slots;
|
|
13406
13482
|
const inputDisabled = computed(() => disabled.value || (formContext == null ? void 0 : formContext.disabled));
|
|
13407
13483
|
const inputSize = computed(() => (size == null ? void 0 : size.value) || (formContext == null ? void 0 : formContext.size) || "");
|
|
13484
|
+
const styleType = inject(STYLE_TOKEN, void 0);
|
|
13408
13485
|
const _a = ctx2.attrs, { style, class: customClass } = _a, otherAttrs = __objRest(_a, ["style", "class"]);
|
|
13409
13486
|
const customStyle = { style };
|
|
13410
13487
|
const wrapClasses = computed(() => ({
|
|
@@ -13420,7 +13497,8 @@ function useInputRender$1(props, ctx2) {
|
|
|
13420
13497
|
[ns2.m(inputSize.value)]: Boolean(inputSize.value),
|
|
13421
13498
|
[slotNs.b()]: slots.prepend || slots.append,
|
|
13422
13499
|
[ns2.m("append")]: slots.append,
|
|
13423
|
-
[ns2.m("prepend")]: slots.prepend
|
|
13500
|
+
[ns2.m("prepend")]: slots.prepend,
|
|
13501
|
+
[ns2.m("gray-style")]: styleType === "gray"
|
|
13424
13502
|
},
|
|
13425
13503
|
customClass
|
|
13426
13504
|
]);
|
|
@@ -13428,6 +13506,7 @@ function useInputRender$1(props, ctx2) {
|
|
|
13428
13506
|
}
|
|
13429
13507
|
function useInputEvent$1(isFocus, props, ctx2, focus) {
|
|
13430
13508
|
const formItemContext = inject(FORM_ITEM_TOKEN, void 0);
|
|
13509
|
+
const isComposition = ref(false);
|
|
13431
13510
|
const onFocus = (e) => {
|
|
13432
13511
|
isFocus.value = true;
|
|
13433
13512
|
ctx2.emit("focus", e);
|
|
@@ -13441,6 +13520,9 @@ function useInputEvent$1(isFocus, props, ctx2, focus) {
|
|
|
13441
13520
|
};
|
|
13442
13521
|
const onInput = (e) => {
|
|
13443
13522
|
ctx2.emit("input", e.target.value);
|
|
13523
|
+
if (isComposition.value) {
|
|
13524
|
+
return;
|
|
13525
|
+
}
|
|
13444
13526
|
ctx2.emit("update:modelValue", e.target.value);
|
|
13445
13527
|
};
|
|
13446
13528
|
const onChange = (e) => {
|
|
@@ -13454,7 +13536,22 @@ function useInputEvent$1(isFocus, props, ctx2, focus) {
|
|
|
13454
13536
|
ctx2.emit("clear");
|
|
13455
13537
|
focus();
|
|
13456
13538
|
};
|
|
13457
|
-
|
|
13539
|
+
const onCompositionStart = () => {
|
|
13540
|
+
isComposition.value = true;
|
|
13541
|
+
};
|
|
13542
|
+
const onCompositionUpdate = (e) => {
|
|
13543
|
+
var _a;
|
|
13544
|
+
const text = (_a = e.target) == null ? void 0 : _a.value;
|
|
13545
|
+
const lastCharacter = text[text.length - 1] || "";
|
|
13546
|
+
isComposition.value = !/([(\uAC00-\uD7AF)|(\u3130-\u318F)])+/gi.test(lastCharacter);
|
|
13547
|
+
};
|
|
13548
|
+
const onCompositionEnd = (e) => {
|
|
13549
|
+
if (isComposition.value) {
|
|
13550
|
+
isComposition.value = false;
|
|
13551
|
+
onInput(e);
|
|
13552
|
+
}
|
|
13553
|
+
};
|
|
13554
|
+
return { onFocus, onBlur, onInput, onChange, onKeydown, onClear, onCompositionStart, onCompositionUpdate, onCompositionEnd };
|
|
13458
13555
|
}
|
|
13459
13556
|
function useInputFunction(input2) {
|
|
13460
13557
|
const refInput = computed(() => input2.value);
|
|
@@ -13475,6 +13572,9 @@ function useInputFunction(input2) {
|
|
|
13475
13572
|
var input = "";
|
|
13476
13573
|
var DInput = defineComponent({
|
|
13477
13574
|
name: "DInput",
|
|
13575
|
+
directives: {
|
|
13576
|
+
dAutoFocus: AutoFocus
|
|
13577
|
+
},
|
|
13478
13578
|
inheritAttrs: false,
|
|
13479
13579
|
props: inputProps,
|
|
13480
13580
|
emits: ["update:modelValue", "focus", "blur", "input", "change", "keydown", "clear"],
|
|
@@ -13483,10 +13583,13 @@ var DInput = defineComponent({
|
|
|
13483
13583
|
const t = createI18nTranslate("DInput", app);
|
|
13484
13584
|
const formItemContext = inject(FORM_ITEM_TOKEN, void 0);
|
|
13485
13585
|
const {
|
|
13486
|
-
modelValue
|
|
13586
|
+
modelValue,
|
|
13587
|
+
placeholder,
|
|
13588
|
+
title,
|
|
13589
|
+
autofocus
|
|
13487
13590
|
} = toRefs(props);
|
|
13488
|
-
const ns2 = useNamespace
|
|
13489
|
-
const slotNs = useNamespace
|
|
13591
|
+
const ns2 = useNamespace("input");
|
|
13592
|
+
const slotNs = useNamespace("input-slot");
|
|
13490
13593
|
const {
|
|
13491
13594
|
inputDisabled,
|
|
13492
13595
|
inputSize,
|
|
@@ -13508,7 +13611,10 @@ var DInput = defineComponent({
|
|
|
13508
13611
|
onInput,
|
|
13509
13612
|
onChange,
|
|
13510
13613
|
onKeydown,
|
|
13511
|
-
onClear
|
|
13614
|
+
onClear,
|
|
13615
|
+
onCompositionStart,
|
|
13616
|
+
onCompositionUpdate,
|
|
13617
|
+
onCompositionEnd
|
|
13512
13618
|
} = useInputEvent$1(isFocus, props, ctx2, focus);
|
|
13513
13619
|
const passwordVisible = ref(false);
|
|
13514
13620
|
const clickPasswordIcon = () => {
|
|
@@ -13533,7 +13639,7 @@ var DInput = defineComponent({
|
|
|
13533
13639
|
blur: blur2
|
|
13534
13640
|
});
|
|
13535
13641
|
return () => {
|
|
13536
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
13642
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
13537
13643
|
return createVNode("div", mergeProps({
|
|
13538
13644
|
"class": inputClasses.value
|
|
13539
13645
|
}, customStyle), [ctx2.slots.prepend && createVNode("div", {
|
|
@@ -13545,25 +13651,29 @@ var DInput = defineComponent({
|
|
|
13545
13651
|
}, [ctx2.slots.prefix && ((_d = (_c = ctx2.slots).prefix) == null ? void 0 : _d.call(_c)), props.prefix && createVNode(DIcon, {
|
|
13546
13652
|
"size": inputSize.value,
|
|
13547
13653
|
"name": props.prefix
|
|
13548
|
-
}, null)]), createVNode("input", mergeProps({
|
|
13654
|
+
}, null)]), withDirectives(createVNode("input", mergeProps({
|
|
13549
13655
|
"ref": input2,
|
|
13550
13656
|
"value": modelValue.value,
|
|
13551
13657
|
"disabled": inputDisabled.value,
|
|
13552
13658
|
"class": ns2.e("inner"),
|
|
13553
|
-
"placeholder":
|
|
13659
|
+
"placeholder": (_e = placeholder.value) != null ? _e : t("placeholder")
|
|
13554
13660
|
}, otherAttrs, {
|
|
13661
|
+
"title": title.value,
|
|
13555
13662
|
"type": props.showPassword ? passwordVisible.value ? "text" : "password" : "text",
|
|
13556
13663
|
"onInput": onInput,
|
|
13557
13664
|
"onFocus": onFocus,
|
|
13558
13665
|
"onBlur": onBlur,
|
|
13559
13666
|
"onChange": onChange,
|
|
13560
|
-
"onKeydown": onKeydown
|
|
13561
|
-
|
|
13667
|
+
"onKeydown": onKeydown,
|
|
13668
|
+
"onCompositionstart": onCompositionStart,
|
|
13669
|
+
"onCompositionupdate": onCompositionUpdate,
|
|
13670
|
+
"onCompositionend": onCompositionEnd
|
|
13671
|
+
}), null), [[resolveDirective("dAutoFocus"), autofocus.value]]), suffixVisible && createVNode("span", {
|
|
13562
13672
|
"class": slotNs.e("suffix")
|
|
13563
13673
|
}, [props.suffix && createVNode(DIcon, {
|
|
13564
13674
|
"size": inputSize.value,
|
|
13565
13675
|
"name": props.suffix
|
|
13566
|
-
}, null), ctx2.slots.suffix && ((
|
|
13676
|
+
}, null), ctx2.slots.suffix && ((_g = (_f = ctx2.slots).suffix) == null ? void 0 : _g.call(_f)), showPwdVisible.value && createVNode(DIcon, {
|
|
13567
13677
|
"size": inputSize.value,
|
|
13568
13678
|
"class": ns2.em("password", "icon"),
|
|
13569
13679
|
"name": passwordVisible.value ? "preview" : "preview-forbidden",
|
|
@@ -13571,11 +13681,12 @@ var DInput = defineComponent({
|
|
|
13571
13681
|
}, null), showClearable.value && createVNode(DIcon, {
|
|
13572
13682
|
"size": inputSize.value,
|
|
13573
13683
|
"class": ns2.em("clear", "icon"),
|
|
13574
|
-
"name": "
|
|
13684
|
+
"name": "error-o",
|
|
13685
|
+
"color": "#adb0b8",
|
|
13575
13686
|
"onClick": onClear
|
|
13576
13687
|
}, null)])]), ctx2.slots.append && createVNode("div", {
|
|
13577
13688
|
"class": slotNs.e("append")
|
|
13578
|
-
}, [(
|
|
13689
|
+
}, [(_i = (_h = ctx2.slots).append) == null ? void 0 : _i.call(_h)])]);
|
|
13579
13690
|
};
|
|
13580
13691
|
}
|
|
13581
13692
|
});
|
|
@@ -13899,8 +14010,11 @@ function useCodeEditor(props, ctx2) {
|
|
|
13899
14010
|
model = diffEditor.getModel().modified;
|
|
13900
14011
|
}
|
|
13901
14012
|
model == null ? void 0 : model.onDidChangeContent(lodash.exports.throttle(() => {
|
|
13902
|
-
|
|
13903
|
-
|
|
14013
|
+
const editorValue = model.getValue();
|
|
14014
|
+
if (modelValue.value !== editorValue) {
|
|
14015
|
+
modifyValueFromInner = true;
|
|
14016
|
+
ctx2.emit("update:modelValue", model.getValue());
|
|
14017
|
+
}
|
|
13904
14018
|
}, 100));
|
|
13905
14019
|
}
|
|
13906
14020
|
function setDiffEditorOriginValue() {
|
|
@@ -14294,6 +14408,10 @@ const codeReviewProps = {
|
|
|
14294
14408
|
type: Boolean,
|
|
14295
14409
|
default: false
|
|
14296
14410
|
},
|
|
14411
|
+
diffType: {
|
|
14412
|
+
type: String,
|
|
14413
|
+
default: "modify"
|
|
14414
|
+
},
|
|
14297
14415
|
outputFormat: {
|
|
14298
14416
|
type: String,
|
|
14299
14417
|
default: "line-by-line"
|
|
@@ -14322,6 +14440,7 @@ var CodeReviewHeader = defineComponent({
|
|
|
14322
14440
|
setup(_, ctx2) {
|
|
14323
14441
|
const ns2 = useNamespace$1("code-review");
|
|
14324
14442
|
const {
|
|
14443
|
+
diffType,
|
|
14325
14444
|
diffInfo,
|
|
14326
14445
|
isFold,
|
|
14327
14446
|
rootCtx
|
|
@@ -14346,7 +14465,9 @@ var CodeReviewHeader = defineComponent({
|
|
|
14346
14465
|
[ns2.em("header", "unfold")]: !isFold.value
|
|
14347
14466
|
}],
|
|
14348
14467
|
"onClick": onClick
|
|
14349
|
-
}, [createVNode("
|
|
14468
|
+
}, [createVNode("span", {
|
|
14469
|
+
"class": ["diff-type", diffType.value]
|
|
14470
|
+
}, [diffType.value[0].toUpperCase()]), createVNode("div", {
|
|
14350
14471
|
"class": "file-info"
|
|
14351
14472
|
}, [createVNode(FoldIcon, {
|
|
14352
14473
|
"class": {
|
|
@@ -15151,6 +15272,9 @@ var CodeReview = defineComponent({
|
|
|
15151
15272
|
emits: ["foldChange", "addComment", "afterViewInit", "contentRefresh"],
|
|
15152
15273
|
setup(props, ctx2) {
|
|
15153
15274
|
const ns2 = useNamespace$1("code-review");
|
|
15275
|
+
const {
|
|
15276
|
+
diffType
|
|
15277
|
+
} = toRefs(props);
|
|
15154
15278
|
const {
|
|
15155
15279
|
renderHtml,
|
|
15156
15280
|
reviewContentRef,
|
|
@@ -15178,6 +15302,7 @@ var CodeReview = defineComponent({
|
|
|
15178
15302
|
});
|
|
15179
15303
|
});
|
|
15180
15304
|
provide(CodeReviewInjectionKey, {
|
|
15305
|
+
diffType,
|
|
15181
15306
|
reviewContentRef,
|
|
15182
15307
|
diffInfo: diffFile.value[0],
|
|
15183
15308
|
isFold,
|
|
@@ -25171,7 +25296,7 @@ function locale(key) {
|
|
|
25171
25296
|
underline: "\u4E0B\u5212\u7EBF",
|
|
25172
25297
|
strike: "\u5220\u9664\u7EBF",
|
|
25173
25298
|
color: "\u5B57\u4F53\u989C\u8272",
|
|
25174
|
-
|
|
25299
|
+
background: "\u80CC\u666F\u8272",
|
|
25175
25300
|
orderedlist: "\u6709\u5E8F\u5217\u8868",
|
|
25176
25301
|
unorderedlist: "\u65E0\u5E8F\u5217\u8868",
|
|
25177
25302
|
checklist: "\u4EFB\u52A1\u5217\u8868",
|
|
@@ -28055,7 +28180,7 @@ var imagePreview = defineComponent({
|
|
|
28055
28180
|
props: imagePreviewProps,
|
|
28056
28181
|
emits: [],
|
|
28057
28182
|
setup(props) {
|
|
28058
|
-
const ns2 = useNamespace
|
|
28183
|
+
const ns2 = useNamespace("image-preview");
|
|
28059
28184
|
let transform = null;
|
|
28060
28185
|
const index2 = ref(0);
|
|
28061
28186
|
const url2 = computed(() => props.previewUrlList[index2.value]);
|
|
@@ -28350,16 +28475,11 @@ function unmountedPreviewImages() {
|
|
|
28350
28475
|
ImagePreviewService.close();
|
|
28351
28476
|
}
|
|
28352
28477
|
function getImgByEl(el) {
|
|
28353
|
-
const
|
|
28354
|
-
const urlList = imgs.map((item) => {
|
|
28355
|
-
var _a;
|
|
28356
|
-
return (_a = item.getAttribute("preview-src") || item.getAttribute("src")) != null ? _a : "";
|
|
28357
|
-
});
|
|
28478
|
+
const urlList = [...el.querySelectorAll("img")].map((ele) => ele.getAttribute("src"));
|
|
28358
28479
|
return urlList;
|
|
28359
28480
|
}
|
|
28360
28481
|
function handleImg(e) {
|
|
28361
28482
|
var _a;
|
|
28362
|
-
e.stopPropagation();
|
|
28363
28483
|
const el = e.currentTarget;
|
|
28364
28484
|
const target = e.target;
|
|
28365
28485
|
if (((_a = target == null ? void 0 : target.nodeName) == null ? void 0 : _a.toLowerCase()) === "img") {
|
|
@@ -28892,7 +29012,7 @@ var List = defineComponent({
|
|
|
28892
29012
|
setup(props, {
|
|
28893
29013
|
slots
|
|
28894
29014
|
}) {
|
|
28895
|
-
const ns2 = useNamespace
|
|
29015
|
+
const ns2 = useNamespace("list");
|
|
28896
29016
|
return () => {
|
|
28897
29017
|
var _a;
|
|
28898
29018
|
return createVNode("div", {
|
|
@@ -28907,7 +29027,7 @@ var ListItem = defineComponent({
|
|
|
28907
29027
|
setup(props, {
|
|
28908
29028
|
slots
|
|
28909
29029
|
}) {
|
|
28910
|
-
const ns2 = useNamespace
|
|
29030
|
+
const ns2 = useNamespace("list-item");
|
|
28911
29031
|
return () => {
|
|
28912
29032
|
var _a;
|
|
28913
29033
|
return createVNode("div", {
|
|
@@ -28919,7 +29039,6 @@ var ListItem = defineComponent({
|
|
|
28919
29039
|
var ListInstall = {
|
|
28920
29040
|
title: "List \u5217\u8868",
|
|
28921
29041
|
category: "\u6570\u636E\u5C55\u793A",
|
|
28922
|
-
status: "10%",
|
|
28923
29042
|
install(app) {
|
|
28924
29043
|
app.component(List.name, List);
|
|
28925
29044
|
app.component(ListItem.name, ListItem);
|
|
@@ -31443,12 +31562,11 @@ function className$1(classStr, classOpt) {
|
|
|
31443
31562
|
function useSelect$2(props, selectRef, ctx2, focus, blur2, isSelectFocus, t) {
|
|
31444
31563
|
const formContext = inject(FORM_TOKEN, void 0);
|
|
31445
31564
|
const formItemContext = inject(FORM_ITEM_TOKEN, void 0);
|
|
31446
|
-
const ns2 = useNamespace
|
|
31565
|
+
const ns2 = useNamespace("select");
|
|
31447
31566
|
const dropdownRef = ref();
|
|
31448
31567
|
const selectDisabled = computed(() => (formContext == null ? void 0 : formContext.disabled) || props.disabled);
|
|
31449
31568
|
const selectSize = computed(() => props.size || (formContext == null ? void 0 : formContext.size) || "md");
|
|
31450
31569
|
const isObjectOption = ref(false);
|
|
31451
|
-
const originRef = ref();
|
|
31452
31570
|
const isOpen = ref(false);
|
|
31453
31571
|
const toggleChange = (bool) => {
|
|
31454
31572
|
if (selectDisabled.value) {
|
|
@@ -31458,9 +31576,16 @@ function useSelect$2(props, selectRef, ctx2, focus, blur2, isSelectFocus, t) {
|
|
|
31458
31576
|
ctx2.emit("toggle-change", bool);
|
|
31459
31577
|
};
|
|
31460
31578
|
onClickOutside(dropdownRef, () => {
|
|
31461
|
-
|
|
31579
|
+
var _a;
|
|
31580
|
+
if (props.multiple && isOpen.value) {
|
|
31581
|
+
(_a = selectRef.value) == null ? void 0 : _a.clearMultipleSearchKey();
|
|
31582
|
+
onBlur();
|
|
31583
|
+
}
|
|
31584
|
+
if (isOpen.value) {
|
|
31585
|
+
toggleChange(false);
|
|
31586
|
+
}
|
|
31462
31587
|
}, { ignore: [selectRef] });
|
|
31463
|
-
const dropdownMenuMultipleNs = useNamespace
|
|
31588
|
+
const dropdownMenuMultipleNs = useNamespace("dropdown-menu-multiple");
|
|
31464
31589
|
const selectCls = computed(() => {
|
|
31465
31590
|
return className$1(ns2.b(), {
|
|
31466
31591
|
[ns2.m("open")]: isOpen.value,
|
|
@@ -31571,8 +31696,11 @@ function useSelect$2(props, selectRef, ctx2, focus, blur2, isSelectFocus, t) {
|
|
|
31571
31696
|
}
|
|
31572
31697
|
};
|
|
31573
31698
|
const valueChange = (item) => {
|
|
31699
|
+
var _a;
|
|
31574
31700
|
const { multiple } = props;
|
|
31575
31701
|
let { modelValue } = props;
|
|
31702
|
+
filterQuery.value = "";
|
|
31703
|
+
handlerQueryFunc("");
|
|
31576
31704
|
if (multiple) {
|
|
31577
31705
|
const checkedItems = Array.isArray(modelValue) ? modelValue.slice() : [];
|
|
31578
31706
|
const index2 = checkedItems.indexOf(item.value);
|
|
@@ -31599,6 +31727,7 @@ function useSelect$2(props, selectRef, ctx2, focus, blur2, isSelectFocus, t) {
|
|
|
31599
31727
|
}
|
|
31600
31728
|
getMultipleSelected(checkedItems);
|
|
31601
31729
|
} else {
|
|
31730
|
+
(_a = selectRef.value) == null ? void 0 : _a.clearSingleSearchKey();
|
|
31602
31731
|
ctx2.emit("update:modelValue", item.value);
|
|
31603
31732
|
getSingleSelected(item);
|
|
31604
31733
|
toggleChange(false);
|
|
@@ -31609,6 +31738,8 @@ function useSelect$2(props, selectRef, ctx2, focus, blur2, isSelectFocus, t) {
|
|
|
31609
31738
|
ctx2.emit("toggle-change", false);
|
|
31610
31739
|
};
|
|
31611
31740
|
const handleClear = () => {
|
|
31741
|
+
filterQuery.value = "";
|
|
31742
|
+
handlerQueryFunc("");
|
|
31612
31743
|
if (props.multiple) {
|
|
31613
31744
|
ctx2.emit("update:modelValue", []);
|
|
31614
31745
|
ctx2.emit("value-change", []);
|
|
@@ -31621,7 +31752,6 @@ function useSelect$2(props, selectRef, ctx2, focus, blur2, isSelectFocus, t) {
|
|
|
31621
31752
|
handleClose();
|
|
31622
31753
|
blur2();
|
|
31623
31754
|
}
|
|
31624
|
-
filterQuery.value = "";
|
|
31625
31755
|
};
|
|
31626
31756
|
const tagDelete = (data) => {
|
|
31627
31757
|
let { modelValue } = props;
|
|
@@ -31639,15 +31769,17 @@ function useSelect$2(props, selectRef, ctx2, focus, blur2, isSelectFocus, t) {
|
|
|
31639
31769
|
ctx2.emit("remove-tag", data.value);
|
|
31640
31770
|
getMultipleSelected(checkedItems);
|
|
31641
31771
|
};
|
|
31642
|
-
const onFocus = (
|
|
31643
|
-
ctx2.emit("focus", e);
|
|
31772
|
+
const onFocus = () => {
|
|
31644
31773
|
if (!selectDisabled.value) {
|
|
31645
31774
|
isSelectFocus.value = true;
|
|
31646
31775
|
}
|
|
31647
31776
|
};
|
|
31648
|
-
const onBlur = (
|
|
31649
|
-
ctx2.emit("blur", e);
|
|
31777
|
+
const onBlur = () => {
|
|
31650
31778
|
if (!selectDisabled.value) {
|
|
31779
|
+
setTimeout(() => {
|
|
31780
|
+
filterQuery.value = "";
|
|
31781
|
+
handlerQueryFunc("");
|
|
31782
|
+
}, 150);
|
|
31651
31783
|
isSelectFocus.value = false;
|
|
31652
31784
|
}
|
|
31653
31785
|
};
|
|
@@ -31680,7 +31812,7 @@ function useSelect$2(props, selectRef, ctx2, focus, blur2, isSelectFocus, t) {
|
|
|
31680
31812
|
const emptyText = computed(() => {
|
|
31681
31813
|
const visibleOptionsCount = injectOptionsArray.value.filter((item) => {
|
|
31682
31814
|
const label = item.name || item.value;
|
|
31683
|
-
return label.toString().toLocaleLowerCase().includes(filterQuery.value.
|
|
31815
|
+
return label.toString().toLocaleLowerCase().includes(filterQuery.value.trim().toLocaleLowerCase());
|
|
31684
31816
|
}).length;
|
|
31685
31817
|
if (isLoading.value) {
|
|
31686
31818
|
return props.loadingText || t("loadingText");
|
|
@@ -31707,7 +31839,8 @@ function useSelect$2(props, selectRef, ctx2, focus, blur2, isSelectFocus, t) {
|
|
|
31707
31839
|
}
|
|
31708
31840
|
};
|
|
31709
31841
|
watch(() => props.modelValue, () => {
|
|
31710
|
-
formItemContext == null ? void 0 : formItemContext.validate("change").catch((
|
|
31842
|
+
formItemContext == null ? void 0 : formItemContext.validate("change").catch(() => {
|
|
31843
|
+
});
|
|
31711
31844
|
updateInjectOptionsStatus();
|
|
31712
31845
|
}, { deep: true });
|
|
31713
31846
|
watch(injectOptions, () => {
|
|
@@ -31722,10 +31855,17 @@ function useSelect$2(props, selectRef, ctx2, focus, blur2, isSelectFocus, t) {
|
|
|
31722
31855
|
(_a = dropdownRef.value) == null ? void 0 : _a.updatePosition();
|
|
31723
31856
|
}
|
|
31724
31857
|
}, { flush: "post" });
|
|
31858
|
+
watch(isSelectFocus, (val) => {
|
|
31859
|
+
if (val) {
|
|
31860
|
+
ctx2.emit("focus");
|
|
31861
|
+
} else {
|
|
31862
|
+
ctx2.emit("blur");
|
|
31863
|
+
}
|
|
31864
|
+
});
|
|
31865
|
+
onMounted(updateInjectOptionsStatus);
|
|
31725
31866
|
return {
|
|
31726
31867
|
selectDisabled,
|
|
31727
31868
|
selectSize,
|
|
31728
|
-
originRef,
|
|
31729
31869
|
dropdownRef,
|
|
31730
31870
|
isOpen,
|
|
31731
31871
|
selectCls,
|
|
@@ -31750,7 +31890,7 @@ function useSelect$2(props, selectRef, ctx2, focus, blur2, isSelectFocus, t) {
|
|
|
31750
31890
|
}
|
|
31751
31891
|
const selectProps = {
|
|
31752
31892
|
modelValue: {
|
|
31753
|
-
type: [String, Number, Array],
|
|
31893
|
+
type: [String, Number, Array, Boolean],
|
|
31754
31894
|
default: ""
|
|
31755
31895
|
},
|
|
31756
31896
|
"onUpdate:modelValue": {
|
|
@@ -31765,6 +31905,10 @@ const selectProps = {
|
|
|
31765
31905
|
type: String,
|
|
31766
31906
|
default: ""
|
|
31767
31907
|
},
|
|
31908
|
+
position: {
|
|
31909
|
+
type: Array,
|
|
31910
|
+
default: () => ["bottom", "top"]
|
|
31911
|
+
},
|
|
31768
31912
|
overview: {
|
|
31769
31913
|
type: String,
|
|
31770
31914
|
default: "border"
|
|
@@ -31836,6 +31980,10 @@ const selectProps = {
|
|
|
31836
31980
|
multipleLimit: {
|
|
31837
31981
|
type: Number,
|
|
31838
31982
|
default: 0
|
|
31983
|
+
},
|
|
31984
|
+
showEmptyWhenUnmatched: {
|
|
31985
|
+
type: Boolean,
|
|
31986
|
+
default: true
|
|
31839
31987
|
}
|
|
31840
31988
|
};
|
|
31841
31989
|
const optionProps = {
|
|
@@ -31868,7 +32016,7 @@ const optionGroupProps = {
|
|
|
31868
32016
|
const SELECT_TOKEN = Symbol("dSelect");
|
|
31869
32017
|
const OPTION_GROUP_TOKEN = Symbol("dOptionGroup");
|
|
31870
32018
|
function useOption(props) {
|
|
31871
|
-
const ns2 = useNamespace
|
|
32019
|
+
const ns2 = useNamespace("select");
|
|
31872
32020
|
const select2 = inject(SELECT_TOKEN, null);
|
|
31873
32021
|
const optionGroup = inject(OPTION_GROUP_TOKEN, null);
|
|
31874
32022
|
const currentName = computed(() => {
|
|
@@ -31884,20 +32032,23 @@ function useOption(props) {
|
|
|
31884
32032
|
return select2.modelValue === props.value;
|
|
31885
32033
|
}
|
|
31886
32034
|
});
|
|
32035
|
+
const isDisabled = computed(() => props.disabled || ((optionGroup == null ? void 0 : optionGroup.disabled) ? true : false));
|
|
31887
32036
|
const optionItem = computed(() => {
|
|
31888
32037
|
return {
|
|
31889
32038
|
name: props.name || props.value + "" || "",
|
|
31890
32039
|
value: props.value,
|
|
31891
32040
|
create: props.create,
|
|
31892
|
-
_checked: false
|
|
32041
|
+
_checked: false,
|
|
32042
|
+
disabled: isDisabled.value
|
|
31893
32043
|
};
|
|
31894
32044
|
});
|
|
31895
|
-
const isDisabled = computed(() => props.disabled || ((optionGroup == null ? void 0 : optionGroup.disabled) ? true : false));
|
|
31896
32045
|
const isObjectOption = ref(!!props.name);
|
|
31897
32046
|
const selectOptionCls = computed(() => {
|
|
31898
32047
|
return className$1(ns2.e("item"), {
|
|
31899
32048
|
active: isOptionSelected.value,
|
|
31900
|
-
disabled: isDisabled.value
|
|
32049
|
+
disabled: isDisabled.value,
|
|
32050
|
+
[ns2.em("item", "sm")]: (select2 == null ? void 0 : select2.selectSize) === "sm",
|
|
32051
|
+
[ns2.em("item", "lg")]: (select2 == null ? void 0 : select2.selectSize) === "lg"
|
|
31901
32052
|
});
|
|
31902
32053
|
});
|
|
31903
32054
|
const optionSelect = () => {
|
|
@@ -32095,12 +32246,16 @@ var TagInstall = {
|
|
|
32095
32246
|
}
|
|
32096
32247
|
};
|
|
32097
32248
|
function useSelectContent() {
|
|
32098
|
-
const ns2 = useNamespace
|
|
32249
|
+
const ns2 = useNamespace("select");
|
|
32099
32250
|
const select2 = inject(SELECT_TOKEN);
|
|
32100
32251
|
const formItemContext = inject(FORM_ITEM_TOKEN, void 0);
|
|
32252
|
+
const styleType = inject(STYLE_TOKEN, void 0);
|
|
32101
32253
|
const app = getCurrentInstance();
|
|
32102
32254
|
const t = createI18nTranslate("DSelect", app);
|
|
32103
32255
|
const searchQuery = ref("");
|
|
32256
|
+
const singleSearchKey = ref("");
|
|
32257
|
+
const singleInputRef = ref();
|
|
32258
|
+
const singlePlaceholderWidth = computed(() => (select2 == null ? void 0 : select2.dropdownWidth) ? `${(select2 == null ? void 0 : select2.dropdownWidth) - 40}px` : "auto");
|
|
32104
32259
|
const selectedData = computed(() => {
|
|
32105
32260
|
return (select2 == null ? void 0 : select2.selectedOptions) || [];
|
|
32106
32261
|
});
|
|
@@ -32118,21 +32273,37 @@ function useSelectContent() {
|
|
|
32118
32273
|
const displayInputValue = computed(() => {
|
|
32119
32274
|
var _a;
|
|
32120
32275
|
if (select2 == null ? void 0 : select2.selectedOptions) {
|
|
32121
|
-
return select2.selectedOptions.length > 1 ? select2.selectedOptions.map((item) => (item == null ? void 0 : item.name) || (item == null ? void 0 : item.value) || "").join(",") : ((_a = select2.selectedOptions[0]) == null ? void 0 : _a.name) || "";
|
|
32276
|
+
return select2.selectedOptions.length > 1 ? select2.selectedOptions.map((item) => (item == null ? void 0 : item.name) || (item == null ? void 0 : item.value) || "").join(",") : ((_a = select2.selectedOptions[0]) == null ? void 0 : _a.name) || (select2.showEmptyWhenUnmatched ? "" : select2.modelValue);
|
|
32122
32277
|
} else {
|
|
32123
32278
|
return "";
|
|
32124
32279
|
}
|
|
32125
32280
|
});
|
|
32281
|
+
const isPlaceholderDark = computed(() => {
|
|
32282
|
+
if (!singleSearchKey.value) {
|
|
32283
|
+
if (isSelectDisable.value) {
|
|
32284
|
+
return false;
|
|
32285
|
+
}
|
|
32286
|
+
if (!displayInputValue.value) {
|
|
32287
|
+
return true;
|
|
32288
|
+
} else {
|
|
32289
|
+
return select2 == null ? void 0 : select2.isSelectFocus;
|
|
32290
|
+
}
|
|
32291
|
+
} else {
|
|
32292
|
+
return false;
|
|
32293
|
+
}
|
|
32294
|
+
});
|
|
32126
32295
|
const mergeClearable = computed(() => {
|
|
32127
32296
|
return !isSelectDisable.value && !!(select2 == null ? void 0 : select2.allowClear) && (displayInputValue.value ? true : false);
|
|
32128
32297
|
});
|
|
32129
32298
|
const isDisabledTooltip = computed(() => {
|
|
32130
32299
|
return !isSupportTagsTooltip.value || !!(select2 == null ? void 0 : select2.isOpen);
|
|
32131
32300
|
});
|
|
32301
|
+
const isSupportFilter = computed(() => lodash.exports.isFunction(select2 == null ? void 0 : select2.filter) || typeof (select2 == null ? void 0 : select2.filter) === "boolean" && (select2 == null ? void 0 : select2.filter));
|
|
32132
32302
|
const selectionCls = computed(() => {
|
|
32133
32303
|
return className$1(ns2.e("selection"), {
|
|
32134
32304
|
[ns2.e("clearable")]: mergeClearable.value,
|
|
32135
|
-
[ns2.em("selection", "error")]: isValidateError.value
|
|
32305
|
+
[ns2.em("selection", "error")]: isValidateError.value,
|
|
32306
|
+
[ns2.em("selection", "gray-style")]: styleType === "gray"
|
|
32136
32307
|
});
|
|
32137
32308
|
});
|
|
32138
32309
|
const inputCls = computed(() => {
|
|
@@ -32143,12 +32314,20 @@ function useSelectContent() {
|
|
|
32143
32314
|
});
|
|
32144
32315
|
const tagSize = computed(() => (select2 == null ? void 0 : select2.selectSize) || "sm");
|
|
32145
32316
|
const placeholder = computed(() => displayInputValue.value ? "" : (select2 == null ? void 0 : select2.placeholder) || t("placeholder"));
|
|
32317
|
+
const singlePlaceholder = computed(() => (select2 == null ? void 0 : select2.placeholder) || t("placeholder"));
|
|
32146
32318
|
const isMultiple = computed(() => !!(select2 == null ? void 0 : select2.multiple));
|
|
32147
32319
|
const handleClear = (e) => {
|
|
32148
32320
|
e.preventDefault();
|
|
32149
32321
|
e.stopPropagation();
|
|
32322
|
+
searchQuery.value = "";
|
|
32323
|
+
singleSearchKey.value = "";
|
|
32150
32324
|
select2 == null ? void 0 : select2.handleClear();
|
|
32151
32325
|
};
|
|
32326
|
+
const onSingleInputWrapClick = () => {
|
|
32327
|
+
if (!(select2 == null ? void 0 : select2.selectDisabled)) {
|
|
32328
|
+
singleInputRef.value.focus();
|
|
32329
|
+
}
|
|
32330
|
+
};
|
|
32152
32331
|
const tagDelete = (data) => {
|
|
32153
32332
|
if (data && (data.value || data.value === 0)) {
|
|
32154
32333
|
select2 == null ? void 0 : select2.tagDelete(data);
|
|
@@ -32158,41 +32337,69 @@ function useSelectContent() {
|
|
|
32158
32337
|
select2 == null ? void 0 : select2.onFocus(e);
|
|
32159
32338
|
};
|
|
32160
32339
|
const onBlur = (e) => {
|
|
32340
|
+
singleSearchKey.value = "";
|
|
32161
32341
|
select2 == null ? void 0 : select2.onBlur(e);
|
|
32162
32342
|
};
|
|
32343
|
+
const onMultipleClick = () => {
|
|
32344
|
+
if (select2 == null ? void 0 : select2.selectDisabled) {
|
|
32345
|
+
return;
|
|
32346
|
+
}
|
|
32347
|
+
if (select2 == null ? void 0 : select2.isOpen) {
|
|
32348
|
+
searchQuery.value = "";
|
|
32349
|
+
select2 == null ? void 0 : select2.onBlur();
|
|
32350
|
+
} else {
|
|
32351
|
+
select2 == null ? void 0 : select2.onFocus();
|
|
32352
|
+
}
|
|
32353
|
+
};
|
|
32354
|
+
const onArrowClick = () => {
|
|
32355
|
+
if (isMultiple.value) {
|
|
32356
|
+
onMultipleClick();
|
|
32357
|
+
}
|
|
32358
|
+
};
|
|
32163
32359
|
const queryFilter = (e) => {
|
|
32164
32360
|
e.preventDefault();
|
|
32165
32361
|
e.stopPropagation();
|
|
32166
32362
|
const query = e.target.value;
|
|
32363
|
+
singleSearchKey.value = query;
|
|
32364
|
+
searchQuery.value = query;
|
|
32167
32365
|
if (!isReadOnly.value && (select2 == null ? void 0 : select2.debounceQueryFilter)) {
|
|
32168
32366
|
select2 == null ? void 0 : select2.debounceQueryFilter(query);
|
|
32169
32367
|
}
|
|
32170
32368
|
};
|
|
32171
32369
|
return {
|
|
32370
|
+
singleInputRef,
|
|
32172
32371
|
searchQuery,
|
|
32372
|
+
singleSearchKey,
|
|
32173
32373
|
selectedData,
|
|
32174
32374
|
isSelectDisable,
|
|
32175
32375
|
isSupportCollapseTags,
|
|
32176
32376
|
isDisabledTooltip,
|
|
32377
|
+
isSupportFilter,
|
|
32177
32378
|
isReadOnly,
|
|
32178
32379
|
selectionCls,
|
|
32179
32380
|
inputCls,
|
|
32180
32381
|
tagSize,
|
|
32181
32382
|
placeholder,
|
|
32383
|
+
singlePlaceholder,
|
|
32384
|
+
singlePlaceholderWidth,
|
|
32182
32385
|
isMultiple,
|
|
32183
32386
|
displayInputValue,
|
|
32387
|
+
isPlaceholderDark,
|
|
32388
|
+
onSingleInputWrapClick,
|
|
32184
32389
|
handleClear,
|
|
32185
32390
|
tagDelete,
|
|
32186
32391
|
onFocus,
|
|
32187
32392
|
onBlur,
|
|
32393
|
+
onMultipleClick,
|
|
32394
|
+
onArrowClick,
|
|
32188
32395
|
queryFilter
|
|
32189
32396
|
};
|
|
32190
32397
|
}
|
|
32191
32398
|
var SelectContent = defineComponent({
|
|
32192
32399
|
name: "SelectContent",
|
|
32193
|
-
setup() {
|
|
32400
|
+
setup(_, ctx2) {
|
|
32194
32401
|
const formItemContext = inject(FORM_ITEM_TOKEN, void 0);
|
|
32195
|
-
const ns2 = useNamespace
|
|
32402
|
+
const ns2 = useNamespace("select");
|
|
32196
32403
|
const clearCls = computed(() => ({
|
|
32197
32404
|
[ns2.e("clear")]: true,
|
|
32198
32405
|
[ns2.em("clear", "feedback")]: Boolean(formItemContext == null ? void 0 : formItemContext.validateState) && (formItemContext == null ? void 0 : formItemContext.showFeedback)
|
|
@@ -32204,44 +32411,71 @@ var SelectContent = defineComponent({
|
|
|
32204
32411
|
const multipleCls = ns2.e("multiple");
|
|
32205
32412
|
const multipleInputCls = ns2.em("multiple", "input");
|
|
32206
32413
|
const {
|
|
32414
|
+
singleInputRef,
|
|
32207
32415
|
searchQuery,
|
|
32416
|
+
singleSearchKey,
|
|
32208
32417
|
selectedData,
|
|
32209
32418
|
isSelectDisable,
|
|
32210
32419
|
isSupportCollapseTags,
|
|
32211
32420
|
isDisabledTooltip,
|
|
32212
32421
|
isReadOnly,
|
|
32422
|
+
isSupportFilter,
|
|
32213
32423
|
selectionCls,
|
|
32214
32424
|
inputCls,
|
|
32215
32425
|
tagSize,
|
|
32216
32426
|
placeholder,
|
|
32427
|
+
singlePlaceholder,
|
|
32428
|
+
singlePlaceholderWidth,
|
|
32217
32429
|
isMultiple,
|
|
32430
|
+
isPlaceholderDark,
|
|
32218
32431
|
displayInputValue,
|
|
32432
|
+
onSingleInputWrapClick,
|
|
32433
|
+
onMultipleClick,
|
|
32434
|
+
onArrowClick,
|
|
32219
32435
|
handleClear,
|
|
32220
32436
|
tagDelete,
|
|
32221
32437
|
onFocus,
|
|
32222
32438
|
onBlur,
|
|
32223
32439
|
queryFilter
|
|
32224
32440
|
} = useSelectContent();
|
|
32441
|
+
const clearSingleSearchKey = () => {
|
|
32442
|
+
singleSearchKey.value = "";
|
|
32443
|
+
};
|
|
32444
|
+
const clearMultipleSearchKey = () => {
|
|
32445
|
+
searchQuery.value = "";
|
|
32446
|
+
};
|
|
32447
|
+
ctx2.expose({
|
|
32448
|
+
clearSingleSearchKey,
|
|
32449
|
+
clearMultipleSearchKey
|
|
32450
|
+
});
|
|
32225
32451
|
return () => {
|
|
32226
32452
|
return createVNode("div", {
|
|
32227
32453
|
"class": selectionCls.value
|
|
32228
32454
|
}, [isMultiple.value ? createVNode("div", {
|
|
32229
|
-
"class": multipleCls
|
|
32455
|
+
"class": multipleCls,
|
|
32456
|
+
"onClick": onMultipleClick
|
|
32230
32457
|
}, [!isSupportCollapseTags.value && selectedData.value.length >= 1 && selectedData.value.map((item) => createVNode(Tag, {
|
|
32231
|
-
"deletable":
|
|
32458
|
+
"deletable": !(isSelectDisable.value || item.disabled),
|
|
32232
32459
|
"onTagDelete": withModifiers(() => tagDelete(item), ["prevent", "stop"]),
|
|
32233
32460
|
"key": item.value,
|
|
32461
|
+
"maxWidth": "78%",
|
|
32462
|
+
"class": ["multiple-tag", {
|
|
32463
|
+
disabled: isSelectDisable.value || item.disabled
|
|
32464
|
+
}],
|
|
32234
32465
|
"size": tagSize.value
|
|
32235
32466
|
}, {
|
|
32236
32467
|
default: () => [item.name]
|
|
32237
32468
|
})), isSupportCollapseTags.value && selectedData.value.length >= 1 && createVNode(Tag, {
|
|
32238
32469
|
"deletable": true,
|
|
32470
|
+
"maxWidth": "75%",
|
|
32471
|
+
"class": "multiple-tag",
|
|
32239
32472
|
"onTagDelete": withModifiers(() => tagDelete(selectedData.value[0]), ["prevent", "stop"]),
|
|
32240
32473
|
"size": tagSize.value
|
|
32241
32474
|
}, {
|
|
32242
32475
|
default: () => [selectedData.value[0].name]
|
|
32243
32476
|
}), isSupportCollapseTags.value && selectedData.value.length > 1 && createVNode(Popover, {
|
|
32244
32477
|
"trigger": "hover",
|
|
32478
|
+
"auto-update-position": true,
|
|
32245
32479
|
"disabled": isDisabledTooltip.value
|
|
32246
32480
|
}, {
|
|
32247
32481
|
default: () => createVNode(Tag, {
|
|
@@ -32253,39 +32487,49 @@ var SelectContent = defineComponent({
|
|
|
32253
32487
|
"deletable": true,
|
|
32254
32488
|
"onTagDelete": withModifiers(() => tagDelete(item), ["prevent", "stop"]),
|
|
32255
32489
|
"key": item.value,
|
|
32490
|
+
"class": "popover-tag",
|
|
32256
32491
|
"size": tagSize.value
|
|
32257
32492
|
}, {
|
|
32258
32493
|
default: () => [item.name]
|
|
32259
32494
|
}))])
|
|
32260
32495
|
}), createVNode("div", {
|
|
32261
32496
|
"class": multipleInputCls
|
|
32262
|
-
}, [createVNode("input", {
|
|
32497
|
+
}, [withDirectives(createVNode("input", {
|
|
32263
32498
|
"ref": "input",
|
|
32264
32499
|
"value": searchQuery.value,
|
|
32265
32500
|
"type": "text",
|
|
32266
32501
|
"class": inputCls.value,
|
|
32267
32502
|
"placeholder": placeholder.value,
|
|
32268
|
-
"readonly": isReadOnly.value,
|
|
32503
|
+
"readonly": isReadOnly.value || !isSupportFilter.value,
|
|
32269
32504
|
"disabled": isSelectDisable.value,
|
|
32270
|
-
"onInput": queryFilter
|
|
32271
|
-
|
|
32272
|
-
"
|
|
32273
|
-
|
|
32274
|
-
|
|
32275
|
-
"
|
|
32505
|
+
"onInput": queryFilter
|
|
32506
|
+
}, null), [[vShow, !selectedData.value.length || isSupportFilter.value]])])]) : createVNode("div", {
|
|
32507
|
+
"class": "single-inner-input",
|
|
32508
|
+
"onClick": onSingleInputWrapClick
|
|
32509
|
+
}, [!singleSearchKey.value && createVNode("span", {
|
|
32510
|
+
"class": ["input-placeholder", {
|
|
32511
|
+
"placeholder-dark": isPlaceholderDark.value
|
|
32512
|
+
}],
|
|
32513
|
+
"style": {
|
|
32514
|
+
width: singlePlaceholderWidth.value
|
|
32515
|
+
},
|
|
32516
|
+
"title": displayInputValue.value || singlePlaceholder.value
|
|
32517
|
+
}, [displayInputValue.value || singlePlaceholder.value]), withDirectives(createVNode("input", {
|
|
32518
|
+
"ref": singleInputRef,
|
|
32276
32519
|
"type": "text",
|
|
32520
|
+
"onUpdate:modelValue": ($event) => singleSearchKey.value = $event,
|
|
32277
32521
|
"class": inputCls.value,
|
|
32278
|
-
"placeholder": placeholder.value,
|
|
32279
32522
|
"readonly": isReadOnly.value,
|
|
32280
32523
|
"disabled": isSelectDisable.value,
|
|
32281
32524
|
"onFocus": onFocus,
|
|
32282
32525
|
"onBlur": onBlur,
|
|
32283
32526
|
"onInput": queryFilter
|
|
32284
|
-
}, null), createVNode("span", {
|
|
32527
|
+
}, null), [[vModelText, singleSearchKey.value]])]), createVNode("span", {
|
|
32285
32528
|
"onClick": handleClear,
|
|
32286
32529
|
"class": clearCls.value
|
|
32287
32530
|
}, [createVNode(AlertCloseIcon, null, null)]), createVNode("span", {
|
|
32288
|
-
"class": arrowCls.value
|
|
32531
|
+
"class": arrowCls.value,
|
|
32532
|
+
"onClick": onArrowClick
|
|
32289
32533
|
}, [createVNode(SelectArrowIcon, null, null)])]);
|
|
32290
32534
|
};
|
|
32291
32535
|
}
|
|
@@ -32313,11 +32557,38 @@ function useSelectFunction(props, selectRef) {
|
|
|
32313
32557
|
};
|
|
32314
32558
|
return { isSelectFocus, focus, blur: blur2 };
|
|
32315
32559
|
}
|
|
32560
|
+
function useSelectMenuSize(selectRef, dropdownRef, isOpen) {
|
|
32561
|
+
const originRef = ref();
|
|
32562
|
+
const dropdownWidth = ref(0);
|
|
32563
|
+
let observer;
|
|
32564
|
+
const updateDropdownWidth = () => {
|
|
32565
|
+
var _a;
|
|
32566
|
+
dropdownWidth.value = ((_a = originRef.value) == null ? void 0 : _a.getBoundingClientRect().width) || 0;
|
|
32567
|
+
if (isOpen.value) {
|
|
32568
|
+
dropdownRef.value.updatePosition();
|
|
32569
|
+
}
|
|
32570
|
+
};
|
|
32571
|
+
const watchInputSize = () => {
|
|
32572
|
+
if (window) {
|
|
32573
|
+
observer = new window.ResizeObserver(updateDropdownWidth);
|
|
32574
|
+
observer.observe(originRef.value);
|
|
32575
|
+
}
|
|
32576
|
+
};
|
|
32577
|
+
onMounted(() => {
|
|
32578
|
+
originRef.value = selectRef.value.$el;
|
|
32579
|
+
watchInputSize();
|
|
32580
|
+
updateDropdownWidth();
|
|
32581
|
+
});
|
|
32582
|
+
onBeforeUnmount(() => {
|
|
32583
|
+
observer == null ? void 0 : observer.unobserve(originRef.value);
|
|
32584
|
+
});
|
|
32585
|
+
return { originRef, dropdownWidth };
|
|
32586
|
+
}
|
|
32316
32587
|
var select = "";
|
|
32317
32588
|
var Select = defineComponent({
|
|
32318
32589
|
name: "DSelect",
|
|
32319
32590
|
props: selectProps,
|
|
32320
|
-
emits: ["toggle-change", "value-change", "update:modelValue", "focus", "blur", "remove-tag", "clear"],
|
|
32591
|
+
emits: ["toggle-change", "value-change", "update:modelValue", "focus", "blur", "remove-tag", "clear", "load-more"],
|
|
32321
32592
|
setup(props, ctx2) {
|
|
32322
32593
|
const app = getCurrentInstance();
|
|
32323
32594
|
const t = createI18nTranslate("DSelect", app);
|
|
@@ -32330,7 +32601,6 @@ var Select = defineComponent({
|
|
|
32330
32601
|
const {
|
|
32331
32602
|
selectDisabled,
|
|
32332
32603
|
selectSize,
|
|
32333
|
-
originRef,
|
|
32334
32604
|
dropdownRef,
|
|
32335
32605
|
isOpen,
|
|
32336
32606
|
selectCls,
|
|
@@ -32351,9 +32621,17 @@ var Select = defineComponent({
|
|
|
32351
32621
|
toggleChange,
|
|
32352
32622
|
isShowCreateOption
|
|
32353
32623
|
} = useSelect$2(props, selectRef, ctx2, focus, blur2, isSelectFocus, t);
|
|
32354
|
-
const
|
|
32355
|
-
const
|
|
32356
|
-
|
|
32624
|
+
const dropdownContainer = ref();
|
|
32625
|
+
const {
|
|
32626
|
+
originRef,
|
|
32627
|
+
dropdownWidth
|
|
32628
|
+
} = useSelectMenuSize(selectRef, dropdownRef, isOpen);
|
|
32629
|
+
const scrollbarNs = useNamespace("scrollbar");
|
|
32630
|
+
const ns2 = useNamespace("select");
|
|
32631
|
+
const dropdownCls = {
|
|
32632
|
+
[ns2.e("dropdown")]: true,
|
|
32633
|
+
[ns2.em("dropdown", "multiple")]: props.multiple
|
|
32634
|
+
};
|
|
32357
32635
|
const listCls = {
|
|
32358
32636
|
[ns2.e("dropdown-list")]: true,
|
|
32359
32637
|
[scrollbarNs.b()]: true
|
|
@@ -32365,32 +32643,29 @@ var Select = defineComponent({
|
|
|
32365
32643
|
toggleChange
|
|
32366
32644
|
});
|
|
32367
32645
|
const isRender = ref(false);
|
|
32368
|
-
|
|
32369
|
-
const dropdownWidth = ref("0");
|
|
32370
|
-
const updateDropdownWidth = () => {
|
|
32371
|
-
var _a;
|
|
32372
|
-
dropdownWidth.value = ((_a = originRef == null ? void 0 : originRef.value) == null ? void 0 : _a.clientWidth) ? originRef.value.clientWidth + "px" : "100%";
|
|
32373
|
-
};
|
|
32374
|
-
watch(selectRef, (val) => {
|
|
32375
|
-
if (val) {
|
|
32376
|
-
originRef.value = val.$el;
|
|
32377
|
-
updateDropdownWidth();
|
|
32378
|
-
}
|
|
32379
|
-
});
|
|
32380
|
-
onMounted(() => {
|
|
32646
|
+
onBeforeMount(() => {
|
|
32381
32647
|
isRender.value = true;
|
|
32382
|
-
updateDropdownWidth();
|
|
32383
|
-
window.addEventListener("resize", updateDropdownWidth);
|
|
32384
32648
|
});
|
|
32385
|
-
|
|
32386
|
-
|
|
32649
|
+
const scrollToBottom = () => {
|
|
32650
|
+
const compareHeight = dropdownContainer.value.scrollHeight - dropdownContainer.value.clientHeight;
|
|
32651
|
+
const scrollTop = dropdownContainer.value.scrollTop;
|
|
32652
|
+
if (scrollTop === compareHeight) {
|
|
32653
|
+
ctx2.emit("load-more");
|
|
32654
|
+
}
|
|
32655
|
+
};
|
|
32656
|
+
onMounted(() => {
|
|
32657
|
+
nextTick(() => {
|
|
32658
|
+
dropdownContainer.value.addEventListener("scroll", scrollToBottom);
|
|
32659
|
+
});
|
|
32387
32660
|
});
|
|
32388
32661
|
provide(SELECT_TOKEN, reactive(__spreadProps(__spreadValues({}, toRefs(props)), {
|
|
32389
32662
|
selectDisabled,
|
|
32390
32663
|
selectSize,
|
|
32391
32664
|
isOpen,
|
|
32665
|
+
isSelectFocus,
|
|
32392
32666
|
selectedOptions,
|
|
32393
32667
|
filterQuery,
|
|
32668
|
+
dropdownWidth,
|
|
32394
32669
|
valueChange,
|
|
32395
32670
|
handleClear,
|
|
32396
32671
|
updateInjectOptions,
|
|
@@ -32404,7 +32679,7 @@ var Select = defineComponent({
|
|
|
32404
32679
|
"class": selectCls.value,
|
|
32405
32680
|
"onClick": withModifiers(() => {
|
|
32406
32681
|
toggleChange(!isOpen.value);
|
|
32407
|
-
}, [
|
|
32682
|
+
}, [])
|
|
32408
32683
|
}, [createVNode(SelectContent, {
|
|
32409
32684
|
"ref": selectRef
|
|
32410
32685
|
}, null), createVNode(Teleport, {
|
|
@@ -32418,9 +32693,9 @@ var Select = defineComponent({
|
|
|
32418
32693
|
"onUpdate:modelValue": ($event) => isRender.value = $event,
|
|
32419
32694
|
"ref": dropdownRef,
|
|
32420
32695
|
"origin": originRef.value,
|
|
32421
|
-
"align": "start",
|
|
32422
32696
|
"offset": 4,
|
|
32423
|
-
"
|
|
32697
|
+
"place-strategy": "no-space",
|
|
32698
|
+
"position": props.position,
|
|
32424
32699
|
"style": {
|
|
32425
32700
|
visibility: isOpen.value ? "visible" : "hidden",
|
|
32426
32701
|
"z-index": isOpen.value ? "var(--devui-z-index-dropdown, 1052)" : -1
|
|
@@ -32431,11 +32706,15 @@ var Select = defineComponent({
|
|
|
32431
32706
|
return [createVNode("div", {
|
|
32432
32707
|
"class": dropdownCls,
|
|
32433
32708
|
"style": {
|
|
32434
|
-
width: `${dropdownWidth.value}`,
|
|
32709
|
+
width: `${dropdownWidth.value}px`,
|
|
32435
32710
|
visibility: isOpen.value ? "visible" : "hidden"
|
|
32436
32711
|
}
|
|
32437
32712
|
}, [withDirectives(createVNode("ul", {
|
|
32438
|
-
"class": listCls
|
|
32713
|
+
"class": listCls,
|
|
32714
|
+
"style": {
|
|
32715
|
+
padding: isShowEmptyText.value ? "0" : "12px"
|
|
32716
|
+
},
|
|
32717
|
+
"ref": dropdownContainer
|
|
32439
32718
|
}, [isShowCreateOption.value && createVNode(Option, {
|
|
32440
32719
|
"value": filterQuery.value,
|
|
32441
32720
|
"name": filterQuery.value,
|
|
@@ -32454,7 +32733,8 @@ var Select = defineComponent({
|
|
|
32454
32733
|
default: () => [props.multiple ? createVNode(Checkbox, {
|
|
32455
32734
|
"modelValue": item._checked,
|
|
32456
32735
|
"label": item.name,
|
|
32457
|
-
"disabled": isDisabled(item)
|
|
32736
|
+
"disabled": isDisabled(item),
|
|
32737
|
+
"class": "select-checkbox"
|
|
32458
32738
|
}, null) : item.name || item.value]
|
|
32459
32739
|
}))]), [[vShow, !isLoading.value]]), isShowEmptyText.value && createVNode("div", null, [((_c = ctx2.slots) == null ? void 0 : _c.empty) && ctx2.slots.empty(), !((_d = ctx2.slots) == null ? void 0 : _d.empty) && createVNode("p", {
|
|
32460
32740
|
"class": dropdownEmptyCls
|
|
@@ -32470,7 +32750,7 @@ var OptionGroup = defineComponent({
|
|
|
32470
32750
|
name: "DOptionGroup",
|
|
32471
32751
|
props: optionGroupProps,
|
|
32472
32752
|
setup(props, ctx2) {
|
|
32473
|
-
const ns2 = useNamespace
|
|
32753
|
+
const ns2 = useNamespace("select");
|
|
32474
32754
|
provide(OPTION_GROUP_TOKEN, reactive(__spreadValues({}, toRefs(props))));
|
|
32475
32755
|
return () => {
|
|
32476
32756
|
var _a;
|
|
@@ -33468,7 +33748,7 @@ var Progress = defineComponent({
|
|
|
33468
33748
|
data,
|
|
33469
33749
|
$slots
|
|
33470
33750
|
} = this;
|
|
33471
|
-
const ns2 = useNamespace
|
|
33751
|
+
const ns2 = useNamespace("progress");
|
|
33472
33752
|
const isOutside = percentageTextPlacement === "outside";
|
|
33473
33753
|
const isInsideBg = percentageTextPlacement === "insideBg";
|
|
33474
33754
|
const createPercentageText = () => {
|
|
@@ -35097,7 +35377,7 @@ const skeletonProps = {
|
|
|
35097
35377
|
const roundInjectionKey = Symbol("round");
|
|
35098
35378
|
const animationInjectionKey = Symbol("showAnimation");
|
|
35099
35379
|
function useSkeletonItem(props) {
|
|
35100
|
-
const ns2 = useNamespace
|
|
35380
|
+
const ns2 = useNamespace("skeleton-item");
|
|
35101
35381
|
const { variant, size } = toRefs(props);
|
|
35102
35382
|
const round = inject(roundInjectionKey, void 0);
|
|
35103
35383
|
const showAnimation = inject(animationInjectionKey, void 0);
|
|
@@ -35171,7 +35451,7 @@ var Skeleton = defineComponent({
|
|
|
35171
35451
|
name: "DSkeleton",
|
|
35172
35452
|
props: skeletonProps,
|
|
35173
35453
|
setup(props, ctx2) {
|
|
35174
|
-
const ns2 = useNamespace
|
|
35454
|
+
const ns2 = useNamespace("skeleton");
|
|
35175
35455
|
const {
|
|
35176
35456
|
loading: loading2,
|
|
35177
35457
|
rows,
|
|
@@ -36358,7 +36638,7 @@ var Steps = defineComponent({
|
|
|
36358
36638
|
direction,
|
|
36359
36639
|
simple
|
|
36360
36640
|
} = toRefs(props);
|
|
36361
|
-
const ns2 = useNamespace
|
|
36641
|
+
const ns2 = useNamespace("steps");
|
|
36362
36642
|
const activeStep = ref(modelValue.value);
|
|
36363
36643
|
provide(ACTIVE_STEP, activeStep);
|
|
36364
36644
|
provide(STEPS_PROPS, props);
|
|
@@ -36408,7 +36688,7 @@ var Step = defineComponent({
|
|
|
36408
36688
|
icon: icon2,
|
|
36409
36689
|
status: status2
|
|
36410
36690
|
} = toRefs(props);
|
|
36411
|
-
const ns2 = useNamespace
|
|
36691
|
+
const ns2 = useNamespace("step");
|
|
36412
36692
|
const instance = getCurrentInstance();
|
|
36413
36693
|
const activeStep = inject(ACTIVE_STEP);
|
|
36414
36694
|
const steps2 = inject(STEPS);
|
|
@@ -43681,6 +43961,7 @@ const installs = [
|
|
|
43681
43961
|
AlertInstall,
|
|
43682
43962
|
AnchorInstall,
|
|
43683
43963
|
AutoCompleteInstall,
|
|
43964
|
+
AutoFocusInstall,
|
|
43684
43965
|
AvatarInstall,
|
|
43685
43966
|
BackTopInstall,
|
|
43686
43967
|
BadgeInstall,
|
|
@@ -43762,9 +44043,9 @@ const installs = [
|
|
|
43762
44043
|
VirtualListInstall
|
|
43763
44044
|
];
|
|
43764
44045
|
var vueDevui = {
|
|
43765
|
-
version: "1.5.
|
|
44046
|
+
version: "1.5.13",
|
|
43766
44047
|
install(app) {
|
|
43767
44048
|
installs.forEach((p) => app.use(p));
|
|
43768
44049
|
}
|
|
43769
44050
|
};
|
|
43770
|
-
export { Accordion, ActionTimeline, Alert, Anchor, Aside, AutoComplete, Avatar, BackTop, Badge, Breadcrumb, BreadcrumbItem, DButton as Button, ButtonGroup, Card, Carousel, CarouselItem, Cascader, Checkbox, CheckboxButton, DCheckboxGroup as CheckboxGroup, CodeEditor, CodeReview, Col, Collapse, CollapseItem, ColorPicker, Column, Comment, Content, Countdown, DChart, DRangeDatePickerPro, DatePicker, DatePickerPro, draggableDirective as DraggableDirective, Drawer, DrawerService, Dropdown$1 as Dropdown, DropdownMenu, droppableDirective as DroppableDirective, EditableSelect, EditorMd, FixedOverlay, FlexibleOverlay, Footer, Form, FormItem, FormOperation, Fullscreen, Gantt, GitGraph, Header, DIcon as Icon, IconGroup, ImagePreviewDirective, ImagePreviewService, DInput as Input, InputIcon, InputNumber, Layout, List, ListItem, LoadingDirective, loading as LoadingService, MdRender, Mention, Menu, MenuItem, Message, Modal, ModalBody, ModalFooter, ModalHeader, MultiAutoComplete, NavSprite, Notification, NotificationService, Option, OptionGroup, Pagination, Panel, PanelBody, PanelFooter, PanelHeader, Popover, Progress, QuadrantDiagram, Radio, RadioButton, RadioGroup, Rate, ReadTip, Result, RippleDirective, Row, DSearch as Search, Select, Skeleton, SkeletonItem, Slider, SortableDirective, Splitter, SplitterPane, Statistic, Status, Step, Steps, StepsGuide, StepsGuideDirective, StickSlider, Sticky, SubMenu, Switch, Tab, Table, Tabs, Tag, TagInput, Textarea, TimePicker, TimeSelect, Timeline, TimelineItem, Tooltip, Transfer, Tree, TreeSelect, Upload, VirtualList, vueDevui as default, fileDropDirective };
|
|
44051
|
+
export { Accordion, ActionTimeline, Alert, Anchor, Aside, AutoComplete, AutoFocus, Avatar, BackTop, Badge, Breadcrumb, BreadcrumbItem, DButton as Button, ButtonGroup, Card, Carousel, CarouselItem, Cascader, Checkbox, CheckboxButton, DCheckboxGroup as CheckboxGroup, CodeEditor, CodeReview, Col, Collapse, CollapseItem, ColorPicker, Column, Comment, Content, Countdown, DChart, DRangeDatePickerPro, DatePicker, DatePickerPro, draggableDirective as DraggableDirective, Drawer, DrawerService, Dropdown$1 as Dropdown, DropdownMenu, droppableDirective as DroppableDirective, EditableSelect, EditorMd, FixedOverlay, FlexibleOverlay, Footer, Form, FormItem, FormOperation, Fullscreen, Gantt, GitGraph, Header, DIcon as Icon, IconGroup, ImagePreviewDirective, ImagePreviewService, DInput as Input, InputIcon, InputNumber, Layout, List, ListItem, LoadingDirective, loading as LoadingService, MdRender, Mention, Menu, MenuItem, Message, Modal, ModalBody, ModalFooter, ModalHeader, MultiAutoComplete, NavSprite, Notification, NotificationService, Option, OptionGroup, Pagination, Panel, PanelBody, PanelFooter, PanelHeader, Popover, Progress, QuadrantDiagram, Radio, RadioButton, RadioGroup, Rate, ReadTip, Result, RippleDirective, Row, DSearch as Search, Select, Skeleton, SkeletonItem, Slider, SortableDirective, Splitter, SplitterPane, Statistic, Status, Step, Steps, StepsGuide, StepsGuideDirective, StickSlider, Sticky, SubMenu, Switch, Tab, Table, Tabs, Tag, TagInput, Textarea, TimePicker, TimeSelect, Timeline, TimelineItem, Tooltip, Transfer, Tree, TreeSelect, Upload, VirtualList, vueDevui as default, fileDropDirective };
|