vue-devui 1.6.14 → 1.6.16

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 (75) hide show
  1. package/auto-complete/index.es.js +60 -42
  2. package/auto-complete/index.umd.js +13 -13
  3. package/breadcrumb/index.es.js +57 -39
  4. package/breadcrumb/index.umd.js +1 -1
  5. package/category-search/index.es.js +93 -44
  6. package/category-search/index.umd.js +21 -21
  7. package/checkbox/index.es.js +60 -42
  8. package/checkbox/index.umd.js +18 -18
  9. package/code-review/index.es.js +60 -42
  10. package/code-review/index.umd.js +20 -20
  11. package/data-grid/index.es.js +60 -42
  12. package/data-grid/index.umd.js +15 -15
  13. package/date-picker-pro/index.es.js +60 -42
  14. package/date-picker-pro/index.umd.js +13 -13
  15. package/dropdown/index.es.js +57 -39
  16. package/dropdown/index.umd.js +1 -1
  17. package/editable-select/index.es.js +66 -43
  18. package/editable-select/index.umd.js +10 -10
  19. package/editor-md/index.es.js +69 -44
  20. package/editor-md/index.umd.js +28 -28
  21. package/form/index.es.js +60 -42
  22. package/form/index.umd.js +17 -17
  23. package/input/index.es.js +59 -41
  24. package/input/index.umd.js +20 -20
  25. package/input-number/index.es.js +60 -42
  26. package/input-number/index.umd.js +19 -19
  27. package/mention/index.es.js +60 -42
  28. package/mention/index.umd.js +17 -17
  29. package/message/index.es.js +13 -13
  30. package/message/index.umd.js +1 -1
  31. package/modal/index.es.js +57 -39
  32. package/modal/index.umd.js +2 -2
  33. package/overlay/index.es.js +58 -40
  34. package/overlay/index.umd.js +1 -1
  35. package/package.json +3 -2
  36. package/pagination/index.es.js +77 -59
  37. package/pagination/index.umd.js +18 -18
  38. package/pagination/style.css +1 -1
  39. package/popover/index.es.js +60 -42
  40. package/popover/index.umd.js +15 -15
  41. package/radio/index.es.js +60 -42
  42. package/radio/index.umd.js +16 -16
  43. package/search/index.es.js +60 -42
  44. package/search/index.umd.js +16 -16
  45. package/select/index.es.js +77 -59
  46. package/select/index.umd.js +20 -20
  47. package/select/style.css +1 -1
  48. package/splitter/index.es.js +60 -42
  49. package/splitter/index.umd.js +14 -14
  50. package/style.css +1 -1
  51. package/switch/index.es.js +60 -42
  52. package/switch/index.umd.js +17 -17
  53. package/table/index.es.js +59 -41
  54. package/table/index.umd.js +16 -16
  55. package/textarea/index.es.js +60 -42
  56. package/textarea/index.umd.js +19 -19
  57. package/time-picker/index.es.js +59 -41
  58. package/time-picker/index.umd.js +14 -14
  59. package/time-select/index.es.js +77 -59
  60. package/time-select/index.umd.js +18 -18
  61. package/time-select/style.css +1 -1
  62. package/tooltip/index.es.js +60 -42
  63. package/tooltip/index.umd.js +15 -15
  64. package/tree/index.es.js +59 -41
  65. package/tree/index.umd.js +14 -14
  66. package/types/category-search/src/category-search-types.d.ts +5 -0
  67. package/types/editable-select/src/editable-select-types.d.ts +3 -0
  68. package/types/overlay/src/flexible-overlay/flexible-overlay-types.d.ts +5 -6
  69. package/types/overlay/src/flexible-overlay/index.d.ts +9 -0
  70. package/types/overlay/src/flexible-overlay/use-flexible-overlay.d.ts +11 -2
  71. package/types/select/src/composables/use-select-content.d.ts +21 -2
  72. package/types/select/src/select-types.d.ts +7 -44
  73. package/types/select/src/use-select.d.ts +26 -2
  74. package/vue-devui.es.js +138 -77
  75. package/vue-devui.umd.js +74 -74
@@ -322,10 +322,12 @@ function ErrorIcon() {
322
322
  var message$1 = "";
323
323
  var Message$1 = defineComponent({
324
324
  name: "DMessage",
325
+ inheritAttrs: false,
325
326
  props: messageProps,
326
327
  emits: ["destroy", "close"],
327
328
  setup(props, {
328
329
  emit,
330
+ attrs,
329
331
  slots
330
332
  }) {
331
333
  const {
@@ -410,19 +412,17 @@ var Message$1 = defineComponent({
410
412
  "onClick": close
411
413
  }, [createVNode(Close, null, null)]);
412
414
  });
413
- return () => {
414
- return createVNode(Transition, {
415
- "name": "message-fade",
416
- "onAfterLeave": handleDestroy
417
- }, {
418
- default: () => [visible.value && createVNode("div", {
419
- "class": classes.value,
420
- "style": __spreadValues({}, styles.value),
421
- "onMouseenter": interrupt,
422
- "onMouseleave": removeReset
423
- }, [renderIcon.value, renderText.value, renderClose.value])]
424
- });
425
- };
415
+ return () => createVNode(Transition, {
416
+ "name": "message-fade",
417
+ "onAfterLeave": handleDestroy
418
+ }, {
419
+ default: () => [visible.value && createVNode("div", mergeProps({
420
+ "class": classes.value,
421
+ "style": __spreadValues({}, styles.value),
422
+ "onMouseenter": interrupt,
423
+ "onMouseleave": removeReset
424
+ }, attrs), [renderIcon.value, renderText.value, renderClose.value])]
425
+ });
426
426
  }
427
427
  });
428
428
  function _isSlot(s) {
@@ -1 +1 @@
1
- var ie=Object.defineProperty,ue=Object.defineProperties;var de=Object.getOwnPropertyDescriptors;var B=Object.getOwnPropertySymbols;var me=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable;var L=(c,e,f)=>e in c?ie(c,e,{enumerable:!0,configurable:!0,writable:!0,value:f}):c[e]=f,p=(c,e)=>{for(var f in e||(e={}))me.call(e,f)&&L(c,f,e[f]);if(B)for(var f of B(e))fe.call(e,f)&&L(c,f,e[f]);return c},b=(c,e)=>ue(c,de(e));(function(c,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(c=typeof globalThis!="undefined"?globalThis:c||self,e(c.index={},c.Vue))})(this,function(c,e){"use strict";const f=n=>typeof n=="string",k={name:{type:String,default:""},size:{type:[Number,String],default:"inherit"},color:{type:String,default:"inherit"},component:{type:Object,default:null},classPrefix:{type:String,default:"icon"},operable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},rotate:{type:[Number,String]}},O={name:{type:String,default:"",required:!0},color:{type:String,default:"inherit"},size:{type:[Number,String],default:"inherit"}};function C(n,t,s){let o=n;return t&&(o+=`__${t}`),s&&(o+=`--${s}`),o}function y(n,t=!1){const s=t?`.devui-${n}`:`devui-${n}`;return{b:()=>C(s),e:l=>l?C(s,l):"",m:l=>l?C(s,"",l):"",em:(l,d)=>l&&d?C(s,l,d):""}}var ge="",_=e.defineComponent({name:"DSvgIcon",props:O,setup(n){const{name:t,color:s,size:o}=e.toRefs(n),r=y("svg-icon"),a=e.computed(()=>`#icon-${t.value}`),g=e.computed(()=>typeof o.value=="number"?`${o.value}px`:o.value),l={width:g.value,height:g.value};return()=>e.createVNode("svg",{class:r.b(),style:l},[e.createVNode("use",{"xlink:href":a.value,fill:s.value},null)])}});function j(n){return/^((http|https):)?\/\//.test(n)}function A(n,t){const{component:s,name:o,size:r,color:a,classPrefix:g,rotate:l}=e.toRefs(n),d=y("icon"),i=e.computed(()=>typeof r.value=="number"?`${r.value}px`:r.value),m=s.value?e.resolveDynamicComponent(s.value):e.resolveDynamicComponent(_),v=()=>e.createVNode("img",e.mergeProps({src:o.value,alt:o.value.split("/")[o.value.split("/").length-1],class:[(l==null?void 0:l.value)==="infinite"&&d.m("spin")],style:{width:i.value||"",transform:`rotate(${l==null?void 0:l.value}deg)`,verticalAlign:"middle"}},t.attrs),null),z=()=>e.createVNode(m,e.mergeProps({name:o.value,color:a.value,size:i.value,class:[(l==null?void 0:l.value)==="infinite"&&d.m("spin")],style:{transform:`rotate(${l==null?void 0:l.value}deg)`}},t.attrs),null),N=()=>{const S=/^icon-/.test(o.value)?o.value:`${g.value}-${o.value}`;return e.createVNode("i",e.mergeProps({class:[g.value,S,(l==null?void 0:l.value)==="infinite"&&d.m("spin")],style:{fontSize:i.value,color:a.value,transform:`rotate(${l==null?void 0:l.value}deg)`}},t.attrs),null)};return{iconDom:()=>s.value?z():j(o.value)?v():N()}}var R=e.defineComponent({name:"DIcon",props:k,emits:["click"],setup(n,t){const{disabled:s,operable:o}=e.toRefs(n),{iconDom:r}=A(n,t),a=y("icon"),g=e.computed(()=>({[a.e("container")]:!0,[a.m("disabled")]:s.value,[a.m("operable")]:o.value,[a.m("no-slots")]:!Object.keys(t.slots).length})),l=d=>{s.value||t.emit("click",d)};return()=>{var d,i,m,v;return e.createVNode("div",{class:g.value,onClick:l},[(i=(d=t.slots).prefix)==null?void 0:i.call(d),r(),(v=(m=t.slots).suffix)==null?void 0:v.call(m)])}}}),ye="";e.defineComponent({name:"DIconGroup",setup(n,t){const s=y("icon-group");return()=>{var o,r;return e.createVNode("div",{class:s.b()},[(r=(o=t.slots).default)==null?void 0:r.call(o)])}}});var E=e.defineComponent({emits:["click"],setup(n,{emit:t}){const s=y("message");return()=>e.createVNode("div",{class:s.e("icon-close"),onClick:o=>t("click",o)},[e.createVNode(R,{name:"close",size:"14px"},null)])}});const x={id:{type:String,default:""},visible:{type:Boolean,default:!1},message:{type:String,default:""},type:{type:String,default:"normal"},bordered:{type:Boolean,default:!0},shadow:{type:Boolean,default:!0},duration:{type:Number,default:3e3},showClose:{type:Boolean,default:!1},onClose:{type:Function}},V=y("message");function F(){return e.createVNode("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",class:V.e("icon")},[e.createVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336L456.192 600.384z"},null)])}function U(){return e.createVNode("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",class:V.e("icon")},[e.createVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 192a58.432 58.432 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.432 58.432 0 0 0 512 256zm0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4z"},null)])}function q(){return e.createVNode("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",class:V.e("icon")},[e.createVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64zm67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344zM590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.992 12.992 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"},null)])}function G(){return e.createVNode("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",class:V.e("icon")},[e.createVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336L512 457.664z"},null)])}var ve="",X=e.defineComponent({name:"DMessage",props:x,emits:["destroy","close"],setup(n,{emit:t,slots:s}){const{visible:o,message:r,type:a,bordered:g,shadow:l,showClose:d}=e.toRefs(n),i=y("message");let m=null,v;const z=()=>{t("destroy")},N=()=>{var u;m&&clearTimeout(m),m=null,(u=n.onClose)==null||u.call(n)},P=()=>{m&&n.duration&&(clearTimeout(m),m=null)},S=()=>{if(n.visible&&n.duration){const u=n.duration-(Date.now()-v);m=setTimeout(N,u)}};e.watch(()=>n.visible,u=>{u&&(v=Date.now(),n.duration&&(m=setTimeout(N,n.duration)))});const oe=e.computed(()=>({[i.b()]:!0,[i.m(a.value)]:!0})),se=e.computed(()=>H(n.id)),le=e.computed(()=>{const u={};return g.value||(u.border="none"),l.value||(u["box-shadow"]="none"),b(p({},u),{top:`${se.value}px`})}),ae=e.computed(()=>{const u=e.computed(()=>({[i.e("image")]:!0,[i.em("image",a.value)]:!0}));return!(!a.value||a.value==="normal")&&e.createVNode("span",{class:u.value},[a.value&&(a.value==="success"&&e.createVNode(F,null,null)||a.value==="info"&&e.createVNode(q,null,null)||a.value==="warning"&&e.createVNode(U,null,null)||a.value==="error"&&e.createVNode(G,null,null))])}),ce=e.computed(()=>{var T;const u=e.computed(()=>({[i.e("content")]:!0,[i.em("content",a.value)]:!0}));return e.createVNode("span",{class:u.value},[r.value?r.value:(T=s.default)==null?void 0:T.call(s)])}),re=e.computed(()=>d.value&&e.createVNode("span",{class:[i.e("close")],onClick:N},[e.createVNode(E,null,null)]));return()=>e.createVNode(e.Transition,{name:"message-fade",onAfterLeave:z},{default:()=>[o.value&&e.createVNode("div",{class:oe.value,style:p({},le.value),onMouseenter:P,onMouseleave:S},[ae.value,ce.value,re.value])]})}});function W(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!e.isVNode(n)}const I=e.shallowReactive([]),H=n=>I.findIndex(s=>s.id===n)*65+80,J=n=>{const t=I.findIndex(s=>s.id===n);return t!==-1&&I.splice(t,1),t},K=(n,t,s)=>{const o=document.createElement("div");o.id=n;const r=e.createApp({setup(){return e.onUnmounted(()=>{document.body.removeChild(o)}),()=>e.createVNode(X,e.mergeProps(t,{id:n,onDestroy:r.unmount}),W(s)?s:{default:()=>[s]})}});return document.body.appendChild(o),r.mount(o),{id:n,props:t}},D={duration:3e3,type:"normal"},h=n=>{const t=!n||f(n)?{message:n}:n;return p(p({},D),t)};let $=0;function w(n){const t=n.onClose||null,s=n.message;delete n.message;const o=e.reactive(b(p(p({},D),n),{onClose:()=>{o.visible=!1,J(o.id),t==null||t()}}));$++;const r=`message_${$}`;o.id=r;const a=K(r,o,s);I.push(a),o.visible=!0}function Q(n){const t=h(n);w(p({},t))}function Y(n){const t=h(n);w(b(p({},t),{type:"success"}))}function Z(n){const t=h(n);w(b(p({},t),{type:"error"}))}function ee(n){const t=h(n);w(b(p({},t),{type:"warning"}))}function ne(n){const t=h(n);w(b(p({},t),{type:"info"}))}const M=Object.assign(Q,{success:Y,error:Z,warning:ee,info:ne});var te={title:"Message \u5168\u5C40\u63D0\u793A",category:"\u53CD\u9988",status:"100%",install(n){n.config.globalProperties.$message=M}};c.Message=M,c.default=te,c.messageProps=x,Object.defineProperty(c,"__esModule",{value:!0}),c[Symbol.toStringTag]="Module"});
1
+ var ue=Object.defineProperty,de=Object.defineProperties;var me=Object.getOwnPropertyDescriptors;var B=Object.getOwnPropertySymbols;var fe=Object.prototype.hasOwnProperty,pe=Object.prototype.propertyIsEnumerable;var L=(a,e,f)=>e in a?ue(a,e,{enumerable:!0,configurable:!0,writable:!0,value:f}):a[e]=f,g=(a,e)=>{for(var f in e||(e={}))fe.call(e,f)&&L(a,f,e[f]);if(B)for(var f of B(e))pe.call(e,f)&&L(a,f,e[f]);return a},b=(a,e)=>de(a,me(e));(function(a,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(a=typeof globalThis!="undefined"?globalThis:a||self,e(a.index={},a.Vue))})(this,function(a,e){"use strict";const f=n=>typeof n=="string",k={name:{type:String,default:""},size:{type:[Number,String],default:"inherit"},color:{type:String,default:"inherit"},component:{type:Object,default:null},classPrefix:{type:String,default:"icon"},operable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},rotate:{type:[Number,String]}},A={name:{type:String,default:"",required:!0},color:{type:String,default:"inherit"},size:{type:[Number,String],default:"inherit"}};function N(n,t,s){let o=n;return t&&(o+=`__${t}`),s&&(o+=`--${s}`),o}function v(n,t=!1){const s=t?`.devui-${n}`:`devui-${n}`;return{b:()=>N(s),e:l=>l?N(s,l):"",m:l=>l?N(s,"",l):"",em:(l,d)=>l&&d?N(s,l,d):""}}var ye="",O=e.defineComponent({name:"DSvgIcon",props:A,setup(n){const{name:t,color:s,size:o}=e.toRefs(n),c=v("svg-icon"),i=e.computed(()=>`#icon-${t.value}`),r=e.computed(()=>typeof o.value=="number"?`${o.value}px`:o.value),l={width:r.value,height:r.value};return()=>e.createVNode("svg",{class:c.b(),style:l},[e.createVNode("use",{"xlink:href":i.value,fill:s.value},null)])}});function _(n){return/^((http|https):)?\/\//.test(n)}function j(n,t){const{component:s,name:o,size:c,color:i,classPrefix:r,rotate:l}=e.toRefs(n),d=v("icon"),y=e.computed(()=>typeof c.value=="number"?`${c.value}px`:c.value),p=s.value?e.resolveDynamicComponent(s.value):e.resolveDynamicComponent(O),m=()=>e.createVNode("img",e.mergeProps({src:o.value,alt:o.value.split("/")[o.value.split("/").length-1],class:[(l==null?void 0:l.value)==="infinite"&&d.m("spin")],style:{width:y.value||"",transform:`rotate(${l==null?void 0:l.value}deg)`,verticalAlign:"middle"}},t.attrs),null),I=()=>e.createVNode(p,e.mergeProps({name:o.value,color:i.value,size:y.value,class:[(l==null?void 0:l.value)==="infinite"&&d.m("spin")],style:{transform:`rotate(${l==null?void 0:l.value}deg)`}},t.attrs),null),S=()=>{const x=/^icon-/.test(o.value)?o.value:`${r.value}-${o.value}`;return e.createVNode("i",e.mergeProps({class:[r.value,x,(l==null?void 0:l.value)==="infinite"&&d.m("spin")],style:{fontSize:y.value,color:i.value,transform:`rotate(${l==null?void 0:l.value}deg)`}},t.attrs),null)};return{iconDom:()=>s.value?I():_(o.value)?m():S()}}var R=e.defineComponent({name:"DIcon",props:k,emits:["click"],setup(n,t){const{disabled:s,operable:o}=e.toRefs(n),{iconDom:c}=j(n,t),i=v("icon"),r=e.computed(()=>({[i.e("container")]:!0,[i.m("disabled")]:s.value,[i.m("operable")]:o.value,[i.m("no-slots")]:!Object.keys(t.slots).length})),l=d=>{s.value||t.emit("click",d)};return()=>{var d,y,p,m;return e.createVNode("div",{class:r.value,onClick:l},[(y=(d=t.slots).prefix)==null?void 0:y.call(d),c(),(m=(p=t.slots).suffix)==null?void 0:m.call(p)])}}}),ve="";e.defineComponent({name:"DIconGroup",setup(n,t){const s=v("icon-group");return()=>{var o,c;return e.createVNode("div",{class:s.b()},[(c=(o=t.slots).default)==null?void 0:c.call(o)])}}});var E=e.defineComponent({emits:["click"],setup(n,{emit:t}){const s=v("message");return()=>e.createVNode("div",{class:s.e("icon-close"),onClick:o=>t("click",o)},[e.createVNode(R,{name:"close",size:"14px"},null)])}});const D={id:{type:String,default:""},visible:{type:Boolean,default:!1},message:{type:String,default:""},type:{type:String,default:"normal"},bordered:{type:Boolean,default:!0},shadow:{type:Boolean,default:!0},duration:{type:Number,default:3e3},showClose:{type:Boolean,default:!1},onClose:{type:Function}},C=v("message");function F(){return e.createVNode("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",class:C.e("icon")},[e.createVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336L456.192 600.384z"},null)])}function U(){return e.createVNode("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",class:C.e("icon")},[e.createVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 192a58.432 58.432 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.432 58.432 0 0 0 512 256zm0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4z"},null)])}function q(){return e.createVNode("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",class:C.e("icon")},[e.createVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64zm67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344zM590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.992 12.992 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"},null)])}function G(){return e.createVNode("svg",{viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",class:C.e("icon")},[e.createVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896zm0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336L512 457.664z"},null)])}var be="",X=e.defineComponent({name:"DMessage",inheritAttrs:!1,props:D,emits:["destroy","close"],setup(n,{emit:t,attrs:s,slots:o}){const{visible:c,message:i,type:r,bordered:l,shadow:d,showClose:y}=e.toRefs(n),p=v("message");let m=null,I;const S=()=>{t("destroy")},z=()=>{var u;m&&clearTimeout(m),m=null,(u=n.onClose)==null||u.call(n)},x=()=>{m&&n.duration&&(clearTimeout(m),m=null)},oe=()=>{if(n.visible&&n.duration){const u=n.duration-(Date.now()-I);m=setTimeout(z,u)}};e.watch(()=>n.visible,u=>{u&&(I=Date.now(),n.duration&&(m=setTimeout(z,n.duration)))});const se=e.computed(()=>({[p.b()]:!0,[p.m(r.value)]:!0})),le=e.computed(()=>H(n.id)),ae=e.computed(()=>{const u={};return l.value||(u.border="none"),d.value||(u["box-shadow"]="none"),b(g({},u),{top:`${le.value}px`})}),ce=e.computed(()=>{const u=e.computed(()=>({[p.e("image")]:!0,[p.em("image",r.value)]:!0}));return!(!r.value||r.value==="normal")&&e.createVNode("span",{class:u.value},[r.value&&(r.value==="success"&&e.createVNode(F,null,null)||r.value==="info"&&e.createVNode(q,null,null)||r.value==="warning"&&e.createVNode(U,null,null)||r.value==="error"&&e.createVNode(G,null,null))])}),re=e.computed(()=>{var T;const u=e.computed(()=>({[p.e("content")]:!0,[p.em("content",r.value)]:!0}));return e.createVNode("span",{class:u.value},[i.value?i.value:(T=o.default)==null?void 0:T.call(o)])}),ie=e.computed(()=>y.value&&e.createVNode("span",{class:[p.e("close")],onClick:z},[e.createVNode(E,null,null)]));return()=>e.createVNode(e.Transition,{name:"message-fade",onAfterLeave:S},{default:()=>[c.value&&e.createVNode("div",e.mergeProps({class:se.value,style:g({},ae.value),onMouseenter:x,onMouseleave:oe},s),[ce.value,re.value,ie.value])]})}});function W(n){return typeof n=="function"||Object.prototype.toString.call(n)==="[object Object]"&&!e.isVNode(n)}const V=e.shallowReactive([]),H=n=>V.findIndex(s=>s.id===n)*65+80,J=n=>{const t=V.findIndex(s=>s.id===n);return t!==-1&&V.splice(t,1),t},K=(n,t,s)=>{const o=document.createElement("div");o.id=n;const c=e.createApp({setup(){return e.onUnmounted(()=>{document.body.removeChild(o)}),()=>e.createVNode(X,e.mergeProps(t,{id:n,onDestroy:c.unmount}),W(s)?s:{default:()=>[s]})}});return document.body.appendChild(o),c.mount(o),{id:n,props:t}},$={duration:3e3,type:"normal"},h=n=>{const t=!n||f(n)?{message:n}:n;return g(g({},$),t)};let P=0;function w(n){const t=n.onClose||null,s=n.message;delete n.message;const o=e.reactive(b(g(g({},$),n),{onClose:()=>{o.visible=!1,J(o.id),t==null||t()}}));P++;const c=`message_${P}`;o.id=c;const i=K(c,o,s);V.push(i),o.visible=!0}function Q(n){const t=h(n);w(g({},t))}function Y(n){const t=h(n);w(b(g({},t),{type:"success"}))}function Z(n){const t=h(n);w(b(g({},t),{type:"error"}))}function ee(n){const t=h(n);w(b(g({},t),{type:"warning"}))}function ne(n){const t=h(n);w(b(g({},t),{type:"info"}))}const M=Object.assign(Q,{success:Y,error:Z,warning:ee,info:ne});var te={title:"Message \u5168\u5C40\u63D0\u793A",category:"\u53CD\u9988",status:"100%",install(n){n.config.globalProperties.$message=M}};a.Message=M,a.default=te,a.messageProps=D,Object.defineProperty(a,"__esModule",{value:!0}),a[Symbol.toStringTag]="Module"});
package/modal/index.es.js CHANGED
@@ -34,7 +34,7 @@ var __publicField = (obj, key, value) => {
34
34
  return value;
35
35
  };
36
36
  import { defineComponent, toRefs, computed, createVNode, resolveDynamicComponent, mergeProps, watch, onUnmounted, Transition, ref, unref, nextTick, withModifiers, onMounted, watchEffect, onBeforeUnmount, Teleport, h, render } from "vue";
37
- import { offset, autoPlacement, arrow, shift, computePosition } from "@floating-ui/dom";
37
+ import { offset, flip, arrow, computePosition } from "@floating-ui/dom";
38
38
  const modalProps = {
39
39
  modelValue: {
40
40
  type: Boolean,
@@ -413,18 +413,12 @@ const flexibleOverlayProps = {
413
413
  clickEventBubble: {
414
414
  type: Boolean,
415
415
  default: false
416
+ },
417
+ fitOriginWidth: {
418
+ type: Boolean,
419
+ default: false
416
420
  }
417
421
  };
418
- function getScrollParent(element) {
419
- const overflowRegex = /(auto|scroll|hidden)/;
420
- for (let parent = element; parent = parent.parentElement; parent.parentElement !== document.body) {
421
- const style = window.getComputedStyle(parent);
422
- if (overflowRegex.test(style.overflow + style.overflowX + style.overflowY)) {
423
- return parent;
424
- }
425
- }
426
- return window;
427
- }
428
422
  function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
429
423
  let { x, y } = point;
430
424
  if (!isArrowCenter) {
@@ -445,9 +439,18 @@ function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
445
439
  return { x, y };
446
440
  }
447
441
  function useOverlay(props, emit) {
442
+ const { fitOriginWidth, position, showArrow } = toRefs(props);
448
443
  const overlayRef = ref();
449
444
  const arrowRef = ref();
450
- let originParent = null;
445
+ const overlayWidth = ref(0);
446
+ let originObserver;
447
+ const styles = computed(() => {
448
+ if (fitOriginWidth.value) {
449
+ return { width: overlayWidth.value + "px" };
450
+ } else {
451
+ return {};
452
+ }
453
+ });
451
454
  const updateArrowPosition = (arrowEl, placement, point, overlayEl) => {
452
455
  const { x, y } = adjustArrowPosition(props.isArrowCenter, point, placement, overlayEl.getBoundingClientRect());
453
456
  const staticSide = {
@@ -468,54 +471,67 @@ function useOverlay(props, emit) {
468
471
  const hostEl = props.origin;
469
472
  const overlayEl = unref(overlayRef.value);
470
473
  const arrowEl = unref(arrowRef.value);
471
- const middleware = [
472
- offset(props.offset),
473
- autoPlacement({
474
- alignment: props.align,
475
- allowedPlacements: props.position
476
- })
477
- ];
478
- props.showArrow && middleware.push(arrow({ element: arrowEl }));
479
- props.shiftOffset !== void 0 && middleware.push(shift());
480
- if (!overlayEl) {
481
- return;
474
+ const [mainPosition, ...fallbackPosition] = position.value;
475
+ const middleware = [offset(props.offset)];
476
+ middleware.push(fallbackPosition.length ? flip({ fallbackPlacements: fallbackPosition }) : flip());
477
+ if (showArrow.value) {
478
+ middleware.push(arrow({ element: arrowRef.value }));
482
479
  }
483
480
  const { x, y, placement, middlewareData } = await computePosition(hostEl, overlayEl, {
484
481
  strategy: "fixed",
482
+ placement: mainPosition,
485
483
  middleware
486
484
  });
487
485
  let applyX = x;
488
486
  let applyY = y;
489
- if (props.shiftOffset !== void 0) {
490
- const { x: shiftX, y: shiftY } = middlewareData.shift;
491
- shiftX < 0 && (applyX -= props.shiftOffset);
492
- shiftX > 0 && (applyX += props.shiftOffset);
493
- shiftY < 0 && (applyY -= props.shiftOffset);
494
- shiftY > 0 && (applyY += props.shiftOffset);
495
- }
496
487
  emit("positionChange", placement);
497
488
  Object.assign(overlayEl.style, { top: `${applyY}px`, left: `${applyX}px` });
498
489
  props.showArrow && updateArrowPosition(arrowEl, placement, middlewareData.arrow, overlayEl);
499
490
  };
491
+ const scrollCallback = (e) => {
492
+ var _a, _b;
493
+ const scrollElement = e.target;
494
+ if (scrollElement == null ? void 0 : scrollElement.contains((_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin)) {
495
+ updatePosition();
496
+ }
497
+ };
498
+ const updateWidth = (originEl) => {
499
+ overlayWidth.value = originEl.getBoundingClientRect().width;
500
+ updatePosition();
501
+ };
502
+ const observeOrigin = () => {
503
+ var _a, _b;
504
+ if (fitOriginWidth.value && typeof window !== "undefined") {
505
+ const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
506
+ if (originEl) {
507
+ originObserver = new window.ResizeObserver(() => updateWidth(originEl));
508
+ originObserver.observe(originEl);
509
+ }
510
+ }
511
+ };
512
+ const unobserveOrigin = () => {
513
+ var _a, _b;
514
+ const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
515
+ originEl && (originObserver == null ? void 0 : originObserver.unobserve(originEl));
516
+ };
500
517
  watch(() => props.modelValue, () => {
501
518
  if (props.modelValue && props.origin) {
502
- originParent = getScrollParent(props.origin);
503
519
  nextTick(updatePosition);
504
- originParent == null ? void 0 : originParent.addEventListener("scroll", updatePosition);
505
- originParent !== window && window.addEventListener("scroll", updatePosition);
520
+ window.addEventListener("scroll", scrollCallback, true);
506
521
  window.addEventListener("resize", updatePosition);
522
+ observeOrigin();
507
523
  } else {
508
- originParent == null ? void 0 : originParent.removeEventListener("scroll", updatePosition);
509
- originParent !== window && window.removeEventListener("scroll", updatePosition);
524
+ window.removeEventListener("scroll", scrollCallback, true);
510
525
  window.removeEventListener("resize", updatePosition);
526
+ unobserveOrigin();
511
527
  }
512
528
  });
513
529
  onUnmounted(() => {
514
- originParent == null ? void 0 : originParent.removeEventListener("scroll", updatePosition);
515
- originParent !== window && window.removeEventListener("scroll", updatePosition);
530
+ window.removeEventListener("scroll", scrollCallback, true);
516
531
  window.removeEventListener("resize", updatePosition);
532
+ unobserveOrigin();
517
533
  });
518
- return { arrowRef, overlayRef, updatePosition };
534
+ return { arrowRef, overlayRef, styles, updatePosition };
519
535
  }
520
536
  var flexibleOverlay = "";
521
537
  defineComponent({
@@ -536,6 +552,7 @@ defineComponent({
536
552
  const {
537
553
  arrowRef,
538
554
  overlayRef,
555
+ styles,
539
556
  updatePosition
540
557
  } = useOverlay(props, emit);
541
558
  expose({
@@ -545,7 +562,8 @@ defineComponent({
545
562
  var _a;
546
563
  return props.modelValue && createVNode("div", mergeProps({
547
564
  "ref": overlayRef,
548
- "class": ns.b()
565
+ "class": ns.b(),
566
+ "style": styles.value
549
567
  }, attrs, {
550
568
  "onClick": withModifiers(() => ({}), [clickEventBubble.value ? "" : "stop"]),
551
569
  "onPointerup": withModifiers(() => ({}), ["stop"])
@@ -1,7 +1,7 @@
1
- var ge=Object.defineProperty,ve=Object.defineProperties;var be=Object.getOwnPropertyDescriptors;var P=Object.getOwnPropertySymbols;var _=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable;var T=(c,e,u)=>e in c?ge(c,e,{enumerable:!0,configurable:!0,writable:!0,value:u}):c[e]=u,$=(c,e)=>{for(var u in e||(e={}))_.call(e,u)&&T(c,u,e[u]);if(P)for(var u of P(e))q.call(e,u)&&T(c,u,e[u]);return c},I=(c,e)=>ve(c,be(e));var W=(c,e)=>{var u={};for(var b in c)_.call(c,b)&&e.indexOf(b)<0&&(u[b]=c[b]);if(c!=null&&P)for(var b of P(c))e.indexOf(b)<0&&q.call(c,b)&&(u[b]=c[b]);return u};var G=(c,e,u)=>(T(c,typeof e!="symbol"?e+"":e,u),u);(function(c,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue"),require("@floating-ui/dom")):typeof define=="function"&&define.amd?define(["exports","vue","@floating-ui/dom"],e):(c=typeof globalThis!="undefined"?globalThis:c||self,e(c.index={},c.Vue,c.dom))})(this,function(c,e,u){"use strict";const b={modelValue:{type:Boolean,default:!1},title:{type:String,default:""},lockScroll:{type:Boolean,default:!0},draggable:{type:Boolean,default:!0},closeOnClickOverlay:{type:Boolean,default:!0},beforeClose:{type:Function},escapable:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},showAnimation:{type:Boolean,default:!0},showOverlay:{type:Boolean,default:!0},appendToBody:{type:Boolean,default:!0},type:{type:String,default:""},keepLast:{type:Boolean,default:!1}},K={name:{type:String,default:""},size:{type:[Number,String],default:"inherit"},color:{type:String,default:"inherit"},component:{type:Object,default:null},classPrefix:{type:String,default:"icon"},operable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},rotate:{type:[Number,String]}},Z={name:{type:String,default:"",required:!0},color:{type:String,default:"inherit"},size:{type:[Number,String],default:"inherit"}};function M(t,o,n){let l=t;return o&&(l+=`__${o}`),n&&(l+=`--${n}`),l}function V(t,o=!1){const n=o?`.devui-${t}`:`devui-${t}`;return{b:()=>M(n),e:r=>r?M(n,r):"",m:r=>r?M(n,"",r):"",em:(r,d)=>r&&d?M(n,r,d):""}}var Ce="",J=e.defineComponent({name:"DSvgIcon",props:Z,setup(t){const{name:o,color:n,size:l}=e.toRefs(t),a=V("svg-icon"),i=e.computed(()=>`#icon-${o.value}`),s=e.computed(()=>typeof l.value=="number"?`${l.value}px`:l.value),r={width:s.value,height:s.value};return()=>e.createVNode("svg",{class:a.b(),style:r},[e.createVNode("use",{"xlink:href":i.value,fill:n.value},null)])}});function Q(t){return/^((http|https):)?\/\//.test(t)}function ee(t,o){const{component:n,name:l,size:a,color:i,classPrefix:s,rotate:r}=e.toRefs(t),d=V("icon"),f=e.computed(()=>typeof a.value=="number"?`${a.value}px`:a.value),m=n.value?e.resolveDynamicComponent(n.value):e.resolveDynamicComponent(J),p=()=>e.createVNode("img",e.mergeProps({src:l.value,alt:l.value.split("/")[l.value.split("/").length-1],class:[(r==null?void 0:r.value)==="infinite"&&d.m("spin")],style:{width:f.value||"",transform:`rotate(${r==null?void 0:r.value}deg)`,verticalAlign:"middle"}},o.attrs),null),h=()=>e.createVNode(m,e.mergeProps({name:l.value,color:i.value,size:f.value,class:[(r==null?void 0:r.value)==="infinite"&&d.m("spin")],style:{transform:`rotate(${r==null?void 0:r.value}deg)`}},o.attrs),null),w=()=>{const v=/^icon-/.test(l.value)?l.value:`${s.value}-${l.value}`;return e.createVNode("i",e.mergeProps({class:[s.value,v,(r==null?void 0:r.value)==="infinite"&&d.m("spin")],style:{fontSize:f.value,color:i.value,transform:`rotate(${r==null?void 0:r.value}deg)`}},o.attrs),null)};return{iconDom:()=>n.value?h():Q(l.value)?p():w()}}var R=e.defineComponent({name:"DIcon",props:K,emits:["click"],setup(t,o){const{disabled:n,operable:l}=e.toRefs(t),{iconDom:a}=ee(t,o),i=V("icon"),s=e.computed(()=>({[i.e("container")]:!0,[i.m("disabled")]:n.value,[i.m("operable")]:l.value,[i.m("no-slots")]:!Object.keys(o.slots).length})),r=d=>{n.value||o.emit("click",d)};return()=>{var d,f,m,p;return e.createVNode("div",{class:s.value,onClick:r},[(f=(d=o.slots).prefix)==null?void 0:f.call(d),a(),(p=(m=o.slots).suffix)==null?void 0:p.call(m)])}}}),Ee="";e.defineComponent({name:"DIconGroup",setup(t,o){const n=V("icon-group");return()=>{var l,a;return e.createVNode("div",{class:n.b()},[(a=(l=o.slots).default)==null?void 0:a.call(l)])}}});const te={modelValue:{type:Boolean,default:!1},lockScroll:{type:Boolean,default:!0},closeOnClickOverlay:{type:Boolean,default:!0}};function z(){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 oe(t,o){let n;const l=i=>{i.preventDefault(),o.emit("click",i),t.closeOnClickOverlay&&o.emit("update:modelValue",!1)},a=()=>{n==null||n()};return e.watch(()=>t.modelValue,i=>{i?t.lockScroll&&(n=z()):a()}),e.onUnmounted(a),{onClick:l}}var Ne="";const ne=e.defineComponent({name:"DFixedOverlay",inheritAttrs:!1,props:te,emits:["update:modelValue","click"],setup(t,o){const{modelValue:n}=e.toRefs(t),l=V("fixed-overlay"),{onClick:a}=oe(t,o);return()=>e.createVNode(e.Transition,{name:l.m("fade")},{default:()=>{var i,s;return[n.value&&e.createVNode("div",e.mergeProps({class:l.b()},o.attrs,{onClick:a}),[(s=(i=o.slots).default)==null?void 0:s.call(i)])]}})}}),le={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},clickEventBubble:{type:Boolean,default:!1}};function ae(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 re(t,o,n,l){let{x:a,y:i}=o;if(!t){const{width:s,height:r}=l;a&&n.includes("start")&&(a=12),a&&n.includes("end")&&(a=Math.round(s-24)),i&&n.includes("start")&&(i=10),i&&n.includes("end")&&(i=r-14)}return{x:a,y:i}}function ie(t,o){const n=e.ref(),l=e.ref();let a=null;const i=(r,d,f,m)=>{const{x:p,y:h}=re(t.isArrowCenter,f,d,m.getBoundingClientRect()),w={top:"bottom",right:"left",bottom:"top",left:"right"}[d.split("-")[0]];Object.assign(r.style,{left:p?`${p}px`:"",top:h?`${h}px`:"",right:"",bottom:"",[w]:"-4px"})},s=async()=>{const r=t.origin,d=e.unref(n.value),f=e.unref(l.value),m=[u.offset(t.offset),u.autoPlacement({alignment:t.align,allowedPlacements:t.position})];if(t.showArrow&&m.push(u.arrow({element:f})),t.shiftOffset!==void 0&&m.push(u.shift()),!d)return;const{x:p,y:h,placement:w,middlewareData:g}=await u.computePosition(r,d,{strategy:"fixed",middleware:m});let v=p,C=h;if(t.shiftOffset!==void 0){const{x:N,y:x}=g.shift;N<0&&(v-=t.shiftOffset),N>0&&(v+=t.shiftOffset),x<0&&(C-=t.shiftOffset),x>0&&(C+=t.shiftOffset)}o("positionChange",w),Object.assign(d.style,{top:`${C}px`,left:`${v}px`}),t.showArrow&&i(f,w,g.arrow,d)};return e.watch(()=>t.modelValue,()=>{t.modelValue&&t.origin?(a=ae(t.origin),e.nextTick(s),a==null||a.addEventListener("scroll",s),a!==window&&window.addEventListener("scroll",s),window.addEventListener("resize",s)):(a==null||a.removeEventListener("scroll",s),a!==window&&window.removeEventListener("scroll",s),window.removeEventListener("resize",s))}),e.onUnmounted(()=>{a==null||a.removeEventListener("scroll",s),a!==window&&window.removeEventListener("scroll",s),window.removeEventListener("resize",s)}),{arrowRef:l,overlayRef:n,updatePosition:s}}var xe="";e.defineComponent({name:"DFlexibleOverlay",inheritAttrs:!1,props:le,emits:["update:modelValue","positionChange"],setup(t,{slots:o,attrs:n,emit:l,expose:a}){const i=V("flexible-overlay"),{clickEventBubble:s}=e.toRefs(t),{arrowRef:r,overlayRef:d,updatePosition:f}=ie(t,l);return a({updatePosition:f}),()=>{var m;return t.modelValue&&e.createVNode("div",e.mergeProps({ref:d,class:i.b()},n,{onClick:e.withModifiers(()=>({}),[s.value?"":"stop"]),onPointerup:e.withModifiers(()=>({}),["stop"])}),[(m=o.default)==null?void 0:m.call(o),t.showArrow&&e.createVNode("div",{ref:r,class:i.e("arrow")},null)])}}});const se=typeof window!="undefined";function ce(t,o){function n(){o("update:modelValue",!1),o("close")}function l(){t.beforeClose?t.beforeClose(n):n()}function a(i){i.code==="Escape"&&l()}return e.onMounted(()=>{t.escapable&&window.addEventListener("keydown",a)}),e.onUnmounted(()=>{t.escapable&&window.addEventListener("keydown",a)}),{execClose:l}}function de(t){let o;const n=()=>{o==null||o()};e.watch(()=>t.modelValue,l=>{l?t.lockScroll&&(o=z()):n()},{immediate:!0}),e.onUnmounted(n)}function F(t,o="px"){return t?typeof t=="string"?t:typeof t=="number"?`${t}${o}`:"":""}const ue=(t,o,n)=>{const l=e.ref("translate(-50%, -50%)");let a={offsetX:0,offsetY:0};const i=f=>{const m=f.clientX,p=f.clientY,{offsetX:h,offsetY:w}=a,g=t.value.getBoundingClientRect(),v=g.left,C=g.top,N=g.width,x=g.height,E=document.documentElement.clientWidth,y=document.documentElement.clientHeight,A=-v+h,ye=-C+w,he=E-v-N+h,we=y-C-x+w,X=U=>{const H=Math.min(Math.max(h+U.clientX-m,A),he),j=Math.min(Math.max(w+U.clientY-p,ye),we);a={offsetX:H,offsetY:j},l.value=`translate(calc(-50% + ${F(H)}), calc(-50% + ${F(j)}))`},Y=()=>{document.removeEventListener("mousemove",X),document.removeEventListener("mouseup",Y)};document.addEventListener("mousemove",X),document.addEventListener("mouseup",Y)},s=()=>{o.value&&t.value&&o.value.addEventListener("mousedown",i)},r=()=>{o.value&&t.value&&o.value.removeEventListener("mousedown",i)};return e.onMounted(()=>{e.watchEffect(()=>{n.value?s():r()})}),e.onBeforeUnmount(()=>{r()}),{clearPosition:()=>{a={offsetX:0,offsetY:0},l.value="translate(-50%, -50%)"},modalPosition:l}};var O=e.defineComponent({name:"DModalHeader",setup(t,{slots:o}){const n=V("modal");return()=>{var l;return e.createVNode("div",{class:n.e("header")},[(l=o.default)==null?void 0:l.call(o)])}}}),B=e.defineComponent({name:"DModalBody",setup(t,{slots:o}){const n=V("modal");return()=>{var l;return e.createVNode("div",{class:n.e("body")},[(l=o.default)==null?void 0:l.call(o)])}}});function fe(){return e.createVNode("svg",{width:"18px",height:"18px",viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},[e.createVNode("g",{id:"modal-close",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[e.createVNode("g",{transform:"translate(3.000000, 3.000000)",fill:"#71757F","fill-rule":"nonzero",id:"modal-close-road"},[e.createVNode("path",{d:`M-0.353553391,-0.353553391 C-0.179987039,-0.527119742 0.0894373624,-0.546404893 0.284305503,-0.411408841 L0.353553391,-0.353553391
1
+ var he=Object.defineProperty,ve=Object.defineProperties;var we=Object.getOwnPropertyDescriptors;var I=Object.getOwnPropertySymbols;var G=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable;var U=(s,e,m)=>e in s?he(s,e,{enumerable:!0,configurable:!0,writable:!0,value:m}):s[e]=m,X=(s,e)=>{for(var m in e||(e={}))G.call(e,m)&&U(s,m,e[m]);if(I)for(var m of I(e))K.call(e,m)&&U(s,m,e[m]);return s},H=(s,e)=>ve(s,we(e));var Z=(s,e)=>{var m={};for(var E in s)G.call(s,E)&&e.indexOf(E)<0&&(m[E]=s[E]);if(s!=null&&I)for(var E of I(s))e.indexOf(E)<0&&K.call(s,E)&&(m[E]=s[E]);return m};var J=(s,e,m)=>(U(s,typeof e!="symbol"?e+"":e,m),m);(function(s,e){typeof exports=="object"&&typeof module!="undefined"?e(exports,require("vue"),require("@floating-ui/dom")):typeof define=="function"&&define.amd?define(["exports","vue","@floating-ui/dom"],e):(s=typeof globalThis!="undefined"?globalThis:s||self,e(s.index={},s.Vue,s.dom))})(this,function(s,e,m){"use strict";const E={modelValue:{type:Boolean,default:!1},title:{type:String,default:""},lockScroll:{type:Boolean,default:!0},draggable:{type:Boolean,default:!0},closeOnClickOverlay:{type:Boolean,default:!0},beforeClose:{type:Function},escapable:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},showAnimation:{type:Boolean,default:!0},showOverlay:{type:Boolean,default:!0},appendToBody:{type:Boolean,default:!0},type:{type:String,default:""},keepLast:{type:Boolean,default:!1}},Q={name:{type:String,default:""},size:{type:[Number,String],default:"inherit"},color:{type:String,default:"inherit"},component:{type:Object,default:null},classPrefix:{type:String,default:"icon"},operable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},rotate:{type:[Number,String]}},ee={name:{type:String,default:"",required:!0},color:{type:String,default:"inherit"},size:{type:[Number,String],default:"inherit"}};function O(o,t,n){let l=o;return t&&(l+=`__${t}`),n&&(l+=`--${n}`),l}function x(o,t=!1){const n=t?`.devui-${o}`:`devui-${o}`;return{b:()=>O(n),e:a=>a?O(n,a):"",m:a=>a?O(n,"",a):"",em:(a,d)=>a&&d?O(n,a,d):""}}var Ve="",te=e.defineComponent({name:"DSvgIcon",props:ee,setup(o){const{name:t,color:n,size:l}=e.toRefs(o),r=x("svg-icon"),i=e.computed(()=>`#icon-${t.value}`),c=e.computed(()=>typeof l.value=="number"?`${l.value}px`:l.value),a={width:c.value,height:c.value};return()=>e.createVNode("svg",{class:r.b(),style:a},[e.createVNode("use",{"xlink:href":i.value,fill:n.value},null)])}});function oe(o){return/^((http|https):)?\/\//.test(o)}function ne(o,t){const{component:n,name:l,size:r,color:i,classPrefix:c,rotate:a}=e.toRefs(o),d=x("icon"),g=e.computed(()=>typeof r.value=="number"?`${r.value}px`:r.value),w=n.value?e.resolveDynamicComponent(n.value):e.resolveDynamicComponent(te),u=()=>e.createVNode("img",e.mergeProps({src:l.value,alt:l.value.split("/")[l.value.split("/").length-1],class:[(a==null?void 0:a.value)==="infinite"&&d.m("spin")],style:{width:g.value||"",transform:`rotate(${a==null?void 0:a.value}deg)`,verticalAlign:"middle"}},t.attrs),null),h=()=>e.createVNode(w,e.mergeProps({name:l.value,color:i.value,size:g.value,class:[(a==null?void 0:a.value)==="infinite"&&d.m("spin")],style:{transform:`rotate(${a==null?void 0:a.value}deg)`}},t.attrs),null),b=()=>{const N=/^icon-/.test(l.value)?l.value:`${c.value}-${l.value}`;return e.createVNode("i",e.mergeProps({class:[c.value,N,(a==null?void 0:a.value)==="infinite"&&d.m("spin")],style:{fontSize:g.value,color:i.value,transform:`rotate(${a==null?void 0:a.value}deg)`}},t.attrs),null)};return{iconDom:()=>n.value?h():oe(l.value)?u():b()}}var Y=e.defineComponent({name:"DIcon",props:Q,emits:["click"],setup(o,t){const{disabled:n,operable:l}=e.toRefs(o),{iconDom:r}=ne(o,t),i=x("icon"),c=e.computed(()=>({[i.e("container")]:!0,[i.m("disabled")]:n.value,[i.m("operable")]:l.value,[i.m("no-slots")]:!Object.keys(t.slots).length})),a=d=>{n.value||t.emit("click",d)};return()=>{var d,g,w,u;return e.createVNode("div",{class:c.value,onClick:a},[(g=(d=t.slots).prefix)==null?void 0:g.call(d),r(),(u=(w=t.slots).suffix)==null?void 0:u.call(w)])}}}),Ce="";e.defineComponent({name:"DIconGroup",setup(o,t){const n=x("icon-group");return()=>{var l,r;return e.createVNode("div",{class:n.b()},[(r=(l=t.slots).default)==null?void 0:r.call(l)])}}});const le={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 o=document.documentElement.scrollTop,t=document.documentElement.getAttribute("style");return document.documentElement.style.position="fixed",document.documentElement.style.top=`-${o}px`,document.documentElement.style.width=document.documentElement.style.width||"100%",document.documentElement.style.overflowY="scroll",()=>{t?document.documentElement.setAttribute("style",t):document.documentElement.removeAttribute("style"),document.documentElement.scrollTop=o}}}function ae(o,t){let n;const l=i=>{i.preventDefault(),t.emit("click",i),o.closeOnClickOverlay&&t.emit("update:modelValue",!1)},r=()=>{n==null||n()};return e.watch(()=>o.modelValue,i=>{i?o.lockScroll&&(n=j()):r()}),e.onUnmounted(r),{onClick:l}}var Ne="";const re=e.defineComponent({name:"DFixedOverlay",inheritAttrs:!1,props:le,emits:["update:modelValue","click"],setup(o,t){const{modelValue:n}=e.toRefs(o),l=x("fixed-overlay"),{onClick:r}=ae(o,t);return()=>e.createVNode(e.Transition,{name:l.m("fade")},{default:()=>{var i,c;return[n.value&&e.createVNode("div",e.mergeProps({class:l.b()},t.attrs,{onClick:r}),[(c=(i=t.slots).default)==null?void 0:c.call(i)])]}})}}),ie={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},clickEventBubble:{type:Boolean,default:!1},fitOriginWidth:{type:Boolean,default:!1}};function se(o,t,n,l){let{x:r,y:i}=t;if(!o){const{width:c,height:a}=l;r&&n.includes("start")&&(r=12),r&&n.includes("end")&&(r=Math.round(c-24)),i&&n.includes("start")&&(i=10),i&&n.includes("end")&&(i=a-14)}return{x:r,y:i}}function ce(o,t){const{fitOriginWidth:n,position:l,showArrow:r}=e.toRefs(o),i=e.ref(),c=e.ref(),a=e.ref(0);let d;const g=e.computed(()=>n.value?{width:a.value+"px"}:{}),w=(y,p,v,C)=>{const{x:f,y:k}=se(o.isArrowCenter,v,p,C.getBoundingClientRect()),M={top:"bottom",right:"left",bottom:"top",left:"right"}[p.split("-")[0]];Object.assign(y.style,{left:f?`${f}px`:"",top:k?`${k}px`:"",right:"",bottom:"",[M]:"-4px"})},u=async()=>{const y=o.origin,p=e.unref(i.value),v=e.unref(c.value),[C,...f]=l.value,k=[m.offset(o.offset)];k.push(f.length?m.flip({fallbackPlacements:f}):m.flip()),r.value&&k.push(m.arrow({element:c.value}));const{x:M,y:F,placement:A,middlewareData:S}=await m.computePosition(y,p,{strategy:"fixed",placement:C,middleware:k});let $=M,T=F;t("positionChange",A),Object.assign(p.style,{top:`${T}px`,left:`${$}px`}),o.showArrow&&w(v,A,S.arrow,p)},h=y=>{var v,C;const p=y.target;(p==null?void 0:p.contains((C=(v=o.origin)==null?void 0:v.$el)!=null?C:o.origin))&&u()},b=y=>{a.value=y.getBoundingClientRect().width,u()},V=()=>{var y,p;if(n.value&&typeof window!="undefined"){const v=(p=(y=o.origin)==null?void 0:y.$el)!=null?p:o.origin;v&&(d=new window.ResizeObserver(()=>b(v)),d.observe(v))}},N=()=>{var p,v;const y=(v=(p=o.origin)==null?void 0:p.$el)!=null?v:o.origin;y&&(d==null||d.unobserve(y))};return e.watch(()=>o.modelValue,()=>{o.modelValue&&o.origin?(e.nextTick(u),window.addEventListener("scroll",h,!0),window.addEventListener("resize",u),V()):(window.removeEventListener("scroll",h,!0),window.removeEventListener("resize",u),N())}),e.onUnmounted(()=>{window.removeEventListener("scroll",h,!0),window.removeEventListener("resize",u),N()}),{arrowRef:c,overlayRef:i,styles:g,updatePosition:u}}var Ee="";e.defineComponent({name:"DFlexibleOverlay",inheritAttrs:!1,props:ie,emits:["update:modelValue","positionChange"],setup(o,{slots:t,attrs:n,emit:l,expose:r}){const i=x("flexible-overlay"),{clickEventBubble:c}=e.toRefs(o),{arrowRef:a,overlayRef:d,styles:g,updatePosition:w}=ce(o,l);return r({updatePosition:w}),()=>{var u;return o.modelValue&&e.createVNode("div",e.mergeProps({ref:d,class:i.b(),style:g.value},n,{onClick:e.withModifiers(()=>({}),[c.value?"":"stop"]),onPointerup:e.withModifiers(()=>({}),["stop"])}),[(u=t.default)==null?void 0:u.call(t),o.showArrow&&e.createVNode("div",{ref:a,class:i.e("arrow")},null)])}}});const de=typeof window!="undefined";function ue(o,t){function n(){t("update:modelValue",!1),t("close")}function l(){o.beforeClose?o.beforeClose(n):n()}function r(i){i.code==="Escape"&&l()}return e.onMounted(()=>{o.escapable&&window.addEventListener("keydown",r)}),e.onUnmounted(()=>{o.escapable&&window.addEventListener("keydown",r)}),{execClose:l}}function fe(o){let t;const n=()=>{t==null||t()};e.watch(()=>o.modelValue,l=>{l?o.lockScroll&&(t=j()):n()},{immediate:!0}),e.onUnmounted(n)}function _(o,t="px"){return o?typeof o=="string"?o:typeof o=="number"?`${o}${t}`:"":""}const me=(o,t,n)=>{const l=e.ref("translate(-50%, -50%)");let r={offsetX:0,offsetY:0};const i=g=>{const w=g.clientX,u=g.clientY,{offsetX:h,offsetY:b}=r,V=o.value.getBoundingClientRect(),N=V.left,y=V.top,p=V.width,v=V.height,C=document.documentElement.clientWidth,f=document.documentElement.clientHeight,k=-N+h,M=-y+b,F=C-N-p+h,A=f-y-v+b,S=T=>{const W=Math.min(Math.max(h+T.clientX-w,k),F),q=Math.min(Math.max(b+T.clientY-u,M),A);r={offsetX:W,offsetY:q},l.value=`translate(calc(-50% + ${_(W)}), calc(-50% + ${_(q)}))`},$=()=>{document.removeEventListener("mousemove",S),document.removeEventListener("mouseup",$)};document.addEventListener("mousemove",S),document.addEventListener("mouseup",$)},c=()=>{t.value&&o.value&&t.value.addEventListener("mousedown",i)},a=()=>{t.value&&o.value&&t.value.removeEventListener("mousedown",i)};return e.onMounted(()=>{e.watchEffect(()=>{n.value?c():a()})}),e.onBeforeUnmount(()=>{a()}),{clearPosition:()=>{r={offsetX:0,offsetY:0},l.value="translate(-50%, -50%)"},modalPosition:l}};var B=e.defineComponent({name:"DModalHeader",setup(o,{slots:t}){const n=x("modal");return()=>{var l;return e.createVNode("div",{class:n.e("header")},[(l=t.default)==null?void 0:l.call(t)])}}}),P=e.defineComponent({name:"DModalBody",setup(o,{slots:t}){const n=x("modal");return()=>{var l;return e.createVNode("div",{class:n.e("body")},[(l=t.default)==null?void 0:l.call(t)])}}});function pe(){return e.createVNode("svg",{width:"18px",height:"18px",viewBox:"0 0 16 16",version:"1.1",xmlns:"http://www.w3.org/2000/svg"},[e.createVNode("g",{id:"modal-close",stroke:"none","stroke-width":"1",fill:"none","fill-rule":"evenodd"},[e.createVNode("g",{transform:"translate(3.000000, 3.000000)",fill:"#71757F","fill-rule":"nonzero",id:"modal-close-road"},[e.createVNode("path",{d:`M-0.353553391,-0.353553391 C-0.179987039,-0.527119742 0.0894373624,-0.546404893 0.284305503,-0.411408841 L0.353553391,-0.353553391
2
2
  L10.3535534,9.64644661 C10.5488155,9.84170876 10.5488155,10.1582912 10.3535534,10.3535534 C10.179987,10.5271197 9.91056264,10.5464049
3
3
  9.7156945,10.4114088 L9.64644661,10.3535534 L-0.353553391,0.353553391 C-0.548815536,0.158291245 -0.548815536,-0.158291245
4
4
  -0.353553391,-0.353553391 Z`},null),e.createVNode("path",{d:`M9.64644661,-0.353553391 C9.84170876,-0.548815536 10.1582912,-0.548815536 10.3535534,-0.353553391 C10.5271197,-0.179987039
5
5
  10.5464049,0.0894373624 10.4114088,0.284305503 L10.3535534,0.353553391 L0.353553391,10.3535534 C0.158291245,10.5488155
6
6
  -0.158291245,10.5488155 -0.353553391,10.3535534 C-0.527119742,10.179987 -0.546404893,9.91056264 -0.411408841,9.7156945 L-0.353553391,9.64644661
7
- L9.64644661,-0.353553391 Z`},null)])])])}var Oe="",L=e.defineComponent({name:"DModal",inheritAttrs:!1,props:b,emits:["update:modelValue","close"],setup(t,{slots:o,attrs:n,emit:l}){const a=V("modal"),{modelValue:i,title:s,showClose:r,showOverlay:d,appendToBody:f,closeOnClickOverlay:m,keepLast:p}=e.toRefs(t),{execClose:h}=ce(t,l);de(t);const w=e.ref(),g=e.ref(),v=e.computed(()=>t.draggable),{clearPosition:C,modalPosition:N}=ue(w,g,v);e.watch(i,E=>{E&&!p.value&&(C(),e.nextTick(()=>{const y=document==null?void 0:document.querySelector("[autofocus]");y&&y.focus()}))});const x=()=>{const y=[{type:"success",text:"\u6210\u529F",icon:"right-o",color:"var(--devui-success)"},{type:"failed",text:"\u9519\u8BEF",icon:"error-o",color:"var(--devui-danger)"},{type:"warning",text:"\u8B66\u544A",icon:"warning-o",color:"var(--devui-warning)"},{type:"info",text:"\u4FE1\u606F",icon:"info-o",color:"var(--devui-info)"}].find(A=>A.type===t.type);return e.createVNode("div",{style:{cursor:t.draggable?"move":"default"},ref:g},[e.createVNode(O,null,{default:()=>[e.createVNode("div",{class:"type-content"},[e.createVNode("div",{class:"type-content-icon"},[e.createVNode(R,{name:y==null?void 0:y.icon,color:y==null?void 0:y.color},null)]),e.createVNode("div",{class:"type-content-text"},[y==null?void 0:y.text])])]})])};return()=>e.createVNode(e.Teleport,{to:"body",disabled:!f.value},{default:()=>[d.value&&e.createVNode(ne,e.mergeProps({modelValue:i.value},{"onUpdate:modelValue":h},{class:a.e("overlay"),"lock-scroll":!1,"close-on-click-overlay":m.value,style:{zIndex:"calc(var(--devui-z-index-modal, 1050) - 1)"}}),null),e.createVNode(e.Transition,{name:t.showAnimation?a.m("wipe"):""},{default:()=>{var E;return[i.value&&e.createVNode("div",e.mergeProps({ref:w,class:a.b()},n,{onClick:y=>y.stopPropagation(),style:{transform:N.value}}),[r.value&&e.createVNode("div",{onClick:h,class:"btn-close"},[e.createVNode(R,{operable:!0,component:fe()},null)]),t.type?x():e.createVNode("div",{style:{cursor:t.draggable?"move":"default"},ref:g},[o.header?o.header():s.value&&e.createVNode(O,null,{default:()=>[s.value]})]),e.createVNode(B,null,{default:()=>{var y;return[(y=o.default)==null?void 0:y.call(o)]}}),(E=o.footer)==null?void 0:E.call(o)])]}})]})}}),D=e.defineComponent({name:"DModalFooter",setup(t,{slots:o}){const n=V("modal");return()=>{var l;return e.createVNode("div",{class:n.e("footer")},[(l=o.default)==null?void 0:l.call(o)])}}});class me{constructor(o){this.anchorContainer=o}renderModal(o,n,l){const a=e.h(this.component(),n,l);return e.render(a,o),a}renderNull(o){setTimeout(()=>{e.render(null,o)},500)}}let k;class S extends me{component(){return L}open(o={}){const n=document.createElement("div");this.anchorContainer.appendChild(n);const m=o,{header:l,content:a,footer:i}=m,s=W(m,["header","content","footer"]),r=(p,h)=>this.renderModal(n,I($({},p),{modelValue:!0,"onUpdate:modelValue":h}),{header:l,default:a,footer:i}),d=()=>{var h,w,g;const p=v=>{v||d()};r(s,v=>{v?r(s,p):(this.renderModal(n,I($({},s),{modelValue:!1})),this.renderNull(n))}),(g=(w=(h=k==null?void 0:k.component)==null?void 0:h.exposed)==null?void 0:w.handleVisibleChange)==null||g.call(w,!1)},f=p=>{p||d()};return this.renderModal(n,{modelValue:!1}),k=r(s,f),{hide:d}}}G(S,"token","MODAL_SERVICE_TOKEN");var pe={title:"Modal \u5F39\u7A97",category:"\u53CD\u9988",status:"100%",install(t){if(t.component(L.name,L),t.component(O.name,O),t.component(B.name,B),t.component(D.name,D),!se)return;let o=document.getElementById("d-modal-anchors-container");o||(o=document.createElement("div"),o.setAttribute("id","d-modal-anchors-container"),document.body.appendChild(o)),t.provide(S.token,new S(o))}};c.Modal=L,c.ModalBody=B,c.ModalFooter=D,c.ModalHeader=O,c.default=pe,c.modalProps=b,Object.defineProperty(c,"__esModule",{value:!0}),c[Symbol.toStringTag]="Module"});
7
+ L9.64644661,-0.353553391 Z`},null)])])])}var xe="",L=e.defineComponent({name:"DModal",inheritAttrs:!1,props:E,emits:["update:modelValue","close"],setup(o,{slots:t,attrs:n,emit:l}){const r=x("modal"),{modelValue:i,title:c,showClose:a,showOverlay:d,appendToBody:g,closeOnClickOverlay:w,keepLast:u}=e.toRefs(o),{execClose:h}=ue(o,l);fe(o);const b=e.ref(),V=e.ref(),N=e.computed(()=>o.draggable),{clearPosition:y,modalPosition:p}=me(b,V,N);e.watch(i,C=>{C&&!u.value&&(y(),e.nextTick(()=>{const f=document==null?void 0:document.querySelector("[autofocus]");f&&f.focus()}))});const v=()=>{const f=[{type:"success",text:"\u6210\u529F",icon:"right-o",color:"var(--devui-success)"},{type:"failed",text:"\u9519\u8BEF",icon:"error-o",color:"var(--devui-danger)"},{type:"warning",text:"\u8B66\u544A",icon:"warning-o",color:"var(--devui-warning)"},{type:"info",text:"\u4FE1\u606F",icon:"info-o",color:"var(--devui-info)"}].find(k=>k.type===o.type);return e.createVNode("div",{style:{cursor:o.draggable?"move":"default"},ref:V},[e.createVNode(B,null,{default:()=>[e.createVNode("div",{class:"type-content"},[e.createVNode("div",{class:"type-content-icon"},[e.createVNode(Y,{name:f==null?void 0:f.icon,color:f==null?void 0:f.color},null)]),e.createVNode("div",{class:"type-content-text"},[f==null?void 0:f.text])])]})])};return()=>e.createVNode(e.Teleport,{to:"body",disabled:!g.value},{default:()=>[d.value&&e.createVNode(re,e.mergeProps({modelValue:i.value},{"onUpdate:modelValue":h},{class:r.e("overlay"),"lock-scroll":!1,"close-on-click-overlay":w.value,style:{zIndex:"calc(var(--devui-z-index-modal, 1050) - 1)"}}),null),e.createVNode(e.Transition,{name:o.showAnimation?r.m("wipe"):""},{default:()=>{var C;return[i.value&&e.createVNode("div",e.mergeProps({ref:b,class:r.b()},n,{onClick:f=>f.stopPropagation(),style:{transform:p.value}}),[a.value&&e.createVNode("div",{onClick:h,class:"btn-close"},[e.createVNode(Y,{operable:!0,component:pe()},null)]),o.type?v():e.createVNode("div",{style:{cursor:o.draggable?"move":"default"},ref:V},[t.header?t.header():c.value&&e.createVNode(B,null,{default:()=>[c.value]})]),e.createVNode(P,null,{default:()=>{var f;return[(f=t.default)==null?void 0:f.call(t)]}}),(C=t.footer)==null?void 0:C.call(t)])]}})]})}}),R=e.defineComponent({name:"DModalFooter",setup(o,{slots:t}){const n=x("modal");return()=>{var l;return e.createVNode("div",{class:n.e("footer")},[(l=t.default)==null?void 0:l.call(t)])}}});class ye{constructor(t){this.anchorContainer=t}renderModal(t,n,l){const r=e.h(this.component(),n,l);return e.render(r,t),r}renderNull(t){setTimeout(()=>{e.render(null,t)},500)}}let D;class z extends ye{component(){return L}open(t={}){const n=document.createElement("div");this.anchorContainer.appendChild(n);const w=t,{header:l,content:r,footer:i}=w,c=Z(w,["header","content","footer"]),a=(u,h)=>this.renderModal(n,H(X({},u),{modelValue:!0,"onUpdate:modelValue":h}),{header:l,default:r,footer:i}),d=()=>{var h,b,V;const u=N=>{N||d()};a(c,N=>{N?a(c,u):(this.renderModal(n,H(X({},c),{modelValue:!1})),this.renderNull(n))}),(V=(b=(h=D==null?void 0:D.component)==null?void 0:h.exposed)==null?void 0:b.handleVisibleChange)==null||V.call(b,!1)},g=u=>{u||d()};return this.renderModal(n,{modelValue:!1}),D=a(c,g),{hide:d}}}J(z,"token","MODAL_SERVICE_TOKEN");var ge={title:"Modal \u5F39\u7A97",category:"\u53CD\u9988",status:"100%",install(o){if(o.component(L.name,L),o.component(B.name,B),o.component(P.name,P),o.component(R.name,R),!de)return;let t=document.getElementById("d-modal-anchors-container");t||(t=document.createElement("div"),t.setAttribute("id","d-modal-anchors-container"),document.body.appendChild(t)),o.provide(z.token,new z(t))}};s.Modal=L,s.ModalBody=P,s.ModalFooter=R,s.ModalHeader=B,s.default=ge,s.modalProps=E,Object.defineProperty(s,"__esModule",{value:!0}),s[Symbol.toStringTag]="Module"});
@@ -1,5 +1,5 @@
1
- import { watch, onUnmounted, defineComponent, toRefs, createVNode, Transition, mergeProps, ref, unref, nextTick, withModifiers } from "vue";
2
- import { offset, autoPlacement, arrow, shift, computePosition } from "@floating-ui/dom";
1
+ import { watch, onUnmounted, defineComponent, toRefs, createVNode, Transition, mergeProps, ref, computed, unref, nextTick, withModifiers } from "vue";
2
+ import { offset, flip, arrow, computePosition } from "@floating-ui/dom";
3
3
  const fixedOverlayProps = {
4
4
  modelValue: {
5
5
  type: Boolean,
@@ -141,18 +141,12 @@ const flexibleOverlayProps = {
141
141
  clickEventBubble: {
142
142
  type: Boolean,
143
143
  default: false
144
+ },
145
+ fitOriginWidth: {
146
+ type: Boolean,
147
+ default: false
144
148
  }
145
149
  };
146
- function getScrollParent(element) {
147
- const overflowRegex = /(auto|scroll|hidden)/;
148
- for (let parent = element; parent = parent.parentElement; parent.parentElement !== document.body) {
149
- const style = window.getComputedStyle(parent);
150
- if (overflowRegex.test(style.overflow + style.overflowX + style.overflowY)) {
151
- return parent;
152
- }
153
- }
154
- return window;
155
- }
156
150
  function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
157
151
  let { x, y } = point;
158
152
  if (!isArrowCenter) {
@@ -173,9 +167,18 @@ function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
173
167
  return { x, y };
174
168
  }
175
169
  function useOverlay(props, emit) {
170
+ const { fitOriginWidth, position, showArrow } = toRefs(props);
176
171
  const overlayRef = ref();
177
172
  const arrowRef = ref();
178
- let originParent = null;
173
+ const overlayWidth = ref(0);
174
+ let originObserver;
175
+ const styles = computed(() => {
176
+ if (fitOriginWidth.value) {
177
+ return { width: overlayWidth.value + "px" };
178
+ } else {
179
+ return {};
180
+ }
181
+ });
179
182
  const updateArrowPosition = (arrowEl, placement, point, overlayEl) => {
180
183
  const { x, y } = adjustArrowPosition(props.isArrowCenter, point, placement, overlayEl.getBoundingClientRect());
181
184
  const staticSide = {
@@ -196,54 +199,67 @@ function useOverlay(props, emit) {
196
199
  const hostEl = props.origin;
197
200
  const overlayEl = unref(overlayRef.value);
198
201
  const arrowEl = unref(arrowRef.value);
199
- const middleware = [
200
- offset(props.offset),
201
- autoPlacement({
202
- alignment: props.align,
203
- allowedPlacements: props.position
204
- })
205
- ];
206
- props.showArrow && middleware.push(arrow({ element: arrowEl }));
207
- props.shiftOffset !== void 0 && middleware.push(shift());
208
- if (!overlayEl) {
209
- return;
202
+ const [mainPosition, ...fallbackPosition] = position.value;
203
+ const middleware = [offset(props.offset)];
204
+ middleware.push(fallbackPosition.length ? flip({ fallbackPlacements: fallbackPosition }) : flip());
205
+ if (showArrow.value) {
206
+ middleware.push(arrow({ element: arrowRef.value }));
210
207
  }
211
208
  const { x, y, placement, middlewareData } = await computePosition(hostEl, overlayEl, {
212
209
  strategy: "fixed",
210
+ placement: mainPosition,
213
211
  middleware
214
212
  });
215
213
  let applyX = x;
216
214
  let applyY = y;
217
- if (props.shiftOffset !== void 0) {
218
- const { x: shiftX, y: shiftY } = middlewareData.shift;
219
- shiftX < 0 && (applyX -= props.shiftOffset);
220
- shiftX > 0 && (applyX += props.shiftOffset);
221
- shiftY < 0 && (applyY -= props.shiftOffset);
222
- shiftY > 0 && (applyY += props.shiftOffset);
223
- }
224
215
  emit("positionChange", placement);
225
216
  Object.assign(overlayEl.style, { top: `${applyY}px`, left: `${applyX}px` });
226
217
  props.showArrow && updateArrowPosition(arrowEl, placement, middlewareData.arrow, overlayEl);
227
218
  };
219
+ const scrollCallback = (e) => {
220
+ var _a, _b;
221
+ const scrollElement = e.target;
222
+ if (scrollElement == null ? void 0 : scrollElement.contains((_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin)) {
223
+ updatePosition();
224
+ }
225
+ };
226
+ const updateWidth = (originEl) => {
227
+ overlayWidth.value = originEl.getBoundingClientRect().width;
228
+ updatePosition();
229
+ };
230
+ const observeOrigin = () => {
231
+ var _a, _b;
232
+ if (fitOriginWidth.value && typeof window !== "undefined") {
233
+ const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
234
+ if (originEl) {
235
+ originObserver = new window.ResizeObserver(() => updateWidth(originEl));
236
+ originObserver.observe(originEl);
237
+ }
238
+ }
239
+ };
240
+ const unobserveOrigin = () => {
241
+ var _a, _b;
242
+ const originEl = (_b = (_a = props.origin) == null ? void 0 : _a.$el) != null ? _b : props.origin;
243
+ originEl && (originObserver == null ? void 0 : originObserver.unobserve(originEl));
244
+ };
228
245
  watch(() => props.modelValue, () => {
229
246
  if (props.modelValue && props.origin) {
230
- originParent = getScrollParent(props.origin);
231
247
  nextTick(updatePosition);
232
- originParent == null ? void 0 : originParent.addEventListener("scroll", updatePosition);
233
- originParent !== window && window.addEventListener("scroll", updatePosition);
248
+ window.addEventListener("scroll", scrollCallback, true);
234
249
  window.addEventListener("resize", updatePosition);
250
+ observeOrigin();
235
251
  } else {
236
- originParent == null ? void 0 : originParent.removeEventListener("scroll", updatePosition);
237
- originParent !== window && window.removeEventListener("scroll", updatePosition);
252
+ window.removeEventListener("scroll", scrollCallback, true);
238
253
  window.removeEventListener("resize", updatePosition);
254
+ unobserveOrigin();
239
255
  }
240
256
  });
241
257
  onUnmounted(() => {
242
- originParent == null ? void 0 : originParent.removeEventListener("scroll", updatePosition);
243
- originParent !== window && window.removeEventListener("scroll", updatePosition);
258
+ window.removeEventListener("scroll", scrollCallback, true);
244
259
  window.removeEventListener("resize", updatePosition);
260
+ unobserveOrigin();
245
261
  });
246
- return { arrowRef, overlayRef, updatePosition };
262
+ return { arrowRef, overlayRef, styles, updatePosition };
247
263
  }
248
264
  var flexibleOverlay = "";
249
265
  const FlexibleOverlay = defineComponent({
@@ -264,6 +280,7 @@ const FlexibleOverlay = defineComponent({
264
280
  const {
265
281
  arrowRef,
266
282
  overlayRef,
283
+ styles,
267
284
  updatePosition
268
285
  } = useOverlay(props, emit);
269
286
  expose({
@@ -273,7 +290,8 @@ const FlexibleOverlay = defineComponent({
273
290
  var _a;
274
291
  return props.modelValue && createVNode("div", mergeProps({
275
292
  "ref": overlayRef,
276
- "class": ns.b()
293
+ "class": ns.b(),
294
+ "style": styles.value
277
295
  }, attrs, {
278
296
  "onClick": withModifiers(() => ({}), [clickEventBubble.value ? "" : "stop"]),
279
297
  "onPointerup": withModifiers(() => ({}), ["stop"])
@@ -1 +1 @@
1
- (function(a,l){typeof exports=="object"&&typeof module!="undefined"?l(exports,require("vue"),require("@floating-ui/dom")):typeof define=="function"&&define.amd?define(["exports","vue","@floating-ui/dom"],l):(a=typeof globalThis!="undefined"?globalThis:a||self,l(a.index={},a.Vue,a.dom))})(this,function(a,l,m){"use strict";const x={modelValue:{type:Boolean,default:!1},lockScroll:{type:Boolean,default:!0},closeOnClickOverlay:{type:Boolean,default:!0}};function k(){if(document.documentElement.scrollHeight>document.documentElement.clientHeight){const e=document.documentElement.scrollTop,t=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",()=>{t?document.documentElement.setAttribute("style",t):document.documentElement.removeAttribute("style"),document.documentElement.scrollTop=e}}}function P(e,t){let o;const i=s=>{s.preventDefault(),t.emit("click",s),e.closeOnClickOverlay&&t.emit("update:modelValue",!1)},n=()=>{o==null||o()};return l.watch(()=>e.modelValue,s=>{s?e.lockScroll&&(o=k()):n()}),l.onUnmounted(n),{onClick:i}}function y(e,t,o){let i=e;return t&&(i+=`__${t}`),o&&(i+=`--${o}`),i}function g(e,t=!1){const o=t?`.devui-${e}`:`devui-${e}`;return{b:()=>y(o),e:d=>d?y(o,d):"",m:d=>d?y(o,"",d):"",em:(d,c)=>d&&c?y(o,d,c):""}}var T="";const E=l.defineComponent({name:"DFixedOverlay",inheritAttrs:!1,props:x,emits:["update:modelValue","click"],setup(e,t){const{modelValue:o}=l.toRefs(e),i=g("fixed-overlay"),{onClick:n}=P(e,t);return()=>l.createVNode(l.Transition,{name:i.m("fade")},{default:()=>{var s,r;return[o.value&&l.createVNode("div",l.mergeProps({class:i.b()},t.attrs,{onClick:n}),[(r=(s=t.slots).default)==null?void 0:r.call(s)])]}})}}),A={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},clickEventBubble:{type:Boolean,default:!1}};function L(e){const t=/(auto|scroll|hidden)/;for(let o=e;o=o.parentElement;o.parentElement!==document.body){const i=window.getComputedStyle(o);if(t.test(i.overflow+i.overflowX+i.overflowY))return o}return window}function $(e,t,o,i){let{x:n,y:s}=t;if(!e){const{width:r,height:d}=i;n&&o.includes("start")&&(n=12),n&&o.includes("end")&&(n=Math.round(r-24)),s&&o.includes("start")&&(s=10),s&&o.includes("end")&&(s=d-14)}return{x:n,y:s}}function F(e,t){const o=l.ref(),i=l.ref();let n=null;const s=(d,c,u,f)=>{const{x:w,y:v}=$(e.isArrowCenter,u,c,f.getBoundingClientRect()),h={top:"bottom",right:"left",bottom:"top",left:"right"}[c.split("-")[0]];Object.assign(d.style,{left:w?`${w}px`:"",top:v?`${v}px`:"",right:"",bottom:"",[h]:"-4px"})},r=async()=>{const d=e.origin,c=l.unref(o.value),u=l.unref(i.value),f=[m.offset(e.offset),m.autoPlacement({alignment:e.align,allowedPlacements:e.position})];if(e.showArrow&&f.push(m.arrow({element:u})),e.shiftOffset!==void 0&&f.push(m.shift()),!c)return;const{x:w,y:v,placement:h,middlewareData:C}=await m.computePosition(d,c,{strategy:"fixed",middleware:f});let b=w,p=v;if(e.shiftOffset!==void 0){const{x:V,y:B}=C.shift;V<0&&(b-=e.shiftOffset),V>0&&(b+=e.shiftOffset),B<0&&(p-=e.shiftOffset),B>0&&(p+=e.shiftOffset)}t("positionChange",h),Object.assign(c.style,{top:`${p}px`,left:`${b}px`}),e.showArrow&&s(u,h,C.arrow,c)};return l.watch(()=>e.modelValue,()=>{e.modelValue&&e.origin?(n=L(e.origin),l.nextTick(r),n==null||n.addEventListener("scroll",r),n!==window&&window.addEventListener("scroll",r),window.addEventListener("resize",r)):(n==null||n.removeEventListener("scroll",r),n!==window&&window.removeEventListener("scroll",r),window.removeEventListener("resize",r))}),l.onUnmounted(()=>{n==null||n.removeEventListener("scroll",r),n!==window&&window.removeEventListener("scroll",r),window.removeEventListener("resize",r)}),{arrowRef:i,overlayRef:o,updatePosition:r}}var j="";const O=l.defineComponent({name:"DFlexibleOverlay",inheritAttrs:!1,props:A,emits:["update:modelValue","positionChange"],setup(e,{slots:t,attrs:o,emit:i,expose:n}){const s=g("flexible-overlay"),{clickEventBubble:r}=l.toRefs(e),{arrowRef:d,overlayRef:c,updatePosition:u}=F(e,i);return n({updatePosition:u}),()=>{var f;return e.modelValue&&l.createVNode("div",l.mergeProps({ref:c,class:s.b()},o,{onClick:l.withModifiers(()=>({}),[r.value?"":"stop"]),onPointerup:l.withModifiers(()=>({}),["stop"])}),[(f=t.default)==null?void 0:f.call(t),e.showArrow&&l.createVNode("div",{ref:d,class:s.e("arrow")},null)])}}}),R=typeof window!="undefined";var S={title:"Overlay \u906E\u7F69\u5C42",category:"\u901A\u7528",status:"100%",install(e){if(e.component(E.name,E),e.component(O.name,O),R&&!document.getElementById("d-overlay-anchor")){const t=document.createElement("div");t.setAttribute("id","d-overlay-anchor"),t.style.position="fixed",t.style.left="0",t.style.top="0",t.style.zIndex="1000",document.body.appendChild(t)}}};a.FixedOverlay=E,a.FlexibleOverlay=O,a.default=S,a.fixedOverlayProps=x,a.flexibleOverlayProps=A,Object.defineProperty(a,"__esModule",{value:!0}),a[Symbol.toStringTag]="Module"});
1
+ (function(d,t){typeof exports=="object"&&typeof module!="undefined"?t(exports,require("vue"),require("@floating-ui/dom")):typeof define=="function"&&define.amd?define(["exports","vue","@floating-ui/dom"],t):(d=typeof globalThis!="undefined"?globalThis:d||self,t(d.index={},d.Vue,d.dom))})(this,function(d,t,h){"use strict";const C={modelValue:{type:Boolean,default:!1},lockScroll:{type:Boolean,default:!0},closeOnClickOverlay:{type:Boolean,default:!0}};function R(){if(document.documentElement.scrollHeight>document.documentElement.clientHeight){const e=document.documentElement.scrollTop,n=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",()=>{n?document.documentElement.setAttribute("style",n):document.documentElement.removeAttribute("style"),document.documentElement.scrollTop=e}}}function F(e,n){let o;const r=l=>{l.preventDefault(),n.emit("click",l),e.closeOnClickOverlay&&n.emit("update:modelValue",!1)},s=()=>{o==null||o()};return t.watch(()=>e.modelValue,l=>{l?e.lockScroll&&(o=R()):s()}),t.onUnmounted(s),{onClick:r}}function p(e,n,o){let r=e;return n&&(r+=`__${n}`),o&&(r+=`--${o}`),r}function P(e,n=!1){const o=n?`.devui-${e}`:`devui-${e}`;return{b:()=>p(o),e:a=>a?p(o,a):"",m:a=>a?p(o,"",a):"",em:(a,m)=>a&&m?p(o,a,m):""}}var q="";const b=t.defineComponent({name:"DFixedOverlay",inheritAttrs:!1,props:C,emits:["update:modelValue","click"],setup(e,n){const{modelValue:o}=t.toRefs(e),r=P("fixed-overlay"),{onClick:s}=F(e,n);return()=>t.createVNode(t.Transition,{name:r.m("fade")},{default:()=>{var l,f;return[o.value&&t.createVNode("div",t.mergeProps({class:r.b()},n.attrs,{onClick:s}),[(f=(l=n.slots).default)==null?void 0:f.call(l)])]}})}}),k={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},clickEventBubble:{type:Boolean,default:!1},fitOriginWidth:{type:Boolean,default:!1}};function T(e,n,o,r){let{x:s,y:l}=n;if(!e){const{width:f,height:a}=r;s&&o.includes("start")&&(s=12),s&&o.includes("end")&&(s=Math.round(f-24)),l&&o.includes("start")&&(l=10),l&&o.includes("end")&&(l=a-14)}return{x:s,y:l}}function j(e,n){const{fitOriginWidth:o,position:r,showArrow:s}=t.toRefs(e),l=t.ref(),f=t.ref(),a=t.ref(0);let m;const E=t.computed(()=>o.value?{width:a.value+"px"}:{}),x=(c,i,u,w)=>{const{x:g,y:v}=T(e.isArrowCenter,u,i,w.getBoundingClientRect()),B={top:"bottom",right:"left",bottom:"top",left:"right"}[i.split("-")[0]];Object.assign(c.style,{left:g?`${g}px`:"",top:v?`${v}px`:"",right:"",bottom:"",[B]:"-4px"})},y=async()=>{const c=e.origin,i=t.unref(l.value),u=t.unref(f.value),[w,...g]=r.value,v=[h.offset(e.offset)];v.push(g.length?h.flip({fallbackPlacements:g}):h.flip()),s.value&&v.push(h.arrow({element:f.value}));const{x:B,y:M,placement:$,middlewareData:D}=await h.computePosition(c,i,{strategy:"fixed",placement:w,middleware:v});let W=B,_=M;n("positionChange",$),Object.assign(i.style,{top:`${_}px`,left:`${W}px`}),e.showArrow&&x(u,$,D.arrow,i)},A=c=>{var u,w;const i=c.target;(i==null?void 0:i.contains((w=(u=e.origin)==null?void 0:u.$el)!=null?w:e.origin))&&y()},S=c=>{a.value=c.getBoundingClientRect().width,y()},z=()=>{var c,i;if(o.value&&typeof window!="undefined"){const u=(i=(c=e.origin)==null?void 0:c.$el)!=null?i:e.origin;u&&(m=new window.ResizeObserver(()=>S(u)),m.observe(u))}},V=()=>{var i,u;const c=(u=(i=e.origin)==null?void 0:i.$el)!=null?u:e.origin;c&&(m==null||m.unobserve(c))};return t.watch(()=>e.modelValue,()=>{e.modelValue&&e.origin?(t.nextTick(y),window.addEventListener("scroll",A,!0),window.addEventListener("resize",y),z()):(window.removeEventListener("scroll",A,!0),window.removeEventListener("resize",y),V())}),t.onUnmounted(()=>{window.removeEventListener("scroll",A,!0),window.removeEventListener("resize",y),V()}),{arrowRef:f,overlayRef:l,styles:E,updatePosition:y}}var H="";const O=t.defineComponent({name:"DFlexibleOverlay",inheritAttrs:!1,props:k,emits:["update:modelValue","positionChange"],setup(e,{slots:n,attrs:o,emit:r,expose:s}){const l=P("flexible-overlay"),{clickEventBubble:f}=t.toRefs(e),{arrowRef:a,overlayRef:m,styles:E,updatePosition:x}=j(e,r);return s({updatePosition:x}),()=>{var y;return e.modelValue&&t.createVNode("div",t.mergeProps({ref:m,class:l.b(),style:E.value},o,{onClick:t.withModifiers(()=>({}),[f.value?"":"stop"]),onPointerup:t.withModifiers(()=>({}),["stop"])}),[(y=n.default)==null?void 0:y.call(n),e.showArrow&&t.createVNode("div",{ref:a,class:l.e("arrow")},null)])}}}),N=typeof window!="undefined";var L={title:"Overlay \u906E\u7F69\u5C42",category:"\u901A\u7528",status:"100%",install(e){if(e.component(b.name,b),e.component(O.name,O),N&&!document.getElementById("d-overlay-anchor")){const n=document.createElement("div");n.setAttribute("id","d-overlay-anchor"),n.style.position="fixed",n.style.left="0",n.style.top="0",n.style.zIndex="1000",document.body.appendChild(n)}}};d.FixedOverlay=b,d.FlexibleOverlay=O,d.default=L,d.fixedOverlayProps=C,d.flexibleOverlayProps=k,Object.defineProperty(d,"__esModule",{value:!0}),d[Symbol.toStringTag]="Module"});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue-devui",
3
- "version": "1.6.14",
3
+ "version": "1.6.16",
4
4
  "license": "MIT",
5
5
  "description": "DevUI components based on Vite and Vue3",
6
6
  "keywords": [
@@ -29,7 +29,7 @@
29
29
  "dependencies": {
30
30
  "@babel/helper-hoist-variables": "^7.22.5",
31
31
  "@devui-design/icons": "^1.3.0",
32
- "@floating-ui/dom": "^0.4.4",
32
+ "@floating-ui/dom": "1.2.5",
33
33
  "@iktakahiro/markdown-it-katex": "^4.0.1",
34
34
  "@types/codemirror": "0.0.97",
35
35
  "@types/lodash-es": "^4.17.4",
@@ -49,6 +49,7 @@
49
49
  "lodash": "^4.17.21",
50
50
  "lodash-es": "^4.17.20",
51
51
  "markdown-it": "12.2.0",
52
+ "markdown-it-emoji": "^3.0.0",
52
53
  "markdown-it-plantuml": "^1.4.1",
53
54
  "mermaid": "9.1.1",
54
55
  "mitt": "^3.0.0",