monobill-mintui 0.3.21 → 0.3.22
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.
|
@@ -103,6 +103,13 @@ declare class MintResourceTable extends HTMLElement {
|
|
|
103
103
|
connectedCallback(): void;
|
|
104
104
|
disconnectedCallback(): void;
|
|
105
105
|
attributeChangedCallback(name: string, oldValue: string | null, newValue: string | null): void;
|
|
106
|
+
/**
|
|
107
|
+
* Public method to refresh the table data.
|
|
108
|
+
* For paginated tables: refreshes the current page.
|
|
109
|
+
* For loadMore tables: refreshes the entire table from the beginning.
|
|
110
|
+
* For provided data tables: re-renders the table.
|
|
111
|
+
*/
|
|
112
|
+
refresh(): void;
|
|
106
113
|
private _parseConfiguration;
|
|
107
114
|
private _getColumnVisibilityStorageKey;
|
|
108
115
|
private _saveColumnVisibility;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceTable.d.ts","sourceRoot":"","sources":["../../../src/components/resource-table/ResourceTable.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ResourceTable.d.ts","sourceRoot":"","sources":["../../../src/components/resource-table/ResourceTable.ts"],"names":[],"mappings":"AAEA,OAAO,gBAAgB,CAAA;AACvB,OAAO,gBAAgB,CAAA;AACvB,OAAO,iBAAiB,CAAA;AACxB,OAAO,mBAAmB,CAAA;AAC1B,OAAO,kBAAkB,CAAA;AACzB,OAAO,eAAe,CAAA;AACtB,OAAO,2BAA2B,CAAA;AAClC,OAAO,0BAA0B,CAAA;AACjC,OAAO,2BAA2B,CAAA;AAClC,OAAO,kBAAkB,CAAA;AAEzB,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;IACxB,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,WAAW,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;IACpC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,KAAK,MAAM,CAAA;IACvD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAA;IACtD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,GAAG,CAAC,EAAE,OAAO,CAAA;CACd;AAED,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,CAAA;IACjE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAA;IAC3D,OAAO,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,CAAA;IACrD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,KAAK,OAAO,CAAA;IACtD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAA;IAC3D,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;IAC5C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,UAAU,kBAAkB;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,EAAE,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,CAAC,EAAE,GAAG,CAAA;IACb,OAAO,CAAC,EAAE,YAAY,EAAE,CAAA;IACxB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,GAAG,EAAE,CAAA;IACtB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,KAAK,IAAI,CAAA;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjC;AAED,cAAM,iBAAkB,SAAQ,WAAW;IACzC,MAAM,KAAK,kBAAkB,IAAI,MAAM,EAAE,CAExC;IAED,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,YAAY,CAAY;IAChC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,cAAc,CAAe;IACrC,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,eAAe,CAA2B;IAClD,OAAO,CAAC,oBAAoB,CAA2B;IACvD,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,WAAW,CAAiB;;IAMpC,IAAI,UAAU,IAAI,OAAO,CAExB;IAGD,IAAI,aAAa,IAAI,kBAAkB,GAAG,IAAI,CAE7C;IAED,IAAI,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,EA+B1D;IAED,iBAAiB,IAAI,IAAI;IAkBzB,oBAAoB,IAAI,IAAI;IAgB5B,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAY9F;;;;;OAKG;IACH,OAAO,IAAI,IAAI;IAqBf,OAAO,CAAC,mBAAmB;IAgC3B,OAAO,CAAC,8BAA8B;IAItC,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,qBAAqB;IAmB7B,OAAO,CAAC,kBAAkB;YA2BZ,UAAU;IAiKxB,OAAO,CAAC,QAAQ;IA8EhB,OAAO,CAAC,WAAW;IAsEnB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,gBAAgB;IA+CxB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,cAAc;IAsCtB,OAAO,CAAC,iBAAiB;IA4CzB,OAAO,CAAC,gBAAgB;IA+JxB,OAAO,CAAC,iBAAiB;IAwFzB,OAAO,CAAC,SAAS;IAuBjB,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,YAAY;IAgCpB,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,WAAW;IAwBnB,MAAM,IAAI,IAAI;IA4Xd,OAAO,CAAC,sBAAsB;IA8C9B,OAAO,CAAC,0BAA0B;IAuBlC,OAAO,CAAC,0BAA0B;IAgClC,OAAO,CAAC,qBAAqB;IA6G7B,OAAO,CAAC,WAAW;CAKpB;AAMD,eAAe,iBAAiB,CAAA"}
|
package/dist/index.cjs
CHANGED
|
@@ -138,5 +138,5 @@
|
|
|
138
138
|
border: inherit;
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
|
-
`,document.head.appendChild(t)}}customElements.get("mint-table")||customElements.define("mint-table",et);class it 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 e;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-800","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 i=this.firstChild;if(i===this._root)break;this._textWrap.appendChild(i)}this._root.appendChild(this._textWrap),this.appendChild(this._root)}this.hasAttribute("dismissable")?(this._dismissBtn||this._createDismissBtn(),this._dismissBtn&&!this._dismissBtn.isConnected&&((e=this._root)==null||e.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",it);class st 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-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=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.hasAttribute("error")}getErrorMessage(){return this.getAttribute("error-message")||""}getName(){return this.getAttribute("name")||""}getId(){return this.getAttribute("id")||""}isRequired(){return this.hasAttribute("required")}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",""),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",st);class rt 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.hasAttribute("disabled")?this.classList.add("cursor-not-allowed","opacity-50"):this.classList.add("cursor-pointer"),this.hasAttribute("role")||this.setAttribute("role","button"),this.hasAttribute("tabindex")||this.setAttribute("tabindex","0")}_setupEventListeners(){this._clickHandler=t=>{if(this.hasAttribute("disabled")){t.preventDefault(),t.stopPropagation();return}this._handleClick(t)},this._keydownHandler=t=>{if(t.key==="Enter"||t.key===" "){if(this.hasAttribute("disabled")){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!==null?(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",rt);class nt 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.hasAttribute("dismissable")}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-800",n.forEach(r=>{this._bodyWrapper.appendChild(r)}),this.appendChild(this._headerWrapper),this.appendChild(this._bodyWrapper)}}customElements.get("mint-alert")||customElements.define("mint-alert",nt);class at 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._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._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())}_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,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()}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,d,p,h,m,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.render()),this._loading=!0;const r=i||this._perPage,a=s!==void 0?s:this._offset;try{const u=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(",")}),_={};this._configuration.headers&&(_.headers=this._configuration.headers);const g=await fetch(`${n}?${u.toString()}`,_);if(!g.ok)throw new Error(`HTTP error! status: ${g.status}`);const b=await g.json(),k=((l=b.content)==null?void 0:l.rows)||[],E=((o=b.content)==null?void 0:o.total)||0;if(this._configuration.loadMore&&a!==0)this._rows=this._rows.concat(k);else{let w=k;this._configuration.predefinedData?(w=[...this._configuration.predefinedData,...k],this._totalRows=E+this._configuration.predefinedData.length):this._totalRows=E,this._rows=w}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=((d=b.content)==null?void 0:d.last_page)||1,this._fetching=!1,this._loaded=!0,this._loading=!1,this._fetchError=null,this._searching=!1;const v=this._sorting;if(v&&this._updateSortIcons(),this._sorting=!1,this._sortingColumn=null,v&&this._updateSortIcons(),this.dispatchEvent(new CustomEvent("loaded",{detail:{rows:this._rows}})),this._updateSearchIcon(),(h=(p=this.querySelector(`#${this._tableId}`))==null?void 0:p.closest("table"))==null?void 0:h.querySelector("tbody")){if(v){const w=this._loading,A=this._fetching;this._loading=!1,this._fetching=!1,this._updateTableBody(),this._loading=w,this._fetching=A}else this._updateTableBody();this._updatePagination()}else this.render()}catch(u){this._fetching=!1,this._loading=!1,this._loaded=!0,this._searching=!1,this._fetchError=u instanceof Error?u.message:"Failed to fetch data",console.error("mint-resource-table: Error fetching data",u),this._updateSearchIcon(),((f=(m=this.querySelector(`#${this._tableId}`))==null?void 0:m.closest("table"))==null?void 0:f.querySelector("tbody"))?(this._updateTableBody(),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 h=l-o;return i==="asc"?h:-h}const c=r instanceof Date?r:typeof r=="string"?new Date(r):null,d=a instanceof Date?a:typeof a=="string"?new Date(a):null;if(c&&d&&!isNaN(c.getTime())&&!isNaN(d.getTime())){const h=c.getTime()-d.getTime();return i==="asc"?h:-h}const p=String(r).localeCompare(String(a),void 0,{numeric:!0,sensitivity:"base"});return i==="asc"?p:-p}),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){if(!this._configuration||!t.data||!t.sortable)return;const e=t.data;this._sortTimeoutId!==null&&(clearTimeout(this._sortTimeoutId),this._sortTimeoutId=null),this._sorting=!0,this._sortingColumn=t,this._updateSortIcons(),this._sortTimeoutId=window.setTimeout(()=>{var s;if(this._sortTimeoutId=null,!this._configuration||!e||!t.sortable)return;let i=this._configuration.sort||"asc";((s=this._configuration.sortBy)==null?void 0:s.toLowerCase())===e.toLowerCase()&&(i=i==="desc"?"asc":"desc"),this._configuration.sort=i,this._configuration.sortBy=e,this._updateSortIcons(),this._type==="ajax"?(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)):(this._currentPage=1,this._sorting=!1,this._sortingColumn=null,this._updateSortIcons(),this.render())},300)}_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._sorting)&&(t.forEach((o,c)=>{const d=typeof this._configuration.onRowClick=="function",p=d?"cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors":"";r+=`<tr data-row-index="${c}" ${d?'data-row-clickable="true"':""}${p?` class="${p}"`:""}>`,this._configuration.columns.forEach((h,m)=>{if(h.hidden)return;const f=!h.show||h.show(this,o);if(r+=`<td style="${this._getStyle(h)}" class="${this._getClasses(h,!0)}">`,f)if(h.raw)if(h.action)(!h.action.show||h.action.show(this,o))&&(r+=`<mint-button variant="solid" data-action="column-action" data-row-index="${c}" data-column-key="${this._configuration.columns.indexOf(h)}">${h.action.label}</mint-button>`);else if(h.actions)if(h.actionStyle!=="buttons"){const u=`actions-popover-${this._tableId}-${c}`,_=`actions-button-${this._tableId}-${c}`;r+=`<mint-button id="${_}" variant="link" icon="ellipsis">`,r+="</mint-button>",r+=`<mint-popover id="${u}" trigger-id="${_}" direction="down">`,h.actions.forEach((g,b)=>{if(!g.show||g.show(this,o)){const k=typeof g.label=="function"?g.label(this,o):g.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(h)}">${k}</div>`}}),r+="</mint-popover>"}else h.actions.forEach((u,_)=>{if(!u.show||u.show(this,o)){const g=u.label?typeof u.label=="function"?u.label(this,o):u.label:"",b=u.icon?` icon="${this._escapeHtml(u.icon)}"`:"",k=u.tone?` tone="${this._escapeHtml(u.tone)}"`:"";r+=`<mint-button variant="link" class="${u.classes||""}" data-action="row-action" data-row-index="${c}" data-action-index="${_}" data-column-key="${this._configuration.columns.indexOf(h)}"${b}${k}>`,g&&(r+=this._escapeHtml(String(g))),r+="</mint-button>"}});else typeof h.format=="function"?r+=h.format(this,o):h.data&&(r+=this._escapeHtml(String(o[h.data]||"")));else if(h.action){if(!h.action.show||h.action.show(this,o)){const u=typeof h.action.label=="function"?h.action.label(this,o):h.action.label;r+=`<mint-button variant="solid" data-action="column-action" data-row-index="${c}" data-column-key="${this._configuration.columns.indexOf(h)}">${this._escapeHtml(String(u))}</mint-button>`}}else if(h.actions)if(h.actionStyle!=="buttons"){const u=`actions-popover-${this._tableId}-${c}`,_=`actions-button-${this._tableId}-${c}`;r+=`<mint-button id="${_}" variant="link" icon="ellipsis">`,r+="</mint-button>",r+=`<mint-popover id="${u}" trigger-id="${_}" direction="down">`,h.actions.forEach((g,b)=>{if(!g.show||g.show(this,o)){const k=typeof g.label=="function"?g.label(this,o):g.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(h)}">${k}</div>`}}),r+="</mint-popover>"}else h.actions.forEach((u,_)=>{if(!u.show||u.show(this,o)){const g=u.label?typeof u.label=="function"?u.label(this,o):u.label:"",b=u.icon?` icon="${this._escapeHtml(u.icon)}"`:"",k=u.tone?` tone="${this._escapeHtml(u.tone)}"`:"";r+=`<mint-button variant="link" class="${u.classes||""}" data-action="row-action" data-row-index="${c}" data-action-index="${_}" data-column-key="${this._configuration.columns.indexOf(h)}"${b}${k}>`,g&&(r+=this._escapeHtml(String(g))),r+="</mint-button>"}});else typeof h.format=="function"?r+=this._escapeHtml(h.format(this,o)):h.data&&(r+=this._escapeHtml(String(o[h.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 s,n;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 r=(s=this.querySelector("nav"))==null?void 0:s.closest(".flex.justify-end");r&&r.remove();return}let e=(n=this.querySelector("nav"))==null?void 0:n.closest(".flex.justify-end");if(!e){const r=this.querySelector("mint-table");if(!r){this.render();return}e=document.createElement("div"),e.className="flex justify-end "+(this._inMintCard?"p-3.5":"mt-4"),r.insertAdjacentElement("afterend",e)}let i="<nav>";i+='<ul class="flex gap-1">',i+=`<li><mint-button variant="solid" size="sm" icon="caret-left" ${this._currentPage===1?'disabled="true"':""} data-action="page-prev"></mint-button></li>`;for(let r=1;r<=Math.min(2,t);r++){const l=this._currentPage===r?' disabled="true"':"";i+=`<li><mint-button variant="solid" size="sm"${l} data-action="page" data-page="${r}">${r}</mint-button></li>`}if(t>2&&(i+='<li><span class="px-2">...</span></li>'),this._currentPage>2&&this._currentPage<t-1&&(i+=`<li><mint-button variant="solid" size="sm" data-action="page" data-page="${this._currentPage-1}">${this._currentPage-1}</mint-button></li>`,i+=`<li><mint-button variant="solid" size="sm" disabled="true" data-action="page" data-page="${this._currentPage}">${this._currentPage}</mint-button></li>`,i+=`<li><mint-button variant="solid" size="sm" data-action="page" data-page="${this._currentPage+1}">${this._currentPage+1}</mint-button></li>`),t>2)for(let r=Math.max(t-1,this._currentPage+2);r<=t;r++){const l=this._currentPage===r?' disabled="true"':"";i+=`<li><mint-button variant="solid" size="sm"${l} data-action="page" data-page="${r}">${r}</mint-button></li>`}i+=`<li><mint-button variant="solid" size="sm" icon="caret-right" ${this._currentPage>=t?'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]").forEach(r=>{"render"in r&&typeof r.render=="function"&&r.render()})},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),this._currentPage=t,this._offset=(t-1)*this._perPage,this._type==="ajax"?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 d=0;d<parseInt(o)-1;d++)a.push("");a.push('"'+((c=l.textContent)==null?void 0:c.trim().replace(/"/g,'""'))+'"')}),i+=a.join(",")+`
|
|
141
|
+
`,document.head.appendChild(t)}}customElements.get("mint-table")||customElements.define("mint-table",et);class it 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 e;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-800","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 i=this.firstChild;if(i===this._root)break;this._textWrap.appendChild(i)}this._root.appendChild(this._textWrap),this.appendChild(this._root)}this.hasAttribute("dismissable")?(this._dismissBtn||this._createDismissBtn(),this._dismissBtn&&!this._dismissBtn.isConnected&&((e=this._root)==null||e.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",it);class st 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-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=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.hasAttribute("error")}getErrorMessage(){return this.getAttribute("error-message")||""}getName(){return this.getAttribute("name")||""}getId(){return this.getAttribute("id")||""}isRequired(){return this.hasAttribute("required")}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",""),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",st);class rt 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.hasAttribute("disabled")?this.classList.add("cursor-not-allowed","opacity-50"):this.classList.add("cursor-pointer"),this.hasAttribute("role")||this.setAttribute("role","button"),this.hasAttribute("tabindex")||this.setAttribute("tabindex","0")}_setupEventListeners(){this._clickHandler=t=>{if(this.hasAttribute("disabled")){t.preventDefault(),t.stopPropagation();return}this._handleClick(t)},this._keydownHandler=t=>{if(t.key==="Enter"||t.key===" "){if(this.hasAttribute("disabled")){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!==null?(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",rt);class nt 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.hasAttribute("dismissable")}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-800",n.forEach(r=>{this._bodyWrapper.appendChild(r)}),this.appendChild(this._headerWrapper),this.appendChild(this._bodyWrapper)}}customElements.get("mint-alert")||customElements.define("mint-alert",nt);class at 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._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._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,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()}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,d,p,h,m,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.render()),this._loading=!0;const r=i||this._perPage,a=s!==void 0?s:this._offset;try{const u=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(",")}),_={};this._configuration.headers&&(_.headers=this._configuration.headers);const g=await fetch(`${n}?${u.toString()}`,_);if(!g.ok)throw new Error(`HTTP error! status: ${g.status}`);const b=await g.json(),k=((l=b.content)==null?void 0:l.rows)||[],E=((o=b.content)==null?void 0:o.total)||0;if(this._configuration.loadMore&&a!==0)this._rows=this._rows.concat(k);else{let w=k;this._configuration.predefinedData?(w=[...this._configuration.predefinedData,...k],this._totalRows=E+this._configuration.predefinedData.length):this._totalRows=E,this._rows=w}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=((d=b.content)==null?void 0:d.last_page)||1,this._fetching=!1,this._loaded=!0,this._loading=!1,this._fetchError=null,this._searching=!1;const v=this._sorting;if(v&&this._updateSortIcons(),this._sorting=!1,this._sortingColumn=null,v&&this._updateSortIcons(),this.dispatchEvent(new CustomEvent("loaded",{detail:{rows:this._rows}})),this._updateSearchIcon(),(h=(p=this.querySelector(`#${this._tableId}`))==null?void 0:p.closest("table"))==null?void 0:h.querySelector("tbody")){if(v){const w=this._loading,A=this._fetching;this._loading=!1,this._fetching=!1,this._updateTableBody(),this._loading=w,this._fetching=A}else this._updateTableBody();this._updatePagination()}else this.render()}catch(u){this._fetching=!1,this._loading=!1,this._loaded=!0,this._searching=!1,this._fetchError=u instanceof Error?u.message:"Failed to fetch data",console.error("mint-resource-table: Error fetching data",u),this._updateSearchIcon(),((f=(m=this.querySelector(`#${this._tableId}`))==null?void 0:m.closest("table"))==null?void 0:f.querySelector("tbody"))?(this._updateTableBody(),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 h=l-o;return i==="asc"?h:-h}const c=r instanceof Date?r:typeof r=="string"?new Date(r):null,d=a instanceof Date?a:typeof a=="string"?new Date(a):null;if(c&&d&&!isNaN(c.getTime())&&!isNaN(d.getTime())){const h=c.getTime()-d.getTime();return i==="asc"?h:-h}const p=String(r).localeCompare(String(a),void 0,{numeric:!0,sensitivity:"base"});return i==="asc"?p:-p}),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){if(!this._configuration||!t.data||!t.sortable)return;const e=t.data;this._sortTimeoutId!==null&&(clearTimeout(this._sortTimeoutId),this._sortTimeoutId=null),this._sorting=!0,this._sortingColumn=t,this._updateSortIcons(),this._sortTimeoutId=window.setTimeout(()=>{var s;if(this._sortTimeoutId=null,!this._configuration||!e||!t.sortable)return;let i=this._configuration.sort||"asc";((s=this._configuration.sortBy)==null?void 0:s.toLowerCase())===e.toLowerCase()&&(i=i==="desc"?"asc":"desc"),this._configuration.sort=i,this._configuration.sortBy=e,this._updateSortIcons(),this._type==="ajax"?(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)):(this._currentPage=1,this._sorting=!1,this._sortingColumn=null,this._updateSortIcons(),this.render())},300)}_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._sorting)&&(t.forEach((o,c)=>{const d=typeof this._configuration.onRowClick=="function",p=d?"cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 transition-colors":"";r+=`<tr data-row-index="${c}" ${d?'data-row-clickable="true"':""}${p?` class="${p}"`:""}>`,this._configuration.columns.forEach((h,m)=>{if(h.hidden)return;const f=!h.show||h.show(this,o);if(r+=`<td style="${this._getStyle(h)}" class="${this._getClasses(h,!0)}">`,f)if(h.raw)if(h.action)(!h.action.show||h.action.show(this,o))&&(r+=`<mint-button variant="solid" data-action="column-action" data-row-index="${c}" data-column-key="${this._configuration.columns.indexOf(h)}">${h.action.label}</mint-button>`);else if(h.actions)if(h.actionStyle!=="buttons"){const u=`actions-popover-${this._tableId}-${c}`,_=`actions-button-${this._tableId}-${c}`;r+=`<mint-button id="${_}" variant="link" icon="ellipsis">`,r+="</mint-button>",r+=`<mint-popover id="${u}" trigger-id="${_}" direction="down">`,h.actions.forEach((g,b)=>{if(!g.show||g.show(this,o)){const k=typeof g.label=="function"?g.label(this,o):g.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(h)}">${k}</div>`}}),r+="</mint-popover>"}else h.actions.forEach((u,_)=>{if(!u.show||u.show(this,o)){const g=u.label?typeof u.label=="function"?u.label(this,o):u.label:"",b=u.icon?` icon="${this._escapeHtml(u.icon)}"`:"",k=u.tone?` tone="${this._escapeHtml(u.tone)}"`:"";r+=`<mint-button variant="link" class="${u.classes||""}" data-action="row-action" data-row-index="${c}" data-action-index="${_}" data-column-key="${this._configuration.columns.indexOf(h)}"${b}${k}>`,g&&(r+=this._escapeHtml(String(g))),r+="</mint-button>"}});else typeof h.format=="function"?r+=h.format(this,o):h.data&&(r+=this._escapeHtml(String(o[h.data]||"")));else if(h.action){if(!h.action.show||h.action.show(this,o)){const u=typeof h.action.label=="function"?h.action.label(this,o):h.action.label;r+=`<mint-button variant="solid" data-action="column-action" data-row-index="${c}" data-column-key="${this._configuration.columns.indexOf(h)}">${this._escapeHtml(String(u))}</mint-button>`}}else if(h.actions)if(h.actionStyle!=="buttons"){const u=`actions-popover-${this._tableId}-${c}`,_=`actions-button-${this._tableId}-${c}`;r+=`<mint-button id="${_}" variant="link" icon="ellipsis">`,r+="</mint-button>",r+=`<mint-popover id="${u}" trigger-id="${_}" direction="down">`,h.actions.forEach((g,b)=>{if(!g.show||g.show(this,o)){const k=typeof g.label=="function"?g.label(this,o):g.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(h)}">${k}</div>`}}),r+="</mint-popover>"}else h.actions.forEach((u,_)=>{if(!u.show||u.show(this,o)){const g=u.label?typeof u.label=="function"?u.label(this,o):u.label:"",b=u.icon?` icon="${this._escapeHtml(u.icon)}"`:"",k=u.tone?` tone="${this._escapeHtml(u.tone)}"`:"";r+=`<mint-button variant="link" class="${u.classes||""}" data-action="row-action" data-row-index="${c}" data-action-index="${_}" data-column-key="${this._configuration.columns.indexOf(h)}"${b}${k}>`,g&&(r+=this._escapeHtml(String(g))),r+="</mint-button>"}});else typeof h.format=="function"?r+=this._escapeHtml(h.format(this,o)):h.data&&(r+=this._escapeHtml(String(o[h.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 s,n;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 r=(s=this.querySelector("nav"))==null?void 0:s.closest(".flex.justify-end");r&&r.remove();return}let e=(n=this.querySelector("nav"))==null?void 0:n.closest(".flex.justify-end");if(!e){const r=this.querySelector("mint-table");if(!r){this.render();return}e=document.createElement("div"),e.className="flex justify-end "+(this._inMintCard?"p-3.5":"mt-4"),r.insertAdjacentElement("afterend",e)}let i="<nav>";i+='<ul class="flex gap-1">',i+=`<li><mint-button variant="solid" size="sm" icon="caret-left" ${this._currentPage===1?'disabled="true"':""} data-action="page-prev"></mint-button></li>`;for(let r=1;r<=Math.min(2,t);r++){const l=this._currentPage===r?' disabled="true"':"";i+=`<li><mint-button variant="solid" size="sm"${l} data-action="page" data-page="${r}">${r}</mint-button></li>`}if(t>2&&(i+='<li><span class="px-2">...</span></li>'),this._currentPage>2&&this._currentPage<t-1&&(i+=`<li><mint-button variant="solid" size="sm" data-action="page" data-page="${this._currentPage-1}">${this._currentPage-1}</mint-button></li>`,i+=`<li><mint-button variant="solid" size="sm" disabled="true" data-action="page" data-page="${this._currentPage}">${this._currentPage}</mint-button></li>`,i+=`<li><mint-button variant="solid" size="sm" data-action="page" data-page="${this._currentPage+1}">${this._currentPage+1}</mint-button></li>`),t>2)for(let r=Math.max(t-1,this._currentPage+2);r<=t;r++){const l=this._currentPage===r?' disabled="true"':"";i+=`<li><mint-button variant="solid" size="sm"${l} data-action="page" data-page="${r}">${r}</mint-button></li>`}i+=`<li><mint-button variant="solid" size="sm" icon="caret-right" ${this._currentPage>=t?'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]").forEach(r=>{"render"in r&&typeof r.render=="function"&&r.render()})},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),this._currentPage=t,this._offset=(t-1)*this._perPage,this._type==="ajax"?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 d=0;d<parseInt(o)-1;d++)a.push("");a.push('"'+((c=l.textContent)==null?void 0:c.trim().replace(/"/g,'""'))+'"')}),i+=a.join(",")+`
|
|
142
142
|
`});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._fetching||this._loading)&&!this._fetchError&&!this._sorting){s+='<div class="space-y-0 flex gap-2 flex-col"><div class="h-9 bg-gray-200 dark:bg-gray-700 border-b border-gray-200 dark:border-gray-700 animate-pulse"></div>';for(let r=0;r<3;r++)s+='<div class="h-9 bg-gray-200 dark:bg-gray-700 border-b border-gray-200 dark:border-gray-700 animate-pulse"></div>';if(s+="</div>",this._configuration.perPage&&!this._configuration.loadMore){if(!this._loaded)s+='<div class="flex justify-end '+(this._inMintCard?"p-3.5":"mt-4")+'">',s+="<nav>",s+='<ul class="flex gap-1">',s+='<li><div class="h-8 w-8 bg-gray-200 dark:bg-gray-700 rounded animate-pulse"></div></li>',s+='<li><div class="h-8 w-8 bg-gray-200 dark:bg-gray-700 rounded animate-pulse"></div></li>',s+='<li><div class="h-8 w-8 bg-gray-200 dark:bg-gray-700 rounded animate-pulse"></div></li>',s+='<li><div class="h-8 w-8 bg-gray-200 dark:bg-gray-700 rounded animate-pulse"></div></li>',s+="</ul>",s+="</nav>",s+="</div>";else if(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 if(e.length>0||this._search.length>0||this._searching||this._fetchError){if(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,d)=>{if(c.hidden)return;const p=!c.show||c.show(this,r);if(s+=`<td style="${this._getStyle(c)}" class="${this._getClasses(c,!0)}">`,p)if(c.raw)if(c.action){if(!c.action.show||c.action.show(this,r)){const h=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(h))}</mint-button>`}}else if(c.actions)if(c.actionStyle!=="buttons"){const h=`actions-popover-${this._tableId}-${a}`,m=`actions-button-${this._tableId}-${a}`;s+=`<mint-button id="${m}" variant="link" icon="ellipsis">`,s+="</mint-button>",s+=`<mint-popover id="${h}" trigger-id="${m}" direction="down">`,c.actions.forEach((f,u)=>{if(!f.show||f.show(this,r)){const _=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="${u}" data-column-key="${this._configuration.columns.indexOf(c)}">${this._escapeHtml(String(_))}</div>`}}),s+="</mint-popover>"}else c.actions.forEach((h,m)=>{if(!h.show||h.show(this,r)){const f=h.label?typeof h.label=="function"?h.label(this,r):h.label:"",u=h.icon?` icon="${this._escapeHtml(h.icon)}"`:"",_=h.tone?` tone="${this._escapeHtml(h.tone)}"`:"";s+=`<mint-button variant="link" class="${h.classes||""}" data-action="row-action" data-row-index="${a}" data-action-index="${m}" data-column-key="${this._configuration.columns.indexOf(c)}"${u}${_}>`,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 h=`actions-popover-${this._tableId}-${a}`,m=`actions-button-${this._tableId}-${a}`;s+=`<mint-button id="${m}" variant="link" icon="ellipsis">`,s+="</mint-button>",s+=`<mint-popover id="${h}" trigger-id="${m}" direction="down">`,c.actions.forEach((f,u)=>{if(!f.show||f.show(this,r)){const _=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="${u}" data-column-key="${this._configuration.columns.indexOf(c)}">${this._escapeHtml(String(_))}</div>`}}),s+="</mint-popover>"}else c.actions.forEach((h,m)=>{if(!h.show||h.show(this,r)){const f=h.label?typeof h.label=="function"?h.label(this,r):h.label:"",u=h.icon?` icon="${this._escapeHtml(h.icon)}"`:"",_=h.tone?` tone="${this._escapeHtml(h.tone)}"`:"";s+=`<mint-button variant="link" class="${h.classes||""}" data-action="row-action" data-row-index="${a}" data-action-index="${m}" data-column-key="${this._configuration.columns.indexOf(c)}"${u}${_}>`,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>")),this._configuration.perPage&&!this._configuration.loadMore&&this._loaded&&i>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 r=1;r<=Math.min(2,i);r++){const l=this._currentPage===r?' disabled="true"':"";s+=`<li><mint-button variant="solid" size="sm"${l} data-action="page" data-page="${r}">${r}</mint-button></li>`}if(i>2&&(s+='<li><span class="px-2">...</span></li>'),this._currentPage>2&&this._currentPage<i-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>`),i>2)for(let r=Math.max(i-1,this._currentPage+2);r<=i;r++){const l=this._currentPage===r?' disabled="true"':"";s+=`<li><mint-button variant="solid" size="sm"${l} data-action="page" data-page="${r}">${r}</mint-button></li>`}s+=`<li><mint-button variant="solid" size="sm" icon="caret-right" ${this._currentPage>=i?'disabled="true"':""} data-action="page-next"></mint-button></li>`,s+="</ul>",s+="</nav>",s+="</div>"}s+="</mint-table>"}else s+='<slot name="empty"></slot>';this.innerHTML=s,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",()=>{const e=parseInt(t.getAttribute("data-page")||"1");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}}customElements.get("mint-resource-table")||customElements.define("mint-resource-table",at);exports.Alert=nt;exports.BackButton=V;exports.Button=P;exports.Card=z;exports.Checkbox=J;exports.Chip=it;exports.Choice=G;exports.Clickable=rt;exports.DatePicker=X;exports.Dropzone=Q;exports.Form=tt;exports.Grid=j;exports.Icon=q;exports.Input=K;exports.Link=R;exports.Modal=Y;exports.Page=W;exports.Popover=U;exports.ResourceTable=at;exports.Select=Z;exports.Spinner=F;exports.Stack=B;exports.Switch=$;exports.Table=et;exports.Tags=st;exports.Text=O;exports.default=P;
|
package/dist/index.js
CHANGED
|
@@ -5772,6 +5772,15 @@ class ht extends HTMLElement {
|
|
|
5772
5772
|
attributeChangedCallback(t, e, i) {
|
|
5773
5773
|
t === "configuration" && e !== i && (!this._configuration || typeof i == "string") && (this._parseConfiguration(), this.render());
|
|
5774
5774
|
}
|
|
5775
|
+
/**
|
|
5776
|
+
* Public method to refresh the table data.
|
|
5777
|
+
* For paginated tables: refreshes the current page.
|
|
5778
|
+
* For loadMore tables: refreshes the entire table from the beginning.
|
|
5779
|
+
* For provided data tables: re-renders the table.
|
|
5780
|
+
*/
|
|
5781
|
+
refresh() {
|
|
5782
|
+
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());
|
|
5783
|
+
}
|
|
5775
5784
|
_parseConfiguration() {
|
|
5776
5785
|
const t = this.getAttribute("configuration");
|
|
5777
5786
|
if (!t) {
|