@shifl-inc/ui 0.4.0 → 0.6.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(()=>
|
|
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(S,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(S=typeof globalThis<"u"?globalThis:S||self,e(S.ShiflGrid={},S.Vue))})(this,function(S,e){"use strict";function Je(i){const o=(i.columns||[]).map(h=>({...h,freeze:h.freeze??!1,visible:h.visible??!0,protected:h.protected??!1})),f=i.apiConfig?"server":i.searchMode||"client";return{...i,columns:o,rows:i.rows??[],search:i.search??[],searchMode:f,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 he(i){const o=[...i],f=e.ref([...i]);function h(m){f.value=f.value.map(s=>s.key===m?{...s,visible:!s.visible}:s)}function d(m){f.value=f.value.map(s=>({...s,visible:m}))}function p(m){const s=f.value.map(b=>b.key===m?{...b,freeze:!b.freeze}:b),g=s.filter(b=>b.freeze),C=s.filter(b=>!b.freeze);f.value=[...g,...C]}function B(m,s){if(m===s||s<0||s>=f.value.length)return;const g=f.value.findIndex(u=>!u.freeze),C=g===-1?f.value.length:g;if(m<C||s<C)return;const b=[...f.value],[c]=b.splice(m,1);b.splice(s,0,c),f.value=b}function E(){f.value=[...o]}const _=e.computed(()=>f.value.filter(m=>m.visible));return{columns:f,visibleColumns:_,toggleColumnVisibility:h,setAllVisible:d,toggleFreeze:p,moveColumn:B,resetColumns:E}}function ke(i){const o=e.ref(i);function f(d){var p;o.value=((p=o.value)==null?void 0:p.key)===d&&o.value.order==="asc"?{key:d,order:"desc"}:{key:d,order:"asc"}}function h(d){if(!o.value)return d;const{key:p,order:B}=o.value;return[...d].sort((E,_)=>{const m=E[p],s=_[p];if(m===s)return 0;if(m==null)return 1;if(s==null)return-1;const g=String(m).localeCompare(String(s),void 0,{numeric:!0});return B==="asc"?g:-g})}return{sort:o,setSort:f,applySort:h}}function ye(){function i(o,f,h){const d=(h||"").trim().toLowerCase();return d?o.filter(p=>(f&&f.length?f.map(E=>p[E]):Object.values(p)).some(E=>String(E??"").toLowerCase().includes(d))):o}return{applyGlobalFilter:i}}function qe(){const i=e.ref({rowIndex:null,position:null});function o(p,B,E=200){const _=B.getBoundingClientRect();let m=_.left;m+E>window.innerWidth-8&&(m=window.innerWidth-E+8),i.value={rowIndex:p,position:{top:_.bottom,left:m}}}function f(){i.value={rowIndex:null,position:null}}function h(p){return i.value.rowIndex===p}function d(p){p.key==="Escape"&&i.value.rowIndex!==null&&f()}return e.onMounted(()=>{document.addEventListener("keydown",d)}),e.onUnmounted(()=>{document.removeEventListener("keydown",d)}),{menuState:i,openMenu:o,closeMenu:f,isMenuOpen:h}}function Ye(i,o){const f=e.ref(!1),h=e.ref(null),d=e.ref([]),p=e.ref(void 0);let B=null;function E(c){const u=new URLSearchParams;if(c.search&&u.append("search",c.search),c.page!==void 0&&u.append("page",String(c.page)),c.perPage!==void 0&&u.append("per_page",String(c.perPage)),c.sort&&(u.append("sort",c.sort.key),u.append("order",c.sort.order)),c.filters&&c.filters.length>0&&c.filters.forEach(y=>{if(y.value!==void 0&&y.value!==null&&y.value!==""){const M=`filters[${y.key}]`;Array.isArray(y.value)?y.value.forEach(N=>u.append(`${M}[]`,String(N))):u.append(M,String(y.value))}}),c.tabName&&u.append("tabName",c.tabName),o!=null&&o.additionalParams){const y=typeof o.additionalParams=="function"?o.additionalParams(c):o.additionalParams;Object.entries(y).forEach(([M,N])=>{N!=null&&N!==""&&(Array.isArray(N)?N.forEach(w=>u.append(`${M}[]`,String(w))):u.append(M,String(N)))})}return u}function _(c){var u,y,M;return o!=null&&o.bodyBuilder?o.bodyBuilder(c):{search:c.search,page:c.page,per_page:c.perPage,sort:(u=c.sort)==null?void 0:u.key,order:(y=c.sort)==null?void 0:y.order,tabName:c.tabName,filters:(M=c.filters)==null?void 0:M.reduce((N,w)=>(w.value!==void 0&&w.value!==null&&w.value!==""&&(N[w.key]=w.value),N),{}),...typeof(o==null?void 0:o.additionalParams)=="function"?o.additionalParams(c):(o==null?void 0:o.additionalParams)||{}}}function m(){const c={"Content-Type":"application/json",...(o==null?void 0:o.headers)||{}};if(o!=null&&o.getAuthToken){const u=o.getAuthToken();u&&(c.Authorization=`Bearer ${u}`)}return c}function s(c){if(o!=null&&o.responseTransformer)return o.responseTransformer(c);const u=c;return{data:u.data||u.rows||[],meta:u.meta}}async function g(c){if(!i){h.value=new Error("API URL is required");return}f.value=!0,h.value=null;try{const u=(o==null?void 0:o.method)||"GET",y=m();let M=i,N;if(u==="GET"){const I=o!=null&&o.paramsBuilder?o.paramsBuilder(c):E(c);if(I instanceof URLSearchParams){const V=I.toString();M=V?`${i}?${V}`:i}else{const V=new URLSearchParams;Object.entries(I).forEach(([F,L])=>{L!=null&&L!==""&&(Array.isArray(L)?L.forEach(W=>V.append(`${F}[]`,String(W))):V.append(F,String(L)))});const K=V.toString();M=K?`${i}?${K}`:i}}else N=_(c);const w=await fetch(M,{method:u,headers:y,body:N?JSON.stringify(N):void 0});if(!w.ok)throw new Error(`API request failed: ${w.status} ${w.statusText}`);const X=await w.json(),Z=s(X);d.value=Z.data,p.value=Z.meta}catch(u){h.value=u instanceof Error?u:new Error("Unknown error occurred"),d.value=[],p.value=void 0}finally{f.value=!1}}function C(c,u=!1){B&&(clearTimeout(B),B=null);const y=(o==null?void 0:o.debounceMs)??300;u||!c.search?g(c):B=setTimeout(()=>{g(c)},y)}function b(c){C(c,!0)}return{loading:e.computed(()=>f.value),error:e.computed(()=>h.value),data:e.computed(()=>d.value),paginationMeta:e.computed(()=>p.value),fetchData:g,fetchDataDebounced:C,refresh:b}}function _e(i,o){var _,m;const f=(o==null?void 0:o.search)||e.ref(void 0),h=(o==null?void 0:o.filters)||e.ref(i.filters),d=(o==null?void 0:o.sort)||e.ref(i.sort),p=(o==null?void 0:o.pagination)||e.ref({page:((_=i.paginationMeta)==null?void 0:_.currentPage)||1,perPage:((m=i.paginationMeta)==null?void 0:m.perPage)||20}),B=(o==null?void 0:o.extraState)||e.ref(void 0),E=(o==null?void 0:o.tabName)||e.ref(void 0);if(i.apiConfig&&i.searchMode==="server"){let s=function(){var u,y;return{search:f.value,filters:h.value,sort:d.value,page:(u=p.value)==null?void 0:u.page,perPage:(y=p.value)==null?void 0:y.perPage,extraState:B.value,tabName:E.value}},g=function(u){var y,M,N,w;return c?u.search!==c.search||u.page!==c.page||u.perPage!==c.perPage||u.tabName!==c.tabName||((y=u.sort)==null?void 0:y.key)!==((M=c.sort)==null?void 0:M.key)||((N=u.sort)==null?void 0:N.order)!==((w=c.sort)==null?void 0:w.order)||JSON.stringify(u.filters)!==JSON.stringify(c.filters)||JSON.stringify(u.extraState)!==JSON.stringify(c.extraState):!0};const C=Ye(i.apiConfig.apiUrl,i.apiConfig);let b=!1,c=null;return e.watch([f,h,d,p,B,E],()=>{if(b)return;const u=s();if(!g(u))return;c=u;const y=f.value!==void 0;C.fetchDataDebounced(u,!y)},{immediate:!0,deep:!0}),e.watch(C.paginationMeta,u=>{if(u&&p.value){const y=u.perPage||p.value.perPage;y!==p.value.perPage&&(b=!0,p.value.perPage=y,e.nextTick(()=>{b=!1}))}}),{rows:C.data,loading:C.loading,error:C.error,paginationMeta:C.paginationMeta,refresh:()=>{var y,M;const u={search:f.value,filters:h.value,sort:d.value,page:(y=p.value)==null?void 0:y.page,perPage:(M=p.value)==null?void 0:M.perPage,extraState:B.value,tabName:E.value};C.refresh(u)}}}return{rows:e.computed(()=>i.rows),loading:e.computed(()=>!1),error:e.computed(()=>null),paginationMeta:e.computed(()=>i.paginationMeta),refresh:()=>{}}}const Qe={class:"shifl-column-manager__header"},Xe={class:"shifl-column-manager__title-wrapper"},ve={class:"shifl-column-manager__title"},et={key:0},tt={key:1},nt={class:"shifl-column-manager__controls"},rt={class:"shifl-column-manager__controls-left"},ot={class:"shifl-column-manager__content"},lt={class:"shifl-column-manager__list"},at=["draggable","onDragstart","onDragover","onDrop"],it=["aria-label","disabled"],st=["checked","disabled","onChange"],ct={class:"shifl-column-manager__label-text"},dt={class:"shifl-column-manager__footer"},ft=e.defineComponent({__name:"GridColumnManager",props:{titlePrefix:{},columns:{}},emits:["close","toggle","move","toggleFreeze","selectAll","deselectAll","restoreDefault"],setup(i,{emit:o}){const f=i,h=e.computed(()=>f.columns),d=o,p=e.ref(null);function B(m){var s,g;(s=f.columns[m])!=null&&s.freeze||(g=f.columns[m])!=null&&g.protected||(p.value=m)}function E(m){}function _(m){p.value===null||p.value===m||(d("move",p.value,m),p.value=null)}return(m,s)=>(e.openBlock(),e.createElementBlock("div",{class:"shifl-column-manager__backdrop",onClick:s[7]||(s[7]=e.withModifiers(g=>m.$emit("close"),["self"]))},[e.createElementVNode("div",{class:"shifl-column-manager__dialog",role:"dialog","aria-modal":"true",onClick:s[6]||(s[6]=e.withModifiers(()=>{},["stop"]))},[e.createElementVNode("header",Qe,[e.createElementVNode("div",Xe,[e.createElementVNode("h2",ve,[i.titlePrefix?(e.openBlock(),e.createElementBlock("span",et,e.toDisplayString(i.titlePrefix),1)):e.createCommentVNode("",!0),i.titlePrefix?(e.openBlock(),e.createElementBlock("span",tt,">")):e.createCommentVNode("",!0),s[8]||(s[8]=e.createTextVNode("Edit Columns ",-1))])]),e.createElementVNode("button",{type:"button",class:"shifl-column-manager__close",onClick:s[0]||(s[0]=g=>m.$emit("close"))},[...s[9]||(s[9]=[e.createElementVNode("span",null,"✕",-1)])])]),e.createElementVNode("div",nt,[e.createElementVNode("div",rt,[e.createElementVNode("button",{type:"button",class:"shifl-column-manager__link-button",onClick:s[1]||(s[1]=g=>m.$emit("selectAll"))}," Select All "),e.createElementVNode("button",{type:"button",class:"shifl-column-manager__link-button",onClick:s[2]||(s[2]=g=>m.$emit("deselectAll"))}," Deselect All ")]),e.createElementVNode("button",{type:"button",class:"shifl-column-manager__link-button shifl-column-manager__link-button--primary",onClick:s[3]||(s[3]=g=>m.$emit("restoreDefault"))}," Restore Default ")]),e.createElementVNode("div",ot,[e.createElementVNode("ul",lt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(g,C)=>(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=>B(C),onDragover:e.withModifiers(b=>void 0,["prevent"]),onDrop:e.withModifiers(b=>_(C),["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},[...s[10]||(s[10]=[e.createElementVNode("span",null,"⋮⋮",-1)])],10,it),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=>m.$emit("toggle",g.key)},null,40,st),s[11]||(s[11]=e.createElementVNode("span",{class:"shifl-column-manager__checkbox-custom"},null,-1)),e.createElementVNode("span",ct,e.toDisplayString(g.label),1)],2)],42,at))),128))])]),e.createElementVNode("footer",dt,[e.createElementVNode("button",{type:"button",class:"shifl-column-manager__button shifl-column-manager__button--primary",onClick:s[4]||(s[4]=g=>m.$emit("close"))}," Update "),e.createElementVNode("button",{type:"button",class:"shifl-column-manager__button shifl-column-manager__button--secondary",onClick:s[5]||(s[5]=g=>m.$emit("close"))}," Cancel ")])])]))}}),z=(i,o)=>{const f=i.__vccOpts||i;for(const[h,d]of o)f[h]=d;return f},ut=z(ft,[["__scopeId","data-v-40ca0ed0"]]),mt={class:"shifl-grid__tooltip-content"},gt=["innerHTML"],pt=z(e.defineComponent({__name:"GridTooltip",props:{content:{},visible:{type:Boolean},triggerElement:{},isHtml:{type:Boolean}},setup(i){const o=i,f=e.ref(null),h=e.ref({}),d=e.computed(()=>o.content.includes(`
|
|
2
|
+
`)),p=e.computed(()=>d.value?o.content.split(`
|
|
3
|
+
`).filter(m=>m.trim().length>0):[]),B=e.ref("top"),E=e.ref({});function _(){if(!o.triggerElement||!f.value)return;const m=o.triggerElement.getBoundingClientRect(),s=f.value.getBoundingClientRect(),g=window.innerWidth,C=window.innerHeight;let b=m.bottom+8,c=m.left+window.scrollX;c+s.width>g-16&&(c=g-s.width-16),c<16&&(c=16),b+s.height>C-16?(b=m.top-s.height-8,B.value="bottom"):B.value="top",h.value={position:"fixed",top:`${b}px`,left:`${c}px`,zIndex:"10000"};const u=m.left+m.width/2-c;E.value={left:`${u}px`}}return e.watch(()=>o.visible,async m=>{m&&(await e.nextTick(),_())}),e.onMounted(()=>{o.visible&&e.nextTick(()=>_())}),e.onUnmounted(()=>{}),(m,s)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[i.visible?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"tooltipRef",ref:f,class:"shifl-grid__tooltip",style:e.normalizeStyle(h.value)},[e.createElementVNode("div",{class:e.normalizeClass(["shifl-grid__tooltip-arrow",B.value]),style:e.normalizeStyle(E.value)},null,6),e.createElementVNode("div",mt,[i.isHtml?(e.openBlock(),e.createElementBlock("div",{key:0,innerHTML:i.content},null,8,gt)):d.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(p.value,(g,C)=>(e.openBlock(),e.createElementBlock("div",{key:C,class:"shifl-grid__tooltip-line"},e.toDisplayString(g),1))),128)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createTextVNode(e.toDisplayString(i.content),1)],64))])],4)):e.createCommentVNode("",!0)]))}}),[["__scopeId","data-v-239005f1"]]),ht={},kt={width:"14",height:"15",viewBox:"0 0 14 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:"shifl-smart-tracking-icon"};function yt(i,o){return e.openBlock(),e.createElementBlock("svg",kt,[...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 _t=z(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(i,o){return e.openBlock(),e.createElementBlock("svg",Ct,[...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 Et=z(bt,[["render",Bt]]),St={},Mt={width:"14",height:"10",viewBox:"0 0 14 10",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Nt(i,o){return e.openBlock(),e.createElementBlock("svg",Mt,[...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 wt=z(St,[["render",Nt]]),Tt={},Vt={width:"21",height:"13",viewBox:"0 0 21 13",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Pt(i,o){return e.openBlock(),e.createElementBlock("svg",Vt,[...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 be=z(Tt,[["render",Pt]]),$t={},Lt={width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg"};function Dt(i,o){return e.openBlock(),e.createElementBlock("svg",Lt,[...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 At=z($t,[["render",Dt]]),zt={class:"shifl-grid relative"},Rt={class:"shifl-grid__controls"},Ht={class:"shifl-grid__table"},Ft=["onClick"],Gt={class:"shifl-grid__header-content"},xt={key:0,class:"shifl-grid__header-label"},It={key:1,class:"shifl-grid__sort-icon"},Ot={key:0},jt=["colspan"],Zt={key:0,class:"shifl-grid__smart-tracking-icon"},Kt=["onClick"],Wt={key:0},Ut=["innerHTML"],Jt={key:2,class:"shifl-grid__composite-cell"},qt={key:3,class:"shifl-grid__type-cell"},Yt={key:0,class:"shifl-grid__container-badge"},Qt={key:0,class:"shifl-grid__cell-blank"},Xt={key:1,class:"shifl-grid__tags-cell"},vt={class:"shifl-grid__tags-wrapper"},en=["onMouseenter"],tn={key:5,class:"shifl-grid__chips-container"},nn={key:6,class:"shifl-grid__truncated-cell"},rn=["onMouseenter"],on=["onMouseenter"],ln=["href"],an={key:8,class:"shifl-grid__progress-cell"},sn={class:"shifl-grid__progress-bar"},cn={class:"shifl-grid__progress-text"},dn={key:0,class:"shifl-grid__pagination"},fn={class:"shifl-grid__pagination-left"},un={class:"shifl-grid__pagination-range"},mn={class:"shifl-grid__pagination-range-numbers"},gn={class:"shifl-grid__pagination-right"},pn={class:"shifl-grid__pagination-rows"},hn=["value","disabled"],kn={class:"shifl-grid__pagination-nav"},yn=["disabled"],_n={class:"shifl-grid__pagination-pages"},bn=["disabled","onClick"],Cn={key:1,class:"shifl-grid__pagination-ellipsis"},Bn=["disabled"],En=["onClick"],Sn=["innerHTML"],Ce=e.defineComponent({__name:"ShiflGrid",props:{config:{},search:{},loading:{type:Boolean}},emits:["action-click","search-change","pagination-change"],setup(i,{emit:o}){var je,Ze,Ke,We,Ue;const f=i,h=o,d=e.computed(()=>Je(f.config)),p=e.ref(f.search),B=e.ref(d.value.filters),E=e.ref(d.value.sort),_=e.ref({page:((je=d.value.paginationMeta)==null?void 0:je.currentPage)||1,perPage:((Ze=d.value.paginationMeta)==null?void 0:Ze.perPage)||20}),m=e.ref(typeof((Ke=d.value.apiConfig)==null?void 0:Ke.additionalParams)=="function"||(Ue=(We=d.value.apiConfig)==null?void 0:We.additionalParams)==null?void 0:Ue.tabName),s=_e(d.value,{search:p,filters:B,sort:E,pagination:_,tabName:m}),g=e.computed(()=>d.value.columns.filter(t=>!t.smartTrackingColumn)),{columns:C,visibleColumns:b,toggleColumnVisibility:c,setAllVisible:u,toggleFreeze:y,moveColumn:M,resetColumns:N}=he(g.value),{sort:w,setSort:X,applySort:Z}=ke(d.value.sort),{applyGlobalFilter:I}=ye(),{menuState:V,openMenu:K,closeMenu:F}=qe(),L=e.ref(!1),W=e.ref({}),Se=e.ref(null),Me=e.ref(null),v=e.ref(null),ee=e.ref(!1),Ne=e.ref(""),te=e.ref(null),ne=e.ref(!1),An=e.ref({});e.ref({});const G=e.ref({});e.watch(()=>d.value.filters,t=>{B.value=t},{deep:!0}),e.watch(()=>d.value.paginationMeta,t=>{d.value.searchMode!=="server"&&t&&_.value&&(_.value.page=t.currentPage||_.value.page,_.value.perPage=t.perPage||_.value.perPage)},{deep:!0}),e.watch(()=>d.value.columns,t=>{const n=t.filter(r=>!r.smartTrackingColumn);C.value=[...n]},{deep:!0}),e.watch(()=>d.value.sort,t=>{t&&(w.value=t,E.value=t)},{deep:!0}),e.watch(()=>{var t;return(t=d.value.apiConfig)==null?void 0:t.additionalParams},t=>{if(t&&typeof t!="function"){const n=t;n.tabName!==void 0&&m.value!==n.tabName&&(m.value=n.tabName)}},{deep:!0}),e.watch(()=>f.search,(t,n)=>{var r;if(p.value=t,d.value.searchMode==="server")h("search-change",t||"");else if(d.value.searchMode==="client"&&t!==n){const l=((r=P.value)==null?void 0:r.perPage)||20;_.value={page:1,perPage:l},h("pagination-change",1,l)}},{immediate:!0}),e.watch(()=>w.value,t=>{E.value=t});const re=e.computed(()=>s.rows.value||[]),oe=e.computed(()=>{if((d.value.searchMode||"client")==="server")return re.value;const n=f.search||"";return I(re.value,d.value.search,n)}),le=e.computed(()=>{var n;return(d.value.searchMode||"client")==="client"?oe.value.length:((n=s.paginationMeta.value)==null?void 0:n.total)||0}),ae=e.computed(()=>(d.value.searchMode||"client")==="server"?oe.value:Z(oe.value)),we=e.computed(()=>{if((d.value.searchMode||"client")==="server")return ae.value;const n=P.value;if(!n||!n.show)return ae.value;const r=n.perPage||20,a=((n.currentPage||1)-1)*r,k=a+r;return ae.value.slice(a,k)}),P=e.computed(()=>{var t;return d.value.searchMode==="server"&&s.paginationMeta.value?{show:!0,...s.paginationMeta.value,currentPage:((t=_.value)==null?void 0:t.page)||s.paginationMeta.value.currentPage||1}:d.value.paginationMeta}),R=e.computed(()=>f.loading!==void 0?f.loading:s.loading.value),zn=e.computed(()=>{var t;return((t=P.value)==null?void 0:t.perPage)===100}),Rn=e.computed(()=>{var t;return((t=P.value)==null?void 0:t.perPage)||10}),Te=e.computed(()=>{const t=P.value;if(!t||t.show===!1)return{from:0,to:0};const n=le.value,r=t.perPage||20,l=t.currentPage||1;if((d.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}}),H=e.computed(()=>{var t;return((t=P.value)==null?void 0:t.currentPage)||1}),ie=e.computed(()=>{const t=P.value;if(!t||t.show===!1)return 1;const n=le.value;if(n===0)return 1;const r=t.perPage||20,l=Math.ceil(n/r);return Math.max(1,l)}),Ve=e.computed(()=>H.value<=1),Pe=e.computed(()=>H.value>=ie.value),Hn=e.computed(()=>{const t=ie.value,n=H.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 Fn(t){var r;if(t<1||t>ie.value||t===H.value||R.value)return;const n=((r=P.value)==null?void 0:r.perPage)||20;_.value={page:t,perPage:n},h("pagination-change",t,n)}function Gn(){var r;if(Ve.value||R.value)return;const t=((r=P.value)==null?void 0:r.perPage)||20,n=H.value-1;_.value={page:n,perPage:t},h("pagination-change",n,t)}function xn(){var r;if(Pe.value||R.value)return;const t=((r=P.value)==null?void 0:r.perPage)||20,n=H.value+1;_.value={page:n,perPage:t},h("pagination-change",n,t)}function In(t){var l;if(R.value)return;const n=t.target,r=parseInt(n.value,10);r&&r!==(((l=P.value)==null?void 0:l.perPage)||20)&&(_.value={page:1,perPage:r},h("pagination-change",1,r))}const On=e.computed(()=>{const t=d.value.columns.find(r=>r.smartTrackingColumn);if(!(t!=null&&t.smartTrackingColumn))return!1;const n=t.smartTrackingColumn.dataKey;return re.value.some(r=>{const l=r[n];return l===!0||l===1||l==="true"||l==="1"})}),se=e.computed(()=>d.value.columns.find(t=>t.smartTrackingColumn)),x=e.computed(()=>{var r;const t=b.value.filter(l=>!l.smartTrackingColumn);if(On.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}),jn=e.computed(()=>{let t=0;const n={};for(const r of x.value){r.freeze&&(n[r.key]=t);const l=parseInt(r.width??"160",10);Number.isNaN(l)||(t+=l)}return n}),$e=e.ref(0);function Zn(t){const n=t.target;$e.value=n.scrollLeft}function Kn(t){const n=C.value.find(r=>r.key===t);!(n!=null&&n.sortable)||q(n)||pe(n)||X(t)}function ce(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"?Fe(t,l,n):""}if(!r)return typeof t=="object"?JSON.stringify(t):String(t);switch(r){case"number":return Le(t);case"currency":return De(t);case"date":return Ae(t);case"boolean":return ze(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 Le(t){if(typeof t=="number")return t.toLocaleString();const n=Number(t);return Number.isNaN(n)?String(t):n.toLocaleString()}function De(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 Ae(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 ze(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 Wn(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 Re(t){return typeof t=="string"&&t.toLowerCase()==="ocean",be}function Un(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 Jn(t){return t.cellType==="status"?!0:t.key.toLowerCase()==="status"}function qn(t){return t.cellType==="icon"?!0:t.key.toLowerCase()==="type"}function Yn(t){return Array.isArray(t.cellType)&&t.cellType.length>0}function Qn(t){return Array.isArray(t.cellType)?t.cellType.filter(n=>typeof n=="string"):t.cellType&&typeof t.cellType=="string"?[t.cellType]:[]}function Fe(t,n,r){if(t==null||t===""||t===void 0)return U(r.blankStyle);switch(n){case"number":return Le(t);case"currency":return De(t);case"date":return Ae(t);case"boolean":return ze(t);case"text":default:return typeof t=="object"?JSON.stringify(t):String(t)}}function Xn(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 vn(t,n){if(t==null||t==="")return U(n.blankStyle);if(Array.isArray(t)){if(t.length===0)return"";const r=t.join(", ");return Ge(r,45)}return typeof t=="string"?Ge(t,45):String(t)}function Ge(t,n){return t.length<=n?t:t.substring(0,n)+"..."}function de(t){const n=t.toLowerCase();return["po","pos","supplier","suppliers","tag","tags"].includes(n)}function er(t,n){return t==null||de(n)?!1:Array.isArray(t)?t.length===0?!1:t.join(", ").length>30:typeof t=="string"?t.length>30:!1}function tr(t){return t==null?!1:Array.isArray(t)?t.length===0?!1:t.join(", ").length>45:typeof t=="string"?t.length>45:!1}function nr(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 fe(t,n,r,l){let a="",k=!1;const T=x.value.find($=>$.key===t);if(T&&He(T)){const $=xe(r);$.length>0&&(k=!0,a=$.map(A=>`<span class="shifl-grid__tooltip-badge" style="border-left-color: ${Ie(A)} !important">${A.name}</span>`).join(""))}else Array.isArray(r)?r.length>0&&(a=r.join(`
|
|
4
|
+
`)):r!=null&&(a=String(r));Ne.value=a,ne.value=k,te.value=l,ee.value=!0}function ue(){ee.value=!1,te.value=null,ne.value=!1}function rr(t,n,r){r&&(An.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 xe(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 me(t,n,r){const l=J(t);if(l.length===0)return[];const a=`${n}-${r}`;if(G.value[a])return G.value[a];const k=130,T=8,$=4;let A=0;const D=[];for(const O of l){const j=O.length*8+T+$;if(A+j>k&&D.length>0)break;D.push(O),A+=j}return G.value[a]=D,D}function or(t,n,r){const l=xe(t);if(l.length===0)return[];const a=`${n}-${r}-objects`;if(G.value[a])return G.value[a];const k=130,T=8,$=4;let A=0;const D=[];for(const O of l){const j=O.name.length*8+T+$;if(A+j>k&&D.length>0)break;D.push(O),A+=j}return G.value[a]=D,D}function lr(t,n,r){const l=J(t),a=me(t,n,r);return l.length>a.length}function ar(t,n,r){const l=J(t),a=me(t,n,r);return l.length-a.length}function ir(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 sr(t)}function Ie(t){return t.color&&t.color!==""?t.color:ir(t.name)}function sr(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 ge(t,n=!0){const l={...{width:t.width??"160px",minWidth:t.width??"160px"}},a=$e.value>0;if(t.freeze){const k=jn.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 cr=e.computed(()=>C.value.filter(t=>!t.smartTrackingColumn));function q(t){return!!t.actionColumn}function pe(t){return!!t.smartTrackingColumn}function dr(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 fr(t,n,r,l){if(!r.actionColumn)return;const a=l.currentTarget;if(V.value.rowIndex===t){F();return}Me.value=r,v.value=n,K(t,a)}function ur(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 mr(t,n,r){h("action-click",t.key,n,r),F()}function gr(t,n){n&&(W.value[t]=n)}function Oe(t){if(V.value.rowIndex===null)return;const n=t.target,r=Se.value,l=Object.values(W.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",Oe)}),e.onUnmounted(()=>{document.removeEventListener("click",Oe)}),(t,n)=>(e.openBlock(),e.createElementBlock("div",zt,[e.createElementVNode("div",Rt,[e.createElementVNode("button",{type:"button",class:"shifl-grid__pill-button whitespace-nowrap",onClick:n[0]||(n[0]=r=>L.value=!0)}," Edit Column ")]),e.createElementVNode("div",{class:e.normalizeClass(["shifl-grid__viewport",{"shifl-grid__viewport--scroll":zn.value}]),onScroll:Zn},[e.createElementVNode("table",Ht,[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,r=>{var l;return e.openBlock(),e.createElementBlock("th",{key:r.key,style:e.normalizeStyle(ge(r,!0)),onClick:()=>Kn(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",Gt,[r.label?(e.openBlock(),e.createElementBlock("span",xt,e.toDisplayString(r.label),1)):e.createCommentVNode("",!0),((l=e.unref(w))==null?void 0:l.key)===r.key&&!q(r)&&!pe(r)?(e.openBlock(),e.createElementBlock("span",It,[e.unref(w).order==="asc"?(e.openBlock(),e.createBlock(Et,{key:0})):(e.openBlock(),e.createBlock(wt,{key:1}))])):e.createCommentVNode("",!0)])],14,Ft)}),128))])]),e.createElementVNode("tbody",null,[R.value?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(Rn.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(x.value,l=>(e.openBlock(),e.createElementBlock("td",{key:l.key,style:e.normalizeStyle(ge(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",Ot,[e.createElementVNode("td",{colspan:x.value.length,class:"text-center text-gray-500 py-6"}," No data ",8,jt)])),(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(x.value,a=>(e.openBlock(),e.createElementBlock("td",{key:a.key,style:e.normalizeStyle(ge(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"}])},[pe(a)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[dr(a,r)?(e.openBlock(),e.createElementBlock("div",Zt,[e.createVNode(_t)])):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=>gr(l,k),onClick:e.withModifiers(k=>fr(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,Ut)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(Y(a,r)),{key:2,class:"w-4 h-4"})):(e.openBlock(),e.createElementBlock("span",Wt,"⋯"))],8,Kt)):Yn(a)?(e.openBlock(),e.createElementBlock("div",Jt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Qn(a),(k,T)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:T},[k==="icon"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(Re(r[a.key])),{key:0,class:"shifl-grid__type-icon"})):(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(Xn(k))},e.toDisplayString(Fe(r[a.key],k,a)),3))],64))),128))])):qn(a)?(e.openBlock(),e.createElementBlock("div",qt,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(Re(r[a.key])),{class:"shifl-grid__type-icon"})),r.container_count!=null?(e.openBlock(),e.createElementBlock("span",Yt," ("+e.toDisplayString(r.container_count)+") ",1)):e.createCommentVNode("",!0)])):He(a)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[r[a.key]==null||me(r[a.key],a.key,l).length===0?(e.openBlock(),e.createElementBlock("div",Qt,e.toDisplayString(U(a.blankStyle)),1)):(e.openBlock(),e.createElementBlock("div",Xt,[e.createElementVNode("div",vt,[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(or(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:Ie(k)})},e.toDisplayString(k.name),5))),128))],512)]),lr(r[a.key],a.key,l)?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"shifl-grid__counter-button",onMouseenter:k=>fe(a.key,l,r[a.key],k.currentTarget),onMouseleave:ue}," +"+e.toDisplayString(ar(r[a.key],a.key,l)),41,en)):e.createCommentVNode("",!0)]))],64)):Jn(a)?(e.openBlock(),e.createElementBlock("div",tn,[(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||Un(a.key))?(e.openBlock(),e.createElementBlock("div",nn,[e.createElementVNode("span",{class:"shifl-grid__truncated-text",ref_for:!0,ref:k=>rr(a.key,l,k)},e.toDisplayString(vn(r[a.key],a)),513),de(a.key)&&tr(r[a.key])?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",class:"shifl-grid__counter-button",onMouseenter:k=>fe(a.key,l,r[a.key],k.currentTarget),onMouseleave:ue}," +"+e.toDisplayString(nr(r[a.key])),41,rn)):!de(a.key)&&er(r[a.key],a.key)?(e.openBlock(),e.createElementBlock("button",{key:1,type:"button",class:"shifl-grid__info-icon-button",onMouseenter:k=>fe(a.key,l,r[a.key],k.currentTarget),onMouseleave:ue},[e.createVNode(At)],40,on)):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(ce(r[a.key],a)),9,ln)):a.cellType==="progress"?(e.openBlock(),e.createElementBlock("div",an,[e.createElementVNode("div",sn,[e.createElementVNode("div",{class:"shifl-grid__progress-fill",style:e.normalizeStyle({width:`${Wn(r[a.key])}%`})},null,4)]),e.createElementVNode("span",cn,e.toDisplayString(ce(r[a.key],a)),1)])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:9},[e.createTextVNode(e.toDisplayString(ce(r[a.key],a)),1)],64))],6))),128))]))),128))],64))])])],34),P.value&&P.value.show!==!1?(e.openBlock(),e.createElementBlock("div",dn,[e.createElementVNode("div",fn,[e.createElementVNode("span",un,[n[7]||(n[7]=e.createTextVNode(" Showing ",-1)),e.createElementVNode("span",mn,e.toDisplayString(Te.value.from)+"–"+e.toDisplayString(Te.value.to),1),e.createTextVNode(" of "+e.toDisplayString(le.value),1)])]),e.createElementVNode("div",gn,[e.createElementVNode("div",pn,[n[9]||(n[9]=e.createElementVNode("label",{class:"shifl-grid__pagination-label"},"Row per page",-1)),e.createElementVNode("select",{value:P.value.perPage||20,disabled:R.value,onChange:In,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,hn)]),e.createElementVNode("div",kn,[e.createElementVNode("button",{type:"button",class:"shifl-grid__pagination-button",disabled:Ve.value||f.loading,onClick:Gn,"aria-label":"Previous page"}," ‹ ",8,yn),e.createElementVNode("div",_n,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Hn.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===H.value}]),disabled:R.value,onClick:l=>Fn(r)},e.toDisplayString(r),11,bn)):(e.openBlock(),e.createElementBlock("span",Cn,"…"))],64))),128))]),e.createElementVNode("button",{type:"button",class:"shifl-grid__pagination-button",disabled:Pe.value||f.loading,onClick:xn,"aria-label":"Next page"}," › ",8,Bn)])])])):e.createCommentVNode("",!0),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.unref(V).rowIndex!==null&&e.unref(V).position?(e.openBlock(),e.createElementBlock("div",{key:0,ref_key:"actionMenuRef",ref:Se,class:"shifl-grid__action-menu",style:e.normalizeStyle(`
|
|
5
5
|
position: fixed !important;
|
|
6
|
-
top: ${e.unref(
|
|
7
|
-
left: ${e.unref(
|
|
8
|
-
z-index: 1000 !important;`),onClick:
|
|
6
|
+
top: ${e.unref(V).position.top}px !important;
|
|
7
|
+
left: ${e.unref(V).position.left}px !important;
|
|
8
|
+
z-index: 1000 !important;`),onClick:n[2]||(n[2]=e.withModifiers(()=>{},["stop"]))},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ur(Me.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:()=>mr(r,v.value,e.unref(V).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,Sn)):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,En))),128))],4)):e.createCommentVNode("",!0)])),e.createVNode(pt,{content:Ne.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"},[L.value?(e.openBlock(),e.createBlock(ut,{key:0,"title-prefix":i.config.name,columns:cr.value,onClose:n[3]||(n[3]=r=>L.value=!1),onToggle:e.unref(c),onToggleFreeze:e.unref(y),onMove:e.unref(M),onSelectAll:n[4]||(n[4]=r=>e.unref(u)(!0)),onDeselectAll:n[5]||(n[5]=r=>e.unref(u)(!1)),onRestoreDefault:e.unref(N)},null,8,["title-prefix","columns","onToggle","onToggleFreeze","onMove","onRestoreDefault"])):e.createCommentVNode("",!0)]))]))}}),Mn={install(i){i.component("ShiflGrid",Ce)}};function Nn(){const i=e.ref(new Set);function o(f){const h=f.id??JSON.stringify(f),d=new Set(i.value);d.has(h)?d.delete(h):d.add(h),i.value=d}return{selectedKeys:i,toggleRow:o}}function wn(){return{}}const Be=Symbol("shifl-grid-theme"),Ee={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 Tn(i){const o=e.ref({...Ee,...i});return e.provide(Be,o),o}function Vn(){const i=e.inject(Be);return e.computed(()=>(i==null?void 0:i.value)??Ee)}const Q={sm:640,lg:1024};function Pn(){const i=e.ref(typeof window<"u"?window.innerWidth:0);function o(){i.value=window.innerWidth}return e.onMounted(()=>{window.addEventListener("resize",o)}),e.onUnmounted(()=>{window.removeEventListener("resize",o)}),{width:i,isMobile:e.computed(()=>i.value<Q.sm),isTablet:e.computed(()=>i.value>=Q.sm&&i.value<Q.lg)}}function $n(){return{}}function Ln(){return{}}function Dn(){return{}}S.ShiflGrid=Ce,S.ShiflGridPlugin=Mn,S.provideGridTheme=Tn,S.useBreakpoints=Pn,S.useGridColumns=he,S.useGridData=_e,S.useGridEditing=wn,S.useGridFilter=ye,S.useGridInfiniteScroll=$n,S.useGridSelection=Nn,S.useGridSort=ke,S.useGridTheme=Vn,S.useGridTour=Dn,S.useVirtualScroll=Ln,Object.defineProperty(S,Symbol.toStringTag,{value:"Module"})});
|