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.
Files changed (82) hide show
  1. package/README.md +62 -45
  2. package/accordion/index.es.js +309 -38
  3. package/accordion/index.umd.js +1 -1
  4. package/accordion/style.css +1 -1
  5. package/alert/index.es.js +5 -2
  6. package/alert/index.umd.js +1 -1
  7. package/auto-complete/index.d.ts +7 -0
  8. package/auto-complete/index.es.js +1121 -0
  9. package/auto-complete/index.umd.js +1 -0
  10. package/auto-complete/package.json +7 -0
  11. package/auto-complete/style.css +1 -0
  12. package/button/index.es.js +213 -8
  13. package/button/index.umd.js +1 -1
  14. package/button/style.css +1 -1
  15. package/color-picker/index.d.ts +7 -0
  16. package/color-picker/index.es.js +2960 -0
  17. package/color-picker/index.umd.js +1 -0
  18. package/color-picker/package.json +7 -0
  19. package/color-picker/style.css +1 -0
  20. package/dragdrop/index.es.js +135 -10
  21. package/dragdrop/index.umd.js +1 -1
  22. package/drawer/index.es.js +38 -6
  23. package/drawer/index.umd.js +1 -1
  24. package/dropdown/index.es.js +30 -22
  25. package/dropdown/index.umd.js +1 -1
  26. package/dropdown/style.css +1 -1
  27. package/editable-select/index.es.js +67 -3
  28. package/editable-select/index.umd.js +11 -11
  29. package/form/index.es.js +59 -17
  30. package/form/index.umd.js +1 -1
  31. package/gantt/index.es.js +3 -3
  32. package/gantt/index.umd.js +1 -1
  33. package/image-preview/index.es.js +33 -15
  34. package/image-preview/index.umd.js +1 -1
  35. package/modal/index.es.js +214 -13
  36. package/modal/index.umd.js +1 -1
  37. package/modal/style.css +1 -1
  38. package/nuxt/components/AutoComplete.js +3 -0
  39. package/nuxt/components/ColorPicker.js +3 -0
  40. package/nuxt/components/DrawerService.js +3 -0
  41. package/overlay/index.es.js +1 -1
  42. package/overlay/index.umd.js +1 -1
  43. package/package.json +1 -16
  44. package/popover/index.es.js +13 -4
  45. package/popover/index.umd.js +1 -1
  46. package/progress/index.es.js +8 -8
  47. package/progress/index.umd.js +3 -3
  48. package/radio/index.es.js +5 -5
  49. package/radio/index.umd.js +1 -1
  50. package/slider/index.es.js +2 -5
  51. package/slider/index.umd.js +1 -1
  52. package/slider/style.css +1 -1
  53. package/splitter/index.es.js +191 -14
  54. package/splitter/index.umd.js +1 -1
  55. package/splitter/style.css +1 -1
  56. package/statistic/index.es.js +4 -4
  57. package/statistic/index.umd.js +1 -1
  58. package/statistic/style.css +1 -1
  59. package/style.css +1 -1
  60. package/table/index.es.js +236 -26
  61. package/table/index.umd.js +1 -1
  62. package/table/style.css +1 -1
  63. package/time-picker/index.es.js +221 -11
  64. package/time-picker/index.umd.js +1 -1
  65. package/time-picker/style.css +1 -1
  66. package/toast/index.es.js +8 -5
  67. package/toast/index.umd.js +1 -1
  68. package/toast/style.css +1 -1
  69. package/transfer/index.es.js +503 -59
  70. package/transfer/index.umd.js +1 -1
  71. package/transfer/style.css +1 -1
  72. package/tree/index.es.js +6 -5
  73. package/tree/index.umd.js +1 -1
  74. package/tree-select/index.es.js +129 -34
  75. package/tree-select/index.umd.js +1 -1
  76. package/tree-select/style.css +1 -1
  77. package/upload/index.es.js +165 -507
  78. package/upload/index.umd.js +1 -1
  79. package/upload/style.css +1 -1
  80. package/vue-devui.es.js +16501 -13904
  81. package/vue-devui.umd.js +19 -19
  82. 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: false
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: false
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
- btnStyle: {
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
- btnStyle,
986
+ variant,
788
987
  size,
789
988
  position,
790
989
  bordered,
791
990
  icon
792
991
  } = props;
793
- const origin = `devui-btn devui-btn-${btnStyle} devui-btn-${size} devui-btn-${position}`;
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 && btnStyle !== "primary" ? "d-btn-icon" : "";
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 withDirectives(createVNode("div", mergeProps({
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)])])]), [[resolveDirective("dLoading"), showLoading]]);
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
- btnStyle,
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
- "btnStyle": btnStyle,
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
- "btnStyle": "text-dark",
1153
+ "variant": "text-dark",
953
1154
  "onClick": closeModal
954
1155
  }, null)]), createVNode("div", {
955
1156
  "class": "devui-modal-body"
@@ -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}
@@ -0,0 +1,3 @@
1
+ import '../../auto-complete/style.css'
2
+
3
+ export { AutoComplete as default } from '../../auto-complete/index.es.js'
@@ -0,0 +1,3 @@
1
+ import '../../color-picker/style.css'
2
+
3
+ export { ColorPicker as default } from '../../color-picker/index.es.js'
@@ -0,0 +1,3 @@
1
+ import '../../drawer/style.css'
2
+
3
+ export { DrawerService as default } from '../../drawer/index.es.js'
@@ -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,
@@ -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.10",
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
  }
@@ -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 ? null : enter;
190
- const onMouseleave = isClick ? null : leave;
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 () => {
@@ -1 +1 @@
1
- var R=Object.defineProperty;var C=Object.getOwnPropertySymbols;var $=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable;var M=(o,t,u)=>t in o?R(o,t,{enumerable:!0,configurable:!0,writable:!0,value:u}):o[t]=u,S=(o,t)=>{for(var u in t||(t={}))$.call(t,u)&&M(o,u,t[u]);if(C)for(var u of C(t))G.call(t,u)&&M(o,u,t[u]);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 u=(e,i)=>{let n=null;return()=>{n&&clearTimeout(n),n=setTimeout(()=>{e==null||e()},i)}};const T=typeof window!="undefined";function g(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 b,f=0,x=!0;function D(e,i,n){return T&&x&&(x=!1,g(document,"mousedown",r=>{b=r}),g(document,"mouseup",r=>{for(const[s,v]of p)v[a].documentHandler(r,b)})),function(r,s){!n||!i.instance||!r.target||!s.target||e.contains(r.target)||e.contains(s.target)||e===r.target||e[a].bindingFn&&e[a].bindingFn()}}const V={beforeMount:function(e,i,n){f++,p.set(f,e),e[a]={nid:f,documentHandler:D(e,i,n),bindingFn:i.value}},updated:function(e,i,n){e[a].documentHandler=D(e,i,n),e[a].bindingFn=i.value},unmounted:function(e){p.delete(e[a].nid),delete e[a]}};var J="";const N={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:V},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},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,r=t.ref(e.visible),{position:s,content:v,zIndex:E,trigger:F,popType:L,popoverStyle:P,mouseEnterDelay:z,mouseLeaveDelay:A,showAnimation:H,popMaxWidth:h}=t.toRefs(e),m=S({zIndex:E.value},P.value),y=F.value==="click",c=t.reactive(N[L.value]),j=y?function(){if(r.value){r.value=!1;return}r.value=!0}:null,I=u(()=>{r.value=!0},z.value),W=u(()=>{r.value=!1},A.value),O=y?null:I,_=y?null:W,q=()=>{r.value=!1};return h.value&&(m.maxWidth=`${h.value}px`),t.watch(()=>e.visible,d=>{r.value=d}),()=>{var d,w;return t.createVNode("div",{class:["devui-popover",s.value,{"devui-popover-animation":H.value,"devui-popover-isVisible":r.value}]},[t.withDirectives(t.createVNode("div",{class:"devui-popover-reference",onMouseenter:O,onMouseleave:_,onClick:j},[(d=n.reference)==null?void 0:d.call(n)]),[[t.resolveDirective("clickoutside"),q]]),t.createVNode("div",{class:["devui-popover-content",c.name?"is-icon":""],style:m},[c.name&&t.createVNode(t.resolveComponent("d-icon"),{name:c.name,color:c.color,class:"devui-popover-icon",size:"16px"},null),((w=n.content)==null?void 0:w.call(n))||t.createVNode("span",null,[v.value]),t.createVNode("span",{class:"after",style:m},null)])])}}});l.install=function(e){e.component(l.name,l)};var k={title:"Popover \u60AC\u6D6E\u63D0\u793A",category:"\u53CD\u9988",status:"100%",install(e){e.use(l)}};o.Popover=l,o.default=k,Object.defineProperty(o,"__esModule",{value:!0}),o[Symbol.toStringTag]="Module"});
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"});