vue-devui 1.0.0-beta.10 → 1.0.0-beta.14
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/README.md +62 -45
- package/accordion/index.es.js +309 -38
- package/accordion/index.umd.js +1 -1
- package/accordion/style.css +1 -1
- package/alert/index.es.js +5 -2
- package/alert/index.umd.js +1 -1
- package/auto-complete/index.d.ts +7 -0
- package/auto-complete/index.es.js +1121 -0
- package/auto-complete/index.umd.js +1 -0
- package/auto-complete/package.json +7 -0
- package/auto-complete/style.css +1 -0
- package/button/index.es.js +213 -8
- package/button/index.umd.js +1 -1
- package/button/style.css +1 -1
- package/color-picker/index.d.ts +7 -0
- package/color-picker/index.es.js +2960 -0
- package/color-picker/index.umd.js +1 -0
- package/color-picker/package.json +7 -0
- package/color-picker/style.css +1 -0
- package/dragdrop/index.es.js +135 -10
- package/dragdrop/index.umd.js +1 -1
- package/drawer/index.es.js +38 -6
- package/drawer/index.umd.js +1 -1
- package/dropdown/index.es.js +30 -22
- package/dropdown/index.umd.js +1 -1
- package/dropdown/style.css +1 -1
- package/editable-select/index.es.js +67 -3
- package/editable-select/index.umd.js +11 -11
- package/form/index.es.js +59 -17
- package/form/index.umd.js +1 -1
- package/gantt/index.es.js +3 -3
- package/gantt/index.umd.js +1 -1
- package/image-preview/index.es.js +33 -15
- package/image-preview/index.umd.js +1 -1
- package/modal/index.es.js +214 -13
- package/modal/index.umd.js +1 -1
- package/modal/style.css +1 -1
- package/nuxt/components/AutoComplete.js +3 -0
- package/nuxt/components/ColorPicker.js +3 -0
- package/nuxt/components/DrawerService.js +3 -0
- package/overlay/index.es.js +1 -1
- package/overlay/index.umd.js +1 -1
- package/package.json +1 -16
- package/popover/index.es.js +13 -4
- package/popover/index.umd.js +1 -1
- package/progress/index.es.js +8 -8
- package/progress/index.umd.js +3 -3
- package/radio/index.es.js +5 -5
- package/radio/index.umd.js +1 -1
- package/slider/index.es.js +2 -5
- package/slider/index.umd.js +1 -1
- package/slider/style.css +1 -1
- package/splitter/index.es.js +191 -14
- package/splitter/index.umd.js +1 -1
- package/splitter/style.css +1 -1
- package/statistic/index.es.js +4 -4
- package/statistic/index.umd.js +1 -1
- package/statistic/style.css +1 -1
- package/style.css +1 -1
- package/table/index.es.js +236 -26
- package/table/index.umd.js +1 -1
- package/table/style.css +1 -1
- package/time-picker/index.es.js +221 -11
- package/time-picker/index.umd.js +1 -1
- package/time-picker/style.css +1 -1
- package/toast/index.es.js +8 -5
- package/toast/index.umd.js +1 -1
- package/toast/style.css +1 -1
- package/transfer/index.es.js +503 -59
- package/transfer/index.umd.js +1 -1
- package/transfer/style.css +1 -1
- package/tree/index.es.js +6 -5
- package/tree/index.umd.js +1 -1
- package/tree-select/index.es.js +129 -34
- package/tree-select/index.umd.js +1 -1
- package/tree-select/style.css +1 -1
- package/upload/index.es.js +165 -507
- package/upload/index.umd.js +1 -1
- package/upload/style.css +1 -1
- package/vue-devui.es.js +16501 -13904
- package/vue-devui.umd.js +19 -19
- package/nuxt/components/MultiUpload.js +0 -3
package/modal/index.es.js
CHANGED
|
@@ -68,7 +68,7 @@ const modalProps = {
|
|
|
68
68
|
},
|
|
69
69
|
backdropCloseable: {
|
|
70
70
|
type: Boolean,
|
|
71
|
-
default:
|
|
71
|
+
default: true
|
|
72
72
|
},
|
|
73
73
|
bodyScrollable: {
|
|
74
74
|
type: Boolean,
|
|
@@ -294,7 +294,7 @@ const FlexibleOverlay = defineComponent({
|
|
|
294
294
|
overlayClass,
|
|
295
295
|
handleBackdropClick,
|
|
296
296
|
handleOverlayBubbleCancel
|
|
297
|
-
} = useOverlayLogic(props);
|
|
297
|
+
} = useOverlayLogic(props, ctx);
|
|
298
298
|
return () => createVNode(CommonOverlay, null, {
|
|
299
299
|
default: () => [withDirectives(createVNode("div", {
|
|
300
300
|
"style": props.backgroundStyle,
|
|
@@ -561,7 +561,7 @@ const dialogProps = {
|
|
|
561
561
|
},
|
|
562
562
|
backdropCloseable: {
|
|
563
563
|
type: Boolean,
|
|
564
|
-
default:
|
|
564
|
+
default: true
|
|
565
565
|
},
|
|
566
566
|
bodyScrollable: {
|
|
567
567
|
type: Boolean,
|
|
@@ -724,12 +724,208 @@ var Icon = defineComponent({
|
|
|
724
724
|
Icon.install = function(app) {
|
|
725
725
|
app.component(Icon.name, Icon);
|
|
726
726
|
};
|
|
727
|
+
class View {
|
|
728
|
+
constructor() {
|
|
729
|
+
__publicField(this, "top", "50%");
|
|
730
|
+
__publicField(this, "left", "50%");
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
const componentProps = {
|
|
734
|
+
message: String,
|
|
735
|
+
backdrop: Boolean,
|
|
736
|
+
view: {
|
|
737
|
+
type: Object,
|
|
738
|
+
default: () => new View()
|
|
739
|
+
},
|
|
740
|
+
zIndex: Number,
|
|
741
|
+
isFull: {
|
|
742
|
+
type: Boolean,
|
|
743
|
+
default: false
|
|
744
|
+
}
|
|
745
|
+
};
|
|
746
|
+
class LoadingProps {
|
|
747
|
+
constructor() {
|
|
748
|
+
__publicField(this, "target");
|
|
749
|
+
__publicField(this, "message");
|
|
750
|
+
__publicField(this, "loadingTemplateRef");
|
|
751
|
+
__publicField(this, "backdrop", true);
|
|
752
|
+
__publicField(this, "positionType", "relative");
|
|
753
|
+
__publicField(this, "view", new View());
|
|
754
|
+
__publicField(this, "zIndex");
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
var loading = "";
|
|
758
|
+
var Loading = defineComponent({
|
|
759
|
+
name: "DLoading",
|
|
760
|
+
inheritAttrs: false,
|
|
761
|
+
props: componentProps,
|
|
762
|
+
setup(props) {
|
|
763
|
+
const style = {
|
|
764
|
+
top: props.view.top,
|
|
765
|
+
left: props.view.left,
|
|
766
|
+
zIndex: props.zIndex
|
|
767
|
+
};
|
|
768
|
+
if (!props.message) {
|
|
769
|
+
style.background = "none";
|
|
770
|
+
}
|
|
771
|
+
const isShow = ref(false);
|
|
772
|
+
const open = () => {
|
|
773
|
+
isShow.value = true;
|
|
774
|
+
};
|
|
775
|
+
const close = () => {
|
|
776
|
+
isShow.value = false;
|
|
777
|
+
};
|
|
778
|
+
return {
|
|
779
|
+
style,
|
|
780
|
+
isShow,
|
|
781
|
+
open,
|
|
782
|
+
close
|
|
783
|
+
};
|
|
784
|
+
},
|
|
785
|
+
render() {
|
|
786
|
+
var _a;
|
|
787
|
+
const {
|
|
788
|
+
isShow,
|
|
789
|
+
isFull,
|
|
790
|
+
backdrop,
|
|
791
|
+
style,
|
|
792
|
+
message,
|
|
793
|
+
$slots
|
|
794
|
+
} = this;
|
|
795
|
+
return isShow && createVNode("div", {
|
|
796
|
+
"class": ["devui-loading-contanier", isFull ? "devui-loading--full" : ""]
|
|
797
|
+
}, [((_a = $slots.default) == null ? void 0 : _a.call($slots)) || createVNode("div", {
|
|
798
|
+
"class": "devui-loading-wrapper"
|
|
799
|
+
}, [backdrop ? createVNode("div", {
|
|
800
|
+
"class": "devui-loading-mask"
|
|
801
|
+
}, null) : null, createVNode("div", {
|
|
802
|
+
"style": style,
|
|
803
|
+
"class": "devui-loading-area"
|
|
804
|
+
}, [createVNode("div", {
|
|
805
|
+
"class": "devui-busy-default-spinner"
|
|
806
|
+
}, [createVNode("div", {
|
|
807
|
+
"class": "devui-loading-bar1"
|
|
808
|
+
}, null), createVNode("div", {
|
|
809
|
+
"class": "devui-loading-bar2"
|
|
810
|
+
}, null), createVNode("div", {
|
|
811
|
+
"class": "devui-loading-bar3"
|
|
812
|
+
}, null), createVNode("div", {
|
|
813
|
+
"class": "devui-loading-bar4"
|
|
814
|
+
}, null)]), message ? createVNode("span", {
|
|
815
|
+
"class": "devui-loading-text"
|
|
816
|
+
}, [message]) : null])])]);
|
|
817
|
+
}
|
|
818
|
+
});
|
|
819
|
+
const COMPONENT_CONTAINER_SYMBOL = Symbol("dev_component_container");
|
|
820
|
+
function createComponent(Component, props, children = null) {
|
|
821
|
+
const vnode = h(Component, __spreadValues({}, props), children);
|
|
822
|
+
const container = document.createElement("div");
|
|
823
|
+
vnode[COMPONENT_CONTAINER_SYMBOL] = container;
|
|
824
|
+
render(vnode, container);
|
|
825
|
+
return vnode.component;
|
|
826
|
+
}
|
|
827
|
+
function unmountComponent(ComponnetInstance) {
|
|
828
|
+
render(null, ComponnetInstance == null ? void 0 : ComponnetInstance.vnode[COMPONENT_CONTAINER_SYMBOL]);
|
|
829
|
+
}
|
|
830
|
+
const loadingConstructor = defineComponent(Loading);
|
|
831
|
+
const cacheInstance = new WeakSet();
|
|
832
|
+
const isEmpty = (val) => {
|
|
833
|
+
if (!val)
|
|
834
|
+
return true;
|
|
835
|
+
if (Array.isArray(val))
|
|
836
|
+
return val.length === 0;
|
|
837
|
+
if (val instanceof Set || val instanceof Map)
|
|
838
|
+
return val.size === 0;
|
|
839
|
+
if (val instanceof Promise)
|
|
840
|
+
return false;
|
|
841
|
+
if (typeof val === "object") {
|
|
842
|
+
try {
|
|
843
|
+
return Object.keys(val).length === 0;
|
|
844
|
+
} catch (e) {
|
|
845
|
+
return false;
|
|
846
|
+
}
|
|
847
|
+
}
|
|
848
|
+
return false;
|
|
849
|
+
};
|
|
850
|
+
const getType = (vari) => {
|
|
851
|
+
return Object.prototype.toString.call(vari).slice(8, -1).toLowerCase();
|
|
852
|
+
};
|
|
853
|
+
const isPromise = (value) => {
|
|
854
|
+
const type = getType(value);
|
|
855
|
+
switch (type) {
|
|
856
|
+
case "promise":
|
|
857
|
+
return [value];
|
|
858
|
+
case "array":
|
|
859
|
+
if (value.some((val) => getType(val) !== "promise")) {
|
|
860
|
+
console.error(new TypeError("Binding values should all be of type Promise"));
|
|
861
|
+
return "error";
|
|
862
|
+
}
|
|
863
|
+
return value;
|
|
864
|
+
default:
|
|
865
|
+
return false;
|
|
866
|
+
}
|
|
867
|
+
};
|
|
868
|
+
const unmount = (el) => {
|
|
869
|
+
cacheInstance.delete(el);
|
|
870
|
+
el.instance.proxy.close();
|
|
871
|
+
unmountComponent(el.instance);
|
|
872
|
+
};
|
|
873
|
+
const toggleLoading = (el, binding) => {
|
|
874
|
+
if (binding.value) {
|
|
875
|
+
const vals = isPromise(binding.value);
|
|
876
|
+
if (vals === "error")
|
|
877
|
+
return;
|
|
878
|
+
el.instance.proxy.open();
|
|
879
|
+
el.appendChild(el.mask);
|
|
880
|
+
cacheInstance.add(el);
|
|
881
|
+
if (vals) {
|
|
882
|
+
Promise.all(vals).catch((err) => {
|
|
883
|
+
console.error(new Error("Promise handling errors"), err);
|
|
884
|
+
}).finally(() => {
|
|
885
|
+
unmount(el);
|
|
886
|
+
});
|
|
887
|
+
}
|
|
888
|
+
} else {
|
|
889
|
+
unmount(el);
|
|
890
|
+
}
|
|
891
|
+
};
|
|
892
|
+
const removeAttribute = (el) => {
|
|
893
|
+
el.removeAttribute("zindex");
|
|
894
|
+
el.removeAttribute("positiontype");
|
|
895
|
+
el.removeAttribute("backdrop");
|
|
896
|
+
el.removeAttribute("message");
|
|
897
|
+
el.removeAttribute("view");
|
|
898
|
+
el.removeAttribute("loadingtemplateref");
|
|
899
|
+
};
|
|
900
|
+
const handleProps = (el, vprops) => {
|
|
901
|
+
const props = __spreadValues(__spreadValues({}, new LoadingProps()), vprops);
|
|
902
|
+
const loadingTemplateRef = props.loadingTemplateRef;
|
|
903
|
+
const loadingInstance = createComponent(loadingConstructor, __spreadValues({}, props), loadingTemplateRef ? () => loadingTemplateRef : null);
|
|
904
|
+
el.style.position = props.positionType;
|
|
905
|
+
el.options = props;
|
|
906
|
+
el.instance = loadingInstance;
|
|
907
|
+
el.mask = loadingInstance.proxy.$el;
|
|
908
|
+
};
|
|
909
|
+
const loadingDirective = {
|
|
910
|
+
mounted: function(el, binding, vnode) {
|
|
911
|
+
handleProps(el, vnode.props);
|
|
912
|
+
removeAttribute(el);
|
|
913
|
+
!isEmpty(binding.value) && toggleLoading(el, binding);
|
|
914
|
+
},
|
|
915
|
+
updated: function(el, binding, vnode) {
|
|
916
|
+
if (!isEmpty(binding.value) && cacheInstance.has(el) || isEmpty(binding.value) && !cacheInstance.has(el))
|
|
917
|
+
return;
|
|
918
|
+
!cacheInstance.has(el) && handleProps(el, vnode.props);
|
|
919
|
+
removeAttribute(el);
|
|
920
|
+
toggleLoading(el, binding);
|
|
921
|
+
}
|
|
922
|
+
};
|
|
727
923
|
const buttonProps = {
|
|
728
924
|
type: {
|
|
729
925
|
type: String,
|
|
730
926
|
default: "button"
|
|
731
927
|
},
|
|
732
|
-
|
|
928
|
+
variant: {
|
|
733
929
|
type: String,
|
|
734
930
|
default: "primary"
|
|
735
931
|
},
|
|
@@ -771,6 +967,9 @@ const buttonProps = {
|
|
|
771
967
|
var button = "";
|
|
772
968
|
var Button = defineComponent({
|
|
773
969
|
name: "DButton",
|
|
970
|
+
directives: {
|
|
971
|
+
devLoading: loadingDirective
|
|
972
|
+
},
|
|
774
973
|
props: buttonProps,
|
|
775
974
|
setup(props, ctx) {
|
|
776
975
|
const buttonContent = ref(null);
|
|
@@ -784,15 +983,15 @@ var Button = defineComponent({
|
|
|
784
983
|
const hasContent = computed(() => ctx.slots.default);
|
|
785
984
|
const btnClass = computed(() => {
|
|
786
985
|
const {
|
|
787
|
-
|
|
986
|
+
variant,
|
|
788
987
|
size,
|
|
789
988
|
position,
|
|
790
989
|
bordered,
|
|
791
990
|
icon
|
|
792
991
|
} = props;
|
|
793
|
-
const origin = `devui-btn devui-btn-${
|
|
992
|
+
const origin = `devui-btn devui-btn-${variant} devui-btn-${size} devui-btn-${position}`;
|
|
794
993
|
const borderedClass = bordered ? "bordered" : "";
|
|
795
|
-
const btnIcon = !!icon && !hasContent.value &&
|
|
994
|
+
const btnIcon = !!icon && !hasContent.value && variant !== "primary" ? "d-btn-icon" : "";
|
|
796
995
|
const btnIconWrap = !!icon ? "d-btn-icon-wrap" : "";
|
|
797
996
|
return `${origin} ${borderedClass} ${btnIcon} ${btnIconWrap}`;
|
|
798
997
|
});
|
|
@@ -816,9 +1015,9 @@ var Button = defineComponent({
|
|
|
816
1015
|
showLoading,
|
|
817
1016
|
width
|
|
818
1017
|
} = props;
|
|
819
|
-
return
|
|
1018
|
+
return createVNode("div", mergeProps({
|
|
820
1019
|
"class": "devui-btn-host"
|
|
821
|
-
}, ctx.attrs), [createVNode("button", {
|
|
1020
|
+
}, ctx.attrs), [withDirectives(createVNode("button", {
|
|
822
1021
|
"class": btnClass.value,
|
|
823
1022
|
"type": type,
|
|
824
1023
|
"disabled": disabled,
|
|
@@ -832,11 +1031,13 @@ var Button = defineComponent({
|
|
|
832
1031
|
}, null) : null, createVNode("span", {
|
|
833
1032
|
"class": "button-content",
|
|
834
1033
|
"ref": buttonContent
|
|
835
|
-
}, [(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a)])])
|
|
1034
|
+
}, [(_b = (_a = ctx.slots).default) == null ? void 0 : _b.call(_a)])]), [[resolveDirective("devLoading"), showLoading]])]);
|
|
836
1035
|
};
|
|
837
1036
|
}
|
|
838
1037
|
});
|
|
1038
|
+
defineComponent(Loading);
|
|
839
1039
|
Button.install = function(app) {
|
|
1040
|
+
app.directive("dLoading", loadingDirective);
|
|
840
1041
|
app.component(Button.name, Button);
|
|
841
1042
|
};
|
|
842
1043
|
function _isSlot(s) {
|
|
@@ -890,7 +1091,7 @@ var Dialog = defineComponent({
|
|
|
890
1091
|
const buttonsRef = computed(() => {
|
|
891
1092
|
return props.buttons.map((buttonProps2, index2) => {
|
|
892
1093
|
const {
|
|
893
|
-
|
|
1094
|
+
variant,
|
|
894
1095
|
disabled,
|
|
895
1096
|
handler,
|
|
896
1097
|
text
|
|
@@ -901,7 +1102,7 @@ var Dialog = defineComponent({
|
|
|
901
1102
|
display: "inline-block",
|
|
902
1103
|
margin: "0 5px"
|
|
903
1104
|
},
|
|
904
|
-
"
|
|
1105
|
+
"variant": variant,
|
|
905
1106
|
"disabled": disabled,
|
|
906
1107
|
"onClick": handler
|
|
907
1108
|
}, _isSlot(text) ? text : {
|
|
@@ -949,7 +1150,7 @@ var Dialog = defineComponent({
|
|
|
949
1150
|
}, null) : null, createVNode("span", null, [props.title]), createVNode(Button, {
|
|
950
1151
|
"class": "btn-close",
|
|
951
1152
|
"icon": "close",
|
|
952
|
-
"
|
|
1153
|
+
"variant": "text-dark",
|
|
953
1154
|
"onClick": closeModal
|
|
954
1155
|
}, null)]), createVNode("div", {
|
|
955
1156
|
"class": "devui-modal-body"
|
package/modal/index.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var he=Object.defineProperty,ge=Object.defineProperties;var ve=Object.getOwnPropertyDescriptors;var X=Object.getOwnPropertySymbols;var K=Object.prototype.hasOwnProperty,W=Object.prototype.propertyIsEnumerable;var z=(u,t,h)=>t in u?he(u,t,{enumerable:!0,configurable:!0,writable:!0,value:h}):u[t]=h,k=(u,t)=>{for(var h in t||(t={}))K.call(t,h)&&z(u,h,t[h]);if(X)for(var h of X(t))W.call(t,h)&&z(u,h,t[h]);return u},O=(u,t)=>ge(u,ve(t));var Y=(u,t)=>{var h={};for(var S in u)K.call(u,S)&&t.indexOf(S)<0&&(h[S]=u[S]);if(u!=null&&X)for(var S of X(u))t.indexOf(S)<0&&W.call(u,S)&&(h[S]=u[S]);return h};var H=(u,t,h)=>(z(u,typeof t!="symbol"?t+"":t,h),h);(function(u,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(u=typeof globalThis!="undefined"?globalThis:u||self,t(u.index={},u.Vue))})(this,function(u,t){"use strict";const h={width:{type:String,default:"300px"},maxHeight:{type:String},zIndex:{type:Number,default:1050},backdropZIndex:{type:Number,default:1049},placement:{type:String,default:"center"},offsetX:{type:String,default:"0px"},offsetY:{type:String,default:"0px"},showAnimation:{type:Boolean,default:!0},backdropCloseable:{type:Boolean,default:!1},bodyScrollable:{type:Boolean,default:!0},escapeable:{type:Boolean,default:!0},onClose:{type:Function},beforeHidden:{type:[Object,Function]},modelValue:{type:Boolean},"onUpdate:modelValue":{type:Function}};var S="";function G(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const P=t.defineComponent({setup(e,n){return()=>{let o;return t.createVNode(t.Teleport,{to:"#d-overlay-anchor"},{default:()=>[t.createVNode(t.Transition,{name:"devui-overlay-fade"},G(o=t.renderSlot(n.slots,"default"))?o:{default:()=>[o]})]})}}}),j={visible:{type:Boolean},backgroundBlock:{type:Boolean,default:!1},backgroundClass:{type:String,default:""},backgroundStyle:{type:[String,Object]},onBackdropClick:{type:Function},backdropClose:{type:Boolean,default:!0},hasBackdrop:{type:Boolean,default:!0}},F=["update:visible","backdropClick"],J=O(k({},j),{overlayStyle:{type:[String,Object],default:void 0}}),Q=k({origin:{type:Object,require:!0},position:{type:Object,default:()=>({originX:"left",originY:"top",overlayX:"left",overlayY:"top"})}},j);function T(e,n){const o=t.computed(()=>["devui-overlay-background",e.backgroundClass,e.hasBackdrop?"devui-overlay-background__color":"devui-overlay-background__disabled"]),r=t.computed(()=>"devui-overlay"),l=a=>{var i;a.preventDefault(),(i=e.onBackdropClick)==null||i.call(e),e.backdropClose&&n.emit("update:visible",!1)},d=a=>a.cancelBubble=!0;return t.onMounted(()=>{const a=document.body,i=a.style.overflow,f=a.style.position;t.watch([()=>e.visible,()=>e.backgroundBlock],([b,m])=>{if(m){const c=a.getBoundingClientRect().y;b?(a.style.overflowY="scroll",a.style.position=b?"fixed":"",a.style.top=`${c}px`):(a.style.overflowY=i,a.style.position=f,a.style.top="",window.scrollTo(0,-c))}}),t.onUnmounted(()=>{document.body.style.overflow=i})}),{backgroundClass:o,overlayClass:r,handleBackdropClick:l,handleOverlayBubbleCancel:d}}const R=t.defineComponent({name:"DFixedOverlay",props:J,emits:F,setup(e,n){const{backgroundClass:o,overlayClass:r,handleBackdropClick:l,handleOverlayBubbleCancel:d}=T(e,n);return()=>t.createVNode(P,null,{default:()=>[t.withDirectives(t.createVNode("div",{class:o.value,style:e.backgroundStyle,onClick:l},[t.createVNode("div",{class:r.value,style:e.overlayStyle,onClick:d},[t.renderSlot(n.slots,"default")])]),[[t.vShow,e.visible]])]})}});function ee(e){return!!(e==null?void 0:e.$el)}function _(e){return e instanceof Element?e:e&&typeof e=="object"&&e.$el instanceof Element?e.$el:null}const $=t.defineComponent({name:"DFlexibleOverlay",props:Q,emits:F,setup(e,n){const o=t.ref(null),r=t.reactive({position:"absolute"});t.onMounted(async()=>{const f=(y,s,p)=>{const g=ne(y,s,p);r.left=`${g.x}px`,r.top=`${g.y}px`},b=t.computed(()=>{const y=o.value,s=te(e.origin);if(!(!y||!s))return{origin:s,overlay:y}}),m=t.toRef(e,"visible"),c=t.toRef(e,"position");t.watch([b,m,c],async([y,s,p],g,V)=>{if(!s||!y)return;const{origin:v,overlay:w}=y;f(p,w.getBoundingClientRect(),v);const L=[re(()=>f(p,w.getBoundingClientRect(),v)),ie(w,N=>f(p,N[0].contentRect,v)),de(v,()=>f(p,w.getBoundingClientRect(),v))];V(()=>{L.forEach(N=>N())})})});const{backgroundClass:l,overlayClass:d,handleBackdropClick:a,handleOverlayBubbleCancel:i}=T(e);return()=>t.createVNode(P,null,{default:()=>[t.withDirectives(t.createVNode("div",{style:e.backgroundStyle,class:l.value,onClick:a},[t.createVNode("div",{ref:o,class:d.value,style:r,onClick:i},[t.renderSlot(n.slots,"default")])]),[[t.vShow,e.visible]])]})}});function te(e){return e instanceof Element?e:t.isRef(e)?_(e.value):ee(e)?_(e):e}function ne(e,n,o){const r=oe(o),l=ae(r,e);return le(l,n,e)}function oe(e){if(e instanceof Element)return e.getBoundingClientRect();const n=e.width||0,o=e.height||0;return{top:e.y,bottom:e.y+o,left:e.x,right:e.x+n,height:o,width:n}}function le(e,n,o){let r;const{width:l,height:d}=n;o.overlayX=="center"?r=e.x-l/2:r=o.overlayX=="left"?e.x:e.x-l;let a;return o.overlayY=="center"?a=e.y-d/2:a=o.overlayY=="top"?e.y:e.y-d,{x:r,y:a}}function ae(e,n){let o;if(n.originX=="center")o=e.left+e.width/2;else{const l=e.left,d=e.right;o=n.originX=="left"?l:d}let r;return n.originY=="center"?r=e.top+e.height/2:r=n.originY=="top"?e.top:e.bottom,{x:o,y:r}}function re(e){return window.addEventListener("scroll",e,!0),window.addEventListener("resize",e),window.addEventListener("orientationchange",e),()=>{window.removeEventListener("scroll",e,!0),window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)}}function ie(e,n){if(e instanceof Element){const o=new ResizeObserver(n);return o.observe(e),()=>o.disconnect()}return()=>{}}function de(e,n){if(e instanceof Element){const o=new MutationObserver(n);return o.observe(e,{attributeFilter:["style"]}),()=>o.disconnect()}return()=>{}}const se=typeof window!="undefined";$.install=function(e){e.component($.name,$)},R.install=function(e){e.component(R.name,R)};var we="",B=t.defineComponent({name:"DModal",props:h,emits:["onUpdate:modelValue"],setup(e,n){const o=t.computed(()=>e.showAnimation?e.modelValue:!0),r=l=>{var a;const d=e["onUpdate:modelValue"];if(l)d==null||d(l);else{const i=e.beforeHidden,f=m=>{var c;m&&(d==null||d(!1),(c=e.onClose)==null||c.call(e))},b=(a=typeof i=="function"?i():i)!=null?a:!0;b instanceof Promise?b.then(f):f(b)}};return n.expose({onVisibleChange:r}),()=>t.createVNode(R,{visible:e.modelValue,"onUpdate:visible":r,backgroundClass:"devui-modal-wrapper",backgroundBlock:!e.bodyScrollable,backdropClose:e.backdropCloseable},{default:()=>[t.createVNode(t.Transition,{name:"devui-modal-wipe"},{default:()=>{var l,d;return[o.value?(d=(l=n.slots).default)==null?void 0:d.call(l):null]}})]})}});class U{constructor(n){this.anchorContainer=n}renderModal(n,o,r){const l=t.h(this.component(),o,r);return t.render(l,n),l}renderNull(n){setTimeout(()=>{t.render(null,n)},500)}}class D extends U{component(){return B}open(n={}){const o=document.createElement("div");this.anchorContainer.appendChild(o);const f=n,{content:r}=f,l=Y(f,["content"]),d=b=>{b||i()},a=(b,m=d)=>this.renderModal(o,O(k({},b),{modelValue:!0,"onUpdate:modelValue":m}),{default:r}),i=()=>{var m,c;(c=(m=a(l,y=>{y?a(l):(this.renderModal(o,O(k({},l),{modelValue:!1})),this.renderNull(o))}).component.exposed).onVisibleChange)==null||c.call(m,!1)};return this.renderModal(o,{modelValue:!1}),a(l),{hide:i}}}H(D,"token","MODAL_SERVICE_TOKEN");const ce={width:{type:String,default:"300px"},maxHeight:{type:String},zIndex:{type:Number,default:1050},backdropZIndex:{type:Number,default:1049},placement:{type:String,default:"center"},offsetX:{type:String,default:"0px"},offsetY:{type:String,default:"0px"},title:{type:String},showAnimation:{type:Boolean,default:!0},backdropCloseable:{type:Boolean,default:!1},bodyScrollable:{type:Boolean,default:!0},escapeable:{type:Boolean,default:!0},onClose:{type:Function},beforeHidden:{type:[Promise,Function]},buttons:{type:Array,default:[]},dialogType:{type:String,default:"standard"},modelValue:{type:Boolean},"onUpdate:modelValue":{type:Function}},ue=(e=!0)=>{const n=t.ref(0),o=t.ref(0),r=()=>{n.value=0,o.value=0},l=t.ref(),d=t.ref(),a=t.isRef(e)?e:t.ref(e);return t.watch([d,l],([i,f],b,m)=>{if(!(f instanceof HTMLElement&&i instanceof HTMLElement))return;f.style.cursor="all-scroll";let c=0,y=0,s=0,p=0,g=i.getBoundingClientRect(),V=document.body.getBoundingClientRect(),v=!1;const w=C=>{if(C.preventDefault(),!a.value)return;c=C.clientX,y=C.clientY;const x=f.getBoundingClientRect();(f===C.target||f.contains(C.target))&&x.x<c&&x.y<y&&x.width+x.x>=c&&x.height+x.y>=y&&(v=!0,s=n.value,p=o.value,V=document.body.getBoundingClientRect(),g=i.getBoundingClientRect())},L=C=>{if(C.preventDefault(),!v)return;const x=s+C.clientX-c,pe=p+C.clientY-y,Z=g.x-s,q=g.y-p;n.value=A(x,-Z,V.width-g.width-Z),o.value=A(pe,-q,V.height-g.height-q)},N=C=>{C.preventDefault(),!!v&&(v=!1)};window.addEventListener("mousedown",w),window.addEventListener("mousemove",L),window.addEventListener("mouseup",N),m(()=>{window.removeEventListener("mousedown",w),window.removeEventListener("mousemove",L),window.removeEventListener("mouseup",N)})}),{movingX:t.readonly(n),movingY:t.readonly(o),handleRef:l,moveElRef:d,reset:r}},A=(e,n,o)=>e<n?n:e>o?o:e;var E=t.defineComponent({name:"DIcon",props:{name:{type:String,required:!0},size:{type:String,default:"inherit"},color:{type:String,default:"inherit"},classPrefix:{type:String,default:"icon"}},setup(e){return k({},e)},render(){const{name:e,size:n,color:o,classPrefix:r}=this;return/^((https?):)?\/\//.test(e)?t.createVNode("img",{src:e,alt:e.split("/")[e.split("/").length-1],style:{width:n,verticalAlign:"text-bottom"}},null):t.createVNode("i",{class:`${r} ${r}-${e}`,style:{fontSize:n,color:o}},null)}});E.install=function(e){e.component(E.name,E)};const fe={type:{type:String,default:"button"},btnStyle:{type:String,default:"primary"},size:{type:String,default:"md"},position:{type:String,default:"default"},bordered:{type:Boolean,default:!1},icon:{type:String,default:""},showLoading:{type:Boolean,default:!1},width:{type:String},disabled:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},onClick:{type:Function}};var Ce="",M=t.defineComponent({name:"DButton",props:fe,setup(e,n){const o=t.ref(null),r=i=>{var f;e.showLoading||(f=e.onClick)==null||f.call(e,i)},l=t.computed(()=>n.slots.default),d=t.computed(()=>{const{btnStyle:i,size:f,position:b,bordered:m,icon:c}=e,y=`devui-btn devui-btn-${i} devui-btn-${f} devui-btn-${b}`,s=m?"bordered":"",p=!!c&&!l.value&&i!=="primary"?"d-btn-icon":"";return`${y} ${s} ${p} ${c?"d-btn-icon-wrap":""}`}),a=t.computed(()=>{if(!e.icon)return;const i="devui-icon-fix icon";return l.value?`${i} clear-right-5`:i});return()=>{var y,s;const{icon:i,type:f,disabled:b,showLoading:m,width:c}=e;return t.withDirectives(t.createVNode("div",t.mergeProps({class:"devui-btn-host"},n.attrs),[t.createVNode("button",{class:d.value,type:f,disabled:b,style:{width:c},onClick:r},[i?t.createVNode(E,{name:i,class:a.value},null):null,t.createVNode("span",{class:"button-content",ref:o},[(s=(y=n.slots).default)==null?void 0:s.call(y)])])]),[[t.resolveDirective("dLoading"),m]])}}});M.install=function(e){e.component(M.name,M)};function ye(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}var me=t.defineComponent({name:"DModal",inheritAttrs:!1,props:ce,emits:["onUpdate:modelValue"],setup(e,n){const{movingX:o,movingY:r,handleRef:l,moveElRef:d,reset:a}=ue();t.watch(()=>e.modelValue,s=>{s&&a()});const i=t.computed(()=>({position:"relative",left:`${o.value}px`,top:`${r.value}px`})),f=t.computed(()=>({width:e.width,maxHeight:e.maxHeight,transform:`translate(${e.offsetX}, ${e.offsetY})`,zIndex:e.zIndex})),b=t.computed(()=>{switch(e.dialogType){case"standard":return"";case"info":return"icon-info-o";case"success":return"icon-right-o";case"warning":return"icon-warning-o";case"failed":return"icon-error-o";default:return""}}),m=t.computed(()=>e.buttons.map((s,p)=>{const{btnStyle:g,disabled:V,handler:v,text:w}=s;return t.createVNode(M,{key:p,style:{display:"inline-block",margin:"0 5px"},btnStyle:g,disabled:V,onClick:v},ye(w)?w:{default:()=>[w]})})),c=t.ref(),y=()=>{var s,p;(p=(s=c.value)==null?void 0:s.onVisibleChange)==null||p.call(s,!1)};return n.expose({closeModal:y}),()=>t.createVNode(B,{ref:c,width:e.width,maxHeight:e.maxHeight,offsetX:e.offsetX,offsetY:e.offsetY,zIndex:e.zIndex,backdropZIndex:e.backdropZIndex,backdropCloseable:e.backdropCloseable,bodyScrollable:e.bodyScrollable,placement:e.placement,onClose:e.onClose,beforeHidden:e.beforeHidden,modelValue:e.modelValue,"onUpdate:modelValue":e["onUpdate:modelValue"]},{default:()=>{var s,p;return[t.createVNode("div",{class:"devui-modal-content",style:[f.value,i.value],ref:d},[t.createVNode("div",{class:"devui-modal-header",ref:l},[b.value?t.createVNode(E,{name:b.value,size:"24px",class:"header-alert-icon"},null):null,t.createVNode("span",null,[e.title]),t.createVNode(M,{class:"btn-close",icon:"close",btnStyle:"text-dark",onClick:y},null)]),t.createVNode("div",{class:"devui-modal-body"},[(p=(s=n.slots).default)==null?void 0:p.call(s)]),t.createVNode("div",{class:"devui-modal-footer"},[m.value])])]}})}});class I extends U{component(){return me}open(n={}){const o=document.createElement("div");this.anchorContainer.appendChild(o);const b=n,{content:r}=b,l=Y(b,["content"]),d=m=>{m||i()},a=(m,c=d)=>this.renderModal(o,O(k({},m),{modelValue:!0,"onUpdate:modelValue":c}),{default:r}),i=()=>{var c,y;(y=(c=a(l,s=>{s?a(l):(this.renderModal(o,O(k({},l),{modelValue:!1})),this.renderNull(o))}).component.exposed).closeModal)==null||y.call(c)},f=m=>{const p=l,{buttons:c}=p,y=Y(p,["buttons"]),s=c.map((g,V)=>k(k({},g),m[V]));a(O(k({},y),{buttons:s}))};return this.renderModal(o,{modelValue:!1}),a(l),{hide:i,updateButtonOptions:f}}}H(I,"token","DIALOG_SERVICE_TOKEN"),B.install=function(e){e.component(B.name,B)};var be={title:"Modal \u5F39\u7A97",category:"\u53CD\u9988",status:"100%",install(e){if(e.use(B),!se)return;let n=document.getElementById("d-modal-anchors-container");n||(n=document.createElement("div"),n.setAttribute("id","d-modal-anchors-container"),document.body.appendChild(n)),e.provide(D.token,new D(n)),e.provide(I.token,new I(n))}};u.Modal=B,u.default=be,Object.defineProperty(u,"__esModule",{value:!0}),u[Symbol.toStringTag]="Module"});
|
|
1
|
+
var Pe=Object.defineProperty,Te=Object.defineProperties;var Ye=Object.getOwnPropertyDescriptors;var T=Object.getOwnPropertySymbols;var re=Object.prototype.hasOwnProperty,ie=Object.prototype.propertyIsEnumerable;var A=(u,t,g)=>t in u?Pe(u,t,{enumerable:!0,configurable:!0,writable:!0,value:g}):u[t]=g,h=(u,t)=>{for(var g in t||(t={}))re.call(t,g)&&A(u,g,t[g]);if(T)for(var g of T(t))ie.call(t,g)&&A(u,g,t[g]);return u},O=(u,t)=>Te(u,Ye(t));var Y=(u,t)=>{var g={};for(var x in u)re.call(u,x)&&t.indexOf(x)<0&&(g[x]=u[x]);if(u!=null&&T)for(var x of T(u))t.indexOf(x)<0&&ie.call(u,x)&&(g[x]=u[x]);return g};var C=(u,t,g)=>(A(u,typeof t!="symbol"?t+"":t,g),g);(function(u,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(u=typeof globalThis!="undefined"?globalThis:u||self,t(u.index={},u.Vue))})(this,function(u,t){"use strict";const g={width:{type:String,default:"300px"},maxHeight:{type:String},zIndex:{type:Number,default:1050},backdropZIndex:{type:Number,default:1049},placement:{type:String,default:"center"},offsetX:{type:String,default:"0px"},offsetY:{type:String,default:"0px"},showAnimation:{type:Boolean,default:!0},backdropCloseable:{type:Boolean,default:!0},bodyScrollable:{type:Boolean,default:!0},escapeable:{type:Boolean,default:!0},onClose:{type:Function},beforeHidden:{type:[Object,Function]},modelValue:{type:Boolean},"onUpdate:modelValue":{type:Function}};var x="";function se(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const j=t.defineComponent({setup(e,n){return()=>{let o;return t.createVNode(t.Teleport,{to:"#d-overlay-anchor"},{default:()=>[t.createVNode(t.Transition,{name:"devui-overlay-fade"},se(o=t.renderSlot(n.slots,"default"))?o:{default:()=>[o]})]})}}}),_={visible:{type:Boolean},backgroundBlock:{type:Boolean,default:!1},backgroundClass:{type:String,default:""},backgroundStyle:{type:[String,Object]},onBackdropClick:{type:Function},backdropClose:{type:Boolean,default:!0},hasBackdrop:{type:Boolean,default:!0}},F=["update:visible","backdropClick"],de=O(h({},_),{overlayStyle:{type:[String,Object],default:void 0}}),ce=h({origin:{type:Object,require:!0},position:{type:Object,default:()=>({originX:"left",originY:"top",overlayX:"left",overlayY:"top"})}},_);function H(e,n){const o=t.computed(()=>["devui-overlay-background",e.backgroundClass,e.hasBackdrop?"devui-overlay-background__color":"devui-overlay-background__disabled"]),a=t.computed(()=>"devui-overlay"),l=r=>{var s;r.preventDefault(),(s=e.onBackdropClick)==null||s.call(e),e.backdropClose&&n.emit("update:visible",!1)},i=r=>r.cancelBubble=!0;return t.onMounted(()=>{const r=document.body,s=r.style.overflow,f=r.style.position;t.watch([()=>e.visible,()=>e.backgroundBlock],([p,y])=>{if(y){const c=r.getBoundingClientRect().y;p?(r.style.overflowY="scroll",r.style.position=p?"fixed":"",r.style.top=`${c}px`):(r.style.overflowY=s,r.style.position=f,r.style.top="",window.scrollTo(0,-c))}}),t.onUnmounted(()=>{document.body.style.overflow=s})}),{backgroundClass:o,overlayClass:a,handleBackdropClick:l,handleOverlayBubbleCancel:i}}const z=t.defineComponent({name:"DFixedOverlay",props:de,emits:F,setup(e,n){const{backgroundClass:o,overlayClass:a,handleBackdropClick:l,handleOverlayBubbleCancel:i}=H(e,n);return()=>t.createVNode(j,null,{default:()=>[t.withDirectives(t.createVNode("div",{class:o.value,style:e.backgroundStyle,onClick:l},[t.createVNode("div",{class:a.value,style:e.overlayStyle,onClick:i},[t.renderSlot(n.slots,"default")])]),[[t.vShow,e.visible]])]})}});function ue(e){return!!(e==null?void 0:e.$el)}function U(e){return e instanceof Element?e:e&&typeof e=="object"&&e.$el instanceof Element?e.$el:null}const D=t.defineComponent({name:"DFlexibleOverlay",props:ce,emits:F,setup(e,n){const o=t.ref(null),a=t.reactive({position:"absolute"});t.onMounted(async()=>{const f=(m,d,b)=>{const v=me(m,d,b);a.left=`${v.x}px`,a.top=`${v.y}px`},p=t.computed(()=>{const m=o.value,d=fe(e.origin);if(!(!m||!d))return{origin:d,overlay:m}}),y=t.toRef(e,"visible"),c=t.toRef(e,"position");t.watch([p,y,c],async([m,d,b],v,S)=>{if(!d||!m)return;const{origin:w,overlay:k}=m;f(b,k.getBoundingClientRect(),w);const P=[ge(()=>f(b,k.getBoundingClientRect(),w)),he(k,E=>f(b,E[0].contentRect,w)),ve(w,()=>f(b,k.getBoundingClientRect(),w))];S(()=>{P.forEach(E=>E())})})});const{backgroundClass:l,overlayClass:i,handleBackdropClick:r,handleOverlayBubbleCancel:s}=H(e,n);return()=>t.createVNode(j,null,{default:()=>[t.withDirectives(t.createVNode("div",{style:e.backgroundStyle,class:l.value,onClick:r},[t.createVNode("div",{ref:o,class:i.value,style:a,onClick:s},[t.renderSlot(n.slots,"default")])]),[[t.vShow,e.visible]])]})}});function fe(e){return e instanceof Element?e:t.isRef(e)?U(e.value):ue(e)?U(e):e}function me(e,n,o){const a=ye(o),l=be(a,e);return pe(l,n,e)}function ye(e){if(e instanceof Element)return e.getBoundingClientRect();const n=e.width||0,o=e.height||0;return{top:e.y,bottom:e.y+o,left:e.x,right:e.x+n,height:o,width:n}}function pe(e,n,o){let a;const{width:l,height:i}=n;o.overlayX=="center"?a=e.x-l/2:a=o.overlayX=="left"?e.x:e.x-l;let r;return o.overlayY=="center"?r=e.y-i/2:r=o.overlayY=="top"?e.y:e.y-i,{x:a,y:r}}function be(e,n){let o;if(n.originX=="center")o=e.left+e.width/2;else{const l=e.left,i=e.right;o=n.originX=="left"?l:i}let a;return n.originY=="center"?a=e.top+e.height/2:a=n.originY=="top"?e.top:e.bottom,{x:o,y:a}}function ge(e){return window.addEventListener("scroll",e,!0),window.addEventListener("resize",e),window.addEventListener("orientationchange",e),()=>{window.removeEventListener("scroll",e,!0),window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)}}function he(e,n){if(e instanceof Element){const o=new ResizeObserver(n);return o.observe(e),()=>o.disconnect()}return()=>{}}function ve(e,n){if(e instanceof Element){const o=new MutationObserver(n);return o.observe(e,{attributeFilter:["style"]}),()=>o.disconnect()}return()=>{}}const we=typeof window!="undefined";D.install=function(e){e.component(D.name,D)},z.install=function(e){e.component(z.name,z)};var De="",B=t.defineComponent({name:"DModal",props:g,emits:["onUpdate:modelValue"],setup(e,n){const o=t.computed(()=>e.showAnimation?e.modelValue:!0),a=l=>{var r;const i=e["onUpdate:modelValue"];if(l)i==null||i(l);else{const s=e.beforeHidden,f=y=>{var c;y&&(i==null||i(!1),(c=e.onClose)==null||c.call(e))},p=(r=typeof s=="function"?s():s)!=null?r:!0;p instanceof Promise?p.then(f):f(p)}};return n.expose({onVisibleChange:a}),()=>t.createVNode(z,{visible:e.modelValue,"onUpdate:visible":a,backgroundClass:"devui-modal-wrapper",backgroundBlock:!e.bodyScrollable,backdropClose:e.backdropCloseable},{default:()=>[t.createVNode(t.Transition,{name:"devui-modal-wipe"},{default:()=>{var l,i;return[o.value?(i=(l=n.slots).default)==null?void 0:i.call(l):null]}})]})}});class Z{constructor(n){this.anchorContainer=n}renderModal(n,o,a){const l=t.h(this.component(),o,a);return t.render(l,n),l}renderNull(n){setTimeout(()=>{t.render(null,n)},500)}}class I extends Z{component(){return B}open(n={}){const o=document.createElement("div");this.anchorContainer.appendChild(o);const f=n,{content:a}=f,l=Y(f,["content"]),i=p=>{p||s()},r=(p,y=i)=>this.renderModal(o,O(h({},p),{modelValue:!0,"onUpdate:modelValue":y}),{default:a}),s=()=>{var y,c;(c=(y=r(l,m=>{m?r(l):(this.renderModal(o,O(h({},l),{modelValue:!1})),this.renderNull(o))}).component.exposed).onVisibleChange)==null||c.call(y,!1)};return this.renderModal(o,{modelValue:!1}),r(l),{hide:s}}}C(I,"token","MODAL_SERVICE_TOKEN");const Ce={width:{type:String,default:"300px"},maxHeight:{type:String},zIndex:{type:Number,default:1050},backdropZIndex:{type:Number,default:1049},placement:{type:String,default:"center"},offsetX:{type:String,default:"0px"},offsetY:{type:String,default:"0px"},title:{type:String},showAnimation:{type:Boolean,default:!0},backdropCloseable:{type:Boolean,default:!0},bodyScrollable:{type:Boolean,default:!0},escapeable:{type:Boolean,default:!0},onClose:{type:Function},beforeHidden:{type:[Promise,Function]},buttons:{type:Array,default:[]},dialogType:{type:String,default:"standard"},modelValue:{type:Boolean},"onUpdate:modelValue":{type:Function}},ke=(e=!0)=>{const n=t.ref(0),o=t.ref(0),a=()=>{n.value=0,o.value=0},l=t.ref(),i=t.ref(),r=t.isRef(e)?e:t.ref(e);return t.watch([i,l],([s,f],p,y)=>{if(!(f instanceof HTMLElement&&s instanceof HTMLElement))return;f.style.cursor="all-scroll";let c=0,m=0,d=0,b=0,v=s.getBoundingClientRect(),S=document.body.getBoundingClientRect(),w=!1;const k=V=>{if(V.preventDefault(),!r.value)return;c=V.clientX,m=V.clientY;const N=f.getBoundingClientRect();(f===V.target||f.contains(V.target))&&N.x<c&&N.y<m&&N.width+N.x>=c&&N.height+N.y>=m&&(w=!0,d=n.value,b=o.value,S=document.body.getBoundingClientRect(),v=s.getBoundingClientRect())},P=V=>{if(V.preventDefault(),!w)return;const N=d+V.clientX-c,ze=b+V.clientY-m,le=v.x-d,ae=v.y-b;n.value=q(N,-le,S.width-v.width-le),o.value=q(ze,-ae,S.height-v.height-ae)},E=V=>{V.preventDefault(),!!w&&(w=!1)};window.addEventListener("mousedown",k),window.addEventListener("mousemove",P),window.addEventListener("mouseup",E),y(()=>{window.removeEventListener("mousedown",k),window.removeEventListener("mousemove",P),window.removeEventListener("mouseup",E)})}),{movingX:t.readonly(n),movingY:t.readonly(o),handleRef:l,moveElRef:i,reset:a}},q=(e,n,o)=>e<n?n:e>o?o:e;var R=t.defineComponent({name:"DIcon",props:{name:{type:String,required:!0},size:{type:String,default:"inherit"},color:{type:String,default:"inherit"},classPrefix:{type:String,default:"icon"}},setup(e){return h({},e)},render(){const{name:e,size:n,color:o,classPrefix:a}=this;return/^((https?):)?\/\//.test(e)?t.createVNode("img",{src:e,alt:e.split("/")[e.split("/").length-1],style:{width:n,verticalAlign:"text-bottom"}},null):t.createVNode("i",{class:`${a} ${a}-${e}`,style:{fontSize:n,color:o}},null)}});R.install=function(e){e.component(R.name,R)};class W{constructor(){C(this,"top","50%");C(this,"left","50%")}}const Ve={message:String,backdrop:Boolean,view:{type:Object,default:()=>new W},zIndex:Number,isFull:{type:Boolean,default:!1}};class xe{constructor(){C(this,"target");C(this,"message");C(this,"loadingTemplateRef");C(this,"backdrop",!0);C(this,"positionType","relative");C(this,"view",new W);C(this,"zIndex")}}var Ie="",K=t.defineComponent({name:"DLoading",inheritAttrs:!1,props:Ve,setup(e){const n={top:e.view.top,left:e.view.left,zIndex:e.zIndex};e.message||(n.background="none");const o=t.ref(!1);return{style:n,isShow:o,open:()=>{o.value=!0},close:()=>{o.value=!1}}},render(){var r;const{isShow:e,isFull:n,backdrop:o,style:a,message:l,$slots:i}=this;return e&&t.createVNode("div",{class:["devui-loading-contanier",n?"devui-loading--full":""]},[((r=i.default)==null?void 0:r.call(i))||t.createVNode("div",{class:"devui-loading-wrapper"},[o?t.createVNode("div",{class:"devui-loading-mask"},null):null,t.createVNode("div",{style:a,class:"devui-loading-area"},[t.createVNode("div",{class:"devui-busy-default-spinner"},[t.createVNode("div",{class:"devui-loading-bar1"},null),t.createVNode("div",{class:"devui-loading-bar2"},null),t.createVNode("div",{class:"devui-loading-bar3"},null),t.createVNode("div",{class:"devui-loading-bar4"},null)]),l?t.createVNode("span",{class:"devui-loading-text"},[l]):null])])])}});const G=Symbol("dev_component_container");function Se(e,n,o=null){const a=t.h(e,h({},n),o),l=document.createElement("div");return a[G]=l,t.render(a,l),a.component}function Ne(e){t.render(null,e==null?void 0:e.vnode[G])}const Be=t.defineComponent(K),M=new WeakSet,X=e=>{if(!e)return!0;if(Array.isArray(e))return e.length===0;if(e instanceof Set||e instanceof Map)return e.size===0;if(e instanceof Promise)return!1;if(typeof e=="object")try{return Object.keys(e).length===0}catch{return!1}return!1},J=e=>Object.prototype.toString.call(e).slice(8,-1).toLowerCase(),Oe=e=>{switch(J(e)){case"promise":return[e];case"array":return e.some(o=>J(o)!=="promise")?(console.error(new TypeError("Binding values should all be of type Promise")),"error"):e;default:return!1}},Q=e=>{M.delete(e),e.instance.proxy.close(),Ne(e.instance)},ee=(e,n)=>{if(n.value){const o=Oe(n.value);if(o==="error")return;e.instance.proxy.open(),e.appendChild(e.mask),M.add(e),o&&Promise.all(o).catch(a=>{console.error(new Error("Promise handling errors"),a)}).finally(()=>{Q(e)})}else Q(e)},te=e=>{e.removeAttribute("zindex"),e.removeAttribute("positiontype"),e.removeAttribute("backdrop"),e.removeAttribute("message"),e.removeAttribute("view"),e.removeAttribute("loadingtemplateref")},ne=(e,n)=>{const o=h(h({},new xe),n),a=o.loadingTemplateRef,l=Se(Be,h({},o),a?()=>a:null);e.style.position=o.positionType,e.options=o,e.instance=l,e.mask=l.proxy.$el},oe={mounted:function(e,n,o){ne(e,o.props),te(e),!X(n.value)&&ee(e,n)},updated:function(e,n,o){!X(n.value)&&M.has(e)||X(n.value)&&!M.has(e)||(!M.has(e)&&ne(e,o.props),te(e),ee(e,n))}},Ee={type:{type:String,default:"button"},variant:{type:String,default:"primary"},size:{type:String,default:"md"},position:{type:String,default:"default"},bordered:{type:Boolean,default:!1},icon:{type:String,default:""},showLoading:{type:Boolean,default:!1},width:{type:String},disabled:{type:Boolean,default:!1},autofocus:{type:Boolean,default:!1},onClick:{type:Function}};var Xe="",L=t.defineComponent({name:"DButton",directives:{devLoading:oe},props:Ee,setup(e,n){const o=t.ref(null),a=s=>{var f;e.showLoading||(f=e.onClick)==null||f.call(e,s)},l=t.computed(()=>n.slots.default),i=t.computed(()=>{const{variant:s,size:f,position:p,bordered:y,icon:c}=e,m=`devui-btn devui-btn-${s} devui-btn-${f} devui-btn-${p}`,d=y?"bordered":"",b=!!c&&!l.value&&s!=="primary"?"d-btn-icon":"";return`${m} ${d} ${b} ${c?"d-btn-icon-wrap":""}`}),r=t.computed(()=>{if(!e.icon)return;const s="devui-icon-fix icon";return l.value?`${s} clear-right-5`:s});return()=>{var m,d;const{icon:s,type:f,disabled:p,showLoading:y,width:c}=e;return t.createVNode("div",t.mergeProps({class:"devui-btn-host"},n.attrs),[t.withDirectives(t.createVNode("button",{class:i.value,type:f,disabled:p,style:{width:c},onClick:a},[s?t.createVNode(R,{name:s,class:r.value},null):null,t.createVNode("span",{class:"button-content",ref:o},[(d=(m=n.slots).default)==null?void 0:d.call(m)])]),[[t.resolveDirective("devLoading"),y]])])}}});t.defineComponent(K),L.install=function(e){e.directive("dLoading",oe),e.component(L.name,L)};function Re(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}var Me=t.defineComponent({name:"DModal",inheritAttrs:!1,props:Ce,emits:["onUpdate:modelValue"],setup(e,n){const{movingX:o,movingY:a,handleRef:l,moveElRef:i,reset:r}=ke();t.watch(()=>e.modelValue,d=>{d&&r()});const s=t.computed(()=>({position:"relative",left:`${o.value}px`,top:`${a.value}px`})),f=t.computed(()=>({width:e.width,maxHeight:e.maxHeight,transform:`translate(${e.offsetX}, ${e.offsetY})`,zIndex:e.zIndex})),p=t.computed(()=>{switch(e.dialogType){case"standard":return"";case"info":return"icon-info-o";case"success":return"icon-right-o";case"warning":return"icon-warning-o";case"failed":return"icon-error-o";default:return""}}),y=t.computed(()=>e.buttons.map((d,b)=>{const{variant:v,disabled:S,handler:w,text:k}=d;return t.createVNode(L,{key:b,style:{display:"inline-block",margin:"0 5px"},variant:v,disabled:S,onClick:w},Re(k)?k:{default:()=>[k]})})),c=t.ref(),m=()=>{var d,b;(b=(d=c.value)==null?void 0:d.onVisibleChange)==null||b.call(d,!1)};return n.expose({closeModal:m}),()=>t.createVNode(B,{ref:c,width:e.width,maxHeight:e.maxHeight,offsetX:e.offsetX,offsetY:e.offsetY,zIndex:e.zIndex,backdropZIndex:e.backdropZIndex,backdropCloseable:e.backdropCloseable,bodyScrollable:e.bodyScrollable,placement:e.placement,onClose:e.onClose,beforeHidden:e.beforeHidden,modelValue:e.modelValue,"onUpdate:modelValue":e["onUpdate:modelValue"]},{default:()=>{var d,b;return[t.createVNode("div",{class:"devui-modal-content",style:[f.value,s.value],ref:i},[t.createVNode("div",{class:"devui-modal-header",ref:l},[p.value?t.createVNode(R,{name:p.value,size:"24px",class:"header-alert-icon"},null):null,t.createVNode("span",null,[e.title]),t.createVNode(L,{class:"btn-close",icon:"close",variant:"text-dark",onClick:m},null)]),t.createVNode("div",{class:"devui-modal-body"},[(b=(d=n.slots).default)==null?void 0:b.call(d)]),t.createVNode("div",{class:"devui-modal-footer"},[y.value])])]}})}});class $ extends Z{component(){return Me}open(n={}){const o=document.createElement("div");this.anchorContainer.appendChild(o);const p=n,{content:a}=p,l=Y(p,["content"]),i=y=>{y||s()},r=(y,c=i)=>this.renderModal(o,O(h({},y),{modelValue:!0,"onUpdate:modelValue":c}),{default:a}),s=()=>{var c,m;(m=(c=r(l,d=>{d?r(l):(this.renderModal(o,O(h({},l),{modelValue:!1})),this.renderNull(o))}).component.exposed).closeModal)==null||m.call(c)},f=y=>{const b=l,{buttons:c}=b,m=Y(b,["buttons"]),d=c.map((v,S)=>h(h({},v),y[S]));r(O(h({},m),{buttons:d}))};return this.renderModal(o,{modelValue:!1}),r(l),{hide:s,updateButtonOptions:f}}}C($,"token","DIALOG_SERVICE_TOKEN"),B.install=function(e){e.component(B.name,B)};var Le={title:"Modal \u5F39\u7A97",category:"\u53CD\u9988",status:"100%",install(e){if(e.use(B),!we)return;let n=document.getElementById("d-modal-anchors-container");n||(n=document.createElement("div"),n.setAttribute("id","d-modal-anchors-container"),document.body.appendChild(n)),e.provide(I.token,new I(n)),e.provide($.token,new $(n))}};u.Modal=B,u.default=Le,Object.defineProperty(u,"__esModule",{value:!0}),u[Symbol.toStringTag]="Module"});
|
package/modal/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.devui-overlay-background{position:fixed;top:0;left:0;height:100vh;width:100vw;display:flex}.devui-overlay-background__color{background:rgba(0,0,0,.4)}.devui-overlay-background .devui-overlay{position:relative;z-index:1000;pointer-events:auto}.devui-overlay-background__disabled{pointer-events:none}@keyframes d-overlay-fade{0%{opacity:0}to{opacity:1}}.devui-overlay-fade-enter{opacity:0}.devui-overlay-fade-enter-active{animation-name:d-overlay-fade;animation-duration:.3s}.devui-overlay-fade-leave{opacity:1}.devui-overlay-fade-leave-active{animation-name:d-overlay-fade;animation-duration:.3s;animation-direction:reverse}.devui-modal-wrapper{justify-content:center;align-items:center;background-color:var(--devui-shadow, rgba(0, 0, 0, .2))}.devui-modal-content{background:var(--devui-fullscreen-overlay-bg, #ffffff);border-radius:var(--devui-border-radius, 2px)}.devui-modal-body{padding:20px 32px;color:var(--devui-text-weak, #575d6c)}.devui-modal-header{padding:32px 32px 0;height:56px;position:relative;border:none;user-select:none}.devui-modal-header .btn-close{position:absolute;right:20px;top:20px;font-size:var(--devui-font-size-icon, 16px);font-weight:700;line-height:1;color:#000;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.devui-modal-header .header-alert-icon{display:inline-block;vertical-align:middle;margin-right:8px;line-height:16px;text-align:center}.devui-modal-footer{border-top:none;text-align:center;padding:0 32px 24px}@keyframes wipe-in-out{0%{opacity:.2;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}.devui-modal-wipe-enter-from{opacity:.2}.devui-modal-wipe-enter-active{animation-name:wipe-in-out;animation-duration:.3s}.devui-modal-wipe-leave-to{opacity:1}.devui-modal-wipe-leave-active{animation-name:wipe-in-out;animation-duration:.3s;animation-direction:reverse}.devui-font-size-base{font-size:var(--devui-font-size, 12px)}.devui-font-base{font-size:var(--devui-font-size, 12px);font-weight:normal;line-height:1.5}.devui-font-size-modal-title{font-size:var(--devui-font-size-modal-title, 18px)}.devui-font-modal-title{font-size:var(--devui-font-size-modal-title, 18px);font-weight:bold;line-height:1.5}.devui-font-size-page-title{font-size:var(--devui-font-size-page-title, 16px)}.devui-font-page-title{font-size:var(--devui-font-size-page-title, 16px);font-weight:bold;line-height:1.5}.devui-font-size-secondary-title{font-size:var(--devui-font-size-card-title, 14px)}.devui-font-secondary-title{font-size:var(--devui-font-size-card-title, 14px);font-weight:bold;line-height:1.5}.devui-btn{padding:3px 20px;font-size:var(--devui-font-size-md, 12px);height:28px;line-height:1.5;border-radius:var(--devui-border-radius, 2px);border-width:1px;border-color:transparent;background-color:transparent}.devui-btn.devui-btn-text{color:var(--devui-brand-active, #526ecc);padding:0}.devui-btn.devui-btn-text-dark{color:var(--devui-brand-active, #526ecc);padding:0}.devui-btn.devui-btn-common{color:var(--devui-text, #252b3a);min-width:64px;background-color:var(--devui-block, #ffffff);border-color:var(--devui-line, #adb0b8)}.devui-btn.devui-btn-stress{color:var(--devui-light-text, #ffffff);min-width:64px;background-color:var(--devui-primary, #5e7ce0)}.devui-btn.devui-btn-primary{color:var(--devui-light-text, #ffffff);min-width:64px;background-color:var(--devui-primary, #5e7ce0)}.devui-btn.devui-btn-danger{color:var(--devui-light-text, #ffffff);min-width:64px;background-color:var(--devui-contrast, #f66f6a)}.devui-btn.devui-btn-left{border-radius:var(--devui-border-radius, 2px) 0 0 var(--devui-border-radius, 2px)}.devui-btn.devui-btn-right{border-radius:0 var(--devui-border-radius, 2px) var(--devui-border-radius, 2px) 0}.devui-btn.devui-btn-xs{padding:1px 5px;height:24px;font-size:var(--devui-font-size-sm, 12px);min-width:48px}.devui-btn.devui-btn-sm{padding:1px 15px;height:24px;font-size:var(--devui-font-size-sm, 12px);min-width:56px}.devui-btn.devui-btn-lg{padding:5px 23px;height:32px;font-size:var(--devui-font-size-lg, 14px);min-width:72px}.devui-btn.devui-btn-text:hover{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text:focus{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text:active{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text-dark:hover{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text-dark:focus{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text-dark:active{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-common:hover{border-color:var(--devui-form-control-line-active, #5e7ce0);color:var(--devui-brand-active, #526ecc)}.devui-btn.devui-btn-common:focus{border-color:var(--devui-form-control-line-active, #5e7ce0);color:var(--devui-brand-active, #526ecc)}.devui-btn.devui-btn-common:active{border-color:var(--devui-form-control-line-active, #5e7ce0);color:var(--devui-brand-active, #526ecc)}.devui-btn.devui-btn-stress:hover{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-stress:focus{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-stress:active{background-color:var(--devui-primary-active, #344899)}.devui-btn.devui-btn-primary:hover{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-primary:focus{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-primary:active{background-color:var(--devui-primary-active, #344899)}.devui-btn.devui-btn-danger:hover{background-color:var(--devui-contrast-hover, #ff8b87)}.devui-btn.devui-btn-danger:focus{background-color:var(--devui-contrast-hover, #ff8b87)}.devui-btn.devui-btn-danger:active{background-color:var(--devui-contrast-active, #de504e)}.devui-btn.devui-btn-common:disabled{color:var(--devui-disabled-text, #adb0b8);background:var(--devui-disabled-bg, #f5f5f6);border:1px solid var(--devui-disabled-line, #dfe1e6)}.devui-btn.devui-btn-primary:disabled{color:var(--devui-light-text, #ffffff);background:var(--devui-primary-disabled, #beccfa);border:none}.devui-btn.devui-btn-danger:disabled{color:var(--devui-disabled-text, #adb0b8);background:var(--devui-disabled-bg, #f5f5f6);border:1px solid var(--devui-disabled-line, #dfe1e6)}.devui-btn.devui-btn-text-dark:disabled{color:var(--devui-disabled-text, #adb0b8)}.devui-btn.devui-btn-text:disabled{color:var(--devui-disabled-text, #adb0b8)}.devui-btn.bordered.devui-btn-common{color:var(--devui-text, #252b3a);border-color:transparent}.devui-btn.bordered.devui-btn-common:hover,.devui-btn.bordered.devui-btn-common:focus{border-color:var(--devui-primary-hover, #7693f5)}.devui-btn.bordered.devui-btn-common:active{border-color:var(--devui-primary-active, #344899)}.devui-btn.bordered.devui-btn-stress,.devui-btn.bordered.devui-btn-primary{border-color:var(--devui-brand, #5e7ce0);color:var(--devui-brand, #5e7ce0);background-color:var(--devui-block, #ffffff)}.devui-btn.bordered.devui-btn-success{border-color:var(--devui-success, #50d4ab);color:var(--devui-success, #50d4ab);background-color:var(--devui-block, #ffffff)}.devui-btn.bordered.devui-btn-warning{border-color:var(--devui-warning, #fac20a);color:var(--devui-warning, #fac20a);background-color:var(--devui-block, #ffffff)}.devui-btn.bordered.devui-btn-danger{border-color:var(--devui-danger, #f66f6a);color:var(--devui-danger, #f66f6a);background-color:var(--devui-block, #ffffff)}.devui-btn.d-btn-icon:hover,.devui-btn.d-btn-icon:focus{border:1px solid var(--devui-list-item-hover-bg, #f2f5fc);background-color:var(--devui-list-item-hover-bg, #f2f5fc)}.devui-btn.d-btn-icon:disabled{background-color:var(--devui-disabled-bg, #f5f5f6)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap{color:var(--devui-text, #252b3a)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap .devui-icon-fix,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap .devui-icon-fix{color:var(--devui-text-weak, #575d6c)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap:hover,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap:hover{color:var(--devui-list-item-hover-text, #526ecc)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap:hover .devui-icon-fix,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap:hover .devui-icon-fix{color:var(--devui-icon-fill-active, #5e7ce0)}.devui-loading .devui-loading-default-spinner div{background-color:var(--devui-text, #252b3a)}.devui-btn-host{display:inline-block}.devui-btn{transition:background-color .2s;border-style:solid;white-space:nowrap;display:flex;align-items:center;justify-content:center}.devui-btn:disabled,.devui-btn[disabled]{cursor:not-allowed}.devui-btn.d-btn-icon{padding:7px 8px;line-height:1em;border:1px solid transparent}.devui-btn.d-btn-icon.devui-btn-xs,.devui-btn.d-btn-icon.devui-btn-sm{padding:5px}.devui-btn.d-btn-icon.devui-btn-xs{min-width:24px}.devui-btn.d-btn-icon.devui-btn-sm{min-width:24px}.devui-btn.d-btn-icon.devui-btn-lg{min-width:32px}.devui-btn.d-btn-icon.devui-btn-lg .icon{font-size:var(--devui-font-size-icon, 16px)}.devui-btn:not(.d-btn-icon) .icon-fix{font-size:var(--devui-font-size-icon, 16px)}.devui-icon-fix{position:relative;font-size:var(--devui-font-size, 12px)}.devui-btn.devui-btn-common:not(:disabled) .devui-icon-fix{color:var(--devui-text-weak, #575d6c)}.devui-btn.devui-btn-common:not(:disabled):hover .devui-icon-fix,.devui-btn.devui-btn-common:not(:disabled):active .devui-icon-fix,.devui-btn.devui-btn-common:not(:disabled):focus .devui-icon-fix{color:var(--devui-icon-fill-active, #5e7ce0)}.button-content{display:inline-block;position:relative}.clear-right-5{margin-right:5px}
|
|
1
|
+
.devui-overlay-background{position:fixed;top:0;left:0;height:100vh;width:100vw;display:flex}.devui-overlay-background__color{background:rgba(0,0,0,.4)}.devui-overlay-background .devui-overlay{position:relative;z-index:1000;pointer-events:auto}.devui-overlay-background__disabled{pointer-events:none}@keyframes d-overlay-fade{0%{opacity:0}to{opacity:1}}.devui-overlay-fade-enter{opacity:0}.devui-overlay-fade-enter-active{animation-name:d-overlay-fade;animation-duration:.3s}.devui-overlay-fade-leave{opacity:1}.devui-overlay-fade-leave-active{animation-name:d-overlay-fade;animation-duration:.3s;animation-direction:reverse}.devui-modal-wrapper{justify-content:center;align-items:center;background-color:var(--devui-shadow, rgba(0, 0, 0, .2))}.devui-modal-content{background:var(--devui-fullscreen-overlay-bg, #ffffff);border-radius:var(--devui-border-radius, 2px)}.devui-modal-body{padding:20px 32px;color:var(--devui-text-weak, #575d6c)}.devui-modal-header{padding:32px 32px 0;height:56px;position:relative;border:none;user-select:none}.devui-modal-header .btn-close{position:absolute;right:20px;top:20px;font-size:var(--devui-font-size-icon, 16px);font-weight:700;line-height:1;color:#000;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.devui-modal-header .header-alert-icon{display:inline-block;vertical-align:middle;margin-right:8px;line-height:16px;text-align:center}.devui-modal-footer{border-top:none;text-align:center;padding:0 32px 24px}@keyframes wipe-in-out{0%{opacity:.2;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}.devui-modal-wipe-enter-from{opacity:.2}.devui-modal-wipe-enter-active{animation-name:wipe-in-out;animation-duration:.3s}.devui-modal-wipe-leave-to{opacity:1}.devui-modal-wipe-leave-active{animation-name:wipe-in-out;animation-duration:.3s;animation-direction:reverse}@keyframes devui-busy-spinner-anim{0%{transform:rotate(0) scale(1)}50%{transform:rotate(135deg) scale(1.5)}to{transform:rotate(270deg) scale(1)}}.devui-loading-mask{position:absolute;left:0;right:0;bottom:0;top:0;background-color:var(--devui-line, #adb0b8);opacity:.3}.devui-loading-wrapper{text-align:center}.devui-loading--full{position:fixed;left:0;right:0;bottom:0;top:0;z-index:9999}.devui-loading--hidden{overflow:hidden}.devui-loading-text{margin-left:10px}.devui-loading-area{position:absolute;transform:translate(-50%,-50%);padding:12px 14px;background:var(--devui-base-bg, #ffffff);border-radius:var(--devui-border-radius-card, 6px)}.devui-busy-default-spinner{position:relative;display:inline-block;width:15px;height:15px;animation:devui-busy-spinner-anim 1s linear infinite}.devui-busy-default-spinner div{position:absolute;left:44.5%;top:37%;width:6px;height:6px;border-radius:50%}.devui-busy-default-spinner .devui-loading-bar1{top:0;left:0;background:#5e7ce0;background:var(--devui-brand, #5e7ce0)}.devui-busy-default-spinner .devui-loading-bar2{top:0;left:9px;background:#859bff;background:var(--devui-brand-foil, #859bff)}.devui-busy-default-spinner .devui-loading-bar3{top:9px;left:0;background:#859bff;background:var(--devui-brand-foil, #859bff)}.devui-busy-default-spinner .devui-loading-bar4{top:9px;left:9px;background:#5e7ce0;background:var(--devui-brand, #5e7ce0)}.devui-font-size-base{font-size:var(--devui-font-size, 12px)}.devui-font-base{font-size:var(--devui-font-size, 12px);font-weight:normal;line-height:1.5}.devui-font-size-modal-title{font-size:var(--devui-font-size-modal-title, 18px)}.devui-font-modal-title{font-size:var(--devui-font-size-modal-title, 18px);font-weight:bold;line-height:1.5}.devui-font-size-page-title{font-size:var(--devui-font-size-page-title, 16px)}.devui-font-page-title{font-size:var(--devui-font-size-page-title, 16px);font-weight:bold;line-height:1.5}.devui-font-size-secondary-title{font-size:var(--devui-font-size-card-title, 14px)}.devui-font-secondary-title{font-size:var(--devui-font-size-card-title, 14px);font-weight:bold;line-height:1.5}.devui-btn{padding:3px 20px;font-size:var(--devui-font-size-md, 12px);height:28px;line-height:1.5;border-radius:var(--devui-border-radius, 2px);border-width:1px;border-color:transparent;background-color:transparent}.devui-btn.devui-btn-text{color:var(--devui-brand-active, #526ecc);padding:0}.devui-btn.devui-btn-text-dark{color:var(--devui-brand-active, #526ecc);padding:0}.devui-btn.devui-btn-common{color:var(--devui-text, #252b3a);min-width:64px;background-color:var(--devui-block, #ffffff);border-color:var(--devui-line, #adb0b8)}.devui-btn.devui-btn-stress{color:var(--devui-light-text, #ffffff);min-width:64px;background-color:var(--devui-primary, #5e7ce0)}.devui-btn.devui-btn-primary{color:var(--devui-light-text, #ffffff);min-width:64px;background-color:var(--devui-primary, #5e7ce0)}.devui-btn.devui-btn-danger{color:var(--devui-light-text, #ffffff);min-width:64px;background-color:var(--devui-contrast, #f66f6a)}.devui-btn.devui-btn-success{color:var(--devui-dark-text, #252b3a);min-width:64px;background-color:var(--devui-success, #50d4ab)}.devui-btn.devui-btn-warning{color:var(--devui-dark-text, #252b3a);min-width:64px;background-color:var(--devui-warning, #fac20a)}.devui-btn.devui-btn-left{border-radius:var(--devui-border-radius, 2px) 0 0 var(--devui-border-radius, 2px)}.devui-btn.devui-btn-right{border-radius:0 var(--devui-border-radius, 2px) var(--devui-border-radius, 2px) 0}.devui-btn.devui-btn-xs{padding:1px 5px;height:24px;font-size:var(--devui-font-size-sm, 12px);min-width:48px}.devui-btn.devui-btn-sm{padding:1px 15px;height:24px;font-size:var(--devui-font-size-sm, 12px);min-width:56px}.devui-btn.devui-btn-lg{padding:5px 23px;height:32px;font-size:var(--devui-font-size-lg, 14px);min-width:72px}.devui-btn.devui-btn-text:hover{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text:focus{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text:active{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text-dark:hover{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text-dark:focus{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-text-dark:active{background-color:transparent;color:var(--devui-brand-active-focus, #344899)}.devui-btn.devui-btn-common:hover{border-color:var(--devui-form-control-line-active, #5e7ce0);color:var(--devui-brand-active, #526ecc)}.devui-btn.devui-btn-common:focus{border-color:var(--devui-form-control-line-active, #5e7ce0);color:var(--devui-brand-active, #526ecc)}.devui-btn.devui-btn-common:active{border-color:var(--devui-form-control-line-active, #5e7ce0);color:var(--devui-brand-active, #526ecc)}.devui-btn.devui-btn-stress:hover{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-stress:focus{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-stress:active{background-color:var(--devui-primary-active, #344899)}.devui-btn.devui-btn-primary:hover{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-primary:focus{background-color:var(--devui-primary-hover, #7693f5)}.devui-btn.devui-btn-primary:active{background-color:var(--devui-primary-active, #344899)}.devui-btn.devui-btn-danger:hover{background-color:var(--devui-contrast-hover, #ff8b87)}.devui-btn.devui-btn-danger:focus{background-color:var(--devui-contrast-hover, #ff8b87)}.devui-btn.devui-btn-danger:active{background-color:var(--devui-contrast-active, #de504e)}.devui-btn.devui-btn-success:hover{background-color:var(--devui-success, #50d4ab)}.devui-btn.devui-btn-success:focus{background-color:var(--devui-success, #50d4ab)}.devui-btn.devui-btn-success:active{background-color:var(--devui-success, #50d4ab)}.devui-btn.devui-btn-warning:hover{background-color:var(--devui-warning, #fac20a)}.devui-btn.devui-btn-warning:focus{background-color:var(--devui-warning, #fac20a)}.devui-btn.devui-btn-warning:active{background-color:var(--devui-warning, #fac20a)}.devui-btn.devui-btn-common:disabled{color:var(--devui-disabled-text, #adb0b8);background:var(--devui-disabled-bg, #f5f5f6);border:1px solid var(--devui-disabled-line, #dfe1e6)}.devui-btn.devui-btn-primary:disabled{color:var(--devui-light-text, #ffffff);background:var(--devui-primary-disabled, #beccfa);border:none}.devui-btn.devui-btn-danger:disabled{color:var(--devui-disabled-text, #adb0b8);background:var(--devui-disabled-bg, #f5f5f6);border:1px solid var(--devui-disabled-line, #dfe1e6)}.devui-btn.devui-btn-text-dark:disabled{color:var(--devui-disabled-text, #adb0b8)}.devui-btn.devui-btn-text:disabled{color:var(--devui-disabled-text, #adb0b8)}.devui-btn.bordered.devui-btn-common{color:var(--devui-text, #252b3a);border-color:transparent}.devui-btn.bordered.devui-btn-common:hover,.devui-btn.bordered.devui-btn-common:focus{border-color:var(--devui-primary-hover, #7693f5)}.devui-btn.bordered.devui-btn-common:active{border-color:var(--devui-primary-active, #344899)}.devui-btn.bordered.devui-btn-stress,.devui-btn.bordered.devui-btn-primary{border-color:var(--devui-brand, #5e7ce0);color:var(--devui-brand, #5e7ce0);background-color:var(--devui-block, #ffffff)}.devui-btn.bordered.devui-btn-success{border-color:var(--devui-success, #50d4ab);color:var(--devui-success, #50d4ab);background-color:var(--devui-block, #ffffff)}.devui-btn.bordered.devui-btn-warning{border-color:var(--devui-warning, #fac20a);color:var(--devui-warning, #fac20a);background-color:var(--devui-block, #ffffff)}.devui-btn.bordered.devui-btn-danger{border-color:var(--devui-danger, #f66f6a);color:var(--devui-danger, #f66f6a);background-color:var(--devui-block, #ffffff)}.devui-btn.d-btn-icon:hover,.devui-btn.d-btn-icon:focus{border:1px solid var(--devui-list-item-hover-bg, #f2f5fc);background-color:var(--devui-list-item-hover-bg, #f2f5fc)}.devui-btn.d-btn-icon:disabled{background-color:var(--devui-disabled-bg, #f5f5f6)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap{color:var(--devui-text, #252b3a)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap .devui-icon-fix,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap .devui-icon-fix{color:var(--devui-text-weak, #575d6c)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap:hover,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap:hover{color:var(--devui-list-item-hover-text, #526ecc)}.devui-btn:not(:disabled).devui-btn-text.d-btn-icon-wrap:hover .devui-icon-fix,.devui-btn:not(:disabled).devui-btn-text-dark.d-btn-icon-wrap:hover .devui-icon-fix{color:var(--devui-icon-fill-active, #5e7ce0)}.devui-loading .devui-loading-default-spinner div{background-color:var(--devui-text, #252b3a)}.devui-btn-host{display:inline-block}.devui-btn{transition:background-color .2s;border-style:solid;white-space:nowrap;display:flex;align-items:center;justify-content:center}.devui-btn:disabled,.devui-btn[disabled]{cursor:not-allowed}.devui-btn.d-btn-icon{padding:7px 8px;line-height:1em;border:1px solid transparent}.devui-btn.d-btn-icon.devui-btn-xs,.devui-btn.d-btn-icon.devui-btn-sm{padding:5px}.devui-btn.d-btn-icon.devui-btn-xs{min-width:24px}.devui-btn.d-btn-icon.devui-btn-sm{min-width:24px}.devui-btn.d-btn-icon.devui-btn-lg{min-width:32px}.devui-btn.d-btn-icon.devui-btn-lg .icon{font-size:var(--devui-font-size-icon, 16px)}.devui-btn:not(.d-btn-icon) .icon-fix{font-size:var(--devui-font-size-icon, 16px)}.devui-icon-fix{position:relative;font-size:var(--devui-font-size, 12px)}.devui-btn.devui-btn-common:not(:disabled) .devui-icon-fix{color:var(--devui-text-weak, #575d6c)}.devui-btn.devui-btn-common:not(:disabled):hover .devui-icon-fix,.devui-btn.devui-btn-common:not(:disabled):active .devui-icon-fix,.devui-btn.devui-btn-common:not(:disabled):focus .devui-icon-fix{color:var(--devui-icon-fill-active, #5e7ce0)}.button-content{display:inline-block;position:relative}.clear-right-5{margin-right:5px}
|
package/overlay/index.es.js
CHANGED
|
@@ -221,7 +221,7 @@ const FlexibleOverlay = defineComponent({
|
|
|
221
221
|
overlayClass,
|
|
222
222
|
handleBackdropClick,
|
|
223
223
|
handleOverlayBubbleCancel
|
|
224
|
-
} = useOverlayLogic(props);
|
|
224
|
+
} = useOverlayLogic(props, ctx);
|
|
225
225
|
return () => createVNode(CommonOverlay, null, {
|
|
226
226
|
default: () => [withDirectives(createVNode("div", {
|
|
227
227
|
"style": props.backgroundStyle,
|
package/overlay/index.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var J=Object.defineProperty,K=Object.defineProperties;var Q=Object.getOwnPropertyDescriptors;var V=Object.getOwnPropertySymbols;var W=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable;var F=(l,t,a)=>t in l?J(l,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):l[t]=a,B=(l,t)=>{for(var a in t||(t={}))W.call(t,a)&&F(l,a,t[a]);if(V)for(var a of V(t))Z.call(t,a)&&F(l,a,t[a]);return l},N=(l,t)=>K(l,Q(t));(function(l,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(l=typeof globalThis!="undefined"?globalThis:l||self,t(l.index={},l.Vue))})(this,function(l,t){"use strict";var a="";function L(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const x=t.defineComponent({setup(e,n){return()=>{let o;return t.createVNode(t.Teleport,{to:"#d-overlay-anchor"},{default:()=>[t.createVNode(t.Transition,{name:"devui-overlay-fade"},L(o=t.renderSlot(n.slots,"default"))?o:{default:()=>[o]})]})}}}),E={visible:{type:Boolean},backgroundBlock:{type:Boolean,default:!1},backgroundClass:{type:String,default:""},backgroundStyle:{type:[String,Object]},onBackdropClick:{type:Function},backdropClose:{type:Boolean,default:!0},hasBackdrop:{type:Boolean,default:!0}},S=["update:visible","backdropClick"],X=N(B({},E),{overlayStyle:{type:[String,Object],default:void 0}}),Y=B({origin:{type:Object,require:!0},position:{type:Object,default:()=>({originX:"left",originY:"top",overlayX:"left",overlayY:"top"})}},E);function R(e,n){const o=t.computed(()=>["devui-overlay-background",e.backgroundClass,e.hasBackdrop?"devui-overlay-background__color":"devui-overlay-background__disabled"]),i=t.computed(()=>"devui-overlay"),c=r=>{var d;r.preventDefault(),(d=e.onBackdropClick)==null||d.call(e),e.backdropClose&&n.emit("update:visible",!1)},s=r=>r.cancelBubble=!0;return t.onMounted(()=>{const r=document.body,d=r.style.overflow,f=r.style.position;t.watch([()=>e.visible,()=>e.backgroundBlock],([p,w])=>{if(w){const C=r.getBoundingClientRect().y;p?(r.style.overflowY="scroll",r.style.position=p?"fixed":"",r.style.top=`${C}px`):(r.style.overflowY=d,r.style.position=f,r.style.top="",window.scrollTo(0,-C))}}),t.onUnmounted(()=>{document.body.style.overflow=d})}),{backgroundClass:o,overlayClass:i,handleBackdropClick:c,handleOverlayBubbleCancel:s}}const v=t.defineComponent({name:"DFixedOverlay",props:X,emits:S,setup(e,n){const{backgroundClass:o,overlayClass:i,handleBackdropClick:c,handleOverlayBubbleCancel:s}=R(e,n);return()=>t.createVNode(x,null,{default:()=>[t.withDirectives(t.createVNode("div",{class:o.value,style:e.backgroundStyle,onClick:c},[t.createVNode("div",{class:i.value,style:e.overlayStyle,onClick:s},[t.renderSlot(n.slots,"default")])]),[[t.vShow,e.visible]])]})}});function _(e){return!!(e==null?void 0:e.$el)}function j(e){return e instanceof Element?e:e&&typeof e=="object"&&e.$el instanceof Element?e.$el:null}const h=t.defineComponent({name:"DFlexibleOverlay",props:Y,emits:S,setup(e,n){const o=t.ref(null),i=t.reactive({position:"absolute"});t.onMounted(async()=>{const f=(u,y,b)=>{const g=T(u,y,b);i.left=`${g.x}px`,i.top=`${g.y}px`},p=t.computed(()=>{const u=o.value,y=z(e.origin);if(!(!u||!y))return{origin:y,overlay:u}}),w=t.toRef(e,"visible"),C=t.toRef(e,"position");t.watch([p,w,C],async([u,y,b],g,G)=>{if(!y||!u)return;const{origin:m,overlay:k}=u;f(b,k.getBoundingClientRect(),m);const H=[P(()=>f(b,k.getBoundingClientRect(),m)),A(k,O=>f(b,O[0].contentRect,m)),q(m,()=>f(b,k.getBoundingClientRect(),m))];G(()=>{H.forEach(O=>O())})})});const{backgroundClass:c,overlayClass:s,handleBackdropClick:r,handleOverlayBubbleCancel:d}=R(e);return()=>t.createVNode(x,null,{default:()=>[t.withDirectives(t.createVNode("div",{style:e.backgroundStyle,class:c.value,onClick:r},[t.createVNode("div",{ref:o,class:s.value,style:i,onClick:d},[t.renderSlot(n.slots,"default")])]),[[t.vShow,e.visible]])]})}});function z(e){return e instanceof Element?e:t.isRef(e)?j(e.value):_(e)?j(e):e}function T(e,n,o){const i=$(o),c=M(i,e);return D(c,n,e)}function $(e){if(e instanceof Element)return e.getBoundingClientRect();const n=e.width||0,o=e.height||0;return{top:e.y,bottom:e.y+o,left:e.x,right:e.x+n,height:o,width:n}}function D(e,n,o){let i;const{width:c,height:s}=n;o.overlayX=="center"?i=e.x-c/2:i=o.overlayX=="left"?e.x:e.x-c;let r;return o.overlayY=="center"?r=e.y-s/2:r=o.overlayY=="top"?e.y:e.y-s,{x:i,y:r}}function M(e,n){let o;if(n.originX=="center")o=e.left+e.width/2;else{const c=e.left,s=e.right;o=n.originX=="left"?c:s}let i;return n.originY=="center"?i=e.top+e.height/2:i=n.originY=="top"?e.top:e.bottom,{x:o,y:i}}function P(e){return window.addEventListener("scroll",e,!0),window.addEventListener("resize",e),window.addEventListener("orientationchange",e),()=>{window.removeEventListener("scroll",e,!0),window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)}}function A(e,n){if(e instanceof Element){const o=new ResizeObserver(n);return o.observe(e),()=>o.disconnect()}return()=>{}}function q(e,n){if(e instanceof Element){const o=new MutationObserver(n);return o.observe(e,{attributeFilter:["style"]}),()=>o.disconnect()}return()=>{}}const I=typeof window!="undefined";h.install=function(e){e.component(h.name,h)},v.install=function(e){e.component(v.name,v)};var U={title:"Overlay \u906E\u7F69\u5C42",category:"\u901A\u7528",status:"100%",install(e){if(e.use(v),e.use(h),I&&!document.getElementById("d-overlay-anchor")){const n=document.createElement("div");n.setAttribute("id","d-overlay-anchor"),n.style.position="fixed",n.style.left="0",n.style.top="0",n.style.zIndex="1000",document.body.appendChild(n)}}};l.FixedOverlay=v,l.FlexibleOverlay=h,l.default=U,Object.defineProperty(l,"__esModule",{value:!0}),l[Symbol.toStringTag]="Module"});
|
|
1
|
+
var J=Object.defineProperty,K=Object.defineProperties;var Q=Object.getOwnPropertyDescriptors;var V=Object.getOwnPropertySymbols;var W=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable;var F=(l,t,a)=>t in l?J(l,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):l[t]=a,B=(l,t)=>{for(var a in t||(t={}))W.call(t,a)&&F(l,a,t[a]);if(V)for(var a of V(t))Z.call(t,a)&&F(l,a,t[a]);return l},N=(l,t)=>K(l,Q(t));(function(l,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(l=typeof globalThis!="undefined"?globalThis:l||self,t(l.index={},l.Vue))})(this,function(l,t){"use strict";var a="";function L(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const x=t.defineComponent({setup(e,n){return()=>{let o;return t.createVNode(t.Teleport,{to:"#d-overlay-anchor"},{default:()=>[t.createVNode(t.Transition,{name:"devui-overlay-fade"},L(o=t.renderSlot(n.slots,"default"))?o:{default:()=>[o]})]})}}}),E={visible:{type:Boolean},backgroundBlock:{type:Boolean,default:!1},backgroundClass:{type:String,default:""},backgroundStyle:{type:[String,Object]},onBackdropClick:{type:Function},backdropClose:{type:Boolean,default:!0},hasBackdrop:{type:Boolean,default:!0}},S=["update:visible","backdropClick"],X=N(B({},E),{overlayStyle:{type:[String,Object],default:void 0}}),Y=B({origin:{type:Object,require:!0},position:{type:Object,default:()=>({originX:"left",originY:"top",overlayX:"left",overlayY:"top"})}},E);function R(e,n){const o=t.computed(()=>["devui-overlay-background",e.backgroundClass,e.hasBackdrop?"devui-overlay-background__color":"devui-overlay-background__disabled"]),i=t.computed(()=>"devui-overlay"),c=r=>{var d;r.preventDefault(),(d=e.onBackdropClick)==null||d.call(e),e.backdropClose&&n.emit("update:visible",!1)},s=r=>r.cancelBubble=!0;return t.onMounted(()=>{const r=document.body,d=r.style.overflow,f=r.style.position;t.watch([()=>e.visible,()=>e.backgroundBlock],([p,w])=>{if(w){const C=r.getBoundingClientRect().y;p?(r.style.overflowY="scroll",r.style.position=p?"fixed":"",r.style.top=`${C}px`):(r.style.overflowY=d,r.style.position=f,r.style.top="",window.scrollTo(0,-C))}}),t.onUnmounted(()=>{document.body.style.overflow=d})}),{backgroundClass:o,overlayClass:i,handleBackdropClick:c,handleOverlayBubbleCancel:s}}const v=t.defineComponent({name:"DFixedOverlay",props:X,emits:S,setup(e,n){const{backgroundClass:o,overlayClass:i,handleBackdropClick:c,handleOverlayBubbleCancel:s}=R(e,n);return()=>t.createVNode(x,null,{default:()=>[t.withDirectives(t.createVNode("div",{class:o.value,style:e.backgroundStyle,onClick:c},[t.createVNode("div",{class:i.value,style:e.overlayStyle,onClick:s},[t.renderSlot(n.slots,"default")])]),[[t.vShow,e.visible]])]})}});function _(e){return!!(e==null?void 0:e.$el)}function j(e){return e instanceof Element?e:e&&typeof e=="object"&&e.$el instanceof Element?e.$el:null}const h=t.defineComponent({name:"DFlexibleOverlay",props:Y,emits:S,setup(e,n){const o=t.ref(null),i=t.reactive({position:"absolute"});t.onMounted(async()=>{const f=(u,y,b)=>{const g=T(u,y,b);i.left=`${g.x}px`,i.top=`${g.y}px`},p=t.computed(()=>{const u=o.value,y=z(e.origin);if(!(!u||!y))return{origin:y,overlay:u}}),w=t.toRef(e,"visible"),C=t.toRef(e,"position");t.watch([p,w,C],async([u,y,b],g,G)=>{if(!y||!u)return;const{origin:m,overlay:k}=u;f(b,k.getBoundingClientRect(),m);const H=[P(()=>f(b,k.getBoundingClientRect(),m)),A(k,O=>f(b,O[0].contentRect,m)),q(m,()=>f(b,k.getBoundingClientRect(),m))];G(()=>{H.forEach(O=>O())})})});const{backgroundClass:c,overlayClass:s,handleBackdropClick:r,handleOverlayBubbleCancel:d}=R(e,n);return()=>t.createVNode(x,null,{default:()=>[t.withDirectives(t.createVNode("div",{style:e.backgroundStyle,class:c.value,onClick:r},[t.createVNode("div",{ref:o,class:s.value,style:i,onClick:d},[t.renderSlot(n.slots,"default")])]),[[t.vShow,e.visible]])]})}});function z(e){return e instanceof Element?e:t.isRef(e)?j(e.value):_(e)?j(e):e}function T(e,n,o){const i=$(o),c=M(i,e);return D(c,n,e)}function $(e){if(e instanceof Element)return e.getBoundingClientRect();const n=e.width||0,o=e.height||0;return{top:e.y,bottom:e.y+o,left:e.x,right:e.x+n,height:o,width:n}}function D(e,n,o){let i;const{width:c,height:s}=n;o.overlayX=="center"?i=e.x-c/2:i=o.overlayX=="left"?e.x:e.x-c;let r;return o.overlayY=="center"?r=e.y-s/2:r=o.overlayY=="top"?e.y:e.y-s,{x:i,y:r}}function M(e,n){let o;if(n.originX=="center")o=e.left+e.width/2;else{const c=e.left,s=e.right;o=n.originX=="left"?c:s}let i;return n.originY=="center"?i=e.top+e.height/2:i=n.originY=="top"?e.top:e.bottom,{x:o,y:i}}function P(e){return window.addEventListener("scroll",e,!0),window.addEventListener("resize",e),window.addEventListener("orientationchange",e),()=>{window.removeEventListener("scroll",e,!0),window.removeEventListener("resize",e),window.removeEventListener("orientationchange",e)}}function A(e,n){if(e instanceof Element){const o=new ResizeObserver(n);return o.observe(e),()=>o.disconnect()}return()=>{}}function q(e,n){if(e instanceof Element){const o=new MutationObserver(n);return o.observe(e,{attributeFilter:["style"]}),()=>o.disconnect()}return()=>{}}const I=typeof window!="undefined";h.install=function(e){e.component(h.name,h)},v.install=function(e){e.component(v.name,v)};var U={title:"Overlay \u906E\u7F69\u5C42",category:"\u901A\u7528",status:"100%",install(e){if(e.use(v),e.use(h),I&&!document.getElementById("d-overlay-anchor")){const n=document.createElement("div");n.setAttribute("id","d-overlay-anchor"),n.style.position="fixed",n.style.left="0",n.style.top="0",n.style.zIndex="1000",document.body.appendChild(n)}}};l.FixedOverlay=v,l.FlexibleOverlay=h,l.default=U,Object.defineProperty(l,"__esModule",{value:!0}),l[Symbol.toStringTag]="Module"});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vue-devui",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.14",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "DevUI components based on Vite and Vue3",
|
|
6
6
|
"keywords": [
|
|
@@ -34,7 +34,6 @@
|
|
|
34
34
|
"@babel/traverse": "^7.15.4",
|
|
35
35
|
"@commitlint/cli": "^11.0.0",
|
|
36
36
|
"@commitlint/config-conventional": "^11.0.0",
|
|
37
|
-
"@ls-lint/ls-lint": "^1.10.0",
|
|
38
37
|
"@types/chalk": "^2.2.0",
|
|
39
38
|
"@types/commander": "^2.12.2",
|
|
40
39
|
"@types/jest": "^26.0.23",
|
|
@@ -51,22 +50,12 @@
|
|
|
51
50
|
"babel-jest": "^27.0.2",
|
|
52
51
|
"chalk": "^4.1.2",
|
|
53
52
|
"commander": "^8.1.0",
|
|
54
|
-
"esbuild-register": "^2.6.0",
|
|
55
|
-
"eslint": "^7.28.0",
|
|
56
|
-
"eslint-plugin-import": "^2.24.2",
|
|
57
|
-
"eslint-plugin-vue": "^7.11.1",
|
|
58
|
-
"husky": "^7.0.4",
|
|
59
53
|
"inquirer": "^8.1.2",
|
|
60
54
|
"jest": "^27.0.4",
|
|
61
|
-
"lint-staged": "^11.0.0",
|
|
62
55
|
"ora": "^5.4.1",
|
|
63
56
|
"patch-vue-directive-ssr": "^0.0.1",
|
|
64
57
|
"sass": "^1.32.2",
|
|
65
58
|
"shelljs": "^0.8.4",
|
|
66
|
-
"stylelint": "^13.13.1",
|
|
67
|
-
"stylelint-config-recommended-scss": "^4.3.0",
|
|
68
|
-
"stylelint-config-standard": "^22.0.0",
|
|
69
|
-
"stylelint-scss": "^3.20.1",
|
|
70
59
|
"typescript": "^4.3.2",
|
|
71
60
|
"vite": "^2.4.4",
|
|
72
61
|
"vite-plugin-md": "^0.6.0",
|
|
@@ -75,9 +64,5 @@
|
|
|
75
64
|
"vitepress-theme-demoblock": "1.3.2",
|
|
76
65
|
"vue-tsc": "^0.2.2",
|
|
77
66
|
"yarn": "^1.22.11"
|
|
78
|
-
},
|
|
79
|
-
"lint-staged": {
|
|
80
|
-
"{src,devui}/**/*.{js,ts,jsx,tsx,vue}": "eslint --fix",
|
|
81
|
-
"{src,devui}/**/*.{scss,css}": "stylelint --fix"
|
|
82
67
|
}
|
|
83
68
|
}
|
package/popover/index.es.js
CHANGED
|
@@ -125,6 +125,10 @@ var Popover = defineComponent({
|
|
|
125
125
|
type: Number,
|
|
126
126
|
default: 1060
|
|
127
127
|
},
|
|
128
|
+
controlled: {
|
|
129
|
+
type: Boolean,
|
|
130
|
+
default: false
|
|
131
|
+
},
|
|
128
132
|
popType: {
|
|
129
133
|
type: String,
|
|
130
134
|
default: "default"
|
|
@@ -165,7 +169,8 @@ var Popover = defineComponent({
|
|
|
165
169
|
mouseEnterDelay,
|
|
166
170
|
mouseLeaveDelay,
|
|
167
171
|
showAnimation,
|
|
168
|
-
popMaxWidth
|
|
172
|
+
popMaxWidth,
|
|
173
|
+
controlled
|
|
169
174
|
} = toRefs(props);
|
|
170
175
|
const style = __spreadValues({
|
|
171
176
|
zIndex: zIndex.value
|
|
@@ -179,20 +184,24 @@ var Popover = defineComponent({
|
|
|
179
184
|
}
|
|
180
185
|
visible.value = true;
|
|
181
186
|
};
|
|
182
|
-
const onClick = isClick ? event : null;
|
|
187
|
+
const onClick = isClick && controlled.value ? event : null;
|
|
183
188
|
const enter = debounce(() => {
|
|
184
189
|
visible.value = true;
|
|
185
190
|
}, mouseEnterDelay.value);
|
|
186
191
|
const leave = debounce(() => {
|
|
187
192
|
visible.value = false;
|
|
188
193
|
}, mouseLeaveDelay.value);
|
|
189
|
-
const onMouseenter = isClick ?
|
|
190
|
-
const onMouseleave = isClick ?
|
|
194
|
+
const onMouseenter = !isClick && controlled.value ? enter : null;
|
|
195
|
+
const onMouseleave = !isClick && controlled.value ? leave : null;
|
|
191
196
|
const hiddenContext = () => {
|
|
197
|
+
if (!controlled.value)
|
|
198
|
+
return;
|
|
192
199
|
visible.value = false;
|
|
193
200
|
};
|
|
194
201
|
popMaxWidth.value && (style.maxWidth = `${popMaxWidth.value}px`);
|
|
195
202
|
watch(() => props.visible, (newVal) => {
|
|
203
|
+
if (controlled.value)
|
|
204
|
+
return;
|
|
196
205
|
visible.value = newVal;
|
|
197
206
|
});
|
|
198
207
|
return () => {
|
package/popover/index.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var B=Object.defineProperty;var M=Object.getOwnPropertySymbols;var G=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable;var S=(o,t,r)=>t in o?B(o,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):o[t]=r,T=(o,t)=>{for(var r in t||(t={}))G.call(t,r)&&S(o,r,t[r]);if(M)for(var r of M(t))J.call(t,r)&&S(o,r,t[r]);return o};(function(o,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(o=typeof globalThis!="undefined"?globalThis:o||self,t(o.index={},o.Vue))})(this,function(o,t){"use strict";var r=(e,i)=>{let n=null;return()=>{n&&clearTimeout(n),n=setTimeout(()=>{e==null||e()},i)}};const V=typeof window!="undefined";function b(e,i,n){document.addEventListener?e&&i&&n&&e.addEventListener(i,n,!1):e&&i&&n&&e.attachEvent("on"+i,n)}const a=Symbol("@@clickoutside"),p=new Map;let x,v=0,D=!0;function h(e,i,n){return V&&D&&(D=!1,b(document,"mousedown",u=>{x=u}),b(document,"mouseup",u=>{for(const[c,m]of p)m[a].documentHandler(u,x)})),function(u,c){!n||!i.instance||!u.target||!c.target||e.contains(u.target)||e.contains(c.target)||e===u.target||e[a].bindingFn&&e[a].bindingFn()}}const N={beforeMount:function(e,i,n){v++,p.set(v,e),e[a]={nid:v,documentHandler:h(e,i,n),bindingFn:i.value}},updated:function(e,i,n){e[a].documentHandler=h(e,i,n),e[a].bindingFn=i.value},unmounted:function(e){p.delete(e[a].nid),delete e[a]}};var K="";const k={success:{name:"right-o",color:"rgb(61, 204, 166)"},error:{name:"error-o",color:"rgb(249, 95, 91)"},info:{name:"info-o",color:"rgb(81, 112, 255)"},warning:{name:"warning-o",color:"rgb(254, 204, 85)"},default:{}};var l=t.defineComponent({name:"DPopover",directives:{clickoutside:N},props:{visible:{type:Boolean,default:!1},position:{type:String,default:"bottom"},content:{type:String,default:"default"},trigger:{type:String,default:"click"},zIndex:{type:Number,default:1060},controlled:{type:Boolean,default:!1},popType:{type:String,default:"default"},showAnimation:{type:Boolean,default:!0},mouseEnterDelay:{type:Number,default:150},mouseLeaveDelay:{type:Number,default:100},popMaxWidth:{type:Number,default:void 0},popoverStyle:{type:Object,default:()=>({})}},setup(e,i){const{slots:n}=i,u=t.ref(e.visible),{position:c,content:m,zIndex:F,trigger:L,popType:P,popoverStyle:z,mouseEnterDelay:A,mouseLeaveDelay:H,showAnimation:j,popMaxWidth:w,controlled:s}=t.toRefs(e),y=T({zIndex:F.value},z.value),g=L.value==="click",d=t.reactive(k[P.value]),I=function(){if(u.value){u.value=!1;return}u.value=!0},W=g&&s.value?I:null,O=r(()=>{u.value=!0},A.value),_=r(()=>{u.value=!1},H.value),q=!g&&s.value?O:null,R=!g&&s.value?_:null,$=()=>{!s.value||(u.value=!1)};return w.value&&(y.maxWidth=`${w.value}px`),t.watch(()=>e.visible,f=>{s.value||(u.value=f)}),()=>{var f,C;return t.createVNode("div",{class:["devui-popover",c.value,{"devui-popover-animation":j.value,"devui-popover-isVisible":u.value}]},[t.withDirectives(t.createVNode("div",{class:"devui-popover-reference",onMouseenter:q,onMouseleave:R,onClick:W},[(f=n.reference)==null?void 0:f.call(n)]),[[t.resolveDirective("clickoutside"),$]]),t.createVNode("div",{class:["devui-popover-content",d.name?"is-icon":""],style:y},[d.name&&t.createVNode(t.resolveComponent("d-icon"),{name:d.name,color:d.color,class:"devui-popover-icon",size:"16px"},null),((C=n.content)==null?void 0:C.call(n))||t.createVNode("span",null,[m.value]),t.createVNode("span",{class:"after",style:y},null)])])}}});l.install=function(e){e.component(l.name,l)};var E={title:"Popover \u60AC\u6D6E\u63D0\u793A",category:"\u53CD\u9988",status:"100%",install(e){e.use(l)}};o.Popover=l,o.default=E,Object.defineProperty(o,"__esModule",{value:!0}),o[Symbol.toStringTag]="Module"});
|