vue-devui 1.6.15 → 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 +41 -4
  2. package/auto-complete/index.umd.js +12 -12
  3. package/breadcrumb/index.es.js +40 -3
  4. package/breadcrumb/index.umd.js +1 -1
  5. package/category-search/index.es.js +74 -6
  6. package/category-search/index.umd.js +21 -21
  7. package/checkbox/index.es.js +41 -4
  8. package/checkbox/index.umd.js +16 -16
  9. package/code-review/index.es.js +41 -4
  10. package/code-review/index.umd.js +17 -17
  11. package/data-grid/index.es.js +41 -4
  12. package/data-grid/index.umd.js +14 -14
  13. package/date-picker-pro/index.es.js +41 -4
  14. package/date-picker-pro/index.umd.js +8 -8
  15. package/dropdown/index.es.js +40 -3
  16. package/dropdown/index.umd.js +1 -1
  17. package/editable-select/index.es.js +47 -5
  18. package/editable-select/index.umd.js +15 -15
  19. package/editor-md/index.es.js +50 -6
  20. package/editor-md/index.umd.js +26 -26
  21. package/form/index.es.js +41 -4
  22. package/form/index.umd.js +14 -14
  23. package/input/index.es.js +40 -3
  24. package/input/index.umd.js +19 -19
  25. package/input-number/index.es.js +41 -4
  26. package/input-number/index.umd.js +18 -18
  27. package/mention/index.es.js +41 -4
  28. package/mention/index.umd.js +19 -19
  29. package/message/index.es.js +13 -13
  30. package/message/index.umd.js +1 -1
  31. package/modal/index.es.js +40 -3
  32. package/modal/index.umd.js +2 -2
  33. package/overlay/index.es.js +41 -4
  34. package/overlay/index.umd.js +1 -1
  35. package/package.json +2 -1
  36. package/pagination/index.es.js +58 -21
  37. package/pagination/index.umd.js +17 -17
  38. package/pagination/style.css +1 -1
  39. package/popover/index.es.js +41 -4
  40. package/popover/index.umd.js +9 -9
  41. package/radio/index.es.js +41 -4
  42. package/radio/index.umd.js +17 -17
  43. package/search/index.es.js +41 -4
  44. package/search/index.umd.js +17 -17
  45. package/select/index.es.js +58 -21
  46. package/select/index.umd.js +19 -19
  47. package/select/style.css +1 -1
  48. package/splitter/index.es.js +41 -4
  49. package/splitter/index.umd.js +15 -15
  50. package/style.css +1 -1
  51. package/switch/index.es.js +41 -4
  52. package/switch/index.umd.js +14 -14
  53. package/table/index.es.js +40 -3
  54. package/table/index.umd.js +15 -15
  55. package/textarea/index.es.js +41 -4
  56. package/textarea/index.umd.js +16 -16
  57. package/time-picker/index.es.js +40 -3
  58. package/time-picker/index.umd.js +15 -15
  59. package/time-select/index.es.js +58 -21
  60. package/time-select/index.umd.js +17 -17
  61. package/time-select/style.css +1 -1
  62. package/tooltip/index.es.js +41 -4
  63. package/tooltip/index.umd.js +12 -12
  64. package/tree/index.es.js +40 -3
  65. package/tree/index.umd.js +10 -10
  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 +121 -41
  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
@@ -413,6 +413,10 @@ 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
422
  function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
@@ -435,9 +439,18 @@ function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
435
439
  return { x, y };
436
440
  }
437
441
  function useOverlay(props, emit) {
438
- const { position, showArrow } = toRefs(props);
442
+ const { fitOriginWidth, position, showArrow } = toRefs(props);
439
443
  const overlayRef = ref();
440
444
  const arrowRef = ref();
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
+ });
441
454
  const updateArrowPosition = (arrowEl, placement, point, overlayEl) => {
442
455
  const { x, y } = adjustArrowPosition(props.isArrowCenter, point, placement, overlayEl.getBoundingClientRect());
443
456
  const staticSide = {
@@ -482,21 +495,43 @@ function useOverlay(props, emit) {
482
495
  updatePosition();
483
496
  }
484
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
+ };
485
517
  watch(() => props.modelValue, () => {
486
518
  if (props.modelValue && props.origin) {
487
519
  nextTick(updatePosition);
488
520
  window.addEventListener("scroll", scrollCallback, true);
489
521
  window.addEventListener("resize", updatePosition);
522
+ observeOrigin();
490
523
  } else {
491
524
  window.removeEventListener("scroll", scrollCallback, true);
492
525
  window.removeEventListener("resize", updatePosition);
526
+ unobserveOrigin();
493
527
  }
494
528
  });
495
529
  onUnmounted(() => {
496
530
  window.removeEventListener("scroll", scrollCallback, true);
497
531
  window.removeEventListener("resize", updatePosition);
532
+ unobserveOrigin();
498
533
  });
499
- return { arrowRef, overlayRef, updatePosition };
534
+ return { arrowRef, overlayRef, styles, updatePosition };
500
535
  }
501
536
  var flexibleOverlay = "";
502
537
  defineComponent({
@@ -517,6 +552,7 @@ defineComponent({
517
552
  const {
518
553
  arrowRef,
519
554
  overlayRef,
555
+ styles,
520
556
  updatePosition
521
557
  } = useOverlay(props, emit);
522
558
  expose({
@@ -526,7 +562,8 @@ defineComponent({
526
562
  var _a;
527
563
  return props.modelValue && createVNode("div", mergeProps({
528
564
  "ref": overlayRef,
529
- "class": ns.b()
565
+ "class": ns.b(),
566
+ "style": styles.value
530
567
  }, attrs, {
531
568
  "onClick": withModifiers(() => ({}), [clickEventBubble.value ? "" : "stop"]),
532
569
  "onPointerup": withModifiers(() => ({}), ["stop"])
@@ -1,7 +1,7 @@
1
- var ge=Object.defineProperty,ve=Object.defineProperties;var we=Object.getOwnPropertyDescriptors;var O=Object.getOwnPropertySymbols;var _=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable;var $=(s,e,f)=>e in s?ge(s,e,{enumerable:!0,configurable:!0,writable:!0,value:f}):s[e]=f,T=(s,e)=>{for(var f in e||(e={}))_.call(e,f)&&$(s,f,e[f]);if(O)for(var f of O(e))q.call(e,f)&&$(s,f,e[f]);return s},I=(s,e)=>ve(s,we(e));var W=(s,e)=>{var f={};for(var b in s)_.call(s,b)&&e.indexOf(b)<0&&(f[b]=s[b]);if(s!=null&&O)for(var b of O(s))e.indexOf(b)<0&&q.call(s,b)&&(f[b]=s[b]);return f};var G=(s,e,f)=>($(s,typeof e!="symbol"?e+"":e,f),f);(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,f){"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(o,t,n){let l=o;return t&&(l+=`__${t}`),n&&(l+=`--${n}`),l}function V(o,t=!1){const n=t?`.devui-${o}`:`devui-${o}`;return{b:()=>M(n),e:a=>a?M(n,a):"",m:a=>a?M(n,"",a):"",em:(a,u)=>a&&u?M(n,a,u):""}}var Ve="",J=e.defineComponent({name:"DSvgIcon",props:Z,setup(o){const{name:t,color:n,size:l}=e.toRefs(o),r=V("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 Q(o){return/^((http|https):)?\/\//.test(o)}function ee(o,t){const{component:n,name:l,size:r,color:i,classPrefix:c,rotate:a}=e.toRefs(o),u=V("icon"),m=e.computed(()=>typeof r.value=="number"?`${r.value}px`:r.value),d=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:[(a==null?void 0:a.value)==="infinite"&&u.m("spin")],style:{width:m.value||"",transform:`rotate(${a==null?void 0:a.value}deg)`,verticalAlign:"middle"}},t.attrs),null),h=()=>e.createVNode(d,e.mergeProps({name:l.value,color:i.value,size:m.value,class:[(a==null?void 0:a.value)==="infinite"&&u.m("spin")],style:{transform:`rotate(${a==null?void 0:a.value}deg)`}},t.attrs),null),g=()=>{const w=/^icon-/.test(l.value)?l.value:`${c.value}-${l.value}`;return e.createVNode("i",e.mergeProps({class:[c.value,w,(a==null?void 0:a.value)==="infinite"&&u.m("spin")],style:{fontSize:m.value,color:i.value,transform:`rotate(${a==null?void 0:a.value}deg)`}},t.attrs),null)};return{iconDom:()=>n.value?h():Q(l.value)?p():g()}}var R=e.defineComponent({name:"DIcon",props:K,emits:["click"],setup(o,t){const{disabled:n,operable:l}=e.toRefs(o),{iconDom:r}=ee(o,t),i=V("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=u=>{n.value||t.emit("click",u)};return()=>{var u,m,d,p;return e.createVNode("div",{class:c.value,onClick:a},[(m=(u=t.slots).prefix)==null?void 0:m.call(u),r(),(p=(d=t.slots).suffix)==null?void 0:p.call(d)])}}}),Ce="";e.defineComponent({name:"DIconGroup",setup(o,t){const n=V("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 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 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 oe(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=z()):r()}),e.onUnmounted(r),{onClick:l}}var Ne="";const ne=e.defineComponent({name:"DFixedOverlay",inheritAttrs:!1,props:te,emits:["update:modelValue","click"],setup(o,t){const{modelValue:n}=e.toRefs(o),l=V("fixed-overlay"),{onClick:r}=oe(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)])]}})}}),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(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 re(o,t){const{position:n,showArrow:l}=e.toRefs(o),r=e.ref(),i=e.ref(),c=(m,d,p,h)=>{const{x:g,y:v}=ae(o.isArrowCenter,p,d,h.getBoundingClientRect()),w={top:"bottom",right:"left",bottom:"top",left:"right"}[d.split("-")[0]];Object.assign(m.style,{left:g?`${g}px`:"",top:v?`${v}px`:"",right:"",bottom:"",[w]:"-4px"})},a=async()=>{const m=o.origin,d=e.unref(r.value),p=e.unref(i.value),[h,...g]=n.value,v=[f.offset(o.offset)];v.push(g.length?f.flip({fallbackPlacements:g}):f.flip()),l.value&&v.push(f.arrow({element:i.value}));const{x:w,y:N,placement:E,middlewareData:k}=await f.computePosition(m,d,{strategy:"fixed",placement:h,middleware:v});let C=w,y=N;t("positionChange",E),Object.assign(d.style,{top:`${y}px`,left:`${C}px`}),o.showArrow&&c(p,E,k.arrow,d)},u=m=>{var p,h;const d=m.target;(d==null?void 0:d.contains((h=(p=o.origin)==null?void 0:p.$el)!=null?h:o.origin))&&a()};return e.watch(()=>o.modelValue,()=>{o.modelValue&&o.origin?(e.nextTick(a),window.addEventListener("scroll",u,!0),window.addEventListener("resize",a)):(window.removeEventListener("scroll",u,!0),window.removeEventListener("resize",a))}),e.onUnmounted(()=>{window.removeEventListener("scroll",u,!0),window.removeEventListener("resize",a)}),{arrowRef:i,overlayRef:r,updatePosition:a}}var Ee="";e.defineComponent({name:"DFlexibleOverlay",inheritAttrs:!1,props:le,emits:["update:modelValue","positionChange"],setup(o,{slots:t,attrs:n,emit:l,expose:r}){const i=V("flexible-overlay"),{clickEventBubble:c}=e.toRefs(o),{arrowRef:a,overlayRef:u,updatePosition:m}=re(o,l);return r({updatePosition:m}),()=>{var d;return o.modelValue&&e.createVNode("div",e.mergeProps({ref:u,class:i.b()},n,{onClick:e.withModifiers(()=>({}),[c.value?"":"stop"]),onPointerup:e.withModifiers(()=>({}),["stop"])}),[(d=t.default)==null?void 0:d.call(t),o.showArrow&&e.createVNode("div",{ref:a,class:i.e("arrow")},null)])}}});const ie=typeof window!="undefined";function se(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 ce(o){let t;const n=()=>{t==null||t()};e.watch(()=>o.modelValue,l=>{l?o.lockScroll&&(t=z()):n()},{immediate:!0}),e.onUnmounted(n)}function F(o,t="px"){return o?typeof o=="string"?o:typeof o=="number"?`${o}${t}`:"":""}const de=(o,t,n)=>{const l=e.ref("translate(-50%, -50%)");let r={offsetX:0,offsetY:0};const i=m=>{const d=m.clientX,p=m.clientY,{offsetX:h,offsetY:g}=r,v=o.value.getBoundingClientRect(),w=v.left,N=v.top,E=v.width,k=v.height,C=document.documentElement.clientWidth,y=document.documentElement.clientHeight,S=-w+h,pe=-N+g,ye=C-w-E+h,he=y-N-k+g,U=H=>{const Y=Math.min(Math.max(h+H.clientX-d,S),ye),j=Math.min(Math.max(g+H.clientY-p,pe),he);r={offsetX:Y,offsetY:j},l.value=`translate(calc(-50% + ${F(Y)}), calc(-50% + ${F(j)}))`},X=()=>{document.removeEventListener("mousemove",U),document.removeEventListener("mouseup",X)};document.addEventListener("mousemove",U),document.addEventListener("mouseup",X)},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 x=e.defineComponent({name:"DModalHeader",setup(o,{slots:t}){const n=V("modal");return()=>{var l;return e.createVNode("div",{class:n.e("header")},[(l=t.default)==null?void 0:l.call(t)])}}}),B=e.defineComponent({name:"DModalBody",setup(o,{slots:t}){const n=V("modal");return()=>{var l;return e.createVNode("div",{class:n.e("body")},[(l=t.default)==null?void 0:l.call(t)])}}});function ue(){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 xe="",P=e.defineComponent({name:"DModal",inheritAttrs:!1,props:b,emits:["update:modelValue","close"],setup(o,{slots:t,attrs:n,emit:l}){const r=V("modal"),{modelValue:i,title:c,showClose:a,showOverlay:u,appendToBody:m,closeOnClickOverlay:d,keepLast:p}=e.toRefs(o),{execClose:h}=se(o,l);ce(o);const g=e.ref(),v=e.ref(),w=e.computed(()=>o.draggable),{clearPosition:N,modalPosition:E}=de(g,v,w);e.watch(i,C=>{C&&!p.value&&(N(),e.nextTick(()=>{const y=document==null?void 0:document.querySelector("[autofocus]");y&&y.focus()}))});const k=()=>{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(S=>S.type===o.type);return e.createVNode("div",{style:{cursor:o.draggable?"move":"default"},ref:v},[e.createVNode(x,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:!m.value},{default:()=>[u.value&&e.createVNode(ne,e.mergeProps({modelValue:i.value},{"onUpdate:modelValue":h},{class:r.e("overlay"),"lock-scroll":!1,"close-on-click-overlay":d.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:g,class:r.b()},n,{onClick:y=>y.stopPropagation(),style:{transform:E.value}}),[a.value&&e.createVNode("div",{onClick:h,class:"btn-close"},[e.createVNode(R,{operable:!0,component:ue()},null)]),o.type?k():e.createVNode("div",{style:{cursor:o.draggable?"move":"default"},ref:v},[t.header?t.header():c.value&&e.createVNode(x,null,{default:()=>[c.value]})]),e.createVNode(B,null,{default:()=>{var y;return[(y=t.default)==null?void 0:y.call(t)]}}),(C=t.footer)==null?void 0:C.call(t)])]}})]})}}),D=e.defineComponent({name:"DModalFooter",setup(o,{slots:t}){const n=V("modal");return()=>{var l;return e.createVNode("div",{class:n.e("footer")},[(l=t.default)==null?void 0:l.call(t)])}}});class fe{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 L;class A extends fe{component(){return P}open(t={}){const n=document.createElement("div");this.anchorContainer.appendChild(n);const d=t,{header:l,content:r,footer:i}=d,c=W(d,["header","content","footer"]),a=(p,h)=>this.renderModal(n,I(T({},p),{modelValue:!0,"onUpdate:modelValue":h}),{header:l,default:r,footer:i}),u=()=>{var h,g,v;const p=w=>{w||u()};a(c,w=>{w?a(c,p):(this.renderModal(n,I(T({},c),{modelValue:!1})),this.renderNull(n))}),(v=(g=(h=L==null?void 0:L.component)==null?void 0:h.exposed)==null?void 0:g.handleVisibleChange)==null||v.call(g,!1)},m=p=>{p||u()};return this.renderModal(n,{modelValue:!1}),L=a(c,m),{hide:u}}}G(A,"token","MODAL_SERVICE_TOKEN");var me={title:"Modal \u5F39\u7A97",category:"\u53CD\u9988",status:"100%",install(o){if(o.component(P.name,P),o.component(x.name,x),o.component(B.name,B),o.component(D.name,D),!ie)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(A.token,new A(t))}};s.Modal=P,s.ModalBody=B,s.ModalFooter=D,s.ModalHeader=x,s.default=me,s.modalProps=b,Object.defineProperty(s,"__esModule",{value:!0}),s[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,4 +1,4 @@
1
- import { watch, onUnmounted, defineComponent, toRefs, createVNode, Transition, mergeProps, ref, unref, nextTick, withModifiers } from "vue";
1
+ import { watch, onUnmounted, defineComponent, toRefs, createVNode, Transition, mergeProps, ref, computed, unref, nextTick, withModifiers } from "vue";
2
2
  import { offset, flip, arrow, computePosition } from "@floating-ui/dom";
3
3
  const fixedOverlayProps = {
4
4
  modelValue: {
@@ -141,6 +141,10 @@ 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
150
  function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
@@ -163,9 +167,18 @@ function adjustArrowPosition(isArrowCenter, point, placement, originRect) {
163
167
  return { x, y };
164
168
  }
165
169
  function useOverlay(props, emit) {
166
- const { position, showArrow } = toRefs(props);
170
+ const { fitOriginWidth, position, showArrow } = toRefs(props);
167
171
  const overlayRef = ref();
168
172
  const arrowRef = ref();
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
+ });
169
182
  const updateArrowPosition = (arrowEl, placement, point, overlayEl) => {
170
183
  const { x, y } = adjustArrowPosition(props.isArrowCenter, point, placement, overlayEl.getBoundingClientRect());
171
184
  const staticSide = {
@@ -210,21 +223,43 @@ function useOverlay(props, emit) {
210
223
  updatePosition();
211
224
  }
212
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
+ };
213
245
  watch(() => props.modelValue, () => {
214
246
  if (props.modelValue && props.origin) {
215
247
  nextTick(updatePosition);
216
248
  window.addEventListener("scroll", scrollCallback, true);
217
249
  window.addEventListener("resize", updatePosition);
250
+ observeOrigin();
218
251
  } else {
219
252
  window.removeEventListener("scroll", scrollCallback, true);
220
253
  window.removeEventListener("resize", updatePosition);
254
+ unobserveOrigin();
221
255
  }
222
256
  });
223
257
  onUnmounted(() => {
224
258
  window.removeEventListener("scroll", scrollCallback, true);
225
259
  window.removeEventListener("resize", updatePosition);
260
+ unobserveOrigin();
226
261
  });
227
- return { arrowRef, overlayRef, updatePosition };
262
+ return { arrowRef, overlayRef, styles, updatePosition };
228
263
  }
229
264
  var flexibleOverlay = "";
230
265
  const FlexibleOverlay = defineComponent({
@@ -245,6 +280,7 @@ const FlexibleOverlay = defineComponent({
245
280
  const {
246
281
  arrowRef,
247
282
  overlayRef,
283
+ styles,
248
284
  updatePosition
249
285
  } = useOverlay(props, emit);
250
286
  expose({
@@ -254,7 +290,8 @@ const FlexibleOverlay = defineComponent({
254
290
  var _a;
255
291
  return props.modelValue && createVNode("div", mergeProps({
256
292
  "ref": overlayRef,
257
- "class": ns.b()
293
+ "class": ns.b(),
294
+ "style": styles.value
258
295
  }, attrs, {
259
296
  "onClick": withModifiers(() => ({}), [clickEventBubble.value ? "" : "stop"]),
260
297
  "onPointerup": withModifiers(() => ({}), ["stop"])
@@ -1 +1 @@
1
- (function(a,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):(a=typeof globalThis!="undefined"?globalThis:a||self,o(a.index={},a.Vue,a.dom))})(this,function(a,o,p){"use strict";const E={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 C(e,t){let n;const s=l=>{l.preventDefault(),t.emit("click",l),e.closeOnClickOverlay&&t.emit("update:modelValue",!1)},r=()=>{n==null||n()};return o.watch(()=>e.modelValue,l=>{l?e.lockScroll&&(n=k()):r()}),o.onUnmounted(r),{onClick:s}}function h(e,t,n){let s=e;return t&&(s+=`__${t}`),n&&(s+=`--${n}`),s}function O(e,t=!1){const n=t?`.devui-${e}`:`devui-${e}`;return{b:()=>h(n),e:i=>i?h(n,i):"",m:i=>i?h(n,"",i):"",em:(i,u)=>i&&u?h(n,i,u):""}}var L="";const b=o.defineComponent({name:"DFixedOverlay",inheritAttrs:!1,props:E,emits:["update:modelValue","click"],setup(e,t){const{modelValue:n}=o.toRefs(e),s=O("fixed-overlay"),{onClick:r}=C(e,t);return()=>o.createVNode(o.Transition,{name:s.m("fade")},{default:()=>{var l,c;return[n.value&&o.createVNode("div",o.mergeProps({class:s.b()},t.attrs,{onClick:r}),[(c=(l=t.slots).default)==null?void 0:c.call(l)])]}})}}),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 V(e,t,n,s){let{x:r,y:l}=t;if(!e){const{width:c,height:i}=s;r&&n.includes("start")&&(r=12),r&&n.includes("end")&&(r=Math.round(c-24)),l&&n.includes("start")&&(l=10),l&&n.includes("end")&&(l=i-14)}return{x:r,y:l}}function B(e,t){const{position:n,showArrow:s}=o.toRefs(e),r=o.ref(),l=o.ref(),c=(f,d,m,y)=>{const{x:v,y:w}=V(e.isArrowCenter,m,d,y.getBoundingClientRect()),x={top:"bottom",right:"left",bottom:"top",left:"right"}[d.split("-")[0]];Object.assign(f.style,{left:v?`${v}px`:"",top:w?`${w}px`:"",right:"",bottom:"",[x]:"-4px"})},i=async()=>{const f=e.origin,d=o.unref(r.value),m=o.unref(l.value),[y,...v]=n.value,w=[p.offset(e.offset)];w.push(v.length?p.flip({fallbackPlacements:v}):p.flip()),s.value&&w.push(p.arrow({element:l.value}));const{x,y:R,placement:P,middlewareData:T}=await p.computePosition(f,d,{strategy:"fixed",placement:y,middleware:w});let j=x,N=R;t("positionChange",P),Object.assign(d.style,{top:`${N}px`,left:`${j}px`}),e.showArrow&&c(m,P,T.arrow,d)},u=f=>{var m,y;const d=f.target;(d==null?void 0:d.contains((y=(m=e.origin)==null?void 0:m.$el)!=null?y:e.origin))&&i()};return o.watch(()=>e.modelValue,()=>{e.modelValue&&e.origin?(o.nextTick(i),window.addEventListener("scroll",u,!0),window.addEventListener("resize",i)):(window.removeEventListener("scroll",u,!0),window.removeEventListener("resize",i))}),o.onUnmounted(()=>{window.removeEventListener("scroll",u,!0),window.removeEventListener("resize",i)}),{arrowRef:l,overlayRef:r,updatePosition:i}}var S="";const g=o.defineComponent({name:"DFlexibleOverlay",inheritAttrs:!1,props:A,emits:["update:modelValue","positionChange"],setup(e,{slots:t,attrs:n,emit:s,expose:r}){const l=O("flexible-overlay"),{clickEventBubble:c}=o.toRefs(e),{arrowRef:i,overlayRef:u,updatePosition:f}=B(e,s);return r({updatePosition:f}),()=>{var d;return e.modelValue&&o.createVNode("div",o.mergeProps({ref:u,class:l.b()},n,{onClick:o.withModifiers(()=>({}),[c.value?"":"stop"]),onPointerup:o.withModifiers(()=>({}),["stop"])}),[(d=t.default)==null?void 0:d.call(t),e.showArrow&&o.createVNode("div",{ref:i,class:l.e("arrow")},null)])}}}),$=typeof window!="undefined";var F={title:"Overlay \u906E\u7F69\u5C42",category:"\u901A\u7528",status:"100%",install(e){if(e.component(b.name,b),e.component(g.name,g),$&&!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=b,a.FlexibleOverlay=g,a.default=F,a.fixedOverlayProps=E,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.15",
3
+ "version": "1.6.16",
4
4
  "license": "MIT",
5
5
  "description": "DevUI components based on Vite and Vue3",
6
6
  "keywords": [
@@ -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",