vue-devui 1.0.0-rc.14 → 1.0.0-rc.15

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 (109) hide show
  1. package/README.md +1 -0
  2. package/alert/index.umd.js +1 -1
  3. package/auto-complete/index.es.js +90 -81
  4. package/auto-complete/index.umd.js +24 -13
  5. package/auto-complete/style.css +1 -1
  6. package/avatar/index.umd.js +1 -1
  7. package/badge/index.umd.js +1 -1
  8. package/button/index.es.js +21 -42
  9. package/button/index.umd.js +9 -9
  10. package/card/index.umd.js +1 -1
  11. package/checkbox/index.es.js +94 -77
  12. package/checkbox/index.umd.js +26 -15
  13. package/collapse/index.es.js +3 -21
  14. package/collapse/index.umd.js +1 -1
  15. package/countdown/index.umd.js +1 -1
  16. package/date-picker-pro/index.es.js +118 -103
  17. package/date-picker-pro/index.umd.js +23 -12
  18. package/drawer/index.es.js +4 -17
  19. package/drawer/index.umd.js +1 -1
  20. package/dropdown/index.es.js +4 -22
  21. package/dropdown/index.umd.js +1 -1
  22. package/editable-select/index.es.js +104 -99
  23. package/editable-select/index.umd.js +1 -1
  24. package/editable-select/style.css +1 -1
  25. package/form/index.es.js +85 -71
  26. package/form/index.umd.js +22 -11
  27. package/fullscreen/index.umd.js +1 -1
  28. package/grid/index.es.js +7 -20
  29. package/grid/index.umd.js +1 -1
  30. package/icon/index.umd.js +1 -1
  31. package/image-preview/index.es.js +12 -23
  32. package/image-preview/index.umd.js +1 -1
  33. package/input/index.es.js +86 -72
  34. package/input/index.umd.js +24 -13
  35. package/input-number/index.es.js +1 -16
  36. package/input-number/index.umd.js +1 -1
  37. package/layout/index.umd.js +1 -1
  38. package/loading/index.es.js +15 -38
  39. package/loading/index.umd.js +1 -1
  40. package/message/index.d.ts +7 -0
  41. package/message/index.es.js +534 -0
  42. package/message/index.umd.js +1 -0
  43. package/message/package.json +7 -0
  44. package/message/style.css +1 -0
  45. package/modal/index.es.js +11 -43
  46. package/modal/index.umd.js +1 -1
  47. package/notification/index.es.js +16 -22
  48. package/notification/index.umd.js +1 -1
  49. package/nuxt/components/Message.js +3 -0
  50. package/nuxt/components/animationInjectionKey.js +3 -0
  51. package/nuxt/components/messageProps.js +3 -0
  52. package/nuxt/components/roundInjectionKey.js +3 -0
  53. package/nuxt/components/skeletonItemProps.js +3 -0
  54. package/overlay/index.es.js +1 -1
  55. package/overlay/index.umd.js +1 -1
  56. package/package.json +2 -2
  57. package/pagination/index.umd.js +1 -1
  58. package/panel/index.umd.js +1 -1
  59. package/popover/index.es.js +1 -1
  60. package/popover/index.umd.js +4 -4
  61. package/progress/index.umd.js +3 -3
  62. package/radio/index.es.js +91 -75
  63. package/radio/index.umd.js +28 -17
  64. package/radio/style.css +1 -1
  65. package/rate/index.umd.js +1 -1
  66. package/result/index.umd.js +1 -1
  67. package/ripple/index.es.js +5 -18
  68. package/ripple/index.umd.js +1 -1
  69. package/search/index.es.js +102 -75
  70. package/search/index.umd.js +26 -15
  71. package/search/style.css +1 -1
  72. package/select/index.es.js +130 -111
  73. package/select/index.umd.js +26 -15
  74. package/select/style.css +1 -1
  75. package/skeleton/index.es.js +87 -261
  76. package/skeleton/index.umd.js +1 -1
  77. package/skeleton/style.css +1 -1
  78. package/slider/index.umd.js +1 -1
  79. package/splitter/index.es.js +22 -29
  80. package/splitter/index.umd.js +9 -9
  81. package/statistic/index.es.js +0 -21
  82. package/statistic/index.umd.js +1 -1
  83. package/status/index.umd.js +1 -1
  84. package/steps/index.umd.js +1 -1
  85. package/style.css +1 -1
  86. package/switch/index.es.js +85 -71
  87. package/switch/index.umd.js +25 -14
  88. package/table/index.es.js +145 -92
  89. package/table/index.umd.js +22 -11
  90. package/table/style.css +1 -1
  91. package/tabs/index.umd.js +1 -1
  92. package/tag/index.umd.js +1 -1
  93. package/textarea/index.es.js +89 -74
  94. package/textarea/index.umd.js +26 -15
  95. package/time-picker/index.es.js +97 -88
  96. package/time-picker/index.umd.js +25 -14
  97. package/time-select/index.es.js +130 -111
  98. package/time-select/index.umd.js +25 -14
  99. package/time-select/style.css +1 -1
  100. package/timeline/index.umd.js +1 -1
  101. package/tooltip/index.es.js +1 -1
  102. package/tooltip/index.umd.js +4 -4
  103. package/tree/index.es.js +130 -95
  104. package/tree/index.umd.js +20 -9
  105. package/tree/style.css +1 -1
  106. package/upload/index.es.js +17 -48
  107. package/upload/index.umd.js +1 -1
  108. package/vue-devui.es.js +889 -628
  109. package/vue-devui.umd.js +32 -21
@@ -1,19 +1,3 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
- var __hasOwnProp = Object.prototype.hasOwnProperty;
4
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
- var __spreadValues = (a, b) => {
7
- for (var prop in b || (b = {}))
8
- if (__hasOwnProp.call(b, prop))
9
- __defNormalProp(a, prop, b[prop]);
10
- if (__getOwnPropSymbols)
11
- for (var prop of __getOwnPropSymbols(b)) {
12
- if (__propIsEnum.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
14
- }
15
- return a;
16
- };
17
1
  import { defineComponent, createVNode, Transition, ref, computed, watch, onUnmounted, Teleport, mergeProps, reactive, createApp, isVNode } from "vue";
18
2
  import { onClickOutside } from "@vueuse/core";
19
3
  const drawerProps = {
@@ -238,7 +222,10 @@ function initInstance(state) {
238
222
  }
239
223
  class DrawerService {
240
224
  open(options) {
241
- const state = reactive(__spreadValues(__spreadValues({}, defaultOptions), options));
225
+ const state = reactive({
226
+ ...defaultOptions,
227
+ ...options
228
+ });
242
229
  const app = initInstance(state);
243
230
  state.modelValue = true;
244
231
  return {
@@ -1 +1 @@
1
- var T=Object.defineProperty;var h=Object.getOwnPropertySymbols;var I=Object.prototype.hasOwnProperty,$=Object.prototype.propertyIsEnumerable;var V=(l,t,a)=>t in l?T(l,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):l[t]=a,p=(l,t)=>{for(var a in t||(t={}))I.call(t,a)&&V(l,a,t[a]);if(h)for(var a of h(t))$.call(t,a)&&V(l,a,t[a]);return l};(function(l,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue"),require("@vueuse/core")):typeof define=="function"&&define.amd?define(["exports","vue","@vueuse/core"],t):(l=typeof globalThis!="undefined"?globalThis:l||self,t(l.index={},l.Vue,l.core))})(this,function(l,t,a){"use strict";const O={modelValue:{type:Boolean,default:!1},zIndex:{type:Number,default:1e3},showOverlay:{type:Boolean,default:!0},escKeyCloseable:{type:Boolean,default:!0},position:{type:String,default:"right"},lockScroll:{type:Boolean,default:!0},closeOnClickOverlay:{type:Boolean,default:!0},beforeClose:{type:Function}},E={visible:{type:Boolean,default:!1},onClick:{type:Function}};function i(e,o,n){let r=e;return o&&(r+=`__${o}`),n&&(r+=`--${n}`),r}function w(e,o=!1){const n=o?`.devui-${e}`:`devui-${e}`;return{b:()=>i(n),e:c=>c?i(n,c):"",m:c=>c?i(n,"",c):"",em:(c,f)=>c&&f?i(n,c,f):""}}var z="",k=t.defineComponent({name:"DDrawerOverlay",props:E,emits:["click"],setup(e,o){const n=w("drawer"),r=d=>{o.emit("click",d)};return()=>t.createVNode(t.Transition,{name:"drawer-overlay-fade"},{default:()=>[e.visible&&t.createVNode("div",{class:n.e("overlay"),onClick:r},null)]})}});function g(){if(document.documentElement.scrollHeight>document.documentElement.clientHeight){const e=document.documentElement.scrollTop,o=document.documentElement.getAttribute("style");return document.documentElement.style.position="fixed",document.documentElement.style.top=`-${e}px`,document.documentElement.style.width=document.documentElement.style.width||"100%",document.documentElement.style.overflowY="scroll",()=>{o?document.documentElement.setAttribute("style",o):document.documentElement.removeAttribute("style"),document.documentElement.scrollTop=e}}}function D(e,o){const n=w("drawer"),r=t.ref(),d=t.computed(()=>({[n.b()]:!0,[n.m(e.position)]:!0})),s=()=>{o("update:modelValue",!1),o("close")};let u;const c=()=>{e.beforeClose?e.beforeClose(s):s()},f=()=>{e.closeOnClickOverlay&&c()},b=y=>{y.code==="Escape"&&c()};a.onClickOutside(r,c);const v=()=>{u==null||u(),document.removeEventListener("keyup",b)};return t.watch(()=>e.modelValue,y=>{y?(o("open"),e.lockScroll&&(u=g()),e.escKeyCloseable&&document.addEventListener("keyup",b)):v()}),t.onUnmounted(v),{drawerRef:r,drawerClasses:d,handleOverlayClick:f}}var A="",m=t.defineComponent({name:"DDrawer",inheritAttrs:!1,props:O,emits:["close","update:modelValue","open"],setup(e,{emit:o,slots:n,attrs:r}){const{drawerRef:d,drawerClasses:s,handleOverlayClick:u}=D(e,o);return()=>t.createVNode(t.Teleport,{to:"body"},{default:()=>[e.showOverlay&&t.createVNode(k,{visible:e.modelValue,style:{zIndex:e.zIndex},onClick:u},null),t.createVNode(t.Transition,{name:`drawer-fly-${e.position}`},{default:()=>{var c;return[e.modelValue&&t.createVNode("div",t.mergeProps({ref:d,class:s.value,style:{zIndex:e.zIndex+1}},r),[(c=n.default)==null?void 0:c.call(n)])]}})]})}});function S(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const x={modelValue:!1,content:"",zIndex:1e3,showOverlay:!0,escKeyCloseable:!0,position:"right",lockScroll:!0,closeOnClickOverlay:!0};function N(e){const o=document.createElement("div"),n=e.content;delete e.content;const r=t.createApp({setup(){const d=()=>{e.modelValue=!1};return t.onUnmounted(()=>{document.body.removeChild(o)}),()=>t.createVNode(m,t.mergeProps(e,{"onUpdate:modelValue":d}),S(n)?n:{default:()=>[n]})}});return document.body.appendChild(o),r.mount(o),r}class C{open(o){const n=t.reactive(p(p({},x),o)),r=N(n);return n.modelValue=!0,{close:()=>{n.modelValue=!1,r.unmount()}}}}var B={title:"Drawer \u62BD\u5C49\u677F",category:"\u53CD\u9988",status:"75%",install(e){e.component(m.name,m),e.config.globalProperties.$drawerService=new C}};l.Drawer=m,l.DrawerService=C,l.default=B,Object.defineProperty(l,"__esModule",{value:!0}),l[Symbol.toStringTag]="Module"});
1
+ (function(c,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue"),require("@vueuse/core")):typeof define=="function"&&define.amd?define(["exports","vue","@vueuse/core"],t):(c=typeof globalThis!="undefined"?globalThis:c||self,t(c.index={},c.Vue,c.core))})(this,function(c,t,v){"use strict";const b={modelValue:{type:Boolean,default:!1},zIndex:{type:Number,default:1e3},showOverlay:{type:Boolean,default:!0},escKeyCloseable:{type:Boolean,default:!0},position:{type:String,default:"right"},lockScroll:{type:Boolean,default:!0},closeOnClickOverlay:{type:Boolean,default:!0},beforeClose:{type:Function}},h={visible:{type:Boolean,default:!1},onClick:{type:Function}};function u(e,o,n){let l=e;return o&&(l+=`__${o}`),n&&(l+=`--${n}`),l}function y(e,o=!1){const n=o?`.devui-${e}`:`devui-${e}`;return{b:()=>u(n),e:r=>r?u(n,r):"",m:r=>r?u(n,"",r):"",em:(r,m)=>r&&m?u(n,r,m):""}}var S="",V=t.defineComponent({name:"DDrawerOverlay",props:h,emits:["click"],setup(e,o){const n=y("drawer"),l=a=>{o.emit("click",a)};return()=>t.createVNode(t.Transition,{name:"drawer-overlay-fade"},{default:()=>[e.visible&&t.createVNode("div",{class:n.e("overlay"),onClick:l},null)]})}});function O(){if(document.documentElement.scrollHeight>document.documentElement.clientHeight){const e=document.documentElement.scrollTop,o=document.documentElement.getAttribute("style");return document.documentElement.style.position="fixed",document.documentElement.style.top=`-${e}px`,document.documentElement.style.width=document.documentElement.style.width||"100%",document.documentElement.style.overflowY="scroll",()=>{o?document.documentElement.setAttribute("style",o):document.documentElement.removeAttribute("style"),document.documentElement.scrollTop=e}}}function E(e,o){const n=y("drawer"),l=t.ref(),a=t.computed(()=>({[n.b()]:!0,[n.m(e.position)]:!0})),s=()=>{o("update:modelValue",!1),o("close")};let d;const r=()=>{e.beforeClose?e.beforeClose(s):s()},m=()=>{e.closeOnClickOverlay&&r()},w=f=>{f.code==="Escape"&&r()};v.onClickOutside(l,r);const C=()=>{d==null||d(),document.removeEventListener("keyup",w)};return t.watch(()=>e.modelValue,f=>{f?(o("open"),e.lockScroll&&(d=O()),e.escKeyCloseable&&document.addEventListener("keyup",w)):C()}),t.onUnmounted(C),{drawerRef:l,drawerClasses:a,handleOverlayClick:m}}var N="",i=t.defineComponent({name:"DDrawer",inheritAttrs:!1,props:b,emits:["close","update:modelValue","open"],setup(e,{emit:o,slots:n,attrs:l}){const{drawerRef:a,drawerClasses:s,handleOverlayClick:d}=E(e,o);return()=>t.createVNode(t.Teleport,{to:"body"},{default:()=>[e.showOverlay&&t.createVNode(V,{visible:e.modelValue,style:{zIndex:e.zIndex},onClick:d},null),t.createVNode(t.Transition,{name:`drawer-fly-${e.position}`},{default:()=>{var r;return[e.modelValue&&t.createVNode("div",t.mergeProps({ref:a,class:s.value,style:{zIndex:e.zIndex+1}},l),[(r=n.default)==null?void 0:r.call(n)])]}})]})}});function k(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const g={modelValue:!1,content:"",zIndex:1e3,showOverlay:!0,escKeyCloseable:!0,position:"right",lockScroll:!0,closeOnClickOverlay:!0};function D(e){const o=document.createElement("div"),n=e.content;delete e.content;const l=t.createApp({setup(){const a=()=>{e.modelValue=!1};return t.onUnmounted(()=>{document.body.removeChild(o)}),()=>t.createVNode(i,t.mergeProps(e,{"onUpdate:modelValue":a}),k(n)?n:{default:()=>[n]})}});return document.body.appendChild(o),l.mount(o),l}class p{open(o){const n=t.reactive({...g,...o}),l=D(n);return n.modelValue=!0,{close:()=>{n.modelValue=!1,l.unmount()}}}}var x={title:"Drawer \u62BD\u5C49\u677F",category:"\u53CD\u9988",status:"75%",install(e){e.component(i.name,i),e.config.globalProperties.$drawerService=new p}};c.Drawer=i,c.DrawerService=p,c.default=x,Object.defineProperties(c,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1,23 +1,4 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
- import { toRefs, watch, onMounted, onUnmounted, ref, computed, defineComponent, createVNode, Transition, mergeProps, unref, nextTick, Comment, Text, h, Fragment, inject, withDirectives, cloneVNode, provide, Teleport, vShow } from "vue";
1
+ import { toRefs, watch, onMounted, onUnmounted, ref, computed, defineComponent, createVNode, Transition, mergeProps, nextTick, unref, Comment, Text, Fragment, h, inject, withDirectives, cloneVNode, provide, Teleport, vShow } from "vue";
21
2
  import { offset, autoPlacement, arrow, shift, computePosition } from "@floating-ui/dom";
22
3
  import { onClickOutside } from "@vueuse/core";
23
4
  const dropdownProps = {
@@ -188,13 +169,14 @@ function useDropdown(id, visible, isOpen, origin, dropdownRef, popDirection, emi
188
169
  watch([isOpen, dropdownRef], ([isOpenVal, dropdownEl]) => {
189
170
  var _a;
190
171
  if (isOpenVal) {
191
- dropdownMap.set(id, __spreadProps(__spreadValues({}, dropdownMap.get(id)), {
172
+ dropdownMap.set(id, {
173
+ ...dropdownMap.get(id),
192
174
  menuEl: dropdownEl,
193
175
  toggle: () => {
194
176
  isOpen.value = false;
195
177
  emit("toggle", isOpen.value);
196
178
  }
197
- }));
179
+ });
198
180
  for (const value of dropdownMap.values()) {
199
181
  if ((_a = value.menuEl) == null ? void 0 : _a.contains(origin.value)) {
200
182
  value.child = dropdownEl;
@@ -1 +1 @@
1
- var se=Object.defineProperty,ie=Object.defineProperties;var ue=Object.getOwnPropertyDescriptors;var F=Object.getOwnPropertySymbols;var ce=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable;var H=(d,e,w)=>e in d?se(d,e,{enumerable:!0,configurable:!0,writable:!0,value:w}):d[e]=w,_=(d,e)=>{for(var w in e||(e={}))ce.call(e,w)&&H(d,w,e[w]);if(F)for(var w of F(e))de.call(e,w)&&H(d,w,e[w]);return d},q=(d,e)=>ie(d,ue(e));(function(d,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):(d=typeof globalThis!="undefined"?globalThis:d||self,e(d.index={},d.Vue,d.dom,d.core))})(this,function(d,e,w,U){"use strict";const Y={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}},M=Symbol("popper-trigger");function z(t){return t instanceof Element?t:t&&typeof t=="object"&&t.$el instanceof Element?t.$el:null}const O=new Map;function N(t,o,n){return t==null||t.addEventListener(o,n),()=>{t==null||t.removeEventListener(o,n)}}const X=({id:t,isOpen:o,origin:n,dropdownRef:r,props:l,emit:a})=>{let s=!1,i=!1;const{trigger:u,closeScope:c,closeOnMouseLeaveMenu:p}=e.toRefs(l),f=g=>{o.value=g,a("toggle",o.value)},v=async(g,E)=>{await new Promise(m=>setTimeout(m,50)),!(g==="origin"&&s||g==="dropdown"&&i)&&(E&&[...O.values()].reverse().forEach(m=>{setTimeout(()=>{var V;(V=m.toggle)==null||V.call(m)},0)}),f(!1))};e.watch([u,n,r],([g,E,m],V,y)=>{const h=z(E),P=[];setTimeout(()=>{P.push(N(document,"click",b=>{const A=[...O.values()];!o.value||c.value==="none"||(m==null?void 0:m.contains(b.target))&&c.value==="blank"||A.some(T=>{var x;return(x=T.toggleEl)==null?void 0:x.contains(b.target)})&&A.some(T=>{var x;return(x=T.menuEl)==null?void 0:x.contains(b.target)})||([...O.values()].reverse().forEach(T=>{setTimeout(()=>{var x,C;((x=T.toggleEl)==null?void 0:x.contains(b.target))||(C=T.toggle)==null||C.call(T)},0)}),s=!1)}))},0),g==="click"?P.push(N(h,"click",()=>f(!o.value)),N(m,"mouseleave",b=>{var A;p.value&&!((A=O.get(t).child)==null?void 0:A.contains(b.relatedTarget))&&v("dropdown",!0)})):g==="hover"&&P.push(N(h,"mouseenter",()=>{i=!0,f(!0)}),N(h,"mouseleave",()=>{i=!1,v("origin")}),N(m,"mouseenter",()=>{s=!0,o.value=!0}),N(m,"mouseleave",b=>{var A;s=!1,!(b.relatedTarget&&((h==null?void 0:h.contains(b.relatedTarget))||((A=O.get(t).child)==null?void 0:A.contains(b.relatedTarget))))&&v("dropdown",!0)})),y(()=>P.forEach(b=>b()))})};function G(t,o,n,r,l,a,s){const i=u=>{const c=u.offsetHeight;window.innerHeight-r.value.getBoundingClientRect().bottom>=c?a.value="bottom":a.value="top"};e.watch(o,(u,c)=>{c!==void 0&&(n.value=u,s("toggle",n.value))},{immediate:!0}),e.watch([n,l],([u,c])=>{var p;if(u){O.set(t,q(_({},O.get(t)),{menuEl:c,toggle:()=>{n.value=!1,s("toggle",n.value)}}));for(const f of O.values())((p=f.menuEl)==null?void 0:p.contains(r.value))&&(f.child=c)}c&&i(c)}),e.onMounted(()=>{O.set(t,{toggleEl:r.value})}),e.onUnmounted(()=>{O.delete(t)})}function I(t,o,n){const{showAnimation:r,overlayClass:l,destroyOnHide:a}=e.toRefs(t),s=e.ref(!1),i=e.ref(!1),u=e.computed(()=>({transformOrigin:o.value==="top"?"0% 100%":"0% 0%"})),c=e.computed(()=>({"fade-in-bottom":r.value&&n.value&&o.value==="bottom","fade-in-top":r.value&&n.value&&o.value==="top",[`${l.value}`]:!0})),p=f=>{o.value=f.includes("top")||f.includes("end")?"top":"bottom"};return e.watch(n,f=>{s.value=a.value?f:!0,i.value=f}),{overlayModelValue:s,overlayShowValue:i,styles:u,classes:c,handlePositionChange:p}}const K={modelValue:{type:Boolean,default:!1},lockScroll:{type:Boolean,default:!0},closeOnClickOverlay:{type:Boolean,default:!0}};function J(){if(document.documentElement.scrollHeight>document.documentElement.clientHeight){const t=document.documentElement.scrollTop,o=document.documentElement.getAttribute("style");return document.documentElement.style.position="fixed",document.documentElement.style.top=`-${t}px`,document.documentElement.style.width=document.documentElement.style.width||"100%",document.documentElement.style.overflowY="scroll",()=>{o?document.documentElement.setAttribute("style",o):document.documentElement.removeAttribute("style"),document.documentElement.scrollTop=t}}}function Q(t,o){let n;const r=a=>{a.preventDefault(),o.emit("click",a),t.closeOnClickOverlay&&o.emit("update:modelValue",!1)},l=()=>{n==null||n()};return e.watch(()=>t.modelValue,a=>{a?t.lockScroll&&(n=J()):l()}),e.onUnmounted(l),{onClick:r}}function S(t,o,n){let r=t;return o&&(r+=`__${o}`),n&&(r+=`--${n}`),r}function D(t,o=!1){const n=o?`.devui-${t}`:`devui-${t}`;return{b:()=>S(n),e:i=>i?S(n,i):"",m:i=>i?S(n,"",i):"",em:(i,u)=>i&&u?S(n,i,u):""}}var fe="";e.defineComponent({name:"DFixedOverlay",inheritAttrs:!1,props:K,emits:["update:modelValue","click"],setup(t,o){const{modelValue:n}=e.toRefs(t),r=D("fixed-overlay"),{onClick:l}=Q(t,o);return()=>e.createVNode(e.Transition,{name:r.m("fade")},{default:()=>{var a,s;return[n.value&&e.createVNode("div",e.mergeProps({class:r.b()},o.attrs,{onClick:l}),[(s=(a=o.slots).default)==null?void 0:s.call(a)])]}})}});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 r=window.getComputedStyle(n);if(o.test(r.overflow+r.overflowX+r.overflowY))return n}return window}function ee(t,o,n,r){let{x:l,y:a}=o;if(!t){const{width:s,height:i}=r;l&&n.includes("start")&&(l=12),l&&n.includes("end")&&(l=Math.round(s-24)),a&&n.includes("start")&&(a=10),a&&n.includes("end")&&(a=i-14)}return{x:l,y:a}}function te(t,o){const n=e.ref(),r=e.ref();let l=null;const a=(i,u,c,p)=>{const{x:f,y:v}=ee(t.isArrowCenter,c,u,p.getBoundingClientRect()),g={top:"bottom",right:"left",bottom:"top",left:"right"}[u.split("-")[0]];Object.assign(i.style,{left:f?`${f}px`:"",top:v?`${v}px`:"",right:"",bottom:"",[g]:"-4px"})},s=async()=>{const i=t.origin,u=e.unref(n.value),c=e.unref(r.value),p=[w.offset(t.offset),w.autoPlacement({alignment:t.align,allowedPlacements:t.position})];t.showArrow&&p.push(w.arrow({element:c})),t.shiftOffset!==void 0&&p.push(w.shift());const{x:f,y:v,placement:g,middlewareData:E}=await w.computePosition(i,u,{strategy:"fixed",middleware:p});let m=f,V=v;if(t.shiftOffset!==void 0){const{x:y,y:h}=E.shift;y<0&&(m-=t.shiftOffset),y>0&&(m+=t.shiftOffset),h<0&&(V-=t.shiftOffset),h>0&&(V+=t.shiftOffset)}o("positionChange",g),Object.assign(u.style,{top:`${V}px`,left:`${m}px`}),t.showArrow&&a(c,g,E.arrow,u)};return e.watch(()=>t.modelValue,()=>{t.modelValue&&t.origin?(l=Z(t.origin),e.nextTick(s),l==null||l.addEventListener("scroll",s),l!==window&&window.addEventListener("scroll",s),window.addEventListener("resize",s)):(l==null||l.removeEventListener("scroll",s),l!==window&&window.removeEventListener("scroll",s),window.removeEventListener("resize",s))}),e.onUnmounted(()=>{l==null||l.removeEventListener("scroll",s),l!==window&&window.removeEventListener("scroll",s),window.removeEventListener("resize",s)}),{arrowRef:r,overlayRef:n,updatePosition:s}}var me="";const k=e.defineComponent({name:"DFlexibleOverlay",inheritAttrs:!1,props:W,emits:["update:modelValue","positionChange"],setup(t,{slots:o,attrs:n,emit:r,expose:l}){const a=D("flexible-overlay"),{arrowRef:s,overlayRef:i,updatePosition:u}=te(t,r);return l({updatePosition:u}),()=>{var c;return t.modelValue&&e.createVNode("div",e.mergeProps({ref:i,class:a.b()},n),[(c=o.default)==null?void 0:c.call(o),t.showArrow&&e.createVNode("div",{ref:s,class:a.e("arrow")},null)])}}}),oe=t=>t!==null&&typeof t=="object",ne=D("popper-trigger");function $(t){return e.h("span",{class:ne.b()},t)}function j(t){for(const o of t){if(oe(o)){if(o.type===e.Comment)continue;return o.type==="svg"||o.type===e.Text?$(o):o.type===e.Fragment?j(o.children):o}return $(o)}return null}var le=e.defineComponent({name:"DPopperTrigger",setup(t,o){const{slots:n,attrs:r}=o;return()=>{var i;const l=(i=n.default)==null?void 0:i.call(n,r),a=e.inject(M);if(!l)return null;const s=j(l);return s?e.withDirectives(e.cloneVNode(s,r),[[{mounted(u){a.value=u},updated(u){a.value=u},unmounted(){a.value=null}}]]):null}}}),pe="";let ae=1;var B=e.defineComponent({name:"DDropdown",inheritAttrs:!1,props:Y,emits:["toggle"],setup(t,{slots:o,attrs:n,emit:r,expose:l}){const{visible:a,position:s,align:i,offset:u,destroyOnHide:c,shiftOffset:p,showAnimation:f}=e.toRefs(t),v=e.ref(),g=e.ref(),E=e.ref(),m=`dropdown_${ae++}`,V=e.ref(!1),y=e.ref("bottom"),h=D("dropdown");e.provide(M,v),X({id:m,isOpen:V,origin:v,dropdownRef:g,props:t,emit:r}),G(m,a,V,v,g,y,r);const{overlayModelValue:P,overlayShowValue:b,styles:A,classes:T,handlePositionChange:x}=I(t,y,V);return e.watch(b,C=>{e.nextTick(()=>{!c.value&&C&&E.value.updatePosition()})}),l({updatePosition:()=>E.value.updatePosition()}),()=>e.createVNode(e.Fragment,null,[e.createVNode(le,null,{default:()=>{var C;return[(C=o.default)==null?void 0:C.call(o)]}}),e.createVNode(e.Teleport,{to:"body"},{default:()=>[e.createVNode(e.Transition,{name:f.value?h.m(`fade-${y.value}`):""},{default:()=>[e.withDirectives(e.createVNode(k,{modelValue:P.value,"onUpdate:modelValue":C=>P.value=C,ref:E,origin:v.value,position:s.value,align:i.value,offset:u.value,shiftOffset:p==null?void 0:p.value,onPositionChange:x,class:T.value,style:A.value},{default:()=>{var C;return[e.createVNode("div",e.mergeProps({ref:g,class:h.e("menu-wrap")},n),[(C=o.menu)==null?void 0:C.call(o)])]}}),[[e.vShow,b.value]])]})]})])}});const L={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 R=e.defineComponent({name:"DDropdownMenu",inheritAttrs:!1,props:L,emits:["update:modelValue"],setup(t,{slots:o,attrs:n,emit:r}){const{modelValue:l,origin:a,position:s,align:i,offset:u,clickOutside:c,showAnimation:p,overlayClass:f}=e.toRefs(t),v=e.ref(null),g=D("dropdown");U.onClickOutside(v,y=>{var h,P;((h=c.value)==null?void 0:h.call(c))&&!((P=a==null?void 0:a.value)==null?void 0:P.contains(y.target))&&r("update:modelValue",!1)});const E=e.ref("bottom"),m=y=>{E.value=y.split("-")[0]==="top"?"top":"bottom"},V=e.computed(()=>({transformOrigin:E.value==="top"?"0% 100%":"0% 0%"}));return()=>e.createVNode(e.Teleport,{to:"body"},{default:()=>[e.createVNode(e.Transition,{name:p.value?g.m(`fade-${E.value}`):""},{default:()=>[e.createVNode(k,{modelValue:l.value,"onUpdate:modelValue":y=>l.value=y,origin:a==null?void 0:a.value,position:s.value,align:i.value,offset:u.value,onPositionChange:m,class:f.value,style:V.value},{default:()=>{var y;return[e.createVNode("div",e.mergeProps({ref:v,class:g.e("menu-wrap")},n),[(y=o.default)==null?void 0:y.call(o)])]}})]})]})}}),re={title:"Dropdown \u4E0B\u62C9\u83DC\u5355",category:"\u5BFC\u822A",status:"50%",install(t){t.component(B.name,B),t.component(R.name,R)}};d.Dropdown=B,d.DropdownMenu=R,d.default=re,d.dropdownMenuProps=L,Object.defineProperty(d,"__esModule",{value:!0}),d[Symbol.toStringTag]="Module"});
1
+ (function(E,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue"),require("@floating-ui/dom"),require("@vueuse/core")):typeof define=="function"&&define.amd?define(["exports","vue","@floating-ui/dom","@vueuse/core"],t):(E=typeof globalThis!="undefined"?globalThis:E||self,t(E.index={},E.Vue,E.dom,E.core))})(this,function(E,t,N,F){"use strict";const H={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}},M=Symbol("popper-trigger");function _(e){return e instanceof Element?e:e&&typeof e=="object"&&e.$el instanceof Element?e.$el:null}const C=new Map;function x(e,o,n){return e==null||e.addEventListener(o,n),()=>{e==null||e.removeEventListener(o,n)}}const q=({id:e,isOpen:o,origin:n,dropdownRef:r,props:l,emit:a})=>{let s=!1,i=!1;const{trigger:u,closeScope:c,closeOnMouseLeaveMenu:m}=t.toRefs(l),d=p=>{o.value=p,a("toggle",o.value)},y=async(p,h)=>{await new Promise(f=>setTimeout(f,50)),!(p==="origin"&&s||p==="dropdown"&&i)&&(h&&[...C.values()].reverse().forEach(f=>{setTimeout(()=>{var b;(b=f.toggle)==null||b.call(f)},0)}),d(!1))};t.watch([u,n,r],([p,h,f],b,g)=>{const w=_(h),O=[];setTimeout(()=>{O.push(x(document,"click",v=>{const P=[...C.values()];!o.value||c.value==="none"||(f==null?void 0:f.contains(v.target))&&c.value==="blank"||P.some(A=>{var T;return(T=A.toggleEl)==null?void 0:T.contains(v.target)})&&P.some(A=>{var T;return(T=A.menuEl)==null?void 0:T.contains(v.target)})||([...C.values()].reverse().forEach(A=>{setTimeout(()=>{var T,V;(T=A.toggleEl)!=null&&T.contains(v.target)||(V=A.toggle)==null||V.call(A)},0)}),s=!1)}))},0),p==="click"?O.push(x(w,"click",()=>d(!o.value)),x(f,"mouseleave",v=>{var P;m.value&&!((P=C.get(e).child)!=null&&P.contains(v.relatedTarget))&&y("dropdown",!0)})):p==="hover"&&O.push(x(w,"mouseenter",()=>{i=!0,d(!0)}),x(w,"mouseleave",()=>{i=!1,y("origin")}),x(f,"mouseenter",()=>{s=!0,o.value=!0}),x(f,"mouseleave",v=>{var P;s=!1,!(v.relatedTarget&&((w==null?void 0:w.contains(v.relatedTarget))||((P=C.get(e).child)==null?void 0:P.contains(v.relatedTarget))))&&y("dropdown",!0)})),g(()=>O.forEach(v=>v()))})};function U(e,o,n,r,l,a,s){const i=u=>{const c=u.offsetHeight;window.innerHeight-r.value.getBoundingClientRect().bottom>=c?a.value="bottom":a.value="top"};t.watch(o,(u,c)=>{c!==void 0&&(n.value=u,s("toggle",n.value))},{immediate:!0}),t.watch([n,l],([u,c])=>{var m;if(u){C.set(e,{...C.get(e),menuEl:c,toggle:()=>{n.value=!1,s("toggle",n.value)}});for(const d of C.values())(m=d.menuEl)!=null&&m.contains(r.value)&&(d.child=c)}c&&i(c)}),t.onMounted(()=>{C.set(e,{toggleEl:r.value})}),t.onUnmounted(()=>{C.delete(e)})}function Y(e,o,n){const{showAnimation:r,overlayClass:l,destroyOnHide:a}=t.toRefs(e),s=t.ref(!1),i=t.ref(!1),u=t.computed(()=>({transformOrigin:o.value==="top"?"0% 100%":"0% 0%"})),c=t.computed(()=>({"fade-in-bottom":r.value&&n.value&&o.value==="bottom","fade-in-top":r.value&&n.value&&o.value==="top",[`${l.value}`]:!0})),m=d=>{o.value=d.includes("top")||d.includes("end")?"top":"bottom"};return t.watch(n,d=>{s.value=a.value?d:!0,i.value=d}),{overlayModelValue:s,overlayShowValue:i,styles:u,classes:c,handlePositionChange:m}}const z={modelValue:{type:Boolean,default:!1},lockScroll:{type:Boolean,default:!0},closeOnClickOverlay:{type:Boolean,default:!0}};function X(){if(document.documentElement.scrollHeight>document.documentElement.clientHeight){const e=document.documentElement.scrollTop,o=document.documentElement.getAttribute("style");return document.documentElement.style.position="fixed",document.documentElement.style.top=`-${e}px`,document.documentElement.style.width=document.documentElement.style.width||"100%",document.documentElement.style.overflowY="scroll",()=>{o?document.documentElement.setAttribute("style",o):document.documentElement.removeAttribute("style"),document.documentElement.scrollTop=e}}}function G(e,o){let n;const r=a=>{a.preventDefault(),o.emit("click",a),e.closeOnClickOverlay&&o.emit("update:modelValue",!1)},l=()=>{n==null||n()};return t.watch(()=>e.modelValue,a=>{a?e.lockScroll&&(n=X()):l()}),t.onUnmounted(l),{onClick:r}}function S(e,o,n){let r=e;return o&&(r+=`__${o}`),n&&(r+=`--${n}`),r}function D(e,o=!1){const n=o?`.devui-${e}`:`devui-${e}`;return{b:()=>S(n),e:i=>i?S(n,i):"",m:i=>i?S(n,"",i):"",em:(i,u)=>i&&u?S(n,i,u):""}}var ne="";t.defineComponent({name:"DFixedOverlay",inheritAttrs:!1,props:z,emits:["update:modelValue","click"],setup(e,o){const{modelValue:n}=t.toRefs(e),r=D("fixed-overlay"),{onClick:l}=G(e,o);return()=>t.createVNode(t.Transition,{name:r.m("fade")},{default:()=>{var a,s;return[n.value&&t.createVNode("div",t.mergeProps({class:r.b()},o.attrs,{onClick:l}),[(s=(a=o.slots).default)==null?void 0:s.call(a)])]}})}});const I={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(e){const o=/(auto|scroll|hidden)/;for(let n=e;n=n.parentElement;n.parentElement!==document.body){const r=window.getComputedStyle(n);if(o.test(r.overflow+r.overflowX+r.overflowY))return n}return window}function J(e,o,n,r){let{x:l,y:a}=o;if(!e){const{width:s,height:i}=r;l&&n.includes("start")&&(l=12),l&&n.includes("end")&&(l=Math.round(s-24)),a&&n.includes("start")&&(a=10),a&&n.includes("end")&&(a=i-14)}return{x:l,y:a}}function Q(e,o){const n=t.ref(),r=t.ref();let l=null;const a=(i,u,c,m)=>{const{x:d,y}=J(e.isArrowCenter,c,u,m.getBoundingClientRect()),p={top:"bottom",right:"left",bottom:"top",left:"right"}[u.split("-")[0]];Object.assign(i.style,{left:d?`${d}px`:"",top:y?`${y}px`:"",right:"",bottom:"",[p]:"-4px"})},s=async()=>{const i=e.origin,u=t.unref(n.value),c=t.unref(r.value),m=[N.offset(e.offset),N.autoPlacement({alignment:e.align,allowedPlacements:e.position})];e.showArrow&&m.push(N.arrow({element:c})),e.shiftOffset!==void 0&&m.push(N.shift());const{x:d,y,placement:p,middlewareData:h}=await N.computePosition(i,u,{strategy:"fixed",middleware:m});let f=d,b=y;if(e.shiftOffset!==void 0){const{x:g,y:w}=h.shift;g<0&&(f-=e.shiftOffset),g>0&&(f+=e.shiftOffset),w<0&&(b-=e.shiftOffset),w>0&&(b+=e.shiftOffset)}o("positionChange",p),Object.assign(u.style,{top:`${b}px`,left:`${f}px`}),e.showArrow&&a(c,p,h.arrow,u)};return t.watch(()=>e.modelValue,()=>{e.modelValue&&e.origin?(l=K(e.origin),t.nextTick(s),l==null||l.addEventListener("scroll",s),l!==window&&window.addEventListener("scroll",s),window.addEventListener("resize",s)):(l==null||l.removeEventListener("scroll",s),l!==window&&window.removeEventListener("scroll",s),window.removeEventListener("resize",s))}),t.onUnmounted(()=>{l==null||l.removeEventListener("scroll",s),l!==window&&window.removeEventListener("scroll",s),window.removeEventListener("resize",s)}),{arrowRef:r,overlayRef:n,updatePosition:s}}var le="";const k=t.defineComponent({name:"DFlexibleOverlay",inheritAttrs:!1,props:I,emits:["update:modelValue","positionChange"],setup(e,{slots:o,attrs:n,emit:r,expose:l}){const a=D("flexible-overlay"),{arrowRef:s,overlayRef:i,updatePosition:u}=Q(e,r);return l({updatePosition:u}),()=>{var c;return e.modelValue&&t.createVNode("div",t.mergeProps({ref:i,class:a.b()},n),[(c=o.default)==null?void 0:c.call(o),e.showArrow&&t.createVNode("div",{ref:s,class:a.e("arrow")},null)])}}}),W=e=>e!==null&&typeof e=="object",Z=D("popper-trigger");function $(e){return t.h("span",{class:Z.b()},e)}function j(e){for(const o of e){if(W(o)){if(o.type===t.Comment)continue;return o.type==="svg"||o.type===t.Text?$(o):o.type===t.Fragment?j(o.children):o}return $(o)}return null}var ee=t.defineComponent({name:"DPopperTrigger",setup(e,o){const{slots:n,attrs:r}=o;return()=>{var i;const l=(i=n.default)==null?void 0:i.call(n,r),a=t.inject(M);if(!l)return null;const s=j(l);return s?t.withDirectives(t.cloneVNode(s,r),[[{mounted(u){a.value=u},updated(u){a.value=u},unmounted(){a.value=null}}]]):null}}}),ae="";let te=1;var B=t.defineComponent({name:"DDropdown",inheritAttrs:!1,props:H,emits:["toggle"],setup(e,{slots:o,attrs:n,emit:r,expose:l}){const{visible:a,position:s,align:i,offset:u,destroyOnHide:c,shiftOffset:m,showAnimation:d}=t.toRefs(e),y=t.ref(),p=t.ref(),h=t.ref(),f=`dropdown_${te++}`,b=t.ref(!1),g=t.ref("bottom"),w=D("dropdown");t.provide(M,y),q({id:f,isOpen:b,origin:y,dropdownRef:p,props:e,emit:r}),U(f,a,b,y,p,g,r);const{overlayModelValue:O,overlayShowValue:v,styles:P,classes:A,handlePositionChange:T}=Y(e,g,b);return t.watch(v,V=>{t.nextTick(()=>{!c.value&&V&&h.value.updatePosition()})}),l({updatePosition:()=>h.value.updatePosition()}),()=>t.createVNode(t.Fragment,null,[t.createVNode(ee,null,{default:()=>{var V;return[(V=o.default)==null?void 0:V.call(o)]}}),t.createVNode(t.Teleport,{to:"body"},{default:()=>[t.createVNode(t.Transition,{name:d.value?w.m(`fade-${g.value}`):""},{default:()=>[t.withDirectives(t.createVNode(k,{modelValue:O.value,"onUpdate:modelValue":V=>O.value=V,ref:h,origin:y.value,position:s.value,align:i.value,offset:u.value,shiftOffset:m==null?void 0:m.value,onPositionChange:T,class:A.value,style:P.value},{default:()=>{var V;return[t.createVNode("div",t.mergeProps({ref:p,class:w.e("menu-wrap")},n),[(V=o.menu)==null?void 0:V.call(o)])]}}),[[t.vShow,v.value]])]})]})])}});const L={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 R=t.defineComponent({name:"DDropdownMenu",inheritAttrs:!1,props:L,emits:["update:modelValue"],setup(e,{slots:o,attrs:n,emit:r}){const{modelValue:l,origin:a,position:s,align:i,offset:u,clickOutside:c,showAnimation:m,overlayClass:d}=t.toRefs(e),y=t.ref(null),p=D("dropdown");F.onClickOutside(y,g=>{var w,O;((w=c.value)==null?void 0:w.call(c))&&!((O=a==null?void 0:a.value)!=null&&O.contains(g.target))&&r("update:modelValue",!1)});const h=t.ref("bottom"),f=g=>{h.value=g.split("-")[0]==="top"?"top":"bottom"},b=t.computed(()=>({transformOrigin:h.value==="top"?"0% 100%":"0% 0%"}));return()=>t.createVNode(t.Teleport,{to:"body"},{default:()=>[t.createVNode(t.Transition,{name:m.value?p.m(`fade-${h.value}`):""},{default:()=>[t.createVNode(k,{modelValue:l.value,"onUpdate:modelValue":g=>l.value=g,origin:a==null?void 0:a.value,position:s.value,align:i.value,offset:u.value,onPositionChange:f,class:d.value,style:b.value},{default:()=>{var g;return[t.createVNode("div",t.mergeProps({ref:y,class:p.e("menu-wrap")},n),[(g=o.default)==null?void 0:g.call(o)])]}})]})]})}}),oe={title:"Dropdown \u4E0B\u62C9\u83DC\u5355",category:"\u5BFC\u822A",status:"50%",install(e){e.component(B.name,B),e.component(R.name,R)}};E.Dropdown=B,E.DropdownMenu=R,E.default=oe,E.dropdownMenuProps=L,Object.defineProperties(E,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
@@ -1,37 +1,22 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
- var __hasOwnProp = Object.prototype.hasOwnProperty;
4
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
- var __spreadValues = (a, b) => {
7
- for (var prop in b || (b = {}))
8
- if (__hasOwnProp.call(b, prop))
9
- __defNormalProp(a, prop, b[prop]);
10
- if (__getOwnPropSymbols)
11
- for (var prop of __getOwnPropSymbols(b)) {
12
- if (__propIsEnum.call(b, prop))
13
- __defNormalProp(a, prop, b[prop]);
14
- }
15
- return a;
16
- };
17
- var __publicField = (obj, key, value) => {
18
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
19
- return value;
20
- };
21
- import { defineComponent, ref, createVNode, h, render, computed, nextTick, unref, watch, onUnmounted, mergeProps, reactive, getCurrentInstance, withDirectives, withModifiers, resolveComponent, Teleport, Transition, vShow, resolveDirective } from "vue";
1
+ import { defineComponent, ref, createVNode, h, render, computed, nextTick, watch, onUnmounted, unref, mergeProps, reactive, getCurrentInstance, withDirectives, withModifiers, resolveComponent, Teleport, Transition, vShow, resolveDirective } from "vue";
22
2
  import { offset, autoPlacement, arrow, shift, computePosition } from "@floating-ui/dom";
23
3
  const editableSelectProps = {
4
+ modelValue: {
5
+ type: String,
6
+ default: ""
7
+ },
24
8
  options: {
25
9
  type: Array,
26
10
  default: () => []
27
11
  },
28
- disabled: {
29
- type: Boolean
12
+ allowClear: {
13
+ type: Boolean,
14
+ default: false
30
15
  },
31
- loading: {
16
+ disabled: {
32
17
  type: Boolean
33
18
  },
34
- optionDisabledKey: {
19
+ disabledKey: {
35
20
  type: String,
36
21
  default: ""
37
22
  },
@@ -39,16 +24,22 @@ const editableSelectProps = {
39
24
  type: String,
40
25
  default: "Search"
41
26
  },
42
- modelValue: {
43
- type: String,
44
- default: ""
45
- },
46
27
  width: {
47
28
  type: Number
48
29
  },
49
30
  maxHeight: {
50
31
  type: Number
51
32
  },
33
+ loading: {
34
+ type: Boolean
35
+ },
36
+ enableLazyLoad: {
37
+ type: Boolean,
38
+ default: false
39
+ },
40
+ searchFn: {
41
+ type: Function
42
+ },
52
43
  filterOption: {
53
44
  type: [Function, Boolean]
54
45
  }
@@ -110,8 +101,8 @@ const clickoutsideDirective = {
110
101
  };
111
102
  class View {
112
103
  constructor() {
113
- __publicField(this, "top", "50%");
114
- __publicField(this, "left", "50%");
104
+ this.top = "50%";
105
+ this.left = "50%";
115
106
  }
116
107
  }
117
108
  const loadingProps = {
@@ -129,13 +120,9 @@ const loadingProps = {
129
120
  };
130
121
  class LoadingOptions {
131
122
  constructor() {
132
- __publicField(this, "target");
133
- __publicField(this, "message");
134
- __publicField(this, "loadingTemplateRef");
135
- __publicField(this, "backdrop", true);
136
- __publicField(this, "positionType", "relative");
137
- __publicField(this, "view", new View());
138
- __publicField(this, "zIndex");
123
+ this.backdrop = true;
124
+ this.positionType = "relative";
125
+ this.view = new View();
139
126
  }
140
127
  }
141
128
  function createBem(namespace, element, modifier) {
@@ -226,7 +213,7 @@ var Loading = defineComponent({
226
213
  });
227
214
  const COMPONENT_CONTAINER_SYMBOL = Symbol("dev_component_container");
228
215
  function createComponent(component, props, children = null) {
229
- const vnode = h(component, __spreadValues({}, props), children);
216
+ const vnode = h(component, { ...props }, children);
230
217
  const container = document.createElement("div");
231
218
  vnode[COMPONENT_CONTAINER_SYMBOL] = container;
232
219
  render(vnode, container);
@@ -313,9 +300,12 @@ const removeAttribute = (el) => {
313
300
  };
314
301
  const handleProps = (el, vprops) => {
315
302
  var _a;
316
- const props = __spreadValues(__spreadValues({}, new LoadingOptions()), vprops);
303
+ const props = {
304
+ ...new LoadingOptions(),
305
+ ...vprops
306
+ };
317
307
  const loadingTemplateRef = props.loadingTemplateRef;
318
- const loadingInstance = createComponent(loadingConstructor, __spreadValues({}, props), loadingTemplateRef ? () => loadingTemplateRef : null);
308
+ const loadingInstance = createComponent(loadingConstructor, { ...props }, loadingTemplateRef ? () => loadingTemplateRef : null);
319
309
  el.style.position = props.positionType;
320
310
  el.options = props;
321
311
  el.instance = loadingInstance;
@@ -346,21 +336,39 @@ function className(classStr, classOpt) {
346
336
  return classname;
347
337
  }
348
338
  var editableSelect = "";
349
- const getFilterFunc = () => (val, option) => option.label.toLocaleLowerCase().indexOf(val.toLocaleLowerCase()) > -1;
350
- const userFilterOptions = (normalizeOptions, inputValue, filterOption) => computed(() => {
351
- const filteredOptions = [];
352
- if (!inputValue.value || filterOption === false) {
353
- return normalizeOptions.value;
354
- }
355
- const filterFunc = typeof filterOption === "function" ? filterOption : getFilterFunc();
356
- normalizeOptions.value.forEach((option) => {
357
- if (filterFunc(inputValue.value, option)) {
358
- filteredOptions.push(option);
339
+ function useSelect(props) {
340
+ const normalizeOptions = computed(() => {
341
+ return props.options.map((option) => {
342
+ let res;
343
+ if (option !== "null" && typeof option === "object") {
344
+ res = {
345
+ ...option,
346
+ label: option.label || "",
347
+ value: option.value !== void 0 ? option.value : option.label || ""
348
+ };
349
+ } else {
350
+ res = {
351
+ label: String(option),
352
+ value: option
353
+ };
354
+ }
355
+ return res;
356
+ });
357
+ });
358
+ return { normalizeOptions };
359
+ }
360
+ function useFilterOptions(enableLazyLoad, normalizeOptions, inputValue, searchFn) {
361
+ const filteredOptions = computed(() => {
362
+ if (!inputValue.value || enableLazyLoad) {
363
+ return normalizeOptions.value;
359
364
  }
365
+ return normalizeOptions.value.filter((option) => {
366
+ return searchFn(option, inputValue.value);
367
+ });
360
368
  });
361
- return filteredOptions;
362
- });
363
- const useInput = (inputValue, ctx2) => {
369
+ return { filteredOptions };
370
+ }
371
+ function useInput(inputValue, ctx2) {
364
372
  const onInputChange = (value) => {
365
373
  ctx2.emit("search", value);
366
374
  };
@@ -372,20 +380,20 @@ const useInput = (inputValue, ctx2) => {
372
380
  return {
373
381
  handleInput
374
382
  };
375
- };
376
- const useLazyLoad = (dropdownRef, inputValue, filterOtion, ctx2) => {
383
+ }
384
+ function useLazyLoad(dropdownRef, enableLazyLoad, ctx2) {
377
385
  const loadMore = () => {
378
386
  const dropdownVal = dropdownRef.value;
379
- if (filterOtion !== false) {
387
+ if (!enableLazyLoad) {
380
388
  return;
381
389
  }
382
390
  if (dropdownVal.clientHeight + dropdownVal.scrollTop >= dropdownVal.scrollHeight) {
383
- ctx2.emit("loadMore", inputValue.value);
391
+ ctx2.emit("loadMore");
384
392
  }
385
393
  };
386
394
  return { loadMore };
387
- };
388
- const useKeyboardSelect = (dropdownRef, visible, inputValue, cacheInput, filteredOptions, optionDisabledKey, filterOption, loading2, handleClick, closeMenu, toggleMenu) => {
395
+ }
396
+ function useKeyboardSelect(dropdownRef, visible, inputValue, cacheInput, filteredOptions, optionDisabledKey, filterOption, loading2, handleClick, closeMenu, toggleMenu) {
389
397
  const hoverIndex = ref(0);
390
398
  const selectedIndex = ref(0);
391
399
  const updateHoveringIndex = (index2) => {
@@ -464,7 +472,7 @@ const useKeyboardSelect = (dropdownRef, visible, inputValue, cacheInput, filtere
464
472
  }
465
473
  };
466
474
  return { handleKeydown, hoverIndex, selectedIndex };
467
- };
475
+ }
468
476
  const flexibleOverlayProps = {
469
477
  modelValue: {
470
478
  type: Boolean,
@@ -630,7 +638,7 @@ const FlexibleOverlay = defineComponent({
630
638
  };
631
639
  }
632
640
  });
633
- const useCacheFilteredOptions = (filteredOptions) => {
641
+ function useCacheFilteredOptions(filteredOptions) {
634
642
  const cacheFilteredOptions = computed(() => {
635
643
  const map = /* @__PURE__ */ new Map();
636
644
  filteredOptions.value.forEach((item) => {
@@ -642,7 +650,7 @@ const useCacheFilteredOptions = (filteredOptions) => {
642
650
  return {
643
651
  getOptionValue
644
652
  };
645
- };
653
+ }
646
654
  function deepAssign(...objects) {
647
655
  const isObject = (obj) => obj && typeof obj === "object";
648
656
  return objects.reduce((prev, from) => {
@@ -823,7 +831,6 @@ var EditableSelect = defineComponent({
823
831
  const app = getCurrentInstance();
824
832
  const t = createI18nTranslate("DEditableSelect", app);
825
833
  const ns = useNamespace("editable-select");
826
- const dropdownNS = useNamespace("editable-select-dropdown");
827
834
  const dropdownRef = ref();
828
835
  const origin = ref();
829
836
  const position = ref(["bottom"]);
@@ -831,30 +838,22 @@ var EditableSelect = defineComponent({
831
838
  const inputValue = ref(props.modelValue);
832
839
  const cacheInput = ref();
833
840
  const loading2 = ref(props.loading);
834
- const normalizeOptions = computed(() => {
835
- return props.options.map((option) => {
836
- if (typeof option === "object") {
837
- return Object.assign({}, option, {
838
- label: option.label ? option.label : option.value,
839
- value: option.value
840
- });
841
- }
842
- return {
843
- label: option + "",
844
- value: option
845
- };
846
- });
847
- });
848
- const filteredOptions = userFilterOptions(normalizeOptions, inputValue, props.filterOption);
841
+ const {
842
+ normalizeOptions
843
+ } = useSelect(props);
844
+ const searchFn = props.searchFn || ((option, term) => option.label.toLocaleLowerCase().includes(term.trim().toLocaleLowerCase()));
845
+ const {
846
+ filteredOptions
847
+ } = useFilterOptions(props.enableLazyLoad, normalizeOptions, inputValue, searchFn);
849
848
  const {
850
849
  getOptionValue
851
850
  } = useCacheFilteredOptions(filteredOptions);
852
851
  const emptyText = computed(() => {
853
- let text = "";
854
- if (props.filterOption !== false && !filteredOptions.value.length) {
855
- text = t("noRelatedRecords");
856
- } else if (props.filterOption === false && !filteredOptions.value.length) {
852
+ let text;
853
+ if (props.enableLazyLoad) {
857
854
  text = t("noData");
855
+ } else {
856
+ text = t("noRelatedRecords");
858
857
  }
859
858
  return text;
860
859
  });
@@ -869,13 +868,13 @@ var EditableSelect = defineComponent({
869
868
  };
870
869
  const {
871
870
  loadMore
872
- } = useLazyLoad(dropdownRef, inputValue, props.filterOption, ctx2);
871
+ } = useLazyLoad(dropdownRef, props.enableLazyLoad, ctx2);
873
872
  const {
874
873
  handleInput
875
874
  } = useInput(inputValue, ctx2);
876
875
  const handleClick = (option, index2, curSelectedIndex) => {
877
876
  const {
878
- optionDisabledKey: disabledKey
877
+ disabledKey
879
878
  } = props;
880
879
  if (disabledKey && !!option[disabledKey]) {
881
880
  return;
@@ -887,26 +886,29 @@ var EditableSelect = defineComponent({
887
886
  ctx2.emit("update:modelValue", value + "");
888
887
  closeMenu();
889
888
  };
889
+ const handleClear = () => {
890
+ inputValue.value = "";
891
+ };
890
892
  const {
891
893
  handleKeydown,
892
894
  hoverIndex,
893
895
  selectedIndex
894
- } = useKeyboardSelect(dropdownRef, visible, inputValue, cacheInput, filteredOptions, props.optionDisabledKey, props.filterOption, loading2, (option, index2) => handleClick(option, index2, selectedIndex), closeMenu, toggleMenu);
896
+ } = useKeyboardSelect(dropdownRef, visible, inputValue, cacheInput, filteredOptions, props.disabledKey, props.filterOption, loading2, (option, index2) => handleClick(option, index2, selectedIndex), closeMenu, toggleMenu);
895
897
  const getItemCls = (option, index2) => {
896
898
  const {
897
- optionDisabledKey: disabledKey
899
+ disabledKey
898
900
  } = props;
899
- return className(`${dropdownNS.e("item")}`, {
901
+ return className(`devui-dropdown-item`, {
900
902
  disabled: disabledKey ? !!option[disabledKey] : false,
901
903
  selected: index2 === selectedIndex.value,
902
- [`${dropdownNS.m("bg")}`]: index2 === hoverIndex.value
904
+ [`${ns.em("dropdown", "bg")}`]: index2 === hoverIndex.value
903
905
  });
904
906
  };
905
907
  return () => {
906
- const selectCls = className(`${ns.b()} devui-form-group devui-has-feedback`, {
908
+ const selectCls = className(`${ns.b()} devui-form-group devui-has-feedback ${inputValue.value && props.allowClear && "allow-clear"}`, {
907
909
  [`${ns.m("open")}`]: visible.value === true
908
910
  });
909
- const inputCls = className(`${ns.e("input")} devui-dropdown-origin devui-form-control`, {
911
+ const inputCls = className(`devui-form-control devui-dropdown-origin`, {
910
912
  "devui-dropdown-origin-open": visible.value === true
911
913
  });
912
914
  return withDirectives(createVNode("div", {
@@ -927,6 +929,11 @@ var EditableSelect = defineComponent({
927
929
  }, null), createVNode("span", {
928
930
  "class": "devui-form-control-feedback"
929
931
  }, [createVNode("span", {
932
+ "class": "devui-select-clear-icon",
933
+ "onClick": handleClear
934
+ }, [createVNode(resolveComponent("d-icon"), {
935
+ "name": "icon-remove"
936
+ }, null)]), createVNode("span", {
930
937
  "class": "devui-select-chevron-icon"
931
938
  }, [createVNode(resolveComponent("d-icon"), {
932
939
  "name": "select-arrow"
@@ -946,12 +953,12 @@ var EditableSelect = defineComponent({
946
953
  "style": {
947
954
  width: props.width + "px"
948
955
  },
949
- "class": `${dropdownNS.b()}`
956
+ "class": `${ns.e("menu")}`
950
957
  }, [withDirectives(createVNode("div", {
951
- "class": `${dropdownNS.e("wrap")}`
958
+ "class": `devui-dropdown-menu`
952
959
  }, [createVNode("ul", {
953
960
  "ref": dropdownRef,
954
- "class": `${dropdownNS.e("list")}`,
961
+ "class": `${ns.em("list", "unstyled")} devui-scrollbar scroll-height`,
955
962
  "style": {
956
963
  maxHeight: props.maxHeight + "px"
957
964
  },
@@ -964,11 +971,9 @@ var EditableSelect = defineComponent({
964
971
  handleClick(option, index2, selectedIndex);
965
972
  }
966
973
  }, [ctx2.slots.item ? ctx2.slots.item(option) : option.label]);
967
- }), withDirectives(createVNode("li", {
968
- "class": `${dropdownNS.e("empty")}`
969
- }, [createVNode("div", {
970
- "class": `${dropdownNS.em("empty", "tip")}`
971
- }, [ctx2.slots.noResultItem ? ctx2.slots.noResultItem() : emptyText.value])]), [[vShow, !filteredOptions.value.length]])])]), [[resolveDirective("dLoading"), props.loading], [vShow, visible.value]])])]
974
+ }), withDirectives(createVNode("div", {
975
+ "class": "devui-no-data-tip"
976
+ }, [ctx2.slots.noResultItem ? ctx2.slots.noResultItem(inputValue.value) : emptyText.value]), [[vShow, !filteredOptions.value.length]])])]), [[vShow, visible.value], [resolveDirective("d-loading"), props.loading]])])]
972
977
  })]
973
978
  })]
974
979
  })]), [[resolveDirective("click-outside"), closeMenu]]);
@@ -1 +1 @@
1
- var Le=Object.defineProperty;var re=Object.getOwnPropertySymbols;var Me=Object.prototype.hasOwnProperty,Pe=Object.prototype.propertyIsEnumerable;var Y=(c,n,f)=>n in c?Le(c,n,{enumerable:!0,configurable:!0,writable:!0,value:f}):c[n]=f,T=(c,n)=>{for(var f in n||(n={}))Me.call(n,f)&&Y(c,f,n[f]);if(re)for(var f of re(n))Pe.call(n,f)&&Y(c,f,n[f]);return c};var b=(c,n,f)=>(Y(c,typeof n!="symbol"?n+"":n,f),f);(function(c,n){typeof exports=="object"&&typeof module!="undefined"?n(exports,require("vue"),require("@floating-ui/dom")):typeof define=="function"&&define.amd?define(["exports","vue","@floating-ui/dom"],n):(c=typeof globalThis!="undefined"?globalThis:c||self,n(c.index={},c.Vue,c.dom))})(this,function(c,n,f){"use strict";const q={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]}},se=typeof window!="undefined";function X(e,t,o){document.addEventListener?e&&t&&o&&e.addEventListener(t,o,!1):e&&t&&o&&e.attachEvent("on"+t,o)}const A=Symbol("@@clickoutside"),$=new Map;let W,R=0,G=!0;function J(e,t,o){return se&&G&&(G=!1,X(document,"mousedown",a=>{W=a}),X(document,"mouseup",a=>{for(const[u,l]of $)l[A].documentHandler(a,W)})),function(a,u){!o||!t.instance||!a.target||!u.target||e.contains(a.target)||e.contains(u.target)||e===a.target||e[A].bindingFn&&e[A].bindingFn()}}const ie={beforeMount:function(e,t,o){R++,$.set(R,e),e[A]={nid:R,documentHandler:J(e,t,o),bindingFn:t.value}},updated:function(e,t,o){e[A].documentHandler=J(e,t,o),e[A].bindingFn=t.value},unmounted:function(e){$.delete(e[A].nid),delete e[A]}};class Q{constructor(){b(this,"top","50%");b(this,"left","50%")}}const ce={message:String,backdrop:Boolean,view:{type:Object,default:()=>new Q},zIndex:Number,isFull:{type:Boolean,default:!1}};class de{constructor(){b(this,"target");b(this,"message");b(this,"loadingTemplateRef");b(this,"backdrop",!0);b(this,"positionType","relative");b(this,"view",new Q);b(this,"zIndex")}}function k(e,t,o){let a=e;return t&&(a+=`__${t}`),o&&(a+=`--${o}`),a}function L(e,t=!1){const o=t?`.devui-${e}`:`devui-${e}`;return{b:()=>k(o),e:s=>s?k(o,s):"",m:s=>s?k(o,"",s):"",em:(s,g)=>s&&g?k(o,s,g):""}}var $e="",fe=n.defineComponent({name:"DLoading",inheritAttrs:!1,props:ce,setup(e){const t={top:e.view.top,left:e.view.left,zIndex:e.zIndex};e.message||(t.background="none");const o=n.ref(!1);return{style:t,isShow:o,open:()=>{o.value=!0},close:()=>{o.value=!1}}},render(){var s;const{isShow:e,isFull:t,backdrop:o,style:a,message:u,$slots:l}=this,r=L("loading");return e&&n.createVNode("div",{class:[r.b(),t?r.m("full"):""]},[((s=l.default)==null?void 0:s.call(l))||n.createVNode("div",{class:r.e("wrapper")},[o?n.createVNode("div",{class:r.e("mask")},null):null,n.createVNode("div",{style:a,class:r.e("area")},[n.createVNode("div",{class:r.e("busy-default-spinner")},[n.createVNode("div",{class:r.e("bar1")},null),n.createVNode("div",{class:r.e("bar2")},null),n.createVNode("div",{class:r.e("bar3")},null),n.createVNode("div",{class:r.e("bar4")},null)]),u?n.createVNode("span",{class:r.e("text")},[u]):null])])])}});const Z=Symbol("dev_component_container");function me(e,t,o=null){const a=n.h(e,T({},t),o),u=document.createElement("div");return a[Z]=u,n.render(a,u),a.component}function pe(e){n.render(null,e==null?void 0:e.vnode[Z])}const ge=n.defineComponent(fe),S=new WeakSet,j=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},ee=e=>Object.prototype.toString.call(e).slice(8,-1).toLowerCase(),he=e=>{switch(ee(e)){case"promise":return[e];case"array":return e.some(o=>ee(o)!=="promise")?(console.error(new TypeError("Binding values should all be of type Promise")),"error"):e;default:return!1}},te=e=>{S.delete(e),e.instance.proxy.close(),pe(e.instance)},ne=(e,t)=>{var o,a,u;if(t.value){const l=he(t.value);if(l==="error")return;(u=(a=(o=e==null?void 0:e.instance)==null?void 0:o.proxy)==null?void 0:a.open)==null||u.call(a),e.appendChild(e.mask),S.add(e),l&&Promise.all(l).catch(r=>{console.error(new Error("Promise handling errors"),r)}).finally(()=>{te(e)})}else te(e)},oe=e=>{e.removeAttribute("zindex"),e.removeAttribute("positiontype"),e.removeAttribute("backdrop"),e.removeAttribute("message"),e.removeAttribute("view"),e.removeAttribute("loadingtemplateref")},ue=(e,t)=>{var l;const o=T(T({},new de),t),a=o.loadingTemplateRef,u=me(ge,T({},o),a?()=>a:null);e.style.position=o.positionType,e.options=o,e.instance=u,e.mask=(l=u==null?void 0:u.proxy)==null?void 0:l.$el},Ee={mounted:function(e,t,o){ue(e,o.props),oe(e),!j(t.value)&&ne(e,t)},updated:function(e,t,o){!j(t.value)&&S.has(e)||j(t.value)&&!S.has(e)||(!S.has(e)&&ue(e,o.props),oe(e),ne(e,t))}};function z(e,t){let o=e;return typeof t=="object"&&Object.keys(t).forEach(a=>{t[a]&&(o+=` ${a}`)}),o}var Re="";const we=()=>(e,t)=>t.label.toLocaleLowerCase().indexOf(e.toLocaleLowerCase())>-1,ye=(e,t,o)=>n.computed(()=>{const a=[];if(!t.value||o===!1)return e.value;const u=typeof o=="function"?o:we();return e.value.forEach(l=>{u(t.value,l)&&a.push(l)}),a}),Fe=(e,t)=>{const o=u=>{t.emit("search",u)};return{handleInput:u=>{const l=u.target.value;e.value=l,o(l)}}},be=(e,t,o,a)=>({loadMore:()=>{const l=e.value;o===!1&&l.clientHeight+l.scrollTop>=l.scrollHeight&&a.emit("loadMore",t.value)}}),ve=(e,t,o,a,u,l,r,s,g,d,h)=>{const E=n.ref(0),v=n.ref(0),B=p=>{E.value=p},y=p=>{const w=e.value,m=w.children[p];n.nextTick(()=>{if(m.scrollIntoViewIfNeeded)m.scrollIntoViewIfNeeded(!1);else{const O=w.getBoundingClientRect(),P=m.getBoundingClientRect();(P.bottom>O.bottom||P.top<O.top)&&m.scrollIntoView(!1)}})},x=()=>{o.value=a.value,d()},V=()=>{const p=u.value.length;return!t.value||!p?h():(p&&p===1?g(u.value[0],1):g(u.value[E.value],E.value),d())},D=p=>{const w=u.value.length;if(!w||w===1||!["ArrowDown","ArrowUp"].includes(p)||r===!1&&s.value)return;let m=0;if(m=E.value,p==="ArrowUp"?(m-=1,m===-1&&(m=w-1)):p==="ArrowDown"&&(m+=1,m===w&&(m=0)),E.value=m,u.value[m][l])return D(p);B(m),y(m)};return{handleKeydown:p=>{const w=p.key||p.code;switch(w){case"Escape":x();break;case"Enter":V();break;default:D(w)}},hoverIndex:E,selectedIndex:v}},Ae={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 Be(e){const t=/(auto|scroll|hidden)/;for(let o=e;o=o.parentElement;o.parentElement!==document.body){const a=window.getComputedStyle(o);if(t.test(a.overflow+a.overflowX+a.overflowY))return o}return window}function De(e,t,o,a){let{x:u,y:l}=t;if(!e){const{width:r,height:s}=a;u&&o.includes("start")&&(u=12),u&&o.includes("end")&&(u=Math.round(r-24)),l&&o.includes("start")&&(l=10),l&&o.includes("end")&&(l=s-14)}return{x:u,y:l}}function Ce(e,t){const o=n.ref(),a=n.ref();let u=null;const l=(s,g,d,h)=>{const{x:E,y:v}=De(e.isArrowCenter,d,g,h.getBoundingClientRect()),B={top:"bottom",right:"left",bottom:"top",left:"right"}[g.split("-")[0]];Object.assign(s.style,{left:E?`${E}px`:"",top:v?`${v}px`:"",right:"",bottom:"",[B]:"-4px"})},r=async()=>{const s=e.origin,g=n.unref(o.value),d=n.unref(a.value),h=[f.offset(e.offset),f.autoPlacement({alignment:e.align,allowedPlacements:e.position})];e.showArrow&&h.push(f.arrow({element:d})),e.shiftOffset!==void 0&&h.push(f.shift());const{x:E,y:v,placement:B,middlewareData:y}=await f.computePosition(s,g,{strategy:"fixed",middleware:h});let x=E,V=v;if(e.shiftOffset!==void 0){const{x:D,y:N}=y.shift;D<0&&(x-=e.shiftOffset),D>0&&(x+=e.shiftOffset),N<0&&(V-=e.shiftOffset),N>0&&(V+=e.shiftOffset)}t("positionChange",B),Object.assign(g.style,{top:`${V}px`,left:`${x}px`}),e.showArrow&&l(d,B,y.arrow,g)};return n.watch(()=>e.modelValue,()=>{e.modelValue&&e.origin?(u=Be(e.origin),n.nextTick(r),u==null||u.addEventListener("scroll",r),u!==window&&window.addEventListener("scroll",r),window.addEventListener("resize",r)):(u==null||u.removeEventListener("scroll",r),u!==window&&window.removeEventListener("scroll",r),window.removeEventListener("resize",r))}),n.onUnmounted(()=>{u==null||u.removeEventListener("scroll",r),u!==window&&window.removeEventListener("scroll",r),window.removeEventListener("resize",r)}),{arrowRef:a,overlayRef:o,updatePosition:r}}var je="";const xe=n.defineComponent({name:"DFlexibleOverlay",inheritAttrs:!1,props:Ae,emits:["update:modelValue","positionChange"],setup(e,{slots:t,attrs:o,emit:a,expose:u}){const l=L("flexible-overlay"),{arrowRef:r,overlayRef:s,updatePosition:g}=Ce(e,a);return u({updatePosition:g}),()=>{var d;return e.modelValue&&n.createVNode("div",n.mergeProps({ref:s,class:l.b()},o),[(d=t.default)==null?void 0:d.call(t),e.showArrow&&n.createVNode("div",{ref:r,class:l.e("arrow")},null)])}}}),Ve=e=>{const t=n.computed(()=>{const a=new Map;return e.value.forEach(u=>{a.set(u,u.value)}),a});return{getOptionValue:a=>t.value.get(a)}};function ae(...e){const t=o=>o&&typeof o=="object";return e.reduce((o,a)=>(Object.keys(a).forEach(u=>{const l=o[u],r=a[u];Array.isArray(l)&&Array.isArray(r)?o[u]=Array.from(new Set([...r,...l])):t(l)&&t(r)?o[u]=ae(l,r):o[u]=r}),o),{})}var Ne={pagination:{totalItemText:"\u6240\u6709\u6761\u76EE",goToText:"\u8DF3\u81F3"},accordion:{loading:"\u52A0\u8F7D\u4E2D",noData:"\u6CA1\u6709\u6570\u636E"},autoCompleteDropdown:{latestInput:"\u6700\u8FD1\u8F93\u5165"},cascaderList:{noData:"\u6CA1\u6709\u6570\u636E"},colorPicker:{foundationPanel:"\u57FA\u7840\u9762\u677F",advancedPanel:"\u9AD8\u7EA7\u9762\u677F"},datePickerPro:{ok:"\u786E\u5B9A",placeholder:"\u8BF7\u9009\u62E9\u65E5\u671F",month1:"1\u6708",month2:"2\u6708",month3:"3\u6708",month4:"4\u6708",month5:"5\u6708",month6:"6\u6708",month7:"7\u6708",month8:"8\u6708",month9:"9\u6708",month10:"10\u6708",month11:"11\u6708",month12:"12\u6708",year:"\u5E74",startPlaceholder:"\u8BF7\u9009\u62E9\u5F00\u59CB\u65E5\u671F",endPlaceholder:"\u8BF7\u9009\u62E9\u7ED3\u675F\u65E5\u671F",getWeekDays(){return["\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"]},getTimeArr(){return["\u65F6","\u5206","\u79D2"]},getYearMonthStr(e,t){return`${e}\u5E74${t}\u6708`}},editableSelect:{noRelatedRecords:"\u627E\u4E0D\u5230\u76F8\u5173\u8BB0\u5F55",noData:"\u6CA1\u6709\u6570\u636E"},input:{placeholder:"\u8BF7\u8F93\u5165"},splitterBar:{collapse:"\u6536\u8D77",expand:"\u5C55\u5F00"},stepsGuide:{previous:"\u4E0A\u4E00\u6B65",continue:"\u6211\u77E5\u9053\u5566\uFF0C\u7EE7\u7EED",ok:"\u6211\u77E5\u9053\u5566"},table:{selectAll:"\u5168\u9009",ok:"\u786E\u5B9A"},timePopup:{ok:"\u786E\u5B9A"},transfer:{unit:"\u9879",panelUnit:"\u9879",headerUnit:"\u9879",noData:"\u6682\u65E0\u6570\u636E",placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22"},tree:{loading:"\u52A0\u8F7D\u4E2D",newNode:"\u65B0\u8282\u70B9",selectPlaceholder:"\u8BF7\u9009\u62E9"},upload:{placeholder:"\u9009\u62E9\u6587\u4EF6",getExistSameNameFilesMsg(e){return`\u60A8\u4E0A\u4F20\u7684 "${e}" \u5B58\u5728\u91CD\u540D\u6587\u4EF6, \u8BF7\u91CD\u65B0\u9009\u62E9\u6587\u4EF6`},getAllFilesBeyondMaximalFileSizeMsg(e){return`\u6700\u5927\u652F\u6301\u4E0A\u4F20${e}MB\u7684\u6587\u4EF6, \u60A8\u672C\u6B21\u4E0A\u4F20\u7684\u6240\u6709\u6587\u4EF6\u8D85\u8FC7\u53EF\u4E0A\u4F20\u6587\u4EF6\u5927\u5C0F`},getBeyondMaximalFileSizeMsg(e,t){return`\u6700\u5927\u652F\u6301\u4E0A\u4F20${t}MB\u7684\u6587\u4EF6, \u60A8\u4E0A\u4F20\u7684\u6587\u4EF6"${e}"\u8D85\u8FC7\u53EF\u4E0A\u4F20\u6587\u4EF6\u5927\u5C0F`},getNotAllowedFileTypeMsg(e,t){return`\u652F\u6301\u7684\u6587\u4EF6\u7C7B\u578B: "${t}", \u60A8\u4E0A\u4F20\u7684\u6587\u4EF6"${e}"\u4E0D\u5728\u5141\u8BB8\u8303\u56F4\u5185\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u6587\u4EF6`}},search:{placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u5B57"},select:{placeholder:"\u8BF7\u9009\u62E9",noDataText:"\u65E0\u6570\u636E",noMatchText:"\u627E\u4E0D\u5230\u76F8\u5173\u8BB0\u5F55",loadingText:"\u52A0\u8F7D\u4E2D..."},tagInput:{maxTagsText:"\u5DF2\u8FBE\u5230\u6700\u5927\u4E2A\u6570\uFF1A"},timeSelect:{placeholder:"\u8BF7\u9009\u62E9\u65F6\u95F4"}};const M=n.ref("zh-CN");let K=n.reactive({[M.value]:Ne});const Se={messages(){return K[M.value]},lang(){return M.value},use(e,t){M.value=e,this.add({[e]:t})},add(e={}){K=ae(K,e)}},Oe=e=>e.substring(1).replace(/^\S/,t=>t.toLocaleLowerCase());function le(e,t){const o=t.split(".");let a=e;return o.forEach(u=>{var l;a=(l=a[u])!=null?l:""}),a}function Ie(e,t,o){const a=o||Oe(e)+".";return u=>{var s;const l=((s=t==null?void 0:t.appContext.config.globalProperties.langMessages)==null?void 0:s.value)||Se.messages();return le(l,a+u)||le(l,u)}}var H=n.defineComponent({name:"DEditableSelect",directives:{clickOutside:ie,dLoading:Ee},props:q,emits:["update:modelValue","search","loadMore"],setup(e,t){const o=n.getCurrentInstance(),a=Ie("DEditableSelect",o),u=L("editable-select"),l=L("editable-select-dropdown"),r=n.ref(),s=n.ref(),g=n.ref(["bottom"]),d=n.ref(!1),h=n.ref(e.modelValue),E=n.ref(),v=n.ref(e.loading),B=n.computed(()=>e.options.map(i=>typeof i=="object"?Object.assign({},i,{label:i.label?i.label:i.value,value:i.value}):{label:i+"",value:i})),y=ye(B,h,e.filterOption),{getOptionValue:x}=Ve(y),V=n.computed(()=>{let i="";return e.filterOption!==!1&&!y.value.length?i=a("noRelatedRecords"):e.filterOption===!1&&!y.value.length&&(i=a("noData")),i});n.watch(()=>e.loading,i=>{v.value=i});const D=()=>{d.value=!d.value},N=()=>{d.value=!1},{loadMore:p}=be(r,h,e.filterOption,t),{handleInput:w}=Fe(h,t),m=(i,C,F)=>{const{optionDisabledKey:I}=e;if(I&&!!i[I])return;h.value=i.label,E.value=i.label,F.value=C;const U=x(i);t.emit("update:modelValue",U+""),N()},{handleKeydown:O,hoverIndex:P,selectedIndex:_}=ve(r,d,h,E,y,e.optionDisabledKey,e.filterOption,v,(i,C)=>m(i,C,_),N,D),ke=(i,C)=>{const{optionDisabledKey:F}=e;return z(`${l.e("item")}`,{disabled:F?!!i[F]:!1,selected:C===_.value,[`${l.m("bg")}`]:C===P.value})};return()=>{const i=z(`${u.b()} devui-form-group devui-has-feedback`,{[`${u.m("open")}`]:d.value===!0}),C=z(`${u.e("input")} devui-dropdown-origin devui-form-control`,{"devui-dropdown-origin-open":d.value===!0});return n.withDirectives(n.createVNode("div",{class:i,ref:s,style:{width:e.width+"px"}},[n.createVNode("input",{class:C,onClick:n.withModifiers(D,["self"]),onInput:w,onKeydown:O,value:h.value,disabled:e.disabled,placeholder:e.placeholder,type:"text"},null),n.createVNode("span",{class:"devui-form-control-feedback"},[n.createVNode("span",{class:"devui-select-chevron-icon"},[n.createVNode(n.resolveComponent("d-icon"),{name:"select-arrow"},null)])]),n.createVNode(n.Teleport,{to:"body"},{default:()=>[n.createVNode(n.Transition,{name:"fade"},{default:()=>[n.createVNode(xe,{origin:s.value,modelValue:d.value,"onUpdate:modelValue":F=>d.value=F,position:g.value},{default:()=>[n.createVNode("div",{style:{width:e.width+"px"},class:`${l.b()}`},[n.withDirectives(n.createVNode("div",{class:`${l.e("wrap")}`},[n.createVNode("ul",{ref:r,class:`${l.e("list")}`,style:{maxHeight:e.maxHeight+"px"},onScroll:p},[y.value.map((F,I)=>n.createVNode("li",{class:ke(F,I),onClick:U=>{U.stopPropagation(),m(F,I,_)}},[t.slots.item?t.slots.item(F):F.label])),n.withDirectives(n.createVNode("li",{class:`${l.e("empty")}`},[n.createVNode("div",{class:`${l.em("empty","tip")}`},[t.slots.noResultItem?t.slots.noResultItem():V.value])]),[[n.vShow,!y.value.length]])])]),[[n.resolveDirective("dLoading"),e.loading],[n.vShow,d.value]])])]})]})]})]),[[n.resolveDirective("click-outside"),N]])}}}),Te={title:"EditableSelect \u53EF\u8F93\u5165\u4E0B\u62C9\u9009\u62E9\u6846",category:"\u6570\u636E\u5F55\u5165",status:"100%",install(e){e.component(H.name,H)}};c.EditableSelect=H,c.default=Te,c.editableSelectProps=q,Object.defineProperty(c,"__esModule",{value:!0}),c[Symbol.toStringTag]="Module"});
1
+ (function(w,o){typeof exports=="object"&&typeof module!="undefined"?o(exports,require("vue"),require("@floating-ui/dom")):typeof define=="function"&&define.amd?define(["exports","vue","@floating-ui/dom"],o):(w=typeof globalThis!="undefined"?globalThis:w||self,o(w.index={},w.Vue,w.dom))})(this,function(w,o,V){"use strict";const _={modelValue:{type:String,default:""},options:{type:Array,default:()=>[]},allowClear:{type:Boolean,default:!1},disabled:{type:Boolean},disabledKey:{type:String,default:""},placeholder:{type:String,default:"Search"},width:{type:Number},maxHeight:{type:Number},loading:{type:Boolean},enableLazyLoad:{type:Boolean,default:!1},searchFn:{type:Function},filterOption:{type:[Function,Boolean]}},ue=typeof window!="undefined";function U(e,n,t){document.addEventListener?e&&n&&t&&e.addEventListener(n,t,!1):e&&n&&t&&e.attachEvent("on"+n,t)}const b=Symbol("@@clickoutside"),T=new Map;let Y,M=0,q=!0;function X(e,n,t){return ue&&q&&(q=!1,U(document,"mousedown",a=>{Y=a}),U(document,"mouseup",a=>{for(const[u,l]of T)l[b].documentHandler(a,Y)})),function(a,u){!t||!n.instance||!a.target||!u.target||e.contains(a.target)||e.contains(u.target)||e===a.target||e[b].bindingFn&&e[b].bindingFn()}}const ae={beforeMount:function(e,n,t){M++,T.set(M,e),e[b]={nid:M,documentHandler:X(e,n,t),bindingFn:n.value}},updated:function(e,n,t){e[b].documentHandler=X(e,n,t),e[b].bindingFn=n.value},unmounted:function(e){T.delete(e[b].nid),delete e[b]}};class W{constructor(){this.top="50%",this.left="50%"}}const le={message:String,backdrop:Boolean,view:{type:Object,default:()=>new W},zIndex:Number,isFull:{type:Boolean,default:!1}};class re{constructor(){this.backdrop=!0,this.positionType="relative",this.view=new W}}function O(e,n,t){let a=e;return n&&(a+=`__${n}`),t&&(a+=`--${t}`),a}function P(e,n=!1){const t=n?`.devui-${e}`:`devui-${e}`;return{b:()=>O(t),e:s=>s?O(t,s):"",m:s=>s?O(t,"",s):"",em:(s,i)=>s&&i?O(t,s,i):""}}var Oe="",se=o.defineComponent({name:"DLoading",inheritAttrs:!1,props:le,setup(e){const n={top:e.view.top,left:e.view.left,zIndex:e.zIndex};e.message||(n.background="none");const t=o.ref(!1);return{style:n,isShow:t,open:()=>{t.value=!0},close:()=>{t.value=!1}}},render(){var s;const{isShow:e,isFull:n,backdrop:t,style:a,message:u,$slots:l}=this,r=P("loading");return e&&o.createVNode("div",{class:[r.b(),n?r.m("full"):""]},[((s=l.default)==null?void 0:s.call(l))||o.createVNode("div",{class:r.e("wrapper")},[t?o.createVNode("div",{class:r.e("mask")},null):null,o.createVNode("div",{style:a,class:r.e("area")},[o.createVNode("div",{class:r.e("busy-default-spinner")},[o.createVNode("div",{class:r.e("bar1")},null),o.createVNode("div",{class:r.e("bar2")},null),o.createVNode("div",{class:r.e("bar3")},null),o.createVNode("div",{class:r.e("bar4")},null)]),u?o.createVNode("span",{class:r.e("text")},[u]):null])])])}});const G=Symbol("dev_component_container");function ie(e,n,t=null){const a=o.h(e,{...n},t),u=document.createElement("div");return a[G]=u,o.render(a,u),a.component}function ce(e){o.render(null,e==null?void 0:e.vnode[G])}const de=o.defineComponent(se),N=new WeakSet,$=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(),fe=e=>{switch(J(e)){case"promise":return[e];case"array":return e.some(t=>J(t)!=="promise")?(console.error(new TypeError("Binding values should all be of type Promise")),"error"):e;default:return!1}},Q=e=>{N.delete(e),e.instance.proxy.close(),ce(e.instance)},Z=(e,n)=>{var t,a,u;if(n.value){const l=fe(n.value);if(l==="error")return;(u=(a=(t=e==null?void 0:e.instance)==null?void 0:t.proxy)==null?void 0:a.open)==null||u.call(a),e.appendChild(e.mask),N.add(e),l&&Promise.all(l).catch(r=>{console.error(new Error("Promise handling errors"),r)}).finally(()=>{Q(e)})}else Q(e)},ee=e=>{e.removeAttribute("zindex"),e.removeAttribute("positiontype"),e.removeAttribute("backdrop"),e.removeAttribute("message"),e.removeAttribute("view"),e.removeAttribute("loadingtemplateref")},te=(e,n)=>{var l;const t={...new re,...n},a=t.loadingTemplateRef,u=ie(de,{...t},a?()=>a:null);e.style.position=t.positionType,e.options=t,e.instance=u,e.mask=(l=u==null?void 0:u.proxy)==null?void 0:l.$el},me={mounted:function(e,n,t){te(e,t.props),ee(e),!$(n.value)&&Z(e,n)},updated:function(e,n,t){!$(n.value)&&N.has(e)||$(n.value)&&!N.has(e)||(!N.has(e)&&te(e,t.props),ee(e),Z(e,n))}};function z(e,n){let t=e;return typeof n=="object"&&Object.keys(n).forEach(a=>{n[a]&&(t+=` ${a}`)}),t}var ke="";function he(e){return{normalizeOptions:o.computed(()=>e.options.map(t=>{let a;return t!=="null"&&typeof t=="object"?a={...t,label:t.label||"",value:t.value!==void 0?t.value:t.label||""}:a={label:String(t),value:t},a}))}}function pe(e,n,t,a){return{filteredOptions:o.computed(()=>!t.value||e?n.value:n.value.filter(l=>a(l,t.value)))}}function ge(e,n){const t=u=>{n.emit("search",u)};return{handleInput:u=>{const l=u.target.value;e.value=l,t(l)}}}function we(e,n,t){return{loadMore:()=>{const u=e.value;!n||u.clientHeight+u.scrollTop>=u.scrollHeight&&t.emit("loadMore")}}}function Ee(e,n,t,a,u,l,r,s,i,c,E){const h=o.ref(0),v=o.ref(0),A=m=>{h.value=m},F=m=>{const p=e.value,d=p.children[m];o.nextTick(()=>{if(d.scrollIntoViewIfNeeded)d.scrollIntoViewIfNeeded(!1);else{const S=p.getBoundingClientRect(),I=d.getBoundingClientRect();(I.bottom>S.bottom||I.top<S.top)&&d.scrollIntoView(!1)}})},B=()=>{t.value=a.value,c()},D=()=>{const m=u.value.length;return!n.value||!m?E():(m&&m===1?i(u.value[0],1):i(u.value[h.value],h.value),c())},C=m=>{const p=u.value.length;if(!p||p===1||!["ArrowDown","ArrowUp"].includes(m)||r===!1&&s.value)return;let d=0;if(d=h.value,m==="ArrowUp"?(d-=1,d===-1&&(d=p-1)):m==="ArrowDown"&&(d+=1,d===p&&(d=0)),h.value=d,u.value[d][l])return C(m);A(d),F(d)};return{handleKeydown:m=>{const p=m.key||m.code;switch(p){case"Escape":B();break;case"Enter":D();break;default:C(p)}},hoverIndex:h,selectedIndex:v}}const ye={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 Fe(e){const n=/(auto|scroll|hidden)/;for(let t=e;t=t.parentElement;t.parentElement!==document.body){const a=window.getComputedStyle(t);if(n.test(a.overflow+a.overflowX+a.overflowY))return t}return window}function be(e,n,t,a){let{x:u,y:l}=n;if(!e){const{width:r,height:s}=a;u&&t.includes("start")&&(u=12),u&&t.includes("end")&&(u=Math.round(r-24)),l&&t.includes("start")&&(l=10),l&&t.includes("end")&&(l=s-14)}return{x:u,y:l}}function ve(e,n){const t=o.ref(),a=o.ref();let u=null;const l=(s,i,c,E)=>{const{x:h,y:v}=be(e.isArrowCenter,c,i,E.getBoundingClientRect()),A={top:"bottom",right:"left",bottom:"top",left:"right"}[i.split("-")[0]];Object.assign(s.style,{left:h?`${h}px`:"",top:v?`${v}px`:"",right:"",bottom:"",[A]:"-4px"})},r=async()=>{const s=e.origin,i=o.unref(t.value),c=o.unref(a.value),E=[V.offset(e.offset),V.autoPlacement({alignment:e.align,allowedPlacements:e.position})];e.showArrow&&E.push(V.arrow({element:c})),e.shiftOffset!==void 0&&E.push(V.shift());const{x:h,y:v,placement:A,middlewareData:F}=await V.computePosition(s,i,{strategy:"fixed",middleware:E});let B=h,D=v;if(e.shiftOffset!==void 0){const{x:C,y:x}=F.shift;C<0&&(B-=e.shiftOffset),C>0&&(B+=e.shiftOffset),x<0&&(D-=e.shiftOffset),x>0&&(D+=e.shiftOffset)}n("positionChange",A),Object.assign(i.style,{top:`${D}px`,left:`${B}px`}),e.showArrow&&l(c,A,F.arrow,i)};return o.watch(()=>e.modelValue,()=>{e.modelValue&&e.origin?(u=Fe(e.origin),o.nextTick(r),u==null||u.addEventListener("scroll",r),u!==window&&window.addEventListener("scroll",r),window.addEventListener("resize",r)):(u==null||u.removeEventListener("scroll",r),u!==window&&window.removeEventListener("scroll",r),window.removeEventListener("resize",r))}),o.onUnmounted(()=>{u==null||u.removeEventListener("scroll",r),u!==window&&window.removeEventListener("scroll",r),window.removeEventListener("resize",r)}),{arrowRef:a,overlayRef:t,updatePosition:r}}var Ie="";const Ae=o.defineComponent({name:"DFlexibleOverlay",inheritAttrs:!1,props:ye,emits:["update:modelValue","positionChange"],setup(e,{slots:n,attrs:t,emit:a,expose:u}){const l=P("flexible-overlay"),{arrowRef:r,overlayRef:s,updatePosition:i}=ve(e,a);return u({updatePosition:i}),()=>{var c;return e.modelValue&&o.createVNode("div",o.mergeProps({ref:s,class:l.b()},t),[(c=n.default)==null?void 0:c.call(n),e.showArrow&&o.createVNode("div",{ref:r,class:l.e("arrow")},null)])}}});function Ce(e){const n=o.computed(()=>{const a=new Map;return e.value.forEach(u=>{a.set(u,u.value)}),a});return{getOptionValue:a=>n.value.get(a)}}function ne(...e){const n=t=>t&&typeof t=="object";return e.reduce((t,a)=>(Object.keys(a).forEach(u=>{const l=t[u],r=a[u];Array.isArray(l)&&Array.isArray(r)?t[u]=Array.from(new Set([...r,...l])):n(l)&&n(r)?t[u]=ne(l,r):t[u]=r}),t),{})}var Be={pagination:{totalItemText:"\u6240\u6709\u6761\u76EE",goToText:"\u8DF3\u81F3"},accordion:{loading:"\u52A0\u8F7D\u4E2D",noData:"\u6CA1\u6709\u6570\u636E"},autoCompleteDropdown:{latestInput:"\u6700\u8FD1\u8F93\u5165"},cascaderList:{noData:"\u6CA1\u6709\u6570\u636E"},colorPicker:{foundationPanel:"\u57FA\u7840\u9762\u677F",advancedPanel:"\u9AD8\u7EA7\u9762\u677F"},datePickerPro:{ok:"\u786E\u5B9A",placeholder:"\u8BF7\u9009\u62E9\u65E5\u671F",month1:"1\u6708",month2:"2\u6708",month3:"3\u6708",month4:"4\u6708",month5:"5\u6708",month6:"6\u6708",month7:"7\u6708",month8:"8\u6708",month9:"9\u6708",month10:"10\u6708",month11:"11\u6708",month12:"12\u6708",year:"\u5E74",startPlaceholder:"\u8BF7\u9009\u62E9\u5F00\u59CB\u65E5\u671F",endPlaceholder:"\u8BF7\u9009\u62E9\u7ED3\u675F\u65E5\u671F",getWeekDays(){return["\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"]},getTimeArr(){return["\u65F6","\u5206","\u79D2"]},getYearMonthStr(e,n){return`${e}\u5E74${n}\u6708`}},editableSelect:{noRelatedRecords:"\u627E\u4E0D\u5230\u76F8\u5173\u8BB0\u5F55",noData:"\u6CA1\u6709\u6570\u636E"},input:{placeholder:"\u8BF7\u8F93\u5165"},splitterBar:{collapse:"\u6536\u8D77",expand:"\u5C55\u5F00"},stepsGuide:{previous:"\u4E0A\u4E00\u6B65",continue:"\u6211\u77E5\u9053\u5566\uFF0C\u7EE7\u7EED",ok:"\u6211\u77E5\u9053\u5566"},table:{selectAll:"\u5168\u9009",ok:"\u786E\u5B9A"},timePopup:{ok:"\u786E\u5B9A"},transfer:{unit:"\u9879",panelUnit:"\u9879",headerUnit:"\u9879",noData:"\u6682\u65E0\u6570\u636E",placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22"},tree:{loading:"\u52A0\u8F7D\u4E2D",newNode:"\u65B0\u8282\u70B9",selectPlaceholder:"\u8BF7\u9009\u62E9"},upload:{placeholder:"\u9009\u62E9\u6587\u4EF6",getExistSameNameFilesMsg(e){return`\u60A8\u4E0A\u4F20\u7684 "${e}" \u5B58\u5728\u91CD\u540D\u6587\u4EF6, \u8BF7\u91CD\u65B0\u9009\u62E9\u6587\u4EF6`},getAllFilesBeyondMaximalFileSizeMsg(e){return`\u6700\u5927\u652F\u6301\u4E0A\u4F20${e}MB\u7684\u6587\u4EF6, \u60A8\u672C\u6B21\u4E0A\u4F20\u7684\u6240\u6709\u6587\u4EF6\u8D85\u8FC7\u53EF\u4E0A\u4F20\u6587\u4EF6\u5927\u5C0F`},getBeyondMaximalFileSizeMsg(e,n){return`\u6700\u5927\u652F\u6301\u4E0A\u4F20${n}MB\u7684\u6587\u4EF6, \u60A8\u4E0A\u4F20\u7684\u6587\u4EF6"${e}"\u8D85\u8FC7\u53EF\u4E0A\u4F20\u6587\u4EF6\u5927\u5C0F`},getNotAllowedFileTypeMsg(e,n){return`\u652F\u6301\u7684\u6587\u4EF6\u7C7B\u578B: "${n}", \u60A8\u4E0A\u4F20\u7684\u6587\u4EF6"${e}"\u4E0D\u5728\u5141\u8BB8\u8303\u56F4\u5185\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u6587\u4EF6`}},search:{placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u5B57"},select:{placeholder:"\u8BF7\u9009\u62E9",noDataText:"\u65E0\u6570\u636E",noMatchText:"\u627E\u4E0D\u5230\u76F8\u5173\u8BB0\u5F55",loadingText:"\u52A0\u8F7D\u4E2D..."},tagInput:{maxTagsText:"\u5DF2\u8FBE\u5230\u6700\u5927\u4E2A\u6570\uFF1A"},timeSelect:{placeholder:"\u8BF7\u9009\u62E9\u65F6\u95F4"}};const k=o.ref("zh-CN");let R=o.reactive({[k.value]:Be});const De={messages(){return R[k.value]},lang(){return k.value},use(e,n){k.value=e,this.add({[e]:n})},add(e={}){R=ne(R,e)}},xe=e=>e.substring(1).replace(/^\S/,n=>n.toLocaleLowerCase());function oe(e,n){const t=n.split(".");let a=e;return t.forEach(u=>{var l;a=(l=a[u])!=null?l:""}),a}function Ve(e,n,t){const a=t||xe(e)+".";return u=>{var s;const l=((s=n==null?void 0:n.appContext.config.globalProperties.langMessages)==null?void 0:s.value)||De.messages();return oe(l,a+u)||oe(l,u)}}var j=o.defineComponent({name:"DEditableSelect",directives:{clickOutside:ae,dLoading:me},props:_,emits:["update:modelValue","search","loadMore"],setup(e,n){const t=o.getCurrentInstance(),a=Ve("DEditableSelect",t),u=P("editable-select"),l=o.ref(),r=o.ref(),s=o.ref(["bottom"]),i=o.ref(!1),c=o.ref(e.modelValue),E=o.ref(),h=o.ref(e.loading),{normalizeOptions:v}=he(e),A=e.searchFn||((f,y)=>f.label.toLocaleLowerCase().includes(y.trim().toLocaleLowerCase())),{filteredOptions:F}=pe(e.enableLazyLoad,v,c,A),{getOptionValue:B}=Ce(F),D=o.computed(()=>{let f;return e.enableLazyLoad?f=a("noData"):f=a("noRelatedRecords"),f});o.watch(()=>e.loading,f=>{h.value=f});const C=()=>{i.value=!i.value},x=()=>{i.value=!1},{loadMore:m}=we(l,e.enableLazyLoad,n),{handleInput:p}=ge(c,n),d=(f,y,g)=>{const{disabledKey:L}=e;if(L&&!!f[L])return;c.value=f.label,E.value=f.label,g.value=y;const K=B(f);n.emit("update:modelValue",K+""),x()},S=()=>{c.value=""},{handleKeydown:I,hoverIndex:Se,selectedIndex:H}=Ee(l,i,c,E,F,e.disabledKey,e.filterOption,h,(f,y)=>d(f,y,H),x,C),Le=(f,y)=>{const{disabledKey:g}=e;return z("devui-dropdown-item",{disabled:g?!!f[g]:!1,selected:y===H.value,[`${u.em("dropdown","bg")}`]:y===Se.value})};return()=>{const f=z(`${u.b()} devui-form-group devui-has-feedback ${c.value&&e.allowClear&&"allow-clear"}`,{[`${u.m("open")}`]:i.value===!0}),y=z("devui-form-control devui-dropdown-origin",{"devui-dropdown-origin-open":i.value===!0});return o.withDirectives(o.createVNode("div",{class:f,ref:r,style:{width:e.width+"px"}},[o.createVNode("input",{class:y,onClick:o.withModifiers(C,["self"]),onInput:p,onKeydown:I,value:c.value,disabled:e.disabled,placeholder:e.placeholder,type:"text"},null),o.createVNode("span",{class:"devui-form-control-feedback"},[o.createVNode("span",{class:"devui-select-clear-icon",onClick:S},[o.createVNode(o.resolveComponent("d-icon"),{name:"icon-remove"},null)]),o.createVNode("span",{class:"devui-select-chevron-icon"},[o.createVNode(o.resolveComponent("d-icon"),{name:"select-arrow"},null)])]),o.createVNode(o.Teleport,{to:"body"},{default:()=>[o.createVNode(o.Transition,{name:"fade"},{default:()=>[o.createVNode(Ae,{origin:r.value,modelValue:i.value,"onUpdate:modelValue":g=>i.value=g,position:s.value},{default:()=>[o.createVNode("div",{style:{width:e.width+"px"},class:`${u.e("menu")}`},[o.withDirectives(o.createVNode("div",{class:"devui-dropdown-menu"},[o.createVNode("ul",{ref:l,class:`${u.em("list","unstyled")} devui-scrollbar scroll-height`,style:{maxHeight:e.maxHeight+"px"},onScroll:m},[F.value.map((g,L)=>o.createVNode("li",{class:Le(g,L),onClick:K=>{K.stopPropagation(),d(g,L,H)}},[n.slots.item?n.slots.item(g):g.label])),o.withDirectives(o.createVNode("div",{class:"devui-no-data-tip"},[n.slots.noResultItem?n.slots.noResultItem(c.value):D.value]),[[o.vShow,!F.value.length]])])]),[[o.vShow,i.value],[o.resolveDirective("d-loading"),e.loading]])])]})]})]})]),[[o.resolveDirective("click-outside"),x]])}}}),Ne={title:"EditableSelect \u53EF\u8F93\u5165\u4E0B\u62C9\u9009\u62E9\u6846",category:"\u6570\u636E\u5F55\u5165",status:"100%",install(e){e.component(j.name,j)}};w.EditableSelect=j,w.default=Ne,w.editableSelectProps=_,Object.defineProperties(w,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});