var ApigoBase=function(t){"use strict";const{Component:e,NewState:i}=globalThis,a={get:({url:t,...e})=>a.request({url:t,method:"GET",...e}),post:({url:t,data:e,...i})=>a.request({url:t,method:"POST",data:e,...i}),put:({url:t,data:e,...i})=>a.request({url:t,method:"PUT",data:e,...i}),delete:({url:t,...e})=>a.request({url:t,method:"DELETE",...e}),head:({url:t,...e})=>a.request({url:t,method:"HEAD",...e}),request:async({url:t,method:e="POST",data:i,headers:a={},responseType:s,timeout:n=1e4})=>{var o;const l={method:e=e.toUpperCase(),signal:null==(o=AbortSignal.timeout)?void 0:o.call(AbortSignal,n)};if(void 0!==i&&"GET"!==e&&"HEAD"!==e){if(i instanceof HTMLFormElement&&(i=new FormData(i)),i&&"object"==typeof i&&!(i instanceof FormData)&&!(i instanceof ArrayBuffer||ArrayBuffer.isView(i))&&Object.values(i).some(t=>t instanceof File||t instanceof Blob||t instanceof FileList||Array.isArray(t)&&t.some(t=>t instanceof File||t instanceof Blob))){const t=new FormData;for(const[e,a]of Object.entries(i))a instanceof FileList||Array.isArray(a)?Array.from(a).forEach(i=>t.append(e,i)):null!=a&&t.append(e,a);i=t}i instanceof FormData?delete a["Content-Type"]:"string"==typeof i||i instanceof ArrayBuffer||ArrayBuffer.isView(i)||(i=JSON.stringify(i),a["Content-Type"]||(a["Content-Type"]="application/json")),l.body=i}Object.keys(a).length&&(l.headers=a);const r={error:null,ok:null,status:0,headers:{},responseType:"",result:null};try{const e=await fetch(t,l);if(Object.assign(r,{ok:e.ok,status:e.status,headers:Object.fromEntries(e.headers.entries())}),!s){const t=e.headers.get("Content-Type")||"";s=t.includes("application/json")?"json":/image|video|audio|pdf|zip|octet-stream/.test(t)?"binary":"text",r.responseType=s}!1===r.ok&&(r.error=(r.statusText||"HTTP "+r.status+" error")+" for "+t),r.result="json"===s?await e.json():"binary"===s?await e.arrayBuffer():await e.text()}catch(t){Object.assign(r,{error:t.message||String(t),ok:!1})}return r}};e.register("API",t=>{t.request=i({url:"",method:"GET",headers:{},data:null,timeout:1e4,responseType:""}),t.response=i({loading:!1,ok:null,status:null,error:null,headers:{},responseType:"",result:null}),t.result=i(),t.do=(e={})=>new Promise((i,s)=>{const n={...t.request,...e};if(!n.url)throw new Error(".url is required");n.headers={...t.request.headers,...e.headers},t.response.loading=!0,a.request(n).then(e=>{if(Object.keys(e).forEach(i=>{"result"!==i&&(t.response[i]=e[i])}),e.result&&"object"==typeof e.result&&t.result&&"object"==typeof t.result?Object.assign(t.result,e.result):t.result=e.result,t.response.loading=!1,!1===e.ok)throw new Error(e.error);if("object"==typeof e.result&&e.result.error)throw new Error(e.result.error);t.dispatchEvent(new CustomEvent("response",{detail:e,bubbles:!1})),i(e)}).catch(i=>{var a;!e.noui&&(null==(a=globalThis.UI)?void 0:a.toast)&&UI.toast(i.message,{type:"danger"}),t.dispatchEvent(new CustomEvent("error",{detail:i,bubbles:!0})),s(i)})});let e=null;t.request.__watch(null,()=>{t.hasAttribute("auto")&&t.request.url&&(e||(e=Promise.resolve().then(()=>{t.do(),e=null})))})});const{Component:s,Util:n,$:o}=globalThis,l={};s.register("Modal",t=>{t.modal=new bootstrap.Modal(t),t.addEventListener("bind",e=>{e.detail?t.modal.show():t.modal.hide()}),t.addEventListener("hide.bs.modal",()=>{var e;null==(e=document.activeElement)||e.blur(),t.dispatchEvent(new CustomEvent("change",{bubbles:!1,detail:!1}))}),n.copyFunction(t,t.modal,"show","hide")},n.makeDom('\n
\n')),s.register("Dialog",s.getSetupFunction("Modal"),n.makeDom('\n\n'));let r=0;l.showDialog=function({title:t="",message:e="",buttons:i=["{#Close#}"],type:a="body"}){const s=document.body.appendChild(document.createElement("Dialog"));return s.style.zIndex=2e3+ ++r,Promise.resolve().then(()=>{Object.assign(s.state,{message:e,title:t,type:a,buttons:i}),s.show()}),new Promise(t=>{s.addEventListener("change",e=>{r--,t(s.result||0),s.remove()})})},l.alert=function(t,e={}){return l.showDialog({message:t,...e})},l.confirm=function(t,e={}){return new Promise(i=>l.showDialog({message:t,buttons:["{#Cancel#}","{#Confirm#}"],...e}).then(t=>i(t>=2)).catch(()=>i(!1)))},s.register("Toast",t=>{t.toast=new bootstrap.Toast(t,{autohide:t.state.delay>0}),n.copyFunction(t,t.toast,"show","hide"),t.addEventListener("show.bs.toast",()=>{if(t.state.delay>0){let e;const i=()=>{t.state.left=t.state.delay/1e3,e=setInterval(()=>{(!t.isConnected||--t.state.left<=0)&&clearInterval(e)},1e3)};i(),t.addEventListener("mouseenter",()=>{clearInterval(e),t.state.left=void 0}),t.addEventListener("mouseleave",i)}})},n.makeDom('\n\n'),n.makeDom('
')),l.toast=function(t,e={}){const i=e.delay??5e3,a=document.createElement("Toast");a.state={delay:i,left:i?i/1e3:void 0,type:e.type||"primary",message:t,buttons:e.buttons||[]},o(`[toast-container="${e.container||"default"}"]`).appendChild(a),Promise.resolve().then(()=>a.show())},l.toastConfirm=function(t,e={}){return new Promise(i=>l.toast(t,{buttons:["{#Confirm#}"],...e}).then(t=>i(1===t)).catch(()=>i(!1)))};const{Component:d,NewState:c,Util:m,$:u}=globalThis,p=m.makeDom('\n\n'),h=m.makeDom("");d.register("AutoForm",t=>{t.state.schema||(t.state.schema=[]);const e=t=>t&&"object"==typeof t&&!t.__isProxy?c(t):t;t.state.__watch("data",i=>t.data=e(i)),t.data=e(t.state.data||{}),t.vertical=t.hasAttribute("vertical"),t.horizontal=t.hasAttribute("horizontal"),t.inline=t.hasAttribute("inline"),t.nobutton=t.hasAttribute("nobutton"),t.request={method:"POST"},t.response={},t.result=null,t.form=u(t,"form"),t.submit=(e={})=>{var i,s;if(!t.form.reportValidity())return null==(s=null==(i=globalThis.UI)?void 0:i.toast)?void 0:s.call(i,"{#verify failed#}",{type:"danger"});if(!t.dispatchEvent(new CustomEvent("submit",{detail:t.data,cancelable:!0,bubbles:!1})))return;const n={...t.request,data:t.data,noui:!0,...e};let o=null;if(t.api)o=t.api.do(n);else{if(!t.request.url)return console.warn("{#please config .api or .request.url to auto submit#}");o=a.request(n)}o.then(e=>{if(t.response=e,t.result=e.result,"object"==typeof e.result&&e.result.error)throw new Error(e.result.error);t.dispatchEvent(new CustomEvent("response",{detail:e,bubbles:!1}))}).catch(e=>{var i;(null==(i=globalThis.UI)?void 0:i.toast)&&UI.toast(e.message,{type:"danger"}),t.dispatchEvent(new CustomEvent("error",{detail:e,bubbles:!0}))})},t.checkIf=e=>{if(!e.if)return!0;try{return new Function("Hash","LocalStorage","State","item","data","return "+e.if).call(t,globalThis.Hash,globalThis.LocalStorage,globalThis.State,e,t.data)}catch(t){return!1}}},p,h);const b=t=>{let e=t.querySelector("[control-wrapper]");if(e)return e;for(const i of t.querySelectorAll("template"))if(e=b(i.content),e)return e;return null},g={customTypes:[],register:(t,e)=>{const i=e||t;g.customTypes.find(e=>e.name===t)||(g.customTypes.push({name:t,typeName:i}),g._addAutoFormComponent(t,i))},_addAutoFormComponent:(t,e)=>{const i=b(p);if(i){const a=m.makeDom(`<${t} $if="item.type?.toLowerCase() === '${e.toLowerCase()}'" $name="item.name" $.="item.setting || {}" $bind="this.data[item.name]" class="w-100">${t}>`);i.appendChild(a)}}};d.register("TagsInput",t=>{t._thisObj=t,t.addEventListener("bind",e=>{t.state.tags=Array.isArray(e.detail)?e.detail:[]})},m.makeDom(`\n\n \n {const t=$$(this,"button");(t.length>0?t[index>0?index-1:0]:u(this,"input")).focus()}))})}' $text="item"> \n \n \n
\n`),m.makeDom("")),g.register("TagsInput");const{Component:f,Util:v}=globalThis;let y=!1,x={},w={};const $={start:(t,{onmousemove:e,onmouseup:i})=>{x={x:t.clientX,y:t.clientY,w:0,h:0},w={onmousemove:e,onmouseup:i},y=!0}};"undefined"!=typeof document&&(document.addEventListener("mouseup",t=>{var e;y&&(y=!1,null==(e=w.onmouseup)||e.call(w,{event:t,...x}))}),document.addEventListener("mousemove",t=>{var e;y&&(x.w=t.clientX-x.x,x.h=t.clientY-x.y,null==(e=w.onmousemove)||e.call(w,{event:t,...x}))})),f.register("Resizer",t=>{t.isVertical=t.hasAttribute("vertical");const e=parseInt(t.getAttribute("min"))||10,i=parseInt(t.getAttribute("max"))||1e3,a=t.target||t.previousElementSibling;t.addEventListener("bind",e=>{void 0!==e.detail&&null!==e.detail&&(a.style[t.isVertical?"height":"width"]=e.detail+"px")});const s=(a,s,n)=>{const o=a+(t.isVertical?n:s);return oi?i:o};t.addEventListener("mousedown",e=>{const i=t.isVertical?a.offsetHeight:a.offsetWidth;$.start(e,{onmousemove:({w:e,h:n})=>{const o=s(i,e,n);a.style[t.isVertical?"height":"width"]=o+"px",t.dispatchEvent(new CustomEvent("resizing",{detail:{oldSize:i,newSize:o},bubbles:!1}))},onmouseup:({w:e,h:a})=>{const n=s(i,e,a);t.dispatchEvent(new CustomEvent("resize",{detail:{oldSize:i,newSize:n},bubbles:!1})),t.dispatchEvent(new CustomEvent("change",{detail:n,bubbles:!1}))}})})},v.makeDom("\n
\n"));const{Component:k,NewState:E,Util:j}=globalThis,T=(t={})=>{const e=new Map,i=new Map;let a=1;const s=j.newAvg();let n=0,o=0,l=0,r=null,d=null,c=!1;const m=t.itemHeight||null;return{reset:(t,u)=>{if(c=!1,e.clear(),i.clear(),s.clear(),l=0,r=null,d=null,!(null==t?void 0:t.length))return[];const p=t.length;a=Math.ceil(Math.sqrt(p))||10;const h=window.getComputedStyle(u);n=parseFloat(h.paddingTop)||0,o=parseFloat(h.rowGap)||0;const b=Math.max(10,Math.ceil((u.clientHeight||100)/(m||32)));return t.slice(0,Math.min(3*b,p))},init:(t,n)=>{if(c)return;const o=t.length;let l=m||s.get()||32;o>0&&"object"==typeof t[0]&&null!==t[0]&&t[0]._itemHeight&&(l=t[0]._itemHeight),s.add(l),null===r&&(r=0,d=0);for(let i=0;i{if(0===n.offsetHeight)return;if(null===r){const t=window.getComputedStyle(n);r=parseFloat(t.marginTop)||0,d=parseFloat(t.marginBottom)||0}0!==t||l||(l=r);const c=n.offsetHeight+r+d+o,m=e.get(t);if(c!==m){e.set(t,c),s.add(c);const n=c-(m||0),o=t-t%a;i.has(o)&&i.set(o,i.get(o)+n)}},calc:(t,r)=>{if(!c||!r)return null;const d=r.length,m=Math.max(16,s.get()||32);let u=Math.max(10,Math.ceil((t.clientHeight||100)/m)),p=n+l+o,h=0,b=0,g=0,f=0,v=[];const y=t.scrollTop;let x=0;for(let t=0;t2*d)throw new Error("VirtualScroll infinite loop");if(0===b){const s=i.get(t);if(s&&p+s<=y&&t+a0?o:0)),postHeight:h>0?Math.max(0,h-2*o):0,renderedList:v,listStartIndex:g}}}};k.register("List",t=>{t.mode=t.getAttribute("mode")||"normal",t.fast=t.hasAttribute("fast"),t.collapsible=t.hasAttribute("collapsible");const e=t.fast?t.querySelector(".vs-pad-top"):null,i=t.fast?t.querySelector(".vs-pad-bottom"):null,a={idfield:"id",labelfield:"label",summaryfield:"summary",groupidfield:"id",grouplabelfield:"label",groupsummaryfield:"summary",groupfield:"group",parentfield:"parent",groupicon:"folder",itemicon:"file"};t.collapsed=E({}),t.state.renderedList=[];const s=()=>{j.updateDefaults(t,a);const e=t.state.list||[],i=[];if("group"===t.mode){const a={};e.forEach(e=>{var i;return(a[i=e[t.groupfield]]??(a[i]=[])).push(e)}),(t.state.groups||[]).forEach(e=>{i.push({type:"group",...e});const s=a[e[t.groupidfield]];s&&s.forEach(t=>i.push({type:"item",...t}))})}else if("tree"===t.mode){const a={};e.forEach(e=>{var i;return(a[i=e[t.parentfield]||""]??(a[i]=[])).push(e)});const s=(e,n,o)=>e.forEach(e=>{var l;const r=e[t.idfield],d=!!(null==(l=a[r])?void 0:l.length),c=t.collapsed[r];i.push({type:"item",...e,_level:n,_hasChildren:d,_parents:o}),d&&!c&&s(a[r],n+1,[...o,r])});s(a[""]||[],0,[])}else e.forEach(t=>i.push({type:"item",...t}));t.state.flatList=i};t.state.__watch("list",s);const n=t.fast?T():null;let o=!1;t.refresh=()=>{if(t.fast&&!o){o=!0;try{const a=n.calc(t,t.state.flatList);a&&(e&&(e.style.height=`${a.prevHeight}px`),i&&(i.style.height=`${a.postHeight}px`),t.state.listStartIndex=a.listStartIndex,t.state.renderedList=a.renderedList)}finally{setTimeout(()=>{o=!1},0)}}},t.onItemUpdate=(e,i)=>{t.fast&&n.update(e+(t.state.listStartIndex||0),i)},t.state.__watch("flatList",a=>{t.fast?(e&&(e.style.height="0px"),i&&(i.style.height="0px"),t.state.listStartIndex=0,t.state.renderedList=n.reset(a,t)||[],setTimeout(()=>{t.state.flatList===a&&n.init(a,t.refresh)})):t.state.renderedList=a}),t.selectItem=(e,i)=>{t.hasAttribute("auto-select")&&(t.state.selectedItem=t.state.selectedItem===e[t.idfield]?null:e[t.idfield]),t.dispatchEvent(new CustomEvent("itemclick",{bubbles:!1,detail:{item:e,index:i+(t.fast&&t.state.listStartIndex||0)}}))},t.selectGroup=(e,i)=>{t.hasAttribute("auto-select-group")&&(t.state.selectedGroup=t.state.selectedGroup===e[t.groupidfield]?null:e[t.groupidfield]),t.dispatchEvent(new CustomEvent("groupclick",{bubbles:!1,detail:{item:e,index:i}}))},t.toggleCollapse=e=>{t.collapsible&&e._hasChildren&&(t.collapsed[e[t.idfield]]=!t.collapsed[e[t.idfield]],s())},s()},j.makeDom('\n\n\t
\n\t
\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t \n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t
\n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t \n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t \n\t\t
\n\t \n\t
\n
\n'));const{Component:C,Hash:S,Util:q}=globalThis;C.register("Nav",t=>{t.vertical=t.hasAttribute("vertical"),t.click=(e,i)=>{e.noselect||i||(S.nav=e.name),t.dispatchEvent(new CustomEvent("nav",{detail:{item:e},bubbles:!1}))}},q.makeDom('\n\n\t
\n\t\t \n\t \n\t
\n\t\t \n\t \n\t
\n\t\t \n\t \n\t
\n\t
\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t5?\'lg\':\'md\') + \'-inline\'}" $text="item.label"> \n\t\t\t\t \n\t\t\t \n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t5?\'lg\':\'md\') + \'-inline\'}" $text="item.label"> \n\t\t\t\t\t \n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t \n\t\t\t\t\t\t \n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t \n\t\t
\n\t \n
\n'));const{Component:A,NewState:I,Util:L,$:P}=globalThis;A.register("DatePicker",t=>{t._thisObj=t,t.state=I({start:"",end:""}),t.addEventListener("bind",e=>{var i,a,s;t.state.start=e.detail||"";const n=t.closest("AutoForm"),o=t.getAttribute("name"),l=null==(a=null==(i=null==n?void 0:n.state)?void 0:i.schema)?void 0:a.find(t=>t.name===o),r=(null==(s=null==l?void 0:l.setting)?void 0:s.rangeEnd)||t.rangeEnd;n&&r&&(t.state.end=n.data[r]||"")}),Object.defineProperty(t,"isRange",{get:()=>{var e,i,a;const s=t.closest("AutoForm"),n=t.getAttribute("name"),o=null==(i=null==(e=null==s?void 0:s.state)?void 0:e.schema)?void 0:i.find(t=>t.name===n);return!(!(null==(a=null==o?void 0:o.setting)?void 0:a.rangeEnd)&&!t.rangeEnd)}}),Object.defineProperty(t,"value",{get:()=>t.state.start,set:e=>{t.state.start=e||""}}),t.updateStart=e=>{t.state.start=e,t.dispatchEvent(new CustomEvent("change",{bubbles:!0,detail:e}))},t.updateEnd=e=>{var i,a,s;t.state.end=e;const n=t.closest("AutoForm"),o=t.getAttribute("name"),l=null==(a=null==(i=null==n?void 0:n.state)?void 0:i.schema)?void 0:a.find(t=>t.name===o),r=(null==(s=null==l?void 0:l.setting)?void 0:s.rangeEnd)||t.rangeEnd;n&&r&&(n.data[r]=e)}},L.makeDom('\n\n \n \n - \n \n \n
\n')),A.register("ColorPicker",t=>{t._thisObj=t,t.state=I({value:"#000000"}),t.addEventListener("bind",e=>{t.state.value=e.detail||"#000000"}),Object.defineProperty(t,"value",{get:()=>t.state.value,set:e=>{t.state.value=e||"#000000"}}),t.updateValue=e=>{t.state.value=e,t.dispatchEvent(new CustomEvent("change",{bubbles:!0,detail:e}))}},L.makeDom('\n\n \n \n
\n'));const D=["alarm","archive","arrow-left","arrow-right","bag","bank","basket","bell","bookmark","box","briefcase","calendar","camera","cart","chat","check","chevron-down","chevron-left","chevron-right","chevron-up","clock","cloud","code","collection","command","cpu","credit-card","cup","dash","database","display","door-closed","download","droplet","earbuds","edit","egg","eject","envelope","eraser","eye","file","filter","flag","folder","gear","gem","gift","graph-up","grid","hammer","hand-thumbs-up","heart","house","image","inbox","info-circle","journal","key","laptop","layers","layout-text-sidebar-reverse","lightbulb","link","list","lock","map","mic","moon","mouse","music-note","newspaper","palette","paperclip","pause","pencil","person","phone","pie-chart","play","plus","printer","puzzle","question-circle","reception-4","record","reply","rss","save","search","send","server","share","shield","shop","shuffle","skip-end","skip-start","slash","sliders","smartphone","speaker","speedometer","spellcheck","square","star","stickies","stop","stopwatch","suit-heart","sun","table","tag","tags","telephone","terminal","text-paragraph","thermometer","three-dots","ticket","tools","trash","trophy","truck","tv","umbrella","unlock","upload","vector-pen","wallet","watch","wifi","window","wrench","x","zoom-in","zoom-out","activity","at","award","backspace","badge-3d","badge-4k","badge-8k","badge-ad","badge-ar","badge-cc","badge-hd","badge-tm","badge-vo","badge-vr","badge-wc","bar-chart","battery","bicycle","binoculars","blockquote-left","blockquote-right","book","bookshelf","bootstrap","border-all","border-bottom","border-center","border-inner","border-left","border-middle","border-outer","border-right","border-style","border-top","border-width","bounding-box","box-arrow-down","box-arrow-in-down","box-arrow-in-left","box-arrow-in-right","box-arrow-in-up","box-arrow-left","box-arrow-right","box-arrow-up","box-seam","brightness-alt-high","brightness-alt-low","brightness-high","brightness-low","broadcast","brush","bucket","bug","building","bullseye","calculator","calendar-check","calendar-date","calendar-day","calendar-event","calendar-minus","calendar-month","calendar-plus","calendar-range","calendar-week","calendar-x","calendar2","calendar3","calendar4","camera-reels","camera-video","capslock","card-checklist","card-heading","card-image","card-list","card-text","caret-down","caret-left","caret-right","caret-up","cart-check","cart-dash","cart-plus","cart-x","cash","cash-stack","cast","chat-dots","chat-left","chat-quote","chat-right","chat-square","chat-text","check-all","check-circle","check-square","circle","clipboard","cloud-arrow-down","cloud-arrow-up","cloud-check","cloud-download","cloud-fog","cloud-hail","cloud-lightning","cloud-minus","cloud-moon","cloud-plus","cloud-rain","cloud-slash","cloud-snow","cloud-sun","cloud-upload","clouds","cloudy","code-slash","code-square","collection-play","columns","columns-gap","compass","cone","cone-striped","controller","credit-card-2-back","credit-card-2-front","crop","cup-straw","cursor","dash-circle","dash-square","diagram-2","diagram-3","diamond","dice-1","dice-2","dice-3","dice-4","dice-5","dice-6","disc","discord","distribute-horizontal","distribute-vertical","door-open","dot","droplet-half","easel","egg-fried","emoji-angry","emoji-dizzy","emoji-expressionless","emoji-frown","emoji-heart-eyes","emoji-laughing","emoji-neutral","emoji-smile","emoji-sunglasses","emoji-wink","envelope-open","exclamation","exclamation-circle","exclamation-diamond","exclamation-octagon","exclamation-square","exclamation-triangle","eye-slash","eyedropper","facebook","file-arrow-down","file-arrow-up","file-binary","file-break","file-check","file-code","file-diff","file-earmark","file-excel","file-image","file-lock","file-medical","file-minus","file-music","file-pdf","file-person","file-play","file-plus","file-post","file-ppt","file-richtext","file-slides","file-spreadsheet","file-text","file-word","file-zip","files","film","filter-circle","filter-left","filter-right","filter-square","fingerprint","flower1","flower2","flower3","folder-check","folder-minus","folder-plus","folder-symlink","folder-x","folder2-open","fonts","forward","front","fullscreen","fullscreen-exit","funnel","gear-wide","gender-female","gender-male","gender-trans","geo","geo-alt","github","globe","google","graph-down","grid-1x2","grid-3x2","grid-3x3","grip-horizontal","grip-vertical","hand-index","hand-thumbs-down","handbag","hash","headphones","headset","heart-half","heptagon","hourglass","hourglass-bottom","hourglass-split","hourglass-top","house-door","hr","hurricane","image-alt","images","infinity","input-cursor","instagram","intersect","journal-album","journal-arrow-down","journal-arrow-up","journal-bookmark","journal-check","journal-code","journal-medical","journal-minus","journal-plus","journal-richtext","journal-text","journal-x","journals","justify","kanban","keyboard","ladder","lamp","layers-half","layout-sidebar","layout-split","layout-three-columns","life-preserver","lightbulb-off","lightning","lightning-charge","link-45deg","linkedin","list-check","list-nested","list-ol","list-stars","list-task","list-ul","mailbox","markdown","mask","mastodon","megaphone","menu-app","menu-button","messenger","mic-mute","minecart","minecart-loaded","moisture","mouse2","mouse3","music-note-beamed","music-note-list","music-player","node-minus","node-plus","nut","octagon","option","outlet","paint-bucket","patch-check","patch-exclamation","patch-minus","patch-plus","patch-question","pause-btn","pause-circle","peace","pen","pencil-square","pentagon","person-badge","person-bounding-box","person-circle","person-lines-fill","phone-landscape","phone-vibrate","pie-chart-fill","pin","pin-angle","pin-fill","pin-map","pip","play-btn","play-circle","plug","plus-circle","plus-square","power","question","question-diamond","question-square","rainbow","receipt","receipt-cutoff","reception-0","reception-1","reception-2","reception-3","record-btn","record-circle","record2","recycle","reddit","reply-all","router","rulers","safe","save2","sd-card","segmented-nav","shield-check","shield-exclamation","shield-lock","shield-shaded","shield-slash","shift","signpost","signpost-2","signpost-split","sim","skip-backward","skip-forward","slack","slash-circle","slash-square","smartwatch","snow","snow2","snow3","sort-alpha-down","sort-alpha-up","sort-numeric-down","sort-numeric-up","soundwave","speedometer2","square-half","stack","star-half","stars","stop-btn","stop-circle","suit-club","suit-diamond","suit-spade","sunglasses","sunrise","sunset","symmetry-horizontal","symmetry-vertical","tablet","tablet-landscape","telegram","telephone-forward","telephone-inbound","telephone-outbound","telephone-plus","telephone-x","text-center","text-indent-left","text-indent-right","text-left","text-right","thermometer-half","thermometer-high","thermometer-low","thermometer-snow","thermometer-sun","three-dots-vertical","toggle-off","toggle-on","toggle2-off","toggle2-on","tornado","translate","trash2","tree","truck-flatbed","tsunami","type","type-bold","type-h1","type-h2","type-h3","type-italic","type-strikethrough","type-underline","ui-checks","ui-checks-grid","ui-radios","ui-radios-grid","union","upc","upc-scan","view-list","view-stacked","vinyl","voicemail","volume-down","volume-mute","volume-off","volume-up","vr","wallet2","water","whatsapp","wifi-1","wifi-2","wifi-off","wind","window-dock","window-sidebar","x-circle","x-diamond","x-octagon","x-square","youtube"];A.register("IconPicker",t=>{t._thisObj=t,t.state=I({value:"",search:"",open:!1}),t.addEventListener("bind",e=>{t.state.value=e.detail||""}),Object.defineProperty(t,"value",{get:()=>t.state.value,set:e=>{t.state.value=e||""}}),Object.defineProperty(t,"filteredIcons",{get:()=>{var e;const i=(null==(e=t.state.search)?void 0:e.toLowerCase())||"";return D.filter(t=>t.includes(i))}}),t.selectIcon=e=>{t.state.value=e,t.state.open=!1,t.dispatchEvent(new CustomEvent("change",{bubbles:!0,detail:e}))},t.toggle=()=>{t.state.open=!t.state.open,t.state.open&&setTimeout(()=>{var e;null==(e=P(t,"input"))||e.focus()},10)};const e=e=>{t.contains(e.target)||(t.state.open=!1)};window.addEventListener("click",e),t.addEventListener("remove",()=>window.removeEventListener("click",e))},L.makeDom('\n\n
\n \n \n \n \n \n
\n
\n
\n
\n \n \n \n \n
No icons found
\n
\n
\n
\n'),L.makeDom("")),g.register("DatePicker"),g.register("ColorPicker"),g.register("IconPicker"),globalThis.HTTP=a,globalThis.UI=l,globalThis.AutoForm=g,globalThis.MouseMover=$,globalThis.VirtualScroll=T,globalThis.List=T;const{State:z,NewState:F,Component:H,Util:_,Hash:M,LocalStorage:O,$:U,$$:V}=globalThis;return t.$=U,t.$$=V,t.AutoForm=g,t.Component=H,t.HTTP=a,t.Hash=M,t.List=T,t.LocalStorage=O,t.MouseMover=$,t.NewState=F,t.State=z,t.UI=l,t.Util=_,t.VirtualScroll=T,Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),t}({});