@digitalwalletcorp/vue-core 1.4.1 → 1.4.2

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.
@@ -0,0 +1,4 @@
1
+ "use strict";const e=require("vue"),S=require("@digitalwalletcorp/vue-svg-icons"),M=e.defineComponent({__name:"label-icon",props:{preset:{},gap:{},iconClass:{type:[Boolean,null,String,Object,Array]},iconStyle:{type:[Boolean,null,String,Object,Array]},labelClass:{type:[Boolean,null,String,Object,Array]},labelStyle:{type:[Boolean,null,String,Object,Array]}},setup(l){const o=l,t=e.useSlots();return(n,a)=>(e.openBlock(),e.createElementBlock("span",{class:"dwui-label-icon",style:e.normalizeStyle(o.gap==null?void 0:{"--dwui-gap-label-icon":o.gap})},[e.renderSlot(n.$slots,"icon",{},()=>[o.preset!=null?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.preset.icon),e.mergeProps({key:0},o.preset.iconProps,{class:o.iconClass,style:o.iconStyle}),null,16,["class","style"])):e.createCommentVNode("",!0)]),t.default!=null||o.preset!=null?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["dwui-label",o.labelClass]),style:e.normalizeStyle(o.labelStyle)},[e.renderSlot(n.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(typeof o.preset?.label=="function"?o.preset.label():o.preset?.label),1)])],6)):e.createCommentVNode("",!0)],4))}}),Se=70;function te(l){const o=e.ref(!0);let t;return e.onMounted(()=>{const n=l.value;n!=null&&(t=new ResizeObserver(()=>{o.value=Se<=n.scrollHeight}),t.observe(n))}),e.onBeforeUnmount(()=>{t?.disconnect()}),o}const $e=["disabled"],Ee={class:"dwui-accordion-legend"},xe=["aria-expanded"],Ne=e.defineComponent({__name:"accordion-fieldset",props:e.mergeModels({legend:{},disabled:{type:Boolean},initialExpand:{type:Boolean}},{expanded:{type:Boolean,default:void 0},expandedModifiers:{}}),emits:["update:expanded"],setup(l){const o=l,t=e.useSlots(),n=e.ref(),a=e.useModel(l,"expanded"),r=e.ref(!!o.initialExpand),i=e.computed({get:()=>a.value??r.value,set:u=>{r.value=u,a.value=u}}),p=te(n),c=()=>{i.value=!i.value};return(u,g)=>(e.openBlock(),e.createElementBlock("fieldset",{class:"dwui-accordion-fieldset",disabled:o.disabled},[e.createElementVNode("legend",Ee,[e.createElementVNode("button",{type:"button",class:"dwui-accordion-toggle","aria-expanded":i.value,onClick:c},[e.createVNode(e.unref(S.SvgTriangleButton),{direction:i.value?"up":"down"},null,8,["direction"]),o.legend!=null||t.legend!=null||t.icon!=null?(e.openBlock(),e.createBlock(M,{key:0},e.createSlots({_:2},[t.icon!=null?{name:"icon",fn:e.withCtx(()=>[e.renderSlot(u.$slots,"icon")]),key:"0"}:void 0,o.legend!=null||t.legend!=null?{name:"default",fn:e.withCtx(()=>[e.renderSlot(u.$slots,"legend",{},()=>[e.createTextVNode(e.toDisplayString(o.legend),1)])]),key:"1"}:void 0]),1024)):e.createCommentVNode("",!0)],8,xe)]),e.createElementVNode("div",{ref_key:"refContents",ref:n,class:e.normalizeClass(["dwui-accordion-contents",e.unref(p)?i.value?"dwui-expanded":"dwui-shrunk":""])},[e.renderSlot(u.$slots,"default")],2)],8,$e))}}),Pe={class:"dwui-accordion-section"},Ve={key:0,class:"dwui-accordion-section-control"},Le=["disabled","aria-expanded"],Me=e.defineComponent({__name:"accordion-section",props:e.mergeModels({disabled:{type:Boolean},initialExpand:{type:Boolean},noGradient:{type:Boolean},expandLabel:{},collapseLabel:{},expandPreset:{},collapsePreset:{}},{expanded:{type:Boolean,default:void 0},expandedModifiers:{}}),emits:["update:expanded"],setup(l){const o=l,t=e.useSlots(),n=e.ref(),a=e.useModel(l,"expanded"),r=e.ref(!!o.initialExpand),i=e.computed({get:()=>a.value??r.value,set:k=>{r.value=k,a.value=k}}),p=te(n),c=e.computed(()=>i.value?o.collapsePreset:o.expandPreset),u=()=>(i.value?t["collapse-icon"]:t["expand-icon"])??c.value?.icon,g=()=>(i.value?t["collapse-icon"]:t["expand-icon"])==null?c.value?.iconProps:void 0,f=e.computed(()=>{const k=i.value?o.collapseLabel:o.expandLabel;if(k!=null)return k;const _=c.value?.label;return typeof _=="function"?_():_}),m=()=>{i.value=!i.value};return(k,_)=>(e.openBlock(),e.createElementBlock("div",Pe,[e.createElementVNode("div",{ref_key:"refContents",ref:n,class:e.normalizeClass(["dwui-accordion-section-contents",[e.unref(p)?i.value?"dwui-expanded":"dwui-shrunk":"",{"dwui-no-gradient":o.noGradient}]])},[e.renderSlot(k.$slots,"default")],2),e.unref(p)?(e.openBlock(),e.createElementBlock("div",Ve,[e.createElementVNode("button",{type:"button",class:"dwui-accordion-section-toggle",disabled:o.disabled,"aria-expanded":i.value,onClick:e.withModifiers(m,["stop"])},[u()!=null||f.value!=null?(e.openBlock(),e.createBlock(M,{key:0},e.createSlots({_:2},[u()!=null?{name:"icon",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u()),e.normalizeProps(e.guardReactiveProps(g())),null,16))]),key:"0"}:void 0,f.value!=null?{name:"default",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(f.value),1)]),key:"1"}:void 0]),1024)):(e.openBlock(),e.createBlock(e.unref(S.SvgTriangleButton),{key:1,direction:i.value?"up":"down"},null,8,["direction"]))],8,Le)])):e.createCommentVNode("",!0)]))}}),Te=["aria-label"],De=e.defineComponent({__name:"copy-button",props:{value:{},label:{default:"Copy"}},emits:["emit:copy","emit:error"],setup(l,{emit:o}){const t=l,n=o,a=e.useSlots(),r=async()=>{const i=String(typeof t.value=="function"?t.value():t.value);try{await navigator.clipboard.writeText(i)}catch(p){n("emit:error",p);return}n("emit:copy",i)};return(i,p)=>(e.openBlock(),e.createElementBlock("button",{type:"button",class:"dwui-copy-button","aria-label":a.default?void 0:t.label,onClick:r},[e.renderSlot(i.$slots,"default",{},()=>[e.createVNode(e.unref(S.SvgMemo))])],8,Te))}}),ze=["aria-label","aria-checked"],Ae={class:"dwui-dark-mode-selector-track"},Oe={class:"dwui-dark-mode-selector-icon-light"},Ie={class:"dwui-dark-mode-selector-icon-dark"},He=e.defineComponent({__name:"dark-mode-selector",props:{storageKey:{default:"dwui-color-scheme"},label:{default:"Dark mode"}},emits:["emit:change"],setup(l,{emit:o}){const t=l,n=o,a=e.ref(!1);let r=null,i=null;const p=y=>y==="light"||y==="dark",c=()=>i?.matches?"dark":"light",u=()=>{try{const y=localStorage.getItem(t.storageKey);return p(y)?y:null}catch{return null}},g=y=>{const d=document.documentElement.classList;d.remove(y==="dark"?"light":"dark"),d.add(y),a.value=y==="dark",r!==y&&(r=y,n("emit:change",y))},f=y=>{try{localStorage.setItem(t.storageKey,y)}catch{}g(y)},m=()=>{f(a.value?"light":"dark")},k=y=>{f(y.matches?"dark":"light")},_=y=>{y.key===t.storageKey&&g(p(y.newValue)?y.newValue:c())};return e.onMounted(()=>{i=window.matchMedia("(prefers-color-scheme: dark)"),g(u()??c()),i.addEventListener("change",k),window.addEventListener("storage",_)}),e.onBeforeUnmount(()=>{i?.removeEventListener("change",k),window.removeEventListener("storage",_)}),(y,d)=>(e.openBlock(),e.createElementBlock("button",{type:"button",role:"switch",class:"dwui-dark-mode-selector","aria-label":t.label,"aria-checked":a.value,onClick:m},[e.createElementVNode("span",Ae,[e.createElementVNode("span",Oe,[e.renderSlot(y.$slots,"icon-light",{},()=>[e.createVNode(e.unref(S.SvgHighBrightness))])]),e.createElementVNode("span",Ie,[e.renderSlot(y.$slots,"icon-dark",{},()=>[e.createVNode(e.unref(S.SvgMoonPhases),{"moon-age":3.85})])])]),d[0]||(d[0]=e.createElementVNode("span",{class:"dwui-dark-mode-selector-handle"},null,-1))],8,ze))}}),Re={class:"dwui-pagination"},je={class:"dwui-pagination-list"},We=["disabled","aria-label","title"],Ke=["disabled","aria-label","title"],Fe=["disabled","aria-label","title"],Ue=["aria-current","onClick"],Ge=["disabled","aria-label","title"],Xe=["disabled","aria-label","title"],Ye=["disabled","aria-label","title"],qe={key:0,class:"dwui-pagination-select"},Je=["value","disabled"],Qe=["value"],Ze=e.defineComponent({__name:"pagination",props:{current:{},totalCount:{},limit:{},maxPagination:{},showPageSelect:{type:Boolean},labels:{}},emits:["emit:changePage"],setup(l,{emit:o}){const t=l,n=o,a=e.computed(()=>Math.ceil(t.totalCount/t.limit)),r=e.computed(()=>Math.min(Math.max(t.current,1),a.value)),i=e.ref(!1),p=e.computed(()=>a.value<1?[]:i.value?Array.from({length:a.value},(d,B)=>B+1):[r.value]),c=e.computed(()=>{if(a.value<1)return[];const d=Math.min(Math.max(r.value-Math.floor((t.maxPagination-1)/2),1),Math.max(a.value-t.maxPagination+1,1)),B=Math.min(d+t.maxPagination-1,a.value);return Array.from({length:B-d+1},(h,E)=>d+E)}),u=d=>{d!==t.current&&n("emit:changePage",d)},g=d=>{let B;d<0?B=Math.max(c.value[0]-t.maxPagination,1):B=Math.min(c.value[c.value.length-1]+t.maxPagination,a.value)-t.maxPagination+1,u(B+Math.round((t.maxPagination-1)/2))},f=d=>{u(Number(d.target.value))},m=()=>{i.value=!0},k=d=>{document.activeElement!==d.currentTarget&&(i.value=!1)},_=()=>{i.value=!0},y=()=>{i.value=!1};return(d,B)=>(e.openBlock(),e.createElementBlock("div",Re,[e.createElementVNode("ul",je,[e.createElementVNode("li",null,[e.createElementVNode("button",{type:"button",disabled:r.value<=1,"aria-label":t.labels.firstPage,title:t.labels.firstPage,onClick:B[0]||(B[0]=h=>u(1))},[e.createVNode(e.unref(S.SvgChevronDouble),{direction:"left",size:"1em","stroke-width":8})],8,We)]),e.createElementVNode("li",null,[e.createElementVNode("button",{type:"button",disabled:r.value<=1,"aria-label":t.labels.previousPage,title:t.labels.previousPage,onClick:B[1]||(B[1]=h=>u(r.value-1))},[e.createVNode(e.unref(S.SvgChevron),{direction:"left",size:"1em","stroke-width":8})],8,Ke)]),e.createElementVNode("li",null,[e.createElementVNode("button",{type:"button",disabled:c.value.length===0||c.value[0]===1,"aria-label":t.labels.previousPages,title:t.labels.previousPages,onClick:B[2]||(B[2]=h=>g(-1))},[e.createVNode(e.unref(S.SvgBlackArrow),{direction:"left",size:"1em"})],8,Fe)]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,h=>(e.openBlock(),e.createElementBlock("li",{key:h},[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["dwui-pagination-page",{"dwui-current":h===r.value}]),"aria-current":h===r.value?"page":void 0,onClick:E=>u(h)},e.toDisplayString(h),11,Ue)]))),128)),e.createElementVNode("li",null,[e.createElementVNode("button",{type:"button",disabled:c.value.length===0||c.value[c.value.length-1]===a.value,"aria-label":t.labels.nextPages,title:t.labels.nextPages,onClick:B[3]||(B[3]=h=>g(1))},[e.createVNode(e.unref(S.SvgBlackArrow),{direction:"right",size:"1em"})],8,Ge)]),e.createElementVNode("li",null,[e.createElementVNode("button",{type:"button",disabled:a.value<=r.value,"aria-label":t.labels.nextPage,title:t.labels.nextPage,onClick:B[4]||(B[4]=h=>u(r.value+1))},[e.createVNode(e.unref(S.SvgChevron),{direction:"right",size:"1em","stroke-width":8})],8,Xe)]),e.createElementVNode("li",null,[e.createElementVNode("button",{type:"button",disabled:a.value<=r.value,"aria-label":t.labels.lastPage,title:t.labels.lastPage,onClick:B[5]||(B[5]=h=>u(a.value))},[e.createVNode(e.unref(S.SvgChevronDouble),{direction:"right",size:"1em","stroke-width":8})],8,Ye)])]),t.showPageSelect?(e.openBlock(),e.createElementBlock("label",qe,[e.createElementVNode("span",null,e.toDisplayString(t.labels.pageNumber),1),e.createElementVNode("select",{value:r.value,disabled:a.value<=1,onPointerenter:m,onPointerleave:k,onFocus:_,onBlur:y,onChange:f},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,h=>(e.openBlock(),e.createElementBlock("option",{key:h,value:h},e.toDisplayString(h)+" ("+e.toDisplayString((h-1)*t.limit+1)+" - "+e.toDisplayString(Math.min(h*t.limit,t.totalCount))+") ",9,Qe))),128))],40,Je)])):e.createCommentVNode("",!0)]))}}),et={class:"dwui-data-table-controls"},tt={class:"dwui-data-table-tools"},ot={key:0,class:"dwui-data-table-total"},nt={class:"dwui-data-table-total-count"},lt={key:1,class:"dwui-data-table-limit"},at=["value","max"],rt=["title","aria-label"],it=["title","aria-label"],Y=e.defineComponent({__name:"data-table-controls",props:{pagination:{type:Boolean},showTotal:{type:Boolean},showLimit:{type:Boolean},showPageSelect:{type:Boolean},showDownloadPage:{type:Boolean},showDownloadAll:{type:Boolean},current:{},limit:{},maxLimit:{},maxPagination:{},totalCount:{},labels:{},formatTotalCount:{type:Function}},emits:["emit:changePage","emit:changeLimit","emit:downloadPage","emit:downloadAll"],setup(l,{emit:o}){const t=l,n=o,a=new Intl.NumberFormat("en-US"),r=e.computed(()=>t.formatTotalCount?t.formatTotalCount(t.totalCount):a.format(t.totalCount)),i=p=>{const c=p.target,u=Math.min(Math.max(Math.trunc(Number(c.value))||1,1),t.maxLimit);c.value=String(u),u!==t.limit&&n("emit:changeLimit",u)};return(p,c)=>(e.openBlock(),e.createElementBlock("div",et,[t.pagination?(e.openBlock(),e.createBlock(Ze,{key:0,current:t.current,"total-count":t.totalCount,limit:t.limit,"max-pagination":t.maxPagination,"show-page-select":t.showPageSelect,labels:t.labels,"onEmit:changePage":c[0]||(c[0]=u=>n("emit:changePage",u))},null,8,["current","total-count","limit","max-pagination","show-page-select","labels"])):e.createCommentVNode("",!0),e.createElementVNode("div",tt,[t.showTotal?(e.openBlock(),e.createElementBlock("span",ot,[e.createElementVNode("span",null,e.toDisplayString(t.labels.totalCount),1),e.createElementVNode("span",nt,e.toDisplayString(r.value),1),e.createElementVNode("span",null,e.toDisplayString(t.labels.totalUnit),1)])):e.createCommentVNode("",!0),t.showLimit?(e.openBlock(),e.createElementBlock("label",lt,[e.createElementVNode("span",null,e.toDisplayString(t.labels.limit),1),e.createElementVNode("input",{type:"number",value:t.limit,min:"1",max:t.maxLimit,step:"1",onChange:i},null,40,at)])):e.createCommentVNode("",!0),t.showDownloadPage?(e.openBlock(),e.createElementBlock("button",{key:2,type:"button",title:t.labels.downloadPage,"aria-label":t.labels.downloadPage,onClick:c[1]||(c[1]=u=>n("emit:downloadPage"))},[e.createVNode(e.unref(S.SvgFolderDownload))],8,rt)):e.createCommentVNode("",!0),t.showDownloadAll?(e.openBlock(),e.createElementBlock("button",{key:3,type:"button",title:t.labels.downloadAll,"aria-label":t.labels.downloadAll,onClick:c[2]||(c[2]=u=>n("emit:downloadAll"))},[e.createVNode(e.unref(S.SvgCloudDownload))],8,it)):e.createCommentVNode("",!0)])]))}}),j=(l,o)=>{let t=l;for(const n of o.replace(/\[(\w+)\]/g,".$1").split(".")){if(t==null)return;t=t[n]}return t},W=l=>typeof l=="function"?l():l??"",q=l=>l===!0||l==="true"||l==="1"||l==="on"||l===1,J=l=>typeof l=="number"?l:Number(String(l).replace(/[^+\-\d.]/g,"")),st=(l,o,t)=>{if(l==null&&o==null)return 0;if(l==null)return-1;if(o==null)return 1;if(l===o)return 0;switch(t){case"boolean":return(q(l)?1:0)-(q(o)?1:0);case"number":{const n=J(l),a=J(o);return Number.isNaN(n)||Number.isNaN(a)?(Number.isNaN(n)?0:1)-(Number.isNaN(a)?0:1):n-a}case"object":return O(l).localeCompare(O(o));default:return String(l).localeCompare(String(o))}},O=l=>{try{return JSON.stringify(l,(o,t)=>typeof t=="bigint"?t.toString():t)??""}catch{return""}},ct="$index",oe=l=>{const o=[];for(const t of l)if(t.csv===!0)o.push({header:t,column:{}});else if(Array.isArray(t.csv))for(const n of t.csv)n.disabled||o.push({header:t,column:n});return o},dt=l=>oe(l).map(({header:o,column:t})=>W(t.label??o.label)),ut=(l,o,t)=>oe(l).map(({header:n,column:a})=>{if(a.format)return a.format(o);const r=a.key??n.id;return r===ct?t:j(o,r)}),ne=Symbol("dwui-vue-core-options"),mt=["rowspan","colspan","title","aria-sort"],pt={class:"dwui-data-table-header"},ft=["role","tabindex","onClick","onKeydown"],vt=["innerHTML"],gt={key:2},ht=["onPointerdown"],bt={key:0,class:"dwui-data-table-no-data"},wt=["colspan"],yt={key:0,class:"dwui-data-table-loading"},kt=e.defineComponent({__name:"data-table",props:{dataList:{},headers:{},loading:{type:Boolean,default:!1},totalCount:{default:void 0},current:{default:1},limit:{default:100},maxLimit:{default:void 0},maxPagination:{default:void 0},selectable:{type:Boolean,default:void 0},controls:{default:void 0},pagination:{default:void 0},showDownloadPage:{type:Boolean,default:void 0},showDownloadAll:{type:Boolean,default:void 0},showTotal:{type:Boolean,default:void 0},showLimit:{type:Boolean,default:void 0},showPageSelect:{type:Boolean,default:void 0},showNoData:{type:Boolean,default:void 0},resizable:{type:Boolean,default:void 0},sortable:{type:Boolean,default:void 0},sortMode:{default:void 0},contentClass:{type:[Boolean,null,String,Object,Array],default:void 0},contentStyle:{type:[Boolean,null,String,Object,Array],default:void 0},tableClass:{type:[Boolean,null,String,Object,Array],default:void 0},tableStyle:{type:[Boolean,null,String,Object,Array],default:void 0},labels:{default:void 0},formatTotalCount:{type:Function,default:void 0}},emits:["emit:selectRow","emit:changeSort","emit:updateHeader","emit:dblclickRow","emit:changeLimit","emit:changePage","emit:downloadPage","emit:downloadAll"],setup(l,{expose:o,emit:t}){const n=l,a=t,r=e.inject(ne,{}),i=e.ref(),p=e.ref(),c=e.ref(),u=e.ref({}),g=e.ref(""),f=e.ref(!1),m=e.ref();let k;const _=e.computed(()=>n.headers.map(s=>u.value[s.id]==null?s:{...s,width:u.value[s.id]})),y={maxLimit:9999,maxPagination:7,selectable:!0,controls:"both",pagination:"both",showDownloadPage:!0,showDownloadAll:!0,showTotal:!0,showLimit:!0,showPageSelect:!1,showNoData:!0,resizable:!0,sortable:!0,sortMode:"remote",contentClass:void 0,contentStyle:void 0,tableClass:void 0,tableStyle:void 0,formatTotalCount:void 0},d=e.computed(()=>{const s={...y};for(const v of[r.dataTable??{},n])for(const b of Object.keys(y))v[b]!==void 0&&Object.assign(s,{[b]:v[b]});return s}),B=e.computed(()=>{const s={totalCount:"Total",totalUnit:"",limit:"Rows per page",noData:"No data found",pageNumber:"Page",downloadPage:"Download this page",downloadAll:"Download all",firstPage:"First page",previousPage:"Previous page",previousPages:"Previous pages",nextPages:"Next pages",nextPage:"Next page",lastPage:"Last page",...r.dataTable?.labels,...n.labels},v={};for(const b of Object.keys(s)){const $=s[b];v[b]=typeof $=="function"?$():$}return v}),h=e.computed(()=>Math.min(n.limit,d.value.maxLimit)),E=e.computed(()=>({showTotal:d.value.showTotal,showLimit:d.value.showLimit,showPageSelect:d.value.showPageSelect,showDownloadPage:d.value.showDownloadPage,showDownloadAll:d.value.showDownloadAll,current:n.current,limit:h.value,maxLimit:d.value.maxLimit,maxPagination:d.value.maxPagination,totalCount:n.totalCount??n.dataList.length,formatTotalCount:d.value.formatTotalCount,labels:B.value})),w=e.shallowRef(void 0),x=e.computed(()=>{const s=d.value.sortMode==="page"?n.headers.find(b=>b.id===g.value):void 0;if(!s)return n.dataList;const v=s.compare??((b,$)=>{const N=s.sortKey??s.id;return st(j(b,N),j($,N),s.type??"string")});return[...n.dataList].sort((b,$)=>f.value?v($,b):v(b,$))}),C=e.computed(()=>{const s=w.value;if(s==null)return-1;const v=x.value.indexOf(s);if(v!==-1)return v;const b=O(s);return b===""?-1:x.value.findIndex($=>O($)===b)}),V=e.computed(()=>n.headers.reduce((s,v)=>s+(v.colspan==null?1:Number(v.colspan)),0)),P=s=>{if(s!=null)return typeof s=="number"?`${s}px`:s},L=s=>({width:P(s.width),minWidth:P(s.minWidth),maxWidth:P(s.maxWidth)}),he=s=>{if(g.value===s)return f.value?"descending":"ascending"},K=s=>{if(!(!d.value.sortable||g.value!==s))return f.value?"down":"up"},be=s=>(n.current-1)*h.value+s+1,F=()=>Array.from(c.value?.children??[]).filter(s=>s.tagName==="TR"&&!s.classList.contains("dwui-data-table-no-data")),we=s=>Array.from(s.children).filter(v=>v.tagName==="TD"||v.tagName==="TH"),U=()=>{a("emit:updateHeader",_.value.map(s=>({...s})))},I=()=>{F().forEach((s,v)=>s.classList.toggle("dwui-selected",v===C.value))},ye=()=>{const s=i.value,v=F()[C.value];if(!s||!v)return;const b=p.value?.offsetHeight??0,$=v.offsetTop,N=$+v.offsetHeight;$<s.scrollTop+b?s.scrollTop=$-b:s.scrollTop+s.clientHeight<N&&(s.scrollTop=N-s.clientHeight)},z=(s,v)=>{w.value=s,a("emit:selectRow",s,v)},G=(s,v)=>{d.value.selectable&&(v===C.value?z(void 0,-1):(z(s,v),i.value?.focus({preventScroll:!0})))},ke=(s,v)=>{v!==C.value&&G(s,v),a("emit:dblclickRow",s,v)},Be=s=>{if(s.target!==s.currentTarget||C.value<0||s.key!=="ArrowUp"&&s.key!=="ArrowDown")return;const v=C.value+(s.key==="ArrowUp"?-1:1);v<0||x.value.length<=v||(s.preventDefault(),z(x.value[v],v))},H=s=>{!d.value.sortable||n.dataList.length===0||(f.value=g.value===s.id?!f.value:!1,g.value=s.id,a("emit:changeSort",{sortKey:g.value,descending:f.value}))},_e=(s,v)=>{if(!d.value.resizable)return;s.preventDefault();const b=p.value?.firstElementChild,$=b?we(b):[];for(const[N,T]of $.entries())u.value[n.headers[N].id]=T.getBoundingClientRect().width;m.value={index:v,x:s.clientX},s.currentTarget.setPointerCapture(s.pointerId),U()},Ce=s=>{if(!m.value)return;const v=s.clientX-m.value.x;if(v===0)return;m.value.x=s.clientX;const b=m.value.index,$=n.headers.map(T=>T.id);u.value[$[b]]+=v;const N=v/($.length-b-1);for(const T of $.slice(b+1))u.value[T]-=N},X=()=>{m.value&&(m.value=void 0,U())};return e.onMounted(()=>{k=new MutationObserver(I),c.value&&k.observe(c.value,{childList:!0}),I()}),e.onBeforeUnmount(()=>{k?.disconnect()}),e.watch(()=>n.headers,(s,v)=>{const b=s.map(N=>N.id),$=v.map(N=>N.id);(b.length!==$.length||b.some(N=>!$.includes(N)))&&(u.value={})}),e.watch(()=>n.loading,(s,v)=>{v&&!s&&(d.value.sortMode==="page"&&(g.value="",f.value=!1),w.value!=null&&z(void 0,-1))}),e.watch(C,s=>{0<=s&&ye()},{flush:"post"}),e.watch(C,I,{flush:"post"}),o({getSortContext:()=>({sortKey:g.value,descending:f.value})}),(s,v)=>(e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(["dwui-data-table",{"dwui-selectable":d.value.selectable}])},[d.value.controls==="both"||d.value.controls==="top"?(e.openBlock(),e.createBlock(Y,e.mergeProps({key:0},E.value,{pagination:d.value.pagination==="both"||d.value.pagination==="top","onEmit:changePage":v[0]||(v[0]=b=>a("emit:changePage",b)),"onEmit:changeLimit":v[1]||(v[1]=b=>a("emit:changeLimit",b)),"onEmit:downloadPage":v[2]||(v[2]=b=>a("emit:downloadPage")),"onEmit:downloadAll":v[3]||(v[3]=b=>a("emit:downloadAll"))}),null,16,["pagination"])):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"refContent",ref:i,class:e.normalizeClass(["dwui-data-table-content",[{"dwui-loading":n.loading},d.value.contentClass]]),style:e.normalizeStyle(d.value.contentStyle),tabindex:"-1",onKeydown:Be},[e.createElementVNode("table",{class:e.normalizeClass(d.value.tableClass),style:e.normalizeStyle(d.value.tableStyle)},[e.createElementVNode("thead",{ref_key:"refThead",ref:p},[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,(b,$)=>(e.openBlock(),e.createElementBlock("th",{key:b.id,rowspan:b.rowspan,colspan:b.colspan,title:b.title,style:e.normalizeStyle(L(b)),"aria-sort":he(b.id),scope:"col"},[e.createElementVNode("div",pt,[e.createElementVNode("span",{class:"dwui-data-table-sort",role:d.value.sortable?"button":void 0,tabindex:d.value.sortable?0:void 0,onClick:N=>H(b),onKeydown:[e.withKeys(e.withModifiers(N=>H(b),["prevent"]),["enter"]),e.withKeys(e.withModifiers(N=>H(b),["prevent"]),["space"])]},[K(b.id)?(e.openBlock(),e.createBlock(e.unref(S.SvgPointingTriangle),{key:0,direction:K(b.id),size:"0.7em"},null,8,["direction"])):e.createCommentVNode("",!0),b.html?(e.openBlock(),e.createElementBlock("span",{key:1,innerHTML:e.unref(W)(b.label)},null,8,vt)):(e.openBlock(),e.createElementBlock("span",gt,e.toDisplayString(e.unref(W)(b.label)),1))],40,ft)]),d.value.resizable&&$<_.value.length-1?(e.openBlock(),e.createElementBlock("div",{key:0,class:"dwui-data-table-resizer",onPointerdown:N=>_e(N,$),onPointermove:Ce,onPointerup:X,onPointercancel:X},null,40,ht)):e.createCommentVNode("",!0)],12,mt))),128))])],512),e.createElementVNode("tbody",{ref_key:"refTbody",ref:c},[n.loading?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(s.$slots,"default",{rows:x.value,clickRow:G,dblclickRow:ke,rowNumber:be,selectedIndex:C.value}),n.dataList.length===0&&d.value.showNoData?(e.openBlock(),e.createElementBlock("tr",bt,[e.createElementVNode("td",{colspan:V.value},e.toDisplayString(B.value.noData),9,wt)])):e.createCommentVNode("",!0)],64))],512)],6),n.loading?(e.openBlock(),e.createElementBlock("div",yt,[e.renderSlot(s.$slots,"loading",{},()=>[v[8]||(v[8]=e.createElementVNode("div",{class:"dwui-data-table-loading-spinner"},null,-1))])])):e.createCommentVNode("",!0)],38),d.value.controls==="both"||d.value.controls==="bottom"?(e.openBlock(),e.createBlock(Y,e.mergeProps({key:1},E.value,{pagination:d.value.pagination==="both"||d.value.pagination==="bottom","onEmit:changePage":v[4]||(v[4]=b=>a("emit:changePage",b)),"onEmit:changeLimit":v[5]||(v[5]=b=>a("emit:changeLimit",b)),"onEmit:downloadPage":v[6]||(v[6]=b=>a("emit:downloadPage")),"onEmit:downloadAll":v[7]||(v[7]=b=>a("emit:downloadAll"))}),null,16,["pagination"])):e.createCommentVNode("",!0)],2))}}),Q={top:"bottom",bottom:"top",left:"right",right:"left"},R=(l,o,t)=>Math.min(Math.max(l,o),t),le=(l,o,t,n)=>{const{offset:a,margin:r,arrowMargin:i}=n,[p,c="center"]=n.placement.split("-"),u=p==="top"||p==="bottom",g=l.top+l.height,f=l.left+l.width,m={top:l.top-r,bottom:t.height-g-r,left:l.left-r,right:t.width-f-r},y=(u?o.height:o.width)+a<=m[p]||m[Q[p]]<=m[p]?p:Q[p];let d;switch(y){case"top":d=l.top-a-o.height;break;case"bottom":d=g+a;break;case"left":d=l.left-a-o.width;break;default:d=f+a;break}const B=u?l.left:l.top,h=u?l.width:l.height,E=u?o.width:o.height;let w;switch(c){case"start":w=B;break;case"end":w=B+h-E;break;default:w=B+(h-E)/2;break}const x=R(u?d:w,r,Math.max(r,t.height-r-o.height)),C=R(u?w:d,r,Math.max(r,t.width-r-o.width)),V=B+h/2,L=R(V-(u?C:x),i,Math.max(i,E-i));return{top:x,left:C,side:y,arrow:L}},Bt=["popover","data-side"],_t={class:"dwui-anchored-popover-content"},Z=4,Ct=7,St=12,$t=8,ae=e.defineComponent({__name:"anchored-popover",props:{anchor:{},placement:{},arrow:{type:Boolean},mode:{}},emits:["emit:open","emit:close"],setup(l,{expose:o,emit:t}){const n=l,a=t,r=e.ref(),i=e.ref(),p=()=>{r.value?.hidePopover()},c=()=>{r.value?.showPopover()},u=()=>{const m=r.value;if(!n.anchor||!m)return;const k={width:document.documentElement.clientWidth,height:document.documentElement.clientHeight},_=le(n.anchor.getBoundingClientRect(),m.getBoundingClientRect(),k,{placement:n.placement,offset:n.arrow?Z+Ct:Z,margin:$t,arrowMargin:St});i.value=_.side,m.style.top=`${_.top}px`,m.style.left=`${_.left}px`,m.style.setProperty("--dwui-offset-arrow",`${_.arrow}px`),m.style.visibility="visible"},g=m=>{r.value?.contains(m.target)||u()},f=m=>{m.newState==="open"?(u(),window.addEventListener("scroll",g,!0),window.addEventListener("resize",u),a("emit:open")):(r.value&&(r.value.style.visibility=""),window.removeEventListener("scroll",g,!0),window.removeEventListener("resize",u),a("emit:close"))};return e.onBeforeUnmount(()=>{window.removeEventListener("scroll",g,!0),window.removeEventListener("resize",u)}),o({element:r,show:c,hide:p}),(m,k)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"refPanel",ref:r,class:e.normalizeClass(["dwui-anchored-popover",{"dwui-arrow":n.arrow}]),popover:n.mode,"data-side":i.value,onToggle:f},[e.createElementVNode("div",_t,[e.renderSlot(m.$slots,"default")])],42,Bt))}}),Et=["aria-label"],xt=e.defineComponent({inheritAttrs:!1,__name:"help-button",props:{placement:{default:"bottom-start"},arrow:{type:Boolean,default:!1},label:{default:"Help"}},emits:["emit:open","emit:close"],setup(l,{emit:o}){const t=l,n=o,a=e.useAttrs(),r=e.ref(),i=e.ref();return e.onMounted(()=>{const p=i.value?.element;r.value&&p&&(r.value.popoverTargetElement=p)}),(p,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("button",e.mergeProps({ref_key:"refButton",ref:r,type:"button",class:"dwui-help-button","aria-label":t.label},e.unref(a)),[e.renderSlot(p.$slots,"icon",{},()=>[e.createVNode(e.unref(S.SvgQuestion))])],16,Et),e.createVNode(ae,{ref_key:"refPopover",ref:i,class:"dwui-help-button-popover",mode:"auto",anchor:r.value,placement:t.placement,arrow:t.arrow,"onEmit:open":c[0]||(c[0]=u=>n("emit:open")),"onEmit:close":c[1]||(c[1]=u=>n("emit:close"))},{default:e.withCtx(()=>[e.renderSlot(p.$slots,"default")]),_:3},8,["anchor","placement","arrow"])],64))}}),Nt=["aria-label","aria-describedby"],Pt=150,re=e.defineComponent({inheritAttrs:!1,__name:"icon-popper",props:{placement:{},arrow:{type:Boolean},popoverClass:{},label:{}},emits:["emit:open","emit:close"],setup(l,{emit:o}){const t=l,n=o,a=e.useAttrs(),r=e.ref(),i=e.ref(),p=e.ref(!1),c=e.useId();let u;const g=()=>{u!==void 0&&(clearTimeout(u),u=void 0)},f=()=>{g(),i.value?.show()},m=()=>{g(),i.value?.hide()},k=()=>{g(),u=setTimeout(()=>{u=void 0,i.value?.hide()},Pt)},_=P=>{const L=P.target;!r.value?.contains(L)&&!i.value?.element?.contains(L)&&m()},y=P=>{P.pointerType!=="touch"&&f()},d=P=>{P.pointerType!=="touch"&&k()},B=P=>{P.pointerType!=="touch"&&g()},h=P=>{P.pointerType==="touch"&&(p.value?m():f())},E=()=>{f()},w=()=>{m()},x=()=>{m()},C=()=>{p.value=!0,document.addEventListener("pointerdown",_,!0),n("emit:open")},V=()=>{p.value=!1,document.removeEventListener("pointerdown",_,!0),n("emit:close")};return e.onBeforeUnmount(()=>{g(),document.removeEventListener("pointerdown",_,!0)}),(P,L)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("span",e.mergeProps({ref_key:"refTrigger",ref:r,class:"dwui-icon-popper",tabindex:"0","aria-label":t.label,"aria-describedby":e.unref(c)},e.unref(a),{onPointerenter:y,onPointerleave:d,onPointerdown:h,onFocus:E,onBlur:w,onKeydown:e.withKeys(x,["esc"])}),[e.renderSlot(P.$slots,"icon")],16,Nt),e.createVNode(ae,{ref_key:"refPopover",ref:i,id:e.unref(c),class:e.normalizeClass(["dwui-icon-popper-popover",t.popoverClass]),role:"tooltip",mode:"manual",anchor:r.value,placement:t.placement,arrow:t.arrow,onPointerenter:B,onPointerleave:d,"onEmit:open":C,"onEmit:close":V},{default:e.withCtx(()=>[e.renderSlot(P.$slots,"default")]),_:3},8,["id","class","anchor","placement","arrow"])],64))}}),Vt=e.defineComponent({__name:"help-popper",props:{placement:{default:"right"},arrow:{type:Boolean,default:!0},label:{default:"Help"}},emits:["emit:open","emit:close"],setup(l,{emit:o}){const t=l,n=o;return(a,r)=>(e.openBlock(),e.createBlock(re,{class:"dwui-help-popper","popover-class":"dwui-help-popper-popover",placement:t.placement,arrow:t.arrow,label:t.label,"onEmit:open":r[0]||(r[0]=i=>n("emit:open")),"onEmit:close":r[1]||(r[1]=i=>n("emit:close"))},{icon:e.withCtx(()=>[e.renderSlot(a.$slots,"icon",{},()=>[e.createVNode(e.unref(S.SvgQuestion))])]),default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},8,["placement","arrow","label"]))}}),Lt=e.defineComponent({__name:"hourglass-loading",props:{loading:{type:Boolean},duration:{},size:{default:"1.2em"}},setup(l){const o=l;return(t,n)=>o.loading?(e.openBlock(),e.createBlock(e.unref(S.SvgHourglass),{key:0,duration:o.duration,size:o.size,class:"dwui-hourglass-loading"},null,8,["duration","size"])):e.renderSlot(t.$slots,"default",{},void 0,void 0,1)}}),Mt=e.defineComponent({__name:"intersection-lazy-component",props:{root:{},rootMargin:{},threshold:{}},emits:["emit:visible"],setup(l,{emit:o}){const t=l,n=o,a=e.ref(),r=e.ref(!1);let i;const p=()=>{i?.disconnect(),i=void 0,!(!a.value||r.value)&&(i=new IntersectionObserver(c=>{c.some(u=>u.isIntersecting)&&(r.value=!0,i?.disconnect(),i=void 0,n("emit:visible"))},{root:t.root,rootMargin:t.rootMargin,threshold:t.threshold}),i.observe(a.value))};return e.onMounted(()=>{p()}),e.onBeforeUnmount(()=>{i?.disconnect()}),e.watch(()=>[t.root,t.rootMargin,t.threshold],()=>{p()},{flush:"post"}),(c,u)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"refTarget",ref:a,class:"dwui-intersection-lazy-component"},[r.value?e.renderSlot(c.$slots,"default",{},void 0,void 0,0):e.renderSlot(c.$slots,"placeholder",{},void 0,void 0,1)],512))}}),Tt={type:"button",class:"dwui-label-button"},Dt=e.defineComponent({__name:"label-button",props:{preset:{},gap:{},iconClass:{type:[Boolean,null,String,Object,Array]},iconStyle:{type:[Boolean,null,String,Object,Array]},labelClass:{type:[Boolean,null,String,Object,Array]},labelStyle:{type:[Boolean,null,String,Object,Array]}},setup(l){const o=l,t=e.useSlots();return(n,a)=>(e.openBlock(),e.createElementBlock("button",Tt,[e.createVNode(M,{preset:o.preset,gap:o.gap,"icon-class":o.iconClass,"icon-style":o.iconStyle,"label-class":o.labelClass,"label-style":o.labelStyle},e.createSlots({_:2},[t.icon!=null?{name:"icon",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"icon")]),key:"0"}:void 0,t.default!=null?{name:"default",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),key:"1"}:void 0]),1032,["preset","gap","icon-class","icon-style","label-class","label-style"])]))}}),zt=/^\s*[[{]/;function ie(l){return typeof l=="string"?l:l instanceof Error?String(l):D(l,0,"",[])??String(l)}function At(l){if(zt.test(l))try{const o=JSON.parse(l);return typeof o=="object"&&o!==null?o:void 0}catch{return}}function D(l,o,t,n){switch(typeof l){case"string":{const a=At(l);return a===void 0?`"${l}"`:D(a,o,t,n)}case"number":case"boolean":return String(l);case"bigint":return`"${l.toString()}"`;case"object":{if(l===null)return"null";if(l instanceof Error)return`"${String(l)}"`;const{toJSON:a}=l;if(typeof a=="function")return D(a.call(l,t),o,t,n);if(n.includes(l))return'"[Circular]"';n.push(l);try{return Ot(l,o,n)}finally{n.pop()}}default:return}}function Ot(l,o,t){const n=Array.isArray(l),a=[];if(n)for(let u=0;u<l.length;u++)a.push(D(l[u],o+1,String(u),t)??"null");else for(const[u,g]of Object.entries(l)){const f=D(g,o+1,u,t);f!==void 0&&a.push(`"${u}": ${f}`)}const[r,i]=n?["[","]"]:["{","}"];if(a.length===0)return`${r}${i}`;const p=" ".repeat(o+1),c=" ".repeat(o);return`${r}
2
+ ${p}${a.join(`,
3
+ ${p}`)}
4
+ ${c}${i}`}const It=["aria-labelledby","aria-describedby"],Ht={class:"dwui-modal-dialog-header"},Rt={class:"dwui-modal-dialog-icon"},jt=["id","innerHTML"],Wt=["id"],Kt=["id"],Ft={key:0},Ut=["innerHTML"],Gt={key:2},Xt={key:0,class:"dwui-modal-dialog-images"},Yt=["src","alt"],qt=["onClick"],Jt=e.defineComponent({__name:"modal-dialog",props:e.mergeModels({type:{default:"info"},title:{default:void 0},message:{default:void 0},html:{type:Boolean,default:!1},image:{default:void 0},buttons:{default:void 0},okLabel:{default:"OK"},yesLabel:{default:"Yes"},noLabel:{default:"No"},cancelLabel:{default:"Cancel"}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:e.mergeModels(["emit:close"],["update:open"]),setup(l,{emit:o}){const t=l,n=o,a=e.useModel(l,"open"),r=e.ref(),i=e.ref(),p=e.useId(),c=e.useId(),u={info:S.SvgInfo,confirm:S.SvgQuestion,warn:S.SvgWarningSign,error:S.SvgCritical},g=["cancel","no","yes","ok"],f=e.computed(()=>t.buttons??(t.type==="confirm"?["yes","no"]:["ok"])),m=e.computed(()=>({ok:t.okLabel,yes:t.yesLabel,no:t.noLabel,cancel:t.cancelLabel})),k=e.computed(()=>t.message==null?[]:[t.message].flat()),_=e.computed(()=>[t.image??[]].flat().map(w=>typeof w=="string"?{src:w,alt:""}:w)),y=w=>{E(w)},d=w=>{w.preventDefault(),E("cancel")},B=w=>{if(w.key!=="ArrowLeft"&&w.key!=="ArrowRight")return;const x=[...i.value?.children??[]],C=x.indexOf(document.activeElement);C<0||x[w.key==="ArrowRight"?C+1:C-1]?.focus()},h=()=>{r.value?.showModal();const w=g.find(C=>f.value.includes(C)),x=w?f.value.indexOf(w):-1;i.value?.children[x]?.focus()},E=w=>{r.value?.close(),a.value=!1,n("emit:close",w)};return e.onMounted(()=>{a.value&&h()}),e.watch(a,w=>{w?h():r.value?.close()},{flush:"post"}),(w,x)=>(e.openBlock(),e.createElementBlock("dialog",{ref_key:"refDialog",ref:r,class:e.normalizeClass(["dwui-modal-dialog",`dwui-modal-dialog-${t.type}`]),"aria-labelledby":t.title?e.unref(p):void 0,"aria-describedby":e.unref(c),onCancel:d,onKeydown:B},[e.createElementVNode("div",Ht,[e.createElementVNode("span",Rt,[e.renderSlot(w.$slots,"icon",{},()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(u[t.type])))])]),t.title?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.html?(e.openBlock(),e.createElementBlock("span",{key:0,id:e.unref(p),class:"dwui-modal-dialog-title",innerHTML:t.title},null,8,jt)):(e.openBlock(),e.createElementBlock("span",{key:1,id:e.unref(p),class:"dwui-modal-dialog-title"},e.toDisplayString(t.title),9,Wt))],64)):e.createCommentVNode("",!0)]),e.createElementVNode("div",{id:e.unref(c),class:"dwui-modal-dialog-body"},[e.renderSlot(w.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,(C,V)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:V},[typeof C!="string"?(e.openBlock(),e.createElementBlock("pre",Ft,e.toDisplayString(e.unref(ie)(C)),1)):t.html?(e.openBlock(),e.createElementBlock("p",{key:1,innerHTML:C},null,8,Ut)):(e.openBlock(),e.createElementBlock("p",Gt,e.toDisplayString(C),1))],64))),128)),_.value.length?(e.openBlock(),e.createElementBlock("div",Xt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,(C,V)=>(e.openBlock(),e.createElementBlock("img",{key:V,src:C.src,alt:C.alt},null,8,Yt))),128))])):e.createCommentVNode("",!0)])],8,Kt),e.createElementVNode("div",{ref_key:"refButtons",ref:i,class:"dwui-modal-dialog-buttons"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,C=>(e.openBlock(),e.createElementBlock("button",{key:C,type:"button",class:e.normalizeClass(["dwui-modal-dialog-button",`dwui-modal-dialog-button-${C}`]),onClick:V=>y(C)},e.toDisplayString(m.value[C]),11,qt))),128))],512)],42,It))}});function Qt(l){const o=l.minWidth??20,t=l.minHeight??20,n=e.ref(!1),a=e.ref(!1),r=e.reactive({x:0,y:0}),i=e.reactive({width:-1,height:-1});let p=null,c="bottom-right",u={x:0,y:0};const g=h=>{if(h.pointerId!==p)return;h.preventDefault();const E=h.clientX-u.x,w=h.clientY-u.y;if(u={x:h.clientX,y:h.clientY},n.value)r.x+=E,r.y+=w;else if(a.value){if(c.endsWith("left")){const x=Math.max(o,i.width-E);r.x+=i.width-x,i.width=x}else i.width=Math.max(o,i.width+E);if(c.startsWith("top")){const x=Math.max(t,i.height-w);r.y+=i.height-x,i.height=x}else i.height=Math.max(t,i.height+w)}},f=()=>{const h=l.target.value?.getBoundingClientRect().width||0;r.x<40-h&&(r.x=40-h),window.innerWidth-40<r.x&&(r.x=window.innerWidth-40),r.y<0&&(r.y=0),l.clampBottom&&window.innerHeight-20<r.y&&(r.y=window.innerHeight-20)},m=h=>{if(h.pointerId!==p)return;const E=n.value;k(),E&&f()},k=()=>{document.removeEventListener("pointermove",g,!0),document.removeEventListener("pointerup",m,!0),document.removeEventListener("pointercancel",m,!0),p=null,n.value=!1,a.value=!1},_=h=>{k(),p=h.pointerId,u={x:h.clientX,y:h.clientY},document.addEventListener("pointermove",g,!0),document.addEventListener("pointerup",m,!0),document.addEventListener("pointercancel",m,!0)},y=h=>{h.isPrimary&&l.dragMode()==="body"&&(_(h),n.value=!0)},d=h=>{h.isPrimary&&l.dragMode()==="header"&&(_(h),n.value=!0)},B=(h,E="bottom-right")=>{if(!h.isPrimary)return;c=E;const w=l.target.value?.getBoundingClientRect();w&&(i.width<0&&(i.width=w.width),i.height<0&&(i.height=w.height)),_(h),a.value=!0};return e.onBeforeUnmount(k),{moving:n,resizing:a,currentPosition:r,currentRect:i,onDragStart:y,onDragHeaderStart:d,onResizeStart:B,teardown:k}}const Zt=["aria-labelledby"],eo=["id"],to=["aria-label"],oo=["onPointerdown"],se=e.defineComponent({__name:"movable-window",props:{name:{},dragMode:{},loading:{type:Boolean},closeLabel:{},clampBottom:{type:Boolean},headerClass:{type:[Boolean,null,String,Object,Array]},headerStyle:{type:[Boolean,null,String,Object,Array]}},emits:["emit:close"],setup(l,{expose:o,emit:t}){const n=l,a=t,r=e.ref(),i=e.useId(),p=["top-left","top-right","bottom-left"],c=Qt({target:r,dragMode:()=>n.dragMode,clampBottom:n.clampBottom}),u=e.computed(()=>{const{currentPosition:g,currentRect:f}=c;return{top:`${g.y}px`,left:`${g.x}px`,width:0<=f.width?`${f.width}px`:void 0,height:0<=f.height?`${f.height}px`:void 0}});return o({element:r,position:c.currentPosition,size:c.currentRect,teardown:c.teardown}),(g,f)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"refWindow",ref:r,class:"dwui-movable-window",role:"dialog","aria-labelledby":e.unref(i),style:e.normalizeStyle(u.value)},[e.createElementVNode("div",{class:"dwui-movable-window-frame",onPointerdown:f[2]||(f[2]=(...m)=>e.unref(c).onDragStart&&e.unref(c).onDragStart(...m))},[e.createElementVNode("div",{class:e.normalizeClass(["dwui-movable-window-header",[`${n.name}-header`,n.headerClass,{"dwui-movable":n.dragMode}]]),style:e.normalizeStyle(n.headerStyle),onPointerdown:f[1]||(f[1]=(...m)=>e.unref(c).onDragHeaderStart&&e.unref(c).onDragHeaderStart(...m))},[e.createElementVNode("div",{id:e.unref(i),class:e.normalizeClass(["dwui-movable-window-title",`${n.name}-title`])},[e.renderSlot(g.$slots,"title")],10,eo),e.renderSlot(g.$slots,"actions"),e.createElementVNode("button",{type:"button",class:e.normalizeClass(["dwui-movable-window-close-button",`${n.name}-close-button`]),"aria-label":n.closeLabel,onClick:f[0]||(f[0]=m=>a("emit:close"))},[e.createVNode(e.unref(S.SvgNegativeSquaredCrossMark))],10,to)],38),e.createElementVNode("div",{class:e.normalizeClass(["dwui-movable-window-body",[`${n.name}-body`,{"dwui-movable":n.dragMode==="body"}]])},[e.renderSlot(g.$slots,"default")],2)],32),n.loading?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["dwui-movable-window-loading",`${n.name}-loading`])},[e.createElementVNode("div",{class:e.normalizeClass(["dwui-movable-window-spinner",`${n.name}-spinner`])},null,2)],2)):e.createCommentVNode("",!0),(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(p,m=>e.createElementVNode("div",{key:m,class:e.normalizeClass(["dwui-movable-window-corner",[`${n.name}-corner`,`dwui-${m}`]]),onPointerdown:e.withModifiers(k=>e.unref(c).onResizeStart(k,m),["prevent"])},null,42,oo)),64)),e.createElementVNode("div",{class:e.normalizeClass(["dwui-movable-window-resizer",`${n.name}-resizer`]),onPointerdown:f[3]||(f[3]=e.withModifiers(m=>e.unref(c).onResizeStart(m,"bottom-right"),["prevent"]))},[e.createVNode(e.unref(S.SvgCornerDiagonal),{direction:"bottom-right"})],34)],12,Zt))}});let ee=0;const ce=()=>(ee+=1,ee);function de(l,o,t){const n=document.createElement("div");document.body.appendChild(n);const a=e.ref(!0),r=e.ref(!1),i={close:()=>{a.value=!1},setLoading:u=>{r.value=u}},p=e.defineComponent(()=>()=>l({open:a.value,loading:r.value,"onUpdate:open":u=>{a.value=u},"onEmit:close":()=>{t.delete(i),e.render(null,n),n.remove(),o.onClosed?.(),o.onClose?.()}},i)),c=e.h(p);return o.appContext&&(c.appContext=o.appContext),e.render(c,n),t.add(i),i}function ue(l){const o=e.getCurrentInstance();if(!o)throw new Error(`${l}() must be called inside setup().`);const t=new Set;return e.onBeforeUnmount(()=>{for(const n of t)n.close()}),{appContext:o.appContext,own:n=>{const a=n(()=>{t.delete(a)});return t.add(a),a}}}const A=[],me=new Set,pe=(l,o,t,n)=>{const{appContext:a,onClose:r,...i}=t??{};return de((p,c)=>e.h(fe,{...i,...p},{default:()=>e.h(l,{...o,close:c.close,setLoading:c.setLoading})}),{appContext:a,onClose:r,onClosed:n},me)};function no(l,o,t){return pe(l,o,t)}function lo(){for(const l of[...me])l.close()}function ao(){const l=ue("useOverlayBox");return{showOverlayBox:(o,t,n)=>l.own(a=>pe(o,t,{appContext:l.appContext,...n},a))}}const fe=e.defineComponent({__name:"overlay-box",props:e.mergeModels({title:{default:void 0},dragMode:{default:void 0},closeOnBackdrop:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},closeLabel:{default:"Close"}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:e.mergeModels(["emit:close"],["update:open"]),setup(l,{emit:o}){const t=l,n=o,a=e.useModel(l,"open"),r=e.ref(),i=e.ref(0),p=Symbol("dwui-overlay-box");let c=null;const u=()=>{t.closeOnBackdrop&&(a.value=!1)},g=()=>{a.value=!1},f=d=>{d.key!=="Escape"||!d.isTrusted||d.isComposing||d.target instanceof Element&&d.target.closest("dialog")||A.at(-1)===p&&(a.value=!1)},m=()=>{n("emit:close")},k=()=>{const d=A.indexOf(p);0<=d&&A.splice(d,1)},_=()=>{i.value=ce();const d=r.value,B=d?.element?.getBoundingClientRect();d&&(d.position.x=(window.innerWidth-(B?.width||0))/2,d.position.y=Math.max(0,(window.innerHeight-(B?.height||0))/2)),c=document.activeElement instanceof HTMLElement?document.activeElement:null,d?.element?.focus(),A.push(p)},y=()=>{r.value?.teardown(),k(),c?.isConnected&&c.focus(),c=null};return e.onMounted(()=>{a.value&&_()}),e.onBeforeUnmount(()=>{k()}),e.watch(a,d=>{d?_():y()},{flush:"post"}),(d,B)=>(e.openBlock(),e.createBlock(e.Transition,{name:"dwui-overlay-box-fade",onAfterLeave:m},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"dwui-overlay-box",style:e.normalizeStyle({"--dwui-order-window":i.value})},[e.createElementVNode("div",{class:"dwui-overlay-box-backdrop",onClick:u}),e.createVNode(se,{ref_key:"refWindow",ref:r,class:"dwui-overlay-box-container",name:"dwui-overlay-box",tabindex:"-1","drag-mode":t.dragMode,loading:t.loading,"close-label":t.closeLabel,"clamp-bottom":"",onKeydown:f,"onEmit:close":g},{title:e.withCtx(()=>[e.renderSlot(d.$slots,"title",{},()=>[e.createTextVNode(e.toDisplayString(t.title),1)])]),default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3},8,["drag-mode","loading","close-label"])],4)):e.createCommentVNode("",!0)]),_:3}))}}),ro={class:"dwui-page-section"},io={class:"dwui-page-section-content"},so=e.defineComponent({__name:"page-section",props:{title:{},icon:{default:"diamond"},iconVariant:{},iconColor:{},titleClass:{type:[Boolean,null,String,Object,Array]},titleStyle:{type:[Boolean,null,String,Object,Array]}},setup(l){const o=l,t={diamond:{component:S.SvgDiamond,shape:!0,color:"#1a44b6"},circle:{component:S.SvgCircle,shape:!0,color:"#e78b2f"},square:{component:S.SvgSquare,shape:!0,color:"#d13a2b"},pushpin:{component:S.SvgPushpin,shape:!1},"round-pushpin":{component:S.SvgRoundPushpin,shape:!1}},n=e.computed(()=>{const a=t[o.icon];return{component:a.component,props:a.shape?{variant:o.iconVariant,color:o.iconColor??a.color}:{}}});return(a,r)=>(e.openBlock(),e.createElementBlock("section",ro,[o.title!=null?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["dwui-page-section-title",o.titleClass]),style:e.normalizeStyle(o.titleStyle)},[e.createVNode(M,null,{icon:e.withCtx(()=>[e.renderSlot(a.$slots,"icon",{},()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value.component),e.normalizeProps(e.guardReactiveProps(n.value.props)),null,16))])]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(o.title),1)]),_:3})],6)):e.createCommentVNode("",!0),e.createElementVNode("div",io,[e.renderSlot(a.$slots,"default")])]))}}),co={class:"dwui-page-title"},uo={key:0,class:"dwui-page-title-actions"},mo=e.defineComponent({__name:"page-title",props:{title:{}},setup(l){const o=l,t=e.useSlots();return(n,a)=>(e.openBlock(),e.createElementBlock("section",co,[e.createVNode(M,{class:"dwui-page-title-label"},e.createSlots({default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(o.title),1)]),_:2},[t.icon!=null?{name:"icon",fn:e.withCtx(()=>[e.renderSlot(n.$slots,"icon")]),key:"0"}:void 0]),1024),t.default!=null?(e.openBlock(),e.createElementBlock("span",uo,[e.renderSlot(n.$slots,"default")])):e.createCommentVNode("",!0)]))}}),po=e.defineComponent({__name:"screen-loading",props:{loading:{type:Boolean}},setup(l){const o=l,t=e.ref(null),n=()=>{const r=t.value;r&&!r.open&&r.showModal()},a=()=>{const r=t.value;r?.open&&r.close()};return e.onMounted(()=>{o.loading&&n()}),e.onBeforeUnmount(()=>{a()}),e.watch(()=>o.loading,r=>{r?n():a()},{flush:"post"}),(r,i)=>(e.openBlock(),e.createElementBlock("dialog",{ref_key:"refDialog",ref:t,class:"dwui-screen-loading",closedby:"none",onCancel:i[0]||(i[0]=e.withModifiers(()=>{},["prevent"]))},[...i[1]||(i[1]=[e.createElementVNode("div",{class:"dwui-screen-loading-spinner"},null,-1)])],544))}}),ve=Symbol("dwui-tab-group"),fo=["id","aria-labelledby","aria-busy","hidden"],vo={key:0,class:"dwui-tab-loading"},go={key:1,class:"dwui-tab-loading-spinner"},ge=e.defineComponent({__name:"tab-content",props:{tabId:{},label:{},disabled:{type:Boolean},status:{},headerClass:{type:[Boolean,null,String,Object,Array]},headerStyle:{type:[Boolean,null,String,Object,Array]}},setup(l){const o=l,t=e.inject(ve,void 0),n=e.ref(!1),a=()=>t?.loadingSlot(),r=e.computed(()=>t?.activeTabId.value===o.tabId),i=e.computed(()=>!!t?.mounted.value&&r.value),p=c=>{n.value=c};return(c,u)=>o.disabled?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,id:e.unref(t)?`${e.unref(t).groupName}-${o.tabId}-panel`:void 0,class:"dwui-tab-content",role:"tabpanel","aria-labelledby":e.unref(t)?`${e.unref(t).groupName}-${o.tabId}`:void 0,"aria-busy":n.value?"true":void 0,hidden:!r.value},[e.renderSlot(c.$slots,"default",{activated:i.value,setLoading:p}),n.value?(e.openBlock(),e.createElementBlock("div",vo,[a()!=null?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a()),{key:0})):(e.openBlock(),e.createElementBlock("span",go))])):e.createCommentVNode("",!0)],8,fo))}}),ho={class:"dwui-tab-group"},bo=["id","name","disabled","checked","aria-selected","aria-controls","onChange"],wo=["for"],yo={class:"dwui-tab-items"},ko=e.defineComponent({__name:"tab-group",props:e.mergeModels({tabGroupName:{},selectFirstEnabled:{type:Boolean},headerClass:{type:[Boolean,null,String,Object,Array]},headerStyle:{type:[Boolean,null,String,Object,Array]},teleport:{}},{selectedTabId:{},selectedTabIdModifiers:{}}),emits:["update:selectedTabId"],setup(l){const o=l,t=e.useModel(l,"selectedTabId"),n=e.useSlots(),a=o.tabGroupName??e.useId(),r=g=>{if(g.type!==ge)return;const f=g.props??{},m=f.disabled;return{tabId:String(f["tab-id"]??f.tabId),label:f.label,disabled:m===""||!!m,status:f.status,headerClass:f["header-class"]??f.headerClass,headerStyle:f["header-style"]??f.headerStyle,icon:g.children?.icon}},i=e.computed(()=>{const g=[];for(const f of n.default?.()??[]){const m=Array.isArray(f.children)?f.children:[f];for(const k of m){const _=r(k);_&&g.push(_)}}return g}),p=e.computed(()=>t.value!=null?t.value:(o.selectFirstEnabled?i.value.find(f=>!f.disabled):i.value[0])?.tabId),c=e.ref(!1);e.provide(ve,{groupName:a,activeTabId:p,mounted:c,loadingSlot:()=>n.loading}),e.onMounted(()=>{c.value=!0});const u=g=>{t.value=g};return(g,f)=>(e.openBlock(),e.createElementBlock("div",ho,[(e.openBlock(),e.createBlock(e.Teleport,{to:o.teleport??"body",disabled:o.teleport==null},[e.createElementVNode("div",{class:e.normalizeClass(["dwui-tab-headers",o.headerClass]),role:"tablist",style:e.normalizeStyle(o.headerStyle)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,m=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:m.tabId},[e.createElementVNode("input",{id:`${e.unref(a)}-${m.tabId}`,type:"radio",class:"dwui-tab-radio",role:"tab",name:e.unref(a),disabled:m.disabled,checked:m.tabId===p.value,"aria-selected":m.tabId===p.value?"true":"false","aria-controls":`${e.unref(a)}-${m.tabId}-panel`,onChange:k=>u(m.tabId)},null,40,bo),e.createElementVNode("label",{for:`${e.unref(a)}-${m.tabId}`,class:e.normalizeClass(["dwui-tab-item",[m.status!=null?`dwui-tab-${m.status}`:void 0,m.headerClass]]),style:e.normalizeStyle(m.headerStyle)},[e.createVNode(M,null,e.createSlots({default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(m.label),1)]),_:2},[m.icon!=null?{name:"icon",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(m.icon)))]),key:"0"}:void 0]),1024)],14,wo)],64))),128))],6)],8,["to","disabled"])),e.createElementVNode("div",yo,[e.renderSlot(g.$slots,"default")])]))}}),Bo=e.defineComponent({__name:"warning-popper",props:{placement:{default:"right"},arrow:{type:Boolean,default:!0},label:{default:"Warning"}},emits:["emit:open","emit:close"],setup(l,{emit:o}){const t=l,n=o;return(a,r)=>(e.openBlock(),e.createBlock(re,{class:"dwui-warning-popper","popover-class":"dwui-warning-popper-popover",placement:t.placement,arrow:t.arrow,label:t.label,"onEmit:open":r[0]||(r[0]=i=>n("emit:open")),"onEmit:close":r[1]||(r[1]=i=>n("emit:close"))},{icon:e.withCtx(()=>[e.renderSlot(a.$slots,"icon",{},()=>[e.createVNode(e.unref(S.SvgWarningSign))])]),default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},8,["placement","arrow","label"]))}});exports._sfc_main=se;exports._sfc_main$1=De;exports._sfc_main$10=Lt;exports._sfc_main$11=Mt;exports._sfc_main$12=Dt;exports._sfc_main$13=M;exports._sfc_main$14=fe;exports._sfc_main$15=so;exports._sfc_main$16=mo;exports._sfc_main$17=ge;exports._sfc_main$18=ko;exports._sfc_main$19=Bo;exports._sfc_main$2=Jt;exports._sfc_main$3=po;exports._sfc_main$4=Ne;exports._sfc_main$5=Me;exports._sfc_main$6=He;exports._sfc_main$7=kt;exports._sfc_main$8=xt;exports._sfc_main$9=Vt;exports.closeAllOverlayBoxes=lo;exports.computeAnchoredPosition=le;exports.headersToCsvColumns=dt;exports.mountWindow=de;exports.nextWindowOrder=ce;exports.rowToCsvColumns=ut;exports.showOverlayBox=no;exports.toMessageText=ie;exports.useOverlayBox=ao;exports.useWindowOwner=ue;exports.vueCoreOptionsKey=ne;