@yongdall/theme 0.2.0 → 0.3.0

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.
package/hooks.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import{ArrayStore as e,ObjectStore as t,Search as n,createComputed as r,createState as i,effect as a,findConfigurator as o,getPatternFields as s,importWidget as c,loadOptions as l,modelService as u,permissionsService as d,runPattern as f,toId as p,watch as m}from"@yongdall/web";function h(e){let t=document.createElement(`div`),n=t;return n.style.overflow=`hidden`,n.style.whiteSpace=`nowrap`,n.style.textOverflow=`ellipsis`,e.listen(`scrollIntoView`,()=>t.scrollIntoView()),[t,e=>{n.title=n.innerText=e??``}]}function g(e,t,n,r,i){let o=e.editable,s=e.field?.nullable?null:i,[c,l]=(o?t:n)(e,t=>{s=r(t,e.field?.nullable),e.value=s});function u(e,t){!t&&e===s||(s=e,l(e))}return u(e.value,!0),a(()=>u(e.value),e.signal),c}function _(e){let t=document.createElement(`div`),n=t;return e.listen(`scrollIntoView`,()=>t.scrollIntoView()),[t,e=>{n.innerText=e??``}]}function v(e,t){return e||!t?e:null}function y(e,t){let n=document.createElement(`textarea`);return n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),a(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),a(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var b=e=>g(e,y,_,v,``);function x(e,t){let n=parseFloat(e);return Number.isFinite(n)?n:t?null:0}function S(e,t){let n=document.createElement(`input`);return n.type=`number`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),a(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),a(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var C=e=>g(e,S,h,x,0);function ee(e,t){let n=parseInt(e);return Number.isFinite(n)?n:t?null:0}function te(e,t){let n=document.createElement(`input`);return n.type=`number`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),a(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),a(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var w=e=>g(e,te,h,ee,0);function ne(e,t){if(!e)return t?null:0n;try{return BigInt(e)}catch{}return t?null:0n}function re(e,t){let n=document.createElement(`input`);return n.type=`number`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),a(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),a(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var ie=e=>g(e,re,h,ne,0n);function ae(e,t){return e||!t?e:null}function oe(e,t){let n=document.createElement(`input`);return n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),a(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),a(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var se=e=>g(e,oe,h,ae,``),ce=e=>{let t=document.createElement(`input`);t.type=`checkbox`;let n=e.editable,r=e.field?.nullable?null:!1;n?(t.addEventListener(`input`,()=>{r=!!t.checked,e.value=r}),t.addEventListener(`change`,t=>e.emit(`change`,t)),t.addEventListener(`focus`,t=>e.emit(`focus`,t)),t.addEventListener(`blur`,t=>e.emit(`blur`,t))):t.disabled=!0,a(()=>t.disabled=!!(e.readonly||e.disabled),e.signal),a(()=>t.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>t.focus()),e.listen(`scrollIntoView`,()=>t.scrollIntoView());function i(n){let i=!e.field?.nullable||typeof n==`boolean`?!!n:null;i!==r&&(r=i,t.checked=!!i)}return a(()=>i(e.value),e.signal),t};function le(e,t){return Number.isFinite(new Date(e).valueOf())?e:t?null:``}function ue(e,t){let n=document.createElement(`input`);return n.type=`date`,n.step=`1`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),a(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),a(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var de=e=>g(e,ue,h,le,``);function fe(e,t){let n=new Date(e);return Number.isFinite(n)?e:t?null:``}function pe(e,t){let n=document.createElement(`input`);return n.type=`time`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),a(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),a(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var T=e=>g(e,pe,h,fe,``);function me(e,t){let n=new Date(e);return Number.isFinite(n.valueOf())?n:null}function E(e,t){return e.valueOf()?`${[`${e.getFullYear()}`.padStart(4,`0`),`${e.getMonth()+1}`.padStart(2,`0`),`${e.getDate()}`.padStart(2,`0`)].join(`-`)}${t}${[`${e.getHours()}`.padStart(2,`0`),`${e.getMinutes()}`.padStart(2,`0`),`${e.getSeconds()}`.padStart(2,`0`)].join(`:`)}`:``}function D(e,t=`T`){return e instanceof Date?E(e,t):E(new Date(e),t)??``}function he(e){let t=document.createElement(`div`),n=t;return n.style.overflow=`hidden`,n.style.whiteSpace=`nowrap`,n.style.textOverflow=`ellipsis`,e.listen(`scrollIntoView`,()=>t.scrollIntoView()),[t,e=>{n.title=n.innerText=D(e,` `)}]}function ge(e,t){let n=document.createElement(`input`);return n.type=`datetime-local`,n.step=`1`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),a(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),a(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=D(e)}]}var O=e=>g(e,ge,he,me,null);function _e(e,t){return e||!t?e:null}function ve(e,t){let n=document.createElement(`input`);return n.type=`password`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),a(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),a(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var k=e=>g(e,ve,h,_e,``);function A(e,t){return e||!t?e:null}function j(e,t){let n=document.createElement(`input`);return n.type=`url`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),a(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),a(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var M=e=>g(e,j,h,A,``);function N(e,t){return e||!t?e:null}function P(e,t){let n=document.createElement(`input`);return n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),a(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),a(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var F=e=>g(e,P,h,N,``);const I=HTMLElement.prototype.hasOwnProperty(`popover`);function L(e){let t=e;for(;t;){let e=t.getRootNode();if(!e)return!1;if(e===document)return document.activeElement===t;if(!(e instanceof ShadowRoot)||e.activeElement!==t)return!1;let n=e.host;if(!n)return!1;t=n}}var ye=class extends HTMLElement{#e=null;#t=null;#n=null;#r=this.attachShadow({mode:`closed`});#i=this.#r.appendChild(document.createElement(`style`));#a=this.#r.appendChild(document.createElement(`input`));#o=this.#r.appendChild(document.createElement(`div`));#s=this.#o.appendChild(document.createElement(`div`));constructor(){super(),this.#i.textContent=`:host {
1
+ import{ArrayStore as e,ObjectStore as t,Pagination as n,Search as r,createComputed as i,createQuickFilters as a,createShowField as o,createState as s,effect as c,findConfigurator as l,getPatternFields as u,getPermissionFields as d,getPrimaryFields as f,importStyle as p,importWidget as m,loadOptions as h,modelService as g,permissionsService as _,runPattern as v,showFilterDialog as y,toId as ee,waitAbortSignal as te,watch as ne}from"@yongdall/web";import{Check as re,Source as ie}from"@neeloong/table";function b(e){let t=document.createElement(`div`),n=t;return n.style.overflow=`hidden`,n.style.whiteSpace=`nowrap`,n.style.textOverflow=`ellipsis`,e.listen(`scrollIntoView`,()=>t.scrollIntoView()),[t,e=>{n.title=n.innerText=e??``}]}function x(e,t,n,r,i){let a=e.editable,o=e.field?.nullable?null:i,[s,l]=(a?t:n)(e,t=>{o=r(t,e.field?.nullable),e.value=o});function u(e,t){!t&&e===o||(o=e,l(e))}return u(e.value,!0),c(()=>u(e.value),e.signal),s}function ae(e){let t=document.createElement(`div`),n=t;return e.listen(`scrollIntoView`,()=>t.scrollIntoView()),[t,e=>{n.innerText=e??``}]}function oe(e,t){return e||!t?e:null}function se(e,t){let n=document.createElement(`textarea`);return n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),c(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),c(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var ce=e=>x(e,se,ae,oe,``);function le(e,t){let n=parseFloat(e);return Number.isFinite(n)?n:t?null:0}function S(e,t){let n=document.createElement(`input`);return n.type=`number`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),c(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),c(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var C=e=>x(e,S,b,le,0);function w(e,t){let n=parseInt(e);return Number.isFinite(n)?n:t?null:0}function T(e,t){let n=document.createElement(`input`);return n.type=`number`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),c(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),c(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var E=e=>x(e,T,b,w,0);function D(e,t){if(!e)return t?null:0n;try{return BigInt(e)}catch{}return t?null:0n}function O(e,t){let n=document.createElement(`input`);return n.type=`number`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),c(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),c(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var ue=e=>x(e,O,b,D,0n);function de(e,t){return e||!t?e:null}function k(e,t){let n=document.createElement(`input`);return n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),c(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),c(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var A=e=>x(e,k,b,de,``),fe=e=>{let t=document.createElement(`input`);t.type=`checkbox`;let n=e.editable,r=e.field?.nullable?null:!1;n?(t.addEventListener(`input`,()=>{r=!!t.checked,e.value=r}),t.addEventListener(`change`,t=>e.emit(`change`,t)),t.addEventListener(`focus`,t=>e.emit(`focus`,t)),t.addEventListener(`blur`,t=>e.emit(`blur`,t))):t.disabled=!0,c(()=>t.disabled=!!(e.readonly||e.disabled),e.signal),c(()=>t.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>t.focus()),e.listen(`scrollIntoView`,()=>t.scrollIntoView());function i(n){let i=!e.field?.nullable||typeof n==`boolean`?!!n:null;i!==r&&(r=i,t.checked=!!i)}return c(()=>i(e.value),e.signal),t};function pe(e,t){return Number.isFinite(new Date(e).valueOf())?e:t?null:``}function j(e,t){let n=document.createElement(`input`);return n.type=`date`,n.step=`1`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),c(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),c(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var M=e=>x(e,j,b,pe,``);function N(e,t){let n=new Date(e);return Number.isFinite(n)?e:t?null:``}function me(e,t){let n=document.createElement(`input`);return n.type=`time`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),c(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),c(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var P=e=>x(e,me,b,N,``);function he(e,t){let n=new Date(e);return Number.isFinite(n.valueOf())?n:null}function F(e,t){return e.valueOf()?`${[`${e.getFullYear()}`.padStart(4,`0`),`${e.getMonth()+1}`.padStart(2,`0`),`${e.getDate()}`.padStart(2,`0`)].join(`-`)}${t}${[`${e.getHours()}`.padStart(2,`0`),`${e.getMinutes()}`.padStart(2,`0`),`${e.getSeconds()}`.padStart(2,`0`)].join(`:`)}`:``}function I(e,t=`T`){return e instanceof Date?F(e,t):F(new Date(e),t)??``}function L(e){let t=document.createElement(`div`),n=t;return n.style.overflow=`hidden`,n.style.whiteSpace=`nowrap`,n.style.textOverflow=`ellipsis`,e.listen(`scrollIntoView`,()=>t.scrollIntoView()),[t,e=>{n.title=n.innerText=I(e,` `)}]}function R(e,t){let n=document.createElement(`input`);return n.type=`datetime-local`,n.step=`1`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),c(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),c(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=I(e)}]}var z=e=>x(e,R,L,he,null);function ge(e,t){return e||!t?e:null}function B(e,t){let n=document.createElement(`input`);return n.type=`password`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),c(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),c(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var _e=e=>x(e,B,b,ge,``);function ve(e,t){return e||!t?e:null}function V(e,t){let n=document.createElement(`input`);return n.type=`url`,n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),c(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),c(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var ye=e=>x(e,V,b,ve,``);function be(e,t){return e||!t?e:null}function xe(e,t){let n=document.createElement(`input`);return n.addEventListener(`input`,()=>t(n.value)),n.addEventListener(`input`,t=>e.emit(`input`,t)),n.addEventListener(`change`,t=>e.emit(`change`,t)),n.addEventListener(`focus`,t=>e.emit(`focus`,t)),n.addEventListener(`blur`,t=>e.emit(`blur`,t)),c(()=>n.disabled=!!(e.readonly||e.disabled),e.signal),c(()=>n.placeholder=e.placeholder,e.signal),e.listen(`focus`,()=>n.focus()),e.listen(`scrollIntoView`,()=>n.scrollIntoView()),[n,e=>{n.value=e??``}]}var Se=e=>x(e,xe,b,be,``);p(`@neeloong/table/style.css`);async function Ce(t,l,p,m,h,g){let _=te(m,!0),b=await Promise.race([p.loadScript(),_]);if(!b)return Promise.reject();let x=g?.fields,ae=g?.queryFilters||[];function oe(n){let r=t?.parent;if(!r||(r instanceof e&&(r=r.parent),!r))return null;let i=r,a=0;for(;n[a]===`?`;){a++;let t=i.parent;if(!t||(t instanceof e&&(t=t.parent),!t))break;i=t}for(;n[a]===`?`;)a++;let o=n.slice(a),s=i.child(o);return s?s.value:null}let se=r.parse(g?.filter),ce=i(()=>r.fill(se.where,oe)),le=i(()=>r.fill(se.orWhere,oe)),S=s([]),C=s(100),w=s(1),T=s([]),E=l.appendChild(document.createElement(`div`)),D=E.appendChild(document.createElement(`div`)),O=E.appendChild(document.createElement(`div`)),ue=l.appendChild(document.createElement(`div`)),de=l.appendChild(document.createElement(`div`)),k=new ie({idKey:`_`,parentKey:`parent`});k.selectable=!0;let A=b.fields,fe=d(`options`,b.permissions||[],b),pe=Object.entries(A).filter(([,{type:e}])=>e&&typeof e!=`object`).filter(([e])=>fe.has(e)),j=f(b),M=b.labelPattern||``,N=[];for(let{field:e,width:t,label:n}of x||[]){if(!e||!Object.hasOwn(A,e))continue;let r=A[e];if(!r)continue;let i=r.type;!i||typeof i!=`string`||N.push({name:e,width:t||void 0,title:n||r.label||``,field:r})}if(!N.length){for(let[e,t]of pe)if(N.push({name:e,title:t.label||``,field:t}),N.length>=4)break}let me=[...new Set([...N.map(e=>e.name),...j,...u(M)])];c(()=>k.setValue(T.get()),m);let P=N.map(({name:e,field:t,title:n,width:r})=>({field:e,title:n,width:r,resizable:!0,render(n){let r=document.createElement(`div`),i=o(e,t,{},n.data);return r.appendChild(i.root),{root:r,destroy(){i.destroy()},setHidden(){},update(n){i.destroy(),r.innerHTML=``,i=o(e,t,{},n.data),r.appendChild(i.root)}}}}));P.unshift({field:`_`,width:200,resizable:!0,render(e){let t=e.data,n=document.createElement(`div`),r=v(M,t)||j.map(e=>t[e]).join(`$`);return n.appendChild(document.createTextNode(r)),{root:n,destroy(){},setHidden(){},update(e){let t=e.data,r=v(M,t)||j.map(e=>t[e]).join(`$`);n.innerHTML=``,n.appendChild(document.createTextNode(r))}}}}),h&&P.unshift({field:`_`,extensions:[re],render(e){return{root:document.createElement(`div`),destroy(){},setHidden(){},update(){}}}});let he=k.createGroup(P,2),F=document.createElement(`table`);he.createHeader(F.appendChild(document.createElement(`div`))),he.createBody(F.appendChild(document.createElement(`div`)));let I=new n;ne(()=>C.get(),e=>I.size=e||100,{immediate:!0,signal:m}),ne(()=>w.get(),e=>I.page=e||1,{immediate:!0,signal:m}),I.listen(()=>{w.set(I.page),C.set(I.size)});let L=0,R=s(!1);async function z(){if(!m.aborted&&!R.get())try{R.set(!0),L++;let e=L,{options:t,total:n}=await p.options({limit:C.get(),page:w.get(),where:[...S.get()||[],...ce.get()||[]],or:le.get(),select:me,total:!0});if(m.aborted||e!==L)return;T.set(t.map(e=>({...e,_:ee(e,j)}))),I.total=n}finally{R.set(!1)}}function ge(){b&&y(b,S.get(),l).then(e=>{S.set(e)}).catch(()=>{})}function B(e,t,n){let r=document.createElement(`button`);r.appendChild(document.createTextNode(e));let a=i(()=>!!n?.get());return c(()=>{r.disabled=a.get()},m),r.addEventListener(`click`,e=>{a.get()||e.defaultPrevented||t()}),r}let{promise:_e,reject:ve,resolve:V}=Promise.withResolvers();return O.appendChild(B(`刷新`,z,R)),O.appendChild(B(`过滤`,ge)),O.appendChild(B(`确定`,()=>{let e=[];if(h){if(e=k.checked,!e.length)return V([])}else{let t=k.selectedId;if(!t)return V(null);e=[t]}if(!e.length){V(h?[]:null);return}let t=T.get(),n=Object.fromEntries(t.map(e=>[e._,e])),r=[...new Set(e.map(e=>n[e]).filter(Boolean))].map(e=>({value:e._,label:v(M,e)||e._}));V(h?r:r[0])})),O.appendChild(B(`取消`,()=>{ve()})),D.classList.add(`QueryFilters`),a({get(){return S.get()||[]},set(e){S.set(e),z()}},D,ae||[],{fields:b.fields,signal:m,inline:!0}),ue.appendChild(F),de.appendChild(I.root),ne([()=>S.get(),()=>C.get(),()=>w.get()],z,{signal:m,immediate:!0}),Promise.race([_e,_]).finally(()=>{E.remove(),ue.remove(),de.remove()})}var we=(e,t)=>{let n=e.editable,r=e.store||null,i=g(e.field?.model||``),a=document.createElement(`div`);a.classList=`InputDocument`;let o=a.appendChild(document.createElement(`div`)),l=o.appendChild(document.createElement(`div`)),d=a.appendChild(document.createElement(`div`));l.classList=`InputDocument-placeholder`,e.listen(`scrollIntoView`,()=>o.scrollIntoView()),e.listen(`focus`,()=>o.focus());let f=null,p=null,m=s(),h=null;return c(()=>l.innerText=e.placeholder,e.signal),c(()=>{let e=m.get()||``;d.innerText=e,l.hidden=!!e},e.signal),c(async()=>{let t=e.value,n=t==``||t==null?null:t;if(f===n)return;f=n;let r=e.current[`${e.name}~label`];if(r){p=null,f=null,m.set(r);return}if(p=f,m.set(f||``),!f)return;let a=await i;if(!a)return;let o=a.labelPattern||``;if(!u(o).length)return;let{option:s}=await i.option(f);!s||f!==p||m.set(v(o,s)||f)},e.signal),n?(o.classList=`InputDocument-text`,c(()=>{e.readonly||e.disabled?(o.removeAttribute(`tabIndex`),h?.abort(),h=null,o.setAttribute(`disabled`,``)):(o.tabIndex=0,o.removeAttribute(`disabled`))},e.signal),o.addEventListener(`click`,async()=>{if(e.readonly||e.disabled)return;h?.abort(),h=new AbortController,e.emit(`focus`,null);let n=a.appendChild(document.createElement(`dialog`));n.showModal();try{let a=await Ce(r,n,i,AbortSignal.any([h.signal,e.signal]),!1,t),o=Array.isArray(a)?a[0]:a;if(!o){if(!e.value)return;(e.clearable||e.nullable)&&(f=``,p=null,e.value=e.nullable?null:``,m.set(``),e.emit(`change`,null));return}let s=o.value;if(s===e.value)return;f=s,e.value=s,p=null,m.set(o.label||s),e.emit(`change`,null)}finally{n.remove(),e.emit(`blur`,null)}}),a):a};function Te(e){return i(()=>{let t=[...e.get()],n=Object.create(null);for(let e;e=t.shift();){let r=e.children;n[e.value]=e.label;for(let e of r)t.push(e)}return n})}function Ee(e){return i(()=>{let t=e.get().map(e=>[0,e]),n=[];for(let e;e=t.shift();){let[r,i]=e;n.push({...i,level:r});for(let e of i.children)t.push([r+1,e])}return n})}function De(e){return i(()=>{let t=[...e.get()],n=Object.create(null);for(let e;e=t.shift();){let r=e.children;n[e.value]=e.data;for(let e of r)t.push(e)}return n})}function*Oe(e,n){if(!e||!n||typeof n==`object`)return;let r=e.parent;if(r instanceof t)for(let[e,t]of Object.entries(n)){let n=r.child(e);n&&typeof t==`string`&&(yield e=>n.value=e[t])}}var ke=(t,n={})=>{let r=t.editable,a=t.store;if(!r){let e=document.createElement(`span`),r=s(``);t.listen(`focus`,()=>e.focus()),t.listen(`scrollIntoView`,()=>e.scrollIntoView());let i=Te(h(n,!1));function a(){let t=r.get();t===``?e.innerText=``:e.innerText=i.get()[t]??``}function o(e){let t=e??``;t!==r&&r.set(t)}return c(()=>o(t.value),t.signal),c(a,t.signal),e}function o(n){let r=t.store?.parent;if(!r||(r instanceof e&&(r=r.parent),!r))return null;let i=r,a=0;for(;n[a]===`?`;){a++;let t=i.parent;if(!t||(t instanceof e&&(t=t.parent),!t))break;i=t}for(;n[a]===`?`;)a++;let o=n.slice(a),s=i.child(o);return s?s.value:null}let l=h(n,o),u=De(l),d=document.createElement(`select`),f=[...Oe(a,n.bind)];d.addEventListener(`change`,()=>{let e=d.value||null;if(t.value=e,!e||!f.length)return;let n=u.get(),r=Object.hasOwn(n,e)&&n[e];if(!(!r||typeof r!=`object`))for(let e of f)e(r)}),d.addEventListener(`change`,e=>t.emit(`change`,e)),d.addEventListener(`focus`,e=>t.emit(`focus`,e)),d.addEventListener(`blur`,e=>t.emit(`blur`,e)),t.listen(`focus`,()=>d.focus()),t.listen(`scrollIntoView`,()=>d.scrollIntoView()),c(()=>d.disabled=!!(t.readonly||t.disabled),t.signal);let p=Ee(l),m=i(()=>{let e=p.get();return t.clearable?[{value:``,label:t.field?.label??``,disabled:!1,level:0},...e]:e});c(()=>{d.innerHTML=``;for(let{value:e,label:t,disabled:n,level:r}of m.get()){let i=document.createElement(`option`);i.value=`${e}`,i.label=`${Array(r).fill(` `).join(``)}${t}`,n&&(i.disabled=n),d.appendChild(i)}d.value=t.value||``},t.signal);function g(e){d.value=(e==``||e==null?null:e)||``}return c(()=>g(t.value),t.signal),d};const Ae=HTMLElement.prototype.hasOwnProperty(`popover`);function je(e){let t=e;for(;t;){let e=t.getRootNode();if(!e)return!1;if(e===document)return document.activeElement===t;if(!(e instanceof ShadowRoot)||e.activeElement!==t)return!1;let n=e.host;if(!n)return!1;t=n}}var Me=class extends HTMLElement{#e=null;#t=null;#n=null;#r=this.attachShadow({mode:`closed`});#i=this.#r.appendChild(document.createElement(`style`));#a=this.#r.appendChild(document.createElement(`input`));#o=this.#r.appendChild(document.createElement(`div`));#s=this.#o.appendChild(document.createElement(`div`));constructor(){super(),this.#i.textContent=`:host {
2
2
  display: contents;
3
3
  }
4
4
 
@@ -65,5 +65,5 @@ input {
65
65
 
66
66
  }
67
67
 
68
- `;let e=this.#a;e.type=`text`;let t=this.#o,n=this.#s;t.className=`dropdown`,n.className=`dropdown-list`,I&&t.setAttribute(`popover`,`manual`),e.addEventListener(`input`,()=>{this.#u()}),e.addEventListener(`focus`,()=>{this.#d()}),e.addEventListener(`blur`,()=>{let t=this.#e,n=e.value,r=this.required;if(!n){if(!t)return;if(r){e.value=t.label;return}this.#e=null,this.#t=null,this.#l();return}if(t?.label===n)return;let i=this.#c.find(e=>e.label===n);if(i){this.#e=i,this.#t=i.value,e.value=i.label,this.#l();return}if(!t){e.value=``;return}r?e.value=t.label:(e.value=``,this.#e=null,this.#t=null,this.#l())}),this.addEventListener(`keydown`,e=>{if(!this.#b)return;let t=this.#n;if(e.key===`ArrowDown`){if(e.preventDefault(),t?.parentNode!==n){let e=n.firstElementChild;if(!e){this.#n=null;return}this.#n=e,e.classList.add(`current`),e.scrollIntoView();return}let r=t.nextElementSibling;if(!r)return;t.classList.remove(`current`),this.#n=r,r.classList.add(`current`),r.scrollIntoView()}if(e.key===`ArrowUp`){if(e.preventDefault(),t?.parentNode!==n){let e=n.lastElementChild;if(!e){this.#n=null;return}this.#n=e,e.classList.add(`current`),e.scrollIntoView();return}let r=t.previousElementSibling;if(!r)return;t.classList.remove(`current`),this.#n=r,r.classList.add(`current`),r.scrollIntoView()}e.key===`Enter`&&(e.preventDefault(),t?.parentNode===n&&t.click())})}get options(){return this.#c}focus(){this.#a.focus()}set options(e){this.#c=e;let t=this.#o,n=this.#s;n.innerHTML=``;for(let t of e){let e=document.createElement(`div`);e.className=`option`,e.appendChild(document.createTextNode(`${Array(t.level||0).fill(` `).join(``)}${t.label}`||` `)),n.appendChild(e),e.addEventListener(`pointerdown`,e=>{e.preventDefault(),this.#f(t)}),e.addEventListener(`click`,e=>{e.preventDefault(),this.#f(t)}),e.addEventListener(`pointermove`,()=>{this.#n?.classList.remove(`current`),this.#n=e,e.classList.add(`current`)})}if(this.#n=n.firstElementChild,this.#n?.classList.add(`current`),t.scrollTop=0,t.scrollLeft=0,L(this.#a)){if(this.#a.value===this.current?.label)return;this.open=!0;return}let r=this.#t,i=this.#c.find(e=>e.value===r);if(i){if(i===this.#e)return;this.#e=i,this.#t=i.value,this.#a.value=i.label||``}}get active(){return L(this.#a)}#c=[];get current(){return this.#e}get value(){return this.#t}set value(e){if(e===this.#t)return;let t=this.#c.find(t=>t.value===e);if(!t){this.#e=null,this.#t=e,this.#a.value=e;return}t!==this.#e&&(this.#e=t,this.#t=t.value,this.#a.value=t.label||``)}#l(){this.dispatchEvent(new Event(`change`))}#u(){this.dispatchEvent(new Event(`input`))}#d(){this.open=!0,this.dispatchEvent(new Event(`focus`))}get text(){return this.#a.value}#f(e){this.#e=e,this.#t=e?.value,this.#a.value=e?.label||``,this.#l(),this.open=!1,this.#a.focus()}get open(){return this.getAttribute(`open`)!==null}set open(e){e?this.setAttribute(`open`,``):this.removeAttribute(`open`)}get disabled(){return this.getAttribute(`disabled`)!==null}set disabled(e){e?this.setAttribute(`disabled`,``):this.removeAttribute(`disabled`)}get readOnly(){return this.getAttribute(`readonly`)!==null}set readOnly(e){e?this.setAttribute(`readonly`,``):this.removeAttribute(`readonly`)}get required(){return this.getAttribute(`required`)!==null}set required(e){e?this.setAttribute(`required`,``):this.removeAttribute(`required`)}get placeholder(){return this.getAttribute(`placeholder`)||``}set placeholder(e){e?this.setAttribute(`placeholder`,e):this.removeAttribute(`placeholder`)}#p(){let e=this.#a.getBoundingClientRect(),t=window.innerWidth,n=window.innerHeight,r=t-e.right,i=n-e.bottom,{top:a,left:o,width:s,height:c}=e,l=this.#s.getBoundingClientRect(),u=l.width-2,d=l.height-2,f=this.#o;f.style.maxWidth=``,f.style.minWidth=``,f.style.top=`${a+c}px`,f.style.minWidth=`${s}px`,f.style.maxHeight=`${n-a-c-4}px`,u<=t-o?(f.style.left=`${o}px`,f.style.right=``):u<=t-o?(f.style.left=`${o}px`,f.style.right=`${t-o}px`):(f.style.left=`${Math.max(0,Math.min((u-s)/2,o))}px`,f.style.right=``);let p=0;d<=i-20?(p=1,f.style.top=`${a+c}px`,f.style.minWidth=`${s}px`,f.style.bottom=``):d<=a?(p=1,f.style.top=``,f.style.bottom=`${i+c}px`):Math.max(o,r-20)<Math.min(u,e.right-o)?i-20>=a?(p=1,f.style.top=`${a+c}px`,f.style.minWidth=`${s}px`,f.style.bottom=``):d<=a&&(p=1,f.style.top=``,f.style.bottom=`${i+c}px`):u<=r-20||o<=r-20?(f.style.left=`${o+s}px`,f.style.maxWidth=`${r}px`,f.style.right=``):(f.style.left=``,f.style.right=`${r+s}px`,f.style.maxWidth=`${o}px`),p?u<=t-o?(f.style.left=`${o}px`,f.style.right=``):u<=t-o?(f.style.left=`${o}px`,f.style.right=`${t-o}px`):(f.style.left=`${Math.max(0,Math.min((u-s)/2,o))}px`,f.style.right=``):d<=n-a?(f.style.top=`${a}px`,f.style.bottom=``):d<a+c?(f.style.top=``,f.style.bottom=`${n-a}px`):(f.style.top=`${Math.max(0,Math.min(n-d,a))}px`,f.style.bottom=`0`)}#m=!1;#h=null;#g(){if(I&&this.#o.showPopover(),this.#m)return;this.#m=!0;let e=this;this.#h=requestAnimationFrame(function t(){e.#p(),e.#m&&(e.#h=requestAnimationFrame(t))})}#_(){I&&this.#o.hidePopover(),this.#m&&(this.#m=!1,cancelAnimationFrame(this.#h))}#v=e=>{this.contains(e.target)||(this.open=!1)};#y=!1;connectedCallback(){document.addEventListener(`click`,this.#v),this.#y=!0,this.#x()}disconnectedCallback(){document.removeEventListener(`click`,this.#v),this.#y=!1,this.#x()}#b=!1;#x(){let e=!this.readOnly&&!this.disabled&&this.open&&this.#y;this.#b!==e&&(this.#b=e,e?this.#g():this.#_())}attributeChangedCallback(e,t,n){if(t!==n)switch(e){case`open`:if(!this.#y)return;this.#x();return;case`placeholder`:this.#a.placeholder=n||``;return;case`readonly`:this.#a.readOnly=n!==null,this.#x();return;case`disabled`:this.#a.disabled=n!==null,this.#x();return}}static observedAttributes=[`open`,`placeholder`,`readonly`,`disabled`]};try{customElements.define(`yongdall-select`,ye)}catch{}function be(e,t){if(!e||typeof e!=`string`)return r(()=>({where:[],orWhere:[]}));let a=n.parse(e),o=typeof t==`function`?r(()=>[n.fill(a.where,t),n.fill(a.orWhere,t)]):i([a.where,a.orWhere]);return r(()=>{let[e,t]=o.get();return{where:e,orWhere:t}})}var xe=(t,n)=>{let r=t.editable,i=t.store,o=u(t.field?.model||``);if(!r){let e=document.createElement(`span`),n=null;return t.listen(`focus`,()=>e.focus()),t.listen(`scrollIntoView`,()=>e.scrollIntoView()),i?(o.then(async r=>{if(!r)return;let i=r.labelPattern||``;if(!s(i).length){a(()=>e.innerText=t.value||``,t.signal);return}async function c(){let t=n;if(!t){e.innerText=``;return}let{option:r}=await o.option(t);!r||t!==n||(e.innerText=f(i,r)||n)}function l(t){let r=t==``||t==null?null:t;r!==n&&(n=r,e.innerText=n||``,c())}a(()=>l(t.value),t.signal)}),e):(a(()=>{e.innerText=t.current[`${t.name}~label`]||t.value},t.signal),e)}let c=document.createElement(`yongdall-select`),l=null;c.addEventListener(`change`,()=>{l=c.value||null,t.value=l}),c.addEventListener(`change`,e=>t.emit(`change`,e)),c.addEventListener(`focus`,e=>t.emit(`focus`,e)),c.addEventListener(`blur`,e=>t.emit(`blur`,e)),t.listen(`focus`,()=>c.focus()),t.listen(`scrollIntoView`,()=>c.scrollIntoView()),a(()=>c.hidden=!!t.hidden,t.signal),a(()=>c.disabled=!!(t.readonly||t.disabled),t.signal),a(()=>c.placeholder=t.placeholder,t.signal),i&&a(()=>c.placeholder=i.placeholder||``,t.signal);function d(n){let r=t.store?.parent;if(!r||(r instanceof e&&(r=r.parent),!r))return null;let i=r,a=0;for(;n[a]===`?`;){a++;let t=i.parent;if(!t||(t instanceof e&&(t=t.parent),!t))break;i=t}for(;n[a]===`?`;)a++;let o=n.slice(a),s=i.child(o);return s?s.value:null}return o.then(async e=>{if(!e)return;let r=``,i=[],s=null,u=be(n?.filter,d),h=!1;function g(){h=!0,s&&clearTimeout(s);let e=c.text;r=e,s=setTimeout(async()=>{if(r!==e)return;let t=await o.options({...u.get(),query:e,limit:100});r===e&&(i=t,x())},300)}c.addEventListener(`input`,g),c.addEventListener(`focus`,()=>{h||g()}),m(()=>u.get(),()=>{c.active&&g()},{signal:t.signal});let _=e.labelPattern||``,v=t=>p(e,t),y=null;async function b(){let e=l;if(!e){y=null,x();return}let t=i.find(t=>v(t)===e);if(t){y=t,x();return}let{option:n}=await o.option(e);!n||e!==l||e===l&&(y=n,x())}function x(){let e=[...i],n=l;if(n){let t=y;t&&v(t)==n&&!e.find(e=>v(e)==n)&&e.push(t)}let r=e.map(e=>{let t=v(e);return{value:t,label:f(_,e)||t,data:e}});t.clearable&&r.unshift({value:``,label:``});let a=r.find(e=>e.value==l);c.value=a?.label||a?.value||``,c.options=r}function S(e){let t=e==``||e==null?null:e;t!==l&&(l=t,c.value=l||``,b())}a(()=>S(t.value),t.signal)}),c};function Se(e){return r(()=>{let t=[...e.get()],n=Object.create(null);for(let e;e=t.shift();){let r=e.children;n[e.value]=e.label;for(let e of r)t.push(e)}return n})}function Ce(e){return r(()=>{let t=e.get().map(e=>[0,e]),n=[];for(let e;e=t.shift();){let[r,i]=e;n.push({...i,level:r});for(let e of i.children)t.push([r+1,e])}return n})}function we(e){return r(()=>{let t=[...e.get()],n=Object.create(null);for(let e;e=t.shift();){let r=e.children;n[e.value]=e.data;for(let e of r)t.push(e)}return n})}function*R(e,n){if(!e||!n||typeof n==`object`)return;let r=e.parent;if(r instanceof t)for(let[e,t]of Object.entries(n)){let n=r.child(e);n&&typeof t==`string`&&(yield e=>n.value=e[t])}}var Te=(t,n={})=>{let o=t.editable,s=t.store;if(!o){let e=document.createElement(`span`),r=i(``);t.listen(`focus`,()=>e.focus()),t.listen(`scrollIntoView`,()=>e.scrollIntoView());let o=Se(l(n,!1));function s(){let t=r.get();t===``?e.innerText=``:e.innerText=o.get()[t]??``}function c(e){let t=e??``;t!==r&&r.set(t)}return a(()=>c(t.value),t.signal),a(s,t.signal),e}function c(n){let r=t.store?.parent;if(!r||(r instanceof e&&(r=r.parent),!r))return null;let i=r,a=0;for(;n[a]===`?`;){a++;let t=i.parent;if(!t||(t instanceof e&&(t=t.parent),!t))break;i=t}for(;n[a]===`?`;)a++;let o=n.slice(a),s=i.child(o);return s?s.value:null}let u=l(n,c),d=we(u),f=document.createElement(`select`),p=[...R(s,n.bind)];f.addEventListener(`change`,()=>{let e=f.value||null;if(t.value=e,!e||!p.length)return;let n=d.get(),r=Object.hasOwn(n,e)&&n[e];if(!(!r||typeof r!=`object`))for(let e of p)e(r)}),f.addEventListener(`change`,e=>t.emit(`change`,e)),f.addEventListener(`focus`,e=>t.emit(`focus`,e)),f.addEventListener(`blur`,e=>t.emit(`blur`,e)),t.listen(`focus`,()=>f.focus()),t.listen(`scrollIntoView`,()=>f.scrollIntoView()),a(()=>f.disabled=!!(t.readonly||t.disabled),t.signal);let m=Ce(u),h=r(()=>{let e=m.get();return t.clearable?[{value:``,label:t.field?.label??``,disabled:!1,level:0},...e]:e});a(()=>{f.innerHTML=``;for(let{value:e,label:t,disabled:n,level:r}of h.get()){let i=document.createElement(`option`);i.value=`${e}`,i.label=`${Array(r).fill(` `).join(``)}${t}`,n&&(i.disabled=n),f.appendChild(i)}f.value=t.value||``},t.signal);function g(e){f.value=(e==``||e==null?null:e)||``}return a(()=>g(t.value),t.signal),f},z=(e,t={})=>{let{inline:n,showLabel:i,quick:o}=e.style,s=document.createElement(n?`span`:`div`).appendChild(document.createElement(`label`)),c=s.appendChild(document.createElement(`yongdall-select`)),u=l(t),d=null;c.addEventListener(`change`,()=>{d=c.value||null,e.value=d});let f=null;function p(){f&&clearTimeout(f),f=setTimeout(()=>{},300)}c.addEventListener(`input`,p);let m=r(()=>{let e=[{value:``,label:``},...u.get()];return e.unshift({value:``,label:``}),e});return a(()=>{c.options=m.get()},e.signal),a(()=>{let t=e.value,n=t==``||t==null?null:t;n!==d&&(d=n,c.value=d||``)},e.signal),i?s.insertBefore(document.createTextNode(e.field?.label??``),s.firstChild):o&&(c.placeholder=e.field?.label??``),c},Ee=e=>{let t=document.createElement(`div`),n=t.appendChild(document.createElement(`div`)).appendChild(document.createElement(`label`)),o=n.appendChild(document.createElement(`input`));n.appendChild(document.createTextNode(`全选`)),n.classList.add(`align-center`),o.type=`checkbox`;let s=t.appendChild(document.createElement(`div`)),c=new Set,l=r(()=>new Set(d.get().flatMap(e=>e.children?.map(e=>e.value)||[])));function u(){l.get().size===c.size?(o.indeterminate=!1,o.checked=!0):c.size?o.indeterminate=!0:(o.indeterminate=!1,o.checked=!1)}function f(){c=new Set;for(let{checked:e,value:t}of s.querySelectorAll(`input`))!e||!t||c.add(t);e.value=[...c].map(e=>({permission:e})),u()}function p(){for(let e of s.querySelectorAll(`input`))e.checked=c.has(e.value)}function m(){p(),u()}let h=i([]);function g(){s.innerHTML=``;let e=[];for(let{label:t,children:n}of d.get()){if(!n?.length)continue;let r=s.appendChild(document.createElement(`details`));r.open=!0,r.appendChild(document.createElement(`summary`)).appendChild(document.createTextNode(t));for(let{value:t,label:i}of n){let n=r.appendChild(document.createElement(`label`)),a=n.appendChild(document.createElement(`input`));a.type=`checkbox`,n.appendChild(document.createTextNode(i)),n.classList.add(`align-center`),n.classList.add(`inline`),a.value=String(t||``),a.addEventListener(`input`,f),e.push(a)}}h.set(e),m()}a(()=>g(),e.signal),o.addEventListener(`input`,()=>{if(!o.checked){for(let e of s.querySelectorAll(`input`))e.checked=!1;e.value=[];return}let t=new Set;for(let e of s.querySelectorAll(`input`))e.checked=!0,t.add(e.value);e.value=[...t].map(e=>({permission:e})),p()}),o.addEventListener(`change`,t=>e.emit(`change`,t)),o.addEventListener(`focus`,t=>e.emit(`focus`,t)),o.addEventListener(`blur`,t=>e.emit(`blur`,t));let _=r(()=>!!(!e.editable||e.disabled));e.listen(`focus`,()=>o.focus()),e.listen(`scrollIntoView`,()=>o.scrollIntoView()),a(()=>o.hidden=!!e.hidden,e.signal),a(()=>{let e=_.get();n.hidden=e;for(let t of h.get())t.disabled=e},e.signal),a(()=>o.readOnly=!!e.readonly,e.signal);function v(e){let t=new Set(Array.isArray(e)&&e.map(e=>e.permission)||[]);if(t.size===c.size){for(let e of c)if(!t.has(e))break;return}c=t,m()}return a(()=>v(e.value),e.signal),t},De=(t,n={})=>{function r(n){let r=t.store?.parent;if(!r||(r instanceof e&&(r=r.parent),!r))return null;let i=r,a=0;for(;n[a]===`?`;){a++;let t=i.parent;if(!t||(t instanceof e&&(t=t.parent),!t))break;i=t}for(;n[a]===`?`;)a++;let o=n.slice(a),s=i.child(o);return s?s.value:null}let i=o(n,r),s=null,l=null;async function u(e){if(typeof e==`string`)return c(e);if(!e||typeof e!=`object`)return null;let{component:t,widget:n}=e;return typeof t==`string`&&t||typeof n==`string`&&n?c(e):null}let d=document.createElement(`div`);async function f(e){if(t.signal.aborted||e===s)return;s=e,l?.abort(),l=new AbortController;let n=AbortSignal.any([l.signal,t.signal]),r=await u(e);typeof r==`function`&&(n.aborted||r({root:d,get store(){return t.store},get style(){return t.style},get field(){return t.field},get name(){return t.name},get value(){return t.value},set value(e){t.value=e},get current(){return t.current},get destroyed(){return t.destroyed},get readonly(){return t.readonly},get editable(){return t.editable},get required(){return t.required},get nullable(){return t.nullable},get disabled(){return t.disabled},get clearable(){return t.clearable},get hidden(){return t.hidden},get label(){return t.label},get placeholder(){return t.placeholder},get description(){return t.description},get signal(){return n},listen(e,n){return t.listen(e,n)},emit(e,n){return t.emit(e,n)}},typeof e==`object`&&e||{}))}let p=null;return a(()=>{let e=i.get()||null;p!==null&&cancelIdleCallback(p),p=requestIdleCallback(()=>{p=null,f(e)})},t.signal),d};function B(e,t){let{inline:n,showLabel:r,quick:i}=t.style,o=document.createElement(n?`span`:`div`),s=t.field?.label??``;if(r){let e=o.appendChild(document.createElement(n?`span`:`div`));e.innerText=s}let c=e(n?o:o.appendChild(document.createElement(`div`)),i?s:``,e=>{t.value=e});return a(()=>c(t.value),t.signal),o}function Oe(e,t,n){let r=e.appendChild(document.createElement(`textarea`));return t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var V=B.bind(null,Oe);function ke(e,t){let n=parseFloat(e);return Number.isFinite(n)?n:t?0:null}function Ae(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`number`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(ke(r.value))),e=>{r.value=e??``}}var H=B.bind(null,Ae);function je(e,t){let n=parseInt(e);return Number.isFinite(n)?n:t?0:null}function Me(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`number`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(je(r.value))),e=>{r.value=e??``}}var U=B.bind(null,Me);function Ne(e,t){if(!e)return t?0n:null;try{return BigInt(e)}catch{}return t?0n:null}function Pe(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`number`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(Ne(r.value))),e=>{r.value=e??``}}var W=B.bind(null,Pe);function Fe(e,t,n){let r=e.appendChild(document.createElement(`input`));return t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var G=B.bind(null,Fe),K=e=>{let{inline:t,showLabel:n,quick:r}=e.style,i=document.createElement(t?`span`:`div`),o=i.appendChild(document.createElement(`label`)),s=o.appendChild(document.createElement(`input`));return s.type=`checkbox`,s.addEventListener(`input`,()=>{e.value=s.indeterminate?null:!!s.checked}),a(()=>{let t=e.value;if(typeof t==`boolean`){s.checked=t;return}if(t===`false`||t===`0`||t===0){s.checked=!1;return}if(t===`true`||t===`1`||t===1){s.checked=!0;return}s.indeterminate=!0,t!==null&&(e.value=null)},e.signal),n?o.insertBefore(document.createTextNode(e.field?.label??``),o.firstChild):r&&o.appendChild(document.createTextNode(e.field?.label??``)),i};function Ie(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`date`,r.step=`1`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var q=B.bind(null,Ie);function Le(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`time`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var J=B.bind(null,Le);function Re(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`datetime-local`,r.step=`1`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var Y=B.bind(null,Re);function ze(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`url`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var X=B.bind(null,ze);function Be(e,t,n){let r=e.appendChild(document.createElement(`input`));return t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var Z=B.bind(null,Be);function Ve(e){if(!e||typeof e!=`string`)return{};let{where:t,orWhere:r}=n.parse(e);return{where:t,orWhere:r}}var Q=(e,t)=>{let{inline:n,showLabel:r,quick:i}=e.style,o=document.createElement(n?`span`:`div`).appendChild(document.createElement(`label`)),s=o.appendChild(document.createElement(`yongdall-select`)),c=u(e.field?.model||``),l=null;return s.addEventListener(`change`,()=>{l=s.value||null,e.value=l}),c.then(async n=>{if(!n)return;let r=``,i=[],o=null,u=Ve(t?.filter),d=!1;function m(){d=!0,o&&clearTimeout(o);let e=s.text;r=e,o=setTimeout(async()=>{if(r!==e)return;let t=await c.options({...u,query:e,limit:100});r===e&&(i=t,y())},300)}s.addEventListener(`input`,m),s.addEventListener(`focus`,()=>{d||m()});let h=n.labelPattern||``,g=e=>p(n,e),_=null;async function v(){let e=l;if(!e){_=null,y();return}let t=i.find(t=>g(t)===e);if(t){_=t,y();return}let{option:n}=await c.option(e);!n||e!==l||e===l&&(_=n,y())}function y(){let e=[...i],t=l;if(t){let n=_;n&&g(n)==t&&!e.find(e=>g(e)==t)&&e.push(n)}let n=e.map(e=>{let t=g(e);return{value:t,label:f(h,e)||t,data:e}});n.unshift({value:``,label:``});let r=n.find(e=>e.value==l);s.value=r?.label||r?.value||``,s.options=n}a(()=>{let t=e.value,n=t==``||t==null?null:t;n!==l&&(l=n,s.value=l||``,v())},e.signal)}),r?o.insertBefore(document.createTextNode(e.field?.label??``),o.firstChild):i&&(s.placeholder=e.field?.label??``),s};function He(e){return r(()=>{let t=e.get().map(e=>[0,e]),n=[];for(let e;e=t.shift();){let[r,i]=e;n.push({...i,level:r});for(let e of i.children)t.push([r+1,e])}return n})}var $=(e,t={})=>{let{inline:n,showLabel:i,quick:o}=e.style,s=document.createElement(n?`span`:`div`).appendChild(document.createElement(`label`)),c=s.appendChild(document.createElement(`select`)),u=l(t);c.addEventListener(`change`,()=>{e.value=c.value||null});let d=He(u),f=r(()=>{let t=d.get();return[{value:``,label:o&&e.field?.label||``,disabled:!1,level:0},...t]});return a(()=>{c.innerHTML=``;for(let{value:e,label:t,disabled:n,level:r}of f.get()){let i=document.createElement(`option`);i.value=`${e}`,i.label=`${Array(r).fill(` `).join(``)}${t}`,n&&(i.disabled=n),c.appendChild(i)}c.value=e.value||``},e.signal),a(()=>{let t=e.value;c.value=(t==``||t==null?null:t)||``},e.signal),i&&s.insertBefore(document.createTextNode(e.field?.label??``),s.firstChild),c};const Ue=[{type:`text`,input:b,filter:V,notFilter:V,filters:{ne:[V,`≠`]}},{type:`string`,input:se,filter:G,notFilter:G,filters:{ne:[G,`≠`]}},{type:`bool`,input:ce,filter:K,notFilter:K,filters:{ne:[K,`≠`]}},{type:`f32`,input:C,filter:H,notFilter:H,filters:{ne:[H,`≠`],gt:[H,`>`],ge:[H,`≥`],lt:[H,`<`],le:[H,`≤`]}},{type:`f64`,input:C,filter:H,notFilter:H,filters:{ne:[H,`≠`],gt:[H,`>`],ge:[H,`≥`],lt:[H,`<`],le:[H,`≤`]}},{type:`decimal`,input:C,filter:H,notFilter:H,filters:{ne:[H,`≠`],gt:[H,`>`],ge:[H,`≥`],lt:[H,`<`],le:[H,`≤`]}},{type:`numeric`,input:C,filter:H,notFilter:H,filters:{ne:[H,`≠`],gt:[H,`>`],ge:[H,`≥`],lt:[H,`<`],le:[H,`≤`]}},{type:`money`,input:C,filter:H,notFilter:H,filters:{ne:[H,`≠`],gt:[H,`>`],ge:[H,`≥`],lt:[H,`<`],le:[H,`≤`]}},{type:`i16`,input:w,filter:U,notFilter:U,filters:{ne:[U,`≠`],gt:[U,`>`],ge:[U,`≥`],lt:[U,`<`],le:[U,`≤`]}},{type:`i32`,input:w,filter:U,notFilter:U,filters:{ne:[U,`≠`],gt:[U,`>`],ge:[U,`≥`],lt:[U,`<`],le:[U,`≤`]}},{type:`i64`,input:ie,filter:W,notFilter:W,filters:{ne:[W,`≠`],gt:[W,`>`],ge:[W,`≥`],lt:[W,`<`],le:[W,`≤`]}},{type:`date`,input:de,filter:q,notFilter:q,filters:{ne:[q,`≠`],gt:[q,`>`],ge:[q,`≥`],lt:[q,`<`],le:[q,`≤`]}},{type:`time`,input:T,filter:J,notFilter:J,filters:{ne:[J,`≠`],gt:[J,`>`],ge:[J,`≥`],lt:[J,`<`],le:[J,`≤`]}},{type:`uuid`,input:F,filter:Z,notFilter:Z,filters:{ne:[Z,`≠`]}},{type:`datetime`,input:O,filter:Y,notFilter:Y,filters:{ne:[Y,`≠`],gt:[Y,`>`],ge:[Y,`≥`],lt:[Y,`<`],le:[Y,`≤`]}},{type:`timetz`,input:T,filter:J,notFilter:J,filters:{ne:[J,`≠`],gt:[J,`>`],ge:[J,`≥`],lt:[J,`<`],le:[J,`≤`]}},{type:`timestamp`,input:O,filter:Y,notFilter:Y,filters:{ne:[Y,`≠`],gt:[Y,`>`],ge:[Y,`≥`],lt:[Y,`<`],le:[Y,`≤`]}},{renderer:`password`,input:k,filter:G,notFilter:G,filters:{ne:[G,`≠`]}},{renderer:`uri`,input:M,filter:X,notFilter:X,filters:{ne:[X,`≠`]}},{renderer:`document`,input:xe,filter:Q,notFilter:Q,filters:{ne:[Q,`≠`]}},{renderer:`select`,input:Te,filter:$,notFilter:$,filters:{ne:[$,`≠`]}},{renderer:`search`,input:z,filter:z,notFilter:z,filters:{ne:[z,`≠`]}},{renderer:`configuration`,input:De},{type:`submodel`,array:!0,renderer:`permission`,input:Ee}],We=[`style.css`];export{Ue as formFields,We as styles};
68
+ `;let e=this.#a;e.type=`text`;let t=this.#o,n=this.#s;t.className=`dropdown`,n.className=`dropdown-list`,Ae&&t.setAttribute(`popover`,`manual`),e.addEventListener(`input`,()=>{this.#u()}),e.addEventListener(`focus`,()=>{this.#d()}),e.addEventListener(`blur`,()=>{let t=this.#e,n=e.value,r=this.required;if(!n){if(!t)return;if(r){e.value=t.label;return}this.#e=null,this.#t=null,this.#l();return}if(t?.label===n)return;let i=this.#c.find(e=>e.label===n);if(i){this.#e=i,this.#t=i.value,e.value=i.label,this.#l();return}if(!t){e.value=``;return}r?e.value=t.label:(e.value=``,this.#e=null,this.#t=null,this.#l())}),this.addEventListener(`keydown`,e=>{if(!this.#b)return;let t=this.#n;if(e.key===`ArrowDown`){if(e.preventDefault(),t?.parentNode!==n){let e=n.firstElementChild;if(!e){this.#n=null;return}this.#n=e,e.classList.add(`current`),e.scrollIntoView();return}let r=t.nextElementSibling;if(!r)return;t.classList.remove(`current`),this.#n=r,r.classList.add(`current`),r.scrollIntoView()}if(e.key===`ArrowUp`){if(e.preventDefault(),t?.parentNode!==n){let e=n.lastElementChild;if(!e){this.#n=null;return}this.#n=e,e.classList.add(`current`),e.scrollIntoView();return}let r=t.previousElementSibling;if(!r)return;t.classList.remove(`current`),this.#n=r,r.classList.add(`current`),r.scrollIntoView()}e.key===`Enter`&&(e.preventDefault(),t?.parentNode===n&&t.click())})}get options(){return this.#c}focus(){this.#a.focus()}set options(e){this.#c=e;let t=this.#o,n=this.#s;n.innerHTML=``;for(let t of e){let e=document.createElement(`div`);e.className=`option`,e.appendChild(document.createTextNode(`${Array(t.level||0).fill(` `).join(``)}${t.label}`||` `)),n.appendChild(e),e.addEventListener(`pointerdown`,e=>{e.preventDefault(),this.#f(t)}),e.addEventListener(`click`,e=>{e.preventDefault(),this.#f(t)}),e.addEventListener(`pointermove`,()=>{this.#n?.classList.remove(`current`),this.#n=e,e.classList.add(`current`)})}if(this.#n=n.firstElementChild,this.#n?.classList.add(`current`),t.scrollTop=0,t.scrollLeft=0,je(this.#a)){if(this.#a.value===this.current?.label)return;this.open=!0;return}let r=this.#t,i=this.#c.find(e=>e.value===r);if(i){if(i===this.#e)return;this.#e=i,this.#t=i.value,this.#a.value=i.label||``}}get active(){return je(this.#a)}#c=[];get current(){return this.#e}get value(){return this.#t}set value(e){if(e===this.#t)return;let t=this.#c.find(t=>t.value===e);if(!t){this.#e=null,this.#t=e,this.#a.value=e;return}t!==this.#e&&(this.#e=t,this.#t=t.value,this.#a.value=t.label||``)}#l(){this.dispatchEvent(new Event(`change`))}#u(){this.dispatchEvent(new Event(`input`))}#d(){this.open=!0,this.dispatchEvent(new Event(`focus`))}get text(){return this.#a.value}#f(e){this.#e=e,this.#t=e?.value,this.#a.value=e?.label||``,this.#l(),this.open=!1,this.#a.focus()}get open(){return this.getAttribute(`open`)!==null}set open(e){e?this.setAttribute(`open`,``):this.removeAttribute(`open`)}get disabled(){return this.getAttribute(`disabled`)!==null}set disabled(e){e?this.setAttribute(`disabled`,``):this.removeAttribute(`disabled`)}get readOnly(){return this.getAttribute(`readonly`)!==null}set readOnly(e){e?this.setAttribute(`readonly`,``):this.removeAttribute(`readonly`)}get required(){return this.getAttribute(`required`)!==null}set required(e){e?this.setAttribute(`required`,``):this.removeAttribute(`required`)}get placeholder(){return this.getAttribute(`placeholder`)||``}set placeholder(e){e?this.setAttribute(`placeholder`,e):this.removeAttribute(`placeholder`)}#p(){let e=this.#a.getBoundingClientRect(),t=window.innerWidth,n=window.innerHeight,r=t-e.right,i=n-e.bottom,{top:a,left:o,width:s,height:c}=e,l=this.#s.getBoundingClientRect(),u=l.width-2,d=l.height-2,f=this.#o;f.style.maxWidth=``,f.style.minWidth=``,f.style.top=`${a+c}px`,f.style.minWidth=`${s}px`,f.style.maxHeight=`${n-a-c-4}px`,u<=t-o?(f.style.left=`${o}px`,f.style.right=``):u<=t-o?(f.style.left=`${o}px`,f.style.right=`${t-o}px`):(f.style.left=`${Math.max(0,Math.min((u-s)/2,o))}px`,f.style.right=``);let p=0;d<=i-20?(p=1,f.style.top=`${a+c}px`,f.style.minWidth=`${s}px`,f.style.bottom=``):d<=a?(p=1,f.style.top=``,f.style.bottom=`${i+c}px`):Math.max(o,r-20)<Math.min(u,e.right-o)?i-20>=a?(p=1,f.style.top=`${a+c}px`,f.style.minWidth=`${s}px`,f.style.bottom=``):d<=a&&(p=1,f.style.top=``,f.style.bottom=`${i+c}px`):u<=r-20||o<=r-20?(f.style.left=`${o+s}px`,f.style.maxWidth=`${r}px`,f.style.right=``):(f.style.left=``,f.style.right=`${r+s}px`,f.style.maxWidth=`${o}px`),p?u<=t-o?(f.style.left=`${o}px`,f.style.right=``):u<=t-o?(f.style.left=`${o}px`,f.style.right=`${t-o}px`):(f.style.left=`${Math.max(0,Math.min((u-s)/2,o))}px`,f.style.right=``):d<=n-a?(f.style.top=`${a}px`,f.style.bottom=``):d<a+c?(f.style.top=``,f.style.bottom=`${n-a}px`):(f.style.top=`${Math.max(0,Math.min(n-d,a))}px`,f.style.bottom=`0`)}#m=!1;#h=null;#g(){if(Ae&&this.#o.showPopover(),this.#m)return;this.#m=!0;let e=this;this.#h=requestAnimationFrame(function t(){e.#p(),e.#m&&(e.#h=requestAnimationFrame(t))})}#_(){Ae&&this.#o.hidePopover(),this.#m&&(this.#m=!1,cancelAnimationFrame(this.#h))}#v=e=>{this.contains(e.target)||(this.open=!1)};#y=!1;connectedCallback(){document.addEventListener(`click`,this.#v),this.#y=!0,this.#x()}disconnectedCallback(){document.removeEventListener(`click`,this.#v),this.#y=!1,this.#x()}#b=!1;#x(){let e=!this.readOnly&&!this.disabled&&this.open&&this.#y;this.#b!==e&&(this.#b=e,e?this.#g():this.#_())}attributeChangedCallback(e,t,n){if(t!==n)switch(e){case`open`:if(!this.#y)return;this.#x();return;case`placeholder`:this.#a.placeholder=n||``;return;case`readonly`:this.#a.readOnly=n!==null,this.#x();return;case`disabled`:this.#a.disabled=n!==null,this.#x();return}}static observedAttributes=[`open`,`placeholder`,`readonly`,`disabled`]};try{customElements.define(`yongdall-select`,Me)}catch{}var H=(e,t={})=>{let{inline:n,showLabel:r,quick:a}=e.style,o=document.createElement(n?`span`:`div`).appendChild(document.createElement(`label`)),s=o.appendChild(document.createElement(`yongdall-select`)),l=h(t),u=null;s.addEventListener(`change`,()=>{u=s.value||null,e.value=u});let d=null;function f(){d&&clearTimeout(d),d=setTimeout(()=>{},300)}s.addEventListener(`input`,f);let p=i(()=>{let e=[{value:``,label:``},...l.get()];return e.unshift({value:``,label:``}),e});return c(()=>{s.options=p.get()},e.signal),c(()=>{let t=e.value,n=t==``||t==null?null:t;n!==u&&(u=n,s.value=u||``)},e.signal),r?o.insertBefore(document.createTextNode(e.field?.label??``),o.firstChild):a&&(s.placeholder=e.field?.label??``),s},Ne=e=>{let t=document.createElement(`div`),n=t.appendChild(document.createElement(`div`)).appendChild(document.createElement(`label`)),r=n.appendChild(document.createElement(`input`));n.appendChild(document.createTextNode(`全选`)),n.classList.add(`align-center`),r.type=`checkbox`;let a=t.appendChild(document.createElement(`div`)),o=new Set,l=i(()=>new Set(_.get().flatMap(e=>e.children?.map(e=>e.value)||[])));function u(){l.get().size===o.size?(r.indeterminate=!1,r.checked=!0):o.size?r.indeterminate=!0:(r.indeterminate=!1,r.checked=!1)}function d(){o=new Set;for(let{checked:e,value:t}of a.querySelectorAll(`input`))!e||!t||o.add(t);e.value=[...o].map(e=>({permission:e})),u()}function f(){for(let e of a.querySelectorAll(`input`))e.checked=o.has(e.value)}function p(){f(),u()}let m=s([]);function h(){a.innerHTML=``;let e=[];for(let{label:t,children:n}of _.get()){if(!n?.length)continue;let r=a.appendChild(document.createElement(`details`));r.open=!0,r.appendChild(document.createElement(`summary`)).appendChild(document.createTextNode(t));for(let{value:t,label:i}of n){let n=r.appendChild(document.createElement(`label`)),a=n.appendChild(document.createElement(`input`));a.type=`checkbox`,n.appendChild(document.createTextNode(i)),n.classList.add(`align-center`),n.classList.add(`inline`),a.value=String(t||``),a.addEventListener(`input`,d),e.push(a)}}m.set(e),p()}c(()=>h(),e.signal),r.addEventListener(`input`,()=>{if(!r.checked){for(let e of a.querySelectorAll(`input`))e.checked=!1;e.value=[];return}let t=new Set;for(let e of a.querySelectorAll(`input`))e.checked=!0,t.add(e.value);e.value=[...t].map(e=>({permission:e})),f()}),r.addEventListener(`change`,t=>e.emit(`change`,t)),r.addEventListener(`focus`,t=>e.emit(`focus`,t)),r.addEventListener(`blur`,t=>e.emit(`blur`,t));let g=i(()=>!!(!e.editable||e.disabled));e.listen(`focus`,()=>r.focus()),e.listen(`scrollIntoView`,()=>r.scrollIntoView()),c(()=>r.hidden=!!e.hidden,e.signal),c(()=>{let e=g.get();n.hidden=e;for(let t of m.get())t.disabled=e},e.signal),c(()=>r.readOnly=!!e.readonly,e.signal);function v(e){let t=new Set(Array.isArray(e)&&e.map(e=>e.permission)||[]);if(t.size===o.size){for(let e of o)if(!t.has(e))break;return}o=t,p()}return c(()=>v(e.value),e.signal),t},Pe=(t,n={})=>{function r(n){let r=t.store?.parent;if(!r||(r instanceof e&&(r=r.parent),!r))return null;let i=r,a=0;for(;n[a]===`?`;){a++;let t=i.parent;if(!t||(t instanceof e&&(t=t.parent),!t))break;i=t}for(;n[a]===`?`;)a++;let o=n.slice(a),s=i.child(o);return s?s.value:null}let i=l(n,r),a=null,o=null;async function s(e){if(typeof e==`string`)return m(e);if(!e||typeof e!=`object`)return null;let{component:t,widget:n}=e;return typeof t==`string`&&t||typeof n==`string`&&n?m(e):null}let u=document.createElement(`div`);async function d(e){if(t.signal.aborted||e===a)return;a=e,o?.abort(),o=new AbortController;let n=AbortSignal.any([o.signal,t.signal]),r=await s(e);typeof r==`function`&&(n.aborted||r({root:u,get store(){return t.store},get style(){return t.style},get field(){return t.field},get name(){return t.name},get value(){return t.value},set value(e){t.value=e},get current(){return t.current},get destroyed(){return t.destroyed},get readonly(){return t.readonly},get editable(){return t.editable},get required(){return t.required},get nullable(){return t.nullable},get disabled(){return t.disabled},get clearable(){return t.clearable},get hidden(){return t.hidden},get label(){return t.label},get placeholder(){return t.placeholder},get description(){return t.description},get signal(){return n},listen(e,n){return t.listen(e,n)},emit(e,n){return t.emit(e,n)}},typeof e==`object`&&e||{}))}let f=null;return c(()=>{let e=i.get()||null;f!==null&&cancelIdleCallback(f),f=requestIdleCallback(()=>{f=null,d(e)})},t.signal),u};function U(e,t){let{inline:n,showLabel:r,quick:i}=t.style,a=document.createElement(n?`span`:`div`),o=t.field?.label??``;if(r){let e=a.appendChild(document.createElement(n?`span`:`div`));e.innerText=o}let s=e(n?a:a.appendChild(document.createElement(`div`)),i?o:``,e=>{t.value=e});return c(()=>s(t.value),t.signal),a}function Fe(e,t,n){let r=e.appendChild(document.createElement(`textarea`));return t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var Ie=U.bind(null,Fe);function Le(e,t){let n=parseFloat(e);return Number.isFinite(n)?n:t?0:null}function Re(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`number`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(Le(r.value))),e=>{r.value=e??``}}var W=U.bind(null,Re);function ze(e,t){let n=parseInt(e);return Number.isFinite(n)?n:t?0:null}function Be(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`number`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(ze(r.value))),e=>{r.value=e??``}}var G=U.bind(null,Be);function Ve(e,t){if(!e)return t?0n:null;try{return BigInt(e)}catch{}return t?0n:null}function He(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`number`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(Ve(r.value))),e=>{r.value=e??``}}var K=U.bind(null,He);function Ue(e,t,n){let r=e.appendChild(document.createElement(`input`));return t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var q=U.bind(null,Ue),We=e=>{let{inline:t,showLabel:n,quick:r}=e.style,i=document.createElement(t?`span`:`div`),a=i.appendChild(document.createElement(`label`)),o=a.appendChild(document.createElement(`input`));return o.type=`checkbox`,o.addEventListener(`input`,()=>{e.value=o.indeterminate?null:!!o.checked}),c(()=>{let t=e.value;if(typeof t==`boolean`){o.checked=t;return}if(t===`false`||t===`0`||t===0){o.checked=!1;return}if(t===`true`||t===`1`||t===1){o.checked=!0;return}o.indeterminate=!0,t!==null&&(e.value=null)},e.signal),n?a.insertBefore(document.createTextNode(e.field?.label??``),a.firstChild):r&&a.appendChild(document.createTextNode(e.field?.label??``)),i};function Ge(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`date`,r.step=`1`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var J=U.bind(null,Ge);function Ke(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`time`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var Y=U.bind(null,Ke);function qe(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`datetime-local`,r.step=`1`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var X=U.bind(null,qe);function Je(e,t,n){let r=e.appendChild(document.createElement(`input`));return r.type=`url`,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var Ye=U.bind(null,Je);function Xe(e,t,n){let r=e.appendChild(document.createElement(`input`));return t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value||null)),e=>{r.value=e??``}}var Ze=U.bind(null,Xe),Qe=(e,t)=>{let{inline:n,showLabel:r,quick:i}=e.style,a=e.field?.model||``,o=document.createElement(n?`span`:`div`),l=o.appendChild(document.createElement(`label`));o.classList=`InputDocument`;let d=l.appendChild(document.createElement(`div`)),f=d.appendChild(document.createElement(`div`)),p=d.appendChild(document.createElement(`div`));f.classList=`InputDocument-placeholder`;let m=null,h=null,_=s(),y=null,ee=e.field?.label??``;if(f.innerText=i?ee:``,c(()=>{let e=_.get()||``;p.innerText=e,f.hidden=!!e},e.signal),c(async()=>{let t=e.value,n=t==``||t==null?null:t;if(m===n||(m=n,h=m,_.set(m||``),!m)||!a)return;let r=g(a),i=await r;if(!i)return;let o=i.labelPattern||``;if(!u(o).length)return;let{option:s}=await r.option(m);!s||m!==h||_.set(v(o,s)||m)},e.signal),r&&l.insertBefore(document.createTextNode(ee),l.firstChild),!a)return o;let te=g(a);return d.classList=`InputDocument-text`,d.tabIndex=0,d.addEventListener(`click`,async()=>{y?.abort(),y=new AbortController;let n=o.appendChild(document.createElement(`dialog`));n.showModal();try{let r=await Ce(null,n,te,AbortSignal.any([y.signal,e.signal]),!1,t),i=Array.isArray(r)?r[0]:r;if(!i){if(!e.value)return;m=``,h=null,e.value=null,_.set(``);return}let a=i.value;if(a===e.value)return;m=a,e.value=a,h=null,_.set(i.label||a)}finally{n.remove()}}),o};function $e(e){return i(()=>{let t=e.get().map(e=>[0,e]),n=[];for(let e;e=t.shift();){let[r,i]=e;n.push({...i,level:r});for(let e of i.children)t.push([r+1,e])}return n})}var Z=(e,t={})=>{let{inline:n,showLabel:r,quick:a}=e.style,o=document.createElement(n?`span`:`div`).appendChild(document.createElement(`label`)),s=o.appendChild(document.createElement(`select`)),l=h(t);s.addEventListener(`change`,()=>{e.value=s.value||null});let u=$e(l),d=i(()=>{let t=u.get();return[{value:``,label:a&&e.field?.label||``,disabled:!1,level:0},...t]});return c(()=>{s.innerHTML=``;for(let{value:e,label:t,disabled:n,level:r}of d.get()){let i=document.createElement(`option`);i.value=`${e}`,i.label=`${Array(r).fill(` `).join(``)}${t}`,n&&(i.disabled=n),s.appendChild(i)}s.value=e.value||``},e.signal),c(()=>{let t=e.value;s.value=(t==``||t==null?null:t)||``},e.signal),r&&o.insertBefore(document.createTextNode(e.field?.label??``),o.firstChild),s};function et(e){if(typeof e!=`string`)return!!e;switch(e.toLowerCase()){case``:case`0`:case`n`:case`f`:case`no`:case`off`:case`false`:return!1}return!0}function Q(e,t){if([e,t].filter(e=>(e??null)===null).length===1)return!1;let n=e??null,r=e??null;return Object.is(n,r)?!0:n===null||r===null?!1:typeof e==`boolean`||typeof t==`boolean`?et(e)===et(t):e==t}function tt(e,t){if(Array.isArray(t)){for(let n of e)if(Array.isArray(n)){if(n.length!==t.length)continue;if(t.findIndex((e,t)=>!Q(n[t],e))<0)return!0}else for(let e of t)if(Q(n,e))return!0}else for(let n of e)if(Q(n,t))return!0;return!1}function nt(e,t){if(Array.isArray(t)){for(let n of e)if(Array.isArray(n)&&n.length===t.length&&t.findIndex((e,t)=>!Q(n[t],e))<0)return!0}else for(let n of e)if(Array.isArray(n)&&n.length===t.length){for(let e of n)if(Q(e,t))return!0}return!1}function $(e,t,n){if(((Array.isArray(n)?n[0]:n)??null)===null)return null;for(let r of t){if(Array.isArray(r)||(r??null)===null)continue;let t=e(r,n);if(typeof t==`boolean`)return t}return!1}function rt(e,t){return $((e,t)=>e>t,e,t)}function it(e,t){return $((e,t)=>e>=t,e,t)}function at(e,t){return $((e,t)=>e<t,e,t)}function ot(e,t){return $((e,t)=>e<=t,e,t)}const st=[{not:`!=`,notLabel:`≠`,value:tt,filters:{gt:{value:rt},ge:{value:it},lt:{value:at},le:{value:ot},in:{value:tt,not:`nin`}}},{array:!0,not:`!=`,notLabel:`≠`,value:nt,filters:{in:{value:nt,not:`nin`}}},{type:`text`,input:ce,filter:Ie,notFilter:Ie,filters:{ne:{filter:Ie,label:`≠`}}},{type:`string`,input:A,filter:q,notFilter:q,filters:{ne:{filter:q,label:`≠`}}},{type:`bool`,input:fe,filter:We,notFilter:We,filters:{ne:{filter:We,label:`≠`}}},{type:`f32`,input:C,filter:W,notFilter:W,filters:{ne:{filter:W,label:`≠`},gt:{filter:W,label:`>`},ge:{filter:W,label:`≥`},lt:{filter:W,label:`<`},le:{filter:W,label:`≤`}}},{type:`f64`,input:C,filter:W,notFilter:W,filters:{ne:{filter:W,label:`≠`},gt:{filter:W,label:`>`},ge:{filter:W,label:`≥`},lt:{filter:W,label:`<`},le:{filter:W,label:`≤`}}},{type:`decimal`,input:C,filter:W,notFilter:W,filters:{ne:{filter:W,label:`≠`},gt:{filter:W,label:`>`},ge:{filter:W,label:`≥`},lt:{filter:W,label:`<`},le:{filter:W,label:`≤`}}},{type:`numeric`,input:C,filter:W,notFilter:W,filters:{ne:{filter:W,label:`≠`},gt:{filter:W,label:`>`},ge:{filter:W,label:`≥`},lt:{filter:W,label:`<`},le:{filter:W,label:`≤`}}},{type:`money`,input:C,filter:W,notFilter:W,filters:{ne:{filter:W,label:`≠`},gt:{filter:W,label:`>`},ge:{filter:W,label:`≥`},lt:{filter:W,label:`<`},le:{filter:W,label:`≤`}}},{type:`i16`,input:E,filter:G,notFilter:G,filters:{ne:{filter:G,label:`≠`},gt:{filter:G,label:`>`},ge:{filter:G,label:`≥`},lt:{filter:G,label:`<`},le:{filter:G,label:`≤`}}},{type:`i32`,input:E,filter:G,notFilter:G,filters:{ne:{filter:G,label:`≠`},gt:{filter:G,label:`>`},ge:{filter:G,label:`≥`},lt:{filter:G,label:`<`},le:{filter:G,label:`≤`}}},{type:`i64`,input:ue,filter:K,notFilter:K,filters:{ne:{filter:K,label:`≠`},gt:{filter:K,label:`>`},ge:{filter:K,label:`≥`},lt:{filter:K,label:`<`},le:{filter:K,label:`≤`}}},{type:`date`,input:M,filter:J,notFilter:J,filters:{ne:{filter:J,label:`≠`},gt:{filter:J,label:`>`},ge:{filter:J,label:`≥`},lt:{filter:J,label:`<`},le:{filter:J,label:`≤`}}},{type:`time`,input:P,filter:Y,notFilter:Y,filters:{ne:{filter:Y,label:`≠`},gt:{filter:Y,label:`>`},ge:{filter:Y,label:`≥`},lt:{filter:Y,label:`<`},le:{filter:Y,label:`≤`}}},{type:`uuid`,input:Se,filter:Ze,notFilter:Ze,filters:{ne:{filter:Ze,label:`≠`}}},{type:`datetime`,input:z,filter:X,notFilter:X,filters:{ne:{filter:X,label:`≠`},gt:{filter:X,label:`>`},ge:{filter:X,label:`≥`},lt:{filter:X,label:`<`},le:{filter:X,label:`≤`}}},{type:`timetz`,input:P,filter:Y,notFilter:Y,filters:{ne:{filter:Y,label:`≠`},gt:{filter:Y,label:`>`},ge:{filter:Y,label:`≥`},lt:{filter:Y,label:`<`},le:{filter:Y,label:`≤`}}},{type:`timestamp`,input:z,filter:X,notFilter:X,filters:{ne:{filter:X,label:`≠`},gt:{filter:X,label:`>`},ge:{filter:X,label:`≥`},lt:{filter:X,label:`<`},le:{filter:X,label:`≤`}}},{renderer:`password`,input:_e,filter:q,notFilter:q,filters:{ne:{filter:q,label:`≠`}}},{renderer:`uri`,input:ye,filter:Ye,notFilter:Ye,filters:{ne:{filter:Ye,label:`≠`}}},{renderer:`document`,input:we,filter:Qe,notFilter:Qe,filters:{ne:{filter:Qe,label:`≠`}}},{renderer:`select`,input:ke,filter:Z,notFilter:Z,filters:{ne:{filter:Z,label:`≠`}}},{renderer:`search`,input:H,filter:H,notFilter:H,filters:{ne:{filter:H,label:`≠`}}},{renderer:`configuration`,input:Pe},{type:`submodel`,array:!0,renderer:`permission`,input:Ne}],ct=[`style.css`];export{st as formFields,ct as styles};
69
69
  //# sourceMappingURL=hooks.mjs.map