vue-devui 1.0.0-rc.5 → 1.0.0-rc.8

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 (153) hide show
  1. package/README.md +22 -8
  2. package/alert/index.es.js +37 -11
  3. package/alert/index.umd.js +1 -1
  4. package/alert/style.css +1 -1
  5. package/auto-complete/index.es.js +72 -26
  6. package/auto-complete/index.umd.js +5 -5
  7. package/auto-complete/style.css +1 -1
  8. package/avatar/index.es.js +32 -6
  9. package/avatar/index.umd.js +1 -1
  10. package/avatar/style.css +1 -1
  11. package/badge/index.es.js +29 -4
  12. package/badge/index.umd.js +1 -1
  13. package/badge/style.css +1 -1
  14. package/button/index.es.js +5548 -76
  15. package/button/index.umd.js +27 -1
  16. package/button/style.css +1 -1
  17. package/card/index.es.js +56 -29
  18. package/card/index.umd.js +1 -1
  19. package/card/style.css +1 -1
  20. package/checkbox/index.es.js +48 -30
  21. package/checkbox/index.umd.js +1 -1
  22. package/checkbox/style.css +1 -1
  23. package/date-picker/index.es.js +91 -145
  24. package/date-picker/index.umd.js +1 -1
  25. package/date-picker/style.css +1 -1
  26. package/drawer/index.es.js +28 -3
  27. package/drawer/index.umd.js +1 -1
  28. package/drawer/style.css +1 -1
  29. package/dropdown/index.es.js +39 -13
  30. package/dropdown/index.umd.js +1 -1
  31. package/dropdown/style.css +1 -1
  32. package/editable-select/index.es.js +14 -14
  33. package/editable-select/index.umd.js +1 -1
  34. package/editable-select/style.css +1 -1
  35. package/form/index.es.js +958 -1200
  36. package/form/index.umd.js +18 -18
  37. package/form/style.css +1 -1
  38. package/fullscreen/index.es.js +29 -5
  39. package/fullscreen/index.umd.js +1 -1
  40. package/fullscreen/style.css +1 -1
  41. package/grid/index.es.js +68 -49
  42. package/grid/index.umd.js +1 -1
  43. package/grid/style.css +1 -1
  44. package/image-preview/index.es.js +34 -11
  45. package/image-preview/index.umd.js +1 -1
  46. package/image-preview/style.css +1 -1
  47. package/input/index.es.js +91 -145
  48. package/input/index.umd.js +1 -1
  49. package/input/style.css +1 -1
  50. package/input-number/index.es.js +27 -5
  51. package/input-number/index.umd.js +1 -1
  52. package/input-number/style.css +1 -1
  53. package/layout/index.es.js +34 -6
  54. package/layout/index.umd.js +1 -1
  55. package/layout/style.css +1 -1
  56. package/loading/index.es.js +34 -10
  57. package/loading/index.umd.js +1 -1
  58. package/loading/style.css +1 -1
  59. package/modal/index.es.js +41 -15
  60. package/modal/index.umd.js +1 -1
  61. package/modal/style.css +1 -1
  62. package/notification/index.es.js +40 -13
  63. package/notification/index.umd.js +1 -1
  64. package/notification/style.css +1 -1
  65. package/nuxt/components/ButtonGroup.js +3 -0
  66. package/nuxt/components/CheckboxGroup.js +3 -0
  67. package/nuxt/components/FORM_ITEM_TOKEN.js +3 -0
  68. package/nuxt/components/FORM_TOKEN.js +3 -0
  69. package/nuxt/components/Tree.js +3 -0
  70. package/nuxt/components/buttonGroupInjectionKey.js +3 -0
  71. package/nuxt/components/buttonGroupProps.js +3 -0
  72. package/nuxt/components/formControlProps.js +3 -0
  73. package/nuxt/components/formItemProps.js +3 -0
  74. package/nuxt/components/formProps.js +3 -0
  75. package/nuxt/components/treeProps.js +3 -0
  76. package/overlay/index.es.js +31 -9
  77. package/overlay/index.umd.js +1 -1
  78. package/overlay/style.css +1 -1
  79. package/package.json +1 -1
  80. package/pagination/index.es.js +135 -124
  81. package/pagination/index.umd.js +1 -1
  82. package/pagination/style.css +1 -1
  83. package/popover/index.es.js +53 -24
  84. package/popover/index.umd.js +13 -13
  85. package/popover/style.css +1 -1
  86. package/progress/index.es.js +76 -20
  87. package/progress/index.umd.js +3 -3
  88. package/progress/style.css +1 -1
  89. package/radio/index.es.js +32 -7
  90. package/radio/index.umd.js +1 -1
  91. package/radio/style.css +1 -1
  92. package/rate/index.es.js +34 -10
  93. package/rate/index.umd.js +1 -1
  94. package/rate/style.css +1 -1
  95. package/search/index.es.js +103 -153
  96. package/search/index.umd.js +14 -14
  97. package/search/style.css +1 -1
  98. package/select/index.es.js +74 -51
  99. package/select/index.umd.js +1 -1
  100. package/select/style.css +1 -1
  101. package/skeleton/index.es.js +37 -12
  102. package/skeleton/index.umd.js +1 -1
  103. package/skeleton/style.css +1 -1
  104. package/slider/index.es.js +52 -16
  105. package/slider/index.umd.js +1 -1
  106. package/slider/style.css +1 -1
  107. package/splitter/index.es.js +52 -24
  108. package/splitter/index.umd.js +15 -15
  109. package/splitter/style.css +1 -1
  110. package/status/index.es.js +26 -2
  111. package/status/index.umd.js +1 -1
  112. package/status/style.css +1 -1
  113. package/style.css +1 -1
  114. package/switch/index.es.js +30 -6
  115. package/switch/index.umd.js +1 -1
  116. package/switch/style.css +1 -1
  117. package/table/index.es.js +6267 -536
  118. package/table/index.umd.js +27 -1
  119. package/table/style.css +1 -1
  120. package/tabs/index.es.js +32 -8
  121. package/tabs/index.umd.js +1 -1
  122. package/tabs/style.css +1 -1
  123. package/tag/index.es.js +27 -2
  124. package/tag/index.umd.js +1 -1
  125. package/tag/style.css +1 -1
  126. package/textarea/index.es.js +93 -76
  127. package/textarea/index.umd.js +1 -1
  128. package/textarea/style.css +1 -1
  129. package/tooltip/index.es.js +42 -15
  130. package/tooltip/index.umd.js +12 -12
  131. package/tooltip/style.css +1 -1
  132. package/{comment → tree}/index.d.ts +0 -0
  133. package/tree/index.es.js +1030 -0
  134. package/tree/index.umd.js +1 -0
  135. package/{comment → tree}/package.json +1 -1
  136. package/tree/style.css +1 -0
  137. package/upload/index.es.js +53 -22
  138. package/upload/index.umd.js +1 -1
  139. package/upload/style.css +1 -1
  140. package/vue-devui.es.js +5296 -4916
  141. package/vue-devui.umd.js +22 -22
  142. package/comment/index.es.js +0 -84
  143. package/comment/index.umd.js +0 -1
  144. package/comment/style.css +0 -1
  145. package/nuxt/components/Comment.js +0 -3
  146. package/nuxt/components/ReadTip.js +0 -3
  147. package/nuxt/components/commentProps.js +0 -3
  148. package/nuxt/components/readTipProps.js +0 -3
  149. package/read-tip/index.d.ts +0 -7
  150. package/read-tip/index.es.js +0 -261
  151. package/read-tip/index.umd.js +0 -1
  152. package/read-tip/package.json +0 -7
  153. package/read-tip/style.css +0 -1
@@ -1 +1 @@
1
- var te=Object.defineProperty,oe=Object.defineProperties;var ne=Object.getOwnPropertyDescriptors;var L=Object.getOwnPropertySymbols;var le=Object.prototype.hasOwnProperty,ae=Object.prototype.propertyIsEnumerable;var R=(f,e,w)=>e in f?te(f,e,{enumerable:!0,configurable:!0,writable:!0,value:w}):f[e]=w,A=(f,e)=>{for(var w in e||(e={}))le.call(e,w)&&R(f,w,e[w]);if(L)for(var w of L(e))ae.call(e,w)&&R(f,w,e[w]);return f},D=(f,e)=>oe(f,ne(e));(function(f,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue"),require("@floating-ui/dom"),require("@vueuse/core")):typeof define=="function"&&define.amd?define(["exports","vue","@floating-ui/dom","@vueuse/core"],e):(f=typeof globalThis!="undefined"?globalThis:f||self,e(f.index={},f.Vue,f.dom,f.core))})(this,function(f,e,w,$){"use strict";const _={visible:{type:Boolean,default:!1},trigger:{type:String,default:"click"},closeScope:{type:String,default:"all"},position:{type:Array,default:["bottom"]},align:{type:String,default:null},offset:{type:[Number,Object],default:4},shiftOffset:{type:Number},closeOnMouseLeaveMenu:{type:Boolean,default:!1},showAnimation:{type:Boolean,default:!0},overlayClass:{type:String,default:""},destroyOnHide:{type:Boolean,default:!0}};function F(t){return t instanceof Element?t:t&&typeof t=="object"&&t.$el instanceof Element?t.$el:null}const O=new Map;function S(t,n,l){return t==null||t.addEventListener(n,l),()=>{t==null||t.removeEventListener(n,l)}}const H=({id:t,isOpen:n,origin:l,dropdownRef:i,props:a,emit:r})=>{let o=!1,u=!1;const{trigger:c,closeScope:d,closeOnMouseLeaveMenu:p}=e.toRefs(a),s=y=>{n.value=y,r("toggle",n.value)},m=async(y,V)=>{await new Promise(v=>setTimeout(v,50)),!(y==="origin"&&o||y==="dropdown"&&u)&&(V&&[...O.values()].reverse().forEach(v=>{setTimeout(()=>{var g;(g=v.toggle)==null||g.call(v)},0)}),s(!1))};e.watch([c,l,i],([y,V,v],g,B)=>{const h=F(V),P=[];setTimeout(()=>{P.push(S(document,"click",b=>{const E=[...O.values()];!n.value||d.value==="none"||v.contains(b.target)&&d.value==="blank"||E.some(C=>{var k;return(k=C.toggleEl)==null?void 0:k.contains(b.target)})&&E.some(C=>{var k;return(k=C.menuEl)==null?void 0:k.contains(b.target)})||([...O.values()].reverse().forEach(C=>{setTimeout(()=>{var k,j;((k=C.toggleEl)==null?void 0:k.contains(b.target))||(j=C.toggle)==null||j.call(C)},0)}),o=!1)}))},0),y==="click"?P.push(S(h,"click",()=>s(!n.value)),S(v,"mouseleave",b=>{var E;p.value&&!((E=O.get(t).child)==null?void 0:E.contains(b.relatedTarget))&&m("dropdown",!0)})):y==="hover"&&P.push(S(h,"mouseenter",()=>{u=!0,s(!0)}),S(h,"mouseleave",()=>{u=!1,m("origin")}),S(v,"mouseenter",()=>{o=!0,n.value=!0}),S(v,"mouseleave",b=>{var E;o=!1,!(b.relatedTarget&&((h==null?void 0:h.contains(b.relatedTarget))||((E=O.get(t).child)==null?void 0:E.contains(b.relatedTarget))))&&m("dropdown",!0)})),B(()=>P.forEach(b=>b()))})};function q(t,n,l,i,a,r,o){const u=c=>{const d=c.offsetHeight;window.innerHeight-i.value.getBoundingClientRect().bottom>=d?r.value="bottom":r.value="top"};e.watch(n,(c,d)=>{d!==void 0&&(l.value=c,o("toggle",l.value))},{immediate:!0}),e.watch([l,a],([c,d])=>{var p;if(c){O.set(t,D(A({},O.get(t)),{menuEl:d,toggle:()=>{l.value=!1,o("toggle",l.value)}}));for(const s of O.values())((p=s.menuEl)==null?void 0:p.contains(i.value))&&(s.child=d)}d&&u(d)}),e.onMounted(()=>{O.set(t,{toggleEl:i.value})}),e.onUnmounted(()=>{O.delete(t)})}function U(t,n,l){const{showAnimation:i,overlayClass:a,destroyOnHide:r}=e.toRefs(t),o=e.ref(!1),u=e.ref(!1),c=e.computed(()=>({transformOrigin:n.value==="top"?"0% 100%":"0% 0%"})),d=e.computed(()=>({"fade-in-bottom":i.value&&l.value&&n.value==="bottom","fade-in-top":i.value&&l.value&&n.value==="top",[`${a.value}`]:!0})),p=s=>{n.value=s.includes("top")||s.includes("end")?"top":"bottom"};return e.watch(l,s=>{o.value=r.value?s:!0,u.value=s}),{overlayModelValue:o,overlayShowValue:u,styles:c,classes:d,handlePositionChange:p}}var re="";function Y(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const z=e.defineComponent({setup(t,n){return()=>{let l;return e.createVNode(e.Teleport,{to:"#d-overlay-anchor"},{default:()=>[e.createVNode(e.Transition,{name:"devui-overlay-fade"},Y(l=e.renderSlot(n.slots,"default"))?l:{default:()=>[l]})]})}}}),X=D(A({},{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}}),{overlayStyle:{type:[String,Object],default:void 0}}),I=["update:visible","backdropClick"];function G(t,n){const l=e.computed(()=>["devui-overlay-background",t.backgroundClass,t.hasBackdrop?"devui-overlay-background__color":"devui-overlay-background__disabled"]),i=e.computed(()=>"devui-overlay"),a=o=>{var u;o.preventDefault(),(u=t.onBackdropClick)==null||u.call(t),t.backdropClose&&n.emit("update:visible",!1)},r=o=>o.cancelBubble=!0;return e.onMounted(()=>{const o=document.body,u=o.style.overflow,c=o.style.position;e.watch([()=>t.visible,()=>t.backgroundBlock],([d,p])=>{if(p){const s=o.getBoundingClientRect().y;d?(o.style.overflowY="scroll",o.style.position=d?"fixed":"",o.style.top=`${s}px`):(o.style.overflowY=u,o.style.position=c,o.style.top="",window.scrollTo(0,-s))}}),e.onUnmounted(()=>{document.body.style.overflow=u})}),{backgroundClass:l,overlayClass:i,handleBackdropClick:a,handleOverlayBubbleCancel:r}}var se="";e.defineComponent({name:"DFixedOverlay",props:X,emits:I,setup(t,n){const{backgroundClass:l,overlayClass:i,handleBackdropClick:a,handleOverlayBubbleCancel:r}=G(t,n);return()=>e.createVNode(z,null,{default:()=>[t.visible&&e.createVNode("div",{class:l.value,style:t.backgroundStyle,onClick:a},[e.createVNode("div",{class:i.value,style:t.overlayStyle,onClick:r},[e.renderSlot(n.slots,"default")])])]})}});const J={modelValue:{type:Boolean,default:!1},origin:{type:Object,require:!0},position:{type:Array,default:["bottom"]},offset:{type:[Number,Object],default:8},shiftOffset:{type:Number},align:{type:String,default:null},showArrow:{type:Boolean,default:!1},isArrowCenter:{type:Boolean,default:!0}};function K(t){const n=/(auto|scroll|hidden)/;for(let l=t;l=l.parentElement;l.parentElement!==document.body){const i=window.getComputedStyle(l);if(n.test(i.overflow+i.overflowX+i.overflowY))return l}return window}function Q(t,n,l,i){let{x:a,y:r}=n;if(!t){const{width:o,height:u}=i;a&&l.includes("start")&&(a=12),a&&l.includes("end")&&(a=Math.round(o-24)),r&&l.includes("start")&&(r=10),r&&l.includes("end")&&(r=u-14)}return{x:a,y:r}}function W(t,n){const l=e.ref(),i=e.ref();let a=null;const r=(u,c,d,p)=>{const{x:s,y:m}=Q(t.isArrowCenter,d,c,p.getBoundingClientRect()),y={top:"bottom",right:"left",bottom:"top",left:"right"}[c.split("-")[0]];Object.assign(u.style,{left:s?`${s}px`:"",top:m?`${m}px`:"",right:"",bottom:"",[y]:"-4px"})},o=async()=>{const u=t.origin,c=e.unref(l.value),d=e.unref(i.value),p=[w.offset(t.offset),w.autoPlacement({alignment:t.align,allowedPlacements:t.position})];t.showArrow&&p.push(w.arrow({element:d})),t.shiftOffset!==void 0&&p.push(w.shift());const{x:s,y:m,placement:y,middlewareData:V}=await w.computePosition(u,c,{strategy:"fixed",middleware:p});let v=s,g=m;if(t.shiftOffset!==void 0){const{x:B,y:h}=V.shift;B<0&&(v-=t.shiftOffset),B>0&&(v+=t.shiftOffset),h<0&&(g-=t.shiftOffset),h>0&&(g+=t.shiftOffset)}n("positionChange",y),Object.assign(c.style,{top:`${g}px`,left:`${v}px`}),t.showArrow&&r(d,y,V.arrow,c)};return e.watch(()=>t.modelValue,()=>{t.modelValue&&t.origin?(a=K(t.origin),e.nextTick(o),a==null||a.addEventListener("scroll",o),a!==window&&window.addEventListener("scroll",o),window.addEventListener("resize",o)):(a==null||a.removeEventListener("scroll",o),a!==window&&window.removeEventListener("scroll",o),window.removeEventListener("resize",o))}),e.onUnmounted(()=>{a==null||a.removeEventListener("scroll",o),a!==window&&window.removeEventListener("scroll",o),window.removeEventListener("resize",o)}),{arrowRef:i,overlayRef:l,updatePosition:o}}var de="";const M=e.defineComponent({name:"DFlexibleOverlay",inheritAttrs:!1,props:J,emits:["update:modelValue","positionChange"],setup(t,{slots:n,attrs:l,emit:i,expose:a}){const{arrowRef:r,overlayRef:o,updatePosition:u}=W(t,i);return a({updatePosition:u}),()=>{var c;return t.modelValue&&e.createVNode("div",e.mergeProps({ref:o,class:"devui-flexible-overlay"},l),[(c=n.default)==null?void 0:c.call(n),t.showArrow&&e.createVNode("div",{ref:r,class:"devui-flexible-overlay-arrow"},null)])}}});var ue="";let Z=1;var x=e.defineComponent({name:"DDropdown",inheritAttrs:!1,props:_,emits:["toggle"],setup(t,{slots:n,attrs:l,emit:i,expose:a}){const{visible:r,position:o,align:u,offset:c,destroyOnHide:d,showAnimation:p}=e.toRefs(t),s=e.ref(),m=e.ref(),y=e.ref(),V=`dropdown_${Z++}`,v=e.ref(!1),g=e.ref("bottom");H({id:V,isOpen:v,origin:s,dropdownRef:m,props:t,emit:i}),q(V,r,v,s,m,g,i);const{overlayModelValue:B,overlayShowValue:h,styles:P,classes:b,handlePositionChange:E}=U(t,g,v);return e.watch(h,C=>{e.nextTick(()=>{!d.value&&C&&y.value.updatePosition()})}),a({updatePosition:()=>y.value.updatePosition()}),()=>{var C;return e.createVNode(e.Fragment,null,[e.createVNode("div",{ref:s,class:"devui-dropdown-toggle"},[(C=n.default)==null?void 0:C.call(n)]),e.createVNode(e.Teleport,{to:"body"},{default:()=>[e.createVNode(e.Transition,{name:p.value?`devui-dropdown-fade-${g.value}`:""},{default:()=>[e.withDirectives(e.createVNode(M,{modelValue:B.value,"onUpdate:modelValue":k=>B.value=k,ref:y,origin:s.value,position:o.value,align:u.value,offset:c.value,onPositionChange:E,class:b.value,style:P.value},{default:()=>{var k;return[e.createVNode("div",e.mergeProps({ref:m,class:"devui-dropdown-menu-wrap"},l),[(k=n.menu)==null?void 0:k.call(n)])]}}),[[e.vShow,h.value]])]})]})])}}});const T={modelValue:{type:Boolean,default:!1},origin:{type:Object,require:!0},position:{type:Array,default:["bottom"]},align:{type:String,default:null},offset:{type:[Number,Object],default:4},clickOutside:{type:Function,default:()=>!0},showAnimation:{type:Boolean,default:!0},overlayClass:{type:String,default:""}};var N=e.defineComponent({name:"DDropdownMenu",inheritAttrs:!1,props:T,emits:["update:modelValue"],setup(t,{slots:n,attrs:l,emit:i}){const{modelValue:a,origin:r,position:o,align:u,offset:c,clickOutside:d,showAnimation:p,overlayClass:s}=e.toRefs(t),m=e.ref(null);$.onClickOutside(m,g=>{var B,h;((B=d.value)==null?void 0:B.call(d))&&!((h=r==null?void 0:r.value)==null?void 0:h.contains(g.target))&&i("update:modelValue",!1)});const y=e.ref("bottom"),V=g=>{y.value=g.split("-")[0]==="top"?"top":"bottom"},v=e.computed(()=>({transformOrigin:y.value==="top"?"0% 100%":"0% 0%"}));return()=>e.createVNode(e.Teleport,{to:"body"},{default:()=>[e.createVNode(e.Transition,{name:p.value?`devui-dropdown-fade-${y.value}`:""},{default:()=>[e.createVNode(M,{modelValue:a.value,"onUpdate:modelValue":g=>a.value=g,origin:r==null?void 0:r.value,position:o.value,align:u.value,offset:c.value,onPositionChange:V,class:s.value,style:v.value},{default:()=>{var g;return[e.createVNode("div",e.mergeProps({ref:m,class:"devui-dropdown-menu-wrap"},l),[(g=n.default)==null?void 0:g.call(n)])]}})]})]})}}),ee={title:"Dropdown \u4E0B\u62C9\u83DC\u5355",category:"\u5BFC\u822A",status:"10%",install(t){t.component(x.name,x),t.component(N.name,N)}};f.Dropdown=x,f.DropdownMenu=N,f.default=ee,f.dropdownMenuProps=T,Object.defineProperty(f,"__esModule",{value:!0}),f[Symbol.toStringTag]="Module"});
1
+ var ae=Object.defineProperty,le=Object.defineProperties;var re=Object.getOwnPropertyDescriptors;var F=Object.getOwnPropertySymbols;var se=Object.prototype.hasOwnProperty,ie=Object.prototype.propertyIsEnumerable;var _=(f,e,w)=>e in f?ae(f,e,{enumerable:!0,configurable:!0,writable:!0,value:w}):f[e]=w,j=(f,e)=>{for(var w in e||(e={}))se.call(e,w)&&_(f,w,e[w]);if(F)for(var w of F(e))ie.call(e,w)&&_(f,w,e[w]);return f},L=(f,e)=>le(f,re(e));(function(f,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue"),require("@floating-ui/dom"),require("@vueuse/core")):typeof define=="function"&&define.amd?define(["exports","vue","@floating-ui/dom","@vueuse/core"],e):(f=typeof globalThis!="undefined"?globalThis:f||self,e(f.index={},f.Vue,f.dom,f.core))})(this,function(f,e,w,H){"use strict";const q={visible:{type:Boolean,default:!1},trigger:{type:String,default:"click"},closeScope:{type:String,default:"all"},position:{type:Array,default:["bottom"]},align:{type:String,default:null},offset:{type:[Number,Object],default:4},shiftOffset:{type:Number},closeOnMouseLeaveMenu:{type:Boolean,default:!1},showAnimation:{type:Boolean,default:!0},overlayClass:{type:String,default:""},destroyOnHide:{type:Boolean,default:!0}};function U(t){return t instanceof Element?t:t&&typeof t=="object"&&t.$el instanceof Element?t.$el:null}const V=new Map;function P(t,o,n){return t==null||t.addEventListener(o,n),()=>{t==null||t.removeEventListener(o,n)}}const Y=({id:t,isOpen:o,origin:n,dropdownRef:l,props:r,emit:i})=>{let a=!1,s=!1;const{trigger:c,closeScope:u,closeOnMouseLeaveMenu:y}=e.toRefs(r),d=m=>{o.value=m,i("toggle",o.value)},v=async(m,C)=>{await new Promise(g=>setTimeout(g,50)),!(m==="origin"&&a||m==="dropdown"&&s)&&(C&&[...V.values()].reverse().forEach(g=>{setTimeout(()=>{var k;(k=g.toggle)==null||k.call(g)},0)}),d(!1))};e.watch([c,n,l],([m,C,g],k,p)=>{const h=U(C),O=[];setTimeout(()=>{O.push(P(document,"click",b=>{const B=[...V.values()];!o.value||u.value==="none"||(g==null?void 0:g.contains(b.target))&&u.value==="blank"||B.some(S=>{var E;return(E=S.toggleEl)==null?void 0:E.contains(b.target)})&&B.some(S=>{var E;return(E=S.menuEl)==null?void 0:E.contains(b.target)})||([...V.values()].reverse().forEach(S=>{setTimeout(()=>{var E,N;((E=S.toggleEl)==null?void 0:E.contains(b.target))||(N=S.toggle)==null||N.call(S)},0)}),a=!1)}))},0),m==="click"?O.push(P(h,"click",()=>d(!o.value)),P(g,"mouseleave",b=>{var B;y.value&&!((B=V.get(t).child)==null?void 0:B.contains(b.relatedTarget))&&v("dropdown",!0)})):m==="hover"&&O.push(P(h,"mouseenter",()=>{s=!0,d(!0)}),P(h,"mouseleave",()=>{s=!1,v("origin")}),P(g,"mouseenter",()=>{a=!0,o.value=!0}),P(g,"mouseleave",b=>{var B;a=!1,!(b.relatedTarget&&((h==null?void 0:h.contains(b.relatedTarget))||((B=V.get(t).child)==null?void 0:B.contains(b.relatedTarget))))&&v("dropdown",!0)})),p(()=>O.forEach(b=>b()))})};function z(t,o,n,l,r,i,a){const s=c=>{const u=c.offsetHeight;window.innerHeight-l.value.getBoundingClientRect().bottom>=u?i.value="bottom":i.value="top"};e.watch(o,(c,u)=>{u!==void 0&&(n.value=c,a("toggle",n.value))},{immediate:!0}),e.watch([n,r],([c,u])=>{var y;if(c){V.set(t,L(j({},V.get(t)),{menuEl:u,toggle:()=>{n.value=!1,a("toggle",n.value)}}));for(const d of V.values())((y=d.menuEl)==null?void 0:y.contains(l.value))&&(d.child=u)}u&&s(u)}),e.onMounted(()=>{V.set(t,{toggleEl:l.value})}),e.onUnmounted(()=>{V.delete(t)})}function X(t,o,n){const{showAnimation:l,overlayClass:r,destroyOnHide:i}=e.toRefs(t),a=e.ref(!1),s=e.ref(!1),c=e.computed(()=>({transformOrigin:o.value==="top"?"0% 100%":"0% 0%"})),u=e.computed(()=>({"fade-in-bottom":l.value&&n.value&&o.value==="bottom","fade-in-top":l.value&&n.value&&o.value==="top",[`${r.value}`]:!0})),y=d=>{o.value=d.includes("top")||d.includes("end")?"top":"bottom"};return e.watch(n,d=>{a.value=i.value?d:!0,s.value=d}),{overlayModelValue:a,overlayShowValue:s,styles:c,classes:u,handlePositionChange:y}}function A(t,o,n){let l=t;return o&&(l+=`__${o}`),n&&(l+=`--${n}`),l}function x(t){const o=`devui-${t}`;return{b:()=>A(o),e:a=>a?A(o,a):"",m:a=>a?A(o,"",a):"",em:(a,s)=>a&&s?A(o,a,s):""}}var ue="";function I(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const G=e.defineComponent({setup(t,o){const n=x("overlay");return()=>{let l;return e.createVNode(e.Teleport,{to:"#d-overlay-anchor"},{default:()=>[e.createVNode(e.Transition,{name:n.e("fade")},I(l=e.renderSlot(o.slots,"default"))?l:{default:()=>[l]})]})}}}),J=L(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}}),{overlayStyle:{type:[String,Object],default:void 0}}),K=["update:visible","backdropClick"];function Q(t,o){const n=x("overlay"),l=e.computed(()=>[n.e("background"),t.backgroundClass,t.hasBackdrop?n.em("background","color"):n.em("background","disabled")]),r=e.computed(()=>n.b()),i=s=>{var c;s.preventDefault(),(c=t.onBackdropClick)==null||c.call(t),t.backdropClose&&o.emit("update:visible",!1)},a=s=>s.cancelBubble=!0;return e.onMounted(()=>{const s=document.body,c=s.style.overflow,u=s.style.position;e.watch([()=>t.visible,()=>t.backgroundBlock],([y,d])=>{if(d){const v=s.getBoundingClientRect().y;y?(s.style.overflowY="scroll",s.style.position=y?"fixed":"",s.style.top=`${v}px`):(s.style.overflowY=c,s.style.position=u,s.style.top="",window.scrollTo(0,-v))}}),e.onUnmounted(()=>{document.body.style.overflow=c})}),{backgroundClass:l,overlayClass:r,handleBackdropClick:i,handleOverlayBubbleCancel:a}}var de="";e.defineComponent({name:"DFixedOverlay",props:J,emits:K,setup(t,o){const{backgroundClass:n,overlayClass:l,handleBackdropClick:r,handleOverlayBubbleCancel:i}=Q(t,o);return()=>e.createVNode(G,null,{default:()=>[t.visible&&e.createVNode("div",{class:n.value,style:t.backgroundStyle,onClick:r},[e.createVNode("div",{class:l.value,style:t.overlayStyle,onClick:i},[e.renderSlot(o.slots,"default")])])]})}});const W={modelValue:{type:Boolean,default:!1},origin:{type:Object,require:!0},position:{type:Array,default:["bottom"]},offset:{type:[Number,Object],default:8},shiftOffset:{type:Number},align:{type:String,default:null},showArrow:{type:Boolean,default:!1},isArrowCenter:{type:Boolean,default:!0}};function Z(t){const o=/(auto|scroll|hidden)/;for(let n=t;n=n.parentElement;n.parentElement!==document.body){const l=window.getComputedStyle(n);if(o.test(l.overflow+l.overflowX+l.overflowY))return n}return window}function ee(t,o,n,l){let{x:r,y:i}=o;if(!t){const{width:a,height:s}=l;r&&n.includes("start")&&(r=12),r&&n.includes("end")&&(r=Math.round(a-24)),i&&n.includes("start")&&(i=10),i&&n.includes("end")&&(i=s-14)}return{x:r,y:i}}function te(t,o){const n=e.ref(),l=e.ref();let r=null;const i=(s,c,u,y)=>{const{x:d,y:v}=ee(t.isArrowCenter,u,c,y.getBoundingClientRect()),m={top:"bottom",right:"left",bottom:"top",left:"right"}[c.split("-")[0]];Object.assign(s.style,{left:d?`${d}px`:"",top:v?`${v}px`:"",right:"",bottom:"",[m]:"-4px"})},a=async()=>{const s=t.origin,c=e.unref(n.value),u=e.unref(l.value),y=[w.offset(t.offset),w.autoPlacement({alignment:t.align,allowedPlacements:t.position})];t.showArrow&&y.push(w.arrow({element:u})),t.shiftOffset!==void 0&&y.push(w.shift());const{x:d,y:v,placement:m,middlewareData:C}=await w.computePosition(s,c,{strategy:"fixed",middleware:y});let g=d,k=v;if(t.shiftOffset!==void 0){const{x:p,y:h}=C.shift;p<0&&(g-=t.shiftOffset),p>0&&(g+=t.shiftOffset),h<0&&(k-=t.shiftOffset),h>0&&(k+=t.shiftOffset)}o("positionChange",m),Object.assign(c.style,{top:`${k}px`,left:`${g}px`}),t.showArrow&&i(u,m,C.arrow,c)};return e.watch(()=>t.modelValue,()=>{t.modelValue&&t.origin?(r=Z(t.origin),e.nextTick(a),r==null||r.addEventListener("scroll",a),r!==window&&window.addEventListener("scroll",a),window.addEventListener("resize",a)):(r==null||r.removeEventListener("scroll",a),r!==window&&window.removeEventListener("scroll",a),window.removeEventListener("resize",a))}),e.onUnmounted(()=>{r==null||r.removeEventListener("scroll",a),r!==window&&window.removeEventListener("scroll",a),window.removeEventListener("resize",a)}),{arrowRef:l,overlayRef:n,updatePosition:a}}var fe="";const R=e.defineComponent({name:"DFlexibleOverlay",inheritAttrs:!1,props:W,emits:["update:modelValue","positionChange"],setup(t,{slots:o,attrs:n,emit:l,expose:r}){const i=x("flexible-overlay"),{arrowRef:a,overlayRef:s,updatePosition:c}=te(t,l);return r({updatePosition:c}),()=>{var u;return t.modelValue&&e.createVNode("div",e.mergeProps({ref:s,class:i.b()},n),[(u=o.default)==null?void 0:u.call(o),t.showArrow&&e.createVNode("div",{ref:a,class:i.e("arrow")},null)])}}});var ye="";let oe=1;var M=e.defineComponent({name:"DDropdown",inheritAttrs:!1,props:q,emits:["toggle"],setup(t,{slots:o,attrs:n,emit:l,expose:r}){const{visible:i,position:a,align:s,offset:c,destroyOnHide:u,shiftOffset:y,showAnimation:d}=e.toRefs(t),v=e.ref(),m=e.ref(),C=e.ref(),g=`dropdown_${oe++}`,k=e.ref(!1),p=e.ref("bottom"),h=x("dropdown");Y({id:g,isOpen:k,origin:v,dropdownRef:m,props:t,emit:l}),z(g,i,k,v,m,p,l);const{overlayModelValue:O,overlayShowValue:b,styles:B,classes:S,handlePositionChange:E}=X(t,p,k);return e.watch(b,N=>{e.nextTick(()=>{!u.value&&N&&C.value.updatePosition()})}),r({updatePosition:()=>C.value.updatePosition()}),()=>{var N;return e.createVNode(e.Fragment,null,[e.createVNode("div",{ref:v,class:h.e("toggle")},[(N=o.default)==null?void 0:N.call(o)]),e.createVNode(e.Teleport,{to:"body"},{default:()=>[e.createVNode(e.Transition,{name:d.value?`devui-dropdown-fade-${p.value}`:""},{default:()=>[e.withDirectives(e.createVNode(R,{modelValue:O.value,"onUpdate:modelValue":D=>O.value=D,ref:C,origin:v.value,position:a.value,align:s.value,offset:c.value,shiftOffset:y==null?void 0:y.value,onPositionChange:E,class:S.value,style:B.value},{default:()=>{var D;return[e.createVNode("div",e.mergeProps({ref:m,class:h.e("menu-wrap")},n),[(D=o.menu)==null?void 0:D.call(o)])]}}),[[e.vShow,b.value]])]})]})])}}});const $={modelValue:{type:Boolean,default:!1},origin:{type:Object,require:!0},position:{type:Array,default:["bottom"]},align:{type:String,default:null},offset:{type:[Number,Object],default:4},clickOutside:{type:Function,default:()=>!0},showAnimation:{type:Boolean,default:!0},overlayClass:{type:String,default:""}};var T=e.defineComponent({name:"DDropdownMenu",inheritAttrs:!1,props:$,emits:["update:modelValue"],setup(t,{slots:o,attrs:n,emit:l}){const{modelValue:r,origin:i,position:a,align:s,offset:c,clickOutside:u,showAnimation:y,overlayClass:d}=e.toRefs(t),v=e.ref(null),m=x("dropdown");H.onClickOutside(v,p=>{var h,O;((h=u.value)==null?void 0:h.call(u))&&!((O=i==null?void 0:i.value)==null?void 0:O.contains(p.target))&&l("update:modelValue",!1)});const C=e.ref("bottom"),g=p=>{C.value=p.split("-")[0]==="top"?"top":"bottom"},k=e.computed(()=>({transformOrigin:C.value==="top"?"0% 100%":"0% 0%"}));return()=>e.createVNode(e.Teleport,{to:"body"},{default:()=>[e.createVNode(e.Transition,{name:y.value?`devui-dropdown-fade-${C.value}`:""},{default:()=>[e.createVNode(R,{modelValue:r.value,"onUpdate:modelValue":p=>r.value=p,origin:i==null?void 0:i.value,position:a.value,align:s.value,offset:c.value,onPositionChange:g,class:d.value,style:k.value},{default:()=>{var p;return[e.createVNode("div",e.mergeProps({ref:v,class:m.e("menu-wrap")},n),[(p=o.default)==null?void 0:p.call(o)])]}})]})]})}}),ne={title:"Dropdown \u4E0B\u62C9\u83DC\u5355",category:"\u5BFC\u822A",status:"10%",install(t){t.component(M.name,M),t.component(T.name,T)}};f.Dropdown=M,f.DropdownMenu=T,f.default=ne,f.dropdownMenuProps=$,Object.defineProperty(f,"__esModule",{value:!0}),f[Symbol.toStringTag]="Module"});
@@ -1 +1 @@
1
- @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-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}.devui-flexible-overlay{position:fixed;border-radius:var(--devui-border-radius, 2px);background-color:var(--devui-connected-overlay-bg, #ffffff);box-shadow:var(--devui-shadow-connected-overlay, 0 2px 8px 0) var(--devui-shadow, rgba(0, 0, 0, .2));z-index:1000}.devui-flexible-overlay-arrow{position:absolute;width:8px;height:8px;transform:rotate(45deg);background-color:inherit}.devui-dropdown-toggle{display:inline-block}.devui-dropdown span.icon-chevron-down,.devui-dropdown span.icon-select-arrow{display:inline-block;vertical-align:text-top}.devui-dropdown-menu-wrap .devui-dropdown-menu{width:100%}.devui-dropdown-animation span.icon-chevron-down,.devui-dropdown-animation span.icon-select-arrow{transition:transform var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1))}.devui-dropdown.open span.icon-chevron-down,.devui-dropdown.open span.icon-select-arrow{transform:rotate(180deg)}.fade-in-top{animation:fadeInTop .2s cubic-bezier(.16,.75,.5,1)}.fade-in-bottom{animation:fadeInBottom .2s cubic-bezier(.16,.75,.5,1)}@keyframes fadeInTop{0%{opacity:.8;transform:scaleY(.8) translateY(4px)}to{opacity:1;transform:scaleY(.9999) translateY(0)}}@keyframes fadeInBottom{0%{opacity:.8;transform:scaleY(.8) translateY(-4px)}to{opacity:1;transform:scaleY(.9999) translateY(0)}}.devui-dropdown-fade-bottom-enter-from,.devui-dropdown-fade-bottom-leave-to{opacity:.8;transform:scaleY(.8) translateY(-4px)}.devui-dropdown-fade-bottom-enter-to,.devui-dropdown-fade-bottom-leave-from{opacity:1;transform:scaleY(.9999) translateY(0)}.devui-dropdown-fade-bottom-enter-active{transition:transform .2s cubic-bezier(.16,.75,.5,1),opacity .2s cubic-bezier(.16,.75,.5,1)}.devui-dropdown-fade-bottom-leave-active{transition:transform .2s cubic-bezier(.5,0,.84,.25),opacity .2s cubic-bezier(.5,0,.84,.25)}.devui-dropdown-fade-top-enter-from,.devui-dropdown-fade-top-leave-to{opacity:.8;transform:scaleY(.8) translateY(4px)}.devui-dropdown-fade-top-enter-to,.devui-dropdown-fade-top-leave-from{opacity:1;transform:scaleY(.9999) translateY(0)}.devui-dropdown-fade-top-enter-active{transition:transform .2s cubic-bezier(.16,.75,.5,1),opacity .2s cubic-bezier(.16,.75,.5,1)}.devui-dropdown-fade-top-leave-active{transition:transform .2s cubic-bezier(.5,0,.84,.25),opacity .2s cubic-bezier(.5,0,.84,.25)}
1
+ @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-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}.devui-flexible-overlay{position:fixed;border-radius:var(--devui-border-radius, 2px);background-color:var(--devui-connected-overlay-bg, #ffffff);box-shadow:var(--devui-shadow-connected-overlay, 0 2px 8px 0) var(--devui-shadow, rgba(37, 43, 58, .2));z-index:1000}.devui-flexible-overlay__arrow{position:absolute;width:8px;height:8px;transform:rotate(45deg);background-color:inherit}.devui-dropdown__toggle{display:inline-block}.devui-dropdown span.icon-chevron-down,.devui-dropdown span.icon-select-arrow{display:inline-block;vertical-align:text-top}.devui-dropdown__menu-wrap .devui-dropdown-menu{width:100%}.devui-dropdown-animation span.icon-chevron-down,.devui-dropdown-animation span.icon-select-arrow{transition:transform var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1))}.devui-dropdown.open span.icon-chevron-down,.devui-dropdown.open span.icon-select-arrow{transform:rotate(180deg)}.fade-in-top{animation:fadeInTop .2s cubic-bezier(.16,.75,.5,1)}.fade-in-bottom{animation:fadeInBottom .2s cubic-bezier(.16,.75,.5,1)}@keyframes fadeInTop{0%{opacity:.8;transform:scaleY(.8) translateY(4px)}to{opacity:1;transform:scaleY(.9999) translateY(0)}}@keyframes fadeInBottom{0%{opacity:.8;transform:scaleY(.8) translateY(-4px)}to{opacity:1;transform:scaleY(.9999) translateY(0)}}.devui-dropdown-fade-bottom-enter-from,.devui-dropdown-fade-bottom-leave-to{opacity:.8;transform:scaleY(.8) translateY(-4px)}.devui-dropdown-fade-bottom-enter-to,.devui-dropdown-fade-bottom-leave-from{opacity:1;transform:scaleY(.9999) translateY(0)}.devui-dropdown-fade-bottom-enter-active{transition:transform .2s cubic-bezier(.16,.75,.5,1),opacity .2s cubic-bezier(.16,.75,.5,1)}.devui-dropdown-fade-bottom-leave-active{transition:transform .2s cubic-bezier(.5,0,.84,.25),opacity .2s cubic-bezier(.5,0,.84,.25)}.devui-dropdown-fade-top-enter-from,.devui-dropdown-fade-top-leave-to{opacity:.8;transform:scaleY(.8) translateY(4px)}.devui-dropdown-fade-top-enter-to,.devui-dropdown-fade-top-leave-from{opacity:1;transform:scaleY(.9999) translateY(0)}.devui-dropdown-fade-top-enter-active{transition:transform .2s cubic-bezier(.16,.75,.5,1),opacity .2s cubic-bezier(.16,.75,.5,1)}.devui-dropdown-fade-top-leave-active{transition:transform .2s cubic-bezier(.5,0,.84,.25),opacity .2s cubic-bezier(.5,0,.84,.25)}
@@ -19,7 +19,8 @@ const editableSelectProps = {
19
19
  default: "Search"
20
20
  },
21
21
  modelValue: {
22
- type: String
22
+ type: String,
23
+ default: ""
23
24
  },
24
25
  width: {
25
26
  type: Number
@@ -117,6 +118,7 @@ const useInput = (inputValue, ctx2) => {
117
118
  const handleInput = (event) => {
118
119
  const value = event.target.value;
119
120
  inputValue.value = value;
121
+ ctx2.emit("update:modelValue", value);
120
122
  onInputChange(value);
121
123
  };
122
124
  return {
@@ -165,14 +167,11 @@ const useKeyboardSelect = (dropdownRef, visible, inputValue, filteredOptions, op
165
167
  };
166
168
  const handleEnter = () => {
167
169
  const len = filteredOptions.value.length;
168
- if (!visible.value) {
169
- toggleMenu();
170
- } else if (!len || len === 1) {
171
- closeMenu();
172
- } else if (len && len !== 1) {
173
- handleClick(filteredOptions.value[hoverIndex.value]);
174
- closeMenu();
170
+ if (!visible.value || !len) {
171
+ return toggleMenu();
175
172
  }
173
+ len && len === 1 ? handleClick(filteredOptions.value[0]) : handleClick(filteredOptions.value[hoverIndex.value]);
174
+ return closeMenu();
176
175
  };
177
176
  const handleKeyboardNavigation = (direction) => {
178
177
  const len = filteredOptions.value.length;
@@ -210,7 +209,6 @@ const useKeyboardSelect = (dropdownRef, visible, inputValue, filteredOptions, op
210
209
  const keyCode = event.key || event.code;
211
210
  switch (keyCode) {
212
211
  case "Escape":
213
- event.preventDefault();
214
212
  handleEscape();
215
213
  break;
216
214
  case "Enter":
@@ -232,9 +230,9 @@ var EditableSelect = defineComponent({
232
230
  setup(props, ctx2) {
233
231
  const dropdownRef = ref();
234
232
  const origin = ref();
235
- const position = ref(["bottom", "left"]);
233
+ const position = ref(["bottom"]);
236
234
  const visible = ref(false);
237
- const inputValue = ref(props.modelValue || "");
235
+ const inputValue = ref(props.modelValue);
238
236
  const loading = ref(props.loading);
239
237
  const normalizeOptions = computed(() => {
240
238
  return props.options.map((option) => {
@@ -309,6 +307,9 @@ var EditableSelect = defineComponent({
309
307
  const selectCls = className("devui-editable-select devui-form-group devui-has-feedback", {
310
308
  "devui-select-open": visible.value === true
311
309
  });
310
+ const inputCls = className("devui-form-control devui-dropdown-origin", {
311
+ "devui-dropdown-origin-open": visible.value === true
312
+ });
312
313
  return withDirectives(createVNode("div", {
313
314
  "class": selectCls,
314
315
  "ref": origin,
@@ -316,7 +317,7 @@ var EditableSelect = defineComponent({
316
317
  width: props.width + "px"
317
318
  }
318
319
  }, [createVNode("input", {
319
- "class": "devui-form-control devui-dropdown-origin devui-dropdown-origin-open",
320
+ "class": inputCls,
320
321
  "onClick": withModifiers(toggleMenu, ["self"]),
321
322
  "onInput": handleInput,
322
323
  "onKeydown": handleKeydown,
@@ -338,12 +339,11 @@ var EditableSelect = defineComponent({
338
339
  "hasBackdrop": false
339
340
  }, {
340
341
  default: () => [createVNode("div", {
341
- "class": "devui-editable-select-dropdown",
342
342
  "style": {
343
343
  width: props.width + "px"
344
344
  }
345
345
  }, [withDirectives(createVNode("div", {
346
- "class": "devui-dropdown-menu"
346
+ "class": "devui-dropdown-menu "
347
347
  }, [createVNode("ul", {
348
348
  "ref": dropdownRef,
349
349
  "class": "devui-list-unstyled scroll-height",
@@ -1 +1 @@
1
- (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 N={options:{type:Array,default:()=>[]},disabled:{type:Boolean},loading:{type:Boolean},optionDisabledKey:{type:String,default:""},placeholder:{type:String,default:"Search"},modelValue:{type:String},width:{type:Number},maxHeight:{type:Number},filterOption:{type:[Function,Boolean]}},B=typeof window!="undefined";function x(e,l,o){document.addEventListener?e&&l&&o&&e.addEventListener(l,o,!1):e&&l&&o&&e.attachEvent("on"+l,o)}const f=Symbol("@@clickoutside"),S=new Map;let F,E=0,K=!0;function H(e,l,o){return B&&K&&(K=!1,x(document,"mousedown",a=>{F=a}),x(document,"mouseup",a=>{for(const[c,i]of S)i[f].documentHandler(a,F)})),function(a,c){!o||!l.instance||!a.target||!c.target||e.contains(a.target)||e.contains(c.target)||e===a.target||e[f].bindingFn&&e[f].bindingFn()}}const O={beforeMount:function(e,l,o){E++,S.set(E,e),e[f]={nid:E,documentHandler:H(e,l,o),bindingFn:l.value}},updated:function(e,l,o){e[f].documentHandler=H(e,l,o),e[f].bindingFn=l.value},unmounted:function(e){S.delete(e[f].nid),delete e[f]}};function L(e,l){let o=e;return typeof l=="object"&&Object.keys(l).forEach(a=>{l[a]&&(o+=` ${a}`)}),o}var q="";const T=()=>(e,l)=>l.label.toLocaleLowerCase().indexOf(e.toLocaleLowerCase())>-1,j=(e,l,o)=>t.computed(()=>{const a=[];if(!l.value||o===!1)return e.value;const c=typeof o=="function"?o:T();return e.value.forEach(i=>{c(l.value,i)&&a.push(i)}),a}),A=(e,l)=>{const o=c=>{l.emit("search",c)};return{handleInput:c=>{const i=c.target.value;e.value=i,o(i)}}},R=(e,l,o,a)=>({loadMore:()=>{const i=e.value;o===!1&&i.clientHeight+i.scrollTop>=i.scrollHeight&&a.emit("loadMore",l.value)}}),P=(e,l,o,a,c,i,v,y,g,h)=>{const m=t.ref(0),p=t.ref(0),w=d=>{m.value=d},C=d=>{const r=e.value,n=r.children[d];t.nextTick(()=>{if(n.scrollIntoViewIfNeeded)n.scrollIntoViewIfNeeded(!1);else{const s=r.getBoundingClientRect(),b=n.getBoundingClientRect();(b.bottom>s.bottom||b.top<s.top)&&n.scrollIntoView(!1)}})},D=()=>{o.value?o.value="":g()},I=()=>{const d=a.value.length;l.value?!d||d===1?g():d&&d!==1&&(y(a.value[m.value]),g()):h()},V=d=>{const r=a.value.length;if(!r||r===1||!["ArrowDown","ArrowUp"].includes(d)||i===!1&&v.value)return;let n=0;if(n=m.value,d==="ArrowUp"?(n-=1,n===-1&&(n=r-1)):d==="ArrowDown"&&(n+=1,n===r&&(n=0)),m.value=n,a.value[n][c])return V(d);w(n),C(n)};return{handleKeydown:d=>{const r=d.key||d.code;switch(r){case"Escape":d.preventDefault(),D();break;case"Enter":I();break;default:V(r)}},hoverIndex:m,selectedIndex:p}};var k=t.defineComponent({name:"DEditableSelect",directives:{clickOutside:O},props:N,emits:["update:modelValue","search","loadMore"],setup(e,l){const o=t.ref(),a=t.ref(),c=t.ref(["bottom","left"]),i=t.ref(!1),v=t.ref(e.modelValue||""),y=t.ref(e.loading),g=t.computed(()=>e.options.map(n=>typeof n=="object"?Object.assign({},n,{label:n.label?n.label:n.value,value:n.value}):{label:n+"",value:n})),h=j(g,v,e.filterOption),m=t.computed(()=>{let n="";return e.filterOption!==!1&&!h.value.length?n="\u627E\u4E0D\u5230\u76F8\u5173\u8BB0\u5F55":e.filterOption===!1&&!h.value.length&&(n="\u6CA1\u6709\u6570\u636E"),n});t.watch(()=>e.loading,n=>{y.value=n});const p=()=>{i.value=!i.value},w=()=>{i.value=!1},{loadMore:C}=R(o,v,e.filterOption,l),{handleInput:D}=A(v,l),I=n=>{const{optionDisabledKey:s}=e;s&&!!n[s]||(l.emit("update:modelValue",n.label),w())},{handleKeydown:V,hoverIndex:M,selectedIndex:d}=P(o,i,v,h,e.optionDisabledKey,e.filterOption,y,I,w,p);t.watch(()=>e.modelValue,n=>{n&&(v.value=n)});const r=(n,s)=>{const{optionDisabledKey:b}=e;return L("devui-dropdown-item",{disabled:b?!!n[b]:!1,selected:s===d.value,"devui-dropdown-bg":s===M.value})};return()=>{const n=L("devui-editable-select devui-form-group devui-has-feedback",{"devui-select-open":i.value===!0});return t.withDirectives(t.createVNode("div",{class:n,ref:a,style:{width:e.width+"px"}},[t.createVNode("input",{class:"devui-form-control devui-dropdown-origin devui-dropdown-origin-open",onClick:t.withModifiers(p,["self"]),onInput:D,onKeydown:V,value:v.value,disabled:e.disabled,placeholder:e.placeholder,type:"text"},null),t.createVNode("span",{class:"devui-form-control-feedback"},[t.createVNode("span",{class:"devui-select-chevron-icon"},[t.createVNode(t.resolveComponent("d-icon"),{name:"select-arrow"},null)])]),t.createVNode(t.resolveComponent("d-flexible-overlay"),{origin:a.value,modelValue:i.value,"onUpdate:modelValue":s=>i.value=s,position:c.value,hasBackdrop:!1},{default:()=>[t.createVNode("div",{class:"devui-editable-select-dropdown",style:{width:e.width+"px"}},[t.withDirectives(t.createVNode("div",{class:"devui-dropdown-menu"},[t.createVNode("ul",{ref:o,class:"devui-list-unstyled scroll-height",style:{maxHeight:e.maxHeight+"px"},onScroll:C},[h.value.map((s,b)=>t.createVNode("li",{class:r(s,b),onClick:_=>{_.stopPropagation(),I(s)}},[l.slots.item?l.slots.item(s):s.label])),t.withDirectives(t.createVNode("li",{class:"devui-no-result-template"},[t.createVNode("div",{class:"devui-no-data-tip"},[l.slots.noResultItem?l.slots.noResultItem():m.value])]),[[t.vShow,!h.value.length]])])]),[[t.resolveDirective("dLoading"),e.loading],[t.vShow,i.value]])])]})]),[[t.resolveDirective("click-outside"),w]])}}}),U={title:"EditableSelect \u53EF\u8F93\u5165\u4E0B\u62C9\u9009\u62E9\u6846",category:"\u6570\u636E\u5F55\u5165",status:"100%",install(e){e.component(k.name,k)}};u.EditableSelect=k,u.default=U,u.editableSelectProps=N,Object.defineProperty(u,"__esModule",{value:!0}),u[Symbol.toStringTag]="Module"});
1
+ (function(f,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(f=typeof globalThis!="undefined"?globalThis:f||self,t(f.index={},f.Vue))})(this,function(f,t){"use strict";const F={options:{type:Array,default:()=>[]},disabled:{type:Boolean},loading:{type:Boolean},optionDisabledKey:{type:String,default:""},placeholder:{type:String,default:"Search"},modelValue:{type:String,default:""},width:{type:Number},maxHeight:{type:Number},filterOption:{type:[Function,Boolean]}},B=typeof window!="undefined";function x(e,l,o){document.addEventListener?e&&l&&o&&e.addEventListener(l,o,!1):e&&l&&o&&e.attachEvent("on"+l,o)}const v=Symbol("@@clickoutside"),S=new Map;let K,E=0,M=!0;function H(e,l,o){return B&&M&&(M=!1,x(document,"mousedown",a=>{K=a}),x(document,"mouseup",a=>{for(const[s,i]of S)i[v].documentHandler(a,K)})),function(a,s){!o||!l.instance||!a.target||!s.target||e.contains(a.target)||e.contains(s.target)||e===a.target||e[v].bindingFn&&e[v].bindingFn()}}const T={beforeMount:function(e,l,o){E++,S.set(E,e),e[v]={nid:E,documentHandler:H(e,l,o),bindingFn:l.value}},updated:function(e,l,o){e[v].documentHandler=H(e,l,o),e[v].bindingFn=l.value},unmounted:function(e){S.delete(e[v].nid),delete e[v]}};function C(e,l){let o=e;return typeof l=="object"&&Object.keys(l).forEach(a=>{l[a]&&(o+=` ${a}`)}),o}var z="";const j=()=>(e,l)=>l.label.toLocaleLowerCase().indexOf(e.toLocaleLowerCase())>-1,O=(e,l,o)=>t.computed(()=>{const a=[];if(!l.value||o===!1)return e.value;const s=typeof o=="function"?o:j();return e.value.forEach(i=>{s(l.value,i)&&a.push(i)}),a}),A=(e,l)=>{const o=s=>{l.emit("search",s)};return{handleInput:s=>{const i=s.target.value;e.value=i,l.emit("update:modelValue",i),o(i)}}},R=(e,l,o,a)=>({loadMore:()=>{const i=e.value;o===!1&&i.clientHeight+i.scrollTop>=i.scrollHeight&&a.emit("loadMore",l.value)}}),P=(e,l,o,a,s,i,m,g,w,h)=>{const b=t.ref(0),p=t.ref(0),y=d=>{b.value=d},N=d=>{const c=e.value,n=c.children[d];t.nextTick(()=>{if(n.scrollIntoViewIfNeeded)n.scrollIntoViewIfNeeded(!1);else{const u=c.getBoundingClientRect(),r=n.getBoundingClientRect();(r.bottom>u.bottom||r.top<u.top)&&n.scrollIntoView(!1)}})},D=()=>{o.value?o.value="":w()},I=()=>{const d=a.value.length;return!l.value||!d?h():(g(d&&d===1?a.value[0]:a.value[b.value]),w())},V=d=>{const c=a.value.length;if(!c||c===1||!["ArrowDown","ArrowUp"].includes(d)||i===!1&&m.value)return;let n=0;if(n=b.value,d==="ArrowUp"?(n-=1,n===-1&&(n=c-1)):d==="ArrowDown"&&(n+=1,n===c&&(n=0)),b.value=n,a.value[n][s])return V(d);y(n),N(n)};return{handleKeydown:d=>{const c=d.key||d.code;switch(c){case"Escape":D();break;case"Enter":I();break;default:V(c)}},hoverIndex:b,selectedIndex:p}};var k=t.defineComponent({name:"DEditableSelect",directives:{clickOutside:T},props:F,emits:["update:modelValue","search","loadMore"],setup(e,l){const o=t.ref(),a=t.ref(),s=t.ref(["bottom"]),i=t.ref(!1),m=t.ref(e.modelValue),g=t.ref(e.loading),w=t.computed(()=>e.options.map(n=>typeof n=="object"?Object.assign({},n,{label:n.label?n.label:n.value,value:n.value}):{label:n+"",value:n})),h=O(w,m,e.filterOption),b=t.computed(()=>{let n="";return e.filterOption!==!1&&!h.value.length?n="\u627E\u4E0D\u5230\u76F8\u5173\u8BB0\u5F55":e.filterOption===!1&&!h.value.length&&(n="\u6CA1\u6709\u6570\u636E"),n});t.watch(()=>e.loading,n=>{g.value=n});const p=()=>{i.value=!i.value},y=()=>{i.value=!1},{loadMore:N}=R(o,m,e.filterOption,l),{handleInput:D}=A(m,l),I=n=>{const{optionDisabledKey:u}=e;u&&!!n[u]||(l.emit("update:modelValue",n.label),y())},{handleKeydown:V,hoverIndex:L,selectedIndex:d}=P(o,i,m,h,e.optionDisabledKey,e.filterOption,g,I,y,p);t.watch(()=>e.modelValue,n=>{n&&(m.value=n)});const c=(n,u)=>{const{optionDisabledKey:r}=e;return C("devui-dropdown-item",{disabled:r?!!n[r]:!1,selected:u===d.value,"devui-dropdown-bg":u===L.value})};return()=>{const n=C("devui-editable-select devui-form-group devui-has-feedback",{"devui-select-open":i.value===!0}),u=C("devui-form-control devui-dropdown-origin",{"devui-dropdown-origin-open":i.value===!0});return t.withDirectives(t.createVNode("div",{class:n,ref:a,style:{width:e.width+"px"}},[t.createVNode("input",{class:u,onClick:t.withModifiers(p,["self"]),onInput:D,onKeydown:V,value:m.value,disabled:e.disabled,placeholder:e.placeholder,type:"text"},null),t.createVNode("span",{class:"devui-form-control-feedback"},[t.createVNode("span",{class:"devui-select-chevron-icon"},[t.createVNode(t.resolveComponent("d-icon"),{name:"select-arrow"},null)])]),t.createVNode(t.resolveComponent("d-flexible-overlay"),{origin:a.value,modelValue:i.value,"onUpdate:modelValue":r=>i.value=r,position:s.value,hasBackdrop:!1},{default:()=>[t.createVNode("div",{style:{width:e.width+"px"}},[t.withDirectives(t.createVNode("div",{class:"devui-dropdown-menu "},[t.createVNode("ul",{ref:o,class:"devui-list-unstyled scroll-height",style:{maxHeight:e.maxHeight+"px"},onScroll:N},[h.value.map((r,_)=>t.createVNode("li",{class:c(r,_),onClick:q=>{q.stopPropagation(),I(r)}},[l.slots.item?l.slots.item(r):r.label])),t.withDirectives(t.createVNode("li",{class:"devui-no-result-template"},[t.createVNode("div",{class:"devui-no-data-tip"},[l.slots.noResultItem?l.slots.noResultItem():b.value])]),[[t.vShow,!h.value.length]])])]),[[t.resolveDirective("dLoading"),e.loading],[t.vShow,i.value]])])]})]),[[t.resolveDirective("click-outside"),y]])}}}),U={title:"EditableSelect \u53EF\u8F93\u5165\u4E0B\u62C9\u9009\u62E9\u6846",category:"\u6570\u636E\u5F55\u5165",status:"100%",install(e){e.component(k.name,k)}};f.EditableSelect=k,f.default=U,f.editableSelectProps=F,Object.defineProperty(f,"__esModule",{value:!0}),f[Symbol.toStringTag]="Module"});
@@ -1 +1 @@
1
- @charset "UTF-8";.devui-editable-select .devui-select-chevron-icon{display:inline-flex;vertical-align:middle;transition:transform var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1))}.devui-editable-select input::-ms-clear{display:none}.devui-editable-select .devui-no-data-tip{user-select:none;cursor:not-allowed}.devui-editable-select .devui-form-control{outline:none;padding-right:24px}.devui-editable-select .devui-dropdown-menu{width:100%;display:block;top:auto!important;left:auto!important}.devui-editable-select .devui-dropdown-menu-cdk{position:static}.devui-editable-select .devui-dropdown-item{cursor:pointer;display:block;width:100%;padding:8px 12px;clear:both;border:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:14px}.devui-editable-select .devui-dropdown-menu .devui-dropdown-item:not(.disabled).selected{color:var(--devui-list-item-active-text, #ffffff);background-color:var(--devui-list-item-active-bg, #5e7ce0)}.devui-editable-select .devui-no-result-template,.devui-editable-select .devui-is-searching-template{display:block;width:100%;padding:8px 12px;clear:both;border:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:not-allowed;background-color:var(--devui-disabled-bg, #f5f5f6);color:var(--devui-disabled-text, #adb0b8);line-height:14px}.devui-editable-select .devui-no-result-template:hover,.devui-editable-select .devui-no-result-template:active,.devui-editable-select .devui-no-result-template:hover:active,.devui-editable-select .devui-is-searching-template:hover,.devui-editable-select .devui-is-searching-template:active,.devui-editable-select .devui-is-searching-template:hover:active{background-color:var(--devui-unavailable, #f5f5f6)}.devui-editable-select .devui-dropdown-item.disabled,.devui-editable-select .devui-dropdown-item.disabled:hover{cursor:not-allowed;color:var(--devui-disabled-text, #adb0b8)}.devui-editable-select ul.devui-list-unstyled{margin:0;overflow-y:auto;padding:0}.devui-editable-select .devui-dropdown-bg{background:var(--devui-list-item-hover-bg, #f2f5fc)}.devui-editable-select .devui-popup-tips{color:var(--devui-text-weak, #575d6c);padding:4px 12px}.devui-editable-select.devui-select-open .devui-select-chevron-icon{transform:rotate(180deg)}.devui-editable-select.devui-select-open .devui-select-chevron-icon svg path{fill:var(--devui-text-weak, #575d6c)}.devui-editable-select.devui-form-group.devui-has-feedback>.devui-form-control-feedback{line-height:26px}.devui-editable-select-dropdown .devui-dropdown-menu{width:100%;display:block;top:auto!important;left:auto!important}.devui-editable-select-dropdown .devui-dropdown-menu-cdk{position:static}.devui-editable-select-dropdown .devui-dropdown-item{cursor:pointer;display:block;width:100%;padding:8px 12px;clear:both;border:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:14px}.devui-editable-select-dropdown .devui-dropdown-menu .devui-dropdown-item:not(.disabled).selected{color:var(--devui-list-item-active-text, #ffffff);background-color:var(--devui-list-item-active-bg, #5e7ce0)}.devui-editable-select-dropdown .devui-no-result-template,.devui-editable-select-dropdown .devui-is-searching-template{display:block;width:100%;padding:8px 12px;clear:both;border:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:not-allowed;background-color:var(--devui-disabled-bg, #f5f5f6);color:var(--devui-disabled-text, #adb0b8);line-height:14px}.devui-editable-select-dropdown .devui-no-result-template:hover,.devui-editable-select-dropdown .devui-no-result-template:active,.devui-editable-select-dropdown .devui-no-result-template:hover:active,.devui-editable-select-dropdown .devui-is-searching-template:hover,.devui-editable-select-dropdown .devui-is-searching-template:active,.devui-editable-select-dropdown .devui-is-searching-template:hover:active{background-color:var(--devui-unavailable, #f5f5f6)}.devui-editable-select-dropdown .devui-dropdown-item.disabled,.devui-editable-select-dropdown .devui-dropdown-item.disabled:hover{cursor:not-allowed;color:var(--devui-disabled-text, #adb0b8)}.devui-editable-select-dropdown ul.devui-list-unstyled{margin:0;overflow-y:auto;padding:0}.devui-editable-select-dropdown .devui-dropdown-bg{background:var(--devui-list-item-hover-bg, #f2f5fc)}.devui-editable-select-dropdown .devui-popup-tips{color:var(--devui-text-weak, #575d6c);padding:4px 12px}
1
+ @charset "UTF-8";.devui-editable-select .devui-select-chevron-icon{display:inline-flex;vertical-align:middle;transition:transform var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1))}.devui-editable-select input::-ms-clear{display:none}.devui-editable-select .devui-no-data-tip{user-select:none;cursor:not-allowed}.devui-editable-select .devui-form-control{padding-right:24px}.devui-editable-select .devui-dropdown-menu{width:100%;margin:0;display:block;top:auto!important;left:auto!important}.devui-editable-select .devui-dropdown-menu-cdk{position:static}.devui-editable-select .devui-dropdown-item{cursor:pointer;display:block;width:100%;padding:8px 12px;clear:both;border:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:14px}.devui-editable-select .devui-dropdown-menu .devui-dropdown-item:not(.disabled).selected{color:var(--devui-list-item-active-text, #ffffff);background-color:var(--devui-list-item-active-bg, #5e7ce0)}.devui-editable-select .devui-no-result-template,.devui-editable-select .devui-is-searching-template{display:block;width:100%;padding:8px 12px;clear:both;border:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:not-allowed;background-color:var(--devui-disabled-bg, #f5f5f6);color:var(--devui-disabled-text, #adb0b8);line-height:14px}.devui-editable-select .devui-no-result-template:hover,.devui-editable-select .devui-no-result-template:active,.devui-editable-select .devui-no-result-template:hover:active,.devui-editable-select .devui-is-searching-template:hover,.devui-editable-select .devui-is-searching-template:active,.devui-editable-select .devui-is-searching-template:hover:active{background-color:var(--devui-unavailable, #f5f5f6)}.devui-editable-select .devui-dropdown-item.disabled,.devui-editable-select .devui-dropdown-item.disabled:hover{cursor:not-allowed;color:var(--devui-disabled-text, #adb0b8)}.devui-editable-select ul.devui-list-unstyled{margin:0;overflow-y:auto;padding:0}.devui-editable-select .devui-dropdown-bg{background:var(--devui-list-item-hover-bg, #f2f5fc)}.devui-editable-select .devui-popup-tips{color:var(--devui-text-weak, #575d6c);padding:4px 12px}.devui-editable-select.devui-select-open .devui-select-chevron-icon{transform:rotate(180deg)}.devui-editable-select.devui-select-open .devui-select-chevron-icon svg path{fill:var(--devui-text-weak, #575d6c)}.devui-editable-select.devui-form-group.devui-has-feedback>.devui-form-control-feedback{line-height:26px}