@trintel/zooy 1.9.0 → 1.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- var yt=Object.create;var Q=Object.defineProperty;var Pt=Object.getOwnPropertyDescriptor;var _t=Object.getOwnPropertyNames;var kt=Object.getPrototypeOf,Ct=Object.prototype.hasOwnProperty;var wt=(t,e,s,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of _t(e))!Ct.call(t,o)&&o!==s&&Q(t,o,{get:()=>e[o],enumerable:!(n=Pt(e,o))||n.enumerable});return t};var d=(t,e,s)=>(s=t!=null?yt(kt(t)):{},wt(e||!t||!t.__esModule?Q(s,"default",{value:t,enumerable:!0}):s,t));const m=require("./component-library-registry-BBQV6Kpv.js"),i=require("./zoo-26MN2vmT.js");let at=require("badu"),B=require("ramda");B=m.__toESM(B,1);let xt=require("@carbon/web-components/lib/components/data-table/defs.js");var Dt=m.__exportAll({cdsTableWrap:()=>Mt}),X=(t,e,s)=>{const n=customElements.get("cds-table"),o=customElements.get("cds-pagination"),a=customElements.get(n.selectorTableBatchActions);customElements.get("cds-popover");const r=e.dataBinder,c=e.pagination,p=e.skeleton,S=e.querySelector(n.selectorTableToolbarSearch),W=e.querySelector(n.selectorTableBatchActions),w=e.querySelector(n.selectorTableBody),z=["button","a","input","select","textarea",'[role="button"]',".cds--table-expand",".cds--table-column-checkbox"].join(","),Z=e.querySelectorAll(n.selectorHeaderCell+"[is-sortable]"),lt=e.isSortable||Z.length>0,O=Symbol(),L=Symbol(),x=new Map,dt=l=>{t.listen(e,"click",u=>{const v=u.target.closest(n.selectorTableRow);if(!v||u.composedPath().some(h=>h.matches&&h.matches(z)))return;u.stopPropagation();const g=i.getSemanticAttributes(v);t.dispatchPanelEvent(l,{...g})})},pt=l=>{t.listen(e,n.eventExpandoToggle,u=>{const v=u.target,g=v.tagName==="CDS-TABLE-HEADER-ROW",h=u.detail.expanded,E={tableAttrs:s,...i.getSemanticAttributes(v),target:v,allRows:g,didExpand:h};t.dispatchPanelEvent(l,E)})},ut=l=>{x.set(O,u=>{t.dispatchPanelEvent(l,u)})},vt=l=>{x.set(L,u=>{const v=u.detail.selectedRows,g=Math.min(v.length,W.totalRowsCount),h=u.target,E=i.getSemanticAttributes(h),I=v.map(i.getSemanticAttributes),_={tableAttrs:s,...E,target:h,selectCount:g,selection:I};t.dispatchPanelEvent(l,_)})},mt=l=>{t.listen(e,n.eventTableRowSelect,u=>{const v=u.target,g=u.detail.selectedRows||[],h=g.length,E=g.map(i.getSemanticAttributes),I={tableAttrs:s,...i.getSemanticAttributes(v),selectCount:h,selection:E,target:v};t.dispatchPanelEvent(l,I)})},gt=()=>{t.listen(e,n.eventBeforeSort,l=>{const u=l.target,v=l.detail.oldSortDirection,g=l.detail.sortDirection,h=i.getSemanticAttributes(u),E=h.sortField,I=g===xt.TABLE_SORT_DIRECTION.DESCENDING?`-${E}`:E;l.cancelBubble=!0,l.stopPropagation(),l.preventDefault(),w.innerHTML="",p&&p.show(),Z.forEach((k,b)=>{k===u?(k.setAttribute("sort-active","true"),k.setAttribute("sort-direction",g)):(k.removeAttribute("sort-active"),k.setAttribute("sort-direction","none"))});const _={ordering:I};r.fetchData(_).then(()=>{c.setData(r),p&&p.hide()}),x.has(O)&&x.get(O)({tableAttrs:s,...h,sortNow:g,sortWas:v,sortField:E,ordering:I,target:u})})},ft=()=>{t.listen(e,n.eventTableRowSelectAll,l=>{l.detail.selectedRows.length===0&&e.querySelectorAll(n.selectorTableRow).forEach(u=>{u.disabled=!1,u.selected=!1}),x.has(L)&&x.get(L)(l)})},ht=()=>{t.listen(e,n.eventBeforeChangeSelectionAll,l=>{l.stopPropagation(),l.detail.callback&&l.detail.callback()})},bt=l=>{const u=e.querySelector("cds-table-header-row");t.listen(l,a.eventClickSelectAll,v=>{v.stopPropagation(),u.dispatchEvent(new CustomEvent(n.eventBeforeChangeSelectionAll,{bubbles:!0,cancelable:!0,composed:!0,detail:{selected:!0,callback:()=>{l.selectedRowsCount=l.totalRowsCount,e.querySelectorAll(n.selectorTableRow).forEach(g=>{g.disabled=!0})}}}))})},Et=l=>{t.listen(l,"keydown",u=>{if(u.key==="Enter"){p&&p.show(),c.totalItems=0,e.querySelector("cds-table-body").replaceChildren();const v={search:l.value||"",offset:0};r.fetchData(v).then(()=>{c.setData(r),p&&p.hide()})}})},At=l=>{t.listen(l,n.eventSearchInput,u=>{if((u.detail.value||"")===""){const v={search:"",offset:0};p&&p.show(),r.fetchData(v).then(()=>{p&&p.hide(),c.setData(r)})}})},St=l=>{l.caret=!1;const u=l.querySelector("cds-icon-button, button:not([slot])"),v=l.querySelectorAll("cds-checkbox"),g=l.querySelectorAll("cds-modal-footer-button"),h=[...l.querySelectorAll("cds-checkbox-group")].map(i.getSemanticAttributes).map(B.pathOr("noop",["zoo","filter","field"])).reduce((b,A)=>(b[A]=null,b),{offset:0});if(!u||!g){console.error("Improperly configured Batch Filter popover");return}new MutationObserver(()=>{l.classList.toggle("cds--overflow-menu--open",l.open)}).observe(l,{attributes:!0,attributeFilter:["open"]});const E=Symbol(),I=Symbol(),_=[...g].reduce((b,A,C)=>(A.hasAttribute("reset-filter")&&b.set(E,A),A.hasAttribute("apply-filter")&&b.set(I,A),b),new Map),k=()=>{const b=new Map;return v.forEach(A=>{const C=A.getAttribute("id");if(!C||!C.includes(":"))return;const[N,T]=C.split(":");b.has(N)||b.set(N,[]),A.checked&&b.get(N).push(T)}),b};if(_.has(E)){const b=A=>A.checked=!1;t.listen(_.get(E),"click",A=>{A.stopPropagation(),v.forEach(b),p&&p.show(),r.fetchData(h).then(()=>{c&&c.setData(r),p&&p.hide(),l.open=!1})})}_.has(I)&&t.listen(_.get(I),"click",b=>{b.stopPropagation();const A=[...k()].reduce((C,[N,T])=>(C[N]=Array.isArray(T)&&T.length===0?null:T,C),{offset:0});p&&p.show(),r.fetchData(A).then(()=>{c&&c.setData(r),p&&p.hide(),l.open=!1})}),t.listen(u,"click",b=>{b.stopPropagation(),l.open=!l.open,l.classList.toggle("cds--overflow-menu--open",l.open)})},Wt=()=>{t.listen(c,o.eventPageSizeChanged,l=>{const u={limit:c.pageSize,offset:0};r.fetchData(u).then(()=>{c.setData(r)})})},It=()=>{let l=null;t.listen(c,o.eventChangeCurrent,u=>{const{page:v}=u.detail,g=c.pageSize,h=(v-1)*g;if(h!==l){l=h;const E={limit:g,offset:h};r.fetchData(E).then(()=>{c.setData(r),p&&p.hide()})}})};r&&c&&(Wt(),It()),r&&S&&(Et(S),At(S));const J=e.querySelector(n.selectorTableToolbarContent);if(J){const l=J.querySelectorAll("cds-popover[data-batch-filter]");r&&l&&l.forEach(St)}e.isSelectable&&(ft(),ht(),W&&bt(W)),r&&lt&&gt();const K={zoo:{event:{row:{click:dt,expand:pt,check:{one:mt,all:vt}},column:{sort:ut}}}};(0,at.objToPaths)(s).forEach(([l,u])=>{B.hasPath(l,K)&&B.path(l,K)(u)})},Bt=t=>{const e=document.createElement("cds-pagination");return e.backwardText="Previous page",e.forwardText="Next page",e.itemsPerPageText="Items per page:",e.pageSize=t.limit,e.size="lg",[10,25,50,100,500].forEach(s=>{const n=document.createElement("cds-select-item");n.value=s.toString(),n.textContent=s.toString(),e.appendChild(n)}),e.setData=s=>{if(s.isPaginated){const{count:n}=B.pick(["count"],s.data);e.pagesUnknown=Math.ceil(n/s.limit)>100,e.totalItems=n,e.pagesUnknown?e.formatStatusWithIndeterminateTotal=({start:o,end:a})=>`${o}–${a} of ${n} item${n<=1?"":"s"}`:delete e.formatStatusWithIndeterminateTotal}},e},Nt=t=>{if(!t.parentNode){console.error("[Carbon Table] Cannot create skeleton: table has no parent node");return}const e=!!t.querySelector("cds-table-header-title"),s=!!t.querySelector("cds-table-header-description"),n=!!t.querySelector("cds-table-toolbar"),o=[...t.querySelectorAll("cds-table-header-cell")].length,a=t.hasAttribute("zebra"),r=t.getAttribute("size"),c=document.createElement("cds-table-skeleton");c.showHeader=e||s,c.showToolbar=n,c.zebra=a,c.columnCount=o,c.size=r,c.show=()=>c.classList.remove("hidden"),c.hide=()=>c.classList.add("hidden");const p=document.createElement("div");return p.classList.add("zoo-datatable-skeleton-wrapper"),t.parentNode.insertBefore(p,t),p.appendChild(c),p.appendChild(t),c},Tt=(t,e)=>{const s=e.getAttribute("zoo-url-api"),n=parseInt(e.getAttribute("data-page-size")||25,10);if(s)return new i.Binder(t,s,e,{urlParams:{limit:n}})},Mt={selector:"cds-table",init:function(t){const e=i.getSemanticAttributes(t),s=this,n=Tt(s,t);if((0,at.isDefAndNotNull)(n)){t.dataBinder=n;const o=Nt(t);t.skeleton=o;const a=Bt(n);t.pagination=a,t.after(a),n.fetchData().then(r=>{o.hide(),a.setData(n),X(s,t,e)})}else X(s,t,e)}},Ft=m.__exportAll({cdsPaginationWrap:()=>qt}),qt={selector:"cds-pagination",init:function(t){const e=this,s=customElements.get("cds-pagination");let n=null;e.listen(t,s.eventChangeCurrent,o=>{const a=o.detail.page,r=t.pageSize,c=(a-1)*r;c!==n&&(n=c,e.dispatchPanelEvent("pagination-changed-current",{detail:{page:a,pageSize:r,action:"page-change"}}))}),e.listen(t,s.eventPageSizeChanged,o=>{const a=t.pageSize;n=null,e.dispatchPanelEvent("pagination-changed-page-size",{detail:{page:1,pageSize:a,action:"page-size-change"}})})}},zt=m.__exportAll({cdsModalBodyContentWrap:()=>jt,cdsModalBodyWrap:()=>Ht,cdsModalCloseButWrap:()=>$t,cdsModalFooterButWrap:()=>Vt,cdsModalFooterWrap:()=>Gt,cdsModalHeaderWrap:()=>Lt,cdsModalHeadingWrap:()=>Rt,cdsModalLabelWrap:()=>Ut,cdsModalWrap:()=>Ot}),Ot={selector:"cds-modal",init:function(t){const e=customElements.get("cds-modal"),s=i.getSemanticAttributes(t),n=i.getEventAttribute(t,"open-event","event");n&&this.listen(t,"cds-modal-beingopened",r=>{this.dispatchPanelEvent(n,{...s,action:"opened"})});const o=t.getAttribute("before-close-event");o&&this.listen(t,e.eventBeforeClose,r=>{this.dispatchPanelEvent(o,{...s,action:"closing",cancelable:!0})}),this.listen(t,e.eventClose,r=>{this.dispatchPanelEvent("destroy_me",{...s,action:"closed",triggeredBy:r.detail?.triggeredBy})});const a=i.getEventAttribute(t,"primary-event","event");a&&this.listen(t,"cds-modal-primary-focus",r=>{this.dispatchPanelEvent(a,{...s,action:"primary"})})}},Lt={selector:"cds-modal-header"},Rt={selector:"cds-modal-heading"},Ut={selector:"cds-modal-label"},$t={selector:"cds-modal-close-button"},Ht={selector:"cds-modal-body"},jt={selector:"cds-modal-body-content"},Gt={selector:"cds-modal-footer"},Vt={selector:"cds-modal-footer-button",init:function(t){const e=i.getSemanticAttributes(t);if(t.getAttribute("type")==="submit"){this.listen(t,"click",n=>{let o=t.closest("form");if(!o){const a=t.getAttribute("form");a&&(o=document.getElementById(a))}o&&o.requestSubmit()});return}const s=e.event;s&&this.listen(t,"click",n=>{n.stopPropagation(),this.dispatchPanelEvent(s,e)})}},Zt=m.__exportAll({cdsMenuButtonWrap:()=>Kt,cdsMenuWrap:()=>Jt}),Jt={selector:"cds-menu",init:function(t){const e=i.getSemanticAttributes(t),s=i.getEventAttribute(t,"open-event");s&&this.listen(t,"cds-menu-opened",o=>{this.dispatchPanelEvent(s,{...e,action:"opened"})});const n=i.getEventAttribute(t,"close-event");n&&this.listen(t,"cds-menu-closed",o=>{this.dispatchPanelEvent(n,{...e,action:"closed"})}),this.listen(t,"click",o=>{if(o.target.tagName==="CDS-MENU-ITEM"){const a=i.getSemanticAttributes(o.target),r=a.event||e.event;r&&(o.stopPropagation(),this.dispatchPanelEvent(r,{...e,...a}))}}),this.listen(t,"cds-item-changed",o=>{const a=o.detail.triggeredBy,r=i.getSemanticAttributes(a),c=r.event||e.event;c&&this.dispatchPanelEvent(c,{...e,...r,action:"selection-changed"})})}},Kt={selector:"cds-menu-button",init:function(t){const e=i.getSemanticAttributes(t),s=t.querySelector("cds-menu");s&&this.listen(s,"click",n=>{if(n.target.tagName==="CDS-MENU-ITEM"){const o=i.getSemanticAttributes(n.target),a=o.event||e.event;a&&(n.stopPropagation(),this.dispatchPanelEvent(a,{...e,...o}))}})}},Qt=m.__exportAll({cdsButFabWrap:()=>ee,cdsButtonWrap:()=>Xt,cdsComboButWrap:()=>ne,cdsCopyButWrap:()=>se,cdsIconButToggleWrap:()=>te,cdsIconButWrap:()=>Yt}),Xt={selector:"cds-button",init:function(t){const e=i.getSemanticAttributes(t);if(t.getAttribute("type")==="submit"){this.listen(t,"click",n=>{let o=t.closest("form");if(!o){const a=t.getAttribute("form");a&&(o=document.getElementById(a))}o&&o.requestSubmit()});return}const s=e.event;s&&this.listen(t,"click",n=>{n.stopPropagation(),this.dispatchPanelEvent(s,i.getSemanticAttributes(t))})}},Yt={selector:"cds-icon-button:not([data-toggle])",event:"click",getData:(t,e)=>e},te={selector:"cds-icon-button[data-toggle]",init:function(t){const e=i.getSemanticAttributes(t);e.event&&this.listen(t,"click",s=>{s.stopPropagation(),t.isSelected=!t.isSelected,this.dispatchPanelEvent(e.event,{...e,isOn:t.isSelected})})}},ee={selector:"cds-button[data-fab]",event:"click",getData:(t,e)=>e},se={selector:"cds-copy-button",init:function(t){const e=i.getSemanticAttributes(t),s=e.event;s&&this.listen(t,"click",o=>{o.stopPropagation(),this.dispatchPanelEvent(s,{...e,action:"copy"})});const n=t.getAttribute("success-event");if(n){const o=new MutationObserver(()=>{t.hasAttribute("feedback-shown")&&this.dispatchPanelEvent(n,{...e,action:"copied"})});o.observe(t,{attributes:!0,attributeFilter:["feedback-shown"]}),t._copyObserver=o}}},ne={selector:"cds-combo-button",init:function(t){const e=i.getSemanticAttributes(t);e.event&&this.listen(t,"click",n=>{const o=n.composedPath(),a=o.some(c=>c.tagName==="CDS-MENU-ITEM"),r=o.some(c=>c.tagName==="CDS-ICON-BUTTON");!a&&!r&&(n.stopPropagation(),this.dispatchPanelEvent(e.event,{...e,action:"primary"}))});const s=t.querySelector("cds-menu");s&&this.listen(s,"click",n=>{if(n.target.tagName==="CDS-MENU-ITEM"){const o=i.getSemanticAttributes(n.target),a=o.event||i.getEventAttribute(t,"menu-event","event");a&&this.dispatchPanelEvent(a,{...e,...o,action:"menu-item"})}})}},oe=m.__exportAll({cdsComboBoxWrap:()=>re,cdsDropdownWrap:()=>ae,cdsMultiSelectWrap:()=>ie}),ae={selector:"cds-dropdown",init:function(t){const e=customElements.get("cds-dropdown"),s=i.getSemanticAttributes(t),n=s.event;n&&this.listen(t,e.eventSelect,a=>{this.dispatchPanelEvent(n,{...s,value:t.value,selectedValue:a.detail?.item?.value,selectedText:a.detail?.item?.textContent?.trim()})});const o=t.getAttribute("toggle-event");o&&this.listen(t,e.eventToggle,a=>{this.dispatchPanelEvent(o,{...s,open:t.hasAttribute("open")})})}},re={selector:"cds-combo-box",init:function(t){const e=customElements.get("cds-combo-box"),s=i.getSemanticAttributes(t),n=s.event;n&&this.listen(t,e.eventSelect,a=>{const r=a.detail?.item;this.dispatchPanelEvent(n,{...s,value:t.value,selectedValue:r?.value,selectedText:r?.textContent?.trim()})});const o=t.getAttribute("toggle-event");o&&this.listen(t,e.eventToggle,a=>{this.dispatchPanelEvent(o,{...s,open:t.hasAttribute("open")})})}},ie={selector:"cds-multi-select",init:function(t){const e=customElements.get("cds-multi-select"),s=i.getSemanticAttributes(t),n=s.event;n&&this.listen(t,e.eventSelect,a=>{const r=t.value?t.value.split(","):[];this.dispatchPanelEvent(n,{...s,selectedItems:r})});const o=t.getAttribute("toggle-event");o&&this.listen(t,e.eventToggle,a=>{this.dispatchPanelEvent(o,{...s,open:t.hasAttribute("open")})})}},ce=m.__exportAll({cdsDatePickerWrap:()=>le,cdsTimePickerWrap:()=>de}),le={selector:"cds-date-picker",init:function(t){const e=customElements.get("cds-date-picker"),s=i.getSemanticAttributes(t),n=t.querySelector('cds-date-picker-input[kind="from"]'),o=t.querySelector('cds-date-picker-input[kind="to"]'),a=n&&o,r=s.event;r&&this.listen(t,e.eventChange,p=>{let S;a?S={from:n.value||"",to:o.value||""}:S=t.value,this.dispatchPanelEvent(r,{...s,value:S})});const c=t.getAttribute("error-event");c&&this.listen(t,e.eventFlatpickrError,p=>{this.dispatchPanelEvent(c,{...s,error:p.detail})})}},de={selector:"cds-time-picker",event:"cds-time-picker-changed",getData:(t,e,s)=>({...e,value:s.value})},pe=m.__exportAll({cdsFileUploaderButtonWrap:()=>ve,cdsFileUploaderDropContainerWrap:()=>fe,cdsFileUploaderWrap:()=>ue});function rt(t){customElements.whenDefined(t).then(e=>{if(!(!e||e.prototype.__zooyAcceptPatched)){if(typeof e.prototype._getFiles!="function"){console.warn(`[Zooy] ${t}._getFiles missing; accept-split patch skipped (Carbon may have refactored).`);return}e.prototype._getFiles=function(s,n){if(n===void 0&&(n=(s.type==="drop"?s.dataTransfer:s.target)?.files),!this.accept||!/^(change|drop)$/.test(s.type))return Array.from(n??[]);const o=new Set(this.accept.split(/[\s,]+/).filter(Boolean));return Array.prototype.filter.call(n??[],({name:a,type:r=""})=>{const c=a.match(/\.[^.]+$/),p=c?c[0].toLowerCase():void 0;return o.has(r)||p&&o.has(p)})},e.prototype.__zooyAcceptPatched=!0}})}rt("cds-file-uploader-drop-container");rt("cds-file-uploader-button");var ue={selector:"cds-file-uploader",init:function(t){const e=i.getSemanticAttributes(t),s=e.event;if(s){const o=t.querySelector('input[type="file"]');o&&this.listen(o,"change",a=>{this.dispatchPanelEvent(s,{...e,files:Array.from(a.target.files||[])})})}const n=t.getAttribute("delete-event");n&&this.listen(t,"cds-file-uploader-item-deleted",o=>{this.dispatchPanelEvent(n,{...e,fileName:o.detail?.fileName,fileId:o.detail?.fileId})})}};function it(t,e){const s=new DataTransfer;for(const n of e)s.items.add(n);t.files=s.files,t.dispatchEvent(new Event("change",{bubbles:!0}))}function ct(t){const e=t.getAttribute("for");if(!e)return console.warn(`[Zooy] ${t.tagName.toLowerCase()} missing 'for' attribute; cannot bind to a form input.`,t),null;const s=t.ownerDocument.getElementById(e);return!s||s.tagName!=="INPUT"||s.type!=="file"?(console.warn(`[Zooy] 'for=${e}' did not resolve to an <input type="file">.`,t),null):s}var ve={selector:"cds-file-uploader-button",init:function(t){const e=ct(t),s=i.getSemanticAttributes(t),n=s.event;this.listen(t,"cds-file-uploader-button-changed",o=>{const a=o.detail?.addedFiles||[];e&&it(e,a),n&&this.dispatchPanelEvent(n,{...s,files:Array.from(a)})})}};function me(t,e,s,n){const o=t.querySelector(`[data-file-list-for="${e}"]`);if(o){o.replaceChildren();for(const a of s){const r=t.createElement("cds-file-uploader-item");r.setAttribute("state","edit"),r.textContent=a.name,r.addEventListener("cds-file-uploader-item-deleted",()=>{n(a.name)}),o.appendChild(r)}}}function ge(t,e){const s=new DataTransfer;for(const n of t.files)n.name!==e&&s.items.add(n);t.files=s.files,t.dispatchEvent(new Event("change",{bubbles:!0}))}var fe={selector:"cds-file-uploader-drop-container",init:function(t){const e=ct(t),s=i.getSemanticAttributes(t),n=s.event,o=t.getAttribute("for"),a=()=>{if(!o||!e)return;const r=Array.from(e.files);me(t.ownerDocument,o,r,c=>{ge(e,c),a()}),t.multiple||(t.style.display=r.length>0?"none":"")};this.listen(t,"cds-file-uploader-drop-container-changed",r=>{const c=r.detail?.addedFiles||[],p=t.multiple?c:c.slice(0,1);e&&it(e,p),a(),n&&this.dispatchPanelEvent(n,{...s,files:Array.from(p)})})}},he=m.__exportAll({cdsAccordionWrap:()=>Ee,cdsContentSwitcherWrap:()=>Ae,cdsTabsWrap:()=>be}),be={selector:"cds-tabs",init:function(t){const e=customElements.get("cds-tabs"),s=i.getSemanticAttributes(t),n=t.getAttribute("before-select-event");n&&this.listen(t,e.eventBeforeSelect,a=>{this.dispatchPanelEvent(n,{...s,tabValue:a.detail.value,cancelable:!0})});const o=s.event;o&&this.listen(t,e.eventSelect,a=>{const r=a.detail.item,c=i.getSemanticAttributes(r);this.dispatchPanelEvent(o,{...s,...c,tabValue:a.detail.value})})}},Ee={selector:"cds-accordion",init:function(t){const e=customElements.get("cds-accordion-item"),s=i.getSemanticAttributes(t);[...t.querySelectorAll("cds-accordion-item")].forEach(n=>{const o=i.getSemanticAttributes(n),a=o.event||s.event;a&&this.listen(n,e.eventToggle,r=>{this.dispatchPanelEvent(a,{...s,...o,open:r.detail.open})})})}},Ae={selector:"cds-content-switcher",init:function(t){const e=customElements.get("cds-content-switcher"),s=i.getSemanticAttributes(t),n=t.getAttribute("before-select-event");n&&this.listen(t,e.eventBeforeSelect,a=>{this.dispatchPanelEvent(n,{...s,value:a.detail.value,cancelable:!0})});const o=s.event;o&&this.listen(t,e.eventSelect,a=>{const r=a.detail.item,c=i.getSemanticAttributes(r);this.dispatchPanelEvent(o,{...s,...c,value:r.getAttribute("value")})})}},Se=m.__exportAll({cdsBreadCrumbWrap:()=>ye,cdsBreadcrumbItemWrap:()=>We,cdsBreadcrumbLinkWrap:()=>Ie}),We={selector:"cds-breadcrumb-item"},Ie={selector:"cds-breadcrumb-link",event:"click",getData:(t,e,s)=>(t.preventDefault(),{...e,href:s.getAttribute("href")})},ye={selector:"cds-breadcrumb",init:function(t){const e=this,s=i.getSemanticAttributes(t),n=s.event;if(n){const o=r=>{e.dispatchPanelEvent(n,{...s,...r})};e.listen(t,"click",r=>{const c=r.target.closest("cds-breadcrumb-link");c&&(r.preventDefault(),r.stopPropagation(),o(i.getSemanticAttributes(c)))});const a=t.querySelector("cds-overflow-menu-body");a&&e.listen(a,"cds-overflow-menu-item-clicked",r=>{r.stopPropagation(),o(i.getSemanticAttributes(r.target))})}}},Pe=m.__exportAll({cdsNumberInputWrap:()=>Ce,cdsPasswordInputWrap:()=>we,cdsSearchWrap:()=>xe,cdsTextAreaWrap:()=>ke,cdsTextInputWrap:()=>_e}),_e={selector:"cds-text-input",multiEvent:!0,events:[{type:"input",attrName:"event",getData:(t,e)=>({...e,value:t.currentTarget.value})},{type:"change",attrName:"change-event",getData:(t,e)=>({...e,value:t.currentTarget.value})}]},ke={selector:"cds-textarea",multiEvent:!0,events:[{type:"input",attrName:"event",getData:(t,e)=>({...e,value:t.currentTarget.value})},{type:"change",attrName:"change-event",getData:(t,e)=>({...e,value:t.currentTarget.value})}]},Ce={selector:"cds-number-input",event:"cds-number-input",getData:(t,e,s)=>({...e,value:t.detail.value,direction:t.detail.direction})},we={selector:"cds-password-input",multiEvent:!0,events:[{type:"input",attrName:"event",getData:(t,e)=>({...e,value:t.currentTarget.value})},{type:"change",attrName:"change-event",getData:(t,e)=>({...e,value:t.currentTarget.value})}]},xe={selector:"cds-search",event:"cds-search-input",getData:(t,e,s)=>({...e,value:s.value})},De=m.__exportAll({cdsCheckboxWrap:()=>Be,cdsRadioButGroupWrap:()=>Ne,cdsSelectWrap:()=>Me,cdsSliderWrap:()=>Fe,cdsToggleWrap:()=>Te}),Be={selector:"cds-checkbox",event:"cds-checkbox-changed",getData:(t,e,s)=>({...e,checked:t.detail.checked,value:s.value})},Ne={selector:"cds-radio-button-group",event:"cds-radio-button-group-changed",getData:(t,e)=>({...e,value:t.detail?.value})},Te={selector:"cds-toggle",event:"cds-toggle-changed",getData:(t,e)=>({...e,isOn:t.detail.checked,value:t.detail.checked})},Me={selector:"cds-select",event:"cds-select-selected",getData:(t,e)=>({...e,value:t.detail.value})},Fe={selector:"cds-slider",init:function(t){const e=i.getSemanticAttributes(t),s=e.event;s&&this.listen(t,"cds-slider-changed",o=>{this.dispatchPanelEvent(s,{...e,value:o.detail.value})});const n=t.getAttribute("input-event");n&&this.listen(t,"cds-slider-input-changed",o=>{this.dispatchPanelEvent(n,{...e,value:o.detail.value})})}},qe=m.__exportAll({cdsFilterTagWrap:()=>Le,cdsSDismissibleTagWrap:()=>Oe,cdsTagsWrap:()=>ze}),ze={selector:"cds-tag",event:"click",getData:(t,e)=>e},Oe={selector:"cds-dismissible-tag",init:function(t){const e=i.getSemanticAttributes(t),s=t.getAttribute("click-event");s&&this.listen(t,"click",o=>{o.target.closest("button")||this.dispatchPanelEvent(s,{...e})});const n=e.event;n&&this.listen(t,"cds-dismissible-tag-closed",o=>{this.dispatchPanelEvent(n,{...e,action:"closed"})})}},Le={selector:"cds-filter-tag",event:"cds-filter-tag-closed",getData:(t,e)=>({...e,action:"remove"})},Re=m.__exportAll({cdsContainedListDescriptionWrap:()=>je,cdsContainedListItemWrap:()=>Ge,cdsContainedListWrap:()=>He,cdsOverflowMenuWrap:()=>Ue,cdsStructuredListWrap:()=>$e,cdsTreeViewWrap:()=>Ve}),Ue={selector:"cds-overflow-menu",init:function(t){const e=i.getSemanticAttributes(t),s=e.event,n=t.querySelector("cds-overflow-menu-body");s&&n&&this.listen(n,"cds-overflow-menu-item-clicked",o=>{o.stopPropagation();const a=i.getSemanticAttributes(o.target);this.dispatchPanelEvent(s,{...e,...a})})}},$e={selector:"cds-structured-list",init:function(t){const e=i.getSemanticAttributes(t);[...t.querySelectorAll("cds-structured-list-row")].forEach(s=>{const n=i.getSemanticAttributes(s),o=n.event||e.event;o&&this.listen(s,"click",a=>{a.stopPropagation(),this.dispatchPanelEvent(o,{...e,...n})})}),t.hasAttribute("selection")&&this.listen(t,"cds-structured-list-selected",s=>{const n=s.detail.row,o=i.getSemanticAttributes(n),a=e.event;a&&this.dispatchPanelEvent(a,{...e,...o})})}},He={selector:"cds-contained-list"},je={selector:"cds-contained-list-description"},Ge={selector:"cds-contained-list-item",event:"cds-contained-list-item-click",getData:(t,e)=>e},Ve={selector:"cds-tree-view",init:function(t){const e=i.getSemanticAttributes(t);this.listen(t,"cds-tree-node-selected",n=>{const o=n.detail.node,a=i.getSemanticAttributes(o),r=a.event||e.event;r&&this.dispatchPanelEvent(r,{...e,...a,nodeId:o.id,label:o.getAttribute("label")})});const s=i.getEventAttribute(t,"expand-event");s&&this.listen(t,"cds-tree-node-expanded",n=>{this.dispatchPanelEvent(s,{...e,nodeId:n.detail.node.id,expanded:n.detail.expanded})})}},Ze=m.__exportAll({cdsActionableNotificationWrap:()=>Qe,cdsInlineNotificationWrap:()=>Ke,cdsToastNotificationWrap:()=>Je}),Je={selector:"cds-toast-notification",event:"cds-notification-closed",getData:(t,e)=>({...e,action:"closed"})},Ke={selector:"cds-inline-notification",event:"cds-notification-closed",getData:(t,e)=>({...e,action:"closed"})},Qe={selector:"cds-actionable-notification",init:function(t){const e=i.getSemanticAttributes(t),s=i.getEventAttribute(t,"close-event","event");s&&this.listen(t,"cds-notification-closed",o=>{this.dispatchPanelEvent(s,{...e,action:"closed"})});const n=i.getEventAttribute(t,"action-event");n&&this.listen(t,"cds-notification-actioned",o=>{this.dispatchPanelEvent(n,{...e,action:"actioned"})})}},Xe=m.__exportAll({cdsClickableTileWrap:()=>ts,cdsExpandableTileWrap:()=>es,cdsRadioTileWrap:()=>ns,cdsSelectableTileWrap:()=>ss,cdsTileGroupWrap:()=>os,cdsTileWrap:()=>Ye}),Ye={selector:"cds-tile"},ts={selector:"cds-clickable-tile",init:function(t){const e=i.getSemanticAttributes(t),s=e.event;if(s){const n=e.href||t.getAttribute("href")||"";t.removeAttribute("href"),t.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation(),this.dispatchPanelEvent(s,{...e,href:n})},!0)}}},es={selector:"cds-expandable-tile",init:function(t){const e=i.getSemanticAttributes(t),s=t.getAttribute("before-toggle-event");s&&this.listen(t,"cds-expandable-tile-beingtoggled",o=>{this.dispatchPanelEvent(s,{...e,expanded:o.detail.expanded,cancelable:!0})});const n=e.event;n&&this.listen(t,"cds-expandable-tile-toggled",o=>{this.dispatchPanelEvent(n,{...e,expanded:o.detail.expanded})})}},ss={selector:"cds-selectable-tile",event:"cds-selectable-tile-changed",getData:(t,e,s)=>({...e,selected:t.detail.selected,value:s.value})},ns={selector:"cds-radio-tile",event:"cds-radio-tile-selected",getData:(t,e,s)=>({...e,selected:t.detail.selected,name:t.detail.name,value:s.value})},os={selector:"cds-tile-group",init:function(t){const e=i.getSemanticAttributes(t),s=e.event;s&&(this.listen(t,"cds-current-radio-tile-selection",n=>{const o=n.detail.target;this.dispatchPanelEvent(s,{...e,value:o?.value,name:o?.name,selected:o?.selected})}),this.listen(t,"cds-current-selectable-tile-selections",n=>{const o=n.detail.currentSelections||[];this.dispatchPanelEvent(s,{...e,values:o.map(a=>a.value),names:o.map(a=>a.name),count:o.length})}))}},as=m.__exportAll({cdsInlineLoadingWrap:()=>cs,cdsProgressBarWrap:()=>rs,cdsProgressIndicatorWrap:()=>is}),rs={selector:"cds-progress-bar",init:function(t){const e=i.getSemanticAttributes(t);if(e.event){const s=new MutationObserver(()=>{const n=parseFloat(t.getAttribute("value")||"0");n>=parseFloat(t.getAttribute("max")||"100")&&this.dispatchPanelEvent(e.event,{...e,value:n,status:"complete"})});s.observe(t,{attributes:!0,attributeFilter:["value"]}),t._progressObserver=s}}},is={selector:"cds-progress-indicator",init:function(t){const e=i.getSemanticAttributes(t);this.listen(t,"cds-progress-step-click",s=>{const n=s.target,o=i.getSemanticAttributes(n),a=o.event||e.event;a&&this.dispatchPanelEvent(a,{...e,...o,stepIndex:n.getAttribute("data-index"),stepLabel:n.getAttribute("label")})})}},cs={selector:"cds-inline-loading",init:function(t){const e=i.getSemanticAttributes(t),s=e.event;s&&this.listen(t,"cds-inline-loading-onsuccess",o=>{this.dispatchPanelEvent(s,{...e,status:"finished"})});const n=t.getAttribute("status-event");if(n){const o=new MutationObserver(a=>{a.forEach(r=>{if(r.attributeName==="status"){const c=t.getAttribute("status");this.dispatchPanelEvent(n,{...e,status:c})}})});o.observe(t,{attributes:!0,attributeFilter:["status"]}),t._statusObserver=o}}},ls=m.__exportAll({cdsPopoverWrap:()=>ps,cdsToggletipWrap:()=>us,cdsTooltipWrap:()=>ds}),ds={selector:"cds-tooltip",init:function(t){const e=i.getSemanticAttributes(t),s=i.getEventAttribute(t,"open-event");s&&this.listen(t,"cds-tooltip-beingopened",o=>{this.dispatchPanelEvent(s,{...e,action:"opened"})});const n=i.getEventAttribute(t,"close-event");n&&this.listen(t,"cds-tooltip-closed",o=>{this.dispatchPanelEvent(n,{...e,action:"closed"})})}},ps={selector:"cds-popover",init:function(t){const e=i.getSemanticAttributes(t),s=i.getEventAttribute(t,"open-event");s&&this.listen(t,"cds-popover-beingopened",o=>{this.dispatchPanelEvent(s,{...e,action:"opened"})});const n=i.getEventAttribute(t,"close-event");n&&this.listen(t,"cds-popover-closed",o=>{this.dispatchPanelEvent(n,{...e,action:"closed"})})}},us={selector:"cds-toggletip",init:function(t){const e=i.getSemanticAttributes(t);if(e.event){const s=new MutationObserver(n=>{n.forEach(o=>{if(o.attributeName==="open"){const a=t.hasAttribute("open");this.dispatchPanelEvent(e.event,{...e,action:a?"opened":"closed",open:a})}})});s.observe(t,{attributes:!0,attributeFilter:["open"]}),t._toggletipObserver=s}}},vs=m.__exportAll({cdsCodeSnipWrap:()=>gs,cdsLinkWrap:()=>ms}),ms={selector:"cds-link",event:"click",getData:(t,e,s)=>({...e,href:s.getAttribute("href")})},gs={selector:"cds-code-snippet",event:"cds-copy-button-clicked",getData:(t,e)=>({...e,action:"copied"})},fs=m.__exportAll({cdsBadgeIndicatorWrap:()=>Ps,cdsFormGroupWrap:()=>Es,cdsFormItemWrap:()=>bs,cdsFormWrap:()=>hs,cdsHeadingWrap:()=>Ss,cdsIconIndicatorWrap:()=>ys,cdsIconWrap:()=>Is,cdsLoadingWrap:()=>_s,cdsSectionWrap:()=>Ws,cdsSkeletonPlaceholderWrap:()=>Cs,cdsSkeletonTextWrap:()=>ks,cdsStackWrap:()=>As}),hs={selector:"cds-form"},bs={selector:"cds-form-item"},Es={selector:"cds-form-group"},As={selector:"cds-stack"},Ss={selector:"cds-heading"},Ws={selector:"cds-section"},Is={selector:"cds-icon"},ys={selector:"cds-icon-indicator"},Ps={selector:"cds-badge-indicator"},_s={selector:"cds-loading"},ks={selector:"cds-skeleton-text"},Cs={selector:"cds-skeleton-placeholder"};function f(t){return Object.values(t).filter(e=>typeof e=="object"&&e!==null&&e.selector)}var ws=[...f(Ft),...f(Dt),...f(zt),...f(Zt),...f(Qt),...f(oe),...f(ce),...f(pe),...f(he),...f(Se),...f(Pe),...f(De),...f(qe),...f(Re),...f(Ze),...f(Xe),...f(as),...f(ls),...f(vs),...f(fs)];function xs(){const t=new Map;return ws.forEach(e=>{t.set(e.selector,e)}),t}var Ds=()=>import("@carbon/web-components/es/components/accordion/index.js"),R=()=>import("@carbon/web-components/es/components/breadcrumb/index.js"),Bs=()=>import("@carbon/web-components/es/components/stack/index.js"),Ns=()=>import("@carbon/web-components/es/components/structured-list/index.js"),U=()=>import("@carbon/web-components/es/components/contained-list/index.js"),D=()=>import("@carbon/web-components/es/components/tile/index.js"),Ts=()=>import("@carbon/web-components/es/components/tree-view/index.js"),Ms=()=>import("@carbon/web-components/es/components/link/index.js"),Fs=()=>import("@carbon/web-components/es/components/tabs/index.js"),qs=()=>import("@carbon/web-components/es/components/content-switcher/index.js"),Y=()=>import("@carbon/web-components/es/components/menu/index.js"),zs=()=>import("@carbon/web-components/es/components/overflow-menu/index.js"),$=()=>import("@carbon/web-components/es/components/button/index.js"),tt=()=>import("@carbon/web-components/es/components/icon-button/index.js"),Os=()=>import("@carbon/web-components/es/components/combo-button/index.js"),Ls=()=>import("@carbon/web-components/es/components/copy-button/index.js"),Rs=()=>import("@carbon/web-components/es/components/checkbox/index.js"),Us=()=>import("@carbon/web-components/es/components/radio-button/index.js"),$s=()=>import("@carbon/web-components/es/components/toggle/index.js"),H=()=>import("@carbon/web-components/es/components/select/index.js"),Hs=()=>import("@carbon/web-components/es/components/slider/index.js"),j=()=>import("@carbon/web-components/es/components/text-input/index.js"),js=()=>import("@carbon/web-components/es/components/textarea/index.js"),Gs=()=>import("@carbon/web-components/es/components/number-input/index.js"),Vs=()=>import("@carbon/web-components/es/components/password-input/index.js"),et=()=>import("@carbon/web-components/es/components/search/index.js"),Zs=()=>import("@carbon/web-components/es/components/combo-box/index.js"),Js=()=>import("@carbon/web-components/es/components/dropdown/index.js"),Ks=()=>import("@carbon/web-components/es/components/multi-select/index.js"),Qs=()=>import("@carbon/web-components/es/components/date-picker/index.js"),Xs=()=>import("@carbon/web-components/es/components/time-picker/index.js"),M=()=>import("@carbon/web-components/es/components/file-uploader/index.js"),st=()=>import("@carbon/web-components/es/components/form/index.js"),Ys=()=>import("@carbon/web-components/es/components/form-group/index.js"),tn=()=>import("@carbon/web-components/es/components/data-table/index.js"),nt=()=>import("@carbon/web-components/es/components/pagination/index.js"),en=()=>import("@carbon/web-components/es/components/code-snippet/index.js"),G=()=>import("@carbon/web-components/es/components/tag/index.js"),sn=()=>import("@carbon/web-components/es/components/badge-indicator/index.js"),V=()=>import("@carbon/web-components/es/components/notification/index.js"),nn=()=>import("@carbon/web-components/es/components/loading/index.js"),on=()=>import("@carbon/web-components/es/components/inline-loading/index.js"),an=()=>import("@carbon/web-components/es/components/progress-bar/index.js"),rn=()=>import("@carbon/web-components/es/components/progress-indicator/index.js"),cn=()=>import("@carbon/web-components/es/components/skeleton-placeholder/index.js"),ln=()=>import("@carbon/web-components/es/components/skeleton-text/index.js"),y=()=>import("@carbon/web-components/es/components/modal/index.js"),P=()=>import("@carbon/web-components/es/components/tooltip/index.js"),dn=()=>import("@carbon/web-components/es/components/popover/index.js"),pn=()=>import("@carbon/web-components/es/components/toggle-tip/index.js"),ot=()=>import("@carbon/web-components/es/components/heading/index.js"),un=()=>import("@carbon/web-components/es/components/icon/index.js"),vn=()=>import("@carbon/web-components/es/components/icon-indicator/index.js"),q={"cds-table":[P,$,j,et,H,nt,tn],"cds-pagination":[H,j,nt],"cds-button":[P,$],"cds-icon-button:not([data-toggle])":[P,tt],"cds-icon-button[data-toggle]":[P,tt],"cds-button[data-fab]":[P,$],"cds-copy-button":[P,Ls],"cds-combo-button":[P,Os],"cds-checkbox":[Rs],"cds-radio-button-group":[Us],"cds-toggle":[$s],"cds-select":[H],"cds-slider":[Hs],"cds-text-input":[j],"cds-textarea":[js],"cds-number-input":[Gs],"cds-password-input":[P,Vs],"cds-search":[et],"cds-dropdown":[Js],"cds-combo-box":[Zs],"cds-multi-select":[Ks],"cds-date-picker":[Qs],"cds-time-picker":[Xs],"cds-file-uploader":[M],"cds-file-uploader-button":[M],"cds-file-uploader-drop-container":[M],"cds-file-uploader-item":[M],"cds-tabs":[Fs],"cds-accordion":[Ds],"cds-content-switcher":[qs],"cds-breadcrumb":[R],"cds-breadcrumb-item":[R],"cds-breadcrumb-link":[R],"cds-menu":[Y],"cds-menu-button":[Y],"cds-overflow-menu":[zs],"cds-structured-list":[Ns],"cds-contained-list":[U],"cds-contained-list-item":[U],"cds-contained-list-description":[U],"cds-tree-view":[Ts],"cds-modal":[y],"cds-modal-header":[y],"cds-modal-heading":[y],"cds-modal-label":[y],"cds-modal-close-button":[y],"cds-modal-body":[y],"cds-modal-body-content":[y],"cds-modal-footer":[y],"cds-modal-footer-button":[y],"cds-toast-notification":[V],"cds-inline-notification":[V],"cds-actionable-notification":[V],"cds-tile":[D],"cds-tile-group":[D],"cds-clickable-tile":[D],"cds-expandable-tile":[D],"cds-selectable-tile":[D],"cds-radio-tile":[D],"cds-progress-bar":[an],"cds-progress-indicator":[rn],"cds-inline-loading":[on],"cds-tooltip":[P],"cds-popover":[dn],"cds-toggletip":[pn],"cds-tag":[G],"cds-dismissible-tag":[G],"cds-filter-tag":[G],"cds-link":[Ms],"cds-code-snippet":[en],"cds-form":[st],"cds-form-item":[st],"cds-form-group":[Ys],"cds-stack":[Bs],"cds-heading":[ot],"cds-section":[ot],"cds-icon":[un],"cds-icon-indicator":[vn],"cds-badge-indicator":[sn],"cds-loading":[nn],"cds-skeleton-text":[ln],"cds-skeleton-placeholder":[cn]};function mn(t){const e=new Map;if(!t||!(t instanceof Element))return e;for(const n of Object.keys(F))e.set(n,[]);for(const[n]of Object.entries(F))t.matches(n)&&e.get(n).push(t);const s=t.querySelectorAll("*");for(const n of s)for(const[o]of Object.entries(F))n.matches(o)&&e.get(o).push(n);for(const[n,o]of e.entries())o.length===0&&e.delete(n);return e}function gn(t){const e=new Set;for(const[s,n]of t.entries())n.length>0&&q[s]&&q[s].forEach(o=>e.add(o));return e}async function fn(t,e){if(t.size===0)return;const s=Array.from(t).map(async n=>(e.has(n)||e.set(n,n()),e.get(n)));await Promise.all(s)}function hn(t,e){let s=0;for(const[n,o]of t.entries()){const a=F[n];o.forEach(r=>{if(a.init){a.init.call(e,r);return}if(a.multiEvent){const S=i.getSemanticAttributes(r);a.events.forEach(W=>{const w=i.getEventAttribute(r,W.attrName,"event");w&&e.listen(r,W.type,z=>{e.dispatchPanelEvent(w,W.getData(z,S,r))})});return}const c=i.getSemanticAttributes(r),p=c.event;p&&e.listen(r,a.event,S=>{S.stopPropagation();const W=a.getData(S,c,r),w=W._eventOverride||p;delete W._eventOverride,e.dispatchPanelEvent(w,W)})}),s+=o.length}return s}var F=Object.fromEntries(xs()),bn=async function(t,e){const s=mn(t);if(s.size===0){this.debugMe("[Carbon] No Carbon components found in panel");return}this.carbonComponents||(this.carbonComponents=new Map);for(const[a,r]of s.entries())this.carbonComponents.set(a,r);const n=gn(s);if(n.size>0)try{await fn(n,e)}catch(a){console.error("[Carbon] Failed to load some component modules:",a)}const o=hn(s,this);o>0&&this.debugMe(`[Carbon] Total components initialized: ${o}`)},En=(t={})=>{const{preload:e=[]}=t,s=new Map;if(e.length>0){const n=e.filter(a=>q[a]?!0:(console.warn(`[Carbon] No import found for selector: ${a}`),!1)),o=n.flatMap(a=>q[a].map(r=>(s.has(r)||s.set(r,r()),s.get(r))));Promise.all(o).then(()=>console.debug(`[Carbon] Preloaded: ${n.join(", ")}`)).catch(a=>console.warn("[Carbon] Preload error:",a))}m.ComponentLibraryRegistry.register("carbon",{cache:s,render:async function(n,o){try{await bn.call(this,n,o)}catch(a){console.error("[Carbon] Initialization error:",a)}},dispose:function(n){},config:{version:"2.0",description:"IBM Carbon Design System Web Components"}}),console.debug("[Zooy] Carbon Design System library registered")};exports.registerCarbonLibrary=En;
1
+ var yt=Object.create;var Q=Object.defineProperty;var Pt=Object.getOwnPropertyDescriptor;var _t=Object.getOwnPropertyNames;var kt=Object.getPrototypeOf,Ct=Object.prototype.hasOwnProperty;var wt=(t,e,s,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of _t(e))!Ct.call(t,o)&&o!==s&&Q(t,o,{get:()=>e[o],enumerable:!(n=Pt(e,o))||n.enumerable});return t};var d=(t,e,s)=>(s=t!=null?yt(kt(t)):{},wt(e||!t||!t.__esModule?Q(s,"default",{value:t,enumerable:!0}):s,t));const m=require("./component-library-registry-BBQV6Kpv.js"),i=require("./zoo-CiA1SI80.js");let at=require("badu"),B=require("ramda");B=m.__toESM(B,1);let xt=require("@carbon/web-components/lib/components/data-table/defs.js");var Dt=m.__exportAll({cdsTableWrap:()=>Mt}),X=(t,e,s)=>{const n=customElements.get("cds-table"),o=customElements.get("cds-pagination"),a=customElements.get(n.selectorTableBatchActions);customElements.get("cds-popover");const r=e.dataBinder,c=e.pagination,p=e.skeleton,S=e.querySelector(n.selectorTableToolbarSearch),W=e.querySelector(n.selectorTableBatchActions),w=e.querySelector(n.selectorTableBody),z=["button","a","input","select","textarea",'[role="button"]',".cds--table-expand",".cds--table-column-checkbox"].join(","),Z=e.querySelectorAll(n.selectorHeaderCell+"[is-sortable]"),lt=e.isSortable||Z.length>0,O=Symbol(),L=Symbol(),x=new Map,dt=l=>{t.listen(e,"click",u=>{const v=u.target.closest(n.selectorTableRow);if(!v||u.composedPath().some(h=>h.matches&&h.matches(z)))return;u.stopPropagation();const g=i.getSemanticAttributes(v);t.dispatchPanelEvent(l,{...g})})},pt=l=>{t.listen(e,n.eventExpandoToggle,u=>{const v=u.target,g=v.tagName==="CDS-TABLE-HEADER-ROW",h=u.detail.expanded,E={tableAttrs:s,...i.getSemanticAttributes(v),target:v,allRows:g,didExpand:h};t.dispatchPanelEvent(l,E)})},ut=l=>{x.set(O,u=>{t.dispatchPanelEvent(l,u)})},vt=l=>{x.set(L,u=>{const v=u.detail.selectedRows,g=Math.min(v.length,W.totalRowsCount),h=u.target,E=i.getSemanticAttributes(h),I=v.map(i.getSemanticAttributes),_={tableAttrs:s,...E,target:h,selectCount:g,selection:I};t.dispatchPanelEvent(l,_)})},mt=l=>{t.listen(e,n.eventTableRowSelect,u=>{const v=u.target,g=u.detail.selectedRows||[],h=g.length,E=g.map(i.getSemanticAttributes),I={tableAttrs:s,...i.getSemanticAttributes(v),selectCount:h,selection:E,target:v};t.dispatchPanelEvent(l,I)})},gt=()=>{t.listen(e,n.eventBeforeSort,l=>{const u=l.target,v=l.detail.oldSortDirection,g=l.detail.sortDirection,h=i.getSemanticAttributes(u),E=h.sortField,I=g===xt.TABLE_SORT_DIRECTION.DESCENDING?`-${E}`:E;l.cancelBubble=!0,l.stopPropagation(),l.preventDefault(),w.innerHTML="",p&&p.show(),Z.forEach((k,b)=>{k===u?(k.setAttribute("sort-active","true"),k.setAttribute("sort-direction",g)):(k.removeAttribute("sort-active"),k.setAttribute("sort-direction","none"))});const _={ordering:I};r.fetchData(_).then(()=>{c.setData(r),p&&p.hide()}),x.has(O)&&x.get(O)({tableAttrs:s,...h,sortNow:g,sortWas:v,sortField:E,ordering:I,target:u})})},ft=()=>{t.listen(e,n.eventTableRowSelectAll,l=>{l.detail.selectedRows.length===0&&e.querySelectorAll(n.selectorTableRow).forEach(u=>{u.disabled=!1,u.selected=!1}),x.has(L)&&x.get(L)(l)})},ht=()=>{t.listen(e,n.eventBeforeChangeSelectionAll,l=>{l.stopPropagation(),l.detail.callback&&l.detail.callback()})},bt=l=>{const u=e.querySelector("cds-table-header-row");t.listen(l,a.eventClickSelectAll,v=>{v.stopPropagation(),u.dispatchEvent(new CustomEvent(n.eventBeforeChangeSelectionAll,{bubbles:!0,cancelable:!0,composed:!0,detail:{selected:!0,callback:()=>{l.selectedRowsCount=l.totalRowsCount,e.querySelectorAll(n.selectorTableRow).forEach(g=>{g.disabled=!0})}}}))})},Et=l=>{t.listen(l,"keydown",u=>{if(u.key==="Enter"){p&&p.show(),c.totalItems=0,e.querySelector("cds-table-body").replaceChildren();const v={search:l.value||"",offset:0};r.fetchData(v).then(()=>{c.setData(r),p&&p.hide()})}})},At=l=>{t.listen(l,n.eventSearchInput,u=>{if((u.detail.value||"")===""){const v={search:"",offset:0};p&&p.show(),r.fetchData(v).then(()=>{p&&p.hide(),c.setData(r)})}})},St=l=>{l.caret=!1;const u=l.querySelector("cds-icon-button, button:not([slot])"),v=l.querySelectorAll("cds-checkbox"),g=l.querySelectorAll("cds-modal-footer-button"),h=[...l.querySelectorAll("cds-checkbox-group")].map(i.getSemanticAttributes).map(B.pathOr("noop",["zoo","filter","field"])).reduce((b,A)=>(b[A]=null,b),{offset:0});if(!u||!g){console.error("Improperly configured Batch Filter popover");return}new MutationObserver(()=>{l.classList.toggle("cds--overflow-menu--open",l.open)}).observe(l,{attributes:!0,attributeFilter:["open"]});const E=Symbol(),I=Symbol(),_=[...g].reduce((b,A,C)=>(A.hasAttribute("reset-filter")&&b.set(E,A),A.hasAttribute("apply-filter")&&b.set(I,A),b),new Map),k=()=>{const b=new Map;return v.forEach(A=>{const C=A.getAttribute("id");if(!C||!C.includes(":"))return;const[N,T]=C.split(":");b.has(N)||b.set(N,[]),A.checked&&b.get(N).push(T)}),b};if(_.has(E)){const b=A=>A.checked=!1;t.listen(_.get(E),"click",A=>{A.stopPropagation(),v.forEach(b),p&&p.show(),r.fetchData(h).then(()=>{c&&c.setData(r),p&&p.hide(),l.open=!1})})}_.has(I)&&t.listen(_.get(I),"click",b=>{b.stopPropagation();const A=[...k()].reduce((C,[N,T])=>(C[N]=Array.isArray(T)&&T.length===0?null:T,C),{offset:0});p&&p.show(),r.fetchData(A).then(()=>{c&&c.setData(r),p&&p.hide(),l.open=!1})}),t.listen(u,"click",b=>{b.stopPropagation(),l.open=!l.open,l.classList.toggle("cds--overflow-menu--open",l.open)})},Wt=()=>{t.listen(c,o.eventPageSizeChanged,l=>{const u={limit:c.pageSize,offset:0};r.fetchData(u).then(()=>{c.setData(r)})})},It=()=>{let l=null;t.listen(c,o.eventChangeCurrent,u=>{const{page:v}=u.detail,g=c.pageSize,h=(v-1)*g;if(h!==l){l=h;const E={limit:g,offset:h};r.fetchData(E).then(()=>{c.setData(r),p&&p.hide()})}})};r&&c&&(Wt(),It()),r&&S&&(Et(S),At(S));const J=e.querySelector(n.selectorTableToolbarContent);if(J){const l=J.querySelectorAll("cds-popover[data-batch-filter]");r&&l&&l.forEach(St)}e.isSelectable&&(ft(),ht(),W&&bt(W)),r&&lt&&gt();const K={zoo:{event:{row:{click:dt,expand:pt,check:{one:mt,all:vt}},column:{sort:ut}}}};(0,at.objToPaths)(s).forEach(([l,u])=>{B.hasPath(l,K)&&B.path(l,K)(u)})},Bt=t=>{const e=document.createElement("cds-pagination");return e.backwardText="Previous page",e.forwardText="Next page",e.itemsPerPageText="Items per page:",e.pageSize=t.limit,e.size="lg",[10,25,50,100,500].forEach(s=>{const n=document.createElement("cds-select-item");n.value=s.toString(),n.textContent=s.toString(),e.appendChild(n)}),e.setData=s=>{if(s.isPaginated){const{count:n}=B.pick(["count"],s.data);e.pagesUnknown=Math.ceil(n/s.limit)>100,e.totalItems=n,e.pagesUnknown?e.formatStatusWithIndeterminateTotal=({start:o,end:a})=>`${o}–${a} of ${n} item${n<=1?"":"s"}`:delete e.formatStatusWithIndeterminateTotal}},e},Nt=t=>{if(!t.parentNode){console.error("[Carbon Table] Cannot create skeleton: table has no parent node");return}const e=!!t.querySelector("cds-table-header-title"),s=!!t.querySelector("cds-table-header-description"),n=!!t.querySelector("cds-table-toolbar"),o=[...t.querySelectorAll("cds-table-header-cell")].length,a=t.hasAttribute("zebra"),r=t.getAttribute("size"),c=document.createElement("cds-table-skeleton");c.showHeader=e||s,c.showToolbar=n,c.zebra=a,c.columnCount=o,c.size=r,c.show=()=>c.classList.remove("hidden"),c.hide=()=>c.classList.add("hidden");const p=document.createElement("div");return p.classList.add("zoo-datatable-skeleton-wrapper"),t.parentNode.insertBefore(p,t),p.appendChild(c),p.appendChild(t),c},Tt=(t,e)=>{const s=e.getAttribute("zoo-url-api"),n=parseInt(e.getAttribute("data-page-size")||25,10);if(s)return new i.Binder(t,s,e,{urlParams:{limit:n}})},Mt={selector:"cds-table",init:function(t){const e=i.getSemanticAttributes(t),s=this,n=Tt(s,t);if((0,at.isDefAndNotNull)(n)){t.dataBinder=n;const o=Nt(t);t.skeleton=o;const a=Bt(n);t.pagination=a,t.after(a),n.fetchData().then(r=>{o.hide(),a.setData(n),X(s,t,e)})}else X(s,t,e)}},Ft=m.__exportAll({cdsPaginationWrap:()=>qt}),qt={selector:"cds-pagination",init:function(t){const e=this,s=customElements.get("cds-pagination");let n=null;e.listen(t,s.eventChangeCurrent,o=>{const a=o.detail.page,r=t.pageSize,c=(a-1)*r;c!==n&&(n=c,e.dispatchPanelEvent("pagination-changed-current",{detail:{page:a,pageSize:r,action:"page-change"}}))}),e.listen(t,s.eventPageSizeChanged,o=>{const a=t.pageSize;n=null,e.dispatchPanelEvent("pagination-changed-page-size",{detail:{page:1,pageSize:a,action:"page-size-change"}})})}},zt=m.__exportAll({cdsModalBodyContentWrap:()=>jt,cdsModalBodyWrap:()=>Ht,cdsModalCloseButWrap:()=>$t,cdsModalFooterButWrap:()=>Vt,cdsModalFooterWrap:()=>Gt,cdsModalHeaderWrap:()=>Lt,cdsModalHeadingWrap:()=>Rt,cdsModalLabelWrap:()=>Ut,cdsModalWrap:()=>Ot}),Ot={selector:"cds-modal",init:function(t){const e=customElements.get("cds-modal"),s=i.getSemanticAttributes(t),n=i.getEventAttribute(t,"open-event","event");n&&this.listen(t,"cds-modal-beingopened",r=>{this.dispatchPanelEvent(n,{...s,action:"opened"})});const o=t.getAttribute("before-close-event");o&&this.listen(t,e.eventBeforeClose,r=>{this.dispatchPanelEvent(o,{...s,action:"closing",cancelable:!0})}),this.listen(t,e.eventClose,r=>{this.dispatchPanelEvent("destroy_me",{...s,action:"closed",triggeredBy:r.detail?.triggeredBy})});const a=i.getEventAttribute(t,"primary-event","event");a&&this.listen(t,"cds-modal-primary-focus",r=>{this.dispatchPanelEvent(a,{...s,action:"primary"})})}},Lt={selector:"cds-modal-header"},Rt={selector:"cds-modal-heading"},Ut={selector:"cds-modal-label"},$t={selector:"cds-modal-close-button"},Ht={selector:"cds-modal-body"},jt={selector:"cds-modal-body-content"},Gt={selector:"cds-modal-footer"},Vt={selector:"cds-modal-footer-button",init:function(t){const e=i.getSemanticAttributes(t);if(t.getAttribute("type")==="submit"){this.listen(t,"click",n=>{let o=t.closest("form");if(!o){const a=t.getAttribute("form");a&&(o=document.getElementById(a))}o&&o.requestSubmit()});return}const s=e.event;s&&this.listen(t,"click",n=>{n.stopPropagation(),this.dispatchPanelEvent(s,e)})}},Zt=m.__exportAll({cdsMenuButtonWrap:()=>Kt,cdsMenuWrap:()=>Jt}),Jt={selector:"cds-menu",init:function(t){const e=i.getSemanticAttributes(t),s=i.getEventAttribute(t,"open-event");s&&this.listen(t,"cds-menu-opened",o=>{this.dispatchPanelEvent(s,{...e,action:"opened"})});const n=i.getEventAttribute(t,"close-event");n&&this.listen(t,"cds-menu-closed",o=>{this.dispatchPanelEvent(n,{...e,action:"closed"})}),this.listen(t,"click",o=>{if(o.target.tagName==="CDS-MENU-ITEM"){const a=i.getSemanticAttributes(o.target),r=a.event||e.event;r&&(o.stopPropagation(),this.dispatchPanelEvent(r,{...e,...a}))}}),this.listen(t,"cds-item-changed",o=>{const a=o.detail.triggeredBy,r=i.getSemanticAttributes(a),c=r.event||e.event;c&&this.dispatchPanelEvent(c,{...e,...r,action:"selection-changed"})})}},Kt={selector:"cds-menu-button",init:function(t){const e=i.getSemanticAttributes(t),s=t.querySelector("cds-menu");s&&this.listen(s,"click",n=>{if(n.target.tagName==="CDS-MENU-ITEM"){const o=i.getSemanticAttributes(n.target),a=o.event||e.event;a&&(n.stopPropagation(),this.dispatchPanelEvent(a,{...e,...o}))}})}},Qt=m.__exportAll({cdsButFabWrap:()=>ee,cdsButtonWrap:()=>Xt,cdsComboButWrap:()=>ne,cdsCopyButWrap:()=>se,cdsIconButToggleWrap:()=>te,cdsIconButWrap:()=>Yt}),Xt={selector:"cds-button",init:function(t){const e=i.getSemanticAttributes(t);if(t.getAttribute("type")==="submit"){this.listen(t,"click",n=>{let o=t.closest("form");if(!o){const a=t.getAttribute("form");a&&(o=document.getElementById(a))}o&&o.requestSubmit()});return}const s=e.event;s&&this.listen(t,"click",n=>{n.stopPropagation(),this.dispatchPanelEvent(s,i.getSemanticAttributes(t))})}},Yt={selector:"cds-icon-button:not([data-toggle])",event:"click",getData:(t,e)=>e},te={selector:"cds-icon-button[data-toggle]",init:function(t){const e=i.getSemanticAttributes(t);e.event&&this.listen(t,"click",s=>{s.stopPropagation(),t.isSelected=!t.isSelected,this.dispatchPanelEvent(e.event,{...e,isOn:t.isSelected})})}},ee={selector:"cds-button[data-fab]",event:"click",getData:(t,e)=>e},se={selector:"cds-copy-button",init:function(t){const e=i.getSemanticAttributes(t),s=e.event;s&&this.listen(t,"click",o=>{o.stopPropagation(),this.dispatchPanelEvent(s,{...e,action:"copy"})});const n=t.getAttribute("success-event");if(n){const o=new MutationObserver(()=>{t.hasAttribute("feedback-shown")&&this.dispatchPanelEvent(n,{...e,action:"copied"})});o.observe(t,{attributes:!0,attributeFilter:["feedback-shown"]}),t._copyObserver=o}}},ne={selector:"cds-combo-button",init:function(t){const e=i.getSemanticAttributes(t);e.event&&this.listen(t,"click",n=>{const o=n.composedPath(),a=o.some(c=>c.tagName==="CDS-MENU-ITEM"),r=o.some(c=>c.tagName==="CDS-ICON-BUTTON");!a&&!r&&(n.stopPropagation(),this.dispatchPanelEvent(e.event,{...e,action:"primary"}))});const s=t.querySelector("cds-menu");s&&this.listen(s,"click",n=>{if(n.target.tagName==="CDS-MENU-ITEM"){const o=i.getSemanticAttributes(n.target),a=o.event||i.getEventAttribute(t,"menu-event","event");a&&this.dispatchPanelEvent(a,{...e,...o,action:"menu-item"})}})}},oe=m.__exportAll({cdsComboBoxWrap:()=>re,cdsDropdownWrap:()=>ae,cdsMultiSelectWrap:()=>ie}),ae={selector:"cds-dropdown",init:function(t){const e=customElements.get("cds-dropdown"),s=i.getSemanticAttributes(t),n=s.event;n&&this.listen(t,e.eventSelect,a=>{this.dispatchPanelEvent(n,{...s,value:t.value,selectedValue:a.detail?.item?.value,selectedText:a.detail?.item?.textContent?.trim()})});const o=t.getAttribute("toggle-event");o&&this.listen(t,e.eventToggle,a=>{this.dispatchPanelEvent(o,{...s,open:t.hasAttribute("open")})})}},re={selector:"cds-combo-box",init:function(t){const e=customElements.get("cds-combo-box"),s=i.getSemanticAttributes(t),n=s.event;n&&this.listen(t,e.eventSelect,a=>{const r=a.detail?.item;this.dispatchPanelEvent(n,{...s,value:t.value,selectedValue:r?.value,selectedText:r?.textContent?.trim()})});const o=t.getAttribute("toggle-event");o&&this.listen(t,e.eventToggle,a=>{this.dispatchPanelEvent(o,{...s,open:t.hasAttribute("open")})})}},ie={selector:"cds-multi-select",init:function(t){const e=customElements.get("cds-multi-select"),s=i.getSemanticAttributes(t),n=s.event;n&&this.listen(t,e.eventSelect,a=>{const r=t.value?t.value.split(","):[];this.dispatchPanelEvent(n,{...s,selectedItems:r})});const o=t.getAttribute("toggle-event");o&&this.listen(t,e.eventToggle,a=>{this.dispatchPanelEvent(o,{...s,open:t.hasAttribute("open")})})}},ce=m.__exportAll({cdsDatePickerWrap:()=>le,cdsTimePickerWrap:()=>de}),le={selector:"cds-date-picker",init:function(t){const e=customElements.get("cds-date-picker"),s=i.getSemanticAttributes(t),n=t.querySelector('cds-date-picker-input[kind="from"]'),o=t.querySelector('cds-date-picker-input[kind="to"]'),a=n&&o,r=s.event;r&&this.listen(t,e.eventChange,p=>{let S;a?S={from:n.value||"",to:o.value||""}:S=t.value,this.dispatchPanelEvent(r,{...s,value:S})});const c=t.getAttribute("error-event");c&&this.listen(t,e.eventFlatpickrError,p=>{this.dispatchPanelEvent(c,{...s,error:p.detail})})}},de={selector:"cds-time-picker",event:"cds-time-picker-changed",getData:(t,e,s)=>({...e,value:s.value})},pe=m.__exportAll({cdsFileUploaderButtonWrap:()=>ve,cdsFileUploaderDropContainerWrap:()=>fe,cdsFileUploaderWrap:()=>ue});function rt(t){customElements.whenDefined(t).then(e=>{if(!(!e||e.prototype.__zooyAcceptPatched)){if(typeof e.prototype._getFiles!="function"){console.warn(`[Zooy] ${t}._getFiles missing; accept-split patch skipped (Carbon may have refactored).`);return}e.prototype._getFiles=function(s,n){if(n===void 0&&(n=(s.type==="drop"?s.dataTransfer:s.target)?.files),!this.accept||!/^(change|drop)$/.test(s.type))return Array.from(n??[]);const o=new Set(this.accept.split(/[\s,]+/).filter(Boolean));return Array.prototype.filter.call(n??[],({name:a,type:r=""})=>{const c=a.match(/\.[^.]+$/),p=c?c[0].toLowerCase():void 0;return o.has(r)||p&&o.has(p)})},e.prototype.__zooyAcceptPatched=!0}})}rt("cds-file-uploader-drop-container");rt("cds-file-uploader-button");var ue={selector:"cds-file-uploader",init:function(t){const e=i.getSemanticAttributes(t),s=e.event;if(s){const o=t.querySelector('input[type="file"]');o&&this.listen(o,"change",a=>{this.dispatchPanelEvent(s,{...e,files:Array.from(a.target.files||[])})})}const n=t.getAttribute("delete-event");n&&this.listen(t,"cds-file-uploader-item-deleted",o=>{this.dispatchPanelEvent(n,{...e,fileName:o.detail?.fileName,fileId:o.detail?.fileId})})}};function it(t,e){const s=new DataTransfer;for(const n of e)s.items.add(n);t.files=s.files,t.dispatchEvent(new Event("change",{bubbles:!0}))}function ct(t){const e=t.getAttribute("for");if(!e)return console.warn(`[Zooy] ${t.tagName.toLowerCase()} missing 'for' attribute; cannot bind to a form input.`,t),null;const s=t.ownerDocument.getElementById(e);return!s||s.tagName!=="INPUT"||s.type!=="file"?(console.warn(`[Zooy] 'for=${e}' did not resolve to an <input type="file">.`,t),null):s}var ve={selector:"cds-file-uploader-button",init:function(t){const e=ct(t),s=i.getSemanticAttributes(t),n=s.event;this.listen(t,"cds-file-uploader-button-changed",o=>{const a=o.detail?.addedFiles||[];e&&it(e,a),n&&this.dispatchPanelEvent(n,{...s,files:Array.from(a)})})}};function me(t,e,s,n){const o=t.querySelector(`[data-file-list-for="${e}"]`);if(o){o.replaceChildren();for(const a of s){const r=t.createElement("cds-file-uploader-item");r.setAttribute("state","edit"),r.textContent=a.name,r.addEventListener("cds-file-uploader-item-deleted",()=>{n(a.name)}),o.appendChild(r)}}}function ge(t,e){const s=new DataTransfer;for(const n of t.files)n.name!==e&&s.items.add(n);t.files=s.files,t.dispatchEvent(new Event("change",{bubbles:!0}))}var fe={selector:"cds-file-uploader-drop-container",init:function(t){const e=ct(t),s=i.getSemanticAttributes(t),n=s.event,o=t.getAttribute("for"),a=()=>{if(!o||!e)return;const r=Array.from(e.files);me(t.ownerDocument,o,r,c=>{ge(e,c),a()}),t.multiple||(t.style.display=r.length>0?"none":"")};this.listen(t,"cds-file-uploader-drop-container-changed",r=>{const c=r.detail?.addedFiles||[],p=t.multiple?c:c.slice(0,1);e&&it(e,p),a(),n&&this.dispatchPanelEvent(n,{...s,files:Array.from(p)})})}},he=m.__exportAll({cdsAccordionWrap:()=>Ee,cdsContentSwitcherWrap:()=>Ae,cdsTabsWrap:()=>be}),be={selector:"cds-tabs",init:function(t){const e=customElements.get("cds-tabs"),s=i.getSemanticAttributes(t),n=t.getAttribute("before-select-event");n&&this.listen(t,e.eventBeforeSelect,a=>{this.dispatchPanelEvent(n,{...s,tabValue:a.detail.value,cancelable:!0})});const o=s.event;o&&this.listen(t,e.eventSelect,a=>{const r=a.detail.item,c=i.getSemanticAttributes(r);this.dispatchPanelEvent(o,{...s,...c,tabValue:a.detail.value})})}},Ee={selector:"cds-accordion",init:function(t){const e=customElements.get("cds-accordion-item"),s=i.getSemanticAttributes(t);[...t.querySelectorAll("cds-accordion-item")].forEach(n=>{const o=i.getSemanticAttributes(n),a=o.event||s.event;a&&this.listen(n,e.eventToggle,r=>{this.dispatchPanelEvent(a,{...s,...o,open:r.detail.open})})})}},Ae={selector:"cds-content-switcher",init:function(t){const e=customElements.get("cds-content-switcher"),s=i.getSemanticAttributes(t),n=t.getAttribute("before-select-event");n&&this.listen(t,e.eventBeforeSelect,a=>{this.dispatchPanelEvent(n,{...s,value:a.detail.value,cancelable:!0})});const o=s.event;o&&this.listen(t,e.eventSelect,a=>{const r=a.detail.item,c=i.getSemanticAttributes(r);this.dispatchPanelEvent(o,{...s,...c,value:r.getAttribute("value")})})}},Se=m.__exportAll({cdsBreadCrumbWrap:()=>ye,cdsBreadcrumbItemWrap:()=>We,cdsBreadcrumbLinkWrap:()=>Ie}),We={selector:"cds-breadcrumb-item"},Ie={selector:"cds-breadcrumb-link",event:"click",getData:(t,e,s)=>(t.preventDefault(),{...e,href:s.getAttribute("href")})},ye={selector:"cds-breadcrumb",init:function(t){const e=this,s=i.getSemanticAttributes(t),n=s.event;if(n){const o=r=>{e.dispatchPanelEvent(n,{...s,...r})};e.listen(t,"click",r=>{const c=r.target.closest("cds-breadcrumb-link");c&&(r.preventDefault(),r.stopPropagation(),o(i.getSemanticAttributes(c)))});const a=t.querySelector("cds-overflow-menu-body");a&&e.listen(a,"cds-overflow-menu-item-clicked",r=>{r.stopPropagation(),o(i.getSemanticAttributes(r.target))})}}},Pe=m.__exportAll({cdsNumberInputWrap:()=>Ce,cdsPasswordInputWrap:()=>we,cdsSearchWrap:()=>xe,cdsTextAreaWrap:()=>ke,cdsTextInputWrap:()=>_e}),_e={selector:"cds-text-input",multiEvent:!0,events:[{type:"input",attrName:"event",getData:(t,e)=>({...e,value:t.currentTarget.value})},{type:"change",attrName:"change-event",getData:(t,e)=>({...e,value:t.currentTarget.value})}]},ke={selector:"cds-textarea",multiEvent:!0,events:[{type:"input",attrName:"event",getData:(t,e)=>({...e,value:t.currentTarget.value})},{type:"change",attrName:"change-event",getData:(t,e)=>({...e,value:t.currentTarget.value})}]},Ce={selector:"cds-number-input",event:"cds-number-input",getData:(t,e,s)=>({...e,value:t.detail.value,direction:t.detail.direction})},we={selector:"cds-password-input",multiEvent:!0,events:[{type:"input",attrName:"event",getData:(t,e)=>({...e,value:t.currentTarget.value})},{type:"change",attrName:"change-event",getData:(t,e)=>({...e,value:t.currentTarget.value})}]},xe={selector:"cds-search",event:"cds-search-input",getData:(t,e,s)=>({...e,value:s.value})},De=m.__exportAll({cdsCheckboxWrap:()=>Be,cdsRadioButGroupWrap:()=>Ne,cdsSelectWrap:()=>Me,cdsSliderWrap:()=>Fe,cdsToggleWrap:()=>Te}),Be={selector:"cds-checkbox",event:"cds-checkbox-changed",getData:(t,e,s)=>({...e,checked:t.detail.checked,value:s.value})},Ne={selector:"cds-radio-button-group",event:"cds-radio-button-group-changed",getData:(t,e)=>({...e,value:t.detail?.value})},Te={selector:"cds-toggle",event:"cds-toggle-changed",getData:(t,e)=>({...e,isOn:t.detail.checked,value:t.detail.checked})},Me={selector:"cds-select",event:"cds-select-selected",getData:(t,e)=>({...e,value:t.detail.value})},Fe={selector:"cds-slider",init:function(t){const e=i.getSemanticAttributes(t),s=e.event;s&&this.listen(t,"cds-slider-changed",o=>{this.dispatchPanelEvent(s,{...e,value:o.detail.value})});const n=t.getAttribute("input-event");n&&this.listen(t,"cds-slider-input-changed",o=>{this.dispatchPanelEvent(n,{...e,value:o.detail.value})})}},qe=m.__exportAll({cdsFilterTagWrap:()=>Le,cdsSDismissibleTagWrap:()=>Oe,cdsTagsWrap:()=>ze}),ze={selector:"cds-tag",event:"click",getData:(t,e)=>e},Oe={selector:"cds-dismissible-tag",init:function(t){const e=i.getSemanticAttributes(t),s=t.getAttribute("click-event");s&&this.listen(t,"click",o=>{o.target.closest("button")||this.dispatchPanelEvent(s,{...e})});const n=e.event;n&&this.listen(t,"cds-dismissible-tag-closed",o=>{this.dispatchPanelEvent(n,{...e,action:"closed"})})}},Le={selector:"cds-filter-tag",event:"cds-filter-tag-closed",getData:(t,e)=>({...e,action:"remove"})},Re=m.__exportAll({cdsContainedListDescriptionWrap:()=>je,cdsContainedListItemWrap:()=>Ge,cdsContainedListWrap:()=>He,cdsOverflowMenuWrap:()=>Ue,cdsStructuredListWrap:()=>$e,cdsTreeViewWrap:()=>Ve}),Ue={selector:"cds-overflow-menu",init:function(t){const e=i.getSemanticAttributes(t),s=e.event,n=t.querySelector("cds-overflow-menu-body");s&&n&&this.listen(n,"cds-overflow-menu-item-clicked",o=>{o.stopPropagation();const a=i.getSemanticAttributes(o.target);this.dispatchPanelEvent(s,{...e,...a})})}},$e={selector:"cds-structured-list",init:function(t){const e=i.getSemanticAttributes(t);[...t.querySelectorAll("cds-structured-list-row")].forEach(s=>{const n=i.getSemanticAttributes(s),o=n.event||e.event;o&&this.listen(s,"click",a=>{a.stopPropagation(),this.dispatchPanelEvent(o,{...e,...n})})}),t.hasAttribute("selection")&&this.listen(t,"cds-structured-list-selected",s=>{const n=s.detail.row,o=i.getSemanticAttributes(n),a=e.event;a&&this.dispatchPanelEvent(a,{...e,...o})})}},He={selector:"cds-contained-list"},je={selector:"cds-contained-list-description"},Ge={selector:"cds-contained-list-item",event:"cds-contained-list-item-click",getData:(t,e)=>e},Ve={selector:"cds-tree-view",init:function(t){const e=i.getSemanticAttributes(t);this.listen(t,"cds-tree-node-selected",n=>{const o=n.detail.node,a=i.getSemanticAttributes(o),r=a.event||e.event;r&&this.dispatchPanelEvent(r,{...e,...a,nodeId:o.id,label:o.getAttribute("label")})});const s=i.getEventAttribute(t,"expand-event");s&&this.listen(t,"cds-tree-node-expanded",n=>{this.dispatchPanelEvent(s,{...e,nodeId:n.detail.node.id,expanded:n.detail.expanded})})}},Ze=m.__exportAll({cdsActionableNotificationWrap:()=>Qe,cdsInlineNotificationWrap:()=>Ke,cdsToastNotificationWrap:()=>Je}),Je={selector:"cds-toast-notification",event:"cds-notification-closed",getData:(t,e)=>({...e,action:"closed"})},Ke={selector:"cds-inline-notification",event:"cds-notification-closed",getData:(t,e)=>({...e,action:"closed"})},Qe={selector:"cds-actionable-notification",init:function(t){const e=i.getSemanticAttributes(t),s=i.getEventAttribute(t,"close-event","event");s&&this.listen(t,"cds-notification-closed",o=>{this.dispatchPanelEvent(s,{...e,action:"closed"})});const n=i.getEventAttribute(t,"action-event");n&&this.listen(t,"cds-notification-actioned",o=>{this.dispatchPanelEvent(n,{...e,action:"actioned"})})}},Xe=m.__exportAll({cdsClickableTileWrap:()=>ts,cdsExpandableTileWrap:()=>es,cdsRadioTileWrap:()=>ns,cdsSelectableTileWrap:()=>ss,cdsTileGroupWrap:()=>os,cdsTileWrap:()=>Ye}),Ye={selector:"cds-tile"},ts={selector:"cds-clickable-tile",init:function(t){const e=i.getSemanticAttributes(t),s=e.event;if(s){const n=e.href||t.getAttribute("href")||"";t.removeAttribute("href"),t.addEventListener("click",o=>{o.preventDefault(),o.stopPropagation(),this.dispatchPanelEvent(s,{...e,href:n})},!0)}}},es={selector:"cds-expandable-tile",init:function(t){const e=i.getSemanticAttributes(t),s=t.getAttribute("before-toggle-event");s&&this.listen(t,"cds-expandable-tile-beingtoggled",o=>{this.dispatchPanelEvent(s,{...e,expanded:o.detail.expanded,cancelable:!0})});const n=e.event;n&&this.listen(t,"cds-expandable-tile-toggled",o=>{this.dispatchPanelEvent(n,{...e,expanded:o.detail.expanded})})}},ss={selector:"cds-selectable-tile",event:"cds-selectable-tile-changed",getData:(t,e,s)=>({...e,selected:t.detail.selected,value:s.value})},ns={selector:"cds-radio-tile",event:"cds-radio-tile-selected",getData:(t,e,s)=>({...e,selected:t.detail.selected,name:t.detail.name,value:s.value})},os={selector:"cds-tile-group",init:function(t){const e=i.getSemanticAttributes(t),s=e.event;s&&(this.listen(t,"cds-current-radio-tile-selection",n=>{const o=n.detail.target;this.dispatchPanelEvent(s,{...e,value:o?.value,name:o?.name,selected:o?.selected})}),this.listen(t,"cds-current-selectable-tile-selections",n=>{const o=n.detail.currentSelections||[];this.dispatchPanelEvent(s,{...e,values:o.map(a=>a.value),names:o.map(a=>a.name),count:o.length})}))}},as=m.__exportAll({cdsInlineLoadingWrap:()=>cs,cdsProgressBarWrap:()=>rs,cdsProgressIndicatorWrap:()=>is}),rs={selector:"cds-progress-bar",init:function(t){const e=i.getSemanticAttributes(t);if(e.event){const s=new MutationObserver(()=>{const n=parseFloat(t.getAttribute("value")||"0");n>=parseFloat(t.getAttribute("max")||"100")&&this.dispatchPanelEvent(e.event,{...e,value:n,status:"complete"})});s.observe(t,{attributes:!0,attributeFilter:["value"]}),t._progressObserver=s}}},is={selector:"cds-progress-indicator",init:function(t){const e=i.getSemanticAttributes(t);this.listen(t,"cds-progress-step-click",s=>{const n=s.target,o=i.getSemanticAttributes(n),a=o.event||e.event;a&&this.dispatchPanelEvent(a,{...e,...o,stepIndex:n.getAttribute("data-index"),stepLabel:n.getAttribute("label")})})}},cs={selector:"cds-inline-loading",init:function(t){const e=i.getSemanticAttributes(t),s=e.event;s&&this.listen(t,"cds-inline-loading-onsuccess",o=>{this.dispatchPanelEvent(s,{...e,status:"finished"})});const n=t.getAttribute("status-event");if(n){const o=new MutationObserver(a=>{a.forEach(r=>{if(r.attributeName==="status"){const c=t.getAttribute("status");this.dispatchPanelEvent(n,{...e,status:c})}})});o.observe(t,{attributes:!0,attributeFilter:["status"]}),t._statusObserver=o}}},ls=m.__exportAll({cdsPopoverWrap:()=>ps,cdsToggletipWrap:()=>us,cdsTooltipWrap:()=>ds}),ds={selector:"cds-tooltip",init:function(t){const e=i.getSemanticAttributes(t),s=i.getEventAttribute(t,"open-event");s&&this.listen(t,"cds-tooltip-beingopened",o=>{this.dispatchPanelEvent(s,{...e,action:"opened"})});const n=i.getEventAttribute(t,"close-event");n&&this.listen(t,"cds-tooltip-closed",o=>{this.dispatchPanelEvent(n,{...e,action:"closed"})})}},ps={selector:"cds-popover",init:function(t){const e=i.getSemanticAttributes(t),s=i.getEventAttribute(t,"open-event");s&&this.listen(t,"cds-popover-beingopened",o=>{this.dispatchPanelEvent(s,{...e,action:"opened"})});const n=i.getEventAttribute(t,"close-event");n&&this.listen(t,"cds-popover-closed",o=>{this.dispatchPanelEvent(n,{...e,action:"closed"})})}},us={selector:"cds-toggletip",init:function(t){const e=i.getSemanticAttributes(t);if(e.event){const s=new MutationObserver(n=>{n.forEach(o=>{if(o.attributeName==="open"){const a=t.hasAttribute("open");this.dispatchPanelEvent(e.event,{...e,action:a?"opened":"closed",open:a})}})});s.observe(t,{attributes:!0,attributeFilter:["open"]}),t._toggletipObserver=s}}},vs=m.__exportAll({cdsCodeSnipWrap:()=>gs,cdsLinkWrap:()=>ms}),ms={selector:"cds-link",event:"click",getData:(t,e,s)=>({...e,href:s.getAttribute("href")})},gs={selector:"cds-code-snippet",event:"cds-copy-button-clicked",getData:(t,e)=>({...e,action:"copied"})},fs=m.__exportAll({cdsBadgeIndicatorWrap:()=>Ps,cdsFormGroupWrap:()=>Es,cdsFormItemWrap:()=>bs,cdsFormWrap:()=>hs,cdsHeadingWrap:()=>Ss,cdsIconIndicatorWrap:()=>ys,cdsIconWrap:()=>Is,cdsLoadingWrap:()=>_s,cdsSectionWrap:()=>Ws,cdsSkeletonPlaceholderWrap:()=>Cs,cdsSkeletonTextWrap:()=>ks,cdsStackWrap:()=>As}),hs={selector:"cds-form"},bs={selector:"cds-form-item"},Es={selector:"cds-form-group"},As={selector:"cds-stack"},Ss={selector:"cds-heading"},Ws={selector:"cds-section"},Is={selector:"cds-icon"},ys={selector:"cds-icon-indicator"},Ps={selector:"cds-badge-indicator"},_s={selector:"cds-loading"},ks={selector:"cds-skeleton-text"},Cs={selector:"cds-skeleton-placeholder"};function f(t){return Object.values(t).filter(e=>typeof e=="object"&&e!==null&&e.selector)}var ws=[...f(Ft),...f(Dt),...f(zt),...f(Zt),...f(Qt),...f(oe),...f(ce),...f(pe),...f(he),...f(Se),...f(Pe),...f(De),...f(qe),...f(Re),...f(Ze),...f(Xe),...f(as),...f(ls),...f(vs),...f(fs)];function xs(){const t=new Map;return ws.forEach(e=>{t.set(e.selector,e)}),t}var Ds=()=>import("@carbon/web-components/es/components/accordion/index.js"),R=()=>import("@carbon/web-components/es/components/breadcrumb/index.js"),Bs=()=>import("@carbon/web-components/es/components/stack/index.js"),Ns=()=>import("@carbon/web-components/es/components/structured-list/index.js"),U=()=>import("@carbon/web-components/es/components/contained-list/index.js"),D=()=>import("@carbon/web-components/es/components/tile/index.js"),Ts=()=>import("@carbon/web-components/es/components/tree-view/index.js"),Ms=()=>import("@carbon/web-components/es/components/link/index.js"),Fs=()=>import("@carbon/web-components/es/components/tabs/index.js"),qs=()=>import("@carbon/web-components/es/components/content-switcher/index.js"),Y=()=>import("@carbon/web-components/es/components/menu/index.js"),zs=()=>import("@carbon/web-components/es/components/overflow-menu/index.js"),$=()=>import("@carbon/web-components/es/components/button/index.js"),tt=()=>import("@carbon/web-components/es/components/icon-button/index.js"),Os=()=>import("@carbon/web-components/es/components/combo-button/index.js"),Ls=()=>import("@carbon/web-components/es/components/copy-button/index.js"),Rs=()=>import("@carbon/web-components/es/components/checkbox/index.js"),Us=()=>import("@carbon/web-components/es/components/radio-button/index.js"),$s=()=>import("@carbon/web-components/es/components/toggle/index.js"),H=()=>import("@carbon/web-components/es/components/select/index.js"),Hs=()=>import("@carbon/web-components/es/components/slider/index.js"),j=()=>import("@carbon/web-components/es/components/text-input/index.js"),js=()=>import("@carbon/web-components/es/components/textarea/index.js"),Gs=()=>import("@carbon/web-components/es/components/number-input/index.js"),Vs=()=>import("@carbon/web-components/es/components/password-input/index.js"),et=()=>import("@carbon/web-components/es/components/search/index.js"),Zs=()=>import("@carbon/web-components/es/components/combo-box/index.js"),Js=()=>import("@carbon/web-components/es/components/dropdown/index.js"),Ks=()=>import("@carbon/web-components/es/components/multi-select/index.js"),Qs=()=>import("@carbon/web-components/es/components/date-picker/index.js"),Xs=()=>import("@carbon/web-components/es/components/time-picker/index.js"),M=()=>import("@carbon/web-components/es/components/file-uploader/index.js"),st=()=>import("@carbon/web-components/es/components/form/index.js"),Ys=()=>import("@carbon/web-components/es/components/form-group/index.js"),tn=()=>import("@carbon/web-components/es/components/data-table/index.js"),nt=()=>import("@carbon/web-components/es/components/pagination/index.js"),en=()=>import("@carbon/web-components/es/components/code-snippet/index.js"),G=()=>import("@carbon/web-components/es/components/tag/index.js"),sn=()=>import("@carbon/web-components/es/components/badge-indicator/index.js"),V=()=>import("@carbon/web-components/es/components/notification/index.js"),nn=()=>import("@carbon/web-components/es/components/loading/index.js"),on=()=>import("@carbon/web-components/es/components/inline-loading/index.js"),an=()=>import("@carbon/web-components/es/components/progress-bar/index.js"),rn=()=>import("@carbon/web-components/es/components/progress-indicator/index.js"),cn=()=>import("@carbon/web-components/es/components/skeleton-placeholder/index.js"),ln=()=>import("@carbon/web-components/es/components/skeleton-text/index.js"),y=()=>import("@carbon/web-components/es/components/modal/index.js"),P=()=>import("@carbon/web-components/es/components/tooltip/index.js"),dn=()=>import("@carbon/web-components/es/components/popover/index.js"),pn=()=>import("@carbon/web-components/es/components/toggle-tip/index.js"),ot=()=>import("@carbon/web-components/es/components/heading/index.js"),un=()=>import("@carbon/web-components/es/components/icon/index.js"),vn=()=>import("@carbon/web-components/es/components/icon-indicator/index.js"),q={"cds-table":[P,$,j,et,H,nt,tn],"cds-pagination":[H,j,nt],"cds-button":[P,$],"cds-icon-button:not([data-toggle])":[P,tt],"cds-icon-button[data-toggle]":[P,tt],"cds-button[data-fab]":[P,$],"cds-copy-button":[P,Ls],"cds-combo-button":[P,Os],"cds-checkbox":[Rs],"cds-radio-button-group":[Us],"cds-toggle":[$s],"cds-select":[H],"cds-slider":[Hs],"cds-text-input":[j],"cds-textarea":[js],"cds-number-input":[Gs],"cds-password-input":[P,Vs],"cds-search":[et],"cds-dropdown":[Js],"cds-combo-box":[Zs],"cds-multi-select":[Ks],"cds-date-picker":[Qs],"cds-time-picker":[Xs],"cds-file-uploader":[M],"cds-file-uploader-button":[M],"cds-file-uploader-drop-container":[M],"cds-file-uploader-item":[M],"cds-tabs":[Fs],"cds-accordion":[Ds],"cds-content-switcher":[qs],"cds-breadcrumb":[R],"cds-breadcrumb-item":[R],"cds-breadcrumb-link":[R],"cds-menu":[Y],"cds-menu-button":[Y],"cds-overflow-menu":[zs],"cds-structured-list":[Ns],"cds-contained-list":[U],"cds-contained-list-item":[U],"cds-contained-list-description":[U],"cds-tree-view":[Ts],"cds-modal":[y],"cds-modal-header":[y],"cds-modal-heading":[y],"cds-modal-label":[y],"cds-modal-close-button":[y],"cds-modal-body":[y],"cds-modal-body-content":[y],"cds-modal-footer":[y],"cds-modal-footer-button":[y],"cds-toast-notification":[V],"cds-inline-notification":[V],"cds-actionable-notification":[V],"cds-tile":[D],"cds-tile-group":[D],"cds-clickable-tile":[D],"cds-expandable-tile":[D],"cds-selectable-tile":[D],"cds-radio-tile":[D],"cds-progress-bar":[an],"cds-progress-indicator":[rn],"cds-inline-loading":[on],"cds-tooltip":[P],"cds-popover":[dn],"cds-toggletip":[pn],"cds-tag":[G],"cds-dismissible-tag":[G],"cds-filter-tag":[G],"cds-link":[Ms],"cds-code-snippet":[en],"cds-form":[st],"cds-form-item":[st],"cds-form-group":[Ys],"cds-stack":[Bs],"cds-heading":[ot],"cds-section":[ot],"cds-icon":[un],"cds-icon-indicator":[vn],"cds-badge-indicator":[sn],"cds-loading":[nn],"cds-skeleton-text":[ln],"cds-skeleton-placeholder":[cn]};function mn(t){const e=new Map;if(!t||!(t instanceof Element))return e;for(const n of Object.keys(F))e.set(n,[]);for(const[n]of Object.entries(F))t.matches(n)&&e.get(n).push(t);const s=t.querySelectorAll("*");for(const n of s)for(const[o]of Object.entries(F))n.matches(o)&&e.get(o).push(n);for(const[n,o]of e.entries())o.length===0&&e.delete(n);return e}function gn(t){const e=new Set;for(const[s,n]of t.entries())n.length>0&&q[s]&&q[s].forEach(o=>e.add(o));return e}async function fn(t,e){if(t.size===0)return;const s=Array.from(t).map(async n=>(e.has(n)||e.set(n,n()),e.get(n)));await Promise.all(s)}function hn(t,e){let s=0;for(const[n,o]of t.entries()){const a=F[n];o.forEach(r=>{if(a.init){a.init.call(e,r);return}if(a.multiEvent){const S=i.getSemanticAttributes(r);a.events.forEach(W=>{const w=i.getEventAttribute(r,W.attrName,"event");w&&e.listen(r,W.type,z=>{e.dispatchPanelEvent(w,W.getData(z,S,r))})});return}const c=i.getSemanticAttributes(r),p=c.event;p&&e.listen(r,a.event,S=>{S.stopPropagation();const W=a.getData(S,c,r),w=W._eventOverride||p;delete W._eventOverride,e.dispatchPanelEvent(w,W)})}),s+=o.length}return s}var F=Object.fromEntries(xs()),bn=async function(t,e){const s=mn(t);if(s.size===0){this.debugMe("[Carbon] No Carbon components found in panel");return}this.carbonComponents||(this.carbonComponents=new Map);for(const[a,r]of s.entries())this.carbonComponents.set(a,r);const n=gn(s);if(n.size>0)try{await fn(n,e)}catch(a){console.error("[Carbon] Failed to load some component modules:",a)}const o=hn(s,this);o>0&&this.debugMe(`[Carbon] Total components initialized: ${o}`)},En=(t={})=>{const{preload:e=[]}=t,s=new Map;if(e.length>0){const n=e.filter(a=>q[a]?!0:(console.warn(`[Carbon] No import found for selector: ${a}`),!1)),o=n.flatMap(a=>q[a].map(r=>(s.has(r)||s.set(r,r()),s.get(r))));Promise.all(o).then(()=>console.debug(`[Carbon] Preloaded: ${n.join(", ")}`)).catch(a=>console.warn("[Carbon] Preload error:",a))}m.ComponentLibraryRegistry.register("carbon",{cache:s,render:async function(n,o){try{await bn.call(this,n,o)}catch(a){console.error("[Carbon] Initialization error:",a)}},dispose:function(n){},config:{version:"2.0",description:"IBM Carbon Design System Web Components"}}),console.debug("[Zooy] Carbon Design System library registered")};exports.registerCarbonLibrary=En;
@@ -1,5 +1,5 @@
1
1
  import { n as f, t as St } from "./component-library-registry-DB5UeqC2.js";
2
- import { i as Pt, n as W, r as i } from "./zoo-BmMuETpN.js";
2
+ import { i as Pt, n as W, r as i } from "./zoo-BdjsxcBG.js";
3
3
  import { isDefAndNotNull as yt, objToPaths as kt } from "badu";
4
4
  import * as M from "ramda";
5
5
  import { TABLE_SORT_DIRECTION as Ct } from "@carbon/web-components/lib/components/data-table/defs.js";
@@ -4,7 +4,7 @@ import { assocPath as x, both as $, has as v, path as g } from "ramda";
4
4
  import { LitElement as y, css as z, html as c } from "lit";
5
5
  var E = {
6
6
  date_parse: (t) => Date.parse(t),
7
- filesize: (t) => w(5)(_(t)),
7
+ filesize: (t) => w(4)(_(t)),
8
8
  json: (t) => JSON.stringify(t, null, 2),
9
9
  tpl: (t, i, e) => {
10
10
  const r = e?.getAttribute("zoo-bind-attr-tpl") || e?.getAttribute("zoo-bind-tpl");
@@ -1,4 +1,4 @@
1
- const v=require("./component-library-registry-BBQV6Kpv.js");let d=require("badu"),c=require("ramda"),l=require("lit");var k={date_parse:t=>Date.parse(t),filesize:t=>(0,d.formatBytes)(5)((0,d.toInt)(t)),json:t=>JSON.stringify(t,null,2),tpl:(t,r,e)=>{const i=e?.getAttribute("zoo-bind-attr-tpl")||e?.getAttribute("zoo-bind-tpl");if(!i)return t;try{return new Function("value","data",`return \`${i}\`;`)(t,r)}catch(n){return console.warn("[Binder] Invalid template:",i,n),t}}},A=class{#s;#t;#r;#e=null;#i;constructor(t,r,e,i={}){if(!r)throw new Error("Binder requires a URL");if(!e||!(e instanceof Element))throw new Error("Binder requires a valid rootEl Element");this.#s=t,this.#t=new URL(r,window.location.origin),this.#r=e,this.#i={...k,...i.formatters},i.urlParams?this.#a(i.urlParams):this.#n()}get url(){return this.#t}get data(){return this.#e}get limit(){return parseInt(this.#t.searchParams.get("limit")||"0",10)}get offset(){return parseInt(this.#t.searchParams.get("offset")||"0",10)}get isPaginated(){return(0,c.both)((0,c.has)("count"),(0,c.has)("results"))(this.#e)}#a(t){return Object.entries(t).forEach(([r,e])=>{if(!(0,d.isDefAndNotNull)(e)||e===""||Array.isArray(e)&&e.length<1){this.#t.searchParams.delete(r);return}if(Array.isArray(e)){this.#t.searchParams.set(r,e.join(","));return}this.#t.searchParams.set(r,e)}),this.#n(),this.#t}#n(){const t=this.#t.href.split(this.url.origin)[1].slice(1);this.#r.querySelectorAll("[zoo-bind-binderurl]").forEach(r=>{r.setAttribute("zoo-bind-binderurl",t)})}async fetchData(t={}){const r=await this.#s.user.fetchJson(this.#a(t).toString(),this.#s.abortController.signal);this.setData(r)}setData(t){this.#e=t,this.render()}render(){if(!(0,d.isDefAndNotNull)(this.#e)){console.warn("[Binder] No data to render");return}this.#n(),this.#o(this.#r,this.#e,0),this.#c()}#o(t,r,e=0,i={}){const n=i.removeAttributes??!1;t.querySelectorAll("[zoo-bind-attr]").forEach(s=>{s.closest("[zoo-template]")||(s.getAttribute("zoo-bind-attr").split(",").forEach(a=>{const[o,u]=a.split(":").map(p=>p.trim()),[m,f]=u.split("|").map(p=>p.trim());let h=this.#l(r,m,e);f&&this.#i[f]&&(h=this.#i[f](h,r,s)),(0,d.isDefAndNotNull)(h)&&s.setAttribute(o,h)}),n&&(s.removeAttribute("zoo-bind-attr"),s.removeAttribute("zoo-bind-attr-tpl")))}),t.querySelectorAll("[zoo-bind]").forEach(s=>{if(s.closest("[zoo-template]"))return;const[a,o]=s.getAttribute("zoo-bind").split("|").map(m=>m.trim());let u=this.#l(r,a,e);o&&this.#i[o]&&(u=this.#i[o](u,r,s)),s.textContent=u??"",n&&(s.removeAttribute("zoo-bind"),s.removeAttribute("zoo-bind-tpl"))})}#c(){this.#r.querySelectorAll("[zoo-template]").forEach(t=>{const r=t.getAttribute("zoo-template"),e=t.getAttribute("zoo-template-bind");if(!r){console.warn("[Binder] Consumer missing template ID",t);return}const i=this.#r.querySelector(`#${r}`);if(!i||i.tagName!=="TEMPLATE"){console.error(`[DataBinder] Template not found or invalid: ${r}`);return}const n=e?(0,c.path)(e.split("."),this.#e):this.#e;if(!n){console.warn(`[DataBinder] Data slice is undefined. Path: ${e}. Skipping render for this consumer.`);return}if(!Array.isArray(n)){console.error(`[DataBinder] Data slice is not an array. Path: ${e}`,n);return}if(t.innerHTML="",n.forEach((s,a)=>{const o=this.#u(i,s,a);t.appendChild(o)}),v.ComponentLibraryRegistry.has("carbon")){const s=v.ComponentLibraryRegistry.get("carbon");s.render.call(this.#s,t,s.cache).catch(a=>console.error("[Binder] Carbon init failed:",a))}})}#u(t,r,e){const i=t.content.cloneNode(!0);return this.#o(i,r,e,{removeAttributes:!0}),i}#l(t,r,e){const i={$index:()=>e,$index__paged:()=>this.offset+e,$index1:()=>e+1,$index1__paged:()=>this.offset+e+1};return i[r]?i[r]():(0,c.path)(r.split("."),t)}},g=new Map(Object.entries({event:"event",endpoint:"endpoint",href:"href",url:"url",target:"target","record-id":"recordId","zoo-sort-field":"sortField","zoo-view":"view","zoo-event":"event","zoo-href":"href"})),b=t=>{let r={};return Array.from(t.attributes).forEach(e=>{const i=e.name,n=e.value;g.has(i)?r[g.get(i)]=n:(i.startsWith("data-")||i.startsWith("zoo-"))&&(r=(0,c.assocPath)(i.split("-"),n,r))}),r},y=(t,r,e="event")=>t.getAttribute(r)||t.getAttribute(e),z=class extends l.LitElement{static properties={token:{type:String},prefix:{type:String},postfix:{type:String}};static styles=l.css`
1
+ const v=require("./component-library-registry-BBQV6Kpv.js");let d=require("badu"),c=require("ramda"),l=require("lit");var k={date_parse:t=>Date.parse(t),filesize:t=>(0,d.formatBytes)(4)((0,d.toInt)(t)),json:t=>JSON.stringify(t,null,2),tpl:(t,r,e)=>{const i=e?.getAttribute("zoo-bind-attr-tpl")||e?.getAttribute("zoo-bind-tpl");if(!i)return t;try{return new Function("value","data",`return \`${i}\`;`)(t,r)}catch(n){return console.warn("[Binder] Invalid template:",i,n),t}}},A=class{#s;#t;#r;#e=null;#i;constructor(t,r,e,i={}){if(!r)throw new Error("Binder requires a URL");if(!e||!(e instanceof Element))throw new Error("Binder requires a valid rootEl Element");this.#s=t,this.#t=new URL(r,window.location.origin),this.#r=e,this.#i={...k,...i.formatters},i.urlParams?this.#a(i.urlParams):this.#n()}get url(){return this.#t}get data(){return this.#e}get limit(){return parseInt(this.#t.searchParams.get("limit")||"0",10)}get offset(){return parseInt(this.#t.searchParams.get("offset")||"0",10)}get isPaginated(){return(0,c.both)((0,c.has)("count"),(0,c.has)("results"))(this.#e)}#a(t){return Object.entries(t).forEach(([r,e])=>{if(!(0,d.isDefAndNotNull)(e)||e===""||Array.isArray(e)&&e.length<1){this.#t.searchParams.delete(r);return}if(Array.isArray(e)){this.#t.searchParams.set(r,e.join(","));return}this.#t.searchParams.set(r,e)}),this.#n(),this.#t}#n(){const t=this.#t.href.split(this.url.origin)[1].slice(1);this.#r.querySelectorAll("[zoo-bind-binderurl]").forEach(r=>{r.setAttribute("zoo-bind-binderurl",t)})}async fetchData(t={}){const r=await this.#s.user.fetchJson(this.#a(t).toString(),this.#s.abortController.signal);this.setData(r)}setData(t){this.#e=t,this.render()}render(){if(!(0,d.isDefAndNotNull)(this.#e)){console.warn("[Binder] No data to render");return}this.#n(),this.#o(this.#r,this.#e,0),this.#c()}#o(t,r,e=0,i={}){const n=i.removeAttributes??!1;t.querySelectorAll("[zoo-bind-attr]").forEach(s=>{s.closest("[zoo-template]")||(s.getAttribute("zoo-bind-attr").split(",").forEach(a=>{const[o,u]=a.split(":").map(p=>p.trim()),[m,f]=u.split("|").map(p=>p.trim());let h=this.#l(r,m,e);f&&this.#i[f]&&(h=this.#i[f](h,r,s)),(0,d.isDefAndNotNull)(h)&&s.setAttribute(o,h)}),n&&(s.removeAttribute("zoo-bind-attr"),s.removeAttribute("zoo-bind-attr-tpl")))}),t.querySelectorAll("[zoo-bind]").forEach(s=>{if(s.closest("[zoo-template]"))return;const[a,o]=s.getAttribute("zoo-bind").split("|").map(m=>m.trim());let u=this.#l(r,a,e);o&&this.#i[o]&&(u=this.#i[o](u,r,s)),s.textContent=u??"",n&&(s.removeAttribute("zoo-bind"),s.removeAttribute("zoo-bind-tpl"))})}#c(){this.#r.querySelectorAll("[zoo-template]").forEach(t=>{const r=t.getAttribute("zoo-template"),e=t.getAttribute("zoo-template-bind");if(!r){console.warn("[Binder] Consumer missing template ID",t);return}const i=this.#r.querySelector(`#${r}`);if(!i||i.tagName!=="TEMPLATE"){console.error(`[DataBinder] Template not found or invalid: ${r}`);return}const n=e?(0,c.path)(e.split("."),this.#e):this.#e;if(!n){console.warn(`[DataBinder] Data slice is undefined. Path: ${e}. Skipping render for this consumer.`);return}if(!Array.isArray(n)){console.error(`[DataBinder] Data slice is not an array. Path: ${e}`,n);return}if(t.innerHTML="",n.forEach((s,a)=>{const o=this.#u(i,s,a);t.appendChild(o)}),v.ComponentLibraryRegistry.has("carbon")){const s=v.ComponentLibraryRegistry.get("carbon");s.render.call(this.#s,t,s.cache).catch(a=>console.error("[Binder] Carbon init failed:",a))}})}#u(t,r,e){const i=t.content.cloneNode(!0);return this.#o(i,r,e,{removeAttributes:!0}),i}#l(t,r,e){const i={$index:()=>e,$index__paged:()=>this.offset+e,$index1:()=>e+1,$index1__paged:()=>this.offset+e+1};return i[r]?i[r]():(0,c.path)(r.split("."),t)}},g=new Map(Object.entries({event:"event",endpoint:"endpoint",href:"href",url:"url",target:"target","record-id":"recordId","zoo-sort-field":"sortField","zoo-view":"view","zoo-event":"event","zoo-href":"href"})),b=t=>{let r={};return Array.from(t.attributes).forEach(e=>{const i=e.name,n=e.value;g.has(i)?r[g.get(i)]=n:(i.startsWith("data-")||i.startsWith("zoo-"))&&(r=(0,c.assocPath)(i.split("-"),n,r))}),r},y=(t,r,e="event")=>t.getAttribute(r)||t.getAttribute(e),z=class extends l.LitElement{static properties={token:{type:String},prefix:{type:String},postfix:{type:String}};static styles=l.css`
2
2
  :host {
3
3
  display: inline-block;
4
4
  }
package/dist/zooy.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const b=require("./chunks/component-library-registry-BBQV6Kpv.js"),p=require("./chunks/tree-utils-B_lCUFMV.js"),P=require("./chunks/zoo-26MN2vmT.js");let l=require("badu"),De=require("ramda");var L=class extends EventTarget{#e=!1;#t=!1;#s=new Map;#r=new Set;#i=new Set;static makeEvent(e,t){return new CustomEvent(e,{detail:t})}set debugMode(e){if(typeof e!="boolean")throw new Error("This must be a boolean");this.#e=e}get debugMode(){return this.#e}get disposed(){return this.#t}get listeningTo(){return this.#s}get isObservedBy(){return this.#r}get activeIntervals(){return this.#i}debugMe(...e){this.#e&&console.log.apply(null,[this.constructor.name,"DEBUG:",...e])}isListenedToBy(e){this.#r.add(e)}listen(e,t,s,r=!1){e.addEventListener(t,s,r);const n=this.listeningTo.get(e)||{};n[t]=()=>e.removeEventListener(t,s,r),this.listeningTo.set(e,n),(0,l.isDef)(e.isListenedToBy)&&e.isListenedToBy(this)}stopBeingListenedTo(){for(const e of this.isObservedBy)e.stopListeningTo(this),this.isObservedBy.delete(e)}stopListeningTo(e,t){e&&this.listeningTo.has(e)&&((0,l.isDef)(e.isObservedBy)&&e.isObservedBy.delete(this),(0,l.isDef)(t)?(Object.entries(this.listeningTo.get(e)).forEach(([s,r])=>{s===t&&r()}),Object.keys(this.listeningTo.get(e)).length||this.listeningTo.delete(e)):(Object.values(this.listeningTo.get(e)).forEach(s=>s()),this.listeningTo.delete(e)))}removeAllListener(){for(const e of this.listeningTo.keys())this.stopListeningTo(e)}clearAllIntervals(){for(const e of this.activeIntervals)clearInterval(e),this.activeIntervals.delete(e)}doOnBeat(e,t){const s=setInterval(e,t);this.activeIntervals.add(s)}disposeInternal(){this.stopBeingListenedTo(),this.removeAllListener(),this.clearAllIntervals(),this.#t=!0}dispose(){this.disposeInternal()}},k=class{constructor(e,t){this.value_=e,this.data_=t||{}}getValue(){return this.value_}getData(){return this.data_}},u={COMP:(0,l.randomId)(),COMP_DRAG_START:(0,l.randomId)(),COMP_DRAG_MOVE:(0,l.randomId)(),COMP_DRAG_END:(0,l.randomId)(),PANEL:(0,l.randomId)(),VIEW:(0,l.randomId)(),SPLIT:(0,l.randomId)(),SPLIT_WILL_OPEN:(0,l.randomId)(),SPLIT_DID_OPEN:(0,l.randomId)(),SPLIT_WILL_CLOSE:(0,l.randomId)(),SPLIT_DID_CLOSE:(0,l.randomId)(),SPLIT_TRANSITION_END:(0,l.randomId)(),READY:(0,l.randomId)(),PANEL_MINIMIZE:(0,l.randomId)(),FORM_SUBMIT_SUCCESS:(0,l.randomId)()},N={NOT_SUPPORTED:"Method not supported",DECORATE_INVALID:"Invalid element to decorate",ALREADY_RENDERED:"Component already rendered",ALREADY_DISPOSED:"Component already disposed",PARENT_UNABLE_TO_BE_SET:"Unable to set parent component",CHILD_INDEX_OUT_OF_BOUNDS:"Child component index out of bounds",NOT_OUR_CHILD:"Child is not in parent component",NOT_IN_DOCUMENT:"Operation not supported while component is not in document",STATE_INVALID:"Invalid component state"},w=class extends L{static compEventCode(){return u.COMP}static compReadyCode(){return u.READY}static compErrors(){return N}#e;#t;#s;#r;#i;#n;#o;#a;constructor(){super(),this.#e=()=>document.createElement("div"),this.#t=!1,this.#s=void 0,this.#r=void 0,this.#i=void 0,this.#n=void 0,this.#o=new Map,this.outOfTreeElements=[],this.placeholderDom=void 0,this.#a=()=>{}}set target(e){this.#i=e}get target(){return this.#i}set model(e){this.#r=e}get model(){return this.#r}set isInDocument(e){this.#t=e}get isInDocument(){return this.#t}set domFunc(e){this.#e=e}set readyFunc(e){this.#a=e}setElementInternal_(e){this.#s=e}getElement(){return this.#s}createDom(){this.#s=this.#e()}assertCanRenderAsync(){if(this.disposed)throw new Error(N.ALREADY_DISPOSED)}render(e){this.render_(e)}render_(e){if(this.disposed)throw new Error(N.ALREADY_DISPOSED);if(this.isInDocument)throw new Error(N.ALREADY_RENDERED);this.#s||this.createDom();const t=this.#s;e&&(this.#i=e),this.placeholderDom&&p.removeNode(this.placeholderDom),this.#i?p.isInPage(t)||this.#i.insertBefore(t,null):p.isInPage(t)||document.body.appendChild(t),(!this.#n||this.#n.isInDocument)&&this.enterDocument()}hoist(e,t=void 0){t||(t=document.querySelector("body")),t.appendChild(e),this.outOfTreeElements.push(e)}executeBeforeReady(){this.#a()}enterDocument(){this.disposed?p.removeNode(this.getElement()):(this.isInDocument=!0,[...this.#o.values()].forEach(e=>{!e.isInDocument&&e.getElement()&&e.enterDocument()}),this.executeBeforeReady(),this.dispatchCompEvent(u.READY))}exitDocument(){[...this.#o.values()].forEach(e=>{e.isInDocument&&e.exitDocument()}),this.stopBeingListenedTo(),this.removeAllListener(),this.isInDocument=!1,p.removeNode(this.getElement()),this.placeholderDom&&p.removeNode(this.placeholderDom)}disposeInternal(){this.isInDocument&&this.exitDocument(),this.#o&&[...this.#o.values()].forEach(e=>e.disposeInternal()),this.outOfTreeElements.forEach(p.removeNode),this.#s&&p.removeNode(this.#s),this.placeholderDom&&p.removeNode(this.placeholderDom),this.#o=null,this.#s=void 0,this.#r=null,this.#n=null,super.disposeInternal()}dispose(){this.abortController&&this.abortController.abort();const e=this.getElement();if(e)for(const t of b.ComponentLibraryRegistry.getRegisteredLibraries())try{const s=b.ComponentLibraryRegistry.get(t);s.dispose&&s.dispose(e)}catch(s){console.debug(`[${t}] Cleanup error during component disposal (non-critical):`,s)}super.dispose()}dispatchCompEvent(e,t){const s=new k(e,t),r=L.makeEvent(u.COMP,s);return this.dispatchEvent(r)}},h={CLICK:"click",RIGHTCLICK:"rightclick",DBLCLICK:"dblclick",MOUSEDOWN:"mousedown",MOUSEUP:"mouseup",MOUSEOVER:"mouseover",MOUSEOUT:"mouseout",MOUSEMOVE:"mousemove",MOUSEENTER:"mouseenter",MOUSELEAVE:"mouseleave",TOUCHSTART:"touchstart",TOUCHMOVE:"touchmove",TOUCHEND:"touchend",TOUCHCANCEL:"touchcancel",SUBMIT:"submit",CHANGE:"change",INPUT:"input",INVALID:"invalid",DRAGSTART:"dragstart",DRAGEND:"dragend",DRAGOVER:"dragover",DRAGENTER:"dragenter",DRAGEXIT:"dragexit",DRAGLEAVE:"dragleave",DROP:"drop",TRANSITIONEND:"transitionend",ANIMATIONEND:"animationend"},Ce=[h.TOUCHMOVE,h.TOUCHSTART,h.TOUCHEND],be=e=>Ce.includes(e.type),B=e=>(be(e)&&(e.clientX=e.targetTouches[0].clientX,e.clientY=e.targetTouches[0].clientY),e),Me=(e,t,s,r)=>n=>{n.preventDefault();const o=B(n),d=o.currentTarget,[g,_]=p.getPos(d),E=o.clientX-g,D=o.clientY-_,i=e(g,_,E,D,d),a=s(g,_,E,D,d),c=t(g,_,E,D,d);let m=Te(c,d,E,D);["x","ew"].includes(r)?m=ye(c,d,E,D):["y","ns"].includes(r)&&(m=Le(c,d,E,D));let f=!1;const v=M=>{f=!0,m(M)},S=M=>{document.removeEventListener(h.MOUSEMOVE,v,!0),document.removeEventListener(h.TOUCHMOVE,v,!0),document.removeEventListener(h.MOUSEUP,S,!0),document.removeEventListener(h.TOUCHEND,S,!0),f&&a(M)};return document.addEventListener(h.MOUSEUP,S,!0),document.addEventListener(h.TOUCHEND,S,!0),document.addEventListener(h.MOUSEMOVE,v,!0),document.addEventListener(h.TOUCHMOVE,v,!0),i(n),S},Te=(e,t,s,r)=>n=>{n.preventDefault();const o=B(n);t.style.left=`${o.clientX-s}px`,t.style.top=`${o.clientY-r}px`,e(o)},ye=(e,t,s,r)=>n=>{n.preventDefault();const o=B(n);t.style.left=`${o.clientX-s}px`,e(o)},Le=(e,t,s,r)=>n=>{n.preventDefault();const o=B(n);t.style.top=`${o.clientY-r}px`,e(o)},F=(e,t)=>(s,r,n,o,d)=>g=>{e.dispatchCompEvent(t,{component:e,browserEvent:g,left:s,top:r,clientX:g.clientX,clientY:g.clientY,xOrg:n,yOrg:o,deltaX:g.clientX-n-s,deltaY:g.clientY-o-r,target:d})},z=class extends w{#e;#t;#s;#r;constructor(e="xy"){super(),this.#e=["x","y","xy","ew","ns"].includes(e.toLowerCase())?e.toLowerCase():"xy",this.#t=void 0,this.#s=!0,this.#r=t=>null}cancelDrag(e){this.#r(e)}set moveFreedom(e){this.#e=e,this.#s||(this.lock(),this.unlock())}get moveFreedom(){return this.#e}executeBeforeReady(){this.unlock(),super.executeBeforeReady()}unlock(){const e=t=>s=>{this.#r=t(s)};if(this.isInDocument&&this.#s){const t=F(this,u.COMP_DRAG_MOVE),s=Me(F(this,u.COMP_DRAG_START),t,F(this,u.COMP_DRAG_END),this.#e);this.#s=!1,this.#t=this.#t||this.getElement(),this.listen(this.#t,h.MOUSEDOWN,e(s)),this.listen(this.#t,h.TOUCHSTART,s),this.#t.classList.remove("locked")}}lock(){this.stopListeningTo(this.#t,h.MOUSEDOWN),this.stopListeningTo(this.#t,h.TOUCHSTART),this.#s=!0,this.#t.classList.add("locked")}},se=b.__exportAll({getPath:()=>j,getQueryData:()=>oe,objectToUrlParms:()=>ae,queryDataToMap:()=>le}),we=new RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$"),re={SCHEME:1,USER_INFO:2,DOMAIN:3,PORT:4,PATH:5,QUERY_DATA:6,FRAGMENT:7},ie=e=>e.match(we),ne=(e,t)=>e?t?decodeURI(e.replace(/%25/g,"%2525")):decodeURIComponent(e):"",j=e=>ne(ie(e)[re.PATH],!0),oe=e=>ne(ie(e)[re.QUERY_DATA],!0),ae=e=>Object.entries(e).map(t=>`${t[0]}=${t[1]}`).join("&"),Q=e=>e!=null&&e!=="",le=e=>e.split("&").reduce((t,s)=>{const[r,n]=s.split("=");return Q(r)&&Q(n)&&t.set(r,n),t},new Map),Ie=(0,l.stripLeadingChar)(" "),Oe=(0,l.stripLeadingChar)("/"),Re=e=>document.cookie.split(";").map(t=>t.split("=")).reduce((t,s)=>t.set(Ie(s[0]),s[1]),new Map).get(e),Pe=e=>{let t=0,s;const r=n=>{const o=n>0;return o?t+=1:t-=1,o?t===1:t===0};return n=>{s=s||document.getElementById(e),s&&r(n)&&s.classList.toggle("viz",t>0)}},ce=Pe("the_loader"),$=()=>Promise.resolve(ce(1)),U=e=>(ce(0),Promise.resolve(e)),I=e=>e.ok?Promise.resolve(e):Promise.reject(new Error(`${e.url} ${e.status} (${e.statusText})`)),Ae=e=>t=>{if(t.type==="opaqueredirect"||t.redirected){const s=Oe(j(t.url));e.setIsRedirected(!0,s),console.log("Redirect detected",s)}return I(t)},R=e=>e.json(),H=e=>e.text().then(t=>Promise.resolve(t),t=>Promise.reject(new Error(`Could not get text from response: ${t}`))),Ne=e=>e.headers.get("Content-Type")==="application/json"?R(e):H(e),V=(e,t,s="POST",r=void 0)=>{const n=new Headers;n.append("Content-type","application/json"),n.append("X-Requested-With","XMLHttpRequest"),e&&e!==""&&n.append("Authorization",`Bearer ${e}`);const o={cache:"no-cache",method:s,headers:n,credentials:"include",body:JSON.stringify(t)};return r&&(o.signal=r),o},he=(e,t,s=!1,r=void 0)=>{const n=new Headers;if(t&&t!==""&&n.append("Authorization",`Bearer ${t}`),n.append("X-Requested-With","XMLHttpRequest"),s){const d=Re("csrftoken");d&&s&&n.append("X-CSRFToken",d)}const o={cache:"no-cache",method:e,headers:n,redirect:"follow",credentials:"include"};return r&&(o.signal=r),o},Ve=(e,t,s=void 0)=>{const r=he("POST",e,!1,s);return r.body=new FormData(t.formEl),r},Z=(e,t=void 0)=>{const s=new Headers;s.append("Authorization",`Bearer ${e}`),s.append("X-Requested-With","XMLHttpRequest");const r={cache:"no-cache",headers:s,credentials:"include"};return t&&(r.signal=t),r},Ue=(e,t)=>{const s=new Request(e);return fetch(s,t).then(I).then(H)},y=(e,t=void 0)=>s=>(U("").then(l.identity),s.name==="AbortError"?console.info(e,"ABORTED!"):console.error(e,s),t),A=class{constructor(e){this.user_={},this.jwt="",e&&this.updateProfileFromJwt(e).then(()=>{})}updateProfileFromJwt(e,t=!1){return t&&this.jwt!==""?Promise.resolve("User Profile Already exists"):e.non_field_errors?Promise.reject(new Error(`JWT ${e.non_field_errors}`)):(this.updateToken(e.token),this.updateProfile(e.user),Promise.resolve("User Profile Updated"))}updateProfile(e){this.user_=e}updateToken(e){this.jwt=e}get id(){return this.user_.id}get name(){return this.user_.name}get surname(){return this.user_.surname}get salutation(){let e=this.name;const t=this.surname;return t&&(e=e+" "+t),e}formSubmit(e){const t=new Request(e.uri.toString()),s=e.processSubmitReply.bind(e),r=y("Form submit error");return $().then(()=>fetch(t,Ve(this.jwt,e,e.abortController.signal))).then(Ae(e)).then(U).then(Ne).then(s).catch(r)}putNoBody(e,t=void 0,s=!1){const r=y("putNobody error");return Ue(e,he("PUT",this.jwt,s,t)).catch(r)}fetch(e,t=void 0){const s=new Request(e.toString()),r=y(`UMan Text GET Fetch: ${e}`);return $().then(()=>fetch(s,Z(this.jwt,t))).then(I).then(U).then(H).catch(r)}fetchAndSplit(e,t=void 0){const s=y(`fetchAndSplit: ${e}`);return this.fetch(e,t).then(p.handleTemplateProm).catch(s)}async fetchJson(e,t=void 0,s=void 0){const r=new Request(e.toString()),n=y(`fetchJson: ${e}`,s),o=Z(this.jwt,t);await $();let d;try{d=await(await fetch(r,o)).json()}catch(g){return n(g)}return await U(),d}patchJson(e,t,s=void 0){const r=new Request(e.toString()),n=y(`patchJson: ${e}`),o=V(this.jwt,t,"PATCH",s);return fetch(r,o).then(I).then(R).catch(n)}postJson(e,t,s=void 0){const r=new Request(e.toString()),n=y(`postJson: ${e}`),o=V(this.jwt,t,"POST",s);return fetch(r,o).then(I).then(R).catch(n)}putJson(e,t,s=void 0){const r=new Request(e.toString()),n=y(`putJson: ${e}`),o=V(this.jwt,t,"PUT",s);return fetch(r,o).then(I).then(R).catch(n)}delJson(e,t,s=void 0){const r=new Request(e.toString()),n=y(`delJson: ${e}`),o=V(this.jwt,t,"DELETE",s);return fetch(r,o).then(I).then(R).catch(n)}},q=class extends w{static panelEventCode(){return u.PANEL}static compReadyCode(){return u.READY}constructor(e){super(),this.qParamMap_=new Map,this.uri_="",e&&this.parseUri(e),this.evalScripts=p.evalScripts(this),this.evalModules=p.evalModules(this),this.redirected=!1,this.responseObject={html:null,scripts:null},this.user_=void 0,"AbortController"in window?this.abortController=new AbortController:this.abortController={signal:void 0,abort:()=>{}},this.listMap=new Map}get uri(){const e=this.qParamMap_.size>0?"?"+ae(Object.fromEntries(this.qParamMap_)):"";return this.uri_+e}set user(e){this.user_=e}get user(){return this.user_||(this.user_=new A),this.user_}parseUri(e){this.uri_=j(e),this.qParamMap_=le(oe(e))}addToQParams(e,t){this.qParamMap_.set(e,t)}removeFromQParams(e){this.qParamMap_.delete(e)}clearQParams(){this.qParamMap_.clear()}getCarbonComponents(e){return this.carbonComponents?.get(e)||[]}getCarbonComponentById(e){if(this.carbonComponents)for(const t of this.carbonComponents.values()){const s=t.find(r=>r.id===e);if(s)return s}}renderPlaceHolder(e){this.target&&(this.placeholderDom=e,this.target.insertBefore(this.placeholderDom,null))}renderWithTemplate(e){const t=this.user;return t?t.fetch(this.uri,this.abortController.signal).then(s=>(this.assertCanRenderAsync(),e&&e(this),this.onRenderWithTemplateReply(s).catch(r=>{r.message!==w.compErrors().ALREADY_DISPOSED&&console.error("RenderWithTemplate Err:",r)}),this)).catch(s=>{throw console.error("Panel.renderWithTemplate fetch failed:",s),s}):Promise.reject(new Error("No UserManager instance available for Panel.renderWithTemplate()"))}onRenderWithTemplateReply(e){return this.responseObject=p.splitScripts(e),this.domFunc=()=>this.responseObject.html,this.render(),Promise.resolve(this)}onReplacePartialDom(e,t){const s=this.getElement();if((0,l.isUndefined)(s))return;const r=e.html;if(t.startsWith("."))[...s.querySelectorAll(t)].filter(n=>(0,l.isDefAndNotNull)(n.id)).map(n=>[n,r.querySelector(`#${n.id}`)]).filter(([n,o])=>(0,l.isDefAndNotNull)(o)).forEach(([n,o])=>{n.parentNode.replaceChild(o,n),this.parseContent(o)});else if(t.startsWith("#")){const n=r.querySelector(t),o=s.querySelector(t);o.parentNode.replaceChild(n,o),this.parseContent(n)}this.evalScripts(e.scripts),this.evalModules(e.modules)}renderWithJSON(e){return this.user?this.user.fetchJson(this.uri_,this.abortController.signal).then(t=>{this.assertCanRenderAsync(),e&&e(t,this),this.onRenderWithJSON(t).then(l.identity)}).catch(t=>{throw console.error("Panel.renderWithJSON fetch failed:",t),t}):Promise.reject(new Error("No UserManager instance available for Panel.renderWithJSON()"))}onRenderWithJSON(e){return Promise.resolve(this)}onAsyncJsonReply(e,t,s){}onAsyncHtmlReply(e,t){}onViewDataBroadcast(e){}parseContent(e){if(this.debugMe("Enable interactions. Panel:",e),typeof window.customElements<"u"&&b.ComponentLibraryRegistry.has("carbon")){const i=b.ComponentLibraryRegistry.get("carbon");i.render.call(this,e,i.cache).catch(a=>console.error("[Zooy] Carbon initialization failed:",a))}if(b.ComponentLibraryRegistry.has("mdc")){const i=b.ComponentLibraryRegistry.get("mdc");i.render.call(this,e,i.cache)}e.classList.contains("zoo__modal-base")&&e.classList.contains("close_on_click")&&this.listen(e,h.CLICK,i=>{i.target===e&&this.dispatchPanelEvent("destroy_me")}),[...e.querySelectorAll(".zoo__button:not(.external):not(.mdc-data-table__row)")].forEach(i=>{this.listen(i,h.CLICK,a=>{a.stopPropagation();const c=a.currentTarget,m=p.getElDataMap(c);this.dispatchPanelEvent(m.zv,Object.assign({orgEvt:a,trigger:c,href:c.href||m.href},m))})}),[...e.querySelectorAll("[href]:not(.external):not([event])")].forEach(i=>{this.listen(i,h.CLICK,a=>{const c=a.currentTarget;a.preventDefault(),a.stopPropagation();const m=p.getElDataMap(c),f=m.zv||"href";this.dispatchPanelEvent(f,Object.assign({orgEvt:a,trigger:a.target,href:c.href||m.href},m))})}),[...e.querySelectorAll("form.intercept_submit")].forEach(i=>{i.noValidate=!0,this.listen(i,h.SUBMIT,a=>{a.preventDefault(),a.stopPropagation();const c=p.getElDataMap(i),m=p.formToJSON(i.elements);this.dispatchPanelEvent(c.zv,Object.assign({orgEvt:a,trigger:a.target,formData:m,href:c.href},c))})}),[...e.querySelectorAll(".zoo__toggle_class_driver")].forEach(i=>{const a=p.getElDataMap(i),c=a.toggle_class_target_id,m=a.toggle_class,f=e.querySelector(`#${c}`);f&&m&&i.addEventListener(h.CLICK,v=>{v.stopPropagation(),f.classList.toggle(m)})});const t=Array.from(e.querySelectorAll(".folder_drop_zone")),s=Array.from(e.querySelectorAll("[draggable]")),r=i=>{i.preventDefault(),i.target.classList.add("drag_over")},n=i=>{i.preventDefault()},o=i=>{i.preventDefault(),i.target.classList.remove("drag_over")},d=i=>{i.preventDefault(),i.target.classList.remove("drag_over")},g=i=>{i.preventDefault(),i.target.classList.remove("drag_over")},_=i=>{i.dataTransfer.dropEffect="move";const a=p.getElDataMap(i.target);i.dataTransfer.setData("text/plain",JSON.stringify(a)),i.target.classList.add("drag_in_progress")},E=i=>{i.target.classList.remove("drag_in_progress")},D=i=>{g(i),i.stopPropagation();const a=JSON.parse(i.dataTransfer.getData("text/plain")),c=p.getElDataMap(i.target);return this.dispatchPanelEvent("drop_on",{custom:{on:c,from:a}}),!1};t.forEach(i=>{this.listen(i,h.DRAGOVER,n),this.listen(i,h.DRAGENTER,r),this.listen(i,h.DRAGEXIT,d),this.listen(i,h.DRAGLEAVE,o),this.listen(i,h.DROP,D)}),s.forEach(i=>{this.listen(i,h.DRAGSTART,_),this.listen(i,h.DRAGEND,E)}),[...e.querySelectorAll(".zoo_async_json")].forEach(i=>{const a=p.getElDataMap(i),c=a.href,m=this.onAsyncJsonReply.bind(this,i,a);this.user.fetchJson(c,this.abortController.signal).then(m);const f=a.z_json_reusable;f&&(this.jsonCallFuncs=this.jsonCallFuncs||{},this.jsonCallFuncs[f]=()=>{this.user.fetchJson(c,this.abortController.signal).then(m)});const v=(0,l.toNumber)(a.z_interval);(0,l.isNumber)(v)&&this.doOnBeat(()=>{this.user.fetchJson(c,this.abortController.signal).then(m)},v*60*1e3)}),[...e.querySelectorAll(".zoo_async_html")].forEach(i=>{const a=p.getElDataMap(i),c=a.href;this.user.fetchAndSplit(c,this.abortController.signal).then(f=>{i.appendChild(f.html),this.parseContent(i),this.evalScripts(f.scripts),this.evalModules(f.modules),this.onAsyncHtmlReply(i,a)});const m=(0,l.toNumber)(a.z_interval);(0,l.isNumber)(m)&&this.doOnBeat(()=>{this.user.fetchAndSplit(c,this.abortController.signal).then(f=>{i.replaceChildren(f.html),this.parseContent(i),this.evalScripts(f.scripts),this.evalModules(f.modules)})},m*60*1e3)}),[...e.querySelectorAll("[zoo-url-api]")].forEach(i=>{if(i.tagName==="CDS-TABLE"||i.classList.contains("zoo_async_json")||i.dataBinder)return;const a=i.getAttribute("zoo-url-api");if(!a||!i.querySelector("[zoo-bind], [zoo-bind-attr], [zoo-template]"))return;const c=new P.Binder(this,a,i);i.dataBinder=c,c.fetchData().catch(m=>{console.error("[Panel] zoo-url-api auto-bind fetch failed:",m)})})}enterDocument(){const e=this.getElement();this.parseContent(e),this.evalScripts(this.responseObject.scripts),this.evalModules(this.responseObject.modules),super.enterDocument()}exitDocument(){this.abortController.abort(),super.exitDocument()}setIsRedirected(e,t){this.redirected=e,this.redirected&&t&&(this.uri_=t)}dispatchPanelEvent(e,t){const s=new k(e,t),r=L.makeEvent(u.PANEL,s);return this.debugMe(`PANEL EVENT FIRED:
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const b=require("./chunks/component-library-registry-BBQV6Kpv.js"),p=require("./chunks/tree-utils-B_lCUFMV.js"),P=require("./chunks/zoo-CiA1SI80.js");let l=require("badu"),De=require("ramda");var L=class extends EventTarget{#e=!1;#t=!1;#s=new Map;#r=new Set;#i=new Set;static makeEvent(e,t){return new CustomEvent(e,{detail:t})}set debugMode(e){if(typeof e!="boolean")throw new Error("This must be a boolean");this.#e=e}get debugMode(){return this.#e}get disposed(){return this.#t}get listeningTo(){return this.#s}get isObservedBy(){return this.#r}get activeIntervals(){return this.#i}debugMe(...e){this.#e&&console.log.apply(null,[this.constructor.name,"DEBUG:",...e])}isListenedToBy(e){this.#r.add(e)}listen(e,t,s,r=!1){e.addEventListener(t,s,r);const n=this.listeningTo.get(e)||{};n[t]=()=>e.removeEventListener(t,s,r),this.listeningTo.set(e,n),(0,l.isDef)(e.isListenedToBy)&&e.isListenedToBy(this)}stopBeingListenedTo(){for(const e of this.isObservedBy)e.stopListeningTo(this),this.isObservedBy.delete(e)}stopListeningTo(e,t){e&&this.listeningTo.has(e)&&((0,l.isDef)(e.isObservedBy)&&e.isObservedBy.delete(this),(0,l.isDef)(t)?(Object.entries(this.listeningTo.get(e)).forEach(([s,r])=>{s===t&&r()}),Object.keys(this.listeningTo.get(e)).length||this.listeningTo.delete(e)):(Object.values(this.listeningTo.get(e)).forEach(s=>s()),this.listeningTo.delete(e)))}removeAllListener(){for(const e of this.listeningTo.keys())this.stopListeningTo(e)}clearAllIntervals(){for(const e of this.activeIntervals)clearInterval(e),this.activeIntervals.delete(e)}doOnBeat(e,t){const s=setInterval(e,t);this.activeIntervals.add(s)}disposeInternal(){this.stopBeingListenedTo(),this.removeAllListener(),this.clearAllIntervals(),this.#t=!0}dispose(){this.disposeInternal()}},k=class{constructor(e,t){this.value_=e,this.data_=t||{}}getValue(){return this.value_}getData(){return this.data_}},u={COMP:(0,l.randomId)(),COMP_DRAG_START:(0,l.randomId)(),COMP_DRAG_MOVE:(0,l.randomId)(),COMP_DRAG_END:(0,l.randomId)(),PANEL:(0,l.randomId)(),VIEW:(0,l.randomId)(),SPLIT:(0,l.randomId)(),SPLIT_WILL_OPEN:(0,l.randomId)(),SPLIT_DID_OPEN:(0,l.randomId)(),SPLIT_WILL_CLOSE:(0,l.randomId)(),SPLIT_DID_CLOSE:(0,l.randomId)(),SPLIT_TRANSITION_END:(0,l.randomId)(),READY:(0,l.randomId)(),PANEL_MINIMIZE:(0,l.randomId)(),FORM_SUBMIT_SUCCESS:(0,l.randomId)()},N={NOT_SUPPORTED:"Method not supported",DECORATE_INVALID:"Invalid element to decorate",ALREADY_RENDERED:"Component already rendered",ALREADY_DISPOSED:"Component already disposed",PARENT_UNABLE_TO_BE_SET:"Unable to set parent component",CHILD_INDEX_OUT_OF_BOUNDS:"Child component index out of bounds",NOT_OUR_CHILD:"Child is not in parent component",NOT_IN_DOCUMENT:"Operation not supported while component is not in document",STATE_INVALID:"Invalid component state"},w=class extends L{static compEventCode(){return u.COMP}static compReadyCode(){return u.READY}static compErrors(){return N}#e;#t;#s;#r;#i;#n;#o;#a;constructor(){super(),this.#e=()=>document.createElement("div"),this.#t=!1,this.#s=void 0,this.#r=void 0,this.#i=void 0,this.#n=void 0,this.#o=new Map,this.outOfTreeElements=[],this.placeholderDom=void 0,this.#a=()=>{}}set target(e){this.#i=e}get target(){return this.#i}set model(e){this.#r=e}get model(){return this.#r}set isInDocument(e){this.#t=e}get isInDocument(){return this.#t}set domFunc(e){this.#e=e}set readyFunc(e){this.#a=e}setElementInternal_(e){this.#s=e}getElement(){return this.#s}createDom(){this.#s=this.#e()}assertCanRenderAsync(){if(this.disposed)throw new Error(N.ALREADY_DISPOSED)}render(e){this.render_(e)}render_(e){if(this.disposed)throw new Error(N.ALREADY_DISPOSED);if(this.isInDocument)throw new Error(N.ALREADY_RENDERED);this.#s||this.createDom();const t=this.#s;e&&(this.#i=e),this.placeholderDom&&p.removeNode(this.placeholderDom),this.#i?p.isInPage(t)||this.#i.insertBefore(t,null):p.isInPage(t)||document.body.appendChild(t),(!this.#n||this.#n.isInDocument)&&this.enterDocument()}hoist(e,t=void 0){t||(t=document.querySelector("body")),t.appendChild(e),this.outOfTreeElements.push(e)}executeBeforeReady(){this.#a()}enterDocument(){this.disposed?p.removeNode(this.getElement()):(this.isInDocument=!0,[...this.#o.values()].forEach(e=>{!e.isInDocument&&e.getElement()&&e.enterDocument()}),this.executeBeforeReady(),this.dispatchCompEvent(u.READY))}exitDocument(){[...this.#o.values()].forEach(e=>{e.isInDocument&&e.exitDocument()}),this.stopBeingListenedTo(),this.removeAllListener(),this.isInDocument=!1,p.removeNode(this.getElement()),this.placeholderDom&&p.removeNode(this.placeholderDom)}disposeInternal(){this.isInDocument&&this.exitDocument(),this.#o&&[...this.#o.values()].forEach(e=>e.disposeInternal()),this.outOfTreeElements.forEach(p.removeNode),this.#s&&p.removeNode(this.#s),this.placeholderDom&&p.removeNode(this.placeholderDom),this.#o=null,this.#s=void 0,this.#r=null,this.#n=null,super.disposeInternal()}dispose(){this.abortController&&this.abortController.abort();const e=this.getElement();if(e)for(const t of b.ComponentLibraryRegistry.getRegisteredLibraries())try{const s=b.ComponentLibraryRegistry.get(t);s.dispose&&s.dispose(e)}catch(s){console.debug(`[${t}] Cleanup error during component disposal (non-critical):`,s)}super.dispose()}dispatchCompEvent(e,t){const s=new k(e,t),r=L.makeEvent(u.COMP,s);return this.dispatchEvent(r)}},h={CLICK:"click",RIGHTCLICK:"rightclick",DBLCLICK:"dblclick",MOUSEDOWN:"mousedown",MOUSEUP:"mouseup",MOUSEOVER:"mouseover",MOUSEOUT:"mouseout",MOUSEMOVE:"mousemove",MOUSEENTER:"mouseenter",MOUSELEAVE:"mouseleave",TOUCHSTART:"touchstart",TOUCHMOVE:"touchmove",TOUCHEND:"touchend",TOUCHCANCEL:"touchcancel",SUBMIT:"submit",CHANGE:"change",INPUT:"input",INVALID:"invalid",DRAGSTART:"dragstart",DRAGEND:"dragend",DRAGOVER:"dragover",DRAGENTER:"dragenter",DRAGEXIT:"dragexit",DRAGLEAVE:"dragleave",DROP:"drop",TRANSITIONEND:"transitionend",ANIMATIONEND:"animationend"},Ce=[h.TOUCHMOVE,h.TOUCHSTART,h.TOUCHEND],be=e=>Ce.includes(e.type),B=e=>(be(e)&&(e.clientX=e.targetTouches[0].clientX,e.clientY=e.targetTouches[0].clientY),e),Me=(e,t,s,r)=>n=>{n.preventDefault();const o=B(n),d=o.currentTarget,[g,_]=p.getPos(d),E=o.clientX-g,D=o.clientY-_,i=e(g,_,E,D,d),a=s(g,_,E,D,d),c=t(g,_,E,D,d);let m=Te(c,d,E,D);["x","ew"].includes(r)?m=ye(c,d,E,D):["y","ns"].includes(r)&&(m=Le(c,d,E,D));let f=!1;const v=M=>{f=!0,m(M)},S=M=>{document.removeEventListener(h.MOUSEMOVE,v,!0),document.removeEventListener(h.TOUCHMOVE,v,!0),document.removeEventListener(h.MOUSEUP,S,!0),document.removeEventListener(h.TOUCHEND,S,!0),f&&a(M)};return document.addEventListener(h.MOUSEUP,S,!0),document.addEventListener(h.TOUCHEND,S,!0),document.addEventListener(h.MOUSEMOVE,v,!0),document.addEventListener(h.TOUCHMOVE,v,!0),i(n),S},Te=(e,t,s,r)=>n=>{n.preventDefault();const o=B(n);t.style.left=`${o.clientX-s}px`,t.style.top=`${o.clientY-r}px`,e(o)},ye=(e,t,s,r)=>n=>{n.preventDefault();const o=B(n);t.style.left=`${o.clientX-s}px`,e(o)},Le=(e,t,s,r)=>n=>{n.preventDefault();const o=B(n);t.style.top=`${o.clientY-r}px`,e(o)},F=(e,t)=>(s,r,n,o,d)=>g=>{e.dispatchCompEvent(t,{component:e,browserEvent:g,left:s,top:r,clientX:g.clientX,clientY:g.clientY,xOrg:n,yOrg:o,deltaX:g.clientX-n-s,deltaY:g.clientY-o-r,target:d})},z=class extends w{#e;#t;#s;#r;constructor(e="xy"){super(),this.#e=["x","y","xy","ew","ns"].includes(e.toLowerCase())?e.toLowerCase():"xy",this.#t=void 0,this.#s=!0,this.#r=t=>null}cancelDrag(e){this.#r(e)}set moveFreedom(e){this.#e=e,this.#s||(this.lock(),this.unlock())}get moveFreedom(){return this.#e}executeBeforeReady(){this.unlock(),super.executeBeforeReady()}unlock(){const e=t=>s=>{this.#r=t(s)};if(this.isInDocument&&this.#s){const t=F(this,u.COMP_DRAG_MOVE),s=Me(F(this,u.COMP_DRAG_START),t,F(this,u.COMP_DRAG_END),this.#e);this.#s=!1,this.#t=this.#t||this.getElement(),this.listen(this.#t,h.MOUSEDOWN,e(s)),this.listen(this.#t,h.TOUCHSTART,s),this.#t.classList.remove("locked")}}lock(){this.stopListeningTo(this.#t,h.MOUSEDOWN),this.stopListeningTo(this.#t,h.TOUCHSTART),this.#s=!0,this.#t.classList.add("locked")}},se=b.__exportAll({getPath:()=>j,getQueryData:()=>oe,objectToUrlParms:()=>ae,queryDataToMap:()=>le}),we=new RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$"),re={SCHEME:1,USER_INFO:2,DOMAIN:3,PORT:4,PATH:5,QUERY_DATA:6,FRAGMENT:7},ie=e=>e.match(we),ne=(e,t)=>e?t?decodeURI(e.replace(/%25/g,"%2525")):decodeURIComponent(e):"",j=e=>ne(ie(e)[re.PATH],!0),oe=e=>ne(ie(e)[re.QUERY_DATA],!0),ae=e=>Object.entries(e).map(t=>`${t[0]}=${t[1]}`).join("&"),Q=e=>e!=null&&e!=="",le=e=>e.split("&").reduce((t,s)=>{const[r,n]=s.split("=");return Q(r)&&Q(n)&&t.set(r,n),t},new Map),Ie=(0,l.stripLeadingChar)(" "),Oe=(0,l.stripLeadingChar)("/"),Re=e=>document.cookie.split(";").map(t=>t.split("=")).reduce((t,s)=>t.set(Ie(s[0]),s[1]),new Map).get(e),Pe=e=>{let t=0,s;const r=n=>{const o=n>0;return o?t+=1:t-=1,o?t===1:t===0};return n=>{s=s||document.getElementById(e),s&&r(n)&&s.classList.toggle("viz",t>0)}},ce=Pe("the_loader"),$=()=>Promise.resolve(ce(1)),U=e=>(ce(0),Promise.resolve(e)),I=e=>e.ok?Promise.resolve(e):Promise.reject(new Error(`${e.url} ${e.status} (${e.statusText})`)),Ae=e=>t=>{if(t.type==="opaqueredirect"||t.redirected){const s=Oe(j(t.url));e.setIsRedirected(!0,s),console.log("Redirect detected",s)}return I(t)},R=e=>e.json(),H=e=>e.text().then(t=>Promise.resolve(t),t=>Promise.reject(new Error(`Could not get text from response: ${t}`))),Ne=e=>e.headers.get("Content-Type")==="application/json"?R(e):H(e),V=(e,t,s="POST",r=void 0)=>{const n=new Headers;n.append("Content-type","application/json"),n.append("X-Requested-With","XMLHttpRequest"),e&&e!==""&&n.append("Authorization",`Bearer ${e}`);const o={cache:"no-cache",method:s,headers:n,credentials:"include",body:JSON.stringify(t)};return r&&(o.signal=r),o},he=(e,t,s=!1,r=void 0)=>{const n=new Headers;if(t&&t!==""&&n.append("Authorization",`Bearer ${t}`),n.append("X-Requested-With","XMLHttpRequest"),s){const d=Re("csrftoken");d&&s&&n.append("X-CSRFToken",d)}const o={cache:"no-cache",method:e,headers:n,redirect:"follow",credentials:"include"};return r&&(o.signal=r),o},Ve=(e,t,s=void 0)=>{const r=he("POST",e,!1,s);return r.body=new FormData(t.formEl),r},Z=(e,t=void 0)=>{const s=new Headers;s.append("Authorization",`Bearer ${e}`),s.append("X-Requested-With","XMLHttpRequest");const r={cache:"no-cache",headers:s,credentials:"include"};return t&&(r.signal=t),r},Ue=(e,t)=>{const s=new Request(e);return fetch(s,t).then(I).then(H)},y=(e,t=void 0)=>s=>(U("").then(l.identity),s.name==="AbortError"?console.info(e,"ABORTED!"):console.error(e,s),t),A=class{constructor(e){this.user_={},this.jwt="",e&&this.updateProfileFromJwt(e).then(()=>{})}updateProfileFromJwt(e,t=!1){return t&&this.jwt!==""?Promise.resolve("User Profile Already exists"):e.non_field_errors?Promise.reject(new Error(`JWT ${e.non_field_errors}`)):(this.updateToken(e.token),this.updateProfile(e.user),Promise.resolve("User Profile Updated"))}updateProfile(e){this.user_=e}updateToken(e){this.jwt=e}get id(){return this.user_.id}get name(){return this.user_.name}get surname(){return this.user_.surname}get salutation(){let e=this.name;const t=this.surname;return t&&(e=e+" "+t),e}formSubmit(e){const t=new Request(e.uri.toString()),s=e.processSubmitReply.bind(e),r=y("Form submit error");return $().then(()=>fetch(t,Ve(this.jwt,e,e.abortController.signal))).then(Ae(e)).then(U).then(Ne).then(s).catch(r)}putNoBody(e,t=void 0,s=!1){const r=y("putNobody error");return Ue(e,he("PUT",this.jwt,s,t)).catch(r)}fetch(e,t=void 0){const s=new Request(e.toString()),r=y(`UMan Text GET Fetch: ${e}`);return $().then(()=>fetch(s,Z(this.jwt,t))).then(I).then(U).then(H).catch(r)}fetchAndSplit(e,t=void 0){const s=y(`fetchAndSplit: ${e}`);return this.fetch(e,t).then(p.handleTemplateProm).catch(s)}async fetchJson(e,t=void 0,s=void 0){const r=new Request(e.toString()),n=y(`fetchJson: ${e}`,s),o=Z(this.jwt,t);await $();let d;try{d=await(await fetch(r,o)).json()}catch(g){return n(g)}return await U(),d}patchJson(e,t,s=void 0){const r=new Request(e.toString()),n=y(`patchJson: ${e}`),o=V(this.jwt,t,"PATCH",s);return fetch(r,o).then(I).then(R).catch(n)}postJson(e,t,s=void 0){const r=new Request(e.toString()),n=y(`postJson: ${e}`),o=V(this.jwt,t,"POST",s);return fetch(r,o).then(I).then(R).catch(n)}putJson(e,t,s=void 0){const r=new Request(e.toString()),n=y(`putJson: ${e}`),o=V(this.jwt,t,"PUT",s);return fetch(r,o).then(I).then(R).catch(n)}delJson(e,t,s=void 0){const r=new Request(e.toString()),n=y(`delJson: ${e}`),o=V(this.jwt,t,"DELETE",s);return fetch(r,o).then(I).then(R).catch(n)}},q=class extends w{static panelEventCode(){return u.PANEL}static compReadyCode(){return u.READY}constructor(e){super(),this.qParamMap_=new Map,this.uri_="",e&&this.parseUri(e),this.evalScripts=p.evalScripts(this),this.evalModules=p.evalModules(this),this.redirected=!1,this.responseObject={html:null,scripts:null},this.user_=void 0,"AbortController"in window?this.abortController=new AbortController:this.abortController={signal:void 0,abort:()=>{}},this.listMap=new Map}get uri(){const e=this.qParamMap_.size>0?"?"+ae(Object.fromEntries(this.qParamMap_)):"";return this.uri_+e}set user(e){this.user_=e}get user(){return this.user_||(this.user_=new A),this.user_}parseUri(e){this.uri_=j(e),this.qParamMap_=le(oe(e))}addToQParams(e,t){this.qParamMap_.set(e,t)}removeFromQParams(e){this.qParamMap_.delete(e)}clearQParams(){this.qParamMap_.clear()}getCarbonComponents(e){return this.carbonComponents?.get(e)||[]}getCarbonComponentById(e){if(this.carbonComponents)for(const t of this.carbonComponents.values()){const s=t.find(r=>r.id===e);if(s)return s}}renderPlaceHolder(e){this.target&&(this.placeholderDom=e,this.target.insertBefore(this.placeholderDom,null))}renderWithTemplate(e){const t=this.user;return t?t.fetch(this.uri,this.abortController.signal).then(s=>(this.assertCanRenderAsync(),e&&e(this),this.onRenderWithTemplateReply(s).catch(r=>{r.message!==w.compErrors().ALREADY_DISPOSED&&console.error("RenderWithTemplate Err:",r)}),this)).catch(s=>{throw console.error("Panel.renderWithTemplate fetch failed:",s),s}):Promise.reject(new Error("No UserManager instance available for Panel.renderWithTemplate()"))}onRenderWithTemplateReply(e){return this.responseObject=p.splitScripts(e),this.domFunc=()=>this.responseObject.html,this.render(),Promise.resolve(this)}onReplacePartialDom(e,t){const s=this.getElement();if((0,l.isUndefined)(s))return;const r=e.html;if(t.startsWith("."))[...s.querySelectorAll(t)].filter(n=>(0,l.isDefAndNotNull)(n.id)).map(n=>[n,r.querySelector(`#${n.id}`)]).filter(([n,o])=>(0,l.isDefAndNotNull)(o)).forEach(([n,o])=>{n.parentNode.replaceChild(o,n),this.parseContent(o)});else if(t.startsWith("#")){const n=r.querySelector(t),o=s.querySelector(t);o.parentNode.replaceChild(n,o),this.parseContent(n)}this.evalScripts(e.scripts),this.evalModules(e.modules)}renderWithJSON(e){return this.user?this.user.fetchJson(this.uri_,this.abortController.signal).then(t=>{this.assertCanRenderAsync(),e&&e(t,this),this.onRenderWithJSON(t).then(l.identity)}).catch(t=>{throw console.error("Panel.renderWithJSON fetch failed:",t),t}):Promise.reject(new Error("No UserManager instance available for Panel.renderWithJSON()"))}onRenderWithJSON(e){return Promise.resolve(this)}onAsyncJsonReply(e,t,s){}onAsyncHtmlReply(e,t){}onViewDataBroadcast(e){}parseContent(e){if(this.debugMe("Enable interactions. Panel:",e),typeof window.customElements<"u"&&b.ComponentLibraryRegistry.has("carbon")){const i=b.ComponentLibraryRegistry.get("carbon");i.render.call(this,e,i.cache).catch(a=>console.error("[Zooy] Carbon initialization failed:",a))}if(b.ComponentLibraryRegistry.has("mdc")){const i=b.ComponentLibraryRegistry.get("mdc");i.render.call(this,e,i.cache)}e.classList.contains("zoo__modal-base")&&e.classList.contains("close_on_click")&&this.listen(e,h.CLICK,i=>{i.target===e&&this.dispatchPanelEvent("destroy_me")}),[...e.querySelectorAll(".zoo__button:not(.external):not(.mdc-data-table__row)")].forEach(i=>{this.listen(i,h.CLICK,a=>{a.stopPropagation();const c=a.currentTarget,m=p.getElDataMap(c);this.dispatchPanelEvent(m.zv,Object.assign({orgEvt:a,trigger:c,href:c.href||m.href},m))})}),[...e.querySelectorAll("[href]:not(.external):not([event])")].forEach(i=>{this.listen(i,h.CLICK,a=>{const c=a.currentTarget;a.preventDefault(),a.stopPropagation();const m=p.getElDataMap(c),f=m.zv||"href";this.dispatchPanelEvent(f,Object.assign({orgEvt:a,trigger:a.target,href:c.href||m.href},m))})}),[...e.querySelectorAll("form.intercept_submit")].forEach(i=>{i.noValidate=!0,this.listen(i,h.SUBMIT,a=>{a.preventDefault(),a.stopPropagation();const c=p.getElDataMap(i),m=p.formToJSON(i.elements);this.dispatchPanelEvent(c.zv,Object.assign({orgEvt:a,trigger:a.target,formData:m,href:c.href},c))})}),[...e.querySelectorAll(".zoo__toggle_class_driver")].forEach(i=>{const a=p.getElDataMap(i),c=a.toggle_class_target_id,m=a.toggle_class,f=e.querySelector(`#${c}`);f&&m&&i.addEventListener(h.CLICK,v=>{v.stopPropagation(),f.classList.toggle(m)})});const t=Array.from(e.querySelectorAll(".folder_drop_zone")),s=Array.from(e.querySelectorAll("[draggable]")),r=i=>{i.preventDefault(),i.target.classList.add("drag_over")},n=i=>{i.preventDefault()},o=i=>{i.preventDefault(),i.target.classList.remove("drag_over")},d=i=>{i.preventDefault(),i.target.classList.remove("drag_over")},g=i=>{i.preventDefault(),i.target.classList.remove("drag_over")},_=i=>{i.dataTransfer.dropEffect="move";const a=p.getElDataMap(i.target);i.dataTransfer.setData("text/plain",JSON.stringify(a)),i.target.classList.add("drag_in_progress")},E=i=>{i.target.classList.remove("drag_in_progress")},D=i=>{g(i),i.stopPropagation();const a=JSON.parse(i.dataTransfer.getData("text/plain")),c=p.getElDataMap(i.target);return this.dispatchPanelEvent("drop_on",{custom:{on:c,from:a}}),!1};t.forEach(i=>{this.listen(i,h.DRAGOVER,n),this.listen(i,h.DRAGENTER,r),this.listen(i,h.DRAGEXIT,d),this.listen(i,h.DRAGLEAVE,o),this.listen(i,h.DROP,D)}),s.forEach(i=>{this.listen(i,h.DRAGSTART,_),this.listen(i,h.DRAGEND,E)}),[...e.querySelectorAll(".zoo_async_json")].forEach(i=>{const a=p.getElDataMap(i),c=a.href,m=this.onAsyncJsonReply.bind(this,i,a);this.user.fetchJson(c,this.abortController.signal).then(m);const f=a.z_json_reusable;f&&(this.jsonCallFuncs=this.jsonCallFuncs||{},this.jsonCallFuncs[f]=()=>{this.user.fetchJson(c,this.abortController.signal).then(m)});const v=(0,l.toNumber)(a.z_interval);(0,l.isNumber)(v)&&this.doOnBeat(()=>{this.user.fetchJson(c,this.abortController.signal).then(m)},v*60*1e3)}),[...e.querySelectorAll(".zoo_async_html")].forEach(i=>{const a=p.getElDataMap(i),c=a.href;this.user.fetchAndSplit(c,this.abortController.signal).then(f=>{i.appendChild(f.html),this.parseContent(i),this.evalScripts(f.scripts),this.evalModules(f.modules),this.onAsyncHtmlReply(i,a)});const m=(0,l.toNumber)(a.z_interval);(0,l.isNumber)(m)&&this.doOnBeat(()=>{this.user.fetchAndSplit(c,this.abortController.signal).then(f=>{i.replaceChildren(f.html),this.parseContent(i),this.evalScripts(f.scripts),this.evalModules(f.modules)})},m*60*1e3)}),[...e.querySelectorAll("[zoo-url-api]")].forEach(i=>{if(i.tagName==="CDS-TABLE"||i.classList.contains("zoo_async_json")||i.dataBinder)return;const a=i.getAttribute("zoo-url-api");if(!a||!i.querySelector("[zoo-bind], [zoo-bind-attr], [zoo-template]"))return;const c=new P.Binder(this,a,i);i.dataBinder=c,c.fetchData().catch(m=>{console.error("[Panel] zoo-url-api auto-bind fetch failed:",m)})})}enterDocument(){const e=this.getElement();this.parseContent(e),this.evalScripts(this.responseObject.scripts),this.evalModules(this.responseObject.modules),super.enterDocument()}exitDocument(){this.abortController.abort(),super.exitDocument()}setIsRedirected(e,t){this.redirected=e,this.redirected&&t&&(this.uri_=t)}dispatchPanelEvent(e,t){const s=new k(e,t),r=L.makeEvent(u.PANEL,s);return this.debugMe(`PANEL EVENT FIRED:
2
2
  value:${e}
3
3
  data:${t}`),this.dispatchEvent(r)}},de=class extends q{#e=null;#t=new Map;#s=!0;constructor(e,t=!0){super(e),this.#s=t,this.onSubmitSucFunc=(s,r)=>null}get formEl(){return this.#e}enterDocument(){super.enterDocument(),this.formIdElementToForm_()}formIdElementToForm_(){this.#e=this.getFormFromId(),this.#e&&(this.#a(this.#e),this.#r())}getFormFromId(e){let t=null,s=this.getElement().querySelector("form");return e&&(s=document.getElementById(e)||s),s&&s.tagName.toLowerCase()==="form"&&(t=s),t}#r(){this.#e&&(this.listen(this.#e,h.CHANGE,e=>{this.#o(e)},{passive:!0}),this.listen(this.#e,h.INPUT,e=>{this.clearAllValidationErrors(),this.#o(e)}),this.listen(this.#e,h.INVALID,e=>{e.preventDefault();const t=e.target;this.#n(t),this.displayFieldError(t)},{passive:!0}))}checkAllFields(){const e=[...this.#e.elements].map(t=>[this.#i(t),t]).filter(t=>!t[0]);return e.forEach(t=>this.displayFieldError(t[1])),e.length===0}clearAllValidationErrors(){[...this.#e?this.#e.elements:[]].forEach(e=>this.#n(e)),[...this.#e.querySelectorAll(".non-field-errors")].forEach(e=>e.classList.remove("alert-error"))}displayAlert_(e,t,s){const r=document.getElementById(`${e.id}-helper-text`)||document.createElement("p");r.textContent=t,this.#t.set(e,r)}#i(e){this.#n(e);let t=!e.willValidate;return e.willValidate&&(t=e.checkValidity()),t}#n(e){e.classList.remove("error"),this.#t.has(e)&&(this.#t.get(e).textContent=""),this.#t.delete(e)}displayFieldError(e,t){const s=t||e.validationMessage;e.classList.add("error"),this.displayAlert_(e,s,"alert-error")}displayFieldSuccess(e,t){this.displayAlert_(e,t,"alert-success")}displayFieldInfo(e,t){this.displayAlert_(e,t,"alert-info")}#o(e){this.#i(e.target)}#a(e){if(e&&this.#s){e.noValidate=!0;const t=this.user;this.listen(e,h.SUBMIT,s=>{s.preventDefault(),this.debugMe("Intercepted from SUBMIT"),this.checkAllFields()&&t&&t.formSubmit(this)})}return e}onSubmitSuccess(e){this.onSubmitSucFunc=e}replaceForm(e){if(this.responseObject=p.splitScripts(e),this.responseObject.html){if(this.redirected){this.removeAllListener();const t=this.getElement(),s=t.parentNode;this.setElementInternal_(this.responseObject.html),s.replaceChild(this.getElement(),t)}else{const t=this.responseObject.html.querySelector("form");t&&p.replaceNode(t,this.#e);const s=this.responseObject.html.querySelector('[type="submit"]'),r=this.getElement().querySelector('[type="submit"]');s&&r&&p.replaceNode(s,r)}this.enterDocument()}}refreshFromFromServer(){const e=this.user,t=this.uri;return e?e.fetch(t,this.abortController.signal).then(s=>this.replaceForm(s)):Promise.reject(new Error("No UserManager instance available for FormPanel.refreshFromFromServer()"))}processSubmitReply(e){this.clearAllValidationErrors();let t=!1;if((0,l.whatType)(e)==="object"&&e.success)return Promise.resolve(this).then(()=>{this.onSubmitSucFunc(this,e),this.dispatchCompEvent(u.FORM_SUBMIT_SUCCESS)});if(e==="success"?(this.debugMe(`
4
4
  1.REDIRECTED: ${this.redirected}
@@ -16,4 +16,4 @@ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{val
16
16
  SUCCESS: ${t}`)}},ue=class extends w{static splitEventCode(){return u.SPLIT}constructor(){super(),this.dragImage_=document.createElement("canvas"),this.nestMap_=new Map,this.nestCallbackMap_=new Map,this.splitNests_=new Set}get nests(){return[...this.nestMap_.entries()].filter(([e,{nestEl:t}])=>t)}getNest(e){return this.nestMap_.get(e)?.nestEl}get nestNames(){return[...this.nestMap_.entries()].filter(([e,t])=>!this.splitNests_.has(t)).map(([e])=>e)}closeAndLockAll(e=l.identity,t=!1){this.nestNames.forEach(s=>this.closeAndLock(s,e,t))}openAndUnlockAll(e=l.identity,t=!1){this.nestNames.forEach(s=>this.openAndUnlock(s,e,t))}lock(e){const{dragEl:t}=this.nestMap_.get(e);t.classList.add("locked")}unlock(e){const{dragEl:t}=this.nestMap_.get(e);t.classList.remove("locked")}resize(e,t,s=l.identity,r=!1){const{sizeNow:n,nestEl:o,canResize:d}=this.nestMap_.get(e);d&&(r||n===t?(o.classList.remove("animated"),o.style.flexBasis=`${t}px`,this.nestMap_.get(e).sizeNow=t,s()):(o.classList.add("animated"),this.nestCallbackMap_.set(e,()=>{o.classList.remove("animated"),this.nestMap_.get(e).sizeNow=t,s()}),o.style.flexBasis=`${t}px`))}closeAndLock(e,t=l.identity,s=!1){const{nestEl:r,dragEl:n,canResize:o}=this.nestMap_.get(e);if(!o)return;const d=()=>{n.classList.add("locked","closed"),r.classList.add("closed"),t()};this.resize(e,0,d,s)}closeAndUnlock(e,t=l.identity,s=!1){const{nestEl:r,dragEl:n,canResize:o}=this.nestMap_.get(e);if(!o)return;const d=()=>{r.classList.remove("closed"),n.classList.remove("closed","locked"),n.classList.add("collapsed"),t()};this.resize(e,0,d,s)}openAndUnlock(e,t,s,r=!1){const{nestEl:n,dragEl:o,defSize:d,lastSize:g,canResize:_}=this.nestMap_.get(e);if(!_)return;const E=t||g||d;n.classList.remove("closed"),o.classList.remove("closed","locked","collapsed"),setTimeout(()=>{this.resize(e,E,s,r)},50)}openAndLock(e,t,s,r=!1){const{nestEl:n,dragEl:o,defSize:d,lastSize:g,canResize:_}=this.nestMap_.get(e);if(!_)return;const E=t||g||d;n.classList.remove("closed"),o.classList.remove("closed","collapsed"),setTimeout(()=>{this.resize(e,E,s,r)},50)}close(e,t=l.identity,s=!1){const{dragEl:r,canResize:n,nestEl:o}=this.nestMap_.get(e);if(!n)return;this.dispatchSplitEvent(u.SPLIT_WILL_CLOSE,{nestName:e,nestEl:o});const d=()=>{r.classList.add("collapsed"),this.dispatchSplitEvent(u.SPLIT_DID_CLOSE,{nestName:e,nestEl:o}),t()};this.resize(e,0,d,s)}open(e,t=l.identity,s=!1){const{defSize:r,lastSize:n,dragEl:o,canResize:d,nestEl:g}=this.nestMap_.get(e);if(!d)return;this.dispatchSplitEvent(u.SPLIT_WILL_OPEN,{nestName:e,nestEl:g}),o.classList.remove("collapsed","closed");const _=n||r,E=()=>{this.dispatchSplitEvent(u.SPLIT_DID_OPEN,{nestName:e,nestEl:g}),t()};this.resize(e,_,E,s)}toggle(e,t,s=!1){this.nestMap_.get(e).sizeNow===0?this.open(e,t,s):this.close(e,t,s)}addSplit(e=void 0,t="EW",s=100,r=100,n=[],o=[],d=[],g=[],_=[]){const E=e||this.getElement();if(this.splitNests_.has(E))return["Already used!",E];ze(E,t),this.splitNests_.add(E);let D="";if(e){const C=[...this.nestMap_.entries()].find(([T,{nestEl:O}])=>O===e);if(C)D=C[0];else return["Element not managed by this component",e]}const i=`${D}A`,a=ee(s,["zoo_nest__A",i,...n]),c=new z(t);c.domFunc=te([`zoo_drag_${i}`,...g],_),c.render(E),this.nestMap_.set(i,{side:"A",nestEl:a,dragger:c,dragEl:c.getElement(),defSize:s,sizeNow:-1,canResize:!0});const m=`${D}B`,f=ke(["zoo_nest__B",m,...o]);this.nestMap_.set(m,{nestEl:f,canResize:!1});const v=`${D}C`,S=new z(t);S.domFunc=te([`zoo_drag_${v}`,...g],_),S.render(E);const M=ee(r,["zoo_nest__C",v,...d]);this.nestMap_.set(v,{side:"C",nestEl:M,dragger:S,dragEl:S.getElement(),defSize:r,sizeNow:-1,canResize:!0}),[a,c.getElement(),f,S.getElement(),M].forEach(C=>E.appendChild(C));let J=0;const G=(C,T,O,_e)=>{let x;const Y=C==="NS"?"height":"width",Se=C==="NS"?"deltaY":"deltaX";return X=>{switch(X.detail.value_){case u.COMP_DRAG_START:x=T.getBoundingClientRect()[Y],J=f.getBoundingClientRect()[Y]+x,this.nestMap_.get(O).dragEl.classList.remove("collapsed");break;case u.COMP_DRAG_MOVE:{const K=Math.min(J,x+_e*X.detail.data_[Se]);this.nestMap_.get(O).lastSize=K,T.style.flexBasis=K+"px";break}case u.COMP_DRAG_END:this.dispatchSplitEvent(u.COMP_DRAG_END,this.nestMap_.get(O));break;default:break}}};this.listen(c,w.compEventCode(),G(t,a,i,1)),this.listen(S,w.compEventCode(),G(t,M,v,-1)),this.listen(c.getElement(),h.DBLCLICK,()=>this.toggle(i)),this.listen(S.getElement(),h.DBLCLICK,()=>this.toggle(v)),this.listen(c.getElement().querySelector(".zoo_grabber"),h.CLICK,()=>this.toggle(i)),this.listen(S.getElement().querySelector(".zoo_grabber"),h.CLICK,()=>this.toggle(v)),this.listen(a,h.TRANSITIONEND,C=>{if(C.propertyName==="flex-basis"&&C.target===a){const T=this.nestCallbackMap_.get(i);this.nestCallbackMap_.delete(i),T&&T(),this.dispatchSplitEvent(u.SPLIT_TRANSITION_END,this.nestMap_.get(i))}}),this.listen(M,h.TRANSITIONEND,C=>{if(C.propertyName==="flex-basis"&&C.target===M){const T=this.nestCallbackMap_.get(v);this.nestCallbackMap_.delete(v),T&&T(),this.dispatchSplitEvent(u.SPLIT_TRANSITION_END,this.nestMap_.get(v))}})}dispatchSplitEvent(e,t){const s=new k(e,t),r=L.makeEvent(u.SPLIT,s);return this.dispatchEvent(r)}},ze=(e,t)=>(e.classList.add("zoo_split",`zoo_split__${t.toLowerCase()}`),e),ee=(e,t=[])=>{const s=document.createElement("div");return s.setAttribute("id",(0,l.randomId)(7)),s.classList.add("zoo_nest","zoo_nest__outer",...t),s.style.flexBasis=e+"px",s},ke=(e=[])=>{const t=document.createElement("div");return t.setAttribute("id",(0,l.randomId)(7)),t.classList.add("zoo_nest","zoo_nest__inner",...e),t},te=(e=[],t=[])=>()=>{const s=document.createElement("div");s.setAttribute("id",(0,l.randomId)(7)),s.classList.add("zoo_dragger",...e);const r=document.createElement("div");return r.classList.add("zoo_grabber",...t),s.appendChild(r),s},Be={toggle_tree:function(e,t){p.toggleTree(e,t)},"tree_toggle-children":function(e,t){p.toggleTreeChildren(t,e)}},pe={search:function(e,t){let s=`${e.href}`;const r=e.formData.q,n=e.targetval;if(r!==""&&(s=`${s}?q=${r}`),n!==""){let o=n;n.includes("page=")&&(o=n.split("&").filter(d=>!d.includes("page=")).join("&")),s=r!==""?`${s}&${o}`:`${s}?${o}`}this.user.fetchAndSplit(s,t.abortController.signal).then(o=>t.onReplacePartialDom(o,e.zvptarget))},reset_search:function(e,t){const s=e.trigger.closest("form");t.removeFromQParams("q"),s.elements.q.value="",s.dispatchEvent(new Event("submit"))}},me={paginate:function(e,t){const s=`${e.href}?${e.targetval}`;this.user.fetchAndSplit(s,t.abortController.signal).then(r=>t.onReplacePartialDom(r,e.zvptarget))},list_filter:function(e,t){const s=`${e.href}?${e.targetval}`;this.user.fetchAndSplit(s,t.abortController.signal).then(r=>t.onReplacePartialDom(r,e.zvptarget))}},ge=b.__exportAll({MdcTreeHandlers:()=>Be,QueryParamHandlers:()=>me,SearchHandlers:()=>pe}),W=class extends L{#e=void 0;#t=void 0;#s={};static viewEventCode(){return u.VIEW}constructor(){super(),this.panelMap=new Map,this.user_=void 0,this.split_=void 0,this.panelEventMap_=this.initPanelEventsInternal_(),this.switchViewMap_=new Map,this.metaData_=new Map}set recordHistory(e){this.#t=e}get recordHistory(){return this.#t}set registerViewConstructor(e){this.#e=e}get registerViewConstructor(){return this.#e}set utils(e){this.#s=e}get utils(){return this.#s}set split(e){this.split_=e,this.listen(this.split_,u.SPLIT,t=>{const s=t.detail.getValue(),r=t.detail.getData();switch(s){case u.SPLIT_WILL_OPEN:this.onSplitWillOpen(r);break;case u.SPLIT_WILL_CLOSE:this.onSplitWillClose(r);break;case u.SPLIT_DID_CLOSE:this.onSplitDidClose(r);break;case u.SPLIT_DID_OPEN:this.onSplitDidOpen(r);break;case u.SPLIT_TRANSITION_END:break;default:(0,l.identity)()}})}get split(){if(!this.split_)throw new Error("No SPLIT component available");return this.split_}set user(e){this.user_=e,this.panelMap.forEach(t=>t.user=e)}get user(){return this.user_||(this.user_=new A),this.user_}render(){this.initPanelEvents(),this.preRender(),this.configurePanels(),this.displayPanels(),this.postRender()}initPanelEvents(){}preRender(){}configurePanels(){}displayPanels(){}postRender(){}dispose(){[...this.panelMap.values()].forEach(e=>e.dispose()),super.dispose()}addPanelToView(e,t){t.user=this.user,this.removePanelByName(e),this.panelMap.set(e,t),this.listen(t,q.panelEventCode(),this.onPanelEvent.bind(this))}removePanelByName(e){this.panelMap.has(e)&&this.panelMap.get(e).dispose()}removePanel(e){const[t,s]=[...this.panelMap.entries()].find(([r,n])=>n===e);t&&s&&(s.dispose(),this.panelMap.delete(t))}getPanelByName(e){return this.panelMap.get(e)}broadcastToPanels(e){[...this.panelMap.values()].forEach(t=>t.onViewDataBroadcast(e))}initPanelEventsInternal_(){const e=new Map;return e.set("destroy_me",(t,s)=>{this.removePanel(s)}),e.set("switch_view",(t,s)=>{this.debugMe("switch_view received: eventData",t);const r=t.view;this.switchViewMap_.has(r)?this.switchViewMap_.get(r)(t,s):this.debugMe("NO VIEW FOUND FOR:",r,this.switchViewMap_)}),Object.entries({...pe,...me}).forEach(([t,s])=>{e.set(t,s.bind(this))}),e}mapPanEv(e,t){this.panelEventMap_.set(e,t)}mapSwitchView(e,t){this.switchViewMap_.set(e,t)}onPanelEvent(e){let t=e.detail.getValue();if(this.debugMe(`PanelEvent Value: ${t}`),!(0,l.isDefAndNotNull)(t)){this.debugMe(`The panel received an event without a value.
17
17
  There is nothing we can do with that.`);return}const s=e.detail.getData();t?.startsWith("switch_view:")&&(s.view=t.split(":")[1],t="switch_view");const r=e.target;this.panelEventMap_.has(t)?this.panelEventMap_.get(t)(s,r):this.debugMe(`NO EVENT MATCH - This usually you are missing
18
18
  a "mapPanEv(${t} ..." statement in your panel JS
19
- or you have a "event='${t}'" attribute in your panel HTML`,{event:e,eventValue:t,eventData:s,panel:r.constructor.name})}onSplitWillOpen(e){}onSplitWillClose(e){}onSplitDidClose(e){}onSplitDidOpen(e){}dispatchViewEvent(e,t){const s=new k(e,t),r=L.makeEvent(u.VIEW,s);return this.dispatchEvent(r)}get metaData(){return this.metaData_}setMetaData(e,t){return this.metaData_.set(e,t),this.metaData}getMetaData(e){return this.metaData_.get(e)}hasMetaData(e){return this.metaData_.has(e)}},Ee=class extends L{#e=new Map;#t=null;#s=void 0;#r=void 0;#i=new Map;#n={};constructor(){super(),this.#i=this.#o(),window.addEventListener("popstate",e=>{e.state!==null&&this.navTo(e.state)}),this.doOnBeat(()=>{document.dispatchEvent(new CustomEvent("zoo-tick-60",{detail:{timestamp:Date.now()}}))},6e4)}set split(e){this.#r=e}get split(){if(!this.#r)throw new Error("No SPLIT component available");return this.#r}set user(e){this.#s=e,this.#t&&(this.#t.user=this.user)}get user(){return this.#s||(this.#s=new A),this.#s}get utils(){return this.#n}registerUtil(e){this.#n=(0,De.mergeRight)(this.#n,e)}#o(){return new Map().set("switch_view",(e,t)=>{if(this.#e.has(e.view)){const s=this.#e.get(e.view)(e.pk||e.recordId,e);this.switchView(s)}})}mapViewEv(e,t){this.#i.set(e,t)}registerViewConstructor(e,t){this.#e.set(e,t)}onViewEvent(e){const t=e.detail.getValue(),s=e.detail.getData(),r=e.target;this.#i.has(t)?this.#i.get(t)(s,r):console.warn("Unhandled VIEW Event:",e,t,s,r)}setActiveView(e){this.#t&&(this.stopListeningTo(this.#t),this.#t.dispose(),this.#t=null),this.#t=e,this.#t.render()}initView(e){return e.user=this.user,e.split=this.split,e.utils=this.utils,e.recordHistory=this.recordHistory.bind(this),e.registerViewConstructor=this.registerViewConstructor.bind(this),this.listen(e,W.viewEventCode(),this.onViewEvent.bind(this)),e}switchView(e){this.setActiveView(this.initView(e))}recordHistory(e){this.debugMe("HISTORY",e),e.init?history.replaceState(e,"",document.location.href):e.history||history.pushState(e,"",null)}navTo=e=>{e.history=!0;const t=e.view,s=this.#t;if(s.switchViewMap_.has(t))this.debugMe("NAV:VIEW:MAP",e),s.switchViewMap_.get(t)(e);else if(this.#e.has(t)){const r=this.#e.get(t)(e.pk,e);this.debugMe("NAV:NEW:VIEW",e),this.switchView(r)}}};async function fe(e={}){const{registerCarbonLibrary:t}=await Promise.resolve().then(()=>require("./chunks/register-DWdA1wzt.js"));return t(e)}async function ve(){const{registerMdcLibrary:e}=await Promise.resolve().then(()=>require("./chunks/register-CVKfWlXL.js"));return e()}var qe={Evt:L,Component:w,Dragger:z,Panel:q,FormPanel:de,Split:ue,UserManager:A,View:W,Conductor:Ee,DataBinder:P.Binder,UiEventType:u,domUtils:p.utils_exports,uriUtils:se,registerCarbonLibrary:fe,registerMdcLibrary:ve,ComponentLibraryRegistry:b.ComponentLibraryRegistry,handlers:ge,zoo:P.zoo_exports};exports.Binder=P.Binder;exports.Component=w;exports.ComponentLibraryRegistry=b.ComponentLibraryRegistry;exports.Conductor=Ee;exports.Dragger=z;exports.Evt=L;exports.FormPanel=de;exports.Panel=q;exports.Split=ue;exports.UiEventType=u;exports.UserManager=A;exports.View=W;exports.default=qe;Object.defineProperty(exports,"domUtils",{enumerable:!0,get:function(){return p.utils_exports}});Object.defineProperty(exports,"handlers",{enumerable:!0,get:function(){return ge}});exports.registerCarbonLibrary=fe;exports.registerMdcLibrary=ve;Object.defineProperty(exports,"uriUtils",{enumerable:!0,get:function(){return se}});Object.defineProperty(exports,"zoo",{enumerable:!0,get:function(){return P.zoo_exports}});
19
+ or you have a "event='${t}'" attribute in your panel HTML`,{event:e,eventValue:t,eventData:s,panel:r.constructor.name})}onSplitWillOpen(e){}onSplitWillClose(e){}onSplitDidClose(e){}onSplitDidOpen(e){}dispatchViewEvent(e,t){const s=new k(e,t),r=L.makeEvent(u.VIEW,s);return this.dispatchEvent(r)}get metaData(){return this.metaData_}setMetaData(e,t){return this.metaData_.set(e,t),this.metaData}getMetaData(e){return this.metaData_.get(e)}hasMetaData(e){return this.metaData_.has(e)}},Ee=class extends L{#e=new Map;#t=null;#s=void 0;#r=void 0;#i=new Map;#n={};constructor(){super(),this.#i=this.#o(),window.addEventListener("popstate",e=>{e.state!==null&&this.navTo(e.state)}),this.doOnBeat(()=>{document.dispatchEvent(new CustomEvent("zoo-tick-60",{detail:{timestamp:Date.now()}}))},6e4)}set split(e){this.#r=e}get split(){if(!this.#r)throw new Error("No SPLIT component available");return this.#r}set user(e){this.#s=e,this.#t&&(this.#t.user=this.user)}get user(){return this.#s||(this.#s=new A),this.#s}get utils(){return this.#n}registerUtil(e){this.#n=(0,De.mergeRight)(this.#n,e)}#o(){return new Map().set("switch_view",(e,t)=>{if(this.#e.has(e.view)){const s=this.#e.get(e.view)(e.pk||e.recordId,e);this.switchView(s)}})}mapViewEv(e,t){this.#i.set(e,t)}registerViewConstructor(e,t){this.#e.set(e,t)}onViewEvent(e){const t=e.detail.getValue(),s=e.detail.getData(),r=e.target;this.#i.has(t)?this.#i.get(t)(s,r):console.warn("Unhandled VIEW Event:",e,t,s,r)}setActiveView(e){this.#t&&(this.stopListeningTo(this.#t),this.#t.dispose(),this.#t=null),this.#t=e,this.#t.render()}initView(e){return e.user=this.user,e.split=this.split,e.utils=this.utils,e.recordHistory=this.recordHistory.bind(this),e.registerViewConstructor=this.registerViewConstructor.bind(this),this.listen(e,W.viewEventCode(),this.onViewEvent.bind(this)),e}switchView(e){this.setActiveView(this.initView(e))}recordHistory(e){this.debugMe("HISTORY",e),e.init?history.replaceState(e,"",document.location.href):e.history||history.pushState(e,"",null)}navTo=e=>{e.history=!0;const t=e.view,s=this.#t;if(s.switchViewMap_.has(t))this.debugMe("NAV:VIEW:MAP",e),s.switchViewMap_.get(t)(e);else if(this.#e.has(t)){const r=this.#e.get(t)(e.pk,e);this.debugMe("NAV:NEW:VIEW",e),this.switchView(r)}}};async function fe(e={}){const{registerCarbonLibrary:t}=await Promise.resolve().then(()=>require("./chunks/register-B_AKxOiD.js"));return t(e)}async function ve(){const{registerMdcLibrary:e}=await Promise.resolve().then(()=>require("./chunks/register-CVKfWlXL.js"));return e()}var qe={Evt:L,Component:w,Dragger:z,Panel:q,FormPanel:de,Split:ue,UserManager:A,View:W,Conductor:Ee,DataBinder:P.Binder,UiEventType:u,domUtils:p.utils_exports,uriUtils:se,registerCarbonLibrary:fe,registerMdcLibrary:ve,ComponentLibraryRegistry:b.ComponentLibraryRegistry,handlers:ge,zoo:P.zoo_exports};exports.Binder=P.Binder;exports.Component=w;exports.ComponentLibraryRegistry=b.ComponentLibraryRegistry;exports.Conductor=Ee;exports.Dragger=z;exports.Evt=L;exports.FormPanel=de;exports.Panel=q;exports.Split=ue;exports.UiEventType=u;exports.UserManager=A;exports.View=W;exports.default=qe;Object.defineProperty(exports,"domUtils",{enumerable:!0,get:function(){return p.utils_exports}});Object.defineProperty(exports,"handlers",{enumerable:!0,get:function(){return ge}});exports.registerCarbonLibrary=fe;exports.registerMdcLibrary=ve;Object.defineProperty(exports,"uriUtils",{enumerable:!0,get:function(){return se}});Object.defineProperty(exports,"zoo",{enumerable:!0,get:function(){return P.zoo_exports}});
package/dist/zooy.es.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { n as le, t as R } from "./chunks/component-library-registry-DB5UeqC2.js";
2
2
  import { a as be, c as we, d as O, f as ee, i as Le, l as Oe, m as Ie, n as Re, o as ye, p as ce, s as w, t as Ae, u as te } from "./chunks/tree-utils-CIi6B6uU.js";
3
- import { i as he, t as Pe } from "./chunks/zoo-BmMuETpN.js";
3
+ import { i as he, t as Pe } from "./chunks/zoo-BdjsxcBG.js";
4
4
  import { identity as C, isDef as F, isDefAndNotNull as j, isNumber as se, isUndefined as Ne, randomId as f, stripLeadingChar as de, toNumber as ie, whatType as Ve } from "badu";
5
5
  import { mergeRight as Ue } from "ramda";
6
6
  var L = class extends EventTarget {
@@ -1270,7 +1270,7 @@ var L = class extends EventTarget {
1270
1270
  };
1271
1271
  };
1272
1272
  async function ot(e = {}) {
1273
- const { registerCarbonLibrary: t } = await import("./chunks/register-Cm3JnDVX.js");
1273
+ const { registerCarbonLibrary: t } = await import("./chunks/register-tgsKjaiw.js");
1274
1274
  return t(e);
1275
1275
  }
1276
1276
  async function at() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trintel/zooy",
3
- "version": "1.9.0",
3
+ "version": "1.9.2",
4
4
  "description": "UI Building Blocks",
5
5
  "license": "Apache-2.0",
6
6
  "author": {