@shifl-inc/ui 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/shifl-ui.umd
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
(function(w,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(w=typeof globalThis<"u"?globalThis:w||self,e(w.ShiflGrid={},w.Vue))})(this,function(w,e){"use strict";function Ge(i){const l=(i.columns||[]).map(h=>({...h,freeze:h.freeze??!1,visible:h.visible??!0,protected:h.protected??!1})),u=i.apiConfig?"server":i.searchMode||"client";return{...i,columns:l,rows:i.rows??[],search:i.search??[],searchMode:u,filters:i.filters??[],paginationMeta:i.paginationMeta?{show:i.paginationMeta.show??!0,currentPage:i.paginationMeta.currentPage??1,perPage:i.paginationMeta.perPage??20,total:i.paginationMeta.total??0,from:i.paginationMeta.from,to:i.paginationMeta.to,...i.paginationMeta}:void 0}}function fe(i){const l=[...i],u=e.ref([...i]);function h(f){u.value=u.value.map(d=>d.key===f?{...d,visible:!d.visible}:d)}function c(f){u.value=u.value.map(d=>({...d,visible:f}))}function p(f){const d=u.value.map(y=>y.key===f?{...y,freeze:!y.freeze}:y),m=d.filter(y=>y.freeze),M=d.filter(y=>!y.freeze);u.value=[...m,...M]}function C(f,d){if(f===d||d<0||d>=u.value.length)return;const m=u.value.findIndex(g=>!g.freeze),M=m===-1?u.value.length:m;if(f<M||d<M)return;const y=[...u.value],[a]=y.splice(f,1);y.splice(d,0,a),u.value=y}function B(){u.value=[...l]}const _=e.computed(()=>u.value.filter(f=>f.visible));return{columns:u,visibleColumns:_,toggleColumnVisibility:h,setAllVisible:c,toggleFreeze:p,moveColumn:C,resetColumns:B}}function ue(i){const l=e.ref(i);function u(c){var p;l.value=((p=l.value)==null?void 0:p.key)===c&&l.value.order==="asc"?{key:c,order:"desc"}:{key:c,order:"asc"}}function h(c){if(!l.value)return c;const{key:p,order:C}=l.value;return[...c].sort((B,_)=>{const f=B[p],d=_[p];if(f===d)return 0;if(f==null)return 1;if(d==null)return-1;const m=String(f).localeCompare(String(d),void 0,{numeric:!0});return C==="asc"?m:-m})}return{sort:l,setSort:u,applySort:h}}function me(){function i(l,u,h){const c=(h||"").trim().toLowerCase();return c?l.filter(p=>(u&&u.length?u.map(B=>p[B]):Object.values(p)).some(B=>String(B??"").toLowerCase().includes(c))):l}return{applyGlobalFilter:i}}function Fe(){const i=e.ref({rowIndex:null,position:null});function l(p,C,B=200){const _=C.getBoundingClientRect();let f=_.left;f+B>window.innerWidth-8&&(f=window.innerWidth-B+8),i.value={rowIndex:p,position:{top:_.bottom,left:f}}}function u(){i.value={rowIndex:null,position:null}}function h(p){return i.value.rowIndex===p}function c(p){p.key==="Escape"&&i.value.rowIndex!==null&&u()}return e.onMounted(()=>{document.addEventListener("keydown",c)}),e.onUnmounted(()=>{document.removeEventListener("keydown",c)}),{menuState:i,openMenu:l,closeMenu:u,isMenuOpen:h}}function He(i,l){const u=e.ref(!1),h=e.ref(null),c=e.ref([]),p=e.ref(void 0);let C=null;function B(a){const g=new URLSearchParams;if(a.search&&g.append("search",a.search),a.page!==void 0&&g.append("page",String(a.page)),a.perPage!==void 0&&g.append("per_page",String(a.perPage)),a.sort&&(g.append("sort",a.sort.key),g.append("order",a.sort.order)),a.filters&&a.filters.length>0&&a.filters.forEach(b=>{if(b.value!==void 0&&b.value!==null&&b.value!==""){const N=`filters[${b.key}]`;Array.isArray(b.value)?b.value.forEach(E=>g.append(`${N}[]`,String(E))):g.append(N,String(b.value))}}),l!=null&&l.additionalParams){const b=typeof l.additionalParams=="function"?l.additionalParams(a):l.additionalParams;Object.entries(b).forEach(([N,E])=>{E!=null&&E!==""&&(Array.isArray(E)?E.forEach(T=>g.append(`${N}[]`,String(T))):g.append(N,String(E)))})}return g}function _(a){var g,b,N;return l!=null&&l.bodyBuilder?l.bodyBuilder(a):{search:a.search,page:a.page,per_page:a.perPage,sort:(g=a.sort)==null?void 0:g.key,order:(b=a.sort)==null?void 0:b.order,filters:(N=a.filters)==null?void 0:N.reduce((E,T)=>(T.value!==void 0&&T.value!==null&&T.value!==""&&(E[T.key]=T.value),E),{}),...typeof(l==null?void 0:l.additionalParams)=="function"?l.additionalParams(a):(l==null?void 0:l.additionalParams)||{}}}function f(){const a={"Content-Type":"application/json",...(l==null?void 0:l.headers)||{}};if(l!=null&&l.getAuthToken){const g=l.getAuthToken();g&&(a.Authorization=`Bearer ${g}`)}return a}function d(a){if(l!=null&&l.responseTransformer)return l.responseTransformer(a);const g=a;return{data:g.data||g.rows||[],meta:g.meta}}async function m(a){if(!i){h.value=new Error("API URL is required");return}u.value=!0,h.value=null;try{const g=(l==null?void 0:l.method)||"GET",b=f();let N=i,E;if(g==="GET"){const P=l!=null&&l.paramsBuilder?l.paramsBuilder(a):B(a);if(P instanceof URLSearchParams){const D=P.toString();N=D?`${i}?${D}`:i}else{const D=new URLSearchParams;Object.entries(P).forEach(([G,L])=>{L!=null&&L!==""&&(Array.isArray(L)?L.forEach(Z=>D.append(`${G}[]`,String(Z))):D.append(G,String(L)))});const R=D.toString();N=R?`${i}?${R}`:i}}else E=_(a);const T=await fetch(N,{method:g,headers:b,body:E?JSON.stringify(E):void 0});if(!T.ok)throw new Error(`API request failed: ${T.status} ${T.statusText}`);const J=await T.json(),I=d(J);c.value=I.data,p.value=I.meta}catch(g){h.value=g instanceof Error?g:new Error("Unknown error occurred"),c.value=[],p.value=void 0}finally{u.value=!1}}function M(a,g=!1){C&&(clearTimeout(C),C=null);const b=(l==null?void 0:l.debounceMs)??300;g||!a.search?m(a):C=setTimeout(()=>{m(a)},b)}function y(a){M(a,!0)}return{loading:e.computed(()=>u.value),error:e.computed(()=>h.value),data:e.computed(()=>c.value),paginationMeta:e.computed(()=>p.value),fetchData:m,fetchDataDebounced:M,refresh:y}}function ge(i,l){var B,_;const u=(l==null?void 0:l.search)||e.ref(void 0),h=(l==null?void 0:l.filters)||e.ref(i.filters),c=(l==null?void 0:l.sort)||e.ref(i.sort),p=(l==null?void 0:l.pagination)||e.ref({page:((B=i.paginationMeta)==null?void 0:B.currentPage)||1,perPage:((_=i.paginationMeta)==null?void 0:_.perPage)||20}),C=(l==null?void 0:l.extraState)||e.ref(void 0);if(i.apiConfig&&i.searchMode==="server"){let f=function(){var a,g;return{search:u.value,filters:h.value,sort:c.value,page:(a=p.value)==null?void 0:a.page,perPage:(g=p.value)==null?void 0:g.perPage,extraState:C.value}},d=function(a){var g,b,N,E;return y?a.search!==y.search||a.page!==y.page||a.perPage!==y.perPage||((g=a.sort)==null?void 0:g.key)!==((b=y.sort)==null?void 0:b.key)||((N=a.sort)==null?void 0:N.order)!==((E=y.sort)==null?void 0:E.order)||JSON.stringify(a.filters)!==JSON.stringify(y.filters)||JSON.stringify(a.extraState)!==JSON.stringify(y.extraState):!0};const m=He(i.apiConfig.apiUrl,i.apiConfig);let M=!1,y=null;return e.watch([u,h,c,p,C],()=>{if(M)return;const a=f();if(!d(a))return;y=a;const g=u.value!==void 0;m.fetchDataDebounced(a,!g)},{immediate:!0,deep:!0}),e.watch(m.paginationMeta,a=>{if(a&&p.value){const g=a.perPage||p.value.perPage;g!==p.value.perPage&&(M=!0,p.value.perPage=g,e.nextTick(()=>{M=!1}))}}),{rows:m.data,loading:m.loading,error:m.error,paginationMeta:m.paginationMeta,refresh:()=>{var g,b;const a={search:u.value,filters:h.value,sort:c.value,page:(g=p.value)==null?void 0:g.page,perPage:(b=p.value)==null?void 0:b.perPage,extraState:C.value};m.refresh(a)}}}return{rows:e.computed(()=>i.rows),loading:e.computed(()=>!1),error:e.computed(()=>null),paginationMeta:e.computed(()=>i.paginationMeta),refresh:()=>{}}}const Ie={class:"shifl-column-manager__header"},Ze={class:"shifl-column-manager__title-wrapper"},Oe={class:"shifl-column-manager__title"},je={key:0},We={key:1},Ke={class:"shifl-column-manager__controls"},Ue={class:"shifl-column-manager__controls-left"},Je={class:"shifl-column-manager__content"},qe={class:"shifl-column-manager__list"},Ye=["draggable","onDragstart","onDragover","onDrop"],Qe=["aria-label","disabled"],Xe=["checked","disabled","onChange"],ve={class:"shifl-column-manager__label-text"},et={class:"shifl-column-manager__footer"},tt=e.defineComponent({__name:"GridColumnManager",props:{titlePrefix:{},columns:{}},emits:["close","toggle","move","toggleFreeze","selectAll","deselectAll","restoreDefault"],setup(i,{emit:l}){const u=i,h=e.computed(()=>u.columns),c=l,p=e.ref(null);function C(f){var d,m;(d=u.columns[f])!=null&&d.freeze||(m=u.columns[f])!=null&&m.protected||(p.value=f)}function B(f){}function _(f){p.value===null||p.value===f||(c("move",p.value,f),p.value=null)}return(f,d)=>(e.openBlock(),e.createElementBlock("div",{class:"shifl-column-manager__backdrop",onClick:d[7]||(d[7]=e.withModifiers(m=>f.$emit("close"),["self"]))},[e.createElementVNode("div",{class:"shifl-column-manager__dialog",role:"dialog","aria-modal":"true",onClick:d[6]||(d[6]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("header",Ie,[e.createElementVNode("div",Ze,[e.createElementVNode("h2",Oe,[i.titlePrefix?(e.openBlock(),e.createElementBlock("span",je,e.toDisplayString(i.titlePrefix),1)):e.createCommentVNode("",!0),i.titlePrefix?(e.openBlock(),e.createElementBlock("span",We,">")):e.createCommentVNode("",!0),d[8]||(d[8]=e.createTextVNode("Edit Columns ",-1))])]),e.createElementVNode("button",{type:"button",class:"shifl-column-manager__close",onClick:d[0]||(d[0]=m=>f.$emit("close"))},[...d[9]||(d[9]=[e.createElementVNode("span",null,"✕",-1)])])]),e.createElementVNode("div",Ke,[e.createElementVNode("div",Ue,[e.createElementVNode("button",{type:"button",class:"shifl-column-manager__link-button",onClick:d[1]||(d[1]=m=>f.$emit("selectAll"))}," Select All "),e.createElementVNode("button",{type:"button",class:"shifl-column-manager__link-button",onClick:d[2]||(d[2]=m=>f.$emit("deselectAll"))}," Deselect All ")]),e.createElementVNode("button",{type:"button",class:"shifl-column-manager__link-button shifl-column-manager__link-button--primary",onClick:d[3]||(d[3]=m=>f.$emit("restoreDefault"))}," Restore Default ")]),e.createElementVNode("div",Je,[e.createElementVNode("ul",qe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(m,M)=>(e.openBlock(),e.createElementBlock("li",{key:m.key,class:e.normalizeClass(["shifl-column-manager__item",{"shifl-column-manager__item--disabled":m.freeze||m.protected}]),draggable:!m.freeze&&!m.protected,onDragstart:y=>C(M),onDragover:e.withModifiers(y=>void 0,["prevent"]),onDrop:e.withModifiers(y=>_(M),["prevent"])},[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["shifl-column-manager__drag-handle",{"shifl-column-manager__drag-handle--disabled":m.freeze||m.protected}]),"aria-label":`Move ${m.label}`,disabled:m.freeze||m.protected},[...d[10]||(d[10]=[e.createElementVNode("span",null,"⋮⋮",-1)])],10,Qe),e.createElementVNode("label",{class:e.normalizeClass(["shifl-column-manager__checkbox-label",{"shifl-column-manager__checkbox-label--disabled":m.freeze||m.protected}])},[e.createElementVNode("input",{type:"checkbox",class:"shifl-column-manager__checkbox",checked:m.visible,disabled:m.freeze||m.protected,onChange:y=>f.$emit("toggle",m.key)},null,40,Xe),d[11]||(d[11]=e.createElementVNode("span",{class:"shifl-column-manager__checkbox-custom"},null,-1)),e.createElementVNode("span",ve,e.toDisplayString(m.label),1)],2)],42,Ye))),128))])]),e.createElementVNode("footer",et,[e.createElementVNode("button",{type:"button",class:"shifl-column-manager__button shifl-column-manager__button--primary",onClick:d[4]||(d[4]=m=>f.$emit("close"))}," Update "),e.createElementVNode("button",{type:"button",class:"shifl-column-manager__button shifl-column-manager__button--secondary",onClick:d[5]||(d[5]=m=>f.$emit("close"))}," Cancel ")])])]))}}),A=(i,l)=>{const u=i.__vccOpts||i;for(const[h,c]of l)u[h]=c;return u},nt=A(tt,[["__scopeId","data-v-40ca0ed0"]]),rt={class:"shifl-grid__tooltip-content"},ot=A(e.defineComponent({__name:"GridTooltip",props:{content:{},visible:{type:Boolean},triggerElement:{}},setup(i){const l=i,u=e.ref(null),h=e.ref({}),c=e.computed(()=>l.content.includes(`
|
|
2
|
-
`)),p=e.computed(()=>c.value?
|
|
3
|
-
`).filter(f=>f.trim().length>0):[]),C=e.ref("top"),B=e.ref({});function _(){if(!l.triggerElement||!u.value)return;const f=l.triggerElement.getBoundingClientRect(),d=u.value.getBoundingClientRect(),m=window.innerWidth,M=window.innerHeight;let y=f.bottom+8,a=f.left+window.scrollX;a+d.width>m-16&&(a=m-d.width-16),a<16&&(a=16),y+d.height>M-16?(y=f.top-d.height-8,C.value="bottom"):C.value="top",h.value={position:"fixed",top:`${y}px`,left:`${a}px`,zIndex:"10000"};const g=f.left+f.width/2-a;B.value={left:`${g}px`}}return e.watch(()=>l.visible,async f=>{f&&(await e.nextTick(),_())}),e.onMounted(()=>{l.visible&&e.nextTick(()=>_())}),e.onUnmounted(()=>{}),(f,d)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[i.visible?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"tooltipRef",ref:u,class:"shifl-grid__tooltip",style:e.normalizeStyle(h.value)},[e.createElementVNode("div",{class:e.normalizeClass(["shifl-grid__tooltip-arrow",C.value]),style:e.normalizeStyle(B.value)},null,6),e.createElementVNode("div",rt,[c.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(p.value,(m,M)=>(e.openBlock(),e.createElementBlock("div",{key:M,class:"shifl-grid__tooltip-line"},e.toDisplayString(m),1))),128)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(i.content),1)],64))])],4)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-f9f586fc"]]),lt={},st={width:"14",height:"15",viewBox:"0 0 14 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:"shifl-smart-tracking-icon"};function it(i,l){return e.openBlock(),e.createElementBlock("svg",st,[...l[0]||(l[0]=[e.createElementVNode("path",{d:"M1.03223 9.27441C1.22778 9.27445 1.40954 9.32951 1.57812 9.43066L3.86523 10.8594C4.1957 11.0618 4.3916 11.4202 4.3916 11.8047C4.39151 12.189 4.19562 12.5467 3.86523 12.749L1.57812 14.1797C1.41642 14.2806 1.22754 14.334 1.03223 14.334V14.3408C0.465713 14.3408 0.000165713 13.8751 0 13.3086V10.3066C0.000236867 9.74022 0.465756 9.27443 1.03223 9.27441ZM1.01172 13.3018L3.3252 11.8916C3.32796 11.8884 3.3728 11.8374 3.37305 11.8047C3.37305 11.771 3.35218 11.737 3.3252 11.7168L1.03906 10.2871L1.01172 13.3018ZM6.07129 3.37305C6.35041 3.37318 6.5771 3.59977 6.57715 3.87891C6.57715 4.15809 6.35044 4.38463 6.07129 4.38477H5.05957C4.03708 4.38477 3.20433 5.06537 3.2041 5.90234C3.2041 6.73947 4.03694 7.4209 5.05957 7.4209H7.08301C8.66344 7.42096 9.95019 8.55525 9.9502 9.9502C9.95009 11.3451 8.66338 12.4794 7.08301 12.4795H6.07129C5.79202 12.4795 5.56543 12.2529 5.56543 11.9736C5.56548 11.6944 5.79205 11.4678 6.07129 11.4678H7.08301C8.10552 11.4677 8.93739 10.7872 8.9375 9.9502C8.93749 9.11311 8.10558 8.43267 7.08301 8.43262H5.05957C3.47908 8.43262 2.19238 7.29733 2.19238 5.90234C2.19259 4.50751 3.4792 3.37305 5.05957 3.37305H6.07129ZM10.7939 0C12.0694 0.000131868 13.2591 0.779675 13.7549 1.94043C14.6093 3.9666 13.0453 5.42741 11.9033 6.49316L11.8818 6.51367C11.7964 6.59308 11.711 6.67193 11.6289 6.75C11.4057 6.96444 11.1095 7.08195 10.7939 7.08203C10.4783 7.08203 10.1803 6.9642 9.95703 6.74902C9.86266 6.65937 9.76511 6.56666 9.66602 6.47363L9.66016 6.46875C8.53029 5.40836 6.98418 3.95585 7.83203 1.94238C8.32854 0.77953 9.51841 6.29203e-06 10.7939 0ZM10.7939 1.01172C9.91775 1.01173 9.10234 1.54537 8.76367 2.33789C8.22961 3.60525 9.04604 4.50453 10.3525 5.73145L10.4229 5.79688C10.5024 5.87104 10.5804 5.94604 10.6572 6.01953C10.7267 6.08617 10.861 6.08446 10.9277 6.02051L10.9307 6.01758C11.0223 5.93066 11.1172 5.84284 11.2129 5.75391C12.5356 4.51951 13.3612 3.61352 12.8223 2.33594C12.4849 1.54493 11.6691 1.0127 10.793 1.0127L10.7939 1.01172ZM10.7998 2.53027C11.1719 2.53041 11.4734 2.83199 11.4736 3.2041C11.4736 3.57637 11.172 3.87877 10.7998 3.87891C10.4275 3.87882 10.1221 3.57641 10.1221 3.2041C10.1223 2.8319 10.4207 2.53027 10.793 2.53027H10.7998Z",fill:"#05963F"},null,-1)])])}const at=A(lt,[["render",it]]),ct={},dt={width:"14",height:"10",viewBox:"0 0 14 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function ft(i,l){return e.openBlock(),e.createElementBlock("svg",dt,[...l[0]||(l[0]=[e.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M0 0.666667C0 0.298477 0.314186 2.98023e-08 0.701754 2.98023e-08H4.2807C4.66827 2.98023e-08 4.98246 0.298477 4.98246 0.666667C4.98246 1.03486 4.66827 1.33333 4.2807 1.33333H0.701754C0.314186 1.33333 0 1.03486 0 0.666667ZM10.0301 0.195262C10.3042 -0.0650874 10.7485 -0.0650874 11.0225 0.195262L13.1278 2.19526C13.4018 2.45561 13.4018 2.87772 13.1278 3.13807C12.8537 3.39842 12.4094 3.39842 12.1354 3.13807L11.2281 2.27614V8.66667C11.2281 9.03486 10.9139 9.33333 10.5263 9.33333C10.1387 9.33333 9.82456 9.03486 9.82456 8.66667V2.27614L8.91727 3.13807C8.64322 3.39842 8.19889 3.39842 7.92484 3.13807C7.65079 2.87772 7.65079 2.45561 7.92484 2.19526L10.0301 0.195262ZM0 4.66667C0 4.29848 0.314186 4 0.701754 4H5.61404C6.0016 4 6.31579 4.29848 6.31579 4.66667C6.31579 5.03486 6.0016 5.33333 5.61404 5.33333H0.701754C0.314186 5.33333 0 5.03486 0 4.66667ZM0 8.66667C0 8.29848 0.314186 8 0.701754 8H7.01754C7.40511 8 7.7193 8.29848 7.7193 8.66667C7.7193 9.03486 7.40511 9.33333 7.01754 9.33333H0.701754C0.314186 9.33333 0 9.03486 0 8.66667Z",fill:"#1A6D9E"},null,-1)])])}const ut=A(ct,[["render",ft]]),mt={},gt={width:"14",height:"10",viewBox:"0 0 14 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function pt(i,l){return e.openBlock(),e.createElementBlock("svg",gt,[...l[0]||(l[0]=[e.createElementVNode("path",{d:"M4.28125 8C4.66872 8.00011 4.98242 8.29887 4.98242 8.66699C4.98242 9.03511 4.66872 9.33387 4.28125 9.33398H0.702148C0.314581 9.33398 8.1338e-07 9.03518 0 8.66699C0 8.2988 0.31458 8 0.702148 8H4.28125ZM10.5264 0C10.9139 0 11.2285 0.298802 11.2285 0.666992V7.05762L12.1357 6.19531C12.4097 5.93519 12.8539 5.93524 13.1279 6.19531C13.402 6.45566 13.402 6.87832 13.1279 7.13867L11.0225 9.13867C10.7484 9.39867 10.3042 9.39886 10.0303 9.13867L7.9248 7.13867C7.65082 6.87834 7.65082 6.45565 7.9248 6.19531C8.19886 5.93496 8.64392 5.93496 8.91797 6.19531L9.8252 7.05762V0.666992C9.8252 0.298891 10.1389 0.000143144 10.5264 0ZM5.61426 4C6.00183 4 6.31641 4.2988 6.31641 4.66699C6.31641 5.03518 6.00183 5.33398 5.61426 5.33398H0.702148C0.314581 5.33398 6.77817e-07 5.03518 0 4.66699C0 4.2988 0.31458 4 0.702148 4H5.61426ZM7.01758 0C7.40515 0 7.71973 0.298802 7.71973 0.666992C7.71973 1.03518 7.40515 1.33398 7.01758 1.33398H0.702148C0.31458 1.33398 5.42254e-07 1.03518 0 0.666992C0 0.298802 0.31458 0 0.702148 0H7.01758Z",fill:"#1A6D9E"},null,-1)])])}const ht=A(mt,[["render",pt]]),kt={},yt={width:"21",height:"13",viewBox:"0 0 21 13",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function _t(i,l){return e.openBlock(),e.createElementBlock("svg",yt,[...l[0]||(l[0]=[e.createElementVNode("path",{d:"M19.6426 4.61523C19.9311 4.61524 20.1317 4.90139 20.0342 5.17285L17.499 12.2246C17.4395 12.3899 17.2821 12.5 17.1064 12.5H1.5459C1.35628 12.5 1.19044 12.3719 1.14258 12.1885L0.0136719 7.83887C-0.0548101 7.575 0.14438 7.31738 0.416992 7.31738H12.6016L14.71 4.61523H19.6426ZM3.51465 8.82324C3.11322 8.82324 2.78728 9.15265 2.78711 9.55859C2.78711 9.96468 3.11312 10.2939 3.51465 10.2939C3.9161 10.2938 4.24121 9.96462 4.24121 9.55859C4.24104 9.15271 3.91599 8.82334 3.51465 8.82324ZM7.87695 8.82324C7.47553 8.82324 7.14958 9.15265 7.14941 9.55859C7.14941 9.96468 7.47542 10.2939 7.87695 10.2939C8.27846 10.2939 8.60352 9.96466 8.60352 9.55859C8.60335 9.15267 8.27835 8.82327 7.87695 8.82324ZM12.2393 8.82324C11.8378 8.82324 11.5119 9.15265 11.5117 9.55859C11.5117 9.96468 11.8377 10.2939 12.2393 10.2939C12.6407 10.2938 12.9658 9.96458 12.9658 9.55859C12.9657 9.15275 12.6405 8.82341 12.2393 8.82324ZM10.3291 3.67676C10.5591 3.67679 10.7459 3.86283 10.7461 4.09277V5.46582C10.746 5.69585 10.5591 5.88278 10.3291 5.88281H1.75C1.51993 5.88281 1.33309 5.69587 1.33301 5.46582V4.09277C1.3332 3.86282 1.52 3.67676 1.75 3.67676H10.3291ZM8.91406 0C9.14418 0 9.33105 0.186874 9.33105 0.416992V1.78906C9.33105 2.01918 9.14418 2.20605 8.91406 2.20605H3.2041C2.97398 2.20605 2.78711 2.01918 2.78711 1.78906V0.416992C2.78711 0.186874 2.97398 1.52829e-06 3.2041 0H8.91406Z",fill:"#9CA5B4"},null,-1)])])}const pe=A(kt,[["render",_t]]),Ct={},bt={width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Bt(i,l){return e.openBlock(),e.createElementBlock("svg",bt,[...l[0]||(l[0]=[e.createElementVNode("path",{d:"M7.99976 0.799561C11.9761 0.799561 15.1998 4.0234 15.2 7.99976C15.2 11.9762 11.9762 15.2 7.99976 15.2C4.0234 15.1998 0.799561 11.9761 0.799561 7.99976C0.799666 4.02346 4.02346 0.799666 7.99976 0.799561ZM7.99976 1.87964C4.61984 1.87974 1.87974 4.61984 1.87964 7.99976C1.87964 11.3798 4.61977 14.1198 7.99976 14.1199C11.3798 14.1199 14.1199 11.3798 14.1199 7.99976C14.1198 4.61977 11.3798 1.87964 7.99976 1.87964ZM7.9978 6.91968C8.27087 6.91973 8.49698 7.12223 8.53296 7.3855L8.53784 7.45874L8.53979 11.4197C8.5399 11.7178 8.29882 11.9595 8.00073 11.9597C7.72754 11.9599 7.50169 11.7572 7.46558 11.4939L7.46069 11.4207L7.45776 7.45972C7.45757 7.16153 7.69962 6.91987 7.9978 6.91968ZM8.00073 4.40112C8.39742 4.40137 8.71923 4.72319 8.71948 5.11987C8.71948 5.51677 8.39757 5.83935 8.00073 5.8396C7.60368 5.8396 7.28101 5.51692 7.28101 5.11987C7.28126 4.72304 7.60384 4.40112 8.00073 4.40112Z",fill:"#69758C"},null,-1)])])}const Et=A(Ct,[["render",Bt]]),wt={class:"shifl-grid relative"},Mt={class:"shifl-grid__controls"},St={class:"shifl-grid__table"},Nt=["onClick"],Tt={class:"shifl-grid__header-content"},Vt={key:0,class:"shifl-grid__header-label"},Pt={key:1,class:"shifl-grid__sort-icon"},$t={key:0},Lt=["colspan"],Dt={key:0,class:"shifl-grid__smart-tracking-icon"},At=["onClick"],zt={key:0},xt=["innerHTML"],Rt={key:2,class:"shifl-grid__composite-cell"},Gt={key:3,class:"shifl-grid__type-cell"},Ft={key:0,class:"shifl-grid__container-badge"},Ht={key:4,class:"shifl-grid__tags-cell"},It={class:"shifl-grid__tags-wrapper"},Zt=["onMouseenter"],Ot={key:5,class:"shifl-grid__chips-container"},jt={key:6,class:"shifl-grid__truncated-cell"},Wt=["onMouseenter"],Kt=["onMouseenter"],Ut=["href"],Jt={key:8,class:"shifl-grid__progress-cell"},qt={class:"shifl-grid__progress-bar"},Yt={class:"shifl-grid__progress-text"},Qt={key:0,class:"shifl-grid__pagination"},Xt={class:"shifl-grid__pagination-left"},vt={class:"shifl-grid__pagination-range"},en={class:"shifl-grid__pagination-range-numbers"},tn={class:"shifl-grid__pagination-right"},nn={class:"shifl-grid__pagination-rows"},rn=["value","disabled"],on={class:"shifl-grid__pagination-nav"},ln=["disabled"],sn={class:"shifl-grid__pagination-pages"},an=["disabled","onClick"],cn={key:1,class:"shifl-grid__pagination-ellipsis"},dn=["disabled"],fn=["onClick"],un=["innerHTML"],he=e.defineComponent({__name:"ShiflGrid",props:{config:{},search:{},loading:{type:Boolean}},emits:["action-click","search-change","pagination-change"],setup(i,{emit:l}){var xe,Re;const u=i,h=l,c=e.computed(()=>Ge(u.config)),p=e.ref(u.search),C=e.ref(c.value.filters),B=e.ref(c.value.sort),_=e.ref({page:((xe=c.value.paginationMeta)==null?void 0:xe.currentPage)||1,perPage:((Re=c.value.paginationMeta)==null?void 0:Re.perPage)||20}),f=ge(c.value,{search:p,filters:C,sort:B,pagination:_}),d=e.computed(()=>c.value.columns.filter(t=>!t.smartTrackingColumn)),{columns:m,visibleColumns:M,toggleColumnVisibility:y,setAllVisible:a,toggleFreeze:g,moveColumn:b,resetColumns:N}=fe(d.value),{sort:E,setSort:T,applySort:J}=ue(c.value.sort),{applyGlobalFilter:I}=me(),{menuState:P,openMenu:D,closeMenu:R}=Fe(),G=e.ref(!1),L=e.ref({}),Z=e.ref(null),_e=e.ref(null),q=e.ref(null),Y=e.ref(!1),Ce=e.ref(""),Q=e.ref(null),Bn=e.ref({});e.ref({});const X=e.ref({});e.watch(()=>c.value.filters,t=>{C.value=t},{deep:!0}),e.watch(()=>c.value.paginationMeta,t=>{c.value.searchMode!=="server"&&t&&_.value&&(_.value.page=t.currentPage||_.value.page,_.value.perPage=t.perPage||_.value.perPage)},{deep:!0}),e.watch(()=>c.value.columns,t=>{const r=t.filter(n=>!n.smartTrackingColumn);m.value=[...r]},{deep:!0}),e.watch(()=>c.value.sort,t=>{t&&(E.value=t,B.value=t)},{deep:!0}),e.watch(()=>u.search,(t,r)=>{var n;if(p.value=t,c.value.searchMode==="server")h("search-change",t||"");else if(c.value.searchMode==="client"&&t!==r){const o=((n=V.value)==null?void 0:n.perPage)||20;_.value={page:1,perPage:o},h("pagination-change",1,o)}},{immediate:!0}),e.watch(()=>E.value,t=>{B.value=t});const be=e.computed(()=>f.rows.value||[]),v=e.computed(()=>{if((c.value.searchMode||"client")==="server")return be.value;const r=u.search||"";return I(be.value,c.value.search,r)}),ee=e.computed(()=>{var r;return(c.value.searchMode||"client")==="client"?v.value.length:((r=f.paginationMeta.value)==null?void 0:r.total)||0}),te=e.computed(()=>(c.value.searchMode||"client")==="server"?v.value:J(v.value)),Be=e.computed(()=>{if((c.value.searchMode||"client")==="server")return te.value;const r=V.value;if(!r||!r.show)return te.value;const n=r.perPage||20,s=((r.currentPage||1)-1)*n,k=s+n;return te.value.slice(s,k)}),V=e.computed(()=>{var t;return c.value.searchMode==="server"&&f.paginationMeta.value?{show:!0,...f.paginationMeta.value,currentPage:((t=_.value)==null?void 0:t.page)||f.paginationMeta.value.currentPage||1}:c.value.paginationMeta}),z=e.computed(()=>u.loading!==void 0?u.loading:f.loading.value),En=e.computed(()=>{var t;return((t=V.value)==null?void 0:t.perPage)===100}),wn=e.computed(()=>{var t;return((t=V.value)==null?void 0:t.perPage)||10}),Ee=e.computed(()=>{const t=V.value;if(!t||t.show===!1)return{from:0,to:0};const r=ee.value,n=t.perPage||20,o=t.currentPage||1;if((c.value.searchMode||"client")==="server"&&t.from!==void 0&&t.to!==void 0)return{from:t.from,to:t.to};const k=(o-1)*n+1,S=Math.min(o*n,r);return r===0?{from:0,to:0}:{from:k,to:S}}),x=e.computed(()=>{var t;return((t=V.value)==null?void 0:t.currentPage)||1}),ne=e.computed(()=>{const t=V.value;if(!t||t.show===!1)return 1;const r=ee.value;if(r===0)return 1;const n=t.perPage||20,o=Math.ceil(r/n);return Math.max(1,o)}),we=e.computed(()=>x.value<=1),Me=e.computed(()=>x.value>=ne.value),Mn=e.computed(()=>{const t=ne.value,r=x.value,n=[];if(t<=7)for(let o=1;o<=t;o++)n.push(o);else if(r<=4){for(let o=1;o<=5;o++)n.push(o);n.push(-1),n.push(t)}else if(r>=t-3){n.push(1),n.push(-1);for(let o=t-4;o<=t;o++)n.push(o)}else{n.push(1),n.push(-1);for(let o=r-1;o<=r+1;o++)n.push(o);n.push(-1),n.push(t)}return n});function Sn(t){var n;if(t<1||t>ne.value||t===x.value||z.value)return;const r=((n=V.value)==null?void 0:n.perPage)||20;_.value={page:t,perPage:r},h("pagination-change",t,r)}function Nn(){var n;if(we.value||z.value)return;const t=((n=V.value)==null?void 0:n.perPage)||20,r=x.value-1;_.value={page:r,perPage:t},h("pagination-change",r,t)}function Tn(){var n;if(Me.value||z.value)return;const t=((n=V.value)==null?void 0:n.perPage)||20,r=x.value+1;_.value={page:r,perPage:t},h("pagination-change",r,t)}function Vn(t){var o;if(z.value)return;const r=t.target,n=parseInt(r.value,10);n&&n!==(((o=V.value)==null?void 0:o.perPage)||20)&&(_.value={page:1,perPage:n},h("pagination-change",1,n))}const Pn=e.computed(()=>{const t=c.value.columns.find(n=>n.smartTrackingColumn);if(!(t!=null&&t.smartTrackingColumn))return!1;const r=t.smartTrackingColumn.dataKey;return c.value.rows.some(n=>{const o=n[r];return o===!0||o===1||o==="true"||o==="1"})}),re=e.computed(()=>c.value.columns.find(t=>t.smartTrackingColumn)),F=e.computed(()=>{var n;const t=M.value.filter(o=>!o.smartTrackingColumn);if(Pn.value&&re.value){const o={key:"_smart_tracking",label:"",order:-1,freeze:!0,visible:!0,protected:!0,sortable:!1,width:((n=re.value.smartTrackingColumn)==null?void 0:n.width)||"36px",smartTrackingColumn:re.value.smartTrackingColumn,cellType:"icon"},s=t.findIndex(k=>k.key==="ref");s>=0?t.splice(s,0,o):t.unshift(o)}const r=t.find(o=>o.key==="ref");return r&&(r.freeze=!0,r.protected=!0),t}),$n=e.computed(()=>{let t=0;const r={};for(const n of F.value){n.freeze&&(r[n.key]=t);const o=parseInt(n.width??"160",10);Number.isNaN(o)||(t+=o)}return r}),Se=e.ref(0);function Ln(t){const r=t.target;Se.value=r.scrollLeft}function Dn(t){const r=m.value.find(n=>n.key===t);!(r!=null&&r.sortable)||j(r)||de(r)||T(t)}function oe(t,r){if(t==null||t===""||t===void 0)return Ne(r.blankStyle);const n=r.cellType;if(Array.isArray(n)){const o=n.find(s=>typeof s=="string"&&s!=="icon");return o&&typeof o=="string"?De(t,o,r):""}if(!n)return typeof t=="object"?JSON.stringify(t):String(t);switch(n){case"number":return Te(t);case"currency":return Ve(t);case"date":return Pe(t);case"boolean":return $e(t);case"text":default:return typeof t=="object"?JSON.stringify(t):String(t)}}function Ne(t){switch(t){case"dash":return"--";case"zero":return"0";case"na":return"N/A";case"empty":default:return""}}function Te(t){if(typeof t=="number")return t.toLocaleString();const r=Number(t);return Number.isNaN(r)?String(t):r.toLocaleString()}function Ve(t){if(typeof t=="number")return new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(t);const r=Number(t);return Number.isNaN(r)?String(t):new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(r)}function Pe(t){if(t instanceof Date)return t.toLocaleDateString();if(typeof t=="string"){const r=new Date(t);if(!Number.isNaN(r.getTime()))return r.toLocaleDateString()}return String(t)}function $e(t){return typeof t=="boolean"?t?"Yes":"No":t===1||t==="1"||t==="true"||t==="True"?"Yes":t===0||t==="0"||t==="false"||t==="False"?"No":String(t)}function An(t){if(typeof t=="number")return Math.min(100,Math.max(0,t));const r=Number(t);return Number.isNaN(r)?0:Math.min(100,Math.max(0,r))}function Le(t){return typeof t=="string"&&t.toLowerCase()==="ocean",pe}function zn(t){const r=t.toLowerCase();return["supplier","suppliers","po","pos","product_description"].includes(r)}function xn(t){if(t.cellType==="badge")return!0;const r=t.key.toLowerCase();return r==="tag"||r==="tags"}function Rn(t){return t.cellType==="status"?!0:t.key.toLowerCase()==="status"}function Gn(t){return t.cellType==="icon"?!0:t.key.toLowerCase()==="type"}function Fn(t){return Array.isArray(t.cellType)&&t.cellType.length>0}function Hn(t){return Array.isArray(t.cellType)?t.cellType.filter(r=>typeof r=="string"):t.cellType&&typeof t.cellType=="string"?[t.cellType]:[]}function De(t,r,n){if(t==null||t===""||t===void 0)return Ne(n.blankStyle);switch(r){case"number":return Te(t);case"currency":return Ve(t);case"date":return Pe(t);case"boolean":return $e(t);case"text":default:return typeof t=="object"?JSON.stringify(t):String(t)}}function In(t){return{number:"shifl-grid__composite-number",currency:"shifl-grid__composite-currency",date:"shifl-grid__composite-date",boolean:"shifl-grid__composite-boolean",text:"shifl-grid__composite-text"}[t]||"shifl-grid__composite-text"}function Zn(t){if(t==null)return"";if(Array.isArray(t)){if(t.length===0)return"";const r=t.join(", ");return Ae(r,45)}return typeof t=="string"?Ae(t,45):String(t)}function Ae(t,r){return t.length<=r?t:t.substring(0,r)+"..."}function le(t){const r=t.toLowerCase();return["po","pos","supplier","suppliers","tag","tags"].includes(r)}function On(t,r){return t==null||le(r)?!1:Array.isArray(t)?t.length===0?!1:t.join(", ").length>30:typeof t=="string"?t.length>30:!1}function jn(t){return t==null?!1:Array.isArray(t)?t.length===0?!1:t.join(", ").length>45:typeof t=="string"?t.length>45:!1}function Wn(t){if(t==null)return 0;if(Array.isArray(t)){if(t.length===0||t.join(", ").length<=45)return 0;let n=0,o=0;for(let s=0;s<t.length;s++){const k=String(t[s]),$=(s>0?", ":"").length+k.length;if(n+$<=45)n+=$,o++;else break}return t.length-o}return typeof t=="string"&&t.length>45?1:0}function se(t,r,n,o){let s="";Array.isArray(n)?n.length>0&&(s=n.join(`
|
|
4
|
-
`)):n!=null&&(s=String(n)),Ce.value=s,Q.value=o,Y.value=!0}function ie(){Y.value=!1,Q.value=null}function Kn(t,r,n){n&&(Bn.value[`${t}-${r}`]=n)}function O(t){return t==null?[]:Array.isArray(t)?t.map(r=>String(r)).filter(r=>r.length>0):typeof t=="string"?t.split(",").map(r=>r.trim()).filter(r=>r.length>0):[String(t)]}function ae(t,r,n){const o=O(t);if(o.length===0)return[];const s=`${r}-${n}`;if(X.value[s])return X.value[s];const k=F.value.find(K=>K.key===r),$=(k!=null&&k.width?parseInt(k.width):200)-32,H=Un(o,$);return X.value[s]=H,H}function Un(t,r){if(t.length===0)return[];const n=document.createElement("div");n.style.cssText="position: absolute; visibility: hidden; display: flex; flex-wrap: nowrap; gap: 6px;",n.className="shifl-grid__chips-container",document.body.appendChild(n);let o=0,s=0;const k=40;for(let S=0;S<t.length;S++){const $=document.createElement("span");$.className="shifl-grid__chip shifl-grid__chip--tag",$.textContent=t[S],$.style.cssText="padding: 4px 8px; border-left: 3px solid; border: 1px solid; background: white; white-space: nowrap;",n.appendChild($);const H=$.offsetWidth,K=S>0?6:0,or=S<t.length-1;if(s+K+H+(or?k:0)>r&&S>0){n.removeChild($);break}s+=K+H,o++}return document.body.removeChild(n),t.slice(0,o)}function Jn(t,r,n){const o=O(t),s=ae(t,r,n);return o.length>s.length}function qn(t,r,n){const o=O(t),s=ae(t,r,n);return o.length-s.length}function Yn(t){const r=t.toLowerCase(),n={"high priority":"var(--shifl-color-error-r70)",express:"var(--shifl-color-primary-b80)",fragile:"var(--shifl-color-warning-o70)","temperature controlled":"var(--shifl-color-primary-b70)","customs clearance required":"var(--shifl-color-accent-p80)","insurance required":"var(--shifl-color-primary-b90)","special handling":"var(--shifl-color-warning-o80)","urgent delivery":"var(--shifl-color-error-r80)",normal:"var(--shifl-color-neutral-n60)",low:"var(--shifl-color-neutral-n50)"};if(n[r])return n[r];for(const[o,s]of Object.entries(n))if(r.includes(o)||o.includes(r))return s;return Qn(t)}function Qn(t){let r=0;for(let o=0;o<t.length;o++)r=t.charCodeAt(o)+((r<<5)-r);const n=["var(--shifl-color-primary-b80)","var(--shifl-color-success-g70)","var(--shifl-color-warning-o70)","var(--shifl-color-error-r70)","var(--shifl-color-accent-p80)","var(--shifl-color-primary-b70)","var(--shifl-color-success-g60)","var(--shifl-color-warning-o60)"];return n[Math.abs(r)%n.length]}function ce(t,r=!0){const o={...{width:t.width??"160px",minWidth:t.width??"160px"}},s=Se.value>0;if(t.freeze){const k=$n.value[t.key]??0;o.position="sticky",o.left=`${k}px`,o.background="#ffffff",o.boxShadow=s?"2px 0 6px rgba(0, 0, 0, 0.12)":"none",o.zIndex=r?40:10}return r&&(o.position="sticky",o.top="0px"),o}const Xn=e.computed(()=>m.value.filter(t=>!t.smartTrackingColumn));function j(t){return!!t.actionColumn}function de(t){return!!t.smartTrackingColumn}function vn(t,r){if(!t.smartTrackingColumn)return!1;const n=t.smartTrackingColumn.dataKey,o=r[n];if(o===!0||o===1)return!0;if(typeof o=="string"){const s=o.toLowerCase().trim();return s==="true"||s==="1"||s==="yes"}return!1}function W(t,r){if(!t.actionColumn)return null;const n=t.actionColumn.icon;return n?typeof n=="function"?n(r):n:null}function er(t,r,n,o){if(!n.actionColumn)return;const s=o.currentTarget;if(P.value.rowIndex===t){R();return}_e.value=n,q.value=r,D(t,s)}function tr(t,r){return!(t!=null&&t.actionColumn)||!r?[]:(typeof t.actionColumn.actions=="function"?t.actionColumn.actions(r):t.actionColumn.actions).filter(o=>o.show?o.show(r):!0)}function nr(t,r,n){h("action-click",t.key,r,n),R()}function rr(t,r){r&&(L.value[t]=r)}function ze(t){if(P.value.rowIndex===null)return;const r=t.target,n=Z.value,o=Object.values(L.value),s=n==null?void 0:n.contains(r),k=o.some(S=>S.contains(r));!s&&!k&&R()}return e.onMounted(()=>{document.addEventListener("click",ze)}),e.onUnmounted(()=>{document.removeEventListener("click",ze)}),(t,r)=>(e.openBlock(),e.createElementBlock("div",wt,[e.createElementVNode("div",Mt,[e.createElementVNode("button",{type:"button",class:"shifl-grid__pill-button whitespace-nowrap",onClick:r[0]||(r[0]=n=>G.value=!0)}," Edit Column ")]),e.createElementVNode("div",{class:e.normalizeClass(["shifl-grid__viewport",{"shifl-grid__viewport--scroll":En.value}]),onScroll:Ln},[e.createElementVNode("table",St,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(F.value,n=>{var o;return e.openBlock(),e.createElementBlock("th",{key:n.key,style:e.normalizeStyle(ce(n,!0)),onClick:()=>Dn(n.key),class:e.normalizeClass(["shifl-grid__header-cell",`shifl-grid__header-align-${n!=null&&n.align?n.align:"left"}`,{"shifl-grid__cell--sticky":n.freeze,"shifl-grid__sortable-col":n.sortable,"shifl-grid__icon":n.cellType==="icon"}])},[e.createElementVNode("div",Tt,[n.label?(e.openBlock(),e.createElementBlock("span",Vt,e.toDisplayString(n.label),1)):e.createCommentVNode("",!0),((o=e.unref(E))==null?void 0:o.key)===n.key&&!j(n)&&!de(n)?(e.openBlock(),e.createElementBlock("span",Pt,[e.unref(E).order==="asc"?(e.openBlock(),e.createBlock(ut,{key:0})):(e.openBlock(),e.createBlock(ht,{key:1}))])):e.createCommentVNode("",!0)])],14,Nt)}),128))])]),e.createElementVNode("tbody",null,[z.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(wn.value,n=>(e.openBlock(),e.createElementBlock("tr",{key:`skeleton-${n}`,class:"shifl-grid__skeleton-row"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(F.value,o=>(e.openBlock(),e.createElementBlock("td",{key:o.key,style:e.normalizeStyle(ce(o,!1)),class:e.normalizeClass({"shifl-grid__cell--sticky":o.freeze})},[...r[6]||(r[6]=[e.createElementVNode("div",{class:"shifl-grid__skeleton-cell"},null,-1)])],6))),128))]))),128)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[Be.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("tr",$t,[e.createElementVNode("td",{colspan:F.value.length,class:"text-center text-gray-500 py-6"}," No data ",8,Lt)])),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Be.value,(n,o)=>(e.openBlock(),e.createElementBlock("tr",{key:o},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(F.value,s=>(e.openBlock(),e.createElementBlock("td",{key:s.key,style:e.normalizeStyle(ce(s,!1)),class:e.normalizeClass([{"shifl-grid__cell--sticky":s.freeze},{"shifl-grid__cell--action":j(s)},`shifl-grid__cell-align-${s!=null&&s.align?s.align:"left"}`,{"shifl-grid__icon":s.cellType==="icon"}])},[de(s)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[vn(s,n)?(e.openBlock(),e.createElementBlock("div",Dt,[e.createVNode(at)])):e.createCommentVNode("",!0)],64)):j(s)?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"shifl-grid__action-icon",ref_for:!0,ref:k=>rr(o,k),onClick:e.withModifiers(k=>er(o,n,s,k),["stop"])},[W(s,n)?typeof W(s,n)=="string"?(e.openBlock(),e.createElementBlock("span",{key:1,innerHTML:W(s,n),class:"w-4 h-4 inline-block"},null,8,xt)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(W(s,n)),{key:2,class:"w-4 h-4"})):(e.openBlock(),e.createElementBlock("span",zt,"⋯"))],8,At)):Fn(s)?(e.openBlock(),e.createElementBlock("div",Rt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Hn(s),(k,S)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:S},[k==="icon"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(Le(n[s.key])),{key:0,class:"shifl-grid__type-icon"})):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(In(k))},e.toDisplayString(De(n[s.key],k,s)),3))],64))),128))])):Gn(s)?(e.openBlock(),e.createElementBlock("div",Gt,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(Le(n[s.key])),{class:"shifl-grid__type-icon"})),n.container_count!=null?(e.openBlock(),e.createElementBlock("span",Ft," ("+e.toDisplayString(n.container_count)+") ",1)):e.createCommentVNode("",!0)])):xn(s)?(e.openBlock(),e.createElementBlock("div",Ht,[e.createElementVNode("div",It,[e.createElementVNode("div",{ref_for:!0,ref:"(el) => setTagsRef(col.key, rowIndex, el as HTMLElement)",class:"shifl-grid__chips-container shifl-grid__chips-container--single-line"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ae(n[s.key],s.key,o),(k,S)=>(e.openBlock(),e.createElementBlock("span",{key:S,class:"shifl-grid__chip shifl-grid__chip--tag",style:e.normalizeStyle({borderLeftColor:Yn(k)})},e.toDisplayString(k),5))),128))],512)]),Jn(n[s.key],s.key,o)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"shifl-grid__counter-button",onMouseenter:k=>se(s.key,o,n[s.key],k.currentTarget),onMouseleave:ie}," +"+e.toDisplayString(qn(n[s.key],s.key,o)),41,Zt)):e.createCommentVNode("",!0)])):Rn(s)?(e.openBlock(),e.createElementBlock("div",Ot,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(O(n[s.key]),(k,S)=>(e.openBlock(),e.createElementBlock("span",{key:S,class:"shifl-grid__chip shifl-grid__chip--status"},e.toDisplayString(k),1))),128))])):s.truncate!==!1&&(s.truncate===!0||zn(s.key))?(e.openBlock(),e.createElementBlock("div",jt,[e.createElementVNode("span",{class:"shifl-grid__truncated-text",ref_for:!0,ref:k=>Kn(s.key,o,k)},e.toDisplayString(Zn(n[s.key])),513),le(s.key)&&jn(n[s.key])?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"shifl-grid__counter-button",onMouseenter:k=>se(s.key,o,n[s.key],k.currentTarget),onMouseleave:ie}," +"+e.toDisplayString(Wn(n[s.key])),41,Wt)):!le(s.key)&&On(n[s.key],s.key)?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"shifl-grid__info-icon-button",onMouseenter:k=>se(s.key,o,n[s.key],k.currentTarget),onMouseleave:ie},[e.createVNode(Et)],40,Kt)):e.createCommentVNode("",!0)])):s.cellType==="link"?(e.openBlock(),e.createElementBlock("a",{key:7,href:String(n[s.key]||""),class:"shifl-grid__link-cell",onClick:r[1]||(r[1]=e.withModifiers(()=>{},["stop"]))},e.toDisplayString(oe(n[s.key],s)),9,Ut)):s.cellType==="progress"?(e.openBlock(),e.createElementBlock("div",Jt,[e.createElementVNode("div",qt,[e.createElementVNode("div",{class:"shifl-grid__progress-fill",style:e.normalizeStyle({width:`${An(n[s.key])}%`})},null,4)]),e.createElementVNode("span",Yt,e.toDisplayString(oe(n[s.key],s)),1)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:9},[e.createTextVNode(e.toDisplayString(oe(n[s.key],s)),1)],64))],6))),128))]))),128))],64))])])],34),V.value&&V.value.show!==!1?(e.openBlock(),e.createElementBlock("div",Qt,[e.createElementVNode("div",Xt,[e.createElementVNode("span",vt,[r[7]||(r[7]=e.createTextVNode(" Showing ",-1)),e.createElementVNode("span",en,e.toDisplayString(Ee.value.from)+"–"+e.toDisplayString(Ee.value.to),1),e.createTextVNode(" of "+e.toDisplayString(ee.value),1)])]),e.createElementVNode("div",tn,[e.createElementVNode("div",nn,[r[9]||(r[9]=e.createElementVNode("label",{class:"shifl-grid__pagination-label"},"Row per page",-1)),e.createElementVNode("select",{value:V.value.perPage||20,disabled:z.value,onChange:Vn,class:"shifl-grid__pagination-select"},[...r[8]||(r[8]=[e.createStaticVNode('<option value="20">20</option><option value="30">30</option><option value="50">50</option><option value="75">75</option><option value="100">100</option>',5)])],40,rn)]),e.createElementVNode("div",on,[e.createElementVNode("button",{type:"button",class:"shifl-grid__pagination-button",disabled:we.value||u.loading,onClick:Nn,"aria-label":"Previous page"}," ‹ ",8,ln),e.createElementVNode("div",sn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Mn.value,n=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:n},[n!==-1?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(["shifl-grid__pagination-page",{"shifl-grid__pagination-page--active":n===x.value}]),disabled:z.value,onClick:o=>Sn(n)},e.toDisplayString(n),11,an)):(e.openBlock(),e.createElementBlock("span",cn,"…"))],64))),128))]),e.createElementVNode("button",{type:"button",class:"shifl-grid__pagination-button",disabled:Me.value||u.loading,onClick:Tn,"aria-label":"Next page"}," › ",8,dn)])])])):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.unref(P).rowIndex!==null&&e.unref(P).position?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"actionMenuRef",ref:Z,class:"shifl-grid__action-menu",style:e.normalizeStyle(`
|
|
1
|
+
(function(M,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(M=typeof globalThis<"u"?globalThis:M||self,e(M.ShiflGrid={},M.Vue))})(this,function(M,e){"use strict";function Ze(s){const o=(s.columns||[]).map(h=>({...h,freeze:h.freeze??!1,visible:h.visible??!0,protected:h.protected??!1})),u=s.apiConfig?"server":s.searchMode||"client";return{...s,columns:o,rows:s.rows??[],search:s.search??[],searchMode:u,filters:s.filters??[],paginationMeta:s.paginationMeta?{show:s.paginationMeta.show??!0,currentPage:s.paginationMeta.currentPage??1,perPage:s.paginationMeta.perPage??20,total:s.paginationMeta.total??0,from:s.paginationMeta.from,to:s.paginationMeta.to,...s.paginationMeta}:void 0}}function pe(s){const o=[...s],u=e.ref([...s]);function h(d){u.value=u.value.map(f=>f.key===d?{...f,visible:!f.visible}:f)}function c(d){u.value=u.value.map(f=>({...f,visible:d}))}function p(d){const f=u.value.map(b=>b.key===d?{...b,freeze:!b.freeze}:b),g=f.filter(b=>b.freeze),E=f.filter(b=>!b.freeze);u.value=[...g,...E]}function C(d,f){if(d===f||f<0||f>=u.value.length)return;const g=u.value.findIndex(m=>!m.freeze),E=g===-1?u.value.length:g;if(d<E||f<E)return;const b=[...u.value],[i]=b.splice(d,1);b.splice(f,0,i),u.value=b}function B(){u.value=[...o]}const _=e.computed(()=>u.value.filter(d=>d.visible));return{columns:u,visibleColumns:_,toggleColumnVisibility:h,setAllVisible:c,toggleFreeze:p,moveColumn:C,resetColumns:B}}function he(s){const o=e.ref(s);function u(c){var p;o.value=((p=o.value)==null?void 0:p.key)===c&&o.value.order==="asc"?{key:c,order:"desc"}:{key:c,order:"asc"}}function h(c){if(!o.value)return c;const{key:p,order:C}=o.value;return[...c].sort((B,_)=>{const d=B[p],f=_[p];if(d===f)return 0;if(d==null)return 1;if(f==null)return-1;const g=String(d).localeCompare(String(f),void 0,{numeric:!0});return C==="asc"?g:-g})}return{sort:o,setSort:u,applySort:h}}function ke(){function s(o,u,h){const c=(h||"").trim().toLowerCase();return c?o.filter(p=>(u&&u.length?u.map(B=>p[B]):Object.values(p)).some(B=>String(B??"").toLowerCase().includes(c))):o}return{applyGlobalFilter:s}}function Ke(){const s=e.ref({rowIndex:null,position:null});function o(p,C,B=200){const _=C.getBoundingClientRect();let d=_.left;d+B>window.innerWidth-8&&(d=window.innerWidth-B+8),s.value={rowIndex:p,position:{top:_.bottom,left:d}}}function u(){s.value={rowIndex:null,position:null}}function h(p){return s.value.rowIndex===p}function c(p){p.key==="Escape"&&s.value.rowIndex!==null&&u()}return e.onMounted(()=>{document.addEventListener("keydown",c)}),e.onUnmounted(()=>{document.removeEventListener("keydown",c)}),{menuState:s,openMenu:o,closeMenu:u,isMenuOpen:h}}function We(s,o){const u=e.ref(!1),h=e.ref(null),c=e.ref([]),p=e.ref(void 0);let C=null;function B(i){const m=new URLSearchParams;if(i.search&&m.append("search",i.search),i.page!==void 0&&m.append("page",String(i.page)),i.perPage!==void 0&&m.append("per_page",String(i.perPage)),i.sort&&(m.append("sort",i.sort.key),m.append("order",i.sort.order)),i.filters&&i.filters.length>0&&i.filters.forEach(y=>{if(y.value!==void 0&&y.value!==null&&y.value!==""){const w=`filters[${y.key}]`;Array.isArray(y.value)?y.value.forEach(S=>m.append(`${w}[]`,String(S))):m.append(w,String(y.value))}}),o!=null&&o.additionalParams){const y=typeof o.additionalParams=="function"?o.additionalParams(i):o.additionalParams;Object.entries(y).forEach(([w,S])=>{S!=null&&S!==""&&(Array.isArray(S)?S.forEach(N=>m.append(`${w}[]`,String(N))):m.append(w,String(S)))})}return m}function _(i){var m,y,w;return o!=null&&o.bodyBuilder?o.bodyBuilder(i):{search:i.search,page:i.page,per_page:i.perPage,sort:(m=i.sort)==null?void 0:m.key,order:(y=i.sort)==null?void 0:y.order,filters:(w=i.filters)==null?void 0:w.reduce((S,N)=>(N.value!==void 0&&N.value!==null&&N.value!==""&&(S[N.key]=N.value),S),{}),...typeof(o==null?void 0:o.additionalParams)=="function"?o.additionalParams(i):(o==null?void 0:o.additionalParams)||{}}}function d(){const i={"Content-Type":"application/json",...(o==null?void 0:o.headers)||{}};if(o!=null&&o.getAuthToken){const m=o.getAuthToken();m&&(i.Authorization=`Bearer ${m}`)}return i}function f(i){if(o!=null&&o.responseTransformer)return o.responseTransformer(i);const m=i;return{data:m.data||m.rows||[],meta:m.meta}}async function g(i){if(!s){h.value=new Error("API URL is required");return}u.value=!0,h.value=null;try{const m=(o==null?void 0:o.method)||"GET",y=d();let w=s,S;if(m==="GET"){const P=o!=null&&o.paramsBuilder?o.paramsBuilder(i):B(i);if(P instanceof URLSearchParams){const A=P.toString();w=A?`${s}?${A}`:s}else{const A=new URLSearchParams;Object.entries(P).forEach(([G,D])=>{D!=null&&D!==""&&(Array.isArray(D)?D.forEach(W=>A.append(`${G}[]`,String(W))):A.append(G,String(D)))});const F=A.toString();w=F?`${s}?${F}`:s}}else S=_(i);const N=await fetch(w,{method:m,headers:y,body:S?JSON.stringify(S):void 0});if(!N.ok)throw new Error(`API request failed: ${N.status} ${N.statusText}`);const X=await N.json(),K=f(X);c.value=K.data,p.value=K.meta}catch(m){h.value=m instanceof Error?m:new Error("Unknown error occurred"),c.value=[],p.value=void 0}finally{u.value=!1}}function E(i,m=!1){C&&(clearTimeout(C),C=null);const y=(o==null?void 0:o.debounceMs)??300;m||!i.search?g(i):C=setTimeout(()=>{g(i)},y)}function b(i){E(i,!0)}return{loading:e.computed(()=>u.value),error:e.computed(()=>h.value),data:e.computed(()=>c.value),paginationMeta:e.computed(()=>p.value),fetchData:g,fetchDataDebounced:E,refresh:b}}function ye(s,o){var _,d;const u=(o==null?void 0:o.search)||e.ref(void 0),h=(o==null?void 0:o.filters)||e.ref(s.filters),c=(o==null?void 0:o.sort)||e.ref(s.sort),p=(o==null?void 0:o.pagination)||e.ref({page:((_=s.paginationMeta)==null?void 0:_.currentPage)||1,perPage:((d=s.paginationMeta)==null?void 0:d.perPage)||20}),C=(o==null?void 0:o.extraState)||e.ref(void 0),B=(o==null?void 0:o.tabName)||e.ref(void 0);if(s.apiConfig&&s.searchMode==="server"){let f=function(){var m,y;return{search:u.value,filters:h.value,sort:c.value,page:(m=p.value)==null?void 0:m.page,perPage:(y=p.value)==null?void 0:y.perPage,extraState:C.value,tabName:B.value}},g=function(m){var y,w,S,N;return i?m.search!==i.search||m.page!==i.page||m.perPage!==i.perPage||m.tabName!==i.tabName||((y=m.sort)==null?void 0:y.key)!==((w=i.sort)==null?void 0:w.key)||((S=m.sort)==null?void 0:S.order)!==((N=i.sort)==null?void 0:N.order)||JSON.stringify(m.filters)!==JSON.stringify(i.filters)||JSON.stringify(m.extraState)!==JSON.stringify(i.extraState):!0};const E=We(s.apiConfig.apiUrl,s.apiConfig);let b=!1,i=null;return e.watch([u,h,c,p,C,B],()=>{if(b)return;const m=f();if(!g(m))return;i=m;const y=u.value!==void 0;E.fetchDataDebounced(m,!y)},{immediate:!0,deep:!0}),e.watch(E.paginationMeta,m=>{if(m&&p.value){const y=m.perPage||p.value.perPage;y!==p.value.perPage&&(b=!0,p.value.perPage=y,e.nextTick(()=>{b=!1}))}}),{rows:E.data,loading:E.loading,error:E.error,paginationMeta:E.paginationMeta,refresh:()=>{var y,w;const m={search:u.value,filters:h.value,sort:c.value,page:(y=p.value)==null?void 0:y.page,perPage:(w=p.value)==null?void 0:w.perPage,extraState:C.value,tabName:B.value};E.refresh(m)}}}return{rows:e.computed(()=>s.rows),loading:e.computed(()=>!1),error:e.computed(()=>null),paginationMeta:e.computed(()=>s.paginationMeta),refresh:()=>{}}}const Ue={class:"shifl-column-manager__header"},Je={class:"shifl-column-manager__title-wrapper"},qe={class:"shifl-column-manager__title"},Ye={key:0},Qe={key:1},Xe={class:"shifl-column-manager__controls"},ve={class:"shifl-column-manager__controls-left"},et={class:"shifl-column-manager__content"},tt={class:"shifl-column-manager__list"},nt=["draggable","onDragstart","onDragover","onDrop"],rt=["aria-label","disabled"],ot=["checked","disabled","onChange"],lt={class:"shifl-column-manager__label-text"},at={class:"shifl-column-manager__footer"},st=e.defineComponent({__name:"GridColumnManager",props:{titlePrefix:{},columns:{}},emits:["close","toggle","move","toggleFreeze","selectAll","deselectAll","restoreDefault"],setup(s,{emit:o}){const u=s,h=e.computed(()=>u.columns),c=o,p=e.ref(null);function C(d){var f,g;(f=u.columns[d])!=null&&f.freeze||(g=u.columns[d])!=null&&g.protected||(p.value=d)}function B(d){}function _(d){p.value===null||p.value===d||(c("move",p.value,d),p.value=null)}return(d,f)=>(e.openBlock(),e.createElementBlock("div",{class:"shifl-column-manager__backdrop",onClick:f[7]||(f[7]=e.withModifiers(g=>d.$emit("close"),["self"]))},[e.createElementVNode("div",{class:"shifl-column-manager__dialog",role:"dialog","aria-modal":"true",onClick:f[6]||(f[6]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("header",Ue,[e.createElementVNode("div",Je,[e.createElementVNode("h2",qe,[s.titlePrefix?(e.openBlock(),e.createElementBlock("span",Ye,e.toDisplayString(s.titlePrefix),1)):e.createCommentVNode("",!0),s.titlePrefix?(e.openBlock(),e.createElementBlock("span",Qe,">")):e.createCommentVNode("",!0),f[8]||(f[8]=e.createTextVNode("Edit Columns ",-1))])]),e.createElementVNode("button",{type:"button",class:"shifl-column-manager__close",onClick:f[0]||(f[0]=g=>d.$emit("close"))},[...f[9]||(f[9]=[e.createElementVNode("span",null,"✕",-1)])])]),e.createElementVNode("div",Xe,[e.createElementVNode("div",ve,[e.createElementVNode("button",{type:"button",class:"shifl-column-manager__link-button",onClick:f[1]||(f[1]=g=>d.$emit("selectAll"))}," Select All "),e.createElementVNode("button",{type:"button",class:"shifl-column-manager__link-button",onClick:f[2]||(f[2]=g=>d.$emit("deselectAll"))}," Deselect All ")]),e.createElementVNode("button",{type:"button",class:"shifl-column-manager__link-button shifl-column-manager__link-button--primary",onClick:f[3]||(f[3]=g=>d.$emit("restoreDefault"))}," Restore Default ")]),e.createElementVNode("div",et,[e.createElementVNode("ul",tt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(g,E)=>(e.openBlock(),e.createElementBlock("li",{key:g.key,class:e.normalizeClass(["shifl-column-manager__item",{"shifl-column-manager__item--disabled":g.freeze||g.protected}]),draggable:!g.freeze&&!g.protected,onDragstart:b=>C(E),onDragover:e.withModifiers(b=>void 0,["prevent"]),onDrop:e.withModifiers(b=>_(E),["prevent"])},[e.createElementVNode("button",{type:"button",class:e.normalizeClass(["shifl-column-manager__drag-handle",{"shifl-column-manager__drag-handle--disabled":g.freeze||g.protected}]),"aria-label":`Move ${g.label}`,disabled:g.freeze||g.protected},[...f[10]||(f[10]=[e.createElementVNode("span",null,"⋮⋮",-1)])],10,rt),e.createElementVNode("label",{class:e.normalizeClass(["shifl-column-manager__checkbox-label",{"shifl-column-manager__checkbox-label--disabled":g.freeze||g.protected}])},[e.createElementVNode("input",{type:"checkbox",class:"shifl-column-manager__checkbox",checked:g.visible,disabled:g.freeze||g.protected,onChange:b=>d.$emit("toggle",g.key)},null,40,ot),f[11]||(f[11]=e.createElementVNode("span",{class:"shifl-column-manager__checkbox-custom"},null,-1)),e.createElementVNode("span",lt,e.toDisplayString(g.label),1)],2)],42,nt))),128))])]),e.createElementVNode("footer",at,[e.createElementVNode("button",{type:"button",class:"shifl-column-manager__button shifl-column-manager__button--primary",onClick:f[4]||(f[4]=g=>d.$emit("close"))}," Update "),e.createElementVNode("button",{type:"button",class:"shifl-column-manager__button shifl-column-manager__button--secondary",onClick:f[5]||(f[5]=g=>d.$emit("close"))}," Cancel ")])])]))}}),H=(s,o)=>{const u=s.__vccOpts||s;for(const[h,c]of o)u[h]=c;return u},it=H(st,[["__scopeId","data-v-40ca0ed0"]]),ct={class:"shifl-grid__tooltip-content"},dt=["innerHTML"],ft=H(e.defineComponent({__name:"GridTooltip",props:{content:{},visible:{type:Boolean},triggerElement:{},isHtml:{type:Boolean}},setup(s){const o=s,u=e.ref(null),h=e.ref({}),c=e.computed(()=>o.content.includes(`
|
|
2
|
+
`)),p=e.computed(()=>c.value?o.content.split(`
|
|
3
|
+
`).filter(d=>d.trim().length>0):[]),C=e.ref("top"),B=e.ref({});function _(){if(!o.triggerElement||!u.value)return;const d=o.triggerElement.getBoundingClientRect(),f=u.value.getBoundingClientRect(),g=window.innerWidth,E=window.innerHeight;let b=d.bottom+8,i=d.left+window.scrollX;i+f.width>g-16&&(i=g-f.width-16),i<16&&(i=16),b+f.height>E-16?(b=d.top-f.height-8,C.value="bottom"):C.value="top",h.value={position:"fixed",top:`${b}px`,left:`${i}px`,zIndex:"10000"};const m=d.left+d.width/2-i;B.value={left:`${m}px`}}return e.watch(()=>o.visible,async d=>{d&&(await e.nextTick(),_())}),e.onMounted(()=>{o.visible&&e.nextTick(()=>_())}),e.onUnmounted(()=>{}),(d,f)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[s.visible?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"tooltipRef",ref:u,class:"shifl-grid__tooltip",style:e.normalizeStyle(h.value)},[e.createElementVNode("div",{class:e.normalizeClass(["shifl-grid__tooltip-arrow",C.value]),style:e.normalizeStyle(B.value)},null,6),e.createElementVNode("div",ct,[s.isHtml?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:s.content},null,8,dt)):c.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(p.value,(g,E)=>(e.openBlock(),e.createElementBlock("div",{key:E,class:"shifl-grid__tooltip-line"},e.toDisplayString(g),1))),128)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createTextVNode(e.toDisplayString(s.content),1)],64))])],4)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-239005f1"]]),ut={},mt={width:"14",height:"15",viewBox:"0 0 14 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:"shifl-smart-tracking-icon"};function gt(s,o){return e.openBlock(),e.createElementBlock("svg",mt,[...o[0]||(o[0]=[e.createElementVNode("path",{d:"M1.03223 9.27441C1.22778 9.27445 1.40954 9.32951 1.57812 9.43066L3.86523 10.8594C4.1957 11.0618 4.3916 11.4202 4.3916 11.8047C4.39151 12.189 4.19562 12.5467 3.86523 12.749L1.57812 14.1797C1.41642 14.2806 1.22754 14.334 1.03223 14.334V14.3408C0.465713 14.3408 0.000165713 13.8751 0 13.3086V10.3066C0.000236867 9.74022 0.465756 9.27443 1.03223 9.27441ZM1.01172 13.3018L3.3252 11.8916C3.32796 11.8884 3.3728 11.8374 3.37305 11.8047C3.37305 11.771 3.35218 11.737 3.3252 11.7168L1.03906 10.2871L1.01172 13.3018ZM6.07129 3.37305C6.35041 3.37318 6.5771 3.59977 6.57715 3.87891C6.57715 4.15809 6.35044 4.38463 6.07129 4.38477H5.05957C4.03708 4.38477 3.20433 5.06537 3.2041 5.90234C3.2041 6.73947 4.03694 7.4209 5.05957 7.4209H7.08301C8.66344 7.42096 9.95019 8.55525 9.9502 9.9502C9.95009 11.3451 8.66338 12.4794 7.08301 12.4795H6.07129C5.79202 12.4795 5.56543 12.2529 5.56543 11.9736C5.56548 11.6944 5.79205 11.4678 6.07129 11.4678H7.08301C8.10552 11.4677 8.93739 10.7872 8.9375 9.9502C8.93749 9.11311 8.10558 8.43267 7.08301 8.43262H5.05957C3.47908 8.43262 2.19238 7.29733 2.19238 5.90234C2.19259 4.50751 3.4792 3.37305 5.05957 3.37305H6.07129ZM10.7939 0C12.0694 0.000131868 13.2591 0.779675 13.7549 1.94043C14.6093 3.9666 13.0453 5.42741 11.9033 6.49316L11.8818 6.51367C11.7964 6.59308 11.711 6.67193 11.6289 6.75C11.4057 6.96444 11.1095 7.08195 10.7939 7.08203C10.4783 7.08203 10.1803 6.9642 9.95703 6.74902C9.86266 6.65937 9.76511 6.56666 9.66602 6.47363L9.66016 6.46875C8.53029 5.40836 6.98418 3.95585 7.83203 1.94238C8.32854 0.77953 9.51841 6.29203e-06 10.7939 0ZM10.7939 1.01172C9.91775 1.01173 9.10234 1.54537 8.76367 2.33789C8.22961 3.60525 9.04604 4.50453 10.3525 5.73145L10.4229 5.79688C10.5024 5.87104 10.5804 5.94604 10.6572 6.01953C10.7267 6.08617 10.861 6.08446 10.9277 6.02051L10.9307 6.01758C11.0223 5.93066 11.1172 5.84284 11.2129 5.75391C12.5356 4.51951 13.3612 3.61352 12.8223 2.33594C12.4849 1.54493 11.6691 1.0127 10.793 1.0127L10.7939 1.01172ZM10.7998 2.53027C11.1719 2.53041 11.4734 2.83199 11.4736 3.2041C11.4736 3.57637 11.172 3.87877 10.7998 3.87891C10.4275 3.87882 10.1221 3.57641 10.1221 3.2041C10.1223 2.8319 10.4207 2.53027 10.793 2.53027H10.7998Z",fill:"#05963F"},null,-1)])])}const pt=H(ut,[["render",gt]]),ht={},kt={width:"14",height:"10",viewBox:"0 0 14 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function yt(s,o){return e.openBlock(),e.createElementBlock("svg",kt,[...o[0]||(o[0]=[e.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M0 0.666667C0 0.298477 0.314186 2.98023e-08 0.701754 2.98023e-08H4.2807C4.66827 2.98023e-08 4.98246 0.298477 4.98246 0.666667C4.98246 1.03486 4.66827 1.33333 4.2807 1.33333H0.701754C0.314186 1.33333 0 1.03486 0 0.666667ZM10.0301 0.195262C10.3042 -0.0650874 10.7485 -0.0650874 11.0225 0.195262L13.1278 2.19526C13.4018 2.45561 13.4018 2.87772 13.1278 3.13807C12.8537 3.39842 12.4094 3.39842 12.1354 3.13807L11.2281 2.27614V8.66667C11.2281 9.03486 10.9139 9.33333 10.5263 9.33333C10.1387 9.33333 9.82456 9.03486 9.82456 8.66667V2.27614L8.91727 3.13807C8.64322 3.39842 8.19889 3.39842 7.92484 3.13807C7.65079 2.87772 7.65079 2.45561 7.92484 2.19526L10.0301 0.195262ZM0 4.66667C0 4.29848 0.314186 4 0.701754 4H5.61404C6.0016 4 6.31579 4.29848 6.31579 4.66667C6.31579 5.03486 6.0016 5.33333 5.61404 5.33333H0.701754C0.314186 5.33333 0 5.03486 0 4.66667ZM0 8.66667C0 8.29848 0.314186 8 0.701754 8H7.01754C7.40511 8 7.7193 8.29848 7.7193 8.66667C7.7193 9.03486 7.40511 9.33333 7.01754 9.33333H0.701754C0.314186 9.33333 0 9.03486 0 8.66667Z",fill:"#1A6D9E"},null,-1)])])}const _t=H(ht,[["render",yt]]),bt={},Ct={width:"14",height:"10",viewBox:"0 0 14 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Bt(s,o){return e.openBlock(),e.createElementBlock("svg",Ct,[...o[0]||(o[0]=[e.createElementVNode("path",{d:"M4.28125 8C4.66872 8.00011 4.98242 8.29887 4.98242 8.66699C4.98242 9.03511 4.66872 9.33387 4.28125 9.33398H0.702148C0.314581 9.33398 8.1338e-07 9.03518 0 8.66699C0 8.2988 0.31458 8 0.702148 8H4.28125ZM10.5264 0C10.9139 0 11.2285 0.298802 11.2285 0.666992V7.05762L12.1357 6.19531C12.4097 5.93519 12.8539 5.93524 13.1279 6.19531C13.402 6.45566 13.402 6.87832 13.1279 7.13867L11.0225 9.13867C10.7484 9.39867 10.3042 9.39886 10.0303 9.13867L7.9248 7.13867C7.65082 6.87834 7.65082 6.45565 7.9248 6.19531C8.19886 5.93496 8.64392 5.93496 8.91797 6.19531L9.8252 7.05762V0.666992C9.8252 0.298891 10.1389 0.000143144 10.5264 0ZM5.61426 4C6.00183 4 6.31641 4.2988 6.31641 4.66699C6.31641 5.03518 6.00183 5.33398 5.61426 5.33398H0.702148C0.314581 5.33398 6.77817e-07 5.03518 0 4.66699C0 4.2988 0.31458 4 0.702148 4H5.61426ZM7.01758 0C7.40515 0 7.71973 0.298802 7.71973 0.666992C7.71973 1.03518 7.40515 1.33398 7.01758 1.33398H0.702148C0.31458 1.33398 5.42254e-07 1.03518 0 0.666992C0 0.298802 0.31458 0 0.702148 0H7.01758Z",fill:"#1A6D9E"},null,-1)])])}const Et=H(bt,[["render",Bt]]),St={},Mt={width:"21",height:"13",viewBox:"0 0 21 13",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function wt(s,o){return e.openBlock(),e.createElementBlock("svg",Mt,[...o[0]||(o[0]=[e.createElementVNode("path",{d:"M19.6426 4.61523C19.9311 4.61524 20.1317 4.90139 20.0342 5.17285L17.499 12.2246C17.4395 12.3899 17.2821 12.5 17.1064 12.5H1.5459C1.35628 12.5 1.19044 12.3719 1.14258 12.1885L0.0136719 7.83887C-0.0548101 7.575 0.14438 7.31738 0.416992 7.31738H12.6016L14.71 4.61523H19.6426ZM3.51465 8.82324C3.11322 8.82324 2.78728 9.15265 2.78711 9.55859C2.78711 9.96468 3.11312 10.2939 3.51465 10.2939C3.9161 10.2938 4.24121 9.96462 4.24121 9.55859C4.24104 9.15271 3.91599 8.82334 3.51465 8.82324ZM7.87695 8.82324C7.47553 8.82324 7.14958 9.15265 7.14941 9.55859C7.14941 9.96468 7.47542 10.2939 7.87695 10.2939C8.27846 10.2939 8.60352 9.96466 8.60352 9.55859C8.60335 9.15267 8.27835 8.82327 7.87695 8.82324ZM12.2393 8.82324C11.8378 8.82324 11.5119 9.15265 11.5117 9.55859C11.5117 9.96468 11.8377 10.2939 12.2393 10.2939C12.6407 10.2938 12.9658 9.96458 12.9658 9.55859C12.9657 9.15275 12.6405 8.82341 12.2393 8.82324ZM10.3291 3.67676C10.5591 3.67679 10.7459 3.86283 10.7461 4.09277V5.46582C10.746 5.69585 10.5591 5.88278 10.3291 5.88281H1.75C1.51993 5.88281 1.33309 5.69587 1.33301 5.46582V4.09277C1.3332 3.86282 1.52 3.67676 1.75 3.67676H10.3291ZM8.91406 0C9.14418 0 9.33105 0.186874 9.33105 0.416992V1.78906C9.33105 2.01918 9.14418 2.20605 8.91406 2.20605H3.2041C2.97398 2.20605 2.78711 2.01918 2.78711 1.78906V0.416992C2.78711 0.186874 2.97398 1.52829e-06 3.2041 0H8.91406Z",fill:"#9CA5B4"},null,-1)])])}const _e=H(St,[["render",wt]]),Nt={},Tt={width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Vt(s,o){return e.openBlock(),e.createElementBlock("svg",Tt,[...o[0]||(o[0]=[e.createElementVNode("path",{d:"M7.99976 0.799561C11.9761 0.799561 15.1998 4.0234 15.2 7.99976C15.2 11.9762 11.9762 15.2 7.99976 15.2C4.0234 15.1998 0.799561 11.9761 0.799561 7.99976C0.799666 4.02346 4.02346 0.799666 7.99976 0.799561ZM7.99976 1.87964C4.61984 1.87974 1.87974 4.61984 1.87964 7.99976C1.87964 11.3798 4.61977 14.1198 7.99976 14.1199C11.3798 14.1199 14.1199 11.3798 14.1199 7.99976C14.1198 4.61977 11.3798 1.87964 7.99976 1.87964ZM7.9978 6.91968C8.27087 6.91973 8.49698 7.12223 8.53296 7.3855L8.53784 7.45874L8.53979 11.4197C8.5399 11.7178 8.29882 11.9595 8.00073 11.9597C7.72754 11.9599 7.50169 11.7572 7.46558 11.4939L7.46069 11.4207L7.45776 7.45972C7.45757 7.16153 7.69962 6.91987 7.9978 6.91968ZM8.00073 4.40112C8.39742 4.40137 8.71923 4.72319 8.71948 5.11987C8.71948 5.51677 8.39757 5.83935 8.00073 5.8396C7.60368 5.8396 7.28101 5.51692 7.28101 5.11987C7.28126 4.72304 7.60384 4.40112 8.00073 4.40112Z",fill:"#69758C"},null,-1)])])}const Pt=H(Nt,[["render",Vt]]),$t={class:"shifl-grid relative"},Lt={class:"shifl-grid__controls"},Dt={class:"shifl-grid__table"},At=["onClick"],zt={class:"shifl-grid__header-content"},Ht={key:0,class:"shifl-grid__header-label"},Rt={key:1,class:"shifl-grid__sort-icon"},xt={key:0},Ft=["colspan"],Gt={key:0,class:"shifl-grid__smart-tracking-icon"},It=["onClick"],Ot={key:0},jt=["innerHTML"],Zt={key:2,class:"shifl-grid__composite-cell"},Kt={key:3,class:"shifl-grid__type-cell"},Wt={key:0,class:"shifl-grid__container-badge"},Ut={key:0,class:"shifl-grid__cell-blank"},Jt={key:1,class:"shifl-grid__tags-cell"},qt={class:"shifl-grid__tags-wrapper"},Yt=["onMouseenter"],Qt={key:5,class:"shifl-grid__chips-container"},Xt={key:6,class:"shifl-grid__truncated-cell"},vt=["onMouseenter"],en=["onMouseenter"],tn=["href"],nn={key:8,class:"shifl-grid__progress-cell"},rn={class:"shifl-grid__progress-bar"},on={class:"shifl-grid__progress-text"},ln={key:0,class:"shifl-grid__pagination"},an={class:"shifl-grid__pagination-left"},sn={class:"shifl-grid__pagination-range"},cn={class:"shifl-grid__pagination-range-numbers"},dn={class:"shifl-grid__pagination-right"},fn={class:"shifl-grid__pagination-rows"},un=["value","disabled"],mn={class:"shifl-grid__pagination-nav"},gn=["disabled"],pn={class:"shifl-grid__pagination-pages"},hn=["disabled","onClick"],kn={key:1,class:"shifl-grid__pagination-ellipsis"},yn=["disabled"],_n=["onClick"],bn=["innerHTML"],be=e.defineComponent({__name:"ShiflGrid",props:{config:{},search:{},loading:{type:Boolean}},emits:["action-click","search-change","pagination-change"],setup(s,{emit:o}){var Oe,je;const u=s,h=o,c=e.computed(()=>Ze(u.config)),p=e.ref(u.search),C=e.ref(c.value.filters),B=e.ref(c.value.sort),_=e.ref({page:((Oe=c.value.paginationMeta)==null?void 0:Oe.currentPage)||1,perPage:((je=c.value.paginationMeta)==null?void 0:je.perPage)||20}),d=ye(c.value,{search:p,filters:C,sort:B,pagination:_}),f=e.computed(()=>c.value.columns.filter(t=>!t.smartTrackingColumn)),{columns:g,visibleColumns:E,toggleColumnVisibility:b,setAllVisible:i,toggleFreeze:m,moveColumn:y,resetColumns:w}=pe(f.value),{sort:S,setSort:N,applySort:X}=he(c.value.sort),{applyGlobalFilter:K}=ke(),{menuState:P,openMenu:A,closeMenu:F}=Ke(),G=e.ref(!1),D=e.ref({}),W=e.ref(null),Ee=e.ref(null),v=e.ref(null),ee=e.ref(!1),Se=e.ref(""),te=e.ref(null),ne=e.ref(!1),Pn=e.ref({});e.ref({});const I=e.ref({});e.watch(()=>c.value.filters,t=>{C.value=t},{deep:!0}),e.watch(()=>c.value.paginationMeta,t=>{c.value.searchMode!=="server"&&t&&_.value&&(_.value.page=t.currentPage||_.value.page,_.value.perPage=t.perPage||_.value.perPage)},{deep:!0}),e.watch(()=>c.value.columns,t=>{const n=t.filter(r=>!r.smartTrackingColumn);g.value=[...n]},{deep:!0}),e.watch(()=>c.value.sort,t=>{t&&(S.value=t,B.value=t)},{deep:!0}),e.watch(()=>u.search,(t,n)=>{var r;if(p.value=t,c.value.searchMode==="server")h("search-change",t||"");else if(c.value.searchMode==="client"&&t!==n){const l=((r=V.value)==null?void 0:r.perPage)||20;_.value={page:1,perPage:l},h("pagination-change",1,l)}},{immediate:!0}),e.watch(()=>S.value,t=>{B.value=t});const Me=e.computed(()=>d.rows.value||[]),re=e.computed(()=>{if((c.value.searchMode||"client")==="server")return Me.value;const n=u.search||"";return K(Me.value,c.value.search,n)}),oe=e.computed(()=>{var n;return(c.value.searchMode||"client")==="client"?re.value.length:((n=d.paginationMeta.value)==null?void 0:n.total)||0}),le=e.computed(()=>(c.value.searchMode||"client")==="server"?re.value:X(re.value)),we=e.computed(()=>{if((c.value.searchMode||"client")==="server")return le.value;const n=V.value;if(!n||!n.show)return le.value;const r=n.perPage||20,a=((n.currentPage||1)-1)*r,k=a+r;return le.value.slice(a,k)}),V=e.computed(()=>{var t;return c.value.searchMode==="server"&&d.paginationMeta.value?{show:!0,...d.paginationMeta.value,currentPage:((t=_.value)==null?void 0:t.page)||d.paginationMeta.value.currentPage||1}:c.value.paginationMeta}),R=e.computed(()=>u.loading!==void 0?u.loading:d.loading.value),$n=e.computed(()=>{var t;return((t=V.value)==null?void 0:t.perPage)===100}),Ln=e.computed(()=>{var t;return((t=V.value)==null?void 0:t.perPage)||10}),Ne=e.computed(()=>{const t=V.value;if(!t||t.show===!1)return{from:0,to:0};const n=oe.value,r=t.perPage||20,l=t.currentPage||1;if((c.value.searchMode||"client")==="server"&&t.from!==void 0&&t.to!==void 0)return{from:t.from,to:t.to};const k=(l-1)*r+1,T=Math.min(l*r,n);return n===0?{from:0,to:0}:{from:k,to:T}}),x=e.computed(()=>{var t;return((t=V.value)==null?void 0:t.currentPage)||1}),ae=e.computed(()=>{const t=V.value;if(!t||t.show===!1)return 1;const n=oe.value;if(n===0)return 1;const r=t.perPage||20,l=Math.ceil(n/r);return Math.max(1,l)}),Te=e.computed(()=>x.value<=1),Ve=e.computed(()=>x.value>=ae.value),Dn=e.computed(()=>{const t=ae.value,n=x.value,r=[];if(t<=7)for(let l=1;l<=t;l++)r.push(l);else if(n<=4){for(let l=1;l<=5;l++)r.push(l);r.push(-1),r.push(t)}else if(n>=t-3){r.push(1),r.push(-1);for(let l=t-4;l<=t;l++)r.push(l)}else{r.push(1),r.push(-1);for(let l=n-1;l<=n+1;l++)r.push(l);r.push(-1),r.push(t)}return r});function An(t){var r;if(t<1||t>ae.value||t===x.value||R.value)return;const n=((r=V.value)==null?void 0:r.perPage)||20;_.value={page:t,perPage:n},h("pagination-change",t,n)}function zn(){var r;if(Te.value||R.value)return;const t=((r=V.value)==null?void 0:r.perPage)||20,n=x.value-1;_.value={page:n,perPage:t},h("pagination-change",n,t)}function Hn(){var r;if(Ve.value||R.value)return;const t=((r=V.value)==null?void 0:r.perPage)||20,n=x.value+1;_.value={page:n,perPage:t},h("pagination-change",n,t)}function Rn(t){var l;if(R.value)return;const n=t.target,r=parseInt(n.value,10);r&&r!==(((l=V.value)==null?void 0:l.perPage)||20)&&(_.value={page:1,perPage:r},h("pagination-change",1,r))}const xn=e.computed(()=>{const t=c.value.columns.find(r=>r.smartTrackingColumn);if(!(t!=null&&t.smartTrackingColumn))return!1;const n=t.smartTrackingColumn.dataKey;return c.value.rows.some(r=>{const l=r[n];return l===!0||l===1||l==="true"||l==="1"})}),se=e.computed(()=>c.value.columns.find(t=>t.smartTrackingColumn)),O=e.computed(()=>{var r;const t=E.value.filter(l=>!l.smartTrackingColumn);if(xn.value&&se.value){const l={key:"_smart_tracking",label:"",order:-1,freeze:!0,visible:!0,protected:!0,sortable:!1,width:((r=se.value.smartTrackingColumn)==null?void 0:r.width)||"36px",smartTrackingColumn:se.value.smartTrackingColumn,cellType:"icon"},a=t.findIndex(k=>k.key==="ref");a>=0?t.splice(a,0,l):t.unshift(l)}const n=t.find(l=>l.key==="ref");return n&&(n.freeze=!0,n.protected=!0),t}),Fn=e.computed(()=>{let t=0;const n={};for(const r of O.value){r.freeze&&(n[r.key]=t);const l=parseInt(r.width??"160",10);Number.isNaN(l)||(t+=l)}return n}),Pe=e.ref(0);function Gn(t){const n=t.target;Pe.value=n.scrollLeft}function In(t){const n=g.value.find(r=>r.key===t);!(n!=null&&n.sortable)||q(n)||ge(n)||N(t)}function ie(t,n){if(t==null||t===""||t===void 0)return U(n.blankStyle);const r=n.cellType;if(Array.isArray(r)){const l=r.find(a=>typeof a=="string"&&a!=="icon");return l&&typeof l=="string"?Re(t,l,n):""}if(!r)return typeof t=="object"?JSON.stringify(t):String(t);switch(r){case"number":return $e(t);case"currency":return Le(t);case"date":return De(t);case"boolean":return Ae(t);case"text":default:return typeof t=="object"?JSON.stringify(t):String(t)}}function U(t){switch(t){case"dash":return"--";case"zero":return"0";case"na":return"N/A";case"empty":default:return""}}function $e(t){if(typeof t=="number")return t.toLocaleString();const n=Number(t);return Number.isNaN(n)?String(t):n.toLocaleString()}function Le(t){if(typeof t=="number")return new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(t);const n=Number(t);return Number.isNaN(n)?String(t):new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}).format(n)}function De(t){if(t instanceof Date)return t.toLocaleDateString();if(typeof t=="string"){const n=new Date(t);if(!Number.isNaN(n.getTime()))return n.toLocaleDateString()}return String(t)}function Ae(t){return typeof t=="boolean"?t?"Yes":"No":t===1||t==="1"||t==="true"||t==="True"?"Yes":t===0||t==="0"||t==="false"||t==="False"?"No":String(t)}function On(t){if(typeof t=="number")return Math.min(100,Math.max(0,t));const n=Number(t);return Number.isNaN(n)?0:Math.min(100,Math.max(0,n))}function ze(t){return typeof t=="string"&&t.toLowerCase()==="ocean",_e}function jn(t){const n=t.toLowerCase();return["supplier","suppliers","po","pos","product_description"].includes(n)}function He(t){if(t.cellType==="badge")return!0;const n=t.key.toLowerCase();return n==="tag"||n==="tags"}function Zn(t){return t.cellType==="status"?!0:t.key.toLowerCase()==="status"}function Kn(t){return t.cellType==="icon"?!0:t.key.toLowerCase()==="type"}function Wn(t){return Array.isArray(t.cellType)&&t.cellType.length>0}function Un(t){return Array.isArray(t.cellType)?t.cellType.filter(n=>typeof n=="string"):t.cellType&&typeof t.cellType=="string"?[t.cellType]:[]}function Re(t,n,r){if(t==null||t===""||t===void 0)return U(r.blankStyle);switch(n){case"number":return $e(t);case"currency":return Le(t);case"date":return De(t);case"boolean":return Ae(t);case"text":default:return typeof t=="object"?JSON.stringify(t):String(t)}}function Jn(t){return{number:"shifl-grid__composite-number",currency:"shifl-grid__composite-currency",date:"shifl-grid__composite-date",boolean:"shifl-grid__composite-boolean",text:"shifl-grid__composite-text"}[t]||"shifl-grid__composite-text"}function qn(t,n){if(t==null||t==="")return U(n.blankStyle);if(Array.isArray(t)){if(t.length===0)return"";const r=t.join(", ");return xe(r,45)}return typeof t=="string"?xe(t,45):String(t)}function xe(t,n){return t.length<=n?t:t.substring(0,n)+"..."}function ce(t){const n=t.toLowerCase();return["po","pos","supplier","suppliers","tag","tags"].includes(n)}function Yn(t,n){return t==null||ce(n)?!1:Array.isArray(t)?t.length===0?!1:t.join(", ").length>30:typeof t=="string"?t.length>30:!1}function Qn(t){return t==null?!1:Array.isArray(t)?t.length===0?!1:t.join(", ").length>45:typeof t=="string"?t.length>45:!1}function Xn(t){if(t==null)return 0;if(Array.isArray(t)){if(t.length===0||t.join(", ").length<=45)return 0;let r=0,l=0;for(let a=0;a<t.length;a++){const k=String(t[a]),$=(a>0?", ":"").length+k.length;if(r+$<=45)r+=$,l++;else break}return t.length-l}return typeof t=="string"&&t.length>45?1:0}function de(t,n,r,l){let a="",k=!1;const T=O.value.find($=>$.key===t);if(T&&He(T)){const $=Fe(r);$.length>0&&(k=!0,a=$.map(z=>`<span class="shifl-grid__tooltip-badge" style="border-left-color: ${Ge(z)} !important">${z.name}</span>`).join(""))}else Array.isArray(r)?r.length>0&&(a=r.join(`
|
|
4
|
+
`)):r!=null&&(a=String(r));Se.value=a,ne.value=k,te.value=l,ee.value=!0}function fe(){ee.value=!1,te.value=null,ne.value=!1}function vn(t,n,r){r&&(Pn.value[`${t}-${n}`]=r)}function J(t){return t==null?[]:Array.isArray(t)?t.map(n=>typeof n=="object"&&n!==null&&"name"in n?String(n.name):String(n)).filter(n=>n.length>0):typeof t=="string"?t.split(",").map(n=>n.trim()).filter(n=>n.length>0):[String(t)]}function Fe(t){return t==null?[]:Array.isArray(t)?t.map(n=>typeof n=="object"&&n!==null&&"name"in n?{name:String(n.name),color:"color"in n?String(n.color):void 0}:{name:String(n),color:void 0}).filter(n=>n.name.length>0):typeof t=="string"?t.split(",").map(n=>n.trim()).filter(n=>n.length>0).map(n=>({name:n,color:void 0})):[{name:String(t),color:void 0}]}function ue(t,n,r){const l=J(t);if(l.length===0)return[];const a=`${n}-${r}`;if(I.value[a])return I.value[a];const k=130,T=8,$=4;let z=0;const L=[];for(const j of l){const Z=j.length*8+T+$;if(z+Z>k&&L.length>0)break;L.push(j),z+=Z}return I.value[a]=L,L}function er(t,n,r){const l=Fe(t);if(l.length===0)return[];const a=`${n}-${r}-objects`;if(I.value[a])return I.value[a];const k=130,T=8,$=4;let z=0;const L=[];for(const j of l){const Z=j.name.length*8+T+$;if(z+Z>k&&L.length>0)break;L.push(j),z+=Z}return I.value[a]=L,L}function tr(t,n,r){const l=J(t),a=ue(t,n,r);return l.length>a.length}function nr(t,n,r){const l=J(t),a=ue(t,n,r);return l.length-a.length}function rr(t){const n=t.toLowerCase(),r={"high priority":"var(--shifl-color-error-r70)",express:"var(--shifl-color-primary-b80)",fragile:"var(--shifl-color-warning-o70)","temperature controlled":"var(--shifl-color-primary-b70)","customs clearance required":"var(--shifl-color-accent-p80)","insurance required":"var(--shifl-color-primary-b90)","special handling":"var(--shifl-color-warning-o80)","urgent delivery":"var(--shifl-color-error-r80)",normal:"var(--shifl-color-neutral-n60)",low:"var(--shifl-color-neutral-n50)"};if(r[n])return r[n];for(const[l,a]of Object.entries(r))if(n.includes(l)||l.includes(n))return a;return or(t)}function Ge(t){return t.color&&t.color!==""?t.color:rr(t.name)}function or(t){let n=0;for(let l=0;l<t.length;l++)n=t.charCodeAt(l)+((n<<5)-n);const r=["var(--shifl-color-primary-b80)","var(--shifl-color-success-g70)","var(--shifl-color-warning-o70)","var(--shifl-color-error-r70)","var(--shifl-color-accent-p80)","var(--shifl-color-primary-b70)","var(--shifl-color-success-g60)","var(--shifl-color-warning-o60)"];return r[Math.abs(n)%r.length]}function me(t,n=!0){const l={...{width:t.width??"160px",minWidth:t.width??"160px"}},a=Pe.value>0;if(t.freeze){const k=Fn.value[t.key]??0;l.position="sticky",l.left=`${k}px`,l.background="#ffffff",l.boxShadow=a?"2px 0 6px rgba(0, 0, 0, 0.12)":"none",l.zIndex=n?40:10}return n&&(l.position="sticky",l.top="0px"),l}const lr=e.computed(()=>g.value.filter(t=>!t.smartTrackingColumn));function q(t){return!!t.actionColumn}function ge(t){return!!t.smartTrackingColumn}function ar(t,n){if(!t.smartTrackingColumn)return!1;const r=t.smartTrackingColumn.dataKey,l=n[r];if(l===!0||l===1)return!0;if(typeof l=="string"){const a=l.toLowerCase().trim();return a==="true"||a==="1"||a==="yes"}return!1}function Y(t,n){if(!t.actionColumn)return null;const r=t.actionColumn.icon;return r?typeof r=="function"?r(n):r:null}function sr(t,n,r,l){if(!r.actionColumn)return;const a=l.currentTarget;if(P.value.rowIndex===t){F();return}Ee.value=r,v.value=n,A(t,a)}function ir(t,n){return!(t!=null&&t.actionColumn)||!n?[]:(typeof t.actionColumn.actions=="function"?t.actionColumn.actions(n):t.actionColumn.actions).filter(l=>l.show?l.show(n):!0)}function cr(t,n,r){h("action-click",t.key,n,r),F()}function dr(t,n){n&&(D.value[t]=n)}function Ie(t){if(P.value.rowIndex===null)return;const n=t.target,r=W.value,l=Object.values(D.value),a=r==null?void 0:r.contains(n),k=l.some(T=>T.contains(n));!a&&!k&&F()}return e.onMounted(()=>{document.addEventListener("click",Ie)}),e.onUnmounted(()=>{document.removeEventListener("click",Ie)}),(t,n)=>(e.openBlock(),e.createElementBlock("div",$t,[e.createElementVNode("div",Lt,[e.createElementVNode("button",{type:"button",class:"shifl-grid__pill-button whitespace-nowrap",onClick:n[0]||(n[0]=r=>G.value=!0)}," Edit Column ")]),e.createElementVNode("div",{class:e.normalizeClass(["shifl-grid__viewport",{"shifl-grid__viewport--scroll":$n.value}]),onScroll:Gn},[e.createElementVNode("table",Dt,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(O.value,r=>{var l;return e.openBlock(),e.createElementBlock("th",{key:r.key,style:e.normalizeStyle(me(r,!0)),onClick:()=>In(r.key),class:e.normalizeClass(["shifl-grid__header-cell",`shifl-grid__header-align-${r!=null&&r.align?r.align:"left"}`,{"shifl-grid__cell--sticky":r.freeze,"shifl-grid__sortable-col":r.sortable,"shifl-grid__icon":r.cellType==="icon"}])},[e.createElementVNode("div",zt,[r.label?(e.openBlock(),e.createElementBlock("span",Ht,e.toDisplayString(r.label),1)):e.createCommentVNode("",!0),((l=e.unref(S))==null?void 0:l.key)===r.key&&!q(r)&&!ge(r)?(e.openBlock(),e.createElementBlock("span",Rt,[e.unref(S).order==="asc"?(e.openBlock(),e.createBlock(_t,{key:0})):(e.openBlock(),e.createBlock(Et,{key:1}))])):e.createCommentVNode("",!0)])],14,At)}),128))])]),e.createElementVNode("tbody",null,[R.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Ln.value,r=>(e.openBlock(),e.createElementBlock("tr",{key:`skeleton-${r}`,class:"shifl-grid__skeleton-row"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(O.value,l=>(e.openBlock(),e.createElementBlock("td",{key:l.key,style:e.normalizeStyle(me(l,!1)),class:e.normalizeClass({"shifl-grid__cell--sticky":l.freeze})},[...n[6]||(n[6]=[e.createElementVNode("div",{class:"shifl-grid__skeleton-cell"},null,-1)])],6))),128))]))),128)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[we.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("tr",xt,[e.createElementVNode("td",{colspan:O.value.length,class:"text-center text-gray-500 py-6"}," No data ",8,Ft)])),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(we.value,(r,l)=>(e.openBlock(),e.createElementBlock("tr",{key:l},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(O.value,a=>(e.openBlock(),e.createElementBlock("td",{key:a.key,style:e.normalizeStyle(me(a,!1)),class:e.normalizeClass([{"shifl-grid__cell--sticky":a.freeze},{"shifl-grid__cell--action":q(a)},`shifl-grid__cell-align-${a!=null&&a.align?a.align:"left"}`,{"shifl-grid__icon":a.cellType==="icon"}])},[ge(a)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[ar(a,r)?(e.openBlock(),e.createElementBlock("div",Gt,[e.createVNode(pt)])):e.createCommentVNode("",!0)],64)):q(a)?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"shifl-grid__action-icon",ref_for:!0,ref:k=>dr(l,k),onClick:e.withModifiers(k=>sr(l,r,a,k),["stop"])},[Y(a,r)?typeof Y(a,r)=="string"?(e.openBlock(),e.createElementBlock("span",{key:1,innerHTML:Y(a,r),class:"w-4 h-4 inline-block"},null,8,jt)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(Y(a,r)),{key:2,class:"w-4 h-4"})):(e.openBlock(),e.createElementBlock("span",Ot,"⋯"))],8,It)):Wn(a)?(e.openBlock(),e.createElementBlock("div",Zt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Un(a),(k,T)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:T},[k==="icon"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(ze(r[a.key])),{key:0,class:"shifl-grid__type-icon"})):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(Jn(k))},e.toDisplayString(Re(r[a.key],k,a)),3))],64))),128))])):Kn(a)?(e.openBlock(),e.createElementBlock("div",Kt,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(ze(r[a.key])),{class:"shifl-grid__type-icon"})),r.container_count!=null?(e.openBlock(),e.createElementBlock("span",Wt," ("+e.toDisplayString(r.container_count)+") ",1)):e.createCommentVNode("",!0)])):He(a)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[r[a.key]==null||ue(r[a.key],a.key,l).length===0?(e.openBlock(),e.createElementBlock("div",Ut,e.toDisplayString(U(a.blankStyle)),1)):(e.openBlock(),e.createElementBlock("div",Jt,[e.createElementVNode("div",qt,[e.createElementVNode("div",{ref_for:!0,ref:"(el) => setTagsRef(col.key, rowIndex, el as HTMLElement)",class:"shifl-grid__chips-container shifl-grid__chips-container--single-line"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(er(r[a.key],a.key,l),(k,T)=>(e.openBlock(),e.createElementBlock("span",{key:T,class:"shifl-grid__chip shifl-grid__chip--tag",style:e.normalizeStyle({borderLeftColor:Ge(k)})},e.toDisplayString(k.name),5))),128))],512)]),tr(r[a.key],a.key,l)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"shifl-grid__counter-button",onMouseenter:k=>de(a.key,l,r[a.key],k.currentTarget),onMouseleave:fe}," +"+e.toDisplayString(nr(r[a.key],a.key,l)),41,Yt)):e.createCommentVNode("",!0)]))],64)):Zn(a)?(e.openBlock(),e.createElementBlock("div",Qt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(J(r[a.key]),(k,T)=>(e.openBlock(),e.createElementBlock("span",{key:T,class:"shifl-grid__chip shifl-grid__chip--status"},e.toDisplayString(k),1))),128))])):a.truncate!==!1&&(a.truncate===!0||jn(a.key))?(e.openBlock(),e.createElementBlock("div",Xt,[e.createElementVNode("span",{class:"shifl-grid__truncated-text",ref_for:!0,ref:k=>vn(a.key,l,k)},e.toDisplayString(qn(r[a.key],a)),513),ce(a.key)&&Qn(r[a.key])?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"shifl-grid__counter-button",onMouseenter:k=>de(a.key,l,r[a.key],k.currentTarget),onMouseleave:fe}," +"+e.toDisplayString(Xn(r[a.key])),41,vt)):!ce(a.key)&&Yn(r[a.key],a.key)?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"shifl-grid__info-icon-button",onMouseenter:k=>de(a.key,l,r[a.key],k.currentTarget),onMouseleave:fe},[e.createVNode(Pt)],40,en)):e.createCommentVNode("",!0)])):a.cellType==="link"?(e.openBlock(),e.createElementBlock("a",{key:7,href:String(r[a.key]||""),class:"shifl-grid__link-cell",onClick:n[1]||(n[1]=e.withModifiers(()=>{},["stop"]))},e.toDisplayString(ie(r[a.key],a)),9,tn)):a.cellType==="progress"?(e.openBlock(),e.createElementBlock("div",nn,[e.createElementVNode("div",rn,[e.createElementVNode("div",{class:"shifl-grid__progress-fill",style:e.normalizeStyle({width:`${On(r[a.key])}%`})},null,4)]),e.createElementVNode("span",on,e.toDisplayString(ie(r[a.key],a)),1)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:9},[e.createTextVNode(e.toDisplayString(ie(r[a.key],a)),1)],64))],6))),128))]))),128))],64))])])],34),V.value&&V.value.show!==!1?(e.openBlock(),e.createElementBlock("div",ln,[e.createElementVNode("div",an,[e.createElementVNode("span",sn,[n[7]||(n[7]=e.createTextVNode(" Showing ",-1)),e.createElementVNode("span",cn,e.toDisplayString(Ne.value.from)+"–"+e.toDisplayString(Ne.value.to),1),e.createTextVNode(" of "+e.toDisplayString(oe.value),1)])]),e.createElementVNode("div",dn,[e.createElementVNode("div",fn,[n[9]||(n[9]=e.createElementVNode("label",{class:"shifl-grid__pagination-label"},"Row per page",-1)),e.createElementVNode("select",{value:V.value.perPage||20,disabled:R.value,onChange:Rn,class:"shifl-grid__pagination-select"},[...n[8]||(n[8]=[e.createStaticVNode('<option value="20">20</option><option value="30">30</option><option value="50">50</option><option value="75">75</option><option value="100">100</option>',5)])],40,un)]),e.createElementVNode("div",mn,[e.createElementVNode("button",{type:"button",class:"shifl-grid__pagination-button",disabled:Te.value||u.loading,onClick:zn,"aria-label":"Previous page"}," ‹ ",8,gn),e.createElementVNode("div",pn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Dn.value,r=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:r},[r!==-1?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:e.normalizeClass(["shifl-grid__pagination-page",{"shifl-grid__pagination-page--active":r===x.value}]),disabled:R.value,onClick:l=>An(r)},e.toDisplayString(r),11,hn)):(e.openBlock(),e.createElementBlock("span",kn,"…"))],64))),128))]),e.createElementVNode("button",{type:"button",class:"shifl-grid__pagination-button",disabled:Ve.value||u.loading,onClick:Hn,"aria-label":"Next page"}," › ",8,yn)])])])):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.unref(P).rowIndex!==null&&e.unref(P).position?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"actionMenuRef",ref:W,class:"shifl-grid__action-menu",style:e.normalizeStyle(`
|
|
5
5
|
position: fixed !important;
|
|
6
6
|
top: ${e.unref(P).position.top}px !important;
|
|
7
7
|
left: ${e.unref(P).position.left}px !important;
|
|
8
|
-
z-index: 1000 !important;`),onClick:
|
|
8
|
+
z-index: 1000 !important;`),onClick:n[2]||(n[2]=e.withModifiers(()=>{},["stop"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ir(Ee.value,v.value),r=>(e.openBlock(),e.createElementBlock("div",{key:r.key,class:e.normalizeClass(["shifl-grid__action-menu-item",{"shifl-grid__action-menu-item--danger":r.danger}]),onClick:()=>cr(r,v.value,e.unref(P).rowIndex)},[r.icon&&typeof r.icon=="string"?(e.openBlock(),e.createElementBlock("span",{key:0,innerHTML:r.icon,class:"w-4 h-4 inline-block"},null,8,bn)):r.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(typeof r.icon=="function"?r.icon():r.icon),{key:1,class:"w-4 h-4"})):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(r.label),1)],10,_n))),128))],4)):e.createCommentVNode("",!0)])),e.createVNode(ft,{content:Se.value,visible:ee.value,"trigger-element":te.value,"is-html":ne.value},null,8,["content","visible","trigger-element","is-html"]),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[G.value?(e.openBlock(),e.createBlock(it,{key:0,"title-prefix":s.config.name,columns:lr.value,onClose:n[3]||(n[3]=r=>G.value=!1),onToggle:e.unref(b),onToggleFreeze:e.unref(m),onMove:e.unref(y),onSelectAll:n[4]||(n[4]=r=>e.unref(i)(!0)),onDeselectAll:n[5]||(n[5]=r=>e.unref(i)(!1)),onRestoreDefault:e.unref(w)},null,8,["title-prefix","columns","onToggle","onToggleFreeze","onMove","onRestoreDefault"])):e.createCommentVNode("",!0)]))]))}}),Cn={install(s){s.component("ShiflGrid",be)}};function Bn(){const s=e.ref(new Set);function o(u){const h=u.id??JSON.stringify(u),c=new Set(s.value);c.has(h)?c.delete(h):c.add(h),s.value=c}return{selectedKeys:s,toggleRow:o}}function En(){return{}}const Ce=Symbol("shifl-grid-theme"),Be={surface:"var(--shifl-surface)",surfaceAlt:"var(--shifl-surface-alt)",border:"var(--shifl-border)",text:"var(--shifl-text)",textMuted:"var(--shifl-text-muted)",accent:"var(--shifl-accent)",accentStrong:"var(--shifl-accent-strong)",focus:"var(--shifl-focus)"};function Sn(s){const o=e.ref({...Be,...s});return e.provide(Ce,o),o}function Mn(){const s=e.inject(Ce);return e.computed(()=>(s==null?void 0:s.value)??Be)}const Q={sm:640,lg:1024};function wn(){const s=e.ref(typeof window<"u"?window.innerWidth:0);function o(){s.value=window.innerWidth}return e.onMounted(()=>{window.addEventListener("resize",o)}),e.onUnmounted(()=>{window.removeEventListener("resize",o)}),{width:s,isMobile:e.computed(()=>s.value<Q.sm),isTablet:e.computed(()=>s.value>=Q.sm&&s.value<Q.lg)}}function Nn(){return{}}function Tn(){return{}}function Vn(){return{}}M.ShiflGrid=be,M.ShiflGridPlugin=Cn,M.provideGridTheme=Sn,M.useBreakpoints=wn,M.useGridColumns=pe,M.useGridData=ye,M.useGridEditing=En,M.useGridFilter=ke,M.useGridInfiniteScroll=Nn,M.useGridSelection=Bn,M.useGridSort=he,M.useGridTheme=Mn,M.useGridTour=Vn,M.useVirtualScroll=Tn,Object.defineProperty(M,Symbol.toStringTag,{value:"Module"})});
|