monobill-mintui 0.3.72 → 0.3.73

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
- {"version":3,"file":"OffCanvas.d.ts","sourceRoot":"","sources":["../../../src/components/off-canvas/OffCanvas.ts"],"names":[],"mappings":"AAEA,OAAO,iBAAiB,CAAA;AACxB,OAAO,eAAe,CAAA;AACtB,OAAO,qBAAqB,CAAA;AAC5B,OAAO,eAAe,CAAA;AACtB,OAAO,gBAAgB,CAAA;AAEvB,KAAK,iBAAiB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAE5D,cAAM,aAAc,SAAQ,WAAW;IACrC,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,iBAAiB,CAAgC;;IAOzD,iBAAiB,IAAI,IAAI;IAUzB,oBAAoB,IAAI,IAAI;IAO5B,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAM9F,KAAK,IAAI,MAAM;IAIf,UAAU,IAAI,MAAM;IAIpB,WAAW,IAAI,iBAAiB;IAQhC,UAAU,IAAI,OAAO;IAKrB,QAAQ,IAAI,MAAM;IAMlB,MAAM,IAAI,OAAO;IAKjB,IAAI,IAAI,IAAI;IAIZ,KAAK,IAAI,IAAI;IAIb,MAAM,IAAI,IAAI;IA8Md,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,kBAAkB;IAgC1B,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,YAAY;CAuBrB;AAOD,eAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"OffCanvas.d.ts","sourceRoot":"","sources":["../../../src/components/off-canvas/OffCanvas.ts"],"names":[],"mappings":"AAEA,OAAO,iBAAiB,CAAA;AACxB,OAAO,eAAe,CAAA;AACtB,OAAO,qBAAqB,CAAA;AAC5B,OAAO,eAAe,CAAA;AACtB,OAAO,gBAAgB,CAAA;AAEvB,KAAK,iBAAiB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAE5D,cAAM,aAAc,SAAQ,WAAW;IACrC,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,iBAAiB,CAAgC;;IAOzD,iBAAiB,IAAI,IAAI;IAUzB,oBAAoB,IAAI,IAAI;IAO5B,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAM9F,KAAK,IAAI,MAAM;IAIf,UAAU,IAAI,MAAM;IAIpB,WAAW,IAAI,iBAAiB;IAQhC,UAAU,IAAI,OAAO;IAKrB,QAAQ,IAAI,MAAM;IAMlB,MAAM,IAAI,OAAO;IAKjB,IAAI,IAAI,IAAI;IAIZ,KAAK,IAAI,IAAI;IAIb,MAAM,IAAI,IAAI;IAiNd,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,kBAAkB;IAgC1B,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,YAAY;CAuBrB;AAOD,eAAe,aAAa,CAAA"}
package/dist/index.cjs CHANGED
@@ -143,7 +143,7 @@
143
143
  }
144
144
  }
145
145
  `,document.head.appendChild(t)}}customElements.get("mint-table")||customElements.define("mint-table",St);class Lt extends HTMLElement{constructor(){super(...arguments),this._root=null,this._textWrap=null,this._dismissBtn=null,this._clickHandler=null}static get observedAttributes(){return["dismissable"]}connectedCallback(){this._render()}disconnectedCallback(){this._dismissBtn&&this._clickHandler&&this._dismissBtn.removeEventListener("click",this._clickHandler)}attributeChangedCallback(){this._render()}_render(){var i;if(this.classList.add("inline-flex","items-center","gap-2","px-3","py-1","rounded-full","border","border-gray-200","dark:border-gray-700","bg-gray-100","dark:bg-gray-900","text-gray-900","dark:text-gray-100","text-sm","font-medium"),!this._root){for(this._root=document.createElement("div"),this._root.className="flex items-center gap-2 w-full",this._textWrap=document.createElement("span"),this._textWrap.className="inline-flex items-center min-w-[0.5rem]",this._textWrap.setAttribute("data-mt-chip-text","");this.firstChild;){const s=this.firstChild;if(s===this._root)break;this._textWrap.appendChild(s)}this._root.appendChild(this._textWrap),this.appendChild(this._root)}this.getAttribute("dismissable")==="true"?(this._dismissBtn||this._createDismissBtn(),this._dismissBtn&&!this._dismissBtn.isConnected&&((i=this._root)==null||i.appendChild(this._dismissBtn))):this._dismissBtn&&this._dismissBtn.parentElement===this._root&&this._dismissBtn.remove()}_createDismissBtn(){const t=document.createElement("button");t.type="button",t.setAttribute("aria-label","Dismiss"),t.className=["shrink-0","inline-flex","items-center","justify-center","w-5","h-5","rounded-full","text-gray-500","dark:text-gray-300","hover:text-gray-700","dark:hover:text-gray-100","focus-visible:outline-none","focus-visible:ring-2","focus-visible:ring-offset-1","focus-visible:ring-gray-400","dark:focus-visible:ring-gray-500","transition-colors","duration-150","border-none","bg-transparent","cursor-pointer"].join(" ");const e=document.createElement("mint-icon");e.setAttribute("name","close"),e.className="w-3 h-3",t.appendChild(e),this._clickHandler=i=>{i.stopPropagation(),this.dispatchEvent(new CustomEvent("dismissed",{bubbles:!0,composed:!0}))},t.addEventListener("click",this._clickHandler),this._dismissBtn=t}}customElements.get("mint-chip")||customElements.define("mint-chip",Lt);class Dt extends HTMLElement{constructor(){super(...arguments),this._container=null,this._chipsWrap=null,this._input=null,this._tags=[],this._placeholder="Add tag",this._dragIndex=null,this._dragChip=null,this._isPointerDragging=!1,this._pointerMoveHandler=null,this._pointerUpHandler=null}static get observedAttributes(){return["tags","placeholder","sortable","label","info","error","error-message","name","id","required","loading"]}connectedCallback(){this._parseAttrs(),this._render(),this._pointerMoveHandler||(this._pointerMoveHandler=t=>this._onPointerMove(t),window.addEventListener("pointermove",this._pointerMoveHandler)),this._pointerUpHandler||(this._pointerUpHandler=t=>this._onPointerUp(t),window.addEventListener("pointerup",this._pointerUpHandler),window.addEventListener("pointercancel",this._pointerUpHandler))}attributeChangedCallback(t,e,i){if(e!==i){if(t==="error"||t==="error-message"){if(this._renderErrorState(),this._container){const s=this.hasError(),n=["flex","flex-wrap","items-center","gap-2","w-full","px-2","py-1.5","min-h-[2rem]","rounded-lg","border-2",s?"border-red-300 dark:border-red-300":"border-gray-200 dark:border-gray-700","bg-white","dark:bg-gray-900","focus-within:ring-2","focus-within:ring-offset-1",s?"focus-within:ring-red-400 dark:focus-within:ring-red-500":"focus-within:ring-gray-400 dark:focus-within:ring-gray-500","transition-colors","duration-200"];this._container.className=n.join(" ")}return}if(t==="loading"){this._parseAttrs(),this._render();return}this._parseAttrs(),this._render()}}set tags(t){this._tags=Array.isArray(t)?[...t]:[],this._syncAttr(),this._render()}get tags(){return[...this._tags]}_parseAttrs(){const t=this.getAttribute("tags");if(!t)return;try{const i=JSON.parse(t);Array.isArray(i)&&(this._tags=i)}catch(i){console.warn("mint-tags: failed to parse tags attribute",i)}const e=this.getAttribute("placeholder");e!==null&&(this._placeholder=e)}_syncAttr(){this.setAttribute("tags",JSON.stringify(this._tags))}getLabel(){return this.getAttribute("label")||""}getInfo(){return this.getAttribute("info")||""}hasError(){return this.getAttribute("error")==="true"}getErrorMessage(){return this.getAttribute("error-message")||""}getName(){return this.getAttribute("name")||""}getId(){return this.getAttribute("id")||""}isRequired(){return this.getAttribute("required")==="true"}isLoading(){return this.hasAttribute("loading")}_render(){this.classList.add("box-border","m-0","p-0","border-0","align-baseline","block","w-full");const t=this.isLoading(),e=this.getLabel(),i=this.getInfo(),s=this.hasError(),n=this.getId()||`mint-tags-${Math.random().toString(36).substr(2,9)}`;if(this.getId()||this.setAttribute("id",n),this._container)this._input&&(this._input.placeholder=this._placeholder);else{this._container=document.createElement("div");const o=["flex","flex-wrap","items-center","gap-2","w-full","px-2","py-1","min-h-[2rem]","rounded-lg","border-2",s?"border-red-300 dark:border-red-300":"border-gray-200 dark:border-gray-700","bg-white","dark:bg-gray-800","focus-within:ring-2","focus-within:ring-offset-1",s?"focus-within:ring-red-400 dark:focus-within:ring-red-500":"focus-within:ring-gray-400 dark:focus-within:ring-gray-500","transition-colors","duration-200"];this._container.className=o.join(" "),this._chipsWrap=document.createElement("div"),this._chipsWrap.className="flex flex-wrap items-center gap-2",this._chipsWrap.addEventListener("dragover",c=>{this.hasAttribute("sortable")&&c.preventDefault()}),this._chipsWrap.addEventListener("drop",c=>{this.hasAttribute("sortable")&&c.preventDefault()}),this._input=document.createElement("input"),this._input.type="text",this._input.placeholder=this._placeholder,this._input.className=["min-w-[6rem]","flex-1","bg-transparent","border-none","outline-none","text-sm","text-gray-900","dark:text-gray-100","placeholder:text-gray-400","dark:placeholder:text-gray-500","p-1.5"].join(" "),this._input.addEventListener("keydown",c=>{c.key==="Enter"&&(c.preventDefault(),this._addFromInput())}),this._container.appendChild(this._chipsWrap),this.appendChild(this._container)}if(this._container){const o=["flex","flex-wrap","items-center","gap-2","w-full","px-2","py-1","min-h-[2rem]","rounded-lg","border-2",s?"border-red-300 dark:border-red-300":"border-gray-200 dark:border-gray-700","bg-white","dark:bg-gray-800","focus-within:ring-2","focus-within:ring-offset-1",s?"focus-within:ring-red-400 dark:focus-within:ring-red-500":"focus-within:ring-gray-400 dark:focus-within:ring-gray-500","transition-colors","duration-200"];this._container.className=o.join(" ")}let r=this.querySelector(".mint-tags-label-container");if(e){r||(r=document.createElement("div"),r.className="mint-tags-label-container mb-[.25rem]",this._container&&this._container.parentElement===this?this.insertBefore(r,this._container):this.insertBefore(r,this.firstChild));let o=r.querySelector(".mint-tags-label");e?(o||(o=document.createElement("label"),o.className="mint-tags-label text-sm font-medium text-gray-900 dark:text-gray-100 select-none",r.appendChild(o)),o.textContent=e,o.setAttribute("for",n)):o&&o.remove()}else r&&r.remove();let a=this.querySelector(".mint-tags-info");i?(a||(a=document.createElement("span"),a.className="mint-tags-info text-xs text-gray-500 dark:text-gray-400 select-none mt-1 block",this._container&&this._container.parentElement===this?this.insertBefore(a,this._container.nextSibling):this.appendChild(a)),a.textContent=i):a&&a.remove();const l=this.getName();l?(this.setAttribute("name",l),this._input&&(this._input.name=l,this._input.id=n)):(this.removeAttribute("name"),this._input&&(this._input.removeAttribute("name"),this._input.id=n)),this._wireInputBackspace(),this._renderChips(),this._renderErrorState(),this._renderSkeleton(t)}_renderSkeleton(t){const e=this._container;if(!e)return;e.classList.contains("relative")||e.classList.add("relative");let i=e.querySelector(".mint-tags-skeleton");t?(i||(i=document.createElement("div"),i.className="mint-tags-skeleton absolute inset-0 z-10 pointer-events-none rounded-lg bg-gray-200 dark:bg-gray-700 animate-pulse",e.appendChild(i)),i.style.display="block",this._chipsWrap&&(this._chipsWrap.style.visibility="hidden",this._chipsWrap.style.pointerEvents="none"),this._input&&(this._input.style.visibility="hidden",this._input.style.pointerEvents="none")):(i&&(i.style.display="none"),this._chipsWrap&&(this._chipsWrap.style.visibility="visible",this._chipsWrap.style.pointerEvents="auto"),this._input&&(this._input.style.visibility="visible",this._input.style.pointerEvents="auto"))}_renderErrorState(){const t=this.hasError(),e=this.getErrorMessage();let i=this.querySelector(".mint-tags-error");t&&e?(i||(i=document.createElement("div"),i.className="mint-tags-error mt-1 text-xs text-red-600 dark:text-red-400",this.appendChild(i)),i.textContent=e):i&&i.remove()}_renderChips(){if(!this._chipsWrap)return;this._chipsWrap.innerHTML="";let t=0;this._tags.forEach(e=>{const i=document.createElement("mint-chip");i.dataset.index=String(t++),i.dataset.value=e.value,i.draggable=this.hasAttribute("sortable"),i.draggable&&i.classList.add("cursor-move"),e.dismissable&&(i.setAttribute("dismissable","true"),i.addEventListener("dismissed",()=>this._removeTag(e.value))),this._chipsWrap.appendChild(i);const s=i.querySelector("[data-mt-chip-text]");s&&(s.textContent=e.label||e.value),this._setupChipEvents(i,e),i.draggable&&(i.addEventListener("dragstart",n=>this._onDragStart(n,i)),i.addEventListener("dragover",n=>this._onDragOverChip(n,i)),i.addEventListener("drop",n=>this._onDrop(n)),i.addEventListener("dragend",()=>this._onDragEnd())),this.hasAttribute("sortable")&&i.addEventListener("pointerdown",n=>this._onPointerDown(n,i))}),this._input&&(this.hasAttribute("sortable")&&(this._input.addEventListener("dragover",e=>this._onDragOverInput(e)),this._input.addEventListener("drop",e=>this._onDrop(e)),this._input.addEventListener("dragend",()=>this._onDragEnd())),this._chipsWrap.appendChild(this._input))}_addFromInput(){if(!this._input)return;const t=this._input.value.trim();if(!t)return;if(this._tags.some(i=>i.value.toLowerCase()===t.toLowerCase())){this._input.value="";return}this._tags.push({value:t,label:t,dismissable:!0}),this._syncAttr(),this._renderChips(),this._emitChange(),this._input.value="",setTimeout(()=>{var i;(i=this._input)==null||i.focus()},10)}_removeTag(t){this._tags=this._tags.filter(e=>e.value!==t),this._syncAttr(),this._renderChips(),this._emitChange()}_emitChange(){this.dispatchEvent(new CustomEvent("tags-change",{bubbles:!0,composed:!0,detail:{tags:this.tags}}))}_focusLastChip(){var e;const t=(e=this._chipsWrap)==null?void 0:e.querySelectorAll("mint-chip");t&&t.length>0&&t[t.length-1].focus({preventScroll:!0})}_focusInput(){setTimeout(()=>{var t;(t=this._input)==null||t.focus({preventScroll:!0})},10)}_wireInputBackspace(){this._input&&this._input.addEventListener("keydown",t=>{var e;t.key==="Backspace"&&((e=this._input)==null?void 0:e.value)===""&&(t.preventDefault(),this._focusLastChip())})}_setupChipEvents(t,e){t.tabIndex=0,t.addEventListener("keydown",i=>{(i.key==="Backspace"||i.key==="Delete")&&e.dismissable&&(i.preventDefault(),this._removeTag(e.value),this._focusInput())})}_onDragStart(t,e){var i;this.hasAttribute("sortable")&&(this._dragChip=e,this._dragIndex=Number(e.dataset.index),(i=t.dataTransfer)==null||i.setData("text/plain",e.dataset.index||""),t.dataTransfer&&(t.dataTransfer.effectAllowed="move",t.dataTransfer.dropEffect="move"),e.classList.add("opacity-60"))}_reorderTags(t,e){if(t<0||e<0||t>=this._tags.length||e>=this._tags.length)return;const i=[...this._tags],[s]=i.splice(t,1);i.splice(e,0,s),this._tags=i,this._syncAttr(),this._renderChips(),this._emitChange()}_onDragOverInput(t){this.hasAttribute("sortable")&&(t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect="move"),this._dragChip&&this._chipsWrap&&this._input&&this._chipsWrap.insertBefore(this._dragChip,this._input))}_onDragOverChip(t,e){if(!this.hasAttribute("sortable")||(t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect="move"),!this._dragChip||!this._chipsWrap)||e===this._dragChip)return;const i=e.getBoundingClientRect(),s=t.clientX,n=i.left+i.width*.5;if(s<n){if(this._dragChip.nextSibling===e)return;this._chipsWrap.insertBefore(this._dragChip,e)}else{if(e.nextSibling===this._dragChip)return;const r=e.nextSibling;r?this._chipsWrap.insertBefore(this._dragChip,r):this._chipsWrap.appendChild(this._dragChip)}}_onDrop(t){this.hasAttribute("sortable")&&t.preventDefault()}_onDragEnd(){this._dragChip&&this._dragChip.classList.remove("opacity-60"),this._syncOrderFromDom(),this._dragChip=null,this._dragIndex=null}_syncOrderFromDom(){if(!this._chipsWrap)return;const t=Array.from(this._chipsWrap.querySelectorAll("mint-chip"));if(t.length===0)return;const e=[];t.forEach(i=>{const s=i.dataset.value;if(!s)return;const n=this._tags.find(r=>r.value===s);n&&e.push(n)}),e.length===this._tags.length&&(this._tags=e,this._syncAttr(),this._renderChips(),this._emitChange())}_onPointerDown(t,e){if(this.hasAttribute("sortable")&&t.pointerType!=="mouse"){this._isPointerDragging=!0,this._dragChip=e,this._dragIndex=Number(e.dataset.index);try{e.setPointerCapture(t.pointerId)}catch{}e.classList.add("opacity-60","select-none"),t.preventDefault()}}_onPointerMove(t){if(!this._isPointerDragging||!this._dragChip||!this._chipsWrap||t.pointerType==="mouse")return;const e=document.elementFromPoint(t.clientX,t.clientY);if(!e)return;const i=e.closest("mint-chip");if(i&&i!==this._dragChip){const s=i.getBoundingClientRect(),n=t.clientX,r=s.left+s.width*.5;if(n<r)this._dragChip.nextSibling!==i&&this._chipsWrap.insertBefore(this._dragChip,i);else if(i.nextSibling!==this._dragChip){const a=i.nextSibling;a?this._chipsWrap.insertBefore(this._dragChip,a):this._chipsWrap.appendChild(this._dragChip)}return}this._input&&e.closest("input")===this._input&&this._chipsWrap.insertBefore(this._dragChip,this._input)}_onPointerUp(t){if(this._isPointerDragging){if(this._isPointerDragging=!1,this._dragChip){try{this._dragChip.releasePointerCapture(t.pointerId)}catch{}this._dragChip.classList.remove("opacity-60","select-none")}this._syncOrderFromDom(),this._dragChip=null,this._dragIndex=null}}}customElements.get("mint-tags")||customElements.define("mint-tags",Dt);class Tt extends HTMLElement{constructor(){super(...arguments),this._clickHandler=null,this._keydownHandler=null}connectedCallback(){this._render(),this._setupEventListeners()}disconnectedCallback(){this._cleanupEventListeners()}_render(){this.classList.add("transition-colors","duration-200","focus-visible:outline-none","focus-visible:ring-2","focus-visible:ring-offset-1","focus-visible:ring-gray-400","dark:focus-visible:ring-gray-500","rounded"),this.getAttribute("disabled")==="true"?this.classList.add("cursor-not-allowed","opacity-50"):this.classList.add("cursor-pointer"),this.getAttribute("role")||this.setAttribute("role","button"),this.getAttribute("tabindex")||this.setAttribute("tabindex","0")}_setupEventListeners(){this._clickHandler=t=>{if(this.getAttribute("disabled")==="true"){t.preventDefault(),t.stopPropagation();return}this._handleClick(t)},this._keydownHandler=t=>{if(t.key==="Enter"||t.key===" "){if(this.getAttribute("disabled")==="true"){t.preventDefault(),t.stopPropagation();return}t.preventDefault(),this._handleClick(t)}},this.addEventListener("click",this._clickHandler),this.addEventListener("keydown",this._keydownHandler)}_cleanupEventListeners(){this._clickHandler&&(this.removeEventListener("click",this._clickHandler),this._clickHandler=null),this._keydownHandler&&(this.removeEventListener("keydown",this._keydownHandler),this._keydownHandler=null)}_handleClick(t){this.dispatchEvent(new CustomEvent("clickable-click",{bubbles:!0,composed:!0,detail:{originalEvent:t}}))}static get observedAttributes(){return["disabled"]}attributeChangedCallback(t,e,i){t==="disabled"&&(i==="true"?(this.classList.remove("cursor-pointer"),this.classList.add("opacity-50","cursor-not-allowed"),this.setAttribute("aria-disabled","true")):(this.classList.remove("opacity-50","cursor-not-allowed"),this.classList.add("cursor-pointer"),this.removeAttribute("aria-disabled")))}}customElements.get("mint-clickable")||customElements.define("mint-clickable",Tt);class Ht extends HTMLElement{constructor(){super(),this._headingElement=null,this._iconElement=null,this._dismissButton=null,this._headerWrapper=null,this._bodyWrapper=null,this._dismissHandler=null}static get observedAttributes(){return["heading","dismissable","tone"]}connectedCallback(){this.classList.add("box-border","m-0","p-0","border-0","align-baseline","block"),this.render()}disconnectedCallback(){this._dismissButton&&this._dismissHandler&&this._dismissButton.removeEventListener("click",this._dismissHandler)}attributeChangedCallback(t,e,i){e!==i&&this.render()}getHeading(){return this.getAttribute("heading")||""}getTone(){const t=this.getAttribute("tone");return t==="info"||t==="success"||t==="warning"||t==="danger"?t:"info"}isDismissable(){return this.getAttribute("dismissable")==="true"}getIconName(){switch(this.getTone()){case"info":return"info";case"success":return"success";case"warning":return"warning";case"danger":return"error";default:return"info"}}getIconColorClasses(){switch(this.getTone()){case"info":return"text-blue-600 dark:text-blue-400";case"success":return"text-green-600 dark:text-green-400";case"warning":return"text-yellow-600 dark:text-yellow-400";case"danger":return"text-red-600 dark:text-red-400";default:return"text-blue-600 dark:text-blue-400"}}getHeadingColorClasses(){return"text-gray-900 dark:text-gray-100"}getHeaderBackgroundClasses(){switch(this.getTone()){case"info":return"bg-blue-100 dark:bg-blue-900/30";case"success":return"bg-green-100 dark:bg-green-900/30";case"warning":return"bg-yellow-100 dark:bg-yellow-900/30";case"danger":return"bg-red-100 dark:bg-red-900/30";default:return"bg-blue-100 dark:bg-blue-900/30"}}getBorderClasses(){switch(this.getTone()){case"info":return"border-blue-200 dark:border-blue-800";case"success":return"border-green-200 dark:border-green-800";case"warning":return"border-yellow-200 dark:border-yellow-800";case"danger":return"border-red-200 dark:border-red-800";default:return"border-blue-200 dark:border-blue-800"}}getAriaLive(){return this.getTone()==="danger"?"assertive":"polite"}render(){const t=this.getTone(),e=this.getHeading(),i=this.isDismissable();this.className=`box-border m-0 p-0 border-0 align-baseline block rounded-lg border shadow-sm overflow-hidden transition-colors duration-200 ${this.getBorderClasses()}`;const s=this.getAriaLive();this.setAttribute("role","alert"),this.setAttribute("aria-live",s),t==="danger"?this.setAttribute("aria-atomic","true"):this.removeAttribute("aria-atomic");const n=[];for(this._bodyWrapper?Array.from(this._bodyWrapper.childNodes).forEach(a=>{n.push(a)}):Array.from(this.childNodes).forEach(r=>{r!==this._headerWrapper&&r!==this._bodyWrapper&&r!==this._iconElement&&r!==this._headingElement&&r!==this._dismissButton&&n.push(r)}),this._dismissButton&&this._dismissHandler&&this._dismissButton.removeEventListener("click",this._dismissHandler);this.firstChild;)this.removeChild(this.firstChild);if(this._headerWrapper=null,this._bodyWrapper=null,this._iconElement=null,this._headingElement=null,this._dismissButton=null,this._headerWrapper=document.createElement("div"),this._headerWrapper.className=`px-4 py-3 flex items-center gap-3 ${this.getHeaderBackgroundClasses()}`,this._iconElement=document.createElement("mint-icon"),this._iconElement.setAttribute("name",this.getIconName()),this._iconElement.className=`flex-shrink-0 w-5 h-5 ${this.getIconColorClasses()}`,this._headerWrapper.appendChild(this._iconElement),this._headingElement=document.createElement("mint-text"),this._headingElement.className=`font-semibold flex-1 ${this.getHeadingColorClasses()}`,this._headingElement.textContent=e||"",this._headerWrapper.appendChild(this._headingElement),i){this._dismissButton=document.createElement("button"),this._dismissButton.className="flex-shrink-0 p-1 rounded hover:bg-black/10 dark:hover:bg-white/10 transition-colors",this._dismissButton.setAttribute("aria-label","Dismiss alert"),this._dismissButton.setAttribute("type","button");const r=document.createElement("mint-icon");r.setAttribute("name","close"),r.className="w-4 h-4 text-gray-700 dark:text-gray-300",this._dismissButton.appendChild(r),this._dismissHandler=a=>{a.preventDefault(),a.stopPropagation(),this.dispatchEvent(new CustomEvent("dismissed",{bubbles:!0,composed:!0})),this.remove()},this._dismissButton.addEventListener("click",this._dismissHandler),this._headerWrapper.appendChild(this._dismissButton)}this._bodyWrapper=document.createElement("div"),this._bodyWrapper.className="px-4 py-3 bg-white dark:bg-gray-900",n.forEach(r=>{this._bodyWrapper.appendChild(r)}),this.appendChild(this._headerWrapper),this.appendChild(this._bodyWrapper)}}customElements.get("mint-alert")||customElements.define("mint-alert",Ht);class Mt extends HTMLElement{constructor(){super(),this._configuration=null,this._rows=[],this._search="",this._currentPage=1,this._perPage=15,this._totalRows=0,this._lastPage=0,this._offset=0,this._rowsToShow=15,this._loaded=!1,this._fetching=!1,this._loading=!1,this._loadingPage=null,this._fetchError=null,this._searching=!1,this._sorting=!1,this._sortingColumn=null,this._type="provided",this._searchTimeoutId=null,this._sortTimeoutId=null,this._searchColumns=[],this._exportColumns={},this._columns=[],this._tableId="",this._searchInput=null,this._tableContainer=null,this._paginationContainer=null,this._skeletonContainer=null,this._inMintCard=!1}static get observedAttributes(){return["configuration"]}get inMintCard(){return this._inMintCard}get configuration(){return this._configuration}set configuration(t){t&&typeof t=="object"&&!Array.isArray(t)?(this._configuration=t,this._tableId=this._configuration.id||`mint-resource-table-${Date.now()}`,this._perPage=this._configuration.perPage||15,this._rowsToShow=this._perPage,this._type=typeof this._configuration.data=="string"?"ajax":"provided",this._loaded=!1,this._currentPage=1,this._offset=0,this._type==="provided"&&Array.isArray(this._configuration.data)&&(this._rows=[...this._configuration.data],this._totalRows=this._configuration.data.length),this._initializeColumns(),this._loadColumnVisibility(),this.isConnected&&this.render()):t==null?this._configuration=null:this._parseConfiguration()}connectedCallback(){var t,e;this.classList.add("box-border","m-0","p-0","border-0","align-baseline","block","w-full"),this._inMintCard=((e=(t=this.parentElement)==null?void 0:t.tagName)==null?void 0:e.toLowerCase())==="mint-card",this._configuration||this._parseConfiguration(),this._initializeColumns(),this._loadColumnVisibility(),this._loadPageFromUrl(),this._attachRowClickHandler(),this.render()}disconnectedCallback(){this._searchTimeoutId&&clearTimeout(this._searchTimeoutId),this._rowClickHandler&&(this.removeEventListener("click",this._rowClickHandler,!0),this._rowClickHandler=null),this._scrollHandler&&(window.removeEventListener("scroll",this._scrollHandler),this._scrollHandler=null)}attributeChangedCallback(t,e,i){t==="configuration"&&e!==i&&(!this._configuration||typeof i=="string")&&(this._parseConfiguration(),this.render())}refresh(){this._configuration&&(this._type==="ajax"?this._configuration.loadMore?(this._offset=0,this._currentPage=1,this._rowsToShow=this._perPage,this._rows=[],this._fetchData(void 0,!0,this._perPage,0)):this._fetchData(void 0,!0,this._perPage,this._offset):this.render())}_parseConfiguration(){const t=this.getAttribute("configuration");if(!t){console.error("mint-resource-table: configuration attribute is required");return}try{this._configuration=JSON.parse(t),this._tableId=this._configuration.id||`mint-resource-table-${Date.now()}`,this._perPage=this._configuration.perPage||15,this._rowsToShow=this._perPage,this._type=typeof this._configuration.data=="string"?"ajax":"provided",this._loaded=!1;const e=this._getPageFromUrl();this._currentPage=e||1,this._offset=(this._currentPage-1)*this._perPage,this._type==="provided"&&Array.isArray(this._configuration.data)&&(this._rows=[...this._configuration.data],this._totalRows=this._configuration.data.length),this._initializeColumns(),this._loadColumnVisibility()}catch(e){console.error("mint-resource-table: Invalid configuration JSON",e)}}_getColumnVisibilityStorageKey(){return`mrtc-${this._tableId}`}_saveColumnVisibility(){if(!this._configuration)return;const t={};this._configuration.columns.forEach((e,i)=>{t[i]=e.hidden||!1});try{localStorage.setItem(this._getColumnVisibilityStorageKey(),JSON.stringify(t))}catch(e){console.warn("Failed to save column visibility to localStorage:",e)}}_loadColumnVisibility(){if(this._configuration)try{const t=localStorage.getItem(this._getColumnVisibilityStorageKey());if(t){const e=JSON.parse(t);this._configuration.columns.forEach((i,s)=>{e[s]!==void 0&&(i.hidden=e[s])})}}catch(t){console.warn("Failed to load column visibility from localStorage:",t)}}_initializeColumns(){this._configuration&&(this._searchColumns=[],this._exportColumns={},this._columns=[],this._configuration.columns.forEach(t=>{t.searchable&&t.data&&this._searchColumns.push(t.data),t.export&&t.data&&(this._exportColumns[t.data]=t.label),t.data&&this._columns.push(t.data)}),this._configuration.sortBy||(this._configuration.sortBy="id"),this._configuration.sort||(this._configuration.sort="asc"))}async _fetchData(t,e=!0,i,s){var l,o,c,h,u,d,p,f;if(!this._configuration)return;const n=t||(typeof this._configuration.data=="string"?this._configuration.data:null);if(!n||this._fetching||this._loading)return;e&&(this._fetching=!0,this._loaded?this._updatePagination():this.render()),this._loading=!0;const r=i||this._perPage,a=s!==void 0?s:this._offset;try{const m=new URLSearchParams({perPage:r.toString(),offset:a.toString(),search:this._search,sortBy:this._configuration.sortBy||"id",sort:this._configuration.sort||"asc",searchColumns:this._searchColumns.join(","),columns:this._columns.join(",")}),g={};this._configuration.headers&&(g.headers=this._configuration.headers);const _=await fetch(`${n}?${m.toString()}`,g);if(!_.ok)throw new Error(`HTTP error! status: ${_.status}`);const b=await _.json(),v=((l=b.content)==null?void 0:l.rows)||[],y=((o=b.content)==null?void 0:o.total)||0;if(this._configuration.loadMore&&a!==0)this._rows=this._rows.concat(v);else{let S=v;this._configuration.predefinedData?(S=[...this._configuration.predefinedData,...v],this._totalRows=y+this._configuration.predefinedData.length):this._totalRows=y,this._rows=S}const x=Math.floor(a/r)+1;this._configuration.loadMore||(((c=b.content)==null?void 0:c.current_page)!==void 0&&b.content.current_page===x?this._currentPage=b.content.current_page:this._currentPage=x,this._offset=(this._currentPage-1)*r),this._lastPage=((h=b.content)==null?void 0:h.last_page)||1,this._fetching=!1,this._loaded=!0,this._loading=!1,this._fetchError=null,this._searching=!1;const D=this._sorting;if(D&&this._updateSortIcons(),this._sorting=!1,this._sortingColumn=null,D&&this._updateSortIcons(),this.dispatchEvent(new CustomEvent("loaded",{detail:{rows:this._rows}})),this._updateSearchIcon(),(d=(u=this.querySelector(`#${this._tableId}`))==null?void 0:u.closest("table"))==null?void 0:d.querySelector("tbody")){if(D){const k=this._loading,C=this._fetching;this._loading=!1,this._fetching=!1,this._updateTableBody(),this._loading=k,this._fetching=C}else this._updateTableBody();const S=this._loadingPage;this._loadingPage=null,this._updatePagination(),setTimeout(()=>{var C;const k=(C=this.querySelector("nav"))==null?void 0:C.closest(".flex.justify-end");k&&k.querySelectorAll('mint-button[data-action="page"]').forEach(A=>{"render"in A&&typeof A.render=="function"&&A.render()})},0)}else this.render()}catch(m){this._fetching=!1,this._loading=!1,this._loadingPage=null,this._loaded=!0,this._searching=!1,this._fetchError=m instanceof Error?m.message:"Failed to fetch data",console.error("mint-resource-table: Error fetching data",m),this._updateSearchIcon(),((f=(p=this.querySelector(`#${this._tableId}`))==null?void 0:p.closest("table"))==null?void 0:f.querySelector("tbody"))?(this._updateTableBody(),this._loadingPage=null,this._updatePagination()):this.render()}}_getRows(){if(!this._configuration)return[];if(this._type==="ajax")return this._rows;let t=[...this._rows];const e=this._configuration.sortBy||"id",i=this._configuration.sort||"asc";if(this._search){const s=this._search.toLowerCase().trim().split(/\s+/);t=t.filter(n=>{const r=Object.values(n).map(a=>String(a).toLowerCase()).join(" ");return s.every(a=>r.includes(a))})}if(t.sort((s,n)=>{const r=s[e],a=n[e];if(r==null&&a==null)return 0;if(r==null)return 1;if(a==null)return-1;const l=typeof r=="number"?r:typeof r=="string"&&!isNaN(Number(r))&&r.trim()!==""?Number(r):null,o=typeof a=="number"?a:typeof a=="string"&&!isNaN(Number(a))&&a.trim()!==""?Number(a):null;if(l!==null&&o!==null){const d=l-o;return i==="asc"?d:-d}const c=r instanceof Date?r:typeof r=="string"?new Date(r):null,h=a instanceof Date?a:typeof a=="string"?new Date(a):null;if(c&&h&&!isNaN(c.getTime())&&!isNaN(h.getTime())){const d=c.getTime()-h.getTime();return i==="asc"?d:-d}const u=String(r).localeCompare(String(a),void 0,{numeric:!0,sensitivity:"base"});return i==="asc"?u:-u}),this._perPage){const s=Math.ceil(t.length/this._perPage);this._lastPage=s,t.forEach((n,r)=>{n.page=Math.ceil((r+1)/this._perPage)}),this._currentPage>s&&s>0&&(this._currentPage=s)}return this._configuration.loadMore?t.slice(0,this._rowsToShow):t.filter(s=>!this._perPage||s.page===this._currentPage)}_toggleSort(t){var i;if(!this._configuration||!t.data||!t.sortable)return;const e=t.data;if(this._sortTimeoutId!==null&&(clearTimeout(this._sortTimeoutId),this._sortTimeoutId=null),this._sorting=!0,this._sortingColumn=t,this._updateSortIcons(),this._type==="ajax")this._sortTimeoutId=window.setTimeout(()=>{var n;if(this._sortTimeoutId=null,!this._configuration||!e||!t.sortable)return;let s=this._configuration.sort||"asc";((n=this._configuration.sortBy)==null?void 0:n.toLowerCase())===e.toLowerCase()&&(s=s==="desc"?"asc":"desc"),this._configuration.sort=s,this._configuration.sortBy=e,this._updateSortIcons(),this._offset=0,this._currentPage=1,this._configuration.loadMore&&(this._rowsToShow=this._perPage),this._fetching=!1,this._loading=!1,this._configuration.loadMore?this._fetchData(void 0,!1,this._perPage,0):this._fetchData(void 0,!1,this._perPage,0)},10);else{let s=this._configuration.sort||"asc";((i=this._configuration.sortBy)==null?void 0:i.toLowerCase())===e.toLowerCase()&&(s=s==="desc"?"asc":"desc"),this._configuration.sort=s,this._configuration.sortBy=e,this._currentPage=1,this._sorting=!1,this._sortingColumn=null,this._updateSortIcons(),this.render()}}_getSortClass(t){var e,i,s,n,r;return this._sorting&&this._sortingColumn===t?"spinner":((i=(e=this._configuration)==null?void 0:e.sortBy)==null?void 0:i.toLowerCase())===((s=t.data)==null?void 0:s.toLowerCase())?((r=(n=this._configuration)==null?void 0:n.sort)==null?void 0:r.toLowerCase())==="desc"?"caret-down":"caret-up":""}_updateSortIcons(){this._configuration&&this._configuration.columns.forEach((t,e)=>{if(!t.sortable||t.hidden)return;const i=this.querySelector(`th[data-column-key="${e}"]`);if(!i)return;const s=i.querySelector(".ml-2.flex.items-center");if(!s)return;const n=s.querySelector("mint-icon"),r=s.querySelector("mint-spinner"),a=this._getSortClass(t);if(a==="spinner"){if(n&&n.remove(),!r){const l=document.createElement("mint-spinner");l.className="w-4 h-4",s.appendChild(l)}}else if(r&&r.remove(),n)n.setAttribute("name",a),n.className=`w-4 h-4 ${a==="sort-arrows"?"text-gray-400":""}`;else{const l=document.createElement("mint-icon");l.setAttribute("name",a),l.className=`w-4 h-4 ${a==="sort-arrows"?"text-gray-400":""}`,s.appendChild(l)}})}_showFetchingState(){}_triggerSearch(){this._searchTimeoutId&&clearTimeout(this._searchTimeoutId),this._searching=!0,this._type==="ajax"&&this._updateSearchIcon(),this._type!=="ajax"&&(this._currentPage=1),this._updateTableBody(),this._type!=="ajax"&&this._updatePagination(),this._searchTimeoutId=window.setTimeout(()=>{this._type==="ajax"?(this._offset=0,this._fetchData(void 0,!1,this._perPage,0)):this._searching=!1},400)}_updateSearchIcon(){const t=this.querySelector(`#search-${this._tableId}`);if(!t)return;const e=this._type==="ajax"&&(this._searching||this._fetching);setTimeout(()=>{const i=t.querySelector(".relative")||t.querySelector("div");if(!i)return;const s=i.querySelector("mint-icon"),n=i.querySelector("mint-spinner");if(e){if(s&&!n){const r=document.createElement("mint-spinner");r.className="absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 pointer-events-none",s.replaceWith(r)}else if(!s&&!n){const r=document.createElement("mint-spinner");r.className="absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 pointer-events-none",i.appendChild(r)}}else if(n){t.getAttribute("icon")||t.setAttribute("icon","search");const r=document.createElement("mint-icon");r.setAttribute("name","search"),r.className="absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400 dark:text-gray-500 pointer-events-none",n.replaceWith(r)}},0)}_updateTableBody(){var a,l;if(!this._configuration)return;const t=this._getRows(),e=(l=(a=this.querySelector(`#${this._tableId}`))==null?void 0:a.closest("table"))==null?void 0:l.querySelector("tbody");if(!e){this.render();return}const i=this.querySelector(`#search-${this._tableId}`),s=document.activeElement===i||(i==null?void 0:i.querySelector("input"))===document.activeElement,n=this._search;let r="";if(!((this._fetching||this._loading)&&!this._loaded&&!this._sorting)&&(t.forEach((o,c)=>{const h=typeof this._configuration.onRowClick=="function",u=h?"cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors":"";r+=`<tr data-row-index="${c}" ${h?'data-row-clickable="true"':""}${u?` class="${u}"`:""}>`,this._configuration.columns.forEach((d,p)=>{if(d.hidden)return;const f=!d.show||d.show(this,o);if(r+=`<td style="${this._getStyle(d)}" class="${this._getClasses(d,!0)}">`,f)if(d.raw)if(d.action)(!d.action.show||d.action.show(this,o))&&(r+=`<mint-button variant="solid" data-action="column-action" data-row-index="${c}" data-column-key="${this._configuration.columns.indexOf(d)}">${d.action.label}</mint-button>`);else if(d.actions)if(d.actionStyle!=="buttons"){const m=`actions-popover-${this._tableId}-${c}`,g=`actions-button-${this._tableId}-${c}`;r+=`<mint-button id="${g}" variant="link" icon="ellipsis">`,r+="</mint-button>",r+=`<mint-popover id="${m}" trigger-id="${g}" direction="down">`,d.actions.forEach((_,b)=>{if(!_.show||_.show(this,o)){const v=typeof _.label=="function"?_.label(this,o):_.label;r+=`<div class="p-2 cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700" data-action="row-action" data-row-index="${c}" data-action-index="${b}" data-column-key="${this._configuration.columns.indexOf(d)}">${v}</div>`}}),r+="</mint-popover>"}else d.actions.forEach((m,g)=>{if(!m.show||m.show(this,o)){const _=m.label?typeof m.label=="function"?m.label(this,o):m.label:"",b=m.icon?` icon="${this._escapeHtml(m.icon)}"`:"",v=m.tone?` tone="${this._escapeHtml(m.tone)}"`:"";r+=`<mint-button variant="link" class="${m.classes||""}" data-action="row-action" data-row-index="${c}" data-action-index="${g}" data-column-key="${this._configuration.columns.indexOf(d)}"${b}${v}>`,_&&(r+=this._escapeHtml(String(_))),r+="</mint-button>"}});else typeof d.format=="function"?r+=d.format(this,o):d.data&&(r+=this._escapeHtml(String(o[d.data]||"")));else if(d.action){if(!d.action.show||d.action.show(this,o)){const m=typeof d.action.label=="function"?d.action.label(this,o):d.action.label;r+=`<mint-button variant="solid" data-action="column-action" data-row-index="${c}" data-column-key="${this._configuration.columns.indexOf(d)}">${this._escapeHtml(String(m))}</mint-button>`}}else if(d.actions)if(d.actionStyle!=="buttons"){const m=`actions-popover-${this._tableId}-${c}`,g=`actions-button-${this._tableId}-${c}`;r+=`<mint-button id="${g}" variant="link" icon="ellipsis">`,r+="</mint-button>",r+=`<mint-popover id="${m}" trigger-id="${g}" direction="down">`,d.actions.forEach((_,b)=>{if(!_.show||_.show(this,o)){const v=typeof _.label=="function"?_.label(this,o):_.label;r+=`<div class="p-2 cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700" data-action="row-action" data-row-index="${c}" data-action-index="${b}" data-column-key="${this._configuration.columns.indexOf(d)}">${v}</div>`}}),r+="</mint-popover>"}else d.actions.forEach((m,g)=>{if(!m.show||m.show(this,o)){const _=m.label?typeof m.label=="function"?m.label(this,o):m.label:"",b=m.icon?` icon="${this._escapeHtml(m.icon)}"`:"",v=m.tone?` tone="${this._escapeHtml(m.tone)}"`:"";r+=`<mint-button variant="link" class="${m.classes||""}" data-action="row-action" data-row-index="${c}" data-action-index="${g}" data-column-key="${this._configuration.columns.indexOf(d)}"${b}${v}>`,_&&(r+=this._escapeHtml(String(_))),r+="</mint-button>"}});else typeof d.format=="function"?r+=this._escapeHtml(d.format(this,o)):d.data&&(r+=this._escapeHtml(String(o[d.data]||"")));r+="</td>"}),r+="</tr>"}),t.length===0&&(this._fetchError?r+=`<tr><td colspan="${this._configuration.columns.filter(o=>!o.hidden).length}" class="text-center py-8 text-red-500 dark:text-red-400">Failed to load data: ${this._escapeHtml(this._fetchError)}</td></tr>`:r+=`<tr><td colspan="${this._configuration.columns.filter(o=>!o.hidden).length}" class="text-center py-8">No records found.</td></tr>`),e.innerHTML=r,this._attachTableEventListeners(),this._attachRowClickHandler(),s&&i)){const o=i.querySelector("input")||i._element;o?(o.value=n,setTimeout(()=>{o.focus(),o.setSelectionRange(n.length,n.length)},0)):i.value!==void 0&&(i.value=n,setTimeout(()=>{i.focus()},0))}}_updatePagination(){var o,c;if(!this._configuration)return;const t=this._lastPage||Math.ceil(this._rows.length/this._perPage);if(!this._configuration.perPage||this._configuration.loadMore||t<=1){const h=(o=this.querySelector("nav"))==null?void 0:o.closest(".flex.justify-end");h&&h.remove();return}let e=(c=this.querySelector("nav"))==null?void 0:c.closest(".flex.justify-end");if(!e){const h=this.querySelector("mint-table");if(!h){this.render();return}e=document.createElement("div"),e.className="flex justify-end "+(this._inMintCard?"p-3.5":"mt-4"),h.insertAdjacentElement("afterend",e)}let i="<nav>";i+='<ul class="flex gap-1">';const s=this._currentPage===1||this._loading||this._fetching;i+=`<li><mint-button variant="solid" size="sm" icon="caret-left" ${s?'disabled="true"':""} data-action="page-prev"></mint-button></li>`;const n=t>=10,r=Math.max(1,this._currentPage-1),a=Math.min(t,this._currentPage+1);if(n){for(let d=1;d<=3;d++){const p=this._currentPage===d,f=this._loadingPage===d,m=p?' active="true"':"",g=this._loading||this._fetching?' disabled="true"':"",_=f?' loading="true"':"",b=f?"":`${d}`;i+=`<li><mint-button variant="solid" size="sm"${m}${g}${_} data-action="page" data-page="${d}">${b}</mint-button></li>`}const h=a<=3,u=r>=t-2;if(!h&&!u){r>4&&(i+='<li><span class="px-2">...</span></li>');for(let d=r;d<=a;d++){if(d<=3)continue;const p=this._currentPage===d,f=this._loadingPage===d,m=p?' active="true"':"",g=this._loading||this._fetching?' disabled="true"':"",_=f?' loading="true"':"",b=f?"":`${d}`;i+=`<li><mint-button variant="solid" size="sm"${m}${g}${_} data-action="page" data-page="${d}">${b}</mint-button></li>`}a<t-3&&(i+='<li><span class="px-2">...</span></li>')}else(h&&!u||!h&&u&&t-2>4)&&(i+='<li><span class="px-2">...</span></li>');for(let d=t-2;d<=t;d++){if(d<=3||!h&&!u&&d>=r&&d<=a)continue;const p=this._currentPage===d,f=this._loadingPage===d,m=p?' active="true"':"",g=this._loading||this._fetching?' disabled="true"':"",_=f?' loading="true"':"",b=f?"":`${d}`;i+=`<li><mint-button variant="solid" size="sm"${m}${g}${_} data-action="page" data-page="${d}">${b}</mint-button></li>`}}else for(let h=1;h<=t;h++){const u=this._currentPage===h,d=this._loadingPage===h,p=u?' active="true"':"",f=this._loading||this._fetching?' disabled="true"':"",m=d?' loading="true"':"",g=d?"":`${h}`;i+=`<li><mint-button variant="solid" size="sm"${p}${f}${m} data-action="page" data-page="${h}">${g}</mint-button></li>`}const l=this._currentPage>=t||this._loading||this._fetching;i+=`<li><mint-button variant="solid" size="sm" icon="caret-right" ${l?'disabled="true"':""} data-action="page-next"></mint-button></li>`,i+="</ul>",i+="</nav>",e.innerHTML=i,setTimeout(()=>{this._attachPaginationListeners(),e.querySelectorAll('mint-button[data-action="page"]').forEach(h=>{var f,m;const u=h.getAttribute("data-page"),d=u&&this._loadingPage===parseInt(u),p=h._button||h.querySelector("button");if(p)if(d){const g=[],_=document.createTreeWalker(p,NodeFilter.SHOW_TEXT,null);let b;for(;b=_.nextNode();)g.push(b);g.forEach(x=>{var D;return(D=x.parentNode)==null?void 0:D.removeChild(x)});const v=p.querySelector(".mint-button-content");if(v){const x=(f=v.textContent)==null?void 0:f.trim();x&&/^\d+$/.test(x)&&v.remove()}const y=p.querySelector("span.mr-2");y&&y.querySelector("mint-spinner")&&(y.classList.remove("mr-2"),y.classList.add("mr-0"))}else{const g=(m=p.textContent)==null?void 0:m.trim();if(!g||!/^\d+$/.test(g)){const _=u||"",b=p.querySelector("mint-spinner");p.innerHTML="",b&&p.appendChild(b),p.appendChild(document.createTextNode(_))}}if("render"in h&&typeof h.render=="function"&&(h.render(),d&&p)){const g=p.querySelector("span.mr-2");g&&g.querySelector("mint-spinner")&&(g.classList.remove("mr-2"),g.classList.add("mr-0"))}}),e.querySelectorAll('mint-button[data-action="page-prev"], mint-button[data-action="page-next"]').forEach(h=>{"render"in h&&typeof h.render=="function"&&h.render()}),this._loadingPage!==null&&!this._loading&&!this._fetching&&this._updatePagination()},0)}_loadMore(){this._loading||this._fetching||!(this._type==="ajax"?this._lastPage>0&&this._currentPage<this._lastPage:this._totalRows>0&&this._rowsToShow<this._totalRows)||(this._offset+=this._perPage,this._currentPage+=1,this._rowsToShow+=this._perPage,this._type==="ajax"?this._fetchData():this.render())}_goToPage(t){const e=this._lastPage||Math.ceil(this._rows.length/this._perPage);t>e&&(t=e),t<1&&(t=1),t!==this._currentPage&&(this._currentPage=t,this._offset=(t-1)*this._perPage,this._updatePageInUrl(t),this._type==="ajax"?(this._loadingPage=t,this._updatePagination(),this._fetchData()):this.render())}_handleButtonClick(t){if(this._configuration)switch(t.type){case"export":break;case"print":window.print();break;case"csv":this._downloadCSV();break;default:t.onClick&&t.onClick(this);break}}_downloadCSV(){if(!this._configuration)return;const t=this.querySelector("table");if(!t)return;const e=t.querySelectorAll("tr");let i="data:text/csv;charset=utf-8,";e.forEach(r=>{const a=[];r.querySelectorAll("th, td").forEach(l=>{var c;const o=l.getAttribute("colspan");if(o)for(let h=0;h<parseInt(o)-1;h++)a.push("");a.push('"'+((c=l.textContent)==null?void 0:c.trim().replace(/"/g,'""'))+'"')}),i+=a.join(",")+`
146
- `});const s=encodeURI(i),n=document.createElement("a");n.setAttribute("href",s),n.setAttribute("download",`${this._configuration.export_name||this._tableId}.csv`),document.body.appendChild(n),n.click(),document.body.removeChild(n)}_columnChange(t,e){const i=t.target.checked;e.hidden=!i,this._saveColumnVisibility();const s=`edit-columns-popover-${this._tableId}`,n=this.querySelector(`#${s}`),r=n==null?void 0:n.hasAttribute("open");this.render(),r&&n&&requestAnimationFrame(()=>{const a=this.querySelector(`#${s}`);a&&typeof a.open=="function"&&a.open()})}_getStyle(t){let e="";return(t.nowrap||t.actions)&&(e+="white-space: nowrap;"),t.offsetLeft&&(e+=`left: ${t.offsetLeft} !important;`),t.offsetRight&&(e+=`right: ${t.offsetRight} !important;`),t.width&&(e+=`min-width: ${t.width}px; max-width: ${t.width}px;`),e}_getClasses(t,e=!1){const i=[];return t.class&&i.push(t.class.trim()),t.sortable&&!e&&i.push("cursor-pointer"),t.stickLeft&&i.push("sticky-left"),t.stickRight&&i.push("sticky-right"),i.join(" ")}render(){if(!this._configuration){this.innerHTML='<div class="p-4 text-red-500">Error: Invalid configuration</div>';return}const t=!this._loaded||this._rows.length>0||this._search.length>0||this._searching,e=this._getRows(),i=this._lastPage||Math.ceil(this._rows.length/this._perPage);let s="";if(t){if(s+='<div class="flex '+(this._inMintCard?"p-3.5":"mb-3")+'">',s+='<div class="flex-grow-1 flex-1">',s+='<div class="flex gap-2 items-center">',this._configuration.showSearch!==!1){const r=`search-${this._tableId}`;s+=`<mint-input id="${r}" type="search" label="" placeholder="Search..." class="flex-1" icon="search" value="${this._escapeHtml(this._search)}"></mint-input>`}if(this._configuration.buttons&&this._configuration.buttons.forEach(r=>{const a=r.icon?` icon="${this._escapeHtml(r.icon)}"`:"",l=r.tone?` tone="${this._escapeHtml(r.tone)}"`:"";s+=`<mint-button variant="solid" class="${r.class||""}" data-button-type="${r.type||"custom"}"${a}${l}>`,r.label&&(s+=this._escapeHtml(r.label)),s+="</mint-button>"}),s+="</div>",s+="</div>",this._configuration.editColumns!==!1&&this._configuration.columns.some(a=>!a.actions&&a.editable!==!1)){const a=`edit-columns-popover-${this._tableId}`,l=`edit-columns-button-${this._tableId}`;s+='<div class="ml-2">',s+=`<mint-button id="${l}" variant="solid" icon="edit"></mint-button>`,s+=`<mint-popover id="${a}" trigger-id="${l}" direction="down">`,this._configuration.columns.forEach(o=>{!o.actions&&o.editable!==!1&&(s+='<div class="p-2">',s+=`<mint-checkbox label="${o.label}" ${o.hidden?"":"checked"} data-column-key="${this._configuration.columns.indexOf(o)}"></mint-checkbox>`,s+="</div>")}),s+="</mint-popover>",s+="</div>"}s+="</div>"}if(this._type==="ajax"&&!this._loaded&&!this._fetchError&&!this._sorting){s+='<mint-table class="table-section'+(this._inMintCard?" rounded-t-none":"")+'">',s+=`<table id="${this._tableId}">`,s+="<thead><tr>",this._configuration.columns.forEach((r,a)=>{r.hidden||(s+=`<th width="${r.width||""}" style="${this._getStyle(r)}" class="${this._getClasses(r)}" data-column-key="${a}">`,r.showLabel!==!1&&(s+='<div class="flex items-center">',s+=`<div class="flex-1">${r.raw?r.label:this._escapeHtml(r.label)}</div>`,r.sortable&&(s+='<div class="ml-2 flex items-center">',s+='<mint-icon name="" class="w-4 h-4 text-gray-400"></mint-icon>',s+="</div>"),s+="</div>"),s+="</th>")}),s+="</tr></thead>",s+="<tbody>";for(let r=0;r<4;r++)s+="<tr>",this._configuration.columns.forEach(a=>{a.hidden||(s+=`<td style="${this._getStyle(a)}" class="${this._getClasses(a,!0)}">`,s+='<div class="h-4 bg-gray-200 dark:bg-gray-700 rounded animate-pulse"></div>',s+="</td>")}),s+="</tr>";if(s+="</tbody>",s+="</table>",s+="</mint-table>",this._configuration.perPage&&!this._configuration.loadMore&&(i>1||this._lastPage>0)){const r=this._lastPage>0?this._lastPage:i;if(r>1){s+='<div class="flex justify-end '+(this._inMintCard?"p-3.5":"mt-4")+'">',s+="<nav>",s+='<ul class="flex gap-1">',s+=`<li><mint-button variant="solid" size="sm" icon="caret-left" ${this._currentPage===1?'disabled="true"':""} data-action="page-prev"></mint-button></li>`;for(let a=1;a<=Math.min(2,r);a++){const o=this._currentPage===a?' disabled="true"':"";s+=`<li><mint-button variant="solid" size="sm"${o} data-action="page" data-page="${a}">${a}</mint-button></li>`}if(r>2&&(s+='<li><span class="px-2">...</span></li>'),this._currentPage>2&&this._currentPage<r-1&&(s+=`<li><mint-button variant="solid" size="sm" data-action="page" data-page="${this._currentPage-1}">${this._currentPage-1}</mint-button></li>`,s+=`<li><mint-button variant="solid" size="sm" disabled="true" data-action="page" data-page="${this._currentPage}">${this._currentPage}</mint-button></li>`,s+=`<li><mint-button variant="solid" size="sm" data-action="page" data-page="${this._currentPage+1}">${this._currentPage+1}</mint-button></li>`),r>2)for(let a=Math.max(r-1,this._currentPage+2);a<=r;a++){const o=this._currentPage===a?' disabled="true"':"";s+=`<li><mint-button variant="solid" size="sm"${o} data-action="page" data-page="${a}">${a}</mint-button></li>`}s+=`<li><mint-button variant="solid" size="sm" icon="caret-right" ${this._currentPage>=r?'disabled="true"':""} data-action="page-next"></mint-button></li>`,s+="</ul>",s+="</nav>",s+="</div>"}}}else e.length>0||this._search.length>0||this._searching||this._fetchError?(s+='<mint-table class="table-section'+(this._inMintCard?" rounded-t-none":"")+'">',s+=`<table id="${this._tableId}">`,s+="<thead><tr>",this._configuration.columns.forEach((r,a)=>{if(!r.hidden){if(s+=`<th width="${r.width||""}" style="${this._getStyle(r)}" class="${this._getClasses(r)}" data-column-key="${a}">`,r.showLabel!==!1){if(s+='<div class="flex items-center">',s+=`<div class="flex-1">${r.raw?r.label:this._escapeHtml(r.label)}</div>`,r.sortable){s+='<div class="ml-2 flex items-center">';const l=this._getSortClass(r);l==="spinner"?s+='<mint-spinner class="w-4 h-4"></mint-spinner>':s+=`<mint-icon name="${l}" class="w-4 h-4 ${l==="sort-arrows"?"text-gray-400":""}"></mint-icon>`,s+="</div>"}s+="</div>"}s+="</th>"}}),s+="</tr></thead>",s+="<tbody>",!this._fetching&&!this._loading&&e.forEach((r,a)=>{const l=typeof this._configuration.onRowClick=="function",o=l?"cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors":"";s+=`<tr data-row-index="${a}" ${l?'data-row-clickable="true"':""}${o?` class="${o}"`:""}>`,this._configuration.columns.forEach((c,h)=>{if(c.hidden)return;const u=!c.show||c.show(this,r);if(s+=`<td style="${this._getStyle(c)}" class="${this._getClasses(c,!0)}">`,u)if(c.raw)if(c.action){if(!c.action.show||c.action.show(this,r)){const d=typeof c.action.label=="function"?c.action.label(this,r):c.action.label;s+=`<mint-button variant="solid" data-action="column-action" data-row-index="${a}" data-column-key="${this._configuration.columns.indexOf(c)}">${this._escapeHtml(String(d))}</mint-button>`}}else if(c.actions)if(c.actionStyle!=="buttons"){const d=`actions-popover-${this._tableId}-${a}`,p=`actions-button-${this._tableId}-${a}`;s+=`<mint-button id="${p}" variant="link" icon="ellipsis">`,s+="</mint-button>",s+=`<mint-popover id="${d}" trigger-id="${p}" direction="down">`,c.actions.forEach((f,m)=>{if(!f.show||f.show(this,r)){const g=typeof f.label=="function"?f.label(this,r):f.label;s+=`<div class="p-2 cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700" data-action="row-action" data-row-index="${a}" data-action-index="${m}" data-column-key="${this._configuration.columns.indexOf(c)}">${this._escapeHtml(String(g))}</div>`}}),s+="</mint-popover>"}else c.actions.forEach((d,p)=>{if(!d.show||d.show(this,r)){const f=d.label?typeof d.label=="function"?d.label(this,r):d.label:"",m=d.icon?` icon="${this._escapeHtml(d.icon)}"`:"",g=d.tone?` tone="${this._escapeHtml(d.tone)}"`:"";s+=`<mint-button variant="link" class="${d.classes||""}" data-action="row-action" data-row-index="${a}" data-action-index="${p}" data-column-key="${this._configuration.columns.indexOf(c)}"${m}${g}>`,f&&(s+=this._escapeHtml(String(f))),s+="</mint-button>"}});else typeof c.format=="function"?s+=c.format(this,r):c.data&&(s+=this._escapeHtml(String(r[c.data]||"")));else if(c.action)(!c.action.show||c.action.show(this,r))&&(s+=`<mint-button variant="solid" data-action="column-action" data-row-index="${a}" data-column-key="${this._configuration.columns.indexOf(c)}">${c.action.label}</mint-button>`);else if(c.actions)if(c.actionStyle!=="buttons"){const d=`actions-popover-${this._tableId}-${a}`,p=`actions-button-${this._tableId}-${a}`;s+=`<mint-button id="${p}" variant="link" icon="ellipsis">`,s+="</mint-button>",s+=`<mint-popover id="${d}" trigger-id="${p}" direction="down">`,c.actions.forEach((f,m)=>{if(!f.show||f.show(this,r)){const g=typeof f.label=="function"?f.label(this,r):f.label;s+=`<div class="p-2 cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700" data-action="row-action" data-row-index="${a}" data-action-index="${m}" data-column-key="${this._configuration.columns.indexOf(c)}">${this._escapeHtml(String(g))}</div>`}}),s+="</mint-popover>"}else c.actions.forEach((d,p)=>{if(!d.show||d.show(this,r)){const f=d.label?typeof d.label=="function"?d.label(this,r):d.label:"",m=d.icon?` icon="${this._escapeHtml(d.icon)}"`:"",g=d.tone?` tone="${this._escapeHtml(d.tone)}"`:"";s+=`<mint-button variant="link" class="${d.classes||""}" data-action="row-action" data-row-index="${a}" data-action-index="${p}" data-column-key="${this._configuration.columns.indexOf(c)}"${m}${g}>`,f&&(s+=this._escapeHtml(String(f))),s+="</mint-button>"}});else typeof c.format=="function"?s+=this._escapeHtml(c.format(this,r)):c.data&&(s+=this._escapeHtml(String(r[c.data]||"")));s+="</td>"}),s+="</tr>"}),!this._fetching&&!this._loading&&e.length===0&&(this._fetchError?s+=`<tr><td colspan="${this._configuration.columns.filter(r=>!r.hidden).length}" class="text-center py-8 text-red-500 dark:text-red-400">Failed to load data: ${this._escapeHtml(this._fetchError)}</td></tr>`:s+=`<tr><td colspan="${this._configuration.columns.filter(r=>!r.hidden).length}" class="text-center py-8">No records found.</td></tr>`),s+="</tbody>",s+="</table>",this._configuration.loadMore&&(this._loading||this._fetching?(s+='<div class="flex justify-center '+(this._inMintCard?"p-3.5":"mt-4")+'">',s+="<mint-spinner></mint-spinner>",s+="</div>"):(this._type==="ajax"?this._lastPage>0&&this._currentPage<this._lastPage:this._totalRows>0&&this._rowsToShow<this._totalRows)&&(s+='<div class="flex justify-center '+(this._inMintCard?"p-3.5":"mt-4")+'">',s+='<mint-button variant="ghost" data-action="load-more">Load more</mint-button>',s+="</div>")),s+="</mint-table>"):s+='<slot name="empty"></slot>';this.innerHTML=s,this._updatePagination(),this.querySelectorAll("mint-button[data-action]").forEach(r=>{r.render&&r.render()}),this.querySelectorAll("mint-button[data-button-type]").forEach(r=>{r.render&&r.render()}),this._attachEventListeners(),this._type==="ajax"&&!this._loaded&&!this._fetching&&!this._loading&&this._fetchData()}_attachRowClickHandler(){this._rowClickHandler&&this.removeEventListener("click",this._rowClickHandler,!0);const t=e=>{var o;const i=e.target;if(i.tagName==="MINT-BUTTON"||i.tagName==="BUTTON"||i.closest("mint-button")||i.closest("button")||i.closest("mint-popover")||i.closest("[data-action]"))return;const s=i.closest('tr[data-row-clickable="true"]');if(!s)return;const n=s.getAttribute("data-row-index");if(!n)return;const r=parseInt(n),l=this._getRows()[r];!l||!((o=this._configuration)!=null&&o.onRowClick)||(this._configuration.onRowClick.length===1?this._configuration.onRowClick(l):this._configuration.onRowClick(this,l))};this.addEventListener("click",t,!0),this._rowClickHandler=t}_attachPaginationListeners(){this.querySelectorAll('[data-action="page"]').forEach(t=>{t.addEventListener("click",()=>{if(t.getAttribute("active")==="true")return;const e=parseInt(t.getAttribute("data-page")||"1");e!==this._currentPage&&this._goToPage(e)})}),this.querySelectorAll('[data-action="page-prev"]').forEach(t=>{t.addEventListener("click",()=>{this._goToPage(this._currentPage-1)})}),this.querySelectorAll('[data-action="page-next"]').forEach(t=>{t.addEventListener("click",()=>{this._goToPage(this._currentPage+1)})})}_attachTableEventListeners(){this.querySelectorAll('[data-action="row-action"]').forEach(t=>{t.addEventListener("click",()=>{var l;const e=parseInt(t.getAttribute("data-row-index")||"0"),i=parseInt(t.getAttribute("data-action-index")||"0"),s=parseInt(t.getAttribute("data-column-key")||"0"),r=this._getRows()[e],a=(l=this._configuration)==null?void 0:l.columns[s];a&&a.actions&&a.actions[i]&&a.actions[i].onClick(this,r)})}),this.querySelectorAll('[data-action="column-action"]').forEach(t=>{t.addEventListener("click",()=>{var a;const e=parseInt(t.getAttribute("data-row-index")||"0"),i=parseInt(t.getAttribute("data-column-key")||"0"),n=this._getRows()[e],r=(a=this._configuration)==null?void 0:a.columns[i];r&&r.action&&r.action.onClick(this,n)})})}_attachEventListeners(){var e;const t=this.querySelector(`#search-${this._tableId}`);if(t){const i=t.querySelector("input")||t._element;i?i.addEventListener("input",s=>{this._search=s.target.value,this._triggerSearch()}):t.addEventListener("input",s=>{this._search=t.value||s.target.value||"",this._triggerSearch()})}if(this._attachTableEventListeners(),this._attachRowClickHandler(),this.querySelectorAll("th[data-column-key]").forEach(i=>{i.addEventListener("click",()=>{var r;const s=parseInt(i.getAttribute("data-column-key")||"0"),n=(r=this._configuration)==null?void 0:r.columns[s];n&&this._toggleSort(n)})}),this.querySelectorAll("[data-button-type]").forEach(i=>{i.addEventListener("click",()=>{var r,a;const s=i.getAttribute("data-button-type"),n=(a=(r=this._configuration)==null?void 0:r.buttons)==null?void 0:a.find(l=>(l.type||"custom")===s);n&&this._handleButtonClick(n)})}),this.querySelectorAll("mint-checkbox[data-column-key]").forEach(i=>{i.addEventListener("change",s=>{var a;s.stopPropagation();const n=parseInt(i.getAttribute("data-column-key")||"0"),r=(a=this._configuration)==null?void 0:a.columns[n];r&&this._columnChange(s,r)}),i.addEventListener("click",s=>{s.stopPropagation()})}),this._attachPaginationListeners(),this.querySelectorAll('[data-action="load-more"]').forEach(i=>{i.addEventListener("click",()=>{this._loadMore()})}),(e=this._configuration)!=null&&e.loadMore){this._scrollHandler&&window.removeEventListener("scroll",this._scrollHandler);const i=()=>{const s=window.pageYOffset||document.documentElement.scrollTop,n=window.innerHeight;if(document.documentElement.scrollHeight-s-n<=100){const a=this._type==="ajax"?this._lastPage>0&&this._currentPage<this._lastPage:this._totalRows>0&&this._rowsToShow<this._totalRows;!this._loading&&!this._fetching&&a&&this._loadMore()}};this._scrollHandler=i,window.addEventListener("scroll",i)}}_escapeHtml(t){const e=document.createElement("div");return e.textContent=t,e.innerHTML}_getPageFromUrl(){if(!this._tableId)return null;const e=new URLSearchParams(window.location.search).get(`mui.${this._tableId}`);if(!e)return null;const i=parseInt(e,10);return isNaN(i)||i<1?null:i}_updatePageInUrl(t){if(!this._tableId)return;const e=new URL(window.location.href),i=e.searchParams;i.set(`mui.${this._tableId}`,t.toString()),t===1&&i.set(`mui.${this._tableId}`,"1"),window.history.replaceState({},"",e.toString())}_loadPageFromUrl(){if(!this._configuration||!this._tableId)return;const t=this._getPageFromUrl();t!==null&&(this._currentPage=t,this._offset=(this._currentPage-1)*this._perPage)}}customElements.get("mint-resource-table")||customElements.define("mint-resource-table",Mt);class It extends HTMLElement{constructor(){super(),this._overlay=null,this._offCanvas=null,this._header=null,this._headingSlot=null,this._bodySlot=null,this._actionsSlot=null,this._closeButton=null,this._darkModeObserver=null}static get observedAttributes(){return["id","heading","open","position","full-page","width"]}connectedCallback(){this.classList.add("box-border","m-0","p-0","border-0","align-baseline","fixed","inset-0","z-50"),this.isOpen()||this.classList.add("hidden"),this.render(),this._observeDarkMode()}disconnectedCallback(){this._darkModeObserver&&(this._darkModeObserver.disconnect(),this._darkModeObserver=null)}attributeChangedCallback(t,e,i){e!==i&&this.render()}getId(){return this.getAttribute("id")||""}getHeading(){return this.getAttribute("heading")||""}getPosition(){var e;const t=(e=this.getAttribute("position"))==null?void 0:e.toLowerCase();return t==="top"||t==="bottom"||t==="left"||t==="right"?t:"right"}isFullPage(){return this.getAttribute("full-page")==="true"}getWidth(){return this.getAttribute("width")||"w-80"}isOpen(){return this.getAttribute("open")==="true"}open(){this.setAttribute("open","true")}close(){this.removeAttribute("open")}render(){const t=this.getId(),e=this.getHeading(),i=this.isOpen(),s=this.getPosition(),n=this.isFullPage();t&&(this.id=t),this._overlay||(this._overlay=document.createElement("div"),this._overlay.className="fixed inset-0 bg-black bg-opacity-50 transition-opacity duration-200 z-40",this._overlay.addEventListener("click",()=>this.close()),this.appendChild(this._overlay)),this._offCanvas||(this._offCanvas=document.createElement("div"),this.appendChild(this._offCanvas));const r=this._getPositionClasses(s,n);this._offCanvas.className=r;let a=this._offCanvas.querySelector(".off-canvas-content");if(a||(a=document.createElement("div"),a.className="off-canvas-content bg-white dark:bg-gray-900 dark:border dark:border-gray-700 shadow-xl flex flex-col pointer-events-auto transition-all duration-300 ease-out",a.style.transform=this._getTransformValue(s,!1),this._offCanvas.appendChild(a)),i?this._animateEnter():this._animateExit(),Array.from(a.classList).forEach(f=>{(f.startsWith("w-")||f.startsWith("max-w-"))&&a.classList.remove(f)}),a.classList.remove("h-full","max-h-[90vh]","max-h-screen"),n)a.classList.add("w-full","h-full");else{const f=this.getWidth();s==="top"||s==="bottom"?a.classList.add("w-full","max-h-[90vh]"):a.classList.add(f,"h-full")}this._header||(this._header=document.createElement("div"),this._header.className="flex items-center justify-between p-4 border-b border-gray-200 dark:border-gray-700 flex-shrink-0",a.appendChild(this._header)),this._headingSlot||(this._headingSlot=document.createElement("div"),this._headingSlot.className="flex-1",this._headingSlot.setAttribute("slot","heading"),this._header.appendChild(this._headingSlot));let o=this._headingSlot.querySelector("mint-text");e?(o||(o=document.createElement("mint-text"),o.setAttribute("size","sub-heading"),o.setAttribute("bold","true"),this._headingSlot.appendChild(o)),o.textContent=e):o&&o.remove(),Array.from(this.children).filter(f=>f!==this._overlay&&f!==this._offCanvas&&f!==this._headingSlot&&f.getAttribute("slot")==="heading").forEach(f=>{this._headingSlot&&f.parentElement!==this._headingSlot&&this._headingSlot.appendChild(f)}),this._closeButton||(this._closeButton=document.createElement("mint-button"),this._closeButton.setAttribute("variant","ghost"),this._closeButton.setAttribute("icon","close"),this._closeButton.addEventListener("click",()=>this.close()),this._header.appendChild(this._closeButton)),this._bodySlot||(this._bodySlot=document.createElement("div"),this._bodySlot.className="flex-1 overflow-y-auto p-4",this._bodySlot.setAttribute("slot","body"),a.appendChild(this._bodySlot)),Array.from(this.children).filter(f=>f!==this._overlay&&f!==this._offCanvas&&f!==this._bodySlot&&f.getAttribute("slot")==="body").forEach(f=>{this._bodySlot&&f.parentElement!==this._bodySlot&&this._bodySlot.appendChild(f)}),this._actionsSlot||(this._actionsSlot=document.createElement("div"),this._actionsSlot.className="p-4 border-t border-gray-200 dark:border-gray-700 flex-shrink-0",this._actionsSlot.setAttribute("slot","actions"),a.appendChild(this._actionsSlot));let u=this._actionsSlot.querySelector("mint-stack");u||(u=document.createElement("mint-stack"),u.setAttribute("direction","horizontal"),u.className="justify-end",this._actionsSlot.appendChild(u)),Array.from(this.children).filter(f=>f!==this._overlay&&f!==this._offCanvas&&f!==this._actionsSlot&&f.getAttribute("slot")==="actions").forEach(f=>{Array.from(f.children).forEach(g=>{g.parentElement!==u&&u.appendChild(g)}),f.parentElement&&f.remove()}),Array.from(this.children).forEach(f=>{f!==this._overlay&&f!==this._offCanvas&&f.getAttribute("slot")!=="heading"&&f.getAttribute("slot")!=="body"&&f.getAttribute("slot")!=="actions"&&f!==this._headingSlot&&f!==this._bodySlot&&f!==this._actionsSlot&&f.parentElement!==this._bodySlot&&this._bodySlot.appendChild(f)}),this._updateBackgroundColor()}_getPositionClasses(t,e){const i="fixed z-50 pointer-events-none transition-all duration-300 ease-out";switch(t){case"top":return`${i} top-0 left-0 right-0 ${e?"h-full":""}`;case"bottom":return`${i} bottom-0 left-0 right-0 ${e?"h-full":""}`;case"left":return`${i} left-0 top-0 bottom-0 ${e?"w-full":""}`;case"right":return`${i} right-0 top-0 bottom-0 ${e?"w-full":""}`;default:return`${i} right-0 top-0 bottom-0 ${e?"w-full":""}`}}_getTransformValue(t,e){if(e)switch(t){case"top":return"translateY(0)";case"bottom":return"translateY(0)";case"left":return"translateX(0)";case"right":return"translateX(0)";default:return"translateX(0)"}else switch(t){case"top":return"translateY(-100%)";case"bottom":return"translateY(100%)";case"left":return"translateX(-100%)";case"right":return"translateX(100%)";default:return"translateX(100%)"}}_updateBackgroundColor(){if(!this._offCanvas)return;const t=document.documentElement.classList.contains("dark"),e=this._offCanvas.querySelector(".off-canvas-content");e&&(t?(e.classList.remove("bg-white"),e.classList.add("bg-gray-900","border","border-gray-700")):(e.classList.remove("bg-gray-900","border","border-gray-700"),e.classList.add("bg-white")))}_observeDarkMode(){this._darkModeObserver||(this._darkModeObserver=new MutationObserver(()=>{this._updateBackgroundColor()}),this._darkModeObserver.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}))}_animateEnter(){var i;const t=(i=this._offCanvas)==null?void 0:i.querySelector(".off-canvas-content");if(!t)return;const e=this.getPosition();t.style.transform=this._getTransformValue(e,!1),t.style.transition="transform 300ms ease-out",this.classList.remove("hidden"),requestAnimationFrame(()=>{requestAnimationFrame(()=>{t.style.transform=this._getTransformValue(e,!0)})})}_animateExit(){var i;const t=(i=this._offCanvas)==null?void 0:i.querySelector(".off-canvas-content");if(!t){this.classList.add("hidden");return}const e=this.getPosition();t.style.transition="transform 300ms ease-in",t.style.transform=this._getTransformValue(e,!1),setTimeout(()=>{this.classList.add("hidden"),t.style.transform="",t.style.transition=""},300)}}customElements.get("mint-off-canvas")||customElements.define("mint-off-canvas",It);class Nt extends HTMLElement{constructor(){super(),this._clickHandler=null}static get observedAttributes(){return["active","disabled","target"]}connectedCallback(){this.render(),this.setupEventListeners()}disconnectedCallback(){this.removeEventListeners()}attributeChangedCallback(t,e,i){e!==i&&this.render()}getTarget(){return this.getAttribute("target")||""}isActive(){const t=this.getAttribute("active");return t!==null&&t!=="false"}isDisabled(){return this.getAttribute("disabled")==="true"}get active(){return this.isActive()}set active(t){t?this.setAttribute("active","true"):this.setAttribute("active","false")}render(){const t=this.isActive(),e=this.isDisabled();this.className="",this.classList.add("box-border","m-0","p-0","border-0","inline-block","cursor-pointer","px-4","py-1.5","text-sm","font-medium","transition-all","duration-200","rounded-lg","border","text-gray-700","dark:text-gray-300");const i=this.closest("mint-tab-list"),s=(i==null?void 0:i.getAttribute("position"))||"top",n=s==="left"||s==="right";e?(this.classList.add("opacity-60","cursor-not-allowed","pointer-events-none","bg-gray-50","dark:bg-gray-900","border-gray-300","dark:border-gray-700","text-gray-400","dark:text-gray-500"),this.classList.remove("cursor-pointer")):t?(this.classList.add("bg-white","dark:bg-gray-900","border-gray-200","dark:border-gray-700","text-gray-900","dark:text-gray-100","shadow-sm","relative","z-10"),n?s==="left"?this.classList.add("mr-[-1px]"):this.classList.add("ml-[-1px]"):this.classList.add("mb-[-1px]")):this.classList.add("bg-gray-100","dark:bg-gray-900","border-gray-200","dark:border-gray-700","text-gray-600","dark:text-gray-400","hover:bg-gray-50","dark:hover:bg-gray-600")}setupEventListeners(){this.isDisabled()||this._clickHandler||(this._clickHandler=this.handleClick.bind(this),this.addEventListener("click",this._clickHandler))}removeEventListeners(){this._clickHandler&&(this.removeEventListener("click",this._clickHandler),this._clickHandler=null)}handleClick(t){if(this.isDisabled()){t.preventDefault(),t.stopPropagation();return}t.__mintTabsSynthetic||(t.stopPropagation(),this.dispatchEvent(new CustomEvent("tab-click",{detail:{tab:this,target:this.getTarget()},bubbles:!0,cancelable:!0,composed:!0})))}}customElements.get("mint-tab")||customElements.define("mint-tab",Nt);class Pt extends HTMLElement{static get observedAttributes(){return["position"]}constructor(){super()}connectedCallback(){this.render()}attributeChangedCallback(t,e,i){e!==i&&this.render()}getPosition(){return this.getAttribute("position")||"top"}render(){const t=this.getPosition();this.classList.remove("flex","inline-flex","flex-row","flex-col","gap-1","gap-2","pb-0","pr-0","pl-0","mb-0","mr-0","ml-0","self-start"),this.classList.add("box-border","m-0","p-1","border","bg-gray-100","dark:bg-gray-900","dark:border-gray-700","border-gray-200","w-auto","rounded-lg","gap-2"),t==="top"?this.classList.add("inline-flex","flex-row","mb-0","self-start"):t==="left"?this.classList.add("flex","flex-col","mr-0"):t==="right"&&this.classList.add("flex","flex-col","ml-0")}}customElements.get("mint-tab-list")||customElements.define("mint-tab-list",Pt);class Ft extends HTMLElement{static get observedAttributes(){return["id"]}constructor(){super()}connectedCallback(){this.classList.add("box-border","m-0","p-0","border-0","block","w-full"),this.render(),this.checkInitialVisibility()}attributeChangedCallback(t,e,i){e!==i&&t==="id"&&(this.render(),this.checkInitialVisibility())}getId(){return this.getAttribute("id")||""}show(){this.style.display="block"}hide(){this.style.display="none"}checkInitialVisibility(){const t=this.closest("mint-tabs");if(!t){this.style.display="none";return}const e=t.querySelectorAll("mint-tab");let i=!1;if(e.forEach(s=>{const n=s.getAttribute("active"),r=s.getAttribute("target"),a=this.getId();n==="true"&&r===a&&(i=!0)}),!i&&e.length>0){const n=e[0].getAttribute("target"),r=this.getId();n===r&&!t.querySelector('mint-tab[active="true"]')&&(i=!0)}i?this.style.display="block":this.style.display="none"}render(){}}customElements.get("mint-tab-content")||customElements.define("mint-tab-content",Ft);class Ot extends HTMLElement{constructor(){super(),this._tabClickHandler=null,this._mutationObserver=null}connectedCallback(){this.classList.add("box-border","m-0","p-0","border-0","block"),this.render(),this.setupEventListeners(),this.setupMutationObserver(),this.initializeActiveTab()}disconnectedCallback(){this.removeEventListeners(),this._mutationObserver&&(this._mutationObserver.disconnect(),this._mutationObserver=null)}render(){const t=this.querySelector("mint-tab-list");if(this.querySelectorAll("mint-tab-content"),!t){console.warn("mint-tabs: mint-tab-list is required");return}const e=t.getAttribute("position")||"top";this.classList.remove("flex","flex-row","flex-col","gap-4","gap-6"),e==="left"||e==="right"?(this.classList.add("flex","flex-row","items-start"),e==="left"?(t.classList.add("mr-4","flex-shrink-0"),t.classList.remove("ml-4")):(t.classList.add("ml-4","flex-shrink-0","order-2"),t.classList.remove("mr-4"),this.querySelectorAll("mint-tab-content").forEach(s=>{s.classList.add("order-1")}))):(this.classList.add("flex","flex-col"),t.classList.remove("mr-4","ml-4","flex-shrink-0","order-2"),this.querySelectorAll("mint-tab-content").forEach(s=>{s.classList.remove("order-1")}))}initializeActiveTab(){requestAnimationFrame(()=>{const t=this.querySelectorAll("mint-tab");let e=null;if(t.forEach(s=>{s.getAttribute("active")==="true"&&(e=s)}),!e&&t.length>0&&(e=t[0],e.setAttribute("active","true")),e){const s=e.getAttribute("target");s?this.showContent(s):this.hideAllContent()}else this.hideAllContent();this.querySelectorAll("mint-tab-content").forEach(s=>{const n=s;n.checkInitialVisibility&&n.checkInitialVisibility()})})}hideAllContent(){this.querySelectorAll("mint-tab-content").forEach(e=>{const i=e;i.hide?i.hide():e.style.display="none"})}showContent(t){this.querySelectorAll("mint-tab-content").forEach(s=>{const n=s;n.hide?n.hide():s.style.display="none"});const i=this.querySelector(`mint-tab-content[id="${t}"]`);i&&(i.show?i.show():i.style.display="block")}setupEventListeners(){this._tabClickHandler||(this._tabClickHandler=this.handleTabClick.bind(this),this.addEventListener("tab-click",this._tabClickHandler))}removeEventListeners(){this._tabClickHandler&&(this.removeEventListener("tab-click",this._tabClickHandler),this._tabClickHandler=null)}setupMutationObserver(){this._mutationObserver=new MutationObserver(()=>{this.render()});const t=this.querySelector("mint-tab-list");t&&this._mutationObserver.observe(t,{attributes:!0,attributeFilter:["position"]})}handleTabClick(t){var r,a;const e=(r=t.detail)==null?void 0:r.tab,i=(a=t.detail)==null?void 0:a.target;if(!e)return;const s=e.closest("mint-tab-list");if(!s)return;s.querySelectorAll("mint-tab").forEach(l=>{const o=l;l===e?o.active=!0:o.active=!1}),i&&this.showContent(i)}}customElements.get("mint-tabs")||customElements.define("mint-tabs",Ot);const it=class it extends HTMLElement{constructor(){super(),this._chartContainer=null,this._svg=null,this._tooltip=null,this._chartType="line",this._chartData=null,this._width=800,this._height=400,this._padding={top:20,right:20,bottom:60,left:60},this._showLegend=!0,this._showGrid=!0,this._showTooltip=!0,this._curveTension=.3,this._dataObserver=null,this._darkModeObserver=null,this._tooltipHideTimeout=null,this._lastTooltipContent="",this._activeXValue=null,this._pinnedXValue=null,this._tooltipAnimationFrame=null,this._cachedTooltipContent=new Map,this._cachedXPositions=new Map,this._verticalLine=null,this._plotPoints=new Map,this._resizeObserver=null,this._windowResizeHandler=null,this._pieChartTimeouts=new Set,this._pieChartTooltipShown=!1,this._pieChartClickOutsideHandler=null,this._pieChartGroup=null,this._chartClickOutsideHandler=null,this._chartTooltipScrollHandler=null,this._cachedBounds={bounds:null,dataHash:""},this._cachedYRange={range:null,dataHash:""},this._cachedXValues={values:null,dataHash:""},this._renderScheduled=!1,this._datasetVisibility=new Map,this._widthValue="100%",this._heightValue=400,this._defaultColors=["#3b82f6","#ef4444","#10b981","#f59e0b","#8b5cf6","#ec4899","#06b6d4","#f97316"],this._legendHeight=0,this._rotatedLabelHeight=0}static get observedAttributes(){return["type","data","width","height","show-legend","show-grid","show-tooltip","curve-tension"]}connectedCallback(){this.classList.add("box-border","m-0","p-0","border-0","align-baseline","block","w-full");let t=this._getReactiveValue(this.data);t&&typeof t=="object"&&!Array.isArray(t)&&"datasets"in t&&(this._chartData=t),this._setupDataObserver(),this._setupDarkModeObserver(),this._setupResizeObserver(),requestAnimationFrame(()=>{requestAnimationFrame(()=>{this.render()})})}_getReactiveValue(t){if(!t||typeof t!="object")return t;if("_value"in t||"__v_isRef"in t){if(typeof t.value<"u")return t.value;if("_value"in t)return t._value}return"__v_raw"in t||"__v_isReactive"in t||"__ob__"in t,t}_setupDataObserver(){let t=null,e=0;const i=()=>{if(!this.isConnected)return;const n=this._getReactiveValue(this.data);let r=null;n&&typeof n=="object"&&!Array.isArray(n)&&"datasets"in n&&(r=n),r!==t&&r&&(t=r,this._chartData=r,this._cachedBounds.dataHash="",this._cachedYRange.dataHash="",this._cachedXValues.dataHash="",this.render())};requestAnimationFrame(()=>{i(),requestAnimationFrame(()=>{i()})});const s=setInterval(()=>{if(!this.isConnected){clearInterval(s);return}if(i(),e++,e>50){clearInterval(s);const n=setInterval(()=>{if(!this.isConnected){clearInterval(n);return}i()},1e3);this._dataCheckInterval=n}},100);this._dataCheckInterval=s}_setupDarkModeObserver(){this._darkModeObserver=new MutationObserver(()=>{this.isConnected&&this.render()}),this._darkModeObserver.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]})}disconnectedCallback(){if(this._tooltip&&this._tooltip.parentNode&&(this._tooltip.parentNode.removeChild(this._tooltip),this._tooltip=null),this._tooltipHideTimeout!==null&&(clearTimeout(this._tooltipHideTimeout),this._tooltipHideTimeout=null),this._pieChartTimeouts.forEach(t=>clearTimeout(t)),this._pieChartTimeouts.clear(),this._pieChartClickOutsideHandler&&(document.removeEventListener("click",this._pieChartClickOutsideHandler,!0),this._pieChartClickOutsideHandler=null),this._chartClickOutsideHandler&&(document.removeEventListener("click",this._chartClickOutsideHandler,!0),this._chartClickOutsideHandler=null),this._pieChartTooltipShown=!1,this._pieChartGroup=null,this._pinnedXValue=null,this._tooltipAnimationFrame!==null&&(cancelAnimationFrame(this._tooltipAnimationFrame),this._tooltipAnimationFrame=null),this._dataObserver&&(this._dataObserver.disconnect(),this._dataObserver=null),this._darkModeObserver&&(this._darkModeObserver.disconnect(),this._darkModeObserver=null),this._dataCheckInterval&&(clearInterval(this._dataCheckInterval),this._dataCheckInterval=null),this._svg&&(this._chartTooltipMouseMove&&(this._svg.removeEventListener("mousemove",this._chartTooltipMouseMove),this._chartTooltipMouseMove=null),this._chartTooltipMouseLeave&&(this._svg.removeEventListener("mouseleave",this._chartTooltipMouseLeave),this._chartTooltipMouseLeave=null),this._chartTooltipTouchStart&&(this._svg.removeEventListener("touchstart",this._chartTooltipTouchStart),this._chartTooltipTouchStart=null),this._chartTooltipTouchMove&&(this._svg.removeEventListener("touchmove",this._chartTooltipTouchMove),this._chartTooltipTouchMove=null),this._chartTooltipTouchEnd&&(this._svg.removeEventListener("touchend",this._chartTooltipTouchEnd),this._chartTooltipTouchEnd=null)),this._chartTooltipScrollHandler){window.removeEventListener("scroll",this._chartTooltipScrollHandler,!0),this._chartContainer&&this._chartContainer.removeEventListener("scroll",this._chartTooltipScrollHandler,!0);let t=this.parentElement;for(;t;)t.removeEventListener("scroll",this._chartTooltipScrollHandler,!0),t=t.parentElement;this._chartTooltipScrollHandler=null}this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null),this._windowResizeHandler&&(window.removeEventListener("resize",this._windowResizeHandler),this._windowResizeHandler=null),this._cachedTooltipContent.clear(),this._cachedXPositions.clear(),this._plotPoints.clear(),this._cachedBounds={bounds:null,dataHash:""},this._cachedYRange={range:null,dataHash:""},this._cachedXValues={values:null,dataHash:""}}_handleResize(){var r,a;if(!this.isConnected)return;const t=this.getBoundingClientRect(),e=t.width||((r=this.parentElement)==null?void 0:r.clientWidth)||800,i=t.height||((a=this.parentElement)==null?void 0:a.clientHeight)||400,s=this._calculateDimension(this._widthValue,e,e),n=this._calculateDimension(this._heightValue,i,400);(s!==this._width||n!==this._height)&&(this._width=s,this._height=n,this.render())}_setupResizeObserver(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null),this._windowResizeHandler&&(window.removeEventListener("resize",this._windowResizeHandler),this._windowResizeHandler=null);let t=null;const e=()=>{t&&clearTimeout(t),t=window.setTimeout(()=>{this._handleResize()},100)};this._windowResizeHandler=e,this._resizeObserver=new ResizeObserver(()=>{e()}),this._resizeObserver.observe(this),window.addEventListener("resize",e)}attributeChangedCallback(t,e,i){if(e!==i){if(t==="data"&&this.data&&typeof this.data=="object"&&(this._chartData=this.data),(t==="width"||t==="height")&&this.isConnected){const s=e&&e.endsWith("%"),n=i&&i.endsWith("%");s!==n&&this._setupResizeObserver()}this.isConnected&&requestAnimationFrame(()=>{this.render()})}}get type(){const t=this.getAttribute("type")||"line";return t==="line"||t==="bar"||t==="area"||t==="pie"?t:"line"}set type(t){this.setAttribute("type",t)}get data(){return this._chartData}set data(t){if(typeof t=="string")try{this._chartData=JSON.parse(t)}catch(e){console.error("mint-chart: Invalid data JSON",e),this._chartData=null}else this._chartData=t;this.isConnected&&requestAnimationFrame(()=>{this.render()})}get width(){const t=this.getAttribute("width");if(!t)return this._widthValue;if(t.endsWith("%"))return t;const e=parseInt(t,10);return isNaN(e)?this._widthValue:e}set width(t){this.setAttribute("width",t.toString())}get height(){const t=this.getAttribute("height");if(!t)return this._heightValue;if(t.endsWith("%"))return t;const e=parseInt(t,10);return isNaN(e)?this._heightValue:e}set height(t){this.setAttribute("height",t.toString())}_calculateDimension(t,e,i){if(typeof t=="number")return t;if(typeof t=="string"&&t.endsWith("%")){const s=parseFloat(t);if(!isNaN(s))return e*s/100}return i}_scheduleRender(){this._renderScheduled||(this._renderScheduled=!0,requestAnimationFrame(()=>{this._renderScheduled=!1,this.render()}))}_isDatasetVisible(t,e){if(t.id){const i=this._datasetVisibility.get(t.id);if(i!==void 0)return i}return t.visible!==!1}_initializeDatasetVisibility(){this._chartData&&this._chartData.datasets.forEach((t,e)=>{t.id&&(this._datasetVisibility.has(t.id)||this._datasetVisibility.set(t.id,t.visible!==!1))})}render(){var r,a,l,o;if(!this.isConnected)return;this._plotPoints.clear(),this._activeXValue=null,(r=this._cachedTooltipContent)==null||r.clear(),(a=this._cachedXPositions)==null||a.clear(),this._chartType=this.type;let t=this._getReactiveValue(this.data);if(t&&typeof t=="object"&&!Array.isArray(t)&&"datasets"in t&&(this._chartData=t),!this._chartData){const c=this.getAttribute("data");if(c)try{this._chartData=JSON.parse(c)}catch(h){console.error("mint-chart: Invalid data JSON",h),this._chartData=null}}this._widthValue=this.width,this._heightValue=this.height;const e=this.getBoundingClientRect(),i=e.width||((l=this.parentElement)==null?void 0:l.clientWidth)||800,s=e.height||((o=this.parentElement)==null?void 0:o.clientHeight)||400;this._width=this._calculateDimension(this._widthValue,i,i),this._height=this._calculateDimension(this._heightValue,s,400),this._showLegend=this.getAttribute("show-legend")!=="false",this._showGrid=this.getAttribute("show-grid")!=="false",this._showTooltip=this.getAttribute("show-tooltip")!=="false";const n=this.getAttribute("curve-tension");if(n!==null){const c=parseFloat(n);this._curveTension=isNaN(c)?.3:Math.max(0,Math.min(1,c))}else this._curveTension=.3;if(!this._chartData||!this._chartData.datasets||this._chartData.datasets.length===0){this.innerHTML='<div class="p-4 text-gray-500">No chart data provided</div>';return}switch(this.innerHTML="",this._chartContainer=document.createElement("div"),this._chartContainer.className="relative w-full",typeof this._widthValue=="string"&&this._widthValue.endsWith("%")?this._chartContainer.style.width=this._widthValue:this._chartContainer.style.width=`${this._width}px`,typeof this._heightValue=="string"&&this._heightValue.endsWith("%")?this._chartContainer.style.height=this._heightValue:this._chartContainer.style.height=`${this._height}px`,this.appendChild(this._chartContainer),this._svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this._svg.setAttribute("width",this._width.toString()),this._svg.setAttribute("height",this._height.toString()),this._svg.setAttribute("viewBox",`0 0 ${this._width} ${this._height}`),this._svg.setAttribute("class","w-full h-full"),this._chartContainer&&this._svg&&this._chartContainer.appendChild(this._svg),this._showTooltip&&this._createTooltip(),this._initializeDatasetVisibility(),this._calculateRotatedLabelHeight(),this._showLegend?this._legendHeight=this._calculateLegendHeight():this._legendHeight=0,this._showLegend&&this._renderLegend(),this._chartType!=="pie"&&this._pieChartClickOutsideHandler&&(document.removeEventListener("click",this._pieChartClickOutsideHandler,!0),this._pieChartClickOutsideHandler=null,this._pieChartTooltipShown=!1,this._pieChartGroup=null),this._pinnedXValue=null,this._chartType){case"line":this._renderLineChart();break;case"bar":this._renderBarChart();break;case"area":this._renderAreaChart();break;case"pie":this._renderPieChart();break}this._showTooltip&&this._chartType!=="pie"&&(this._setupChartTooltip(),this._setupTooltipScrollHandler()),this._createVerticalLine()}_createTooltip(){this._tooltip&&this._tooltip.parentNode&&this._tooltip.parentNode.removeChild(this._tooltip),this._tooltip=document.createElement("div"),this._tooltip.className="fixed pointer-events-none z-50 bg-gray-900 dark:bg-gray-800 text-white text-xs rounded px-2 py-1 shadow-lg opacity-0 transition-opacity",this._tooltip.style.display="none",document.body.appendChild(this._tooltip)}_showTooltipAt(t,e,i){if(!this._tooltip)return;this._tooltipHideTimeout!==null&&(clearTimeout(this._tooltipHideTimeout),this._tooltipHideTimeout=null),this._lastTooltipContent!==i&&(this._tooltip.innerHTML=i,this._lastTooltipContent=i),(this._tooltip.style.display==="none"||this._tooltip.style.opacity==="0")&&(this._tooltip.style.display="block",this._tooltip.style.opacity="1",this._tooltip.style.padding="8px 12px");const n=this._tooltip.getBoundingClientRect(),r=window.innerWidth,a=window.innerHeight;let l=t+10,o=e-n.height-8;l+n.width>r&&(l=t-n.width-10),l<0&&(l=10),o<0&&(o=e+20),o+n.height>a&&(o=e-n.height-8,o<0&&(o=10));const c=`${l}px`,h=`${o}px`;this._tooltip.style.left!==c&&(this._tooltip.style.left=c),this._tooltip.style.top!==h&&(this._tooltip.style.top=h)}_hideTooltip(){this._tooltip&&(this._tooltipHideTimeout!==null&&(clearTimeout(this._tooltipHideTimeout),this._tooltipHideTimeout=null),this._tooltip.style.opacity="0",this._tooltipHideTimeout=window.setTimeout(()=>{this._tooltip&&(this._tooltip.style.display="none"),this._tooltipHideTimeout=null},200))}_createVerticalLine(){if(!this._svg)return;this._verticalLine&&this._verticalLine.parentNode&&this._verticalLine.parentNode.removeChild(this._verticalLine),this._verticalLine=document.createElementNS("http://www.w3.org/2000/svg","line");const t=document.documentElement.classList.contains("dark");this._verticalLine.setAttribute("stroke",t?"#9ca3af":"#6b7280"),this._verticalLine.setAttribute("stroke-width","1"),this._verticalLine.setAttribute("stroke-dasharray","4,2"),this._verticalLine.style.opacity="0",this._verticalLine.style.pointerEvents="none";const e=this._svg.querySelector(".chart-legend");e&&e.parentNode?e.parentNode.insertBefore(this._verticalLine,e):this._svg.appendChild(this._verticalLine)}_showVerticalLineAtX(t,e){if(!this._verticalLine)return;const s=this._chartType==="bar"?this._scaleXForBarChart(t,e):this._scaleX(t,e);this._verticalLine.setAttribute("x1",s.toString()),this._verticalLine.setAttribute("y1",e.y.toString()),this._verticalLine.setAttribute("x2",s.toString()),this._verticalLine.setAttribute("y2",(e.y+e.height).toString()),this._verticalLine.style.opacity="1"}_hideVerticalLine(){this._verticalLine&&(this._verticalLine.style.opacity="0")}_showPlotPointsForX(t){this._plotPoints.forEach(s=>{s.forEach(n=>{n.style.opacity="0"})});const e=String(t),i=this._plotPoints.get(e);i&&i.forEach(s=>{s.style.opacity="1"})}_hidePlotPoints(){this._plotPoints.forEach(t=>{t.forEach(e=>{e.style.opacity="0"})})}_calculateMaxYAxisLabelWidth(){if(!this._showGrid||!this._chartData)return 0;const e=document.createElement("canvas").getContext("2d");if(!e)return 60;e.font="12px system-ui, -apple-system, sans-serif";const i=this._showLegend?Math.max(this._legendHeight,60):0,s=this._height-i,r=Math.floor(s/35),a=Math.min(5,r);let l=0;for(let o=0;o<=a;o++){const c=this._getYRange(),h=c.max-(c.max-c.min)/a*o,u=this._formatYAxisValue(h),d=e.measureText(u);l=Math.max(l,d.width)}return Math.ceil(l)+20}_getChartBounds(){const t=this._calculateMaxYAxisLabelWidth(),e=`${this._width}-${this._height}-${this._showGrid}-${this._showLegend}-${this._legendHeight}-${t}-${this._rotatedLabelHeight}`;if(this._cachedBounds.bounds&&this._cachedBounds.dataHash===e)return this._cachedBounds.bounds;let i=0,s=0,n=0,r=0;this._showGrid&&(i=t+10);const o=(this._rotatedLabelHeight>0?30:20)+this._rotatedLabelHeight+12;let c=o;this._showLegend&&(c=o+20+Math.max(this._legendHeight,60));const h=this._height-n-i-s,u=h-c,d=100;let p=1;if(u<d&&c>0){const b=h-d;b>0?(p=Math.min(1,b/c),p=Math.max(.5,p)):p=.5}r=c*p;const f=this._width*.3;let m=i,g=1;i>f&&(g=f/i,m=f);const _={width:(this._width-m-s)*g,height:this._height-n-r,x:m,y:n};return this._cachedBounds={bounds:_,dataHash:e},_}_getAllDataPoints(){if(!this._chartData)return[];const t=[];return this._chartData.datasets.forEach((e,i)=>{this._isDatasetVisible(e,i)&&t.push(...e.data)}),t}_getXValues(){if(!this._chartData)return[];const t=JSON.stringify(this._chartData.labels)+JSON.stringify(this._chartData.datasets.map(s=>s.data.map(n=>n.x)));if(this._cachedXValues.values&&this._cachedXValues.dataHash===t)return this._cachedXValues.values;if(this._chartData.labels&&this._chartData.labels.length>0)return this._cachedXValues={values:this._chartData.labels,dataHash:t},this._chartData.labels;const e=new Set;this._chartData.datasets.forEach((s,n)=>{this._isDatasetVisible(s,n)&&s.data.forEach(r=>{e.add(r.x)})});const i=Array.from(e).sort((s,n)=>{if(typeof s=="number"&&typeof n=="number")return s-n;const r=String(s),a=String(n),l=/^([A-Za-z]{3})\s+(\d{4})$/,o=r.match(l),c=a.match(l);if(o&&c){const h=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],u=h.indexOf(o[1]),d=h.indexOf(c[1]),p=parseInt(o[2]),f=parseInt(c[2]);return p!==f?p-f:u-d}return r.localeCompare(a)});return this._cachedXValues={values:i,dataHash:t},i}_getYRange(){if(!this._chartData)return{min:0,max:100};const t=JSON.stringify(this._chartData.datasets.map(l=>l.data.map(o=>o.y)));if(this._cachedYRange.range&&this._cachedYRange.dataHash===t)return this._cachedYRange.range;const e=this._getAllDataPoints();if(e.length===0){const l={min:0,max:100};return this._cachedYRange={range:l,dataHash:t},l}const i=e.map(l=>l.y),s=Math.min(...i),n=Math.max(...i),r=(n-s)*.1,a={min:Math.max(0,s-r),max:n+r};return this._cachedYRange={range:a,dataHash:t},a}_hasDecimalValues(){return this._getAllDataPoints().some(e=>e.y%1!==0)}_formatValueByString(t,e){switch(e.toLowerCase()){case"currency":case"currency-usd":return new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(t);case"currency-eur":return new Intl.NumberFormat("en-US",{style:"currency",currency:"EUR"}).format(t);case"currency-gbp":return new Intl.NumberFormat("en-US",{style:"currency",currency:"GBP"}).format(t);case"number":case"number-with-commas":return new Intl.NumberFormat("en-US").format(t);case"percent":return new Intl.NumberFormat("en-US",{style:"percent",minimumFractionDigits:1}).format(t/100);default:return this._hasDecimalValues()&&t%1!==0?t.toFixed(1):Math.round(t).toString()}}_formatXAxisValue(t){var e;if((e=this._chartData)!=null&&e.formatXAxis){if(typeof this._chartData.formatXAxis=="function")return this._chartData.formatXAxis(t);if(typeof this._chartData.formatXAxis=="string")return String(t)}return String(t)}_formatYAxisValue(t){var i,s,n,r;if((i=this._chartData)!=null&&i.formatYAxis){if(typeof this._chartData.formatYAxis=="function")return this._chartData.formatYAxis(t);if(typeof this._chartData.formatYAxis=="string")return this._formatValueByString(t,this._chartData.formatYAxis)}if((r=(n=(s=this._chartData)==null?void 0:s.datasets)==null?void 0:n[0])!=null&&r.formatValue){if(typeof this._chartData.datasets[0].formatValue=="function")return this._chartData.datasets[0].formatValue(t);if(typeof this._chartData.datasets[0].formatValue=="string")return this._formatValueByString(t,this._chartData.datasets[0].formatValue)}return this._hasDecimalValues()&&t%1!==0?t.toFixed(1):Math.round(t).toString()}_formatValue(t,e){if(e.formatValue){if(typeof e.formatValue=="function")return e.formatValue(t);if(typeof e.formatValue=="string")return this._formatValueByString(t,e.formatValue)}return String(t)}_getAllDatasetsAtX(t){if(!this._chartData)return[];const e=[];return this._chartData.datasets.forEach((i,s)=>{if(!this._isDatasetVisible(i,s))return;const n=i.data.find(r=>String(r.x)===String(t));if(n){const r=this._getDatasetColor(i,s),a=this._formatValue(n.y,i);e.push({name:i.name,value:n.y,color:r,formattedValue:a})}}),e}_findNearestXValue(t){if(!this._chartData)return null;const e=this._getChartBounds(),i=this._getXValues();if(i.length===0)return null;const s=this._chartType==="bar";let n=null,r=1/0;return i.forEach(a=>{const l=s?this._scaleXForBarChart(a,e):this._scaleX(a,e),o=Math.abs(t-l);o<r&&(r=o,n=a)}),n}_setupTooltipScrollHandler(){if(this._chartTooltipScrollHandler){window.removeEventListener("scroll",this._chartTooltipScrollHandler,!0),this._chartContainer&&this._chartContainer.removeEventListener("scroll",this._chartTooltipScrollHandler,!0);let e=this.parentElement;for(;e;)e.removeEventListener("scroll",this._chartTooltipScrollHandler,!0),e=e.parentElement}this._chartTooltipScrollHandler=()=>{this._hideTooltip(),this._pinnedXValue=null},window.addEventListener("scroll",this._chartTooltipScrollHandler,!0),this._chartContainer&&this._chartContainer.addEventListener("scroll",this._chartTooltipScrollHandler,!0);let t=this.parentElement;for(;t;){const e=window.getComputedStyle(t),i=e.overflow,s=e.overflowY;(i==="auto"||i==="scroll"||s==="auto"||s==="scroll")&&t.addEventListener("scroll",this._chartTooltipScrollHandler,!0),t=t.parentElement}}_setupChartTooltip(){if(!this._svg||!this._showTooltip)return;this._chartTooltipMouseMove&&this._svg.removeEventListener("mousemove",this._chartTooltipMouseMove),this._chartTooltipMouseLeave&&this._svg.removeEventListener("mouseleave",this._chartTooltipMouseLeave),this._chartTooltipClick&&this._svg.removeEventListener("click",this._chartTooltipClick),this._chartTooltipTouchStart&&this._svg.removeEventListener("touchstart",this._chartTooltipTouchStart),this._chartTooltipTouchMove&&this._svg.removeEventListener("touchmove",this._chartTooltipTouchMove),this._chartTooltipTouchEnd&&this._svg.removeEventListener("touchend",this._chartTooltipTouchEnd),this._cachedTooltipContent.clear(),this._cachedXPositions.clear();const t=this._getChartBounds();let e=0,i=0;const s=c=>{!this._chartContainer||!this._svg||(e=c.clientX,i=c.clientY,this._tooltipAnimationFrame!==null&&cancelAnimationFrame(this._tooltipAnimationFrame),this._tooltipAnimationFrame=requestAnimationFrame(()=>{if(this._tooltipAnimationFrame=null,!this._svg)return;const h=this._svg.getBoundingClientRect(),u=e-h.left,d=i-h.top;if(u<t.x||u>t.x+t.width||d<t.y||d>t.y+t.height){this._hideTooltip(),this._hidePlotPoints(),this._hideVerticalLine(),this._activeXValue=null;return}const p=this._findNearestXValue(u);if(!p){this._hideTooltip(),this._hidePlotPoints(),this._hideVerticalLine(),this._activeXValue=null;return}if(this._pinnedXValue!==null&&this._pinnedXValue===p){const g=this._pinnedXValue,_=this._getAllDatasetsAtX(g);if(_.length>0){this._activeXValue=g,this._showPlotPointsForX(g),this._showVerticalLineAtX(g,t);let b=this._cachedTooltipContent.get(g);b||(b=`<strong>${g}</strong><br/>`,_.forEach(v=>{b+=`<div style="display: flex; align-items: center; gap: 6px; margin-top: 4px;">
146
+ `});const s=encodeURI(i),n=document.createElement("a");n.setAttribute("href",s),n.setAttribute("download",`${this._configuration.export_name||this._tableId}.csv`),document.body.appendChild(n),n.click(),document.body.removeChild(n)}_columnChange(t,e){const i=t.target.checked;e.hidden=!i,this._saveColumnVisibility();const s=`edit-columns-popover-${this._tableId}`,n=this.querySelector(`#${s}`),r=n==null?void 0:n.hasAttribute("open");this.render(),r&&n&&requestAnimationFrame(()=>{const a=this.querySelector(`#${s}`);a&&typeof a.open=="function"&&a.open()})}_getStyle(t){let e="";return(t.nowrap||t.actions)&&(e+="white-space: nowrap;"),t.offsetLeft&&(e+=`left: ${t.offsetLeft} !important;`),t.offsetRight&&(e+=`right: ${t.offsetRight} !important;`),t.width&&(e+=`min-width: ${t.width}px; max-width: ${t.width}px;`),e}_getClasses(t,e=!1){const i=[];return t.class&&i.push(t.class.trim()),t.sortable&&!e&&i.push("cursor-pointer"),t.stickLeft&&i.push("sticky-left"),t.stickRight&&i.push("sticky-right"),i.join(" ")}render(){if(!this._configuration){this.innerHTML='<div class="p-4 text-red-500">Error: Invalid configuration</div>';return}const t=!this._loaded||this._rows.length>0||this._search.length>0||this._searching,e=this._getRows(),i=this._lastPage||Math.ceil(this._rows.length/this._perPage);let s="";if(t){if(s+='<div class="flex '+(this._inMintCard?"p-3.5":"mb-3")+'">',s+='<div class="flex-grow-1 flex-1">',s+='<div class="flex gap-2 items-center">',this._configuration.showSearch!==!1){const r=`search-${this._tableId}`;s+=`<mint-input id="${r}" type="search" label="" placeholder="Search..." class="flex-1" icon="search" value="${this._escapeHtml(this._search)}"></mint-input>`}if(this._configuration.buttons&&this._configuration.buttons.forEach(r=>{const a=r.icon?` icon="${this._escapeHtml(r.icon)}"`:"",l=r.tone?` tone="${this._escapeHtml(r.tone)}"`:"";s+=`<mint-button variant="solid" class="${r.class||""}" data-button-type="${r.type||"custom"}"${a}${l}>`,r.label&&(s+=this._escapeHtml(r.label)),s+="</mint-button>"}),s+="</div>",s+="</div>",this._configuration.editColumns!==!1&&this._configuration.columns.some(a=>!a.actions&&a.editable!==!1)){const a=`edit-columns-popover-${this._tableId}`,l=`edit-columns-button-${this._tableId}`;s+='<div class="ml-2">',s+=`<mint-button id="${l}" variant="solid" icon="edit"></mint-button>`,s+=`<mint-popover id="${a}" trigger-id="${l}" direction="down">`,this._configuration.columns.forEach(o=>{!o.actions&&o.editable!==!1&&(s+='<div class="p-2">',s+=`<mint-checkbox label="${o.label}" ${o.hidden?"":"checked"} data-column-key="${this._configuration.columns.indexOf(o)}"></mint-checkbox>`,s+="</div>")}),s+="</mint-popover>",s+="</div>"}s+="</div>"}if(this._type==="ajax"&&!this._loaded&&!this._fetchError&&!this._sorting){s+='<mint-table class="table-section'+(this._inMintCard?" rounded-t-none":"")+'">',s+=`<table id="${this._tableId}">`,s+="<thead><tr>",this._configuration.columns.forEach((r,a)=>{r.hidden||(s+=`<th width="${r.width||""}" style="${this._getStyle(r)}" class="${this._getClasses(r)}" data-column-key="${a}">`,r.showLabel!==!1&&(s+='<div class="flex items-center">',s+=`<div class="flex-1">${r.raw?r.label:this._escapeHtml(r.label)}</div>`,r.sortable&&(s+='<div class="ml-2 flex items-center">',s+='<mint-icon name="" class="w-4 h-4 text-gray-400"></mint-icon>',s+="</div>"),s+="</div>"),s+="</th>")}),s+="</tr></thead>",s+="<tbody>";for(let r=0;r<4;r++)s+="<tr>",this._configuration.columns.forEach(a=>{a.hidden||(s+=`<td style="${this._getStyle(a)}" class="${this._getClasses(a,!0)}">`,s+='<div class="h-4 bg-gray-200 dark:bg-gray-700 rounded animate-pulse"></div>',s+="</td>")}),s+="</tr>";if(s+="</tbody>",s+="</table>",s+="</mint-table>",this._configuration.perPage&&!this._configuration.loadMore&&(i>1||this._lastPage>0)){const r=this._lastPage>0?this._lastPage:i;if(r>1){s+='<div class="flex justify-end '+(this._inMintCard?"p-3.5":"mt-4")+'">',s+="<nav>",s+='<ul class="flex gap-1">',s+=`<li><mint-button variant="solid" size="sm" icon="caret-left" ${this._currentPage===1?'disabled="true"':""} data-action="page-prev"></mint-button></li>`;for(let a=1;a<=Math.min(2,r);a++){const o=this._currentPage===a?' disabled="true"':"";s+=`<li><mint-button variant="solid" size="sm"${o} data-action="page" data-page="${a}">${a}</mint-button></li>`}if(r>2&&(s+='<li><span class="px-2">...</span></li>'),this._currentPage>2&&this._currentPage<r-1&&(s+=`<li><mint-button variant="solid" size="sm" data-action="page" data-page="${this._currentPage-1}">${this._currentPage-1}</mint-button></li>`,s+=`<li><mint-button variant="solid" size="sm" disabled="true" data-action="page" data-page="${this._currentPage}">${this._currentPage}</mint-button></li>`,s+=`<li><mint-button variant="solid" size="sm" data-action="page" data-page="${this._currentPage+1}">${this._currentPage+1}</mint-button></li>`),r>2)for(let a=Math.max(r-1,this._currentPage+2);a<=r;a++){const o=this._currentPage===a?' disabled="true"':"";s+=`<li><mint-button variant="solid" size="sm"${o} data-action="page" data-page="${a}">${a}</mint-button></li>`}s+=`<li><mint-button variant="solid" size="sm" icon="caret-right" ${this._currentPage>=r?'disabled="true"':""} data-action="page-next"></mint-button></li>`,s+="</ul>",s+="</nav>",s+="</div>"}}}else e.length>0||this._search.length>0||this._searching||this._fetchError?(s+='<mint-table class="table-section'+(this._inMintCard?" rounded-t-none":"")+'">',s+=`<table id="${this._tableId}">`,s+="<thead><tr>",this._configuration.columns.forEach((r,a)=>{if(!r.hidden){if(s+=`<th width="${r.width||""}" style="${this._getStyle(r)}" class="${this._getClasses(r)}" data-column-key="${a}">`,r.showLabel!==!1){if(s+='<div class="flex items-center">',s+=`<div class="flex-1">${r.raw?r.label:this._escapeHtml(r.label)}</div>`,r.sortable){s+='<div class="ml-2 flex items-center">';const l=this._getSortClass(r);l==="spinner"?s+='<mint-spinner class="w-4 h-4"></mint-spinner>':s+=`<mint-icon name="${l}" class="w-4 h-4 ${l==="sort-arrows"?"text-gray-400":""}"></mint-icon>`,s+="</div>"}s+="</div>"}s+="</th>"}}),s+="</tr></thead>",s+="<tbody>",!this._fetching&&!this._loading&&e.forEach((r,a)=>{const l=typeof this._configuration.onRowClick=="function",o=l?"cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors":"";s+=`<tr data-row-index="${a}" ${l?'data-row-clickable="true"':""}${o?` class="${o}"`:""}>`,this._configuration.columns.forEach((c,h)=>{if(c.hidden)return;const u=!c.show||c.show(this,r);if(s+=`<td style="${this._getStyle(c)}" class="${this._getClasses(c,!0)}">`,u)if(c.raw)if(c.action){if(!c.action.show||c.action.show(this,r)){const d=typeof c.action.label=="function"?c.action.label(this,r):c.action.label;s+=`<mint-button variant="solid" data-action="column-action" data-row-index="${a}" data-column-key="${this._configuration.columns.indexOf(c)}">${this._escapeHtml(String(d))}</mint-button>`}}else if(c.actions)if(c.actionStyle!=="buttons"){const d=`actions-popover-${this._tableId}-${a}`,p=`actions-button-${this._tableId}-${a}`;s+=`<mint-button id="${p}" variant="link" icon="ellipsis">`,s+="</mint-button>",s+=`<mint-popover id="${d}" trigger-id="${p}" direction="down">`,c.actions.forEach((f,m)=>{if(!f.show||f.show(this,r)){const g=typeof f.label=="function"?f.label(this,r):f.label;s+=`<div class="p-2 cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700" data-action="row-action" data-row-index="${a}" data-action-index="${m}" data-column-key="${this._configuration.columns.indexOf(c)}">${this._escapeHtml(String(g))}</div>`}}),s+="</mint-popover>"}else c.actions.forEach((d,p)=>{if(!d.show||d.show(this,r)){const f=d.label?typeof d.label=="function"?d.label(this,r):d.label:"",m=d.icon?` icon="${this._escapeHtml(d.icon)}"`:"",g=d.tone?` tone="${this._escapeHtml(d.tone)}"`:"";s+=`<mint-button variant="link" class="${d.classes||""}" data-action="row-action" data-row-index="${a}" data-action-index="${p}" data-column-key="${this._configuration.columns.indexOf(c)}"${m}${g}>`,f&&(s+=this._escapeHtml(String(f))),s+="</mint-button>"}});else typeof c.format=="function"?s+=c.format(this,r):c.data&&(s+=this._escapeHtml(String(r[c.data]||"")));else if(c.action)(!c.action.show||c.action.show(this,r))&&(s+=`<mint-button variant="solid" data-action="column-action" data-row-index="${a}" data-column-key="${this._configuration.columns.indexOf(c)}">${c.action.label}</mint-button>`);else if(c.actions)if(c.actionStyle!=="buttons"){const d=`actions-popover-${this._tableId}-${a}`,p=`actions-button-${this._tableId}-${a}`;s+=`<mint-button id="${p}" variant="link" icon="ellipsis">`,s+="</mint-button>",s+=`<mint-popover id="${d}" trigger-id="${p}" direction="down">`,c.actions.forEach((f,m)=>{if(!f.show||f.show(this,r)){const g=typeof f.label=="function"?f.label(this,r):f.label;s+=`<div class="p-2 cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700" data-action="row-action" data-row-index="${a}" data-action-index="${m}" data-column-key="${this._configuration.columns.indexOf(c)}">${this._escapeHtml(String(g))}</div>`}}),s+="</mint-popover>"}else c.actions.forEach((d,p)=>{if(!d.show||d.show(this,r)){const f=d.label?typeof d.label=="function"?d.label(this,r):d.label:"",m=d.icon?` icon="${this._escapeHtml(d.icon)}"`:"",g=d.tone?` tone="${this._escapeHtml(d.tone)}"`:"";s+=`<mint-button variant="link" class="${d.classes||""}" data-action="row-action" data-row-index="${a}" data-action-index="${p}" data-column-key="${this._configuration.columns.indexOf(c)}"${m}${g}>`,f&&(s+=this._escapeHtml(String(f))),s+="</mint-button>"}});else typeof c.format=="function"?s+=this._escapeHtml(c.format(this,r)):c.data&&(s+=this._escapeHtml(String(r[c.data]||"")));s+="</td>"}),s+="</tr>"}),!this._fetching&&!this._loading&&e.length===0&&(this._fetchError?s+=`<tr><td colspan="${this._configuration.columns.filter(r=>!r.hidden).length}" class="text-center py-8 text-red-500 dark:text-red-400">Failed to load data: ${this._escapeHtml(this._fetchError)}</td></tr>`:s+=`<tr><td colspan="${this._configuration.columns.filter(r=>!r.hidden).length}" class="text-center py-8">No records found.</td></tr>`),s+="</tbody>",s+="</table>",this._configuration.loadMore&&(this._loading||this._fetching?(s+='<div class="flex justify-center '+(this._inMintCard?"p-3.5":"mt-4")+'">',s+="<mint-spinner></mint-spinner>",s+="</div>"):(this._type==="ajax"?this._lastPage>0&&this._currentPage<this._lastPage:this._totalRows>0&&this._rowsToShow<this._totalRows)&&(s+='<div class="flex justify-center '+(this._inMintCard?"p-3.5":"mt-4")+'">',s+='<mint-button variant="ghost" data-action="load-more">Load more</mint-button>',s+="</div>")),s+="</mint-table>"):s+='<slot name="empty"></slot>';this.innerHTML=s,this._updatePagination(),this.querySelectorAll("mint-button[data-action]").forEach(r=>{r.render&&r.render()}),this.querySelectorAll("mint-button[data-button-type]").forEach(r=>{r.render&&r.render()}),this._attachEventListeners(),this._type==="ajax"&&!this._loaded&&!this._fetching&&!this._loading&&this._fetchData()}_attachRowClickHandler(){this._rowClickHandler&&this.removeEventListener("click",this._rowClickHandler,!0);const t=e=>{var o;const i=e.target;if(i.tagName==="MINT-BUTTON"||i.tagName==="BUTTON"||i.closest("mint-button")||i.closest("button")||i.closest("mint-popover")||i.closest("[data-action]"))return;const s=i.closest('tr[data-row-clickable="true"]');if(!s)return;const n=s.getAttribute("data-row-index");if(!n)return;const r=parseInt(n),l=this._getRows()[r];!l||!((o=this._configuration)!=null&&o.onRowClick)||(this._configuration.onRowClick.length===1?this._configuration.onRowClick(l):this._configuration.onRowClick(this,l))};this.addEventListener("click",t,!0),this._rowClickHandler=t}_attachPaginationListeners(){this.querySelectorAll('[data-action="page"]').forEach(t=>{t.addEventListener("click",()=>{if(t.getAttribute("active")==="true")return;const e=parseInt(t.getAttribute("data-page")||"1");e!==this._currentPage&&this._goToPage(e)})}),this.querySelectorAll('[data-action="page-prev"]').forEach(t=>{t.addEventListener("click",()=>{this._goToPage(this._currentPage-1)})}),this.querySelectorAll('[data-action="page-next"]').forEach(t=>{t.addEventListener("click",()=>{this._goToPage(this._currentPage+1)})})}_attachTableEventListeners(){this.querySelectorAll('[data-action="row-action"]').forEach(t=>{t.addEventListener("click",()=>{var l;const e=parseInt(t.getAttribute("data-row-index")||"0"),i=parseInt(t.getAttribute("data-action-index")||"0"),s=parseInt(t.getAttribute("data-column-key")||"0"),r=this._getRows()[e],a=(l=this._configuration)==null?void 0:l.columns[s];a&&a.actions&&a.actions[i]&&a.actions[i].onClick(this,r)})}),this.querySelectorAll('[data-action="column-action"]').forEach(t=>{t.addEventListener("click",()=>{var a;const e=parseInt(t.getAttribute("data-row-index")||"0"),i=parseInt(t.getAttribute("data-column-key")||"0"),n=this._getRows()[e],r=(a=this._configuration)==null?void 0:a.columns[i];r&&r.action&&r.action.onClick(this,n)})})}_attachEventListeners(){var e;const t=this.querySelector(`#search-${this._tableId}`);if(t){const i=t.querySelector("input")||t._element;i?i.addEventListener("input",s=>{this._search=s.target.value,this._triggerSearch()}):t.addEventListener("input",s=>{this._search=t.value||s.target.value||"",this._triggerSearch()})}if(this._attachTableEventListeners(),this._attachRowClickHandler(),this.querySelectorAll("th[data-column-key]").forEach(i=>{i.addEventListener("click",()=>{var r;const s=parseInt(i.getAttribute("data-column-key")||"0"),n=(r=this._configuration)==null?void 0:r.columns[s];n&&this._toggleSort(n)})}),this.querySelectorAll("[data-button-type]").forEach(i=>{i.addEventListener("click",()=>{var r,a;const s=i.getAttribute("data-button-type"),n=(a=(r=this._configuration)==null?void 0:r.buttons)==null?void 0:a.find(l=>(l.type||"custom")===s);n&&this._handleButtonClick(n)})}),this.querySelectorAll("mint-checkbox[data-column-key]").forEach(i=>{i.addEventListener("change",s=>{var a;s.stopPropagation();const n=parseInt(i.getAttribute("data-column-key")||"0"),r=(a=this._configuration)==null?void 0:a.columns[n];r&&this._columnChange(s,r)}),i.addEventListener("click",s=>{s.stopPropagation()})}),this._attachPaginationListeners(),this.querySelectorAll('[data-action="load-more"]').forEach(i=>{i.addEventListener("click",()=>{this._loadMore()})}),(e=this._configuration)!=null&&e.loadMore){this._scrollHandler&&window.removeEventListener("scroll",this._scrollHandler);const i=()=>{const s=window.pageYOffset||document.documentElement.scrollTop,n=window.innerHeight;if(document.documentElement.scrollHeight-s-n<=100){const a=this._type==="ajax"?this._lastPage>0&&this._currentPage<this._lastPage:this._totalRows>0&&this._rowsToShow<this._totalRows;!this._loading&&!this._fetching&&a&&this._loadMore()}};this._scrollHandler=i,window.addEventListener("scroll",i)}}_escapeHtml(t){const e=document.createElement("div");return e.textContent=t,e.innerHTML}_getPageFromUrl(){if(!this._tableId)return null;const e=new URLSearchParams(window.location.search).get(`mui.${this._tableId}`);if(!e)return null;const i=parseInt(e,10);return isNaN(i)||i<1?null:i}_updatePageInUrl(t){if(!this._tableId)return;const e=new URL(window.location.href),i=e.searchParams;i.set(`mui.${this._tableId}`,t.toString()),t===1&&i.set(`mui.${this._tableId}`,"1"),window.history.replaceState({},"",e.toString())}_loadPageFromUrl(){if(!this._configuration||!this._tableId)return;const t=this._getPageFromUrl();t!==null&&(this._currentPage=t,this._offset=(this._currentPage-1)*this._perPage)}}customElements.get("mint-resource-table")||customElements.define("mint-resource-table",Mt);class It extends HTMLElement{constructor(){super(),this._overlay=null,this._offCanvas=null,this._header=null,this._headingSlot=null,this._bodySlot=null,this._actionsSlot=null,this._closeButton=null,this._darkModeObserver=null}static get observedAttributes(){return["id","heading","open","position","full-page","width"]}connectedCallback(){this.classList.add("box-border","m-0","p-0","border-0","align-baseline","fixed","inset-0","z-50"),this.isOpen()||this.classList.add("hidden"),this.render(),this._observeDarkMode()}disconnectedCallback(){this._darkModeObserver&&(this._darkModeObserver.disconnect(),this._darkModeObserver=null)}attributeChangedCallback(t,e,i){e!==i&&this.render()}getId(){return this.getAttribute("id")||""}getHeading(){return this.getAttribute("heading")||""}getPosition(){var e;const t=(e=this.getAttribute("position"))==null?void 0:e.toLowerCase();return t==="top"||t==="bottom"||t==="left"||t==="right"?t:"right"}isFullPage(){return this.getAttribute("full-page")==="true"}getWidth(){return this.getAttribute("width")||"w-80"}isOpen(){return this.getAttribute("open")==="true"}open(){this.setAttribute("open","true")}close(){this.removeAttribute("open")}render(){const t=this.getId(),e=this.getHeading(),i=this.isOpen(),s=this.getPosition(),n=this.isFullPage();t&&(this.id=t),this._overlay||(this._overlay=document.createElement("div"),this._overlay.className="fixed inset-0 bg-black bg-opacity-50 transition-opacity duration-200 z-40",this._overlay.addEventListener("click",()=>this.close()),this.appendChild(this._overlay)),this._offCanvas||(this._offCanvas=document.createElement("div"),this.appendChild(this._offCanvas));const r=this._getPositionClasses(s,n);this._offCanvas.className=r;let a=this._offCanvas.querySelector(".off-canvas-content");if(a||(a=document.createElement("div"),a.className="off-canvas-content bg-white dark:bg-gray-900 dark:border dark:border-gray-700 shadow-xl flex flex-col pointer-events-auto transition-all duration-300 ease-out",a.style.transform=this._getTransformValue(s,!1),this._offCanvas.appendChild(a)),i?this._animateEnter():this._animateExit(),Array.from(a.classList).forEach(f=>{(f.startsWith("w-")||f.startsWith("max-w-")||f.startsWith("md:w-")||f.startsWith("md:max-w-")||f.startsWith("sm:w-")||f.startsWith("sm:max-w-"))&&a.classList.remove(f)}),a.classList.remove("h-full","max-h-[90vh]","max-h-screen","md:h-full","md:max-h-[90vh]","md:max-h-screen","sm:h-full","sm:max-h-[90vh]"),n)a.classList.add("w-full","h-full","max-w-none");else{const f=this.getWidth();s==="top"||s==="bottom"?a.classList.add("w-full","h-full","max-w-none","md:max-h-[90vh]","md:h-auto"):a.classList.add("w-full","h-full","max-w-none",`md:${f}`,"md:h-full")}this._header||(this._header=document.createElement("div"),this._header.className="flex items-center justify-between p-4 border-b border-gray-200 dark:border-gray-700 flex-shrink-0",a.appendChild(this._header)),this._headingSlot||(this._headingSlot=document.createElement("div"),this._headingSlot.className="flex-1",this._headingSlot.setAttribute("slot","heading"),this._header.appendChild(this._headingSlot));let o=this._headingSlot.querySelector("mint-text");e?(o||(o=document.createElement("mint-text"),o.setAttribute("size","sub-heading"),o.setAttribute("bold","true"),this._headingSlot.appendChild(o)),o.textContent=e):o&&o.remove(),Array.from(this.children).filter(f=>f!==this._overlay&&f!==this._offCanvas&&f!==this._headingSlot&&f.getAttribute("slot")==="heading").forEach(f=>{this._headingSlot&&f.parentElement!==this._headingSlot&&this._headingSlot.appendChild(f)}),this._closeButton||(this._closeButton=document.createElement("mint-button"),this._closeButton.setAttribute("variant","ghost"),this._closeButton.setAttribute("icon","close"),this._closeButton.addEventListener("click",()=>this.close()),this._header.appendChild(this._closeButton)),this._bodySlot||(this._bodySlot=document.createElement("div"),this._bodySlot.className="flex-1 overflow-y-auto p-4",this._bodySlot.setAttribute("slot","body"),a.appendChild(this._bodySlot)),Array.from(this.children).filter(f=>f!==this._overlay&&f!==this._offCanvas&&f!==this._bodySlot&&f.getAttribute("slot")==="body").forEach(f=>{this._bodySlot&&f.parentElement!==this._bodySlot&&this._bodySlot.appendChild(f)}),this._actionsSlot||(this._actionsSlot=document.createElement("div"),this._actionsSlot.className="p-4 border-t border-gray-200 dark:border-gray-700 flex-shrink-0",this._actionsSlot.setAttribute("slot","actions"),a.appendChild(this._actionsSlot));let u=this._actionsSlot.querySelector("mint-stack");u||(u=document.createElement("mint-stack"),u.setAttribute("direction","horizontal"),u.className="justify-end",this._actionsSlot.appendChild(u)),Array.from(this.children).filter(f=>f!==this._overlay&&f!==this._offCanvas&&f!==this._actionsSlot&&f.getAttribute("slot")==="actions").forEach(f=>{Array.from(f.children).forEach(g=>{g.parentElement!==u&&u.appendChild(g)}),f.parentElement&&f.remove()}),Array.from(this.children).forEach(f=>{f!==this._overlay&&f!==this._offCanvas&&f.getAttribute("slot")!=="heading"&&f.getAttribute("slot")!=="body"&&f.getAttribute("slot")!=="actions"&&f!==this._headingSlot&&f!==this._bodySlot&&f!==this._actionsSlot&&f.parentElement!==this._bodySlot&&this._bodySlot.appendChild(f)}),this._updateBackgroundColor()}_getPositionClasses(t,e){const i="fixed z-50 pointer-events-none transition-all duration-300 ease-out";switch(t){case"top":return`${i} inset-0 md:inset-x-0 md:top-0 md:bottom-auto ${e?"md:h-full":"md:h-auto"}`;case"bottom":return`${i} inset-0 md:inset-x-0 md:bottom-0 md:top-auto ${e?"md:h-full":"md:h-auto"}`;case"left":return`${i} inset-0 md:inset-y-0 md:left-0 md:right-auto ${e?"md:w-full":"md:w-auto"}`;case"right":return`${i} inset-0 md:inset-y-0 md:right-0 md:left-auto ${e?"md:w-full":"md:w-auto"}`;default:return`${i} inset-0 md:inset-y-0 md:right-0 md:left-auto ${e?"md:w-full":"md:w-auto"}`}}_getTransformValue(t,e){if(e)switch(t){case"top":return"translateY(0)";case"bottom":return"translateY(0)";case"left":return"translateX(0)";case"right":return"translateX(0)";default:return"translateX(0)"}else switch(t){case"top":return"translateY(-100%)";case"bottom":return"translateY(100%)";case"left":return"translateX(-100%)";case"right":return"translateX(100%)";default:return"translateX(100%)"}}_updateBackgroundColor(){if(!this._offCanvas)return;const t=document.documentElement.classList.contains("dark"),e=this._offCanvas.querySelector(".off-canvas-content");e&&(t?(e.classList.remove("bg-white"),e.classList.add("bg-gray-900","border","border-gray-700")):(e.classList.remove("bg-gray-900","border","border-gray-700"),e.classList.add("bg-white")))}_observeDarkMode(){this._darkModeObserver||(this._darkModeObserver=new MutationObserver(()=>{this._updateBackgroundColor()}),this._darkModeObserver.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]}))}_animateEnter(){var i;const t=(i=this._offCanvas)==null?void 0:i.querySelector(".off-canvas-content");if(!t)return;const e=this.getPosition();t.style.transform=this._getTransformValue(e,!1),t.style.transition="transform 300ms ease-out",this.classList.remove("hidden"),requestAnimationFrame(()=>{requestAnimationFrame(()=>{t.style.transform=this._getTransformValue(e,!0)})})}_animateExit(){var i;const t=(i=this._offCanvas)==null?void 0:i.querySelector(".off-canvas-content");if(!t){this.classList.add("hidden");return}const e=this.getPosition();t.style.transition="transform 300ms ease-in",t.style.transform=this._getTransformValue(e,!1),setTimeout(()=>{this.classList.add("hidden"),t.style.transform="",t.style.transition=""},300)}}customElements.get("mint-off-canvas")||customElements.define("mint-off-canvas",It);class Nt extends HTMLElement{constructor(){super(),this._clickHandler=null}static get observedAttributes(){return["active","disabled","target"]}connectedCallback(){this.render(),this.setupEventListeners()}disconnectedCallback(){this.removeEventListeners()}attributeChangedCallback(t,e,i){e!==i&&this.render()}getTarget(){return this.getAttribute("target")||""}isActive(){const t=this.getAttribute("active");return t!==null&&t!=="false"}isDisabled(){return this.getAttribute("disabled")==="true"}get active(){return this.isActive()}set active(t){t?this.setAttribute("active","true"):this.setAttribute("active","false")}render(){const t=this.isActive(),e=this.isDisabled();this.className="",this.classList.add("box-border","m-0","p-0","border-0","inline-block","cursor-pointer","px-4","py-1.5","text-sm","font-medium","transition-all","duration-200","rounded-lg","border","text-gray-700","dark:text-gray-300");const i=this.closest("mint-tab-list"),s=(i==null?void 0:i.getAttribute("position"))||"top",n=s==="left"||s==="right";e?(this.classList.add("opacity-60","cursor-not-allowed","pointer-events-none","bg-gray-50","dark:bg-gray-900","border-gray-300","dark:border-gray-700","text-gray-400","dark:text-gray-500"),this.classList.remove("cursor-pointer")):t?(this.classList.add("bg-white","dark:bg-gray-900","border-gray-200","dark:border-gray-700","text-gray-900","dark:text-gray-100","shadow-sm","relative","z-10"),n?s==="left"?this.classList.add("mr-[-1px]"):this.classList.add("ml-[-1px]"):this.classList.add("mb-[-1px]")):this.classList.add("bg-gray-100","dark:bg-gray-900","border-gray-200","dark:border-gray-700","text-gray-600","dark:text-gray-400","hover:bg-gray-50","dark:hover:bg-gray-600")}setupEventListeners(){this.isDisabled()||this._clickHandler||(this._clickHandler=this.handleClick.bind(this),this.addEventListener("click",this._clickHandler))}removeEventListeners(){this._clickHandler&&(this.removeEventListener("click",this._clickHandler),this._clickHandler=null)}handleClick(t){if(this.isDisabled()){t.preventDefault(),t.stopPropagation();return}t.__mintTabsSynthetic||(t.stopPropagation(),this.dispatchEvent(new CustomEvent("tab-click",{detail:{tab:this,target:this.getTarget()},bubbles:!0,cancelable:!0,composed:!0})))}}customElements.get("mint-tab")||customElements.define("mint-tab",Nt);class Pt extends HTMLElement{static get observedAttributes(){return["position"]}constructor(){super()}connectedCallback(){this.render()}attributeChangedCallback(t,e,i){e!==i&&this.render()}getPosition(){return this.getAttribute("position")||"top"}render(){const t=this.getPosition();this.classList.remove("flex","inline-flex","flex-row","flex-col","gap-1","gap-2","pb-0","pr-0","pl-0","mb-0","mr-0","ml-0","self-start"),this.classList.add("box-border","m-0","p-1","border","bg-gray-100","dark:bg-gray-900","dark:border-gray-700","border-gray-200","w-auto","rounded-lg","gap-2"),t==="top"?this.classList.add("inline-flex","flex-row","mb-0","self-start"):t==="left"?this.classList.add("flex","flex-col","mr-0"):t==="right"&&this.classList.add("flex","flex-col","ml-0")}}customElements.get("mint-tab-list")||customElements.define("mint-tab-list",Pt);class Ft extends HTMLElement{static get observedAttributes(){return["id"]}constructor(){super()}connectedCallback(){this.classList.add("box-border","m-0","p-0","border-0","block","w-full"),this.render(),this.checkInitialVisibility()}attributeChangedCallback(t,e,i){e!==i&&t==="id"&&(this.render(),this.checkInitialVisibility())}getId(){return this.getAttribute("id")||""}show(){this.style.display="block"}hide(){this.style.display="none"}checkInitialVisibility(){const t=this.closest("mint-tabs");if(!t){this.style.display="none";return}const e=t.querySelectorAll("mint-tab");let i=!1;if(e.forEach(s=>{const n=s.getAttribute("active"),r=s.getAttribute("target"),a=this.getId();n==="true"&&r===a&&(i=!0)}),!i&&e.length>0){const n=e[0].getAttribute("target"),r=this.getId();n===r&&!t.querySelector('mint-tab[active="true"]')&&(i=!0)}i?this.style.display="block":this.style.display="none"}render(){}}customElements.get("mint-tab-content")||customElements.define("mint-tab-content",Ft);class Ot extends HTMLElement{constructor(){super(),this._tabClickHandler=null,this._mutationObserver=null}connectedCallback(){this.classList.add("box-border","m-0","p-0","border-0","block"),this.render(),this.setupEventListeners(),this.setupMutationObserver(),this.initializeActiveTab()}disconnectedCallback(){this.removeEventListeners(),this._mutationObserver&&(this._mutationObserver.disconnect(),this._mutationObserver=null)}render(){const t=this.querySelector("mint-tab-list");if(this.querySelectorAll("mint-tab-content"),!t){console.warn("mint-tabs: mint-tab-list is required");return}const e=t.getAttribute("position")||"top";this.classList.remove("flex","flex-row","flex-col","gap-4","gap-6"),e==="left"||e==="right"?(this.classList.add("flex","flex-row","items-start"),e==="left"?(t.classList.add("mr-4","flex-shrink-0"),t.classList.remove("ml-4")):(t.classList.add("ml-4","flex-shrink-0","order-2"),t.classList.remove("mr-4"),this.querySelectorAll("mint-tab-content").forEach(s=>{s.classList.add("order-1")}))):(this.classList.add("flex","flex-col"),t.classList.remove("mr-4","ml-4","flex-shrink-0","order-2"),this.querySelectorAll("mint-tab-content").forEach(s=>{s.classList.remove("order-1")}))}initializeActiveTab(){requestAnimationFrame(()=>{const t=this.querySelectorAll("mint-tab");let e=null;if(t.forEach(s=>{s.getAttribute("active")==="true"&&(e=s)}),!e&&t.length>0&&(e=t[0],e.setAttribute("active","true")),e){const s=e.getAttribute("target");s?this.showContent(s):this.hideAllContent()}else this.hideAllContent();this.querySelectorAll("mint-tab-content").forEach(s=>{const n=s;n.checkInitialVisibility&&n.checkInitialVisibility()})})}hideAllContent(){this.querySelectorAll("mint-tab-content").forEach(e=>{const i=e;i.hide?i.hide():e.style.display="none"})}showContent(t){this.querySelectorAll("mint-tab-content").forEach(s=>{const n=s;n.hide?n.hide():s.style.display="none"});const i=this.querySelector(`mint-tab-content[id="${t}"]`);i&&(i.show?i.show():i.style.display="block")}setupEventListeners(){this._tabClickHandler||(this._tabClickHandler=this.handleTabClick.bind(this),this.addEventListener("tab-click",this._tabClickHandler))}removeEventListeners(){this._tabClickHandler&&(this.removeEventListener("tab-click",this._tabClickHandler),this._tabClickHandler=null)}setupMutationObserver(){this._mutationObserver=new MutationObserver(()=>{this.render()});const t=this.querySelector("mint-tab-list");t&&this._mutationObserver.observe(t,{attributes:!0,attributeFilter:["position"]})}handleTabClick(t){var r,a;const e=(r=t.detail)==null?void 0:r.tab,i=(a=t.detail)==null?void 0:a.target;if(!e)return;const s=e.closest("mint-tab-list");if(!s)return;s.querySelectorAll("mint-tab").forEach(l=>{const o=l;l===e?o.active=!0:o.active=!1}),i&&this.showContent(i)}}customElements.get("mint-tabs")||customElements.define("mint-tabs",Ot);const it=class it extends HTMLElement{constructor(){super(),this._chartContainer=null,this._svg=null,this._tooltip=null,this._chartType="line",this._chartData=null,this._width=800,this._height=400,this._padding={top:20,right:20,bottom:60,left:60},this._showLegend=!0,this._showGrid=!0,this._showTooltip=!0,this._curveTension=.3,this._dataObserver=null,this._darkModeObserver=null,this._tooltipHideTimeout=null,this._lastTooltipContent="",this._activeXValue=null,this._pinnedXValue=null,this._tooltipAnimationFrame=null,this._cachedTooltipContent=new Map,this._cachedXPositions=new Map,this._verticalLine=null,this._plotPoints=new Map,this._resizeObserver=null,this._windowResizeHandler=null,this._pieChartTimeouts=new Set,this._pieChartTooltipShown=!1,this._pieChartClickOutsideHandler=null,this._pieChartGroup=null,this._chartClickOutsideHandler=null,this._chartTooltipScrollHandler=null,this._cachedBounds={bounds:null,dataHash:""},this._cachedYRange={range:null,dataHash:""},this._cachedXValues={values:null,dataHash:""},this._renderScheduled=!1,this._datasetVisibility=new Map,this._widthValue="100%",this._heightValue=400,this._defaultColors=["#3b82f6","#ef4444","#10b981","#f59e0b","#8b5cf6","#ec4899","#06b6d4","#f97316"],this._legendHeight=0,this._rotatedLabelHeight=0}static get observedAttributes(){return["type","data","width","height","show-legend","show-grid","show-tooltip","curve-tension"]}connectedCallback(){this.classList.add("box-border","m-0","p-0","border-0","align-baseline","block","w-full");let t=this._getReactiveValue(this.data);t&&typeof t=="object"&&!Array.isArray(t)&&"datasets"in t&&(this._chartData=t),this._setupDataObserver(),this._setupDarkModeObserver(),this._setupResizeObserver(),requestAnimationFrame(()=>{requestAnimationFrame(()=>{this.render()})})}_getReactiveValue(t){if(!t||typeof t!="object")return t;if("_value"in t||"__v_isRef"in t){if(typeof t.value<"u")return t.value;if("_value"in t)return t._value}return"__v_raw"in t||"__v_isReactive"in t||"__ob__"in t,t}_setupDataObserver(){let t=null,e=0;const i=()=>{if(!this.isConnected)return;const n=this._getReactiveValue(this.data);let r=null;n&&typeof n=="object"&&!Array.isArray(n)&&"datasets"in n&&(r=n),r!==t&&r&&(t=r,this._chartData=r,this._cachedBounds.dataHash="",this._cachedYRange.dataHash="",this._cachedXValues.dataHash="",this.render())};requestAnimationFrame(()=>{i(),requestAnimationFrame(()=>{i()})});const s=setInterval(()=>{if(!this.isConnected){clearInterval(s);return}if(i(),e++,e>50){clearInterval(s);const n=setInterval(()=>{if(!this.isConnected){clearInterval(n);return}i()},1e3);this._dataCheckInterval=n}},100);this._dataCheckInterval=s}_setupDarkModeObserver(){this._darkModeObserver=new MutationObserver(()=>{this.isConnected&&this.render()}),this._darkModeObserver.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]})}disconnectedCallback(){if(this._tooltip&&this._tooltip.parentNode&&(this._tooltip.parentNode.removeChild(this._tooltip),this._tooltip=null),this._tooltipHideTimeout!==null&&(clearTimeout(this._tooltipHideTimeout),this._tooltipHideTimeout=null),this._pieChartTimeouts.forEach(t=>clearTimeout(t)),this._pieChartTimeouts.clear(),this._pieChartClickOutsideHandler&&(document.removeEventListener("click",this._pieChartClickOutsideHandler,!0),this._pieChartClickOutsideHandler=null),this._chartClickOutsideHandler&&(document.removeEventListener("click",this._chartClickOutsideHandler,!0),this._chartClickOutsideHandler=null),this._pieChartTooltipShown=!1,this._pieChartGroup=null,this._pinnedXValue=null,this._tooltipAnimationFrame!==null&&(cancelAnimationFrame(this._tooltipAnimationFrame),this._tooltipAnimationFrame=null),this._dataObserver&&(this._dataObserver.disconnect(),this._dataObserver=null),this._darkModeObserver&&(this._darkModeObserver.disconnect(),this._darkModeObserver=null),this._dataCheckInterval&&(clearInterval(this._dataCheckInterval),this._dataCheckInterval=null),this._svg&&(this._chartTooltipMouseMove&&(this._svg.removeEventListener("mousemove",this._chartTooltipMouseMove),this._chartTooltipMouseMove=null),this._chartTooltipMouseLeave&&(this._svg.removeEventListener("mouseleave",this._chartTooltipMouseLeave),this._chartTooltipMouseLeave=null),this._chartTooltipTouchStart&&(this._svg.removeEventListener("touchstart",this._chartTooltipTouchStart),this._chartTooltipTouchStart=null),this._chartTooltipTouchMove&&(this._svg.removeEventListener("touchmove",this._chartTooltipTouchMove),this._chartTooltipTouchMove=null),this._chartTooltipTouchEnd&&(this._svg.removeEventListener("touchend",this._chartTooltipTouchEnd),this._chartTooltipTouchEnd=null)),this._chartTooltipScrollHandler){window.removeEventListener("scroll",this._chartTooltipScrollHandler,!0),this._chartContainer&&this._chartContainer.removeEventListener("scroll",this._chartTooltipScrollHandler,!0);let t=this.parentElement;for(;t;)t.removeEventListener("scroll",this._chartTooltipScrollHandler,!0),t=t.parentElement;this._chartTooltipScrollHandler=null}this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null),this._windowResizeHandler&&(window.removeEventListener("resize",this._windowResizeHandler),this._windowResizeHandler=null),this._cachedTooltipContent.clear(),this._cachedXPositions.clear(),this._plotPoints.clear(),this._cachedBounds={bounds:null,dataHash:""},this._cachedYRange={range:null,dataHash:""},this._cachedXValues={values:null,dataHash:""}}_handleResize(){var r,a;if(!this.isConnected)return;const t=this.getBoundingClientRect(),e=t.width||((r=this.parentElement)==null?void 0:r.clientWidth)||800,i=t.height||((a=this.parentElement)==null?void 0:a.clientHeight)||400,s=this._calculateDimension(this._widthValue,e,e),n=this._calculateDimension(this._heightValue,i,400);(s!==this._width||n!==this._height)&&(this._width=s,this._height=n,this.render())}_setupResizeObserver(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null),this._windowResizeHandler&&(window.removeEventListener("resize",this._windowResizeHandler),this._windowResizeHandler=null);let t=null;const e=()=>{t&&clearTimeout(t),t=window.setTimeout(()=>{this._handleResize()},100)};this._windowResizeHandler=e,this._resizeObserver=new ResizeObserver(()=>{e()}),this._resizeObserver.observe(this),window.addEventListener("resize",e)}attributeChangedCallback(t,e,i){if(e!==i){if(t==="data"&&this.data&&typeof this.data=="object"&&(this._chartData=this.data),(t==="width"||t==="height")&&this.isConnected){const s=e&&e.endsWith("%"),n=i&&i.endsWith("%");s!==n&&this._setupResizeObserver()}this.isConnected&&requestAnimationFrame(()=>{this.render()})}}get type(){const t=this.getAttribute("type")||"line";return t==="line"||t==="bar"||t==="area"||t==="pie"?t:"line"}set type(t){this.setAttribute("type",t)}get data(){return this._chartData}set data(t){if(typeof t=="string")try{this._chartData=JSON.parse(t)}catch(e){console.error("mint-chart: Invalid data JSON",e),this._chartData=null}else this._chartData=t;this.isConnected&&requestAnimationFrame(()=>{this.render()})}get width(){const t=this.getAttribute("width");if(!t)return this._widthValue;if(t.endsWith("%"))return t;const e=parseInt(t,10);return isNaN(e)?this._widthValue:e}set width(t){this.setAttribute("width",t.toString())}get height(){const t=this.getAttribute("height");if(!t)return this._heightValue;if(t.endsWith("%"))return t;const e=parseInt(t,10);return isNaN(e)?this._heightValue:e}set height(t){this.setAttribute("height",t.toString())}_calculateDimension(t,e,i){if(typeof t=="number")return t;if(typeof t=="string"&&t.endsWith("%")){const s=parseFloat(t);if(!isNaN(s))return e*s/100}return i}_scheduleRender(){this._renderScheduled||(this._renderScheduled=!0,requestAnimationFrame(()=>{this._renderScheduled=!1,this.render()}))}_isDatasetVisible(t,e){if(t.id){const i=this._datasetVisibility.get(t.id);if(i!==void 0)return i}return t.visible!==!1}_initializeDatasetVisibility(){this._chartData&&this._chartData.datasets.forEach((t,e)=>{t.id&&(this._datasetVisibility.has(t.id)||this._datasetVisibility.set(t.id,t.visible!==!1))})}render(){var r,a,l,o;if(!this.isConnected)return;this._plotPoints.clear(),this._activeXValue=null,(r=this._cachedTooltipContent)==null||r.clear(),(a=this._cachedXPositions)==null||a.clear(),this._chartType=this.type;let t=this._getReactiveValue(this.data);if(t&&typeof t=="object"&&!Array.isArray(t)&&"datasets"in t&&(this._chartData=t),!this._chartData){const c=this.getAttribute("data");if(c)try{this._chartData=JSON.parse(c)}catch(h){console.error("mint-chart: Invalid data JSON",h),this._chartData=null}}this._widthValue=this.width,this._heightValue=this.height;const e=this.getBoundingClientRect(),i=e.width||((l=this.parentElement)==null?void 0:l.clientWidth)||800,s=e.height||((o=this.parentElement)==null?void 0:o.clientHeight)||400;this._width=this._calculateDimension(this._widthValue,i,i),this._height=this._calculateDimension(this._heightValue,s,400),this._showLegend=this.getAttribute("show-legend")!=="false",this._showGrid=this.getAttribute("show-grid")!=="false",this._showTooltip=this.getAttribute("show-tooltip")!=="false";const n=this.getAttribute("curve-tension");if(n!==null){const c=parseFloat(n);this._curveTension=isNaN(c)?.3:Math.max(0,Math.min(1,c))}else this._curveTension=.3;if(!this._chartData||!this._chartData.datasets||this._chartData.datasets.length===0){this.innerHTML='<div class="p-4 text-gray-500">No chart data provided</div>';return}switch(this.innerHTML="",this._chartContainer=document.createElement("div"),this._chartContainer.className="relative w-full",typeof this._widthValue=="string"&&this._widthValue.endsWith("%")?this._chartContainer.style.width=this._widthValue:this._chartContainer.style.width=`${this._width}px`,typeof this._heightValue=="string"&&this._heightValue.endsWith("%")?this._chartContainer.style.height=this._heightValue:this._chartContainer.style.height=`${this._height}px`,this.appendChild(this._chartContainer),this._svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this._svg.setAttribute("width",this._width.toString()),this._svg.setAttribute("height",this._height.toString()),this._svg.setAttribute("viewBox",`0 0 ${this._width} ${this._height}`),this._svg.setAttribute("class","w-full h-full"),this._chartContainer&&this._svg&&this._chartContainer.appendChild(this._svg),this._showTooltip&&this._createTooltip(),this._initializeDatasetVisibility(),this._calculateRotatedLabelHeight(),this._showLegend?this._legendHeight=this._calculateLegendHeight():this._legendHeight=0,this._showLegend&&this._renderLegend(),this._chartType!=="pie"&&this._pieChartClickOutsideHandler&&(document.removeEventListener("click",this._pieChartClickOutsideHandler,!0),this._pieChartClickOutsideHandler=null,this._pieChartTooltipShown=!1,this._pieChartGroup=null),this._pinnedXValue=null,this._chartType){case"line":this._renderLineChart();break;case"bar":this._renderBarChart();break;case"area":this._renderAreaChart();break;case"pie":this._renderPieChart();break}this._showTooltip&&this._chartType!=="pie"&&(this._setupChartTooltip(),this._setupTooltipScrollHandler()),this._createVerticalLine()}_createTooltip(){this._tooltip&&this._tooltip.parentNode&&this._tooltip.parentNode.removeChild(this._tooltip),this._tooltip=document.createElement("div"),this._tooltip.className="fixed pointer-events-none z-50 bg-gray-900 dark:bg-gray-800 text-white text-xs rounded px-2 py-1 shadow-lg opacity-0 transition-opacity",this._tooltip.style.display="none",document.body.appendChild(this._tooltip)}_showTooltipAt(t,e,i){if(!this._tooltip)return;this._tooltipHideTimeout!==null&&(clearTimeout(this._tooltipHideTimeout),this._tooltipHideTimeout=null),this._lastTooltipContent!==i&&(this._tooltip.innerHTML=i,this._lastTooltipContent=i),(this._tooltip.style.display==="none"||this._tooltip.style.opacity==="0")&&(this._tooltip.style.display="block",this._tooltip.style.opacity="1",this._tooltip.style.padding="8px 12px");const n=this._tooltip.getBoundingClientRect(),r=window.innerWidth,a=window.innerHeight;let l=t+10,o=e-n.height-8;l+n.width>r&&(l=t-n.width-10),l<0&&(l=10),o<0&&(o=e+20),o+n.height>a&&(o=e-n.height-8,o<0&&(o=10));const c=`${l}px`,h=`${o}px`;this._tooltip.style.left!==c&&(this._tooltip.style.left=c),this._tooltip.style.top!==h&&(this._tooltip.style.top=h)}_hideTooltip(){this._tooltip&&(this._tooltipHideTimeout!==null&&(clearTimeout(this._tooltipHideTimeout),this._tooltipHideTimeout=null),this._tooltip.style.opacity="0",this._tooltipHideTimeout=window.setTimeout(()=>{this._tooltip&&(this._tooltip.style.display="none"),this._tooltipHideTimeout=null},200))}_createVerticalLine(){if(!this._svg)return;this._verticalLine&&this._verticalLine.parentNode&&this._verticalLine.parentNode.removeChild(this._verticalLine),this._verticalLine=document.createElementNS("http://www.w3.org/2000/svg","line");const t=document.documentElement.classList.contains("dark");this._verticalLine.setAttribute("stroke",t?"#9ca3af":"#6b7280"),this._verticalLine.setAttribute("stroke-width","1"),this._verticalLine.setAttribute("stroke-dasharray","4,2"),this._verticalLine.style.opacity="0",this._verticalLine.style.pointerEvents="none";const e=this._svg.querySelector(".chart-legend");e&&e.parentNode?e.parentNode.insertBefore(this._verticalLine,e):this._svg.appendChild(this._verticalLine)}_showVerticalLineAtX(t,e){if(!this._verticalLine)return;const s=this._chartType==="bar"?this._scaleXForBarChart(t,e):this._scaleX(t,e);this._verticalLine.setAttribute("x1",s.toString()),this._verticalLine.setAttribute("y1",e.y.toString()),this._verticalLine.setAttribute("x2",s.toString()),this._verticalLine.setAttribute("y2",(e.y+e.height).toString()),this._verticalLine.style.opacity="1"}_hideVerticalLine(){this._verticalLine&&(this._verticalLine.style.opacity="0")}_showPlotPointsForX(t){this._plotPoints.forEach(s=>{s.forEach(n=>{n.style.opacity="0"})});const e=String(t),i=this._plotPoints.get(e);i&&i.forEach(s=>{s.style.opacity="1"})}_hidePlotPoints(){this._plotPoints.forEach(t=>{t.forEach(e=>{e.style.opacity="0"})})}_calculateMaxYAxisLabelWidth(){if(!this._showGrid||!this._chartData)return 0;const e=document.createElement("canvas").getContext("2d");if(!e)return 60;e.font="12px system-ui, -apple-system, sans-serif";const i=this._showLegend?Math.max(this._legendHeight,60):0,s=this._height-i,r=Math.floor(s/35),a=Math.min(5,r);let l=0;for(let o=0;o<=a;o++){const c=this._getYRange(),h=c.max-(c.max-c.min)/a*o,u=this._formatYAxisValue(h),d=e.measureText(u);l=Math.max(l,d.width)}return Math.ceil(l)+20}_getChartBounds(){const t=this._calculateMaxYAxisLabelWidth(),e=`${this._width}-${this._height}-${this._showGrid}-${this._showLegend}-${this._legendHeight}-${t}-${this._rotatedLabelHeight}`;if(this._cachedBounds.bounds&&this._cachedBounds.dataHash===e)return this._cachedBounds.bounds;let i=0,s=0,n=0,r=0;this._showGrid&&(i=t+10);const o=(this._rotatedLabelHeight>0?30:20)+this._rotatedLabelHeight+12;let c=o;this._showLegend&&(c=o+20+Math.max(this._legendHeight,60));const h=this._height-n-i-s,u=h-c,d=100;let p=1;if(u<d&&c>0){const b=h-d;b>0?(p=Math.min(1,b/c),p=Math.max(.5,p)):p=.5}r=c*p;const f=this._width*.3;let m=i,g=1;i>f&&(g=f/i,m=f);const _={width:(this._width-m-s)*g,height:this._height-n-r,x:m,y:n};return this._cachedBounds={bounds:_,dataHash:e},_}_getAllDataPoints(){if(!this._chartData)return[];const t=[];return this._chartData.datasets.forEach((e,i)=>{this._isDatasetVisible(e,i)&&t.push(...e.data)}),t}_getXValues(){if(!this._chartData)return[];const t=JSON.stringify(this._chartData.labels)+JSON.stringify(this._chartData.datasets.map(s=>s.data.map(n=>n.x)));if(this._cachedXValues.values&&this._cachedXValues.dataHash===t)return this._cachedXValues.values;if(this._chartData.labels&&this._chartData.labels.length>0)return this._cachedXValues={values:this._chartData.labels,dataHash:t},this._chartData.labels;const e=new Set;this._chartData.datasets.forEach((s,n)=>{this._isDatasetVisible(s,n)&&s.data.forEach(r=>{e.add(r.x)})});const i=Array.from(e).sort((s,n)=>{if(typeof s=="number"&&typeof n=="number")return s-n;const r=String(s),a=String(n),l=/^([A-Za-z]{3})\s+(\d{4})$/,o=r.match(l),c=a.match(l);if(o&&c){const h=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],u=h.indexOf(o[1]),d=h.indexOf(c[1]),p=parseInt(o[2]),f=parseInt(c[2]);return p!==f?p-f:u-d}return r.localeCompare(a)});return this._cachedXValues={values:i,dataHash:t},i}_getYRange(){if(!this._chartData)return{min:0,max:100};const t=JSON.stringify(this._chartData.datasets.map(l=>l.data.map(o=>o.y)));if(this._cachedYRange.range&&this._cachedYRange.dataHash===t)return this._cachedYRange.range;const e=this._getAllDataPoints();if(e.length===0){const l={min:0,max:100};return this._cachedYRange={range:l,dataHash:t},l}const i=e.map(l=>l.y),s=Math.min(...i),n=Math.max(...i),r=(n-s)*.1,a={min:Math.max(0,s-r),max:n+r};return this._cachedYRange={range:a,dataHash:t},a}_hasDecimalValues(){return this._getAllDataPoints().some(e=>e.y%1!==0)}_formatValueByString(t,e){switch(e.toLowerCase()){case"currency":case"currency-usd":return new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(t);case"currency-eur":return new Intl.NumberFormat("en-US",{style:"currency",currency:"EUR"}).format(t);case"currency-gbp":return new Intl.NumberFormat("en-US",{style:"currency",currency:"GBP"}).format(t);case"number":case"number-with-commas":return new Intl.NumberFormat("en-US").format(t);case"percent":return new Intl.NumberFormat("en-US",{style:"percent",minimumFractionDigits:1}).format(t/100);default:return this._hasDecimalValues()&&t%1!==0?t.toFixed(1):Math.round(t).toString()}}_formatXAxisValue(t){var e;if((e=this._chartData)!=null&&e.formatXAxis){if(typeof this._chartData.formatXAxis=="function")return this._chartData.formatXAxis(t);if(typeof this._chartData.formatXAxis=="string")return String(t)}return String(t)}_formatYAxisValue(t){var i,s,n,r;if((i=this._chartData)!=null&&i.formatYAxis){if(typeof this._chartData.formatYAxis=="function")return this._chartData.formatYAxis(t);if(typeof this._chartData.formatYAxis=="string")return this._formatValueByString(t,this._chartData.formatYAxis)}if((r=(n=(s=this._chartData)==null?void 0:s.datasets)==null?void 0:n[0])!=null&&r.formatValue){if(typeof this._chartData.datasets[0].formatValue=="function")return this._chartData.datasets[0].formatValue(t);if(typeof this._chartData.datasets[0].formatValue=="string")return this._formatValueByString(t,this._chartData.datasets[0].formatValue)}return this._hasDecimalValues()&&t%1!==0?t.toFixed(1):Math.round(t).toString()}_formatValue(t,e){if(e.formatValue){if(typeof e.formatValue=="function")return e.formatValue(t);if(typeof e.formatValue=="string")return this._formatValueByString(t,e.formatValue)}return String(t)}_getAllDatasetsAtX(t){if(!this._chartData)return[];const e=[];return this._chartData.datasets.forEach((i,s)=>{if(!this._isDatasetVisible(i,s))return;const n=i.data.find(r=>String(r.x)===String(t));if(n){const r=this._getDatasetColor(i,s),a=this._formatValue(n.y,i);e.push({name:i.name,value:n.y,color:r,formattedValue:a})}}),e}_findNearestXValue(t){if(!this._chartData)return null;const e=this._getChartBounds(),i=this._getXValues();if(i.length===0)return null;const s=this._chartType==="bar";let n=null,r=1/0;return i.forEach(a=>{const l=s?this._scaleXForBarChart(a,e):this._scaleX(a,e),o=Math.abs(t-l);o<r&&(r=o,n=a)}),n}_setupTooltipScrollHandler(){if(this._chartTooltipScrollHandler){window.removeEventListener("scroll",this._chartTooltipScrollHandler,!0),this._chartContainer&&this._chartContainer.removeEventListener("scroll",this._chartTooltipScrollHandler,!0);let e=this.parentElement;for(;e;)e.removeEventListener("scroll",this._chartTooltipScrollHandler,!0),e=e.parentElement}this._chartTooltipScrollHandler=()=>{this._hideTooltip(),this._pinnedXValue=null},window.addEventListener("scroll",this._chartTooltipScrollHandler,!0),this._chartContainer&&this._chartContainer.addEventListener("scroll",this._chartTooltipScrollHandler,!0);let t=this.parentElement;for(;t;){const e=window.getComputedStyle(t),i=e.overflow,s=e.overflowY;(i==="auto"||i==="scroll"||s==="auto"||s==="scroll")&&t.addEventListener("scroll",this._chartTooltipScrollHandler,!0),t=t.parentElement}}_setupChartTooltip(){if(!this._svg||!this._showTooltip)return;this._chartTooltipMouseMove&&this._svg.removeEventListener("mousemove",this._chartTooltipMouseMove),this._chartTooltipMouseLeave&&this._svg.removeEventListener("mouseleave",this._chartTooltipMouseLeave),this._chartTooltipClick&&this._svg.removeEventListener("click",this._chartTooltipClick),this._chartTooltipTouchStart&&this._svg.removeEventListener("touchstart",this._chartTooltipTouchStart),this._chartTooltipTouchMove&&this._svg.removeEventListener("touchmove",this._chartTooltipTouchMove),this._chartTooltipTouchEnd&&this._svg.removeEventListener("touchend",this._chartTooltipTouchEnd),this._cachedTooltipContent.clear(),this._cachedXPositions.clear();const t=this._getChartBounds();let e=0,i=0;const s=c=>{!this._chartContainer||!this._svg||(e=c.clientX,i=c.clientY,this._tooltipAnimationFrame!==null&&cancelAnimationFrame(this._tooltipAnimationFrame),this._tooltipAnimationFrame=requestAnimationFrame(()=>{if(this._tooltipAnimationFrame=null,!this._svg)return;const h=this._svg.getBoundingClientRect(),u=e-h.left,d=i-h.top;if(u<t.x||u>t.x+t.width||d<t.y||d>t.y+t.height){this._hideTooltip(),this._hidePlotPoints(),this._hideVerticalLine(),this._activeXValue=null;return}const p=this._findNearestXValue(u);if(!p){this._hideTooltip(),this._hidePlotPoints(),this._hideVerticalLine(),this._activeXValue=null;return}if(this._pinnedXValue!==null&&this._pinnedXValue===p){const g=this._pinnedXValue,_=this._getAllDatasetsAtX(g);if(_.length>0){this._activeXValue=g,this._showPlotPointsForX(g),this._showVerticalLineAtX(g,t);let b=this._cachedTooltipContent.get(g);b||(b=`<strong>${g}</strong><br/>`,_.forEach(v=>{b+=`<div style="display: flex; align-items: center; gap: 6px; margin-top: 4px;">
147
147
  <span style="display: inline-block; width: 12px; height: 12px; background-color: ${v.color}; border-radius: 2px;"></span>
148
148
  <span>${v.name}: ${v.formattedValue}</span>
149
149
  </div>`}),this._cachedTooltipContent.set(g,b)),this._updateTooltipPosition(e,i),this._lastTooltipContent!==b&&this._showTooltipAt(e,i,b);return}}if(this._activeXValue===p){this._updateTooltipPosition(e,i);return}const f=this._getAllDatasetsAtX(p);if(f.length===0){this._hideTooltip(),this._hidePlotPoints(),this._hideVerticalLine();return}this._activeXValue=p,this._showPlotPointsForX(p),this._showVerticalLineAtX(p,t);let m=this._cachedTooltipContent.get(p);if(!m){if(m=`<strong>${p}</strong><br/>`,f.forEach(g=>{m+=`<div style="display: flex; align-items: center; gap: 6px; margin-top: 4px;">
package/dist/index.js CHANGED
@@ -7332,12 +7332,12 @@ class Pt extends HTMLElement {
7332
7332
  this._offCanvas.className = r;
7333
7333
  let a = this._offCanvas.querySelector(".off-canvas-content");
7334
7334
  if (a || (a = document.createElement("div"), a.className = "off-canvas-content bg-white dark:bg-gray-900 dark:border dark:border-gray-700 shadow-xl flex flex-col pointer-events-auto transition-all duration-300 ease-out", a.style.transform = this._getTransformValue(s, !1), this._offCanvas.appendChild(a)), i ? this._animateEnter() : this._animateExit(), Array.from(a.classList).forEach((f) => {
7335
- (f.startsWith("w-") || f.startsWith("max-w-")) && a.classList.remove(f);
7336
- }), a.classList.remove("h-full", "max-h-[90vh]", "max-h-screen"), n)
7337
- a.classList.add("w-full", "h-full");
7335
+ (f.startsWith("w-") || f.startsWith("max-w-") || f.startsWith("md:w-") || f.startsWith("md:max-w-") || f.startsWith("sm:w-") || f.startsWith("sm:max-w-")) && a.classList.remove(f);
7336
+ }), a.classList.remove("h-full", "max-h-[90vh]", "max-h-screen", "md:h-full", "md:max-h-[90vh]", "md:max-h-screen", "sm:h-full", "sm:max-h-[90vh]"), n)
7337
+ a.classList.add("w-full", "h-full", "max-w-none");
7338
7338
  else {
7339
7339
  const f = this.getWidth();
7340
- s === "top" || s === "bottom" ? a.classList.add("w-full", "max-h-[90vh]") : a.classList.add(f, "h-full");
7340
+ s === "top" || s === "bottom" ? a.classList.add("w-full", "h-full", "max-w-none", "md:max-h-[90vh]", "md:h-auto") : a.classList.add("w-full", "h-full", "max-w-none", `md:${f}`, "md:h-full");
7341
7341
  }
7342
7342
  this._header || (this._header = document.createElement("div"), this._header.className = "flex items-center justify-between p-4 border-b border-gray-200 dark:border-gray-700 flex-shrink-0", a.appendChild(this._header)), this._headingSlot || (this._headingSlot = document.createElement("div"), this._headingSlot.className = "flex-1", this._headingSlot.setAttribute("slot", "heading"), this._header.appendChild(this._headingSlot));
7343
7343
  let o = this._headingSlot.querySelector("mint-text");
@@ -7365,15 +7365,15 @@ class Pt extends HTMLElement {
7365
7365
  const i = "fixed z-50 pointer-events-none transition-all duration-300 ease-out";
7366
7366
  switch (t) {
7367
7367
  case "top":
7368
- return `${i} top-0 left-0 right-0 ${e ? "h-full" : ""}`;
7368
+ return `${i} inset-0 md:inset-x-0 md:top-0 md:bottom-auto ${e ? "md:h-full" : "md:h-auto"}`;
7369
7369
  case "bottom":
7370
- return `${i} bottom-0 left-0 right-0 ${e ? "h-full" : ""}`;
7370
+ return `${i} inset-0 md:inset-x-0 md:bottom-0 md:top-auto ${e ? "md:h-full" : "md:h-auto"}`;
7371
7371
  case "left":
7372
- return `${i} left-0 top-0 bottom-0 ${e ? "w-full" : ""}`;
7372
+ return `${i} inset-0 md:inset-y-0 md:left-0 md:right-auto ${e ? "md:w-full" : "md:w-auto"}`;
7373
7373
  case "right":
7374
- return `${i} right-0 top-0 bottom-0 ${e ? "w-full" : ""}`;
7374
+ return `${i} inset-0 md:inset-y-0 md:right-0 md:left-auto ${e ? "md:w-full" : "md:w-auto"}`;
7375
7375
  default:
7376
- return `${i} right-0 top-0 bottom-0 ${e ? "w-full" : ""}`;
7376
+ return `${i} inset-0 md:inset-y-0 md:right-0 md:left-auto ${e ? "md:w-full" : "md:w-auto"}`;
7377
7377
  }
7378
7378
  }
7379
7379
  _getTransformValue(t, e) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "monobill-mintui",
3
- "version": "0.3.72",
3
+ "version": "0.3.73",
4
4
  "description": "A modern framework-agnostic UI kit built as Web Components. Requires Tailwind CSS.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",